在宝塔的Postgre下 安装插件(扩展)时报错问题
在宝塔的Postgre下 安装插件(扩展)时报错:CREATE EXTENSION pg_trgm;CREATE EXTENSION postgres_fdw;yum repository 里添加 PostgreSQL库接下来,我们将PostgreSQL存储库添加到CentOS 7/RHEL 7 Linux系统中sudo yum -y install https://download.postgr
在宝塔的Postgre下 安装插件(扩展)时报错:
CREATE EXTENSION pg_trgm;
CREATE EXTENSION postgres_fdw;
CREATE EXTENSION mysql_fdw;
CREATE EXTENSION oracle_fdw;
CREATE EXTENSION tds_fdw;
yum repository 里添加 PostgreSQL库
接下来,我们将PostgreSQL存储库添加到CentOS 7/RHEL 7 Linux系统中
sudo yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
错误提示1:
ERROR: could not open extension control file “/www/server/pgsql/share/extension/pg_trgm.control”: 没有那个文件或目录
ERROR: could not open extension control file “/www/server/pgsql/share/extension/postgres_fdw.control”: 没有那个文件或目录
解决方法1:
Step1. 从官方文件里复制过来,先安装 postgre-contrib
,
Step2. 然后相关文件复制到宝塔的postgre安装目录里
/share/extension/
,/lib/
把两个文件里的拷贝过来
yum install -y postgresql14-contrib
awk 'BEGIN { cmd="cp -ri /usr/pgsql-14/share/extension/* /www/server/pgsql/share/extension"; print "n" |cmd; }'
awk 'BEGIN { cmd="cp -ri /usr/pgsql-14/lib/* /www/server/pgsql/lib/"; print "n" |cmd; }'
错误提示2:
ERROR: permission denied to create extension “postgres_fdw”
HINT: Must be superuser to create this extension.
或者提示:
FATAL: terminating connection due to administrator command
解决方法2:
客户端认证里临时加个所有权限, 处理完后注释掉
host all all 0.0.0.0/0 trust
解决方法2: 在本地进入数据库,安装插件
su - postgres
psql
create extension postgres_fdw;
错误提示3:
ERROR: could not access file “$libdir/postgres_fdw”: 没有那个文件或目录
解决方法3:
cp -ri /usr/pgsql-14/lib/* /www/server/pgsql/lib/
awk 'BEGIN { cmd="cp -ri /usr/pgsql-14/lib/* /www/server/pgsql/lib/"; print "n" |cmd; }'
Postgres 的多个实例(多个版本或同一版本的多个实例)?
删除安装包后宝塔上重启服务,还是不好使的话重新安装
sudo yum remove postgresql*
建议卸载,重新安装
宝塔下安装mysql_fdw方法
yum install mysql_fdw_14
awk 'BEGIN { cmd="cp -ri /usr/pgsql-14/share/extension/* /www/server/pgsql/share/extension"; print "n" |cmd; }'
awk 'BEGIN { cmd="cp -ri /usr/pgsql-14/lib/* /www/server/pgsql/lib/"; print "n" |cmd; }'
原文链接:https://centos.pkgs.org/7/postgresql-14-x86_64/mysql_fdw_14-2.6.1-2.rhel7.x86_64.rpm.html
然后重启~
宝塔下安装mysql_fdw遇到冲突
安装mysql_fdw_14
的时候显示它依赖mariadb-devel
安装mariadb-devel
的时候又与现有的mysql
有冲突, 现有的数据库数据量也很多不能卸载后重装.
只好用Docker里安装完mysql_fdw_14
后把相应地文件复制过来
记得服务器系统版本和docker的版本要一致.
- 创建Docker, 然后建立映射目录
在这里我是 Docker的
/www
文件夹和服务器的/www/docker_centos
文件夹建立映射的
- Docker里 添加Postgre镜像源
[root@docker]$ yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
- 然后安装 mysql_fdw_14
[root@docker]$ yum install mysql_fdw_14
- 文件复制过来
[root@docker]$ mkdir /www/extension
[root@docker]$ mkdir /www/lib
[root@docker]$ awk 'BEGIN { cmd="cp -ri /usr/pgsql-14/share/extension/* /www/extension"; print "n" |cmd; }'
[root@docker]$ awk 'BEGIN { cmd="cp -ri /usr/pgsql-14/lib/* /www/lib/"; print "n" |cmd; }'
- 在服务器上复制文件
[postgre@server]$ awk 'BEGIN { cmd="cp -ri /www/docker_centos/extension/* /www/server/pgsql/share/extension"; print "n" |cmd; }'
[postgre@server]$ awk 'BEGIN { cmd="cp -ri /www/docker_centos/lib/* /www/server/pgsql/lib/"; print "n" |cmd; }'
重启postgre搞定
更多推荐
所有评论(0)