PostgreSQL是一款功能强大的开源关系型数据库管理系统,广泛应用于各种规模的项目中。本文将详细介绍如何在Linux环境下安装和配置PostgreSQL。
1.下载
官方下载网址:
https://www.postgresql.org/ftp/source/ 自行选择合适的版本
解压到指定目录
mkdir -p /export/server/
tar -zxvf postgresql-16.8.tar.gz -C /export/server/
创建软链接。
ln -s /export/server/postgresql-13.3 /export/server/pgsql
2.编译安装
创建用户组
–创建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
mkdir /opt/postgresql
–进入安装路径下,编译源码并将编译后的postgresql存放在/opt/postgresql路径下
cd /export/server/postgresql-16.8
./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
创建测试数据库,修改超级管理员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’;
修改配置文件
修改1:
//先备份文件
cp /opt/postgresql/pg_data/pg_hba.conf /opt/postgresql/pg_data/pg_hba.conf_back
//编辑源文件
vim /opt/postgresql/pg_data/pg_hba.conf
修改2:
vim /opt/postgresql/pg_data/postgresql.conf 修改前先备份
完成修改后使用postgres用户重启数据库 不然会报错
/opt/postgresql/bin/pg_ctl -D /opt/postgresql/pg_data -l /opt/postgresql/pg_data/pg.log restart
使用netstat -tnlp查看是否开启了端口
4.配置防火墙
如果端口未开放,直接手动添加端口后重启防火墙即可
firewall-cmd –zone=public –add-port=5432/tcp –permanent
firewall-cmd –reload
5.手动注册为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
6.登录
主机=ip
端口在刚刚设置里都有
初始数据库上面也有设置
用户名默认:postgres
密码刚刚也设置了




















暂无评论内容