在 CentOS 上给 PostgreSQL 安装“扩展(extension)”一般分两种情况:
下面按常见场景说明。
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
CentOS 8 用
EL-8,CentOS 7 用EL-7
以 PostgreSQL 14 为例:
sudo yum install -y postgresql14-contrib
常见扩展包名:
postgresql14-contrib(官方扩展)postgresql14-postgis-3(PostGIS)postgresql14-pglogicalpostgresql14-repmgr登录数据库:
sudo -u postgres psql
创建扩展:
CREATE EXTENSION pg_stat_statements;
查看已安装扩展:
\dx
CREATE EXTENSION pg_stat_statements;
需要在 postgresql.conf 中开启:
shared_preload_libraries = 'pg_stat_statements'
然后重启:
systemctl restart postgresql-14
sudo yum install -y postgresql14-postgis-3
CREATE EXTENSION postgis;
git clone 扩展源码
cd 扩展目录
make
sudo make install
然后:
CREATE EXTENSION 扩展名;
contrib 包ERROR: permission denied to create extension
需要用超级用户:
sudo -u postgres psql
如果你能告诉我:
我可以给你更精确的命令。