如果我永久删除主副本的唯一副本,是否需要在主副本上执行任何操作?我担心WAL文件会填满磁盘。
我想从单节点复制设置中删除唯一的副本:
P -> R
我要删除R。
答案 0 :(得分:2)
您的担忧是完全正确的。副本在存储restart_lsn
的主服务器上创建replication slot。根据文档,restart_lsn
是:
此插槽的使用者可能仍需要最旧的WAL地址(LSN),因此不会在检查点期间自动删除。
如果副本没有在此复制插槽中推进LSN,则primary将保留所有WAL段,从该位置开始,并忽略max_wal_size
限制。
如果要删除副本并启用WAL旋转,则还必须删除复制插槽:
postgres=# SELECT * FROM pg_replication_slots;
postgres=# SELECT pg_drop_replication_slot('replication_slot_name');
有一个patch on Postgres Commitfest,它引入了新的GUC来限制复制槽所容纳的WAL数量。但是,该补丁程序是长期有效的,仍未提交。