Sequoiadb PostgreSQL引擎 安装postgis,librouting,www_fdw等通用插件
目录
今天猴子给大家讲讲如何为安装PostgreSQL,并能像普通PostgreSQL一样安装postgis,librouting,www_fdw等插件
首先明确的以简事儿
划重点:Sequoiadb官方文档强调只支持PostgreSQL9.3.4版本
所以最好用Sequoiadb官方推荐的SAC部署包的形式安装和启动,保证PostgreSQL可用
总体流程
- 安装SDB PostgreSQL 并正常启动
- 安装相关依赖
- 重启SDB已经启动的PostgreSQL
- 安装插件
一定要按照这个流程来,否则会各种报错,猴子用了一整天找错误,发现就是缺少正常安装PostgreSQL所需的依赖,踩了很多坑
Sequoiadb 安装PostgreSQL
本人使用SAC控制安装的pgsql引擎
控制台为主机安装pgsql
设置安装目录
目录一定要是!!
/usr/pgsql-9.3/
这是普通PostgreSQL的默认安装位置,所有插件会默认装到这里
如果安装到SDB的默认目录会报插件文件找不到的错误
创建PostgreSQL业务,使得SDB能够和PostgreSQL正常通讯
到此 为SDB安装PostgreSQL并正常启动成功
安装pgsql相关依赖
由于sdb自带的pgsql缺少很多插件需要的依赖
直接安装安装postgis,librouting,www_fdw等插件
时会报undefined symbol: HeapTupleHeaderGetDatum错误
因而需要安装相关依赖
ERROR: could not load library "/usr/pgsql-9.3/share/extention/postgis-2.1.so": /usr/pgsql-9.3/share/extention/postgis-2.1.so.so: undefined symbol: HeapTupleHeaderGetDatum
ERROR: could not load library "/usr/lib/postgresql/9.3/lib/librouting.so": /usr/lib/postgresql/9.3/lib/librouting.so: undefined symbol: HeapTupleHeaderGetDatum
ERROR: could not load library "/usr/lib/postgresql/9.3/lib/www_fdw.so": /usr/lib/postgresql/9.3/lib/www_fdw.so: undefined symbol: HeapTupleHeaderGetDatum
下载pgsql官方centos9.2.3的源
rpm -ivh https://download.postgresql.org/pub/repos/yum/9.2/redhat/rhel-7-x86_64/pgdg-centos92-9.2-3.noarch.rpm
安装依赖
yum install postgresql93 postgresql93-server postgresql93-libs postgresql93-contrib postgresql93-devel
重启SDB的PostgreSQL
注意不要启动安装的postgresql93-server,缺少与
su - sdbadmin
ps -ef|grep sdbadmin
#杀掉pgsql进程
kill -9 XXX XXX
/bin/bash /opt/sequoiasql/postgresql/bin/sequoiasql-postgresql-daemon
/usr/pgsql-9.3/bin/postgres -D /usr/pgsql-9.3/database/5432
service sdbcm restart
在pgsql命令行内安装插件
创建gistest数据库,并安装插件
注意对于pgsql,插件属于一个库,所以要哪个库需要 哪个库就要安装
./bin/psql -p 5432
CREATE DATABASE gistest;
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;
CREATE EXTENSION ogr_fdw;
安装成功后会自动生成geography等相关的表
转载自:https://blog.csdn.net/evanxuhe/article/details/86649023