前言
我现在要部署的一个程序,需要使用postgres并且需要使用PgVector组件。而宝塔面板安装的postgres默认是没有(且无法自动化的)安装PgVector插件。这篇文章介绍下如何给宝塔面板部署的postgres安装PgVector插件(本文基于ubuntu,当然在Debian系列系统下操作相同),下面的命令均是使用root权限执行的。
准备操作-安装
需要一个postgresql-client组件,这样子我们才能在终端中操作Postgres。
sudo apt install postgresql-client
注意,安装完后可以发现postgresql-client是无法正常使用的,会显示下面的报错
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory
Is the server running locally and accepting connections on that socket?
因为宝塔安装的postgres的soket默认不在/var/run/postgresql/目录中,而是在/tmp中。我们执行下面的命令
echo 'export PGHOST=/tmp' >> ~/.bashrc
将psql的读取地址设置为tmp目录(宝塔安装的postgresql默认就在这里)
然后重启终端或者source ~/.bashrc 刷新一下。
安装扩展
在当前目录中。执行下面的命令
git clone --branch v0.8.1 https://github.com/pgvector/pgvector.git
然后进入对应的目录
cd pgvector
接下来的下一步非常重要!是要设置下要安装的postgres的路径,我们需要设置好宝塔安装的postgres的路径。
export PG_CONFIG=/www/server/pgsql/bin/pg_config
弄完以后make一下
make
make install
现在扩展就初步安装完了,重启下postgresSQL服务器,然后再对应的数据库中执行下面的命令启用向量插件,提示:psql -U postgres 使用这个命令以postgres账号身份登录服务器(postgres 是默认的超级管理员账号)
CREATE EXTENSION vector;
可以使用下面的命令进行检查
SELECT * FROM pg_extension WHERE extname = 'vector';
提示:在终端操作界面中使用\c 目标数据库名该语法进行数据库切换操作。