Wie erfolgt die Aktualisierungstabelle in database1 von Funktion in database2 in PostgreSQL?

StackOverflow https://stackoverflow.com/questions/2318851

Frage

Gibt es eine Möglichkeit, eine Tabelle in database1 aus einer Funktion in database2 zu aktualisieren (beide Datenbanken auf dem gleichen Server sind)? Grundsätzlich Quer Datenbank-Update in PostgreSQL.

Funktion durch einen Trigger ausgeführt wird, aber es sollte keine Rolle.

- = edit = - Ich weiß, ich kann es machen DBLink verwenden, aber ich mag die Quelldatenbank so wenig wie möglich verändern. Ich bin für einige andere Optionen.

War es hilfreich?

Lösung

DBLink wäre der normale Weg, dies zu tun, wenn es verfügbar ist. Abwesend, dass, wenn Sie eine prozedurale Sprache installiert (außer PL / pgsql) haben wie PL / pgperl, können Sie diese Sprache 2 Verbindung zur Datenbank verwenden können und Ihre Update-Anweisung aufrufen. Oder Sie könnten die Verfahrenssprache verwenden, um ein Shell-Skript aufrufen, dass Anrufe psql Ihr Update zu tun.

Andere Tipps

Sie könnten beide Datenbanken in der gleichen Postgresql Datenbank setzen, aber in verschiedenen Schemas.

Auf diese Weise sind sie immer noch logisch getrennt, und es gibt keinen Namenskonflikt, aber Sie können Objekte zugreifen zwischen den Schemata.

Es ist nicht klar, was Sie suchen.

Sie wissen, dass Datenbanken in PostgreSQL getrennt sind und Sie nicht zugreifen können von einander direkt (Design).

Sie wissen, dass die dblink-Erweiterung können Sie zwei Datenbanken (gleich oder verschieden Server).

Sie finden die dblink Erweiterung zu invasiv (Ausschluss small_duck Idee, die beiden Datenbanken der Verschmelzung, wie ich vermute).

Ich bin sicher nicht das, was Sie denken, existieren würde, dass einfacher als dblink, gegeben wäre, dass dblink ist die Standardeinstellung in diesem Bereich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top