温馨提示×

CentOS怎么安装PostgreSQL扩展

小樊
45
2026-08-20 03:53:24
栏目: 云计算

CentOS 上安装 PostgreSQL 扩展(extension) 通常分为几种情况,下面按常见场景给你一个完整说明。


一、前提:确认 PostgreSQL 已安装

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 自带的扩展(最常见)

很多扩展在 postgresql-contrib 包中。

1️⃣ 安装 contrib 包

sudo yum install -y postgresql-contrib

或指定版本:

sudo yum install -y postgresql15-contrib

2️⃣ 在数据库中启用扩展

sudo -u postgres psql
\c your_database;
CREATE EXTENSION IF NOT EXISTS fuzzystrmatch;

✅ 常见自带扩展:

  • uuid-ossp
  • pgcrypto
  • hstore
  • fuzzystrmatch
  • tablefunc

三、安装第三方扩展(如 PostGIS、pg_stat_statements)

示例 1:安装 PostGIS

sudo yum install -y postgis30_15

进入数据库:

CREATE EXTENSION postgis;

示例 2:pg_stat_statements(性能分析)

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;

四、通过源码安装扩展(高级)

适用于 官方仓库没有的扩展

1️⃣ 安装依赖

sudo yum install -y gcc make postgresql-devel

2️⃣ 下载并编译

git clone https://github.com/someuser/some_extension.git
cd some_extension
make
sudo make install

3️⃣ 在数据库中启用

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 EXTENSION
  • 某些扩展需要 shared_preload_libraries

七、总结(快速流程)

# 1. 安装 contrib
sudo yum install -y postgresql-contrib

# 2. 进入数据库
sudo -u postgres psql -d your_db

# 3. 安装扩展
CREATE EXTENSION extension_name;

如果你能告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ PostgreSQL 版本
  • ✅ 具体要安装哪个扩展

我可以给你 精确到命令级别 的安装方案。

0