简体   繁体   English

Postgres-xl上的PostGIS扩展

[英]PostGIS extension on Postgres-xl

I'm trying to deploy a PostGIS cluster using Postgres-XL on AWS, for this I have the next architecture: 我正在尝试在AWS上使用Postgres-XL部署PostGIS集群,为此,我拥有下一个架构:

SO: ubuntu 因此:ubuntu
1 GTM (172.31.45.190) 1个GTM(172.31.45.190)
1 Coordinator (172.31.45.191) 1个协调员(172.31.45.191)
2 Datanodes (172.31.45.192 and 172.31.45.193) 2个数据节点(172.31.45.192和172.31.45.193)

I had my cluster running but I can't manage to make PostGIS work, I tried the installation with sudo apt-get install postgis but when I try to create the extension inside my db ( CREATE EXTENSION postgis; ) I got the next error: 我的集群正在运行,但是我无法使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

The postgis.control file installed by apt-get is in: "/usr/share/postgresql/9.5/extension/postgis.control" so I think is just a problem with the paths but I'm a little lost on that configuration apt-get安装的postgis.control文件位于: "/usr/share/postgresql/9.5/extension/postgis.control" postgis.control "/usr/share/postgresql/9.5/extension/postgis.control"因此我认为路径问题不大,但我对该配置有些迷失

Thank you in advance for any help! 预先感谢您的任何帮助!

You're using a version of PostgreSQL (in this case PostgreSQL-XL) that was installed from somewhere other than the Ubuntu repositories (similar to this issue ). 您使用的是PostgreSQL版本(在本例中为PostgreSQL-XL),该版本是从Ubuntu存储库以外的其他位置安装的(类似于此问题 )。 The /usr/local/pgsql/share is the configured $SHAREDIR for your installation of PostgreSQL. /usr/local/pgsql/share是您安装PostgreSQL时配置的$SHAREDIR The default on Ubuntu for PostgreSQL 9.5 should be /usr/share/postgresql/9.5 . Ubuntu上PostgreSQL 9.5的默认值应为/usr/share/postgresql/9.5 As far as I can tell $SHAREDIR is configured at compile time and can't easily be changed. 据我所知, $SHAREDIR是在编译时配置的,不能轻易更改。

PostGIS gets compiled against the version of PostgreSQL it's going to be used against. PostGIS是针对将要使用的PostgreSQL版本进行编译的。 So in this case the Ubuntu version of PostGIS isn't going to be compatible with the version of PostgreSQL-XL you're running. 因此,在这种情况下,PostGIS的Ubuntu版本将与您正在运行的PostgreSQL-XL版本不兼容。

You have two options for fixing the issue: 您可以通过以下两种方法解决此问题:

  • Install PostgreSQL from the Ubuntu software repository (make sure you back up your database first!) and use that instead of PostgreSQL-XL. 从Ubuntu软件存储库安装PostgreSQL(确保首先备份数据库!),然后使用它代替PostgreSQL-XL。
  • Install PostGIS manually into PostgreSQL-XL. PostGIS手动安装到PostgreSQL-XL中。

In case anyone is running in this issue, I solved following this steps: 如果有人在运行此问题,请按照以下步骤解决:

  1. Install Postgres-xl and PostGIS dependencies to compile (Be sure to install the package postgresql-server-dev-9.5 in this step, otherwise it's going to brake your postgres-xl installation) 安装Postgres-xl和PostGIS依赖项进行编译(请确保在此步骤中安装软件包postgresql-server-dev-9.5,否则将阻碍您的postgres-xl安装)
  2. Build and install Postgres-XL with ./configure -prefix=/usr/lib/postgresql/9.5 使用./configure -prefix=/usr/lib/postgresql/9.5构建并安装Postgres-XL
  3. Build and install PostGIS 构建并安装PostGIS
  4. Start your cluster 启动集群

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM