1 添加RPM源
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2 安装数据库核心服务端
sudo yum install -y postgresql96-server
- 安装完以后系统默认会建一个名为”postgres”的系统账号,用于执行PostgreSQL
- 数据库中也会生成一个名为”postgres”的数据库用户,且密码已自动生成,需要进入数据库后修改
- PostgreSQL在数据库用户同名的系统账号下免密登录
3 安装第三方扩展
sudo yum install postgresql96-contrib.x86_64
4 数据库配置
4.1 创建数据存放路径
mkdir -p /data/pg96/data
chown postgres /data/pg96/data
4.2 初始化数据库
切换默认数据库账号postgres
su postgres
/usr/pgsql-9.6/bin/initdb -D /data/pg96/data postgrelsql-9.6
# 第一个参数为数据存放路径,第二个参数为注册的服务名
4.3 配置远程访问
vim /data/pg96/data/pg_hba.conf
找到 # IPv4 local connections:
,下面添加以下内容后,保存退出
host all all 0.0.0.0/0 md5
4.4 配置监听端口
vim /data/pg96/data/postgresql.conf
找到 #listen_addresses = ‘localhost’
,将前面的#删掉,改成listen_addresses = ‘*’
;
找到#port = 5432
,将前面的#删掉
4.5 配置postgrelsql服务
需要ROOT执行:
sudo vim /usr/lib/systemd/system/postgresql-9.6.service
修改以下内容为:Environment=PGDATA=/data/pg96/data/
重启服务:
sudo service postgresql-9.6 restart
# start 启动
# stop 停止
# restart 重启
设置开机启动处理:
sudo systemctl enable postgresql-9.6
4.6 防火墙设置
#开机启用防火墙
systemctl enable firewalld
#开启防火墙
systemctl start firewalld
#开放postgresql服务
firewall-cmd --add-service=postgresql --permanent
#可以直接添加端口
firewall-cmd --zone=public --add-port=5432/tcp --permanent
# 重载防火墙
firewall-cmd --reload
#查看占用端口
firewall-cmd --list-ports
5. psql基本操作
su - postgres
psql
# 修改登录密码
alter user postgres with password '123456';
# 创建数据库
create database mydb owner postgres;
# 查看已有数据库
\l
# 退出psql
\q
# 恢复表
pg_resotre -d mydb -U postgres -C /data/bak/mydb.2020-01-01.backup
# 查看恢复的表
psql -h 0.0.0.0 -p 5432 mydb postgres
# 输入密码 123456
\dt