记一次postgresql-15与PGVector安装

举报
banjin 发表于 2024/12/02 17:23:26 2024/12/02
【摘要】 公司有一个项目用到向量数据库,同开发沟通使用postgresql与PGVector,步骤看似简单,但也遇到了很多问题,特此记录一下完整安装过程与问题

公司有一个项目用到向量数据库,同开发沟通使用postgresql与PGVector,步骤看似简单,但也遇到了很多问题,特此记录一下完整安装过程与问题

一、centos 7.6部署postgresql-15

附上下载地址
https://www.postgresql.org/download/linux/redhat/
https://yum.postgresql.org/15/redhat/rhel-7-x86_64/repoview/postgresql15-devel.html

下载:

postgresql15-libs-15.7-1PGDG.rhel7.x86_64.rpm
postgresql15-15.7-1PGDG.rhel7.x86_64.rpm
postgresql15-server-15.7-1PGDG.rhel7.x86_64.rpm

1、postgress数据库安装

有外网可以用yum没有的话下载rpm安装

rpm -ivh postgresql15-libs-15.7-1PGDG.rhel7.x86_64.rpm
 
rpm -ivh postgresql15-15.7-1PGDG.rhel7.x86_64.rpm
 
rpm -ivh postgresql15-server-15.7-1PGDG.rhel7.x86_64.rpm

报错处理
安装postgresql15-server时缺少libzstd-1.5.2-1.el7.x86_64.rpm依赖,需要手动下载一下再执行安装操作:

rpm -ivh libzstd-1.5.2-1.el7.x86_64.rpm

安装完成后再次执行postgresql的安装命令:

sudo yum install -y postgresql15-server


再依次执行官网中的命令即可完成安装

###附上 libzstd-1.5.2-1.el7.x86_64.rpm 的安装包:

链接:https://pan.baidu.com/s/18vbU5D5NNCmOL1ZGlt0kxg
提取码:qgzb

2、修改配置

vi /usr/lib/systemd/system/postgresql-15.service
# 修改存储目录
Environment=PGDATA=/opt/postgres/data/

3、创建目录并修改权限

mkdir -p /data/postgres/data
chown -R postgres: postgres
chmod 700 data/


4、初始化数据库

/usr/pgsql-15/bin/postgresql-15-setup initdb

开放数据库连接端口

firewall-cmd --state
firewall-cmd --zone=public --add-port=5432/tcp --permanent
firewall-cmd --reload


5、启动服务并设置开机自启

systemctl start postgresql-15.service 
systemctl status postgresql-15.service 

6、修改管理员密码

su - postgres 
psql 
psql (15.7)
Type "help" for help.
 
postgres=# alter user postgres with password 'adWEFghe##7$4';
ALTER ROLE

7、设置允许远程登陆

vi /opt/postgres/data/postgresql.conf
# 修改下面行
listen_addresses = '*'

vi /opt/postgres/data/pg_hba.conf
# 在最后添加下面行
host    all             all             0.0.0.0/0               md5
 
# 重启服务,进行远程连接测试
systemctl restart postgresql-15.service

8、配置环境变量

vi  ~/.bash_profile 
[ -f /etc/profile ] && source /etc/profile

export PGHOME=/usr/pgsql-12/
export PGDATA=/var/lib/pgsql/12/data
export PGPORT=5432
export PGUSER=postgres
export PGHOST=127.0.0.1
export PATH=$PATH:$PGHOME/bin

# If you want to customize your settings,
# Use the file below. This is not overridden
# by the RPMS.
[ -f /var/lib/pgsql/.pgsql_profile ] && source /var/lib/pgsql/.pgsql_profile

二、安装 PGVector

1、首先需要安装postgresql15-devel。

rpm -ivh postgresql15-devel-15.7-1PGDG.rhel7.x86_64.rpm

####依赖比较多,部分rpm可以用阿里云镜像地址安装

##阿里云镜像源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 下载163的base源 
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
# 如果没有wget程序则使用curl下载
# 快速生成缓存 
sudo yum makecache fast

##国内的一些其他镜像源
https://blog.51cto.com/u_12895411/8583288

遇到错误:

Requires: llvm-toolset-7-clang >= 4.0.1。通过安装centos-release-scl-rh包,解决这个问题并继续安装postgresql。

1.1、安装 llvm-toolset-7-clang >= 4.0.1

安装SCL源
yum install -y centos-release-scl centos-release-scl-rh

Linux CentOs7系统scl镜像源失效如果失效配置scl国内源
在目录/etc/yum.repos.d中,备份CentOS-SCLo-scl.repo和??CentOS-SCLo-scl-rh.repo两个文件
# 备份
cp CentOS-SCLo-scl.repo CentOS-SCLo-scl.repo.bak
cp CentOS-SCLo-scl-rh.repo CentOS-SCLo-scl-rh.repo.bak

配置CentOS-SCLo-scl.repo国内地址
vim /etc/yum.repos.d/CentOS-SCLo-scl.repo

[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo


配置CentOS-SCLo-scl-rh.repo
vim /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo

[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

# 刷新缓存
yum repolist && yum clean all && yum makecache

安装llvm-toolset
yum install llvm-toolset-7-clang -y

1.2、安装 llvm5.0-devel >= 5.0

下载地址 :https://archives.fedoraproject.org/pub/archive/epel/7/x86_64/Packages/l/
##顺序安装
rpm -ivh llvm5.0-libs-5.0.1-7.el7.x86_64.rpm
rpm -ivh llvm5.0-5.0.1-7.el7.x86_64.rpm
rpm -ivh llvm5.0-devel-5.0.1-7.el7.x86_64.rpm

1.3、重新安装

rpm -ivh postgresql15-devel-15.7-1PGDG.rhel7.x86_64.rpm


2、安装pgvector

2.1、下载

git clone --branch v0.7.0 https://github.com/pgvector/pgvector.git

2.2、进入下载目录

cd pgvector

3.3、编译安装

make && make install


3.4、启用 PGVector

登录PostgreSQL数据库,执行以下命令启用PGVector:

CREATE EXTENSION IF NOT EXISTS vector;
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。