附:百度网盘链接
https://pan.baidu.com/s/116hRvZo041jnbCD4TYNRww?pwd=p8k5
1、将安装包上传的服务器上
2、解压安装包
-
创建对应目录
mkdir -p /export/server -
解压到刚才上传的文件夹中
tar -zxvf ./postgresql-16.11.tar.gz -C /export/server/ -
创建postgres用户组
groupadd postgres --创建postgres用户,其用户组为postgres useradd postgres -g postgres
安装必须依赖
yum install -y gcc gcc-c++
yum install -y readline-devel
yum install -y zlib-devel
创建一个路径用于存放编译后的postgresql
--创建一个路径用于存放编译后的postgresql
mkdir /opt/postgresql
--进入安装路径下,编译源码并将编译后的postgresql存放在/opt/postgresql路径下
cd /opt/postgresql
cd /export/server/postgresql-16.11
./configure --prefix=/opt/postgresql
--构建
make
--安装文件
make install
3、创建存放数据目录,初始化数据库并启动。
--在/opt/postgresql路径下创建数据目录pg_data
mkdir /opt/postgresql/pg_data
--修改数据目录的所属用户与用户组均为postgres
chown -R postgres:postgres /opt/postgresql/pg_data
--切换到postgres用户,并初始化数据库
su postgres
/opt/postgresql/bin/initdb -D /opt/postgresql/pg_data
--启动数据库,并将日志打印到pg.log文件上
/opt/postgresql/bin/pg_ctl -D /opt/postgresql/pg_data -l /opt/postgresql/pg_data/pg.log start
4、创建测试数据库,修改超级管理员postgres密码。
--创建test_pgdb数据库
/opt/postgresql/bin/createdb test_pgdb
--访问test_pgdb数据库
/opt/postgresql/bin/psql test_pgdb
--修改管理员postgres的密码为postgres
ALTER USER postgres WITH PASSWORD 'postgres';
5、修改配置文件。
-
修改一:pg_hba.conf

//先备份文件
cp /opt/postgresql/pg_data/pg_hba.conf /opt/postgresql/pg_data/pg_hba.conf_back
//编辑源文件
vim /opt/postgresql/pg_data/pg_hba.conf
-
修改二:postgresql.conf文件 vim /opt/postgresql/pg_data/postgresql.conf 修改前先备份

6、完成修改后重启数据库
/opt/postgresql/bin/pg_ctl -D /opt/postgresql/pg_data -l /opt/postgresql/pg_data/pg.log restart输入以下命令,输出下面内容代表启动成功

8、手动注册为 systemd 服务
sudo vim /etc/systemd/system/postgresql.service在文件中添加一下配置
[Unit] Description=PostgreSQL database server After=network.target [Service] Type=forking User=postgres Group=postgres ExecStart=/opt/postgresql/bin/pg_ctl -D /opt/postgresql/pg_data -l /opt/postgresql/pg_data/pg.log start ExecStop=/opt/postgresql/bin/pg_ctl -D /opt/postgresql/pg_data stop ExecReload=/opt/postgresql/bin/pg_ctl -D /opt/postgresql/pg_data reload Restart=on-failure [Install] WantedBy=multi-user.target设置权限
sudo chmod 644 /etc/systemd/system/postgresql.service重新加载systemd配置。
sudo systemctl daemon-reload设置服务。
//开启开机自起
sudo systemctl enable postgresql
//启动服务
sudo systemctl start postgresql
//查看状态
sudo systemctl status postgresql
//停止服务
sudo systemctl stop postgresql
//重启服务
sudo systemctl restart postgresql
//禁止使用开机自启
sudo systemctl disable postgresql