zoukankan      html  css  js  c++  java
  • ERROR: extension “postgis” does not support SET SCHEMA.

    参考:  http://postgis.net/2017/11/07/tip-move-postgis-schema/

    Move PostGIS extension to a different schema


    As of PostGIS 2.3, the postgis extension was changed to no longer allow relocation. All function calls within the extension are now schema qualified.

    While this change fixed some issues with database restore, it created the issue of if you installed PostGIS in a schema other than the one you wanted to it is not intuitive how to move it to a different schema. Luckily there is a way to do this.

    For this exercise, I will install PostGIS in the default schema and then demonstrate how to move it into another schema location.

    You can run these steps using psql or pgAdmin or any other PostgreSQL tool you want.

    Most people have their default schema set to public so not explicitly specifying an install schema will generally install postgis in the public schema.

    CREATE EXTENSION postgis;

    Now I’ll create a new schema to move it and add this schema to search_path

    CREATE SCHEMA postgis;
     
    ALTER DATABASE mydb 
    SET `search_path` = public,postgis;
    If you are running PostGIS 2.3 or higher, trying to move to a different schema using the usual step:
    ALTER EXTENSION postgis 
      SET SCHEMA postgis;

    will fail with error ERROR: extension “postgis” does not support SET SCHEMA.

    To allow the move do these steps:

    UPDATE pg_extension 
      SET extrelocatable = TRUE 
        WHERE extname = 'postgis';
     
    ALTER EXTENSION postgis 
      SET SCHEMA postgis;
     
    ALTER EXTENSION postgis 
      UPDATE TO "2.4.1next";
     
    ALTER EXTENSION postgis 
      UPDATE TO "2.4.1";
    Note the use of the extension version that includes next. The next version step is needed in order to upgrade all the schema qualified function references to the new schema location. next is designed to allow upgrading a postgis extension to a version it is already on. Trying to run UPDATE TO “2.4.1” when you are already on 2.4.1 would trigger an error that you are already on that version.
  • 相关阅读:
    Cesium加载Geoserver wtms服务和wms服务
    使用GeoServer+PostgreSQL+PostGIS+OpenLayers3
    Cesium 绕点旋转飞行效果
    时间分片技术(解决 js 长任务导致的页面卡顿)
    Cesium随笔:视锥绘制(下)
    使用geoserver发布arcgis切片
    Cesium点击获取模型或者地形点的位置
    npm库使用roullup封装经验总结
    一个删除node_modules文件夹的脚本
    cesium点击面高亮事件
  • 原文地址:https://www.cnblogs.com/gispathfinder/p/13024194.html
Copyright © 2011-2022 走看看