Postgres-xl 上的 PostGIS 扩展
Posted
技术标签:
【中文标题】Postgres-xl 上的 PostGIS 扩展【英文标题】:PostGIS extension on Postgres-xl 【发布时间】:2018-08-03 17:22:32 【问题描述】:我正在尝试在 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"
所以我认为这只是路径的问题,但我对那个配置有点迷茫
提前感谢您的帮助!
【问题讨论】:
【参考方案1】:如果有人遇到此问题,我按照以下步骤解决:
-
安装 Postgres-xl 和 PostGIS 依赖项进行编译(请务必在此步骤中安装包 postgresql-server-dev-9.5,否则会破坏您的 postgres-xl 安装)
使用
./configure -prefix=/usr/lib/postgresql/9.5
构建和安装 Postgres-XL
构建和安装 PostGIS
启动集群
【讨论】:
【参考方案2】:您正在使用从 Ubuntu 存储库以外的位置安装的 PostgreSQL 版本(在本例中为 PostgreSQL-XL)(类似于 this issue)。 /usr/local/pgsql/share
是为您的 PostgreSQL 安装配置的 $SHAREDIR
。 Ubuntu for PostgreSQL 9.5 上的默认值应为 /usr/share/postgresql/9.5
。据我所知,$SHAREDIR
是在编译时配置的,不能轻易更改。
PostGIS 会根据将要使用的 PostgreSQL 版本进行编译。因此,在这种情况下,Ubuntu 版本的 PostGIS 不会与您正在运行的 PostgreSQL-XL 版本兼容。
您有两种解决问题的方法:
从 Ubuntu 软件存储库安装 PostgreSQL(确保先备份数据库!)并使用它而不是 PostgreSQL-XL。 将PostGIS manually 安装到 PostgreSQL-XL 中。【讨论】:
感谢您的帮助!我选择了第三个选项:在 ubuntu 的默认路径中安装 PostgreSQL,它成功了,再次感谢 :)!以上是关于Postgres-xl 上的 PostGIS 扩展的主要内容,如果未能解决你的问题,请参考以下文章
在“PARALLEL”处或附近创建 postgis 扩展语法错误
带有 Postgis Geodjango 安装的 Postgresql