2017-03-20 1 views
0

Ich benutze Postgresql 9.4 zwei-Datenbank zu synchronisieren, Ich verwende die Erweiterung postgres_fdw alles außer große Arbeit, ich habe eine Tabelle, wo ich Fremdschlüsselprüfung deaktivieren müssen, ich benutze diese Aussage:ALTE Fremdtabelle und DISABLE TRIGGER funktioniert nicht

ALTER TABLE foo DISABLE TRIGGER ALL; 

Es ist große Arbeit auf meiner lokalen Datenbank, sondern auf meiner Remote-Datenbank der folgenden Aussage nichts zu tun:

ALTER FOREIGN TABLE foo1 DISABLE TRIGGER ALL; 

In der Dokumentation ist die Funktion jedoch vorhanden, jemand weiß, ob es sich bei dieser Version von pgsql um eine Einschränkung oder einen Fehler handelt.

+0

Wenn es nichts tut, vielleicht gibt es keine Trigger zu deaktivieren? .. bitte geben Sie die Definition für beide –

+0

Es ist eine Fremdschlüsselverletzung, in der gleichen Tabelle auf der lokalen Datenbank ist die Fremdschlüsselprüfung deaktiviert und ihre Arbeit wie erwartet –

Antwort

1

Die zweite Anweisung wird alle Trigger definiert auf dem fremden Tabelle auf der lokalen Datenbank deaktivieren.

Um Trigger in der remote Datenbank zu deaktivieren, müssen Sie sich dort anmelden und dort ALTER DATABASE ausführen.

+0

Keine Möglichkeit, dies per Fernabfrage zu tun? –

+1

'dblink_exec' ist zu helfen –

+1

Nein. Sie könnten [dblink] (https://www.postgresql.org/docs/current/static/dblink.html) verwenden, um so etwas zu tun, wenn Sie brauchen. –

Verwandte Themen