万万哇 发表于 2024-6-11 09:34:43

PostgreSQL向量数据插件--pgvector安装(附PostgreSQL安装)

本文为本人在安装pgvector中踩过的坑,已找到解决方法,现向大家分享。
一、版本


[*]pgvector:0.5.1
[*]PostgreSQL数据库:14.0
[*]操作系统:Ubuntu18.04
二、数据库安装

由于在此之前安装过PostgreSQL8.4.1,而pgvector只支持11.0及以后的版本,因此安装PostgreSQL14.0
1. 在官网下载PostgreSQL14.0的安装包

PostgreSQL官网
https://img-blog.csdnimg.cn/direct/d5b71e6a1b5e46eb91c51a069cc7bc4d.png#pic_center
2.增长用户postgres

adduser postgres
3.解压安装

解压压缩包
tar zxvf postgresql-14.0.tar.gz
安装依赖包
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install make
sudo apt install libreadline-dev
sudo apt-get install zlib1g-dev
编译
cd postgresql-14.0
./configure --prefix=/usr/local/pgsql
--enable-debug
sudo make && sudo make install
cd contrib #插件
sudo make && sudo make install
数据目录创建
sudo mkdir -p /var/postgresql/data
chown postgres:postgres /var/postgresql -R
chown postgres:postgres /usr/local/pgsql
-R
切换用户
supostgres
环境变量设置
vi ~/.bash_profile

在~/.bash_profile中写入:
export PGHOME=/usr/local/pgsql

export PGDATA=/var/postgresql/data
export PATH=$PGHOME/bin:$PATH
export MANPATH=$PGHOME/share/man:$MANPATH
export LANG=en_US.utf8
export DATE=`date +"%Y-%m-%d %H:%M:%S"`
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
alias rm='rm-i'
alias ll='ls -lh'
#alias pg_start='pg_ctl start -D $PGDATA'
#alias pg_stop='pg_ctl stop -D $PGDATA -m fast'
初始化数据库
initdb -D /var/postgresql/data
连接数据库服务
pg_ctl -D /var/postgresql/data start
三、pgvector安装

github上的pgvector
1. 从github上克隆下来

首先要安装git,具体可参考:安装Git
cd /tmp
git clone --branch v0.5.1 https://github.com/pgvector/pgvector.git
此时可能会碰到拒绝连接
https://img-blog.csdnimg.cn/direct/81c8ab802fd540028d3a64b5de54dd22.png
等待即可,由于可能是网络不好。。
2. 安装pgvector插件

cd pgvector/
make && sudo make install
此时可能会碰到Makefile:48: /usr/lib/postgresql/10/lib/pgxs/src/makefiles/pgxs.mk: 没有那个文件或目录
make: *** 没有规则可制作目的“/usr/lib/postgresql/10/lib/pgxs/src/makefiles/pgxs.mk”。 停止。
https://img-blog.csdnimg.cn/direct/7c6d1a1f412645c0b128154eece43275.png
这是由于环境配置没有配置好,查看pg_config在哪
which pg_config
https://img-blog.csdnimg.cn/direct/a8a79d72696246f59c9a58d3eef4abac.png
可以看到我的pg_config的绝对地址,但其实它应该在/usr/local/pgsql
/bin/pg_config
所以以下有两种方法可以解决:

[*]在下令行export设置临时环境变量
sudo make PG_CONFIG=/usr/local/pgsql
/bin/pg_config
sudo make PG_CONFIG=/usr/local/pgsql
/bin/pg_config install

[*]在~/.bash_profile修改环境变量
vi ~/.bash_profile

在文件内加入
export PG_CONFIG=/usr/local/pgsql
/bin/pg_config
安装成功如图
https://img-blog.csdnimg.cn/direct/633c998fb1df4757aa89e2304281b8bc.png
3. 开始利用pgvector

启用pgsql
下令行

psql

pgsql
创建扩展

CREATE EXTENSION vector;
CREATE TABLE items (id bigserial PRIMARY KEY, embedding vector(3));
INSERT INTO items (embedding) VALUES (''), ('');
此处有一个特别提醒,不是pgvector,而是vector
https://img-blog.csdnimg.cn/direct/d89ae18d7b2f4201a7933ac9be8d5047.png
运行CREATE成功后
https://img-blog.csdnimg.cn/direct/9c6e2b8029fb45da86f99bbed36f6190.png
查看items表
https://img-blog.csdnimg.cn/direct/28ff36059a6f49218e3a58ebb9b1f7d5.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: PostgreSQL向量数据插件--pgvector安装(附PostgreSQL安装)