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 扩展语法错误

Postgres-XL 数据库

带有 Postgis Geodjango 安装的 Postgresql

Postgres-XL集群部署与管理指南

如何在 docker 中为 postgresql 创建 postgis 扩展?

如何在docker中为postgresql创建postgis扩展?