PostgreSQL 延迟复制

2023年 8月 15日 66.3k 0

pg 主备流复制可以设置人为的复制延迟,这个功能在某些场景下有巨大的作用,比如误删数据的恢复。通过设置一个延迟复制的备库,主库上被误删的数据,可以在备库上找回来。延迟时间可以自定义设置,超过延迟时间,则无法找回误删的数据。下面通过一个案例来了解 pg 延迟复制的用法。

环境:

主库:192.168.56.200

备库:192.168.56.201

数据库版本:pg 14.3

一、初始化并启动主库:

cd ~/app/pg14/bin/

./initdb -D ~/data/pg14/

vim ~/data/pg14/postgresql.conf

listen_addresses = '*'

vim ~/data/pg14/pg_hba.conf

host replication all 192.0.0.0/8 trust

host all all 192.0.0.0/8 trust

./pg_ctl -D ~/data/pg14/ start

二、构建备库

cd ~/app/pg14/bin/

./pg_basebackup -h 192.168.56.200 -p 5432 -X stream -C -S slave_slot -R -D ~/data/pg14

chmod 700 ~/data/pg14/

./pg_ctl -D ~/data/pg14/ start

三、确认主备复制搭建完成

在主库执行:

select * from pg_stat_replication;

select * from pg_replication_slots;

四、设置延迟复制

在备库修改延迟复制参数:recovery_min_apply_delay

alter system set recovery_min_apply_delay=60000;

select pg_reload_conf();

show recovery_min_apply_delay;

五、验证延迟复制

主库插入数据,在备库不能立即查到。等待1分钟之后才可以查到。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论