PostgreSQL WAL 使用 pg_receivewal 存档

了解如何使用 pg_receivewal 将 PostgreSQL 的 Write Ahead Log (WAL) 存档到单独的服务器。这可能是存档您的 WAL 文件的最有效方法之一。

本教程假设您已经在主服务器和复制版 PostgreSQL 服务器之间设置了流式复制。如果需要先设置它,请通过本教程运行。

# Assumes Replication is already setup as follows:
# Primary DB cluster called "main" on port 5432
# Replica DB cluster called "replica" on port 5433

# setup directory to receive WAL files
sudo su - postgres
mkdir /var/lib/postgresql/pg_log_archive/archiver -p
ls /var/lib/postgresql/pg_log_archive/

# create replication slot for wal receiver
psql -c "select * from pg_create_physical_replication_slot('archiver');"
psql -c "select * from pg_replication_slots;"

# start pg_receivewal command
pg_receivewal \
  -D /var/lib/postgresql/pg_log_archive/archiver \
  -S archiver \
  -Z 0 \
  -h /var/run/postgresql \
  -p 5432 \
  -U rep_user \
  -w \
  -v

# check status of slots
psql -c "select * from pg_replication_slots;"

# archive the logs
psql -c "select pg_switch_wal();" # -- pg_switch_xlog();

# check directories
ls /var/lib/postgresql/pg_log_archive/main
ls /var/lib/postgresql/pg_log_archive/archiver
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值