✅ 宝塔 PostgreSQL 安装 contrib 扩展完整指南

目标:解决 Spring-AI extension "hstore" is not available 等错误

宝塔PostgreSQL 软件商店安装没有这些环境很坑👊、没事的就是有问题解决问题😊

适用系统:Linux(如 CentOS、OpenCloudOS、Ubuntu 等)

适用环境:通过 宝塔面板 安装的 PostgreSQL

🔍 第一步:确认 PostgreSQL 版本

使用这个命令进入对应的数据库 可以查看对应的版本 我的数据库数 ai_rag

bash 复制代码
 psql -U postgres -d ai_rag 

📌 记下版本号(如 16.1),后续需下载完全一致的源码


📥 第二步:下载对应版本的 PostgreSQL 源码

bash 复制代码
cd /tmp

# 替换为你的实际版本,例如 16.1
wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.gz

tar -zxvf postgresql-16.1.tar.gz
cd postgresql-16.1

✅ 官方源码地址:https://www.postgresql.org/ftp/source/


⚙️ 第三步:获取原始编译参数并执行 configure

bash 复制代码
# 查看宝塔 PostgreSQL 的编译参数
/www/server/pgsql/bin/pg_config --configure

示例输出:

执行 configure(去掉单引号,直接使用参数)

bash 复制代码
./configure --prefix=/www/server/pgsql --without-readline

✅ 此步骤不会重新安装 PostgreSQL ,仅生成 contrib 编译所需的 Makefile.global 文件。

🛠️ 第四步:编译并安装 contrib 扩展

方式 A:只安装 hstore(推荐先试这个、如果只是缺这个的话)

bash 复制代码
cd contrib/hstore
make
make install

成功截图

方式 B:一次性安装所有常用 contrib 扩展(推荐长期使用)

⚠️ 注意:这个不一定会成功 可能会导致拓展没有成功比如 uuid-oss

bash 复制代码
cd /tmp/postgresql-16.1/contrib
make all
 make install

✅ 第五步:验证扩展是否安装成

1. 检查文件是否存在

bash 复制代码
ls /www/server/pgsql/share/extension/hstore.control
ls /www/server/pgsql/lib/hstore.so

2. 在数据库中启用扩展

bash 复制代码
-- 连接到你的数据库(如 ai_rag)
psql -U postgres -d ai_rag

-- 创建扩展(无报错即成功)
CREATE EXTENSION IF NOT EXISTS hstore;

3.✅ 验证最终结果

bash 复制代码
SELECT name, default_version FROM pg_available_extensions WHERE name = 'hstore';

🧪 第六步:重启应用验证

现在你的 Spring Boot 应用应该能正常启动,不再报:

bash 复制代码
ERROR: extension "hstore" is not available

📝 注意事项

项目 说明
版本必须严格一致 源码版本 ≠ 运行版本 → .so 不兼容 → 数据库崩溃
无需重新编译主程序 只需 configure,不需要 make && make install 主程序
宝塔用户常见问题 宝塔默认不装 contrib,需手动补全
权限问题 make install 需要 root 权限,记得加 sudo

如果UUID创建报错参考 PostgreSQL 安装UUID

相关推荐
IpdataCloud7 小时前
跨区服玩家延迟高怎么办?用IP离线库自动分配到最近服务器
数据库·tcp/ip·github·php·ip
wuqingshun3141598 小时前
MYSQL默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
空中湖9 小时前
电池简史(五):极限之梦与终章——锂硫、锂空气、量子电池,以及你该知道的电池投资与生活指南
数据库·程序人生
蓝胖子酱10 小时前
在 Electron 中用 electron-store 实现加密存储与自定义格式文件
前端·javascript·数据库
snow@li11 小时前
Redis:数据库语法速查表 / 全景梳理
数据库·redis·缓存
Devlive 开源社区11 小时前
Nebula 1.6.0 发布:跨区域桶自动路由、秒传、文本/PDF 预览一次到位
数据库·sql
这个DBA有点耶11 小时前
导个数据中文全变问号?字符集这事儿真没那么简单
数据库·mysql·代码规范
wuqingshun31415911 小时前
MYSQL中如果发生死锁应该如何解决?
数据库·mysql
DO_Community12 小时前
Weaviate 托管数据库现已在 DigitalOcean 上开放公测
数据库·人工智能·开源·向量数据库·weaviate
报错小能手12 小时前
索引常见面试题
数据库