Przeprowadzam migrację istniejącego środowiska testowego do Amazon RDS PostgreSQL. Struktura testowa ma funkcję przeładowywania danych w niektórych tabelach do wcześniejszego stanu. W tym celu wyłącza klucze obce, usuwa istniejące dane, ładuje stan zapisywania i ponownie włącza klucze obce.
Obecnie środowisko testowe wyłącza klucze obce, wyłączając wszystkie wyzwalacze (oczywiście wymaga to administratora):
alter table tablename disable trigger all;
W przypadku RDS nie działa to z:
BŁĄD: odmowa dostępu: „RI_ConstraintTrigger_a_20164” jest wyzwalaczem systemowym
Jak mogę tymczasowo wyłączyć klucze obce w Amazon RDS PostgreSQL?
Uwaga: podobne pytanie zostało już zadane ( PostgreSQL na RDS: jak zbiorczo importować dane z ograniczeniami FK? ), Ale dotyczyło to w szczególności importu offline, a rozwiązanie dotyczy także importu offline.