Postgres-xl 上的 PostGIS 扩展

PostGIS extension on Postgres-xl

我正在尝试在 AWS 上使用 Postgres-XL 部署 PostGIS 集群,为此我有下一个架构:

所以:ubuntu
1 GTM (172.31.45.190)
1 位协调员 (172.31.45.191)
2 个数据节点(172.31.45.192 和 172.31.45.193)

我有我的集群 运行 但我无法使 PostGIS 工作,我尝试使用 sudo apt-get install postgis 安装但是当我尝试在我的数据库中创建扩展时(CREATE EXTENSION postgis;) 我得到了下一个错误:

ERROR:  could not open extension control file "/usr/local/pgsql/share/extension/postgis.control": No such file or directory

apt-get 安装的 postgis.control 文件位于:"/usr/share/postgresql/9.5/extension/postgis.control" 所以我认为只是路径有问题,但我对那个配置有点迷茫

提前感谢您的帮助!

您使用的 PostgreSQL 版本(在本例中为 PostgreSQL-XL)是从 Ubuntu 存储库以外的其他地方安装的(类似于 this issue)。 /usr/local/pgsql/share 是为您的 PostgreSQL 安装配置的 $SHAREDIR。 PostgreSQL 9.5 的 Ubuntu 默认值应该是 /usr/share/postgresql/9.5。据我所知 $SHAREDIR 是在编译时配置的,不能轻易更改。

PostGIS 是根据将要使用的 PostgreSQL 版本编译的。因此,在这种情况下,Ubuntu 版本的 PostGIS 将与您 运行.

的 PostgreSQL-XL 版本不兼容

您有两种解决问题的方法:

  • 从 Ubuntu 软件存储库安装 PostgreSQL(确保先备份数据库!)并使用它代替 PostgreSQL-XL。
  • 安装 PostGIS manually 到 PostgreSQL-XL。

万一有人运行遇到这个问题,我按照以下步骤解决了:

  1. 安装 Postgres-xl 和 PostGIS 依赖项进行编译(一定要在此步骤中安装包 postgresql-server-dev-9.5,否则它会阻止你的 postgres-xl 安装)
  2. 使用 ./configure -prefix=/usr/lib/postgresql/9.5
  3. 构建并安装 Postgres-XL
  4. 构建并安装 PostGIS
  5. 启动集群