Cześć,
chciałbym pousuwać trochę starych danych z bazy na której pracuje. Żeby to zrobić, to wołam najpierw "disable trigger" na tabeli, żeby uniknąć problemów. Wszystko dzieje się w transakcji. Mój kod:
Mój kod:
BEGIN;
ALTER TABLE addresses DISABLE TRIGGER timetravel_before;
ALTER TABLE addresses DISABLE TRIGGER timetravel_after;
delete from addresses a where a.id in (115642, 115643, 115644);
ALTER TABLE addresses enable TRIGGER timetravel_after;
ALTER TABLE addresses enable TRIGGER timetravel_before;
COMMIT;
Jak próbuje uruchomić to dostaje błąd:
psql:1.sql:5: ERROR: cannot ALTER TABLE "addresses" because it has pending trigger events
psql:1.sql:6: ERROR: current transaction is aborted, commands ignored until end of transaction block
Naczytałem się interenetów i wciąż nie wiem jak to rozwiązać.
Przygotowuje skrypt, który będzie czyścił, na razie testuje to na lokalnej bazie na swojej maszynie do której nikt nie jest podłączony, więc żadne inne zapytania nie powinny blokować tego, co próbuje zrobić.
Ma ktoś może jakiś pomysł co z tym zrobić, co sprawdzić itd.?