ubuntu20.04环境下postgresql 12 数据库安装卸载及主从配置

很多情况下,都是权限原因导致的报错,为了避免这类问题,需要切换几次用户。

完全卸载PG数据库
sudo systemctl stop postgresql           ### 关闭数据库服务
sudo systemctl status postgresql         ### 确认数据库服务处于关闭状态
sudo apt-get purge 'postgresql-*'        ### 卸载数据库
sudo apt-get autoremove 'postgresql-*'   ### 卸载数据库依赖包
sudo rm -r /etc/postgresql/              ### 删除配置文件
sudo rm -r /etc/postgresql-common/       ### 删除配置文件
sudo rm -r /var/lib/postgresql/          ### 删除数据目录
sudo userdel -r postgres                 ### 删除用户
sudo groupdel postgres                   ### 删除用户组

安装PG数据库并配置主从(主库操作)
sudo apt install postgresql postgresql-contrib                          ### 安装数据库及其依赖包
sudo su root                                                            ### 切换权限为root
su postgres                                                             ### 切换权限为postgres
psql                                                                    ### 进入数据库
ALTER USER postgres WITH PASSWORD 'postgres';                           ### 修改postgres用户密码
create role replica login replication encrypted password 'replica';     ### 创建replica用户,用户备库访问主库
create user admin superuser password 'admin123';                        ### 创建超级用户admin
exit                                                                    ### 退出数据库
systemctl stop postgresql                                               ### 关闭数据库服务
systemctl status postgresql                                             ### 确认数据库服务处于关闭状态
exit                                                                    ### 恢复权限为root
mkdir /opt/postgres/data -p                                             ### 创建数据存放目录
rsync -av -progress /var/lib/postgresql/12/main/ /opt/postgres/data/    ### 同步数据,避免操作影响原数据
mv /var/lib/postgresql /var/lib/postgresql.bak                          ### 备份数据
vim /etc/postgresql/12/main/postgresql.conf                             ### 修改PG数据库配置文件

data_directory = ‘opt/postgres/data’
listen_addresses = ‘*’
wal_level = replica
max_wal_senders = 10
max_replication_slots = 10
wal_keep_segments = 64
archive_mode = on
archive_command = ‘cp %p /opt/postgresql/data/pg_archive/%f’
max_connections = 1000                                                  ### 从库必须大于主库
synchronous_commit = off
synchronous_standby_names = ‘*’
wal_sender_timeout = 60s
max_standby_streaming_delay = 30s
wal_receiver_status_interval = 10s
hot_standby_feedback = on
:wq                                                                     ### 保存并退出
mkdir -p /opt/postgresql/data/pg_archive                                ### 手动创建
chmod -R 750 /opt/postgresql/data/pg_archive                                                  ### 修改权限
vim /etc/postgresql/12/main/pg_hba.conf                                 ### 开启远程

host    replication     admin           *.*.*.*/32       trust      ###(此处*.*.*.*为从库ip)
host    all             all             0.0.0.0/0               md5         
:wq                                                                     ### 保存并退出
systemctl start postgresql                                              ### 启动PG数据库
systemctl status postgresql                                             ### 查看数据库状态
systemctl enable postgresql                                             ### 开机自启PG数据库

安装PG数据库并配置主从(从库操作)
sudo apt install postgresql postgresql-contrib                          ### 安装数据库及其依赖包
sudo su root                                                            ### 切换权限为root
su postgres                                                             ### 切换权限为postgres
psql                                                                    ### 进入数据库
ALTER USER postgres WITH PASSWORD 'postgres';                          ### 修改postgres用户密码
exit                                                                    ### 退出数据库
exit                                                                    ### 切换权限为root
systemctl stop postgresql                                               ### 关闭数据库服务
systemctl status postgresql                                             ### 确认数据库服务处于关闭状态
mkdir /opt/postgres/data -p                                             ### 创建数据存放目录
rsync -av -progress /var/lib/postgresql/12/main/ /opt/postgres/data/    ### 同步数据,避免操作影响原数据
mv /var/lib/postgresql /var/lib/postgresql.bak                          ### 备份数据
rm -rf /opt/postgres/data/*                                             ### 清空从库数据存储文件夹
cd /opt/postgres/data                                                   ### 进去数据存储目录
su postgres                                                             ### 切换权限为postgres
pg_basebackup -h *.*.*.* -p 5432 -U admin  -Fp -Xs -Pv -R -D /opt/postgres/data      ###基础备份(*.*.*.*位置根据实际情况输入ip)
vim /opt/postgres/data/standby.signal

standby_mode='on'
:wq                                                                     ### 保存并退出
vim /etc/postgresql/12/main/postgresql.conf                             ### 编辑配置文件

data_directory = '/opt/postgres/data/'
primary_conninfo = 'host=*.*.*.* port=5432 user=admnin password=admin123'
recovery_target_timeline = 'latest'
max_connections = 1500
hot_standby = on
max_standby_streaming_delay = 30s
wal_receiver_status_interval = 10s
hot_standby_feedback = on
:wq                                                                     ### 保存并退出
vim /etc/postgresql/12/main/pg_hba.conf

host    all             all             0.0.0.0/0               md5         
:wq                                                                     ### 保存并退出
exit                                                                    ### 切换权限为root
systemctl restart postgresql                                            ### 重启PG数据库
systemctl enable postgresql                                             ### 开机自启PG数据库
 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凉城薄梦风轻眠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值