【PostgreSQL】超简单的主从节点部署

发布于:2025-05-09 ⋅ 阅读:(10) ⋅ 点赞:(0)

1. 启动数据库

启动主节点

docker run --name postgres-master -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -d postgres

启动从节点

docker run --name postgres-slave -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 -d postgres

需要配置挂载的存储卷

2. 数据库配置

2.1 主节点创建备份用户

进入 psql 客户端

psql -U <user> <database>
CREATE ROLE replica login replication encrypted password 'replica';

2.2 主节点和从节点修改 wal level

分别进入主节点和从节点,进入 psql 客户端,执行以下命令

ALTER SYSTEM SET wal_level = 'hot_standby';

注意,主从节点均需进行修改

2.3 主节点配置

进入主节点的挂在卷,修改postgresql.conf文件:

listen_addresses = '*'
shared_buffers = 128MB			
dynamic_shared_memory_type = posix

archive_mode = on
archive_command = 'test ! -f /data/pg_archive/%f && cp %p /data/pg_archive/%f'  # 建议开启归档,需要确保文件夹存在
max_wal_senders = 16
wal_keep_segments = 32
wal_sender_timeout = 60s

修改pg_hba.conf:

local   all             all                                     trust
host    all             all             127.0.0.1/32            trust
host    all             all             ::1/128                 trust
host    all             all               all                      md5
host   replication      replica       10.233.0.0/16         trust   

修改后重启主节点

2.4 从节点配置

进入主节点的挂在卷,修改postgresql.conf文件:

listen_addresses = '*'
shared_buffers = 128MB			
dynamic_shared_memory_type = posix

hot_standby = on 
max_connections = 500 # 适当增加连接数
max_standby_streaming_delay = 30s 
wal_receiver_status_interval = 10s 
hot_standby_feedback = on 

修改pg_hba.conf:

local   all             all                                     trust
host    all             all             127.0.0.1/32            trust
host    all             all             ::1/128                 trust
host    all             all               all                      md5
host   replication      replica       10.233.0.0/16         trust   

创建recovery.conf:

standby_mode = on   
primary_conninfo = 'host=<master-host> port=<master-port> user=replica password=replica'  # 设置为主节点的信息
recovery_target_timeline = 'latest'

修改后重启从节点

3. 检查同步状态

-- 查看同步节点状态
select client_addr, sync_state from pg_stat_replication;

显示节点说明配置成功
在这里插入图片描述
我们在主节点修改了数据:
在这里插入图片描述
从节点数据会更新
在这里插入图片描述

注意:从节点不可修改,尝试修改会报错
在这里插入图片描述

详细原理:PostgreSql 主从数据库备份


网站公告

今日签到

点亮在社区的每一天
去签到