postgresql16配置主从

参考:

Centos7.6部署postgresql15主从_centos postgresql_sqlboy-yuzhenc的博客-CSDN博客

主服务器

复制代码
vim /home/opt/postgresql-16.0/data/postgresql.conf
#设置以下
listen_addresses = '*' # 允许远程连接
hot_standby = on # 打开热备
wal_level = replica     # 设置 WAL 日志级别为 replica
max_wal_senders = 3     # 允许的 WAL 发送者数量,根据需要进行调整
archive_mode = on
archive_command = 'cp "%p" /home/opt/postgresql-16.0/data/archive/%f'

mkdir /home/opt/postgresql-16.0/data/archive
chown postgres:postgres -R /home/opt/postgresql-16.0/data/archive
su - postgres
pg_ctl -D /home/opt/postgresql-16.0/data restart

#创建slave用户
psql
create role replicator with login replication encrypted password '密码';

vim /home/opt/postgresql-16.0/data/pg_hba.conf
#添加以下
host replication replicator ip地址/32 md5

从服务器

首先,你需要创建一个新的PostgreSQL实例。然后,停止这个实例,并且同步用的数据目录需要是空的

复制代码
#使用pg_basebackup命令从主服务器复制数据
pg_basebackup -Fp --progress -D /home/opt/postgresql-16.0/data/ -R -h 主库ip地址 -p 主库端口 -U replicator --password
chown postgres:postgres -R /home/opt/postgresql-16.0/data/

#创建slave配置文件
vim /home/opt/postgresql-16.0/data/standby.signal
#添加以下
standby_mode = on #on为从库
primary_conninfo = 'host=主库ip地址 port=主库端口 user=replicator password=密码' #主库信息
recovery_target_timeline = 'latest' #流复制同步最新数据

su - postgres
pg_ctl -D /home/opt/postgresql-16.0/data start

验证主从关系

复制代码
#主库上验证
psql
select * from pg_stat_replication;

#从库上验证
pg_controldata -D /home/opt/postgresql-16.0/data/ | grep 'Database cluster state'
#正常显示
Database cluster state:               in archive recovery

其他命令

复制代码
#备份数据
pg_dump -U postgres -F c -b -f 备份文件路径 备份的数据库名称

#恢复数据
pg_restore -U postgres -d 备份的数据库名称 备份文件路径
相关推荐
倒流时光三十年6 小时前
PostgreSQL CASE 条件表达式详解
数据库·postgresql
倒流时光三十年7 小时前
PostgreSQL COALESCE 条件表达式函数详解
数据库·postgresql
雁無痕9 小时前
Postgresql启动无监听端口问题的解决
postgresql
倒流时光三十年11 小时前
PostgreSQL NULLIF 条件表达式函数详解
数据库·sql·postgresql
倒流时光三十年14 小时前
PostgreSQL VALUES 列表详解
数据库·postgresql
倒流时光三十年14 小时前
PostgreSQL GREATEST 条件表达式函数详解
服务器·数据库·postgresql
agilearchitect2 天前
asyncpg:专为 asyncio 打造的 PostgreSQL 驱动
数据库·其他·postgresql
IvorySQL2 天前
PostgreSQL 技术日报 (6月10日)|多工具版本更新,PG19 图语法落地
数据库·postgresql
IvorySQL2 天前
PostgreSQL 全球对话:开源链接世界,共建共治共享
数据库·postgresql·开源
IvorySQL2 天前
PostgreSQL 技术日报 (6月11日)|规划器扩展优化,POSETTE 大会倒计时
数据库·postgresql