我想把我的PostgreSQL主/从流复制设置变成一个没有复制和没有HA的主从设置。
它怎么可能告诉主人,它不再有奴隶,它不应该复制它的数据给奴隶?
当然,它也不应该像奴隶暂时关闭时那样,将WALs发送给奴隶。
发布于 2020-07-31 12:09:51
根据您使用的Postgres版本,可以使用“复制插槽”完成复制。如果不再有来自复制槽的客户端流,则可以删除该插槽。以下是一些有用的查询:
获取每个复制槽的磁盘使用率(用于Postgres 9.6):
SELECT
redo_location,
slot_name,restart_lsn,
round((redo_location-restart_lsn) / 1024 / 1024 / 1024, 2) AS GB_behind
FROM
pg_control_checkpoint(),
pg_replication_slots;获取每个复制槽的磁盘使用率(用于Postgres 10+):
SELECT redo_lsn,
slot_name,
restart_lsn,
round((redo_lsn-restart_lsn) / 1024 / 1024 / 1024, 2) AS GB_behind
FROM pg_control_checkpoint(),
pg_replication_slots;删除复制槽:
select pg_drop_replication_slot('slot_name');参考文献:
发布于 2021-11-11 16:59:35
以下是我所做的:
pg_hba.conf,删除:主机复制复制器x.x/32 md5standby.signal然后,从将保留数据,但不再从主复制,从是可写的。
发布于 2022-11-10 15:04:26
非常重要的是,使用以下命令停止walsender恢复服务器内存是非常重要的:
select pg_terminate_backend(pid) from pg_stat_replication;这将释放您的服务器存储内存。
https://stackoverflow.com/questions/38421164
复制相似问题