腾讯云宝塔安装PostgreSQL常用组件

一、使用应用商店安装完成之后需要配置三个常用组件

Spring AI 使用PGvector 是 PostgreSQL 的开源扩展,启用 PostgreSQL 的情况下访问 PostgreSQL 实例vector,hstoreuuid-ossp扩展

vector、hstore、uuid-ossp

二、组件安装

1、vector安装

1.1下载pgvector插件

下载地址:GitHub - pgvector/pgvector: Open-source vector similarity search for Postgres

postgresql14 对应 pgvector0.5的版本

postgresql15 对应 pgvector0.6的版本

Postgresql16 对应 pgvector0.7及以上的版本

1.2数据库安装插件

将插件压缩包加压

执行make命令

make

发生错误

make: *** No rule to make target '/usr/lib/postgresql/16/lib/pgxs/src/makefiles/pgxs.mk'.  Stop.

错误原因:因为make命令不知道postgresql数据库的安装位置在哪导致的

解决方法:在 /etc/profile 配置文件添加pg_config项,配置为postgresql的安装位置

1.2.1查询postgresql的安装位置
find /www -name pg_config
1.2.2修改配置文件并生效
vim /etc/profile

# 配置地址为上一步查询出来的地址
export PG_CONFIG=/www/server/pgsql/bin/pg_config

source /etc/profile
1.3 pgvector目录下执行 make 命令和 make install 命令
make

make install

命令执行完表示安装成功

注意:如果仅仅安装这一个插件,保险起见可以在宝塔中重启一遍数据库,如果需要继续安装其他组件请忽略

1.4 数据库启用扩展

登录 PostgreSQL 执行(用户需要使用超级管理员才可以,不然会提示无权限!!!):

CREATE EXTENSION vector;

2.uuid-ossp安装

2.1安装依赖库
yum install libuuid-devel -y

安装 UUID 库依赖,提供 uuid.hlibuuid.so 支持‌

2.2重新配置 PostgreSQL 构建环境

进入 PostgreSQL 源码目录(如 /usr/local/src/postgresql-15.5),执行配置命令启用 UUID

./configure --prefix=/www/server/pgsql --with-uuid=e2fs

需确保 --with-uuid=e2fs 参数存在‌

注意:宝塔应用商店安装的PostgreSQL看不见源码文件, 可以到/usr/local/src/目录下查看是否有对应版本的tar.gz压缩包(一般都会有,没有只能去官网下载对应已安装的PostgreSQL包),将压缩包解压之后继续执行上一步说的流程

2.3重新编译 PostgreSQL
make world -j$(nproc)
2.4安装 uuid-ossp 扩展

进入扩展目录编译安装:

cd contrib/uuid-ossp

export PATH=/www/server/pgsql/bin:$PATH

make clean && make && make install

如果你看到 uuid-ossp.so 被复制到 /www/server/pgsql/lib,就表示安装成功。

2.5数据库启用扩展

登录 PostgreSQL 执行(用户需要使用超级管理员才可以,不然会提示无权限!!!):

CREATE EXTENSION "uuid-ossp";

3.安装 hstore 扩展

3.1进入 hstore 源码目录

在 PostgreSQL 源码目录中定位扩展:

cd contrib/hstore
3.2编译安装

执行以下命令:

export PATH=/www/server/pgsql/bin:$PATH
make && make install

(hstore 通常无需额外依赖库)‌

3.3数据库启用扩展

登录 PostgreSQL 执行(用户需要使用超级管理员才可以,不然会提示无权限!!!):

CREATE EXTENSION hstore;

启用后可存储键值对数据‌

注意事项

  • 路径适配‌:上述 /www/server/pgsql 为宝塔默认安装路径,需按实际路径调整‌。

  • ‌扩展应用:

    • uuid-ossp 用于生成 UUID 值‌;
    • hstore 支持键值对存储,适用于动态属性场景(如用户配置)‌。
  • 错误排查‌:若编译报错,检查 ./configure 是否包含 --with-uuid=e2fs 及依赖库是否安装‌

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐