2015-06-15 16 views
12

Silmek istediğiniz çoğaltma yuvam var, ancak sildiğimde görünümden silemediğim bir hatayla karşılaştım. Herhangi bir fikir? Kullanım pg_drop_replication_slotPostgre'lerde çoğaltma yuvası nasıl silinir? 9.4

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=# 
+0

Komutu pg_drop_replication_slot (slot_name adı) http://www.postgresql.org/docs/9.4/static/functions-admin.html#FUNCTIONS-REPLICATION komutunu buldum ancak postgres yaptığımda = # select * from pg_drop_replication_slot ('bottledwater '); Ben HATA var: çoğaltma yuvası "bottledwater" zaten aktif –

cevap

16

:

select pg_drop_replication_slot('bottledwater'); 

the docs ve this blog bakınız.

Çoğaltma yuvası etkin değil, yani etkin bağlantılar olmamalıdır. Bu yüzden, slot'u kullanarak bir akış kopyası varsa, akış çoğaltma işlemini durdurmalısınız. Veya recovery.conf'u değiştirebilir, böylece artık bir yuva kullanmaz ve yeniden başlatabilirsiniz.

+0

humm ... bloga bağlantı artık yok gibi görünüyor. – neouser99

+0

Blog yazısı artık burada bulunabilir: http://paquier.xyz/postgresql-2/postgres-9-4-feature-highlight-replication-phydical-slots/ –