1.postgres数据库源码下载地址,自己选择对应版本,我这里是15.6
https://www.postgresql.org/ftp/source/
2.编译
cd /data/make/postgresql-15.6
./configure --prefix=/pgdata/postgres15
make -j$(nproc) #加快编译速度,自动获取对应cpu核心数
make install
3.创建postgres用户
useradd -m postgres
4.切换用户
su - postgres
5.初始化数据库(只有初始化数据库之后,才会生成data目录以及下边的配置文件postgresql.conf,可以修改端口等)
/pgdata/postgres15/bin/initdb -D /pgdata/postgres15/data
6.启动数据库、关闭数据库
/pgdata/postgres15/bin/pg_ctl -D /pgdata/postgres15/data -l logfile start
/pgdata/postgres15/bin/pg_ctl stop -D /pgdata/postgres15/data
7.设置属主和属组
chown -R postgres:postgres /pgdata/postgres15
8.创建日志目录
mkdir /pgdata/postgres15/logs/
9.设置开机自启动
vim /etc/systemd/system/postgresql.service
[Unit]
Description=PostgreSQL Database Server
Documentation=man:postgres(1)
Documentation=https://www.postgresql.org/docs/
After=network.target
[Service]
Type=forking
User=postgres
Group=postgres
ExecStart=/pgdata/postgres15/bin/pg_ctl start -D /pgdata/postgres15/data -l /pgdata/postgres15/logs/logfile
ExecStop=/pgdata/postgres15/bin/pg_ctl stop -D /pgdata/postgres15/data
ExecReload=/pgdata/postgres15/bin/pg_ctl reload -D /pgdata/postgres15/data
Restart=on-failure
Environment=PGDATA=/pgdata/postgres15/data
[Install]
WantedBy=multi-user.target
10.启动数据库
systemctl daemon-reload
systemctl start postgresql
11.查看启动状态
[root@iZ2ze0rbcxgzwn3gp22x0oZ logs]# netstat -anpt |grep -w 5432 | grep LISTEN
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 2447750/postgres
tcp6 0 0 ::1:5432 :::* LISTEN 2447750/postgres