本例假设将所有安装文件下载到 /data/soft 目录。

export soft_dir="/data/soft"
1

如果采用yum安装方式,则默认安装目录在 /usr/pgsql-16,数据目录在/var/lib/pgsql/16/data

# 安装依赖

yum install gcc gcc-c++ make zlib-devel openssl-devel readline-devel uuid-devel
1

# 创建 mysql 用户及组

groupadd postgres 
useradd -g postgres postgres
1
2

# 编译安装

tar zxvf postgresql-16.2.tar.gz
cd postgresql-16.2

./configure --prefix=/data/pgsql --with-hstore --with-uuid=ossp
make -j8 && make install

echo 'export PATH=/data/pgsql/bin:$PATH' >> /etc/profile
source /etc/profile
1
2
3
4
5
6
7
8

在centos中出现错误: configure: error: ICU library not found 则安装 yum install libicu-devel

# 创建数据目录并初始化

mkdir /data/pgsql/data
mkdir /data/pgsql/log
chown postgres:postgres /data/pgsql/data
chown postgres:postgres /data/pgsql/log

sudo -i -u postgres
/data/pgsql/bin/initdb -D /data/pgsql/data
1
2
3
4
5
6
7

# 启动或停止数据库

su postgres
/data/pgsql/bin/pg_ctl -D /data/pgsql/data -l /data/pgsql/log/logfile start
/data/pgsql/bin/pg_ctl -D /data/pgsql/data -l /data/pgsql/log/logfile stop
1
2
3

# 安装 及配置 hstore

# exit 退出 postgres 用户,以root用户运行
cd contrib/hstore 
gmake
gmake install

# 启动PostgreSQL,再启动psql后,安装hstore扩展
su postgres
psql -U postgres
postgres=# create extension hstore;
1
2
3
4
5
6
7
8
9

# 安装 及配置 uuid-ossp

# exit 退出 postgres 用户,以root用户运行
cd contrib/uuid-ossp 
gmake
gmake install

# 启动PostgreSQL,再启动psql后,安装hstore扩展
su postgres
psql -U postgres
postgres=# create extension "uuid-ossp";
1
2
3
4
5
6
7
8
9

# 登录到postgresql 并更改口令

psql -U postgres

postgres=#  alter user postgres with password '123456';
1
2
3

# 启动脚本

vi /data/pgsql/start.sh

#!/bin/bash
su postgres -c "/data/pgsql/bin/postgres -D /data/pgsql/data >> /data/pgsql/log/logfile 2>&1 &"
exit 0
1
2
3
4
5

# 关闭脚本

vi /data/pgsql/stop.sh

#!/bin/bash
kill -sigterm `head -1 /data/pgsql/data/postmaster.pid`
exit 0
1
2
3
4
5

# 赋予执行权限

chmod +x /data/pgsql/start.sh
chmod +x /data/pgsql/stop.sh
1
2

# 配置为外部可连接

编辑 /data/pgsql/data/postgresql.conf 文件,更改 listen_addresses 为 * 号

vi /data/pgsql/data/postgresql.conf
# 找到 #listen_addresses = 'localhost' 更改为
listen_addresses = '*'
1
2
3

# 配置外部用户可访问

编辑 /data/pgsql/data/pg_hba.conf 文件, 加入 下列:

host    all    all    0.0.0.0/0    md5
1

# 安装 vector 向量

下载地址:https://github.com/pgvector/pgvector/tags

tar xvf pgvector-0.6.2.tar.gz
cd pgvector-0.6.2
make -j4
make install 

su postgres
psql -U postgres
# 创建数据库
postgres=#  create database ai;
postgres=#  \c ai
postgres=#  CREATE EXTENSION vector;
1
2
3
4
5
6
7
8
9
10
11