yüksek çözünürlüklü postgresql logosuPin

pg_repack already has a trigger called “repack_trigger” Hatası ve Çözümü

Bu içeriğe sebep olan PostgreSQL üzerindeki hatamız aşağıdaki gibi pg_repack kullanıp bir tabloyu optimize etmek istediniz bellek taştı veya disk yetmedi geçici olarak süreç kendini öldürdüyse aşağıdaki gibi bir uyarı çıkar karşınıza. Ve işlemi devam ettirtmez.

INFO: repacking table "public.nodestore_node"
WARNING: the table "public.nodestore_node" already has a trigger called "repack_trigger"
DETAIL: The trigger was probably installed during a previous attempt to run pg_repack on the table which was interrupted and for some reason failed to clean up the temporary objects.  Please drop the trigger or drop and recreate the pg_repack extension altogether to remove all the temporary objects left over.
ShellScript

Ekli olan tetikleyicinin kaldırılması

DROP TRIGGER IF EXISTS repack_trigger ON public.nodestore_node;
ShellScript

Bu hata, pg_repack uzantısını kaldırmaya çalıştığınızda, uzantının hala bazı bağımlı nesnelere sahip olduğunu gösteriyor olacak ve hatamız şu şekilde

ERROR:  cannot drop extension pg_repack because other objects depend on it
DETAIL:  type repack.pk_21242 depends on schema repack
table repack.log_21242 depends on schema repack
ShellScript

Elle geçici tablosunun kaldırılması

DROP TABLE IF EXISTS repack.log_21242;
DROP TYPE IF EXISTS repack.pk_21242;
ShellScript

Eğer bu işe yaramazsa ki tablodaki çoğu tablo ve tip duruyor olabilir bu durumda aşağıdaki işinizi görür tümünü kaldırmanıza yardımcı olur.

DROP SCHEMA IF EXISTS repack CASCADE;
ShellScript

Ardından rahatlıkla eklentiyi kaldırabilirsiniz.

DROP EXTENSION pg_repack CASCADE;
ShellScript