在 CentOS 上安装 PostgreSQL 扩展(extension) 通常分为几种情况,下面按常见场景给你一个完整说明。
psql --version
如果还没安装,可先安装(以 PostgreSQL 15 为例):
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql15-server postgresql15-contrib
很多扩展在 postgresql-contrib 包中。
sudo yum install -y postgresql-contrib
或指定版本:
sudo yum install -y postgresql15-contrib
sudo -u postgres psql
\c your_database;
CREATE EXTENSION IF NOT EXISTS fuzzystrmatch;
✅ 常见自带扩展:
uuid-ossppgcryptohstorefuzzystrmatchtablefuncsudo yum install -y postgis30_15
进入数据库:
CREATE EXTENSION postgis;
sudo yum install -y postgresql15-contrib
修改 postgresql.conf:
shared_preload_libraries = 'pg_stat_statements'
重启 PostgreSQL:
sudo systemctl restart postgresql-15
数据库中执行:
CREATE EXTENSION pg_stat_statements;
适用于 官方仓库没有的扩展。
sudo yum install -y gcc make postgresql-devel
git clone https://github.com/someuser/some_extension.git
cd some_extension
make
sudo make install
CREATE EXTENSION some_extension;
SELECT * FROM pg_available_extensions;
SELECT * FROM pg_extension;
could not open extension control file✅ 说明扩展未安装:
yum search postgresql | grep extension_name
CREATE EXTENSIONshared_preload_libraries# 1. 安装 contrib
sudo yum install -y postgresql-contrib
# 2. 进入数据库
sudo -u postgres psql -d your_db
# 3. 安装扩展
CREATE EXTENSION extension_name;
如果你能告诉我:
我可以给你 精确到命令级别 的安装方案。