我有复制插槽,我想删除,但当我删除我有一个错误,我无法从视图中删除.有任何想法吗?
@H_403_6@
使用pg_drop_replication_slot:
postgres=# SELECT * FROM pg_replication_slots ; slot_name | plugin | slot_type | datoid | database | active | xmin | catalog_xmin | restart_lsn --------------+--------------+-----------+--------+----------+--------+------+--------------+------------- bottledwater | bottledwater | logical | 12141 | postgres | t | | 374036 | E/FE8D9010 (1 row) postgres=# delete from pg_replication_slots; ERROR: cannot delete from view "pg_replication_slots" DETAIL: Views that do not select from a single table or view are not automatically updatable. HINT: To enable deleting from the view,provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule. postgres=#
select pg_drop_replication_slot('bottledwater');
复制槽必须是非活动的,即没有活动的连接.所以如果有一个流复制使用插槽,你必须停止流复制.或者您可以更改其recovery.conf,以便不再使用插槽并重新启动它.