Hallo zusammen,
ich brauche wieder mal ein Tipp von euch.
Ich habe eine plpgsql-Prozedur auf einer postgresql-Datenbank installiert, die unter unix mit einem cronjob jede 5. Minute ausgeführt wird. Die Aufgabe dieser Prozedur ist, Daten von der aktuellen postgresql-DB in eine andere postgresql-DB auf einer anderen Maschine zu transportieren. Dazu benutze ich dblinks (Database Links aus dem Paket postgresql-contrib).
Nun zum Problem: Jedes Mal, wenn die Prozedur per cronjob ausgeführt wird, wird die Verbindung zur entfernten Datenbank zuerst aufgebaut, Daten transportiert und wieder abgebaut. Es ist aber offensichlich, dass dies super uneffizient ist, da jeder Prozeduraufruf die Verbindung zur entfernten Datenbank auf- und wieder abbauen muss.
Wie kann ich mir eine permanente Verbindung aufbauen. Sehr praktisch wäre es ja, nur eine Verbindung aufzubauen, und alle Daten über diese zu transportieren. Ich müsste also theoretisch zuerst die Verbindung aufbauen, danach diese in einer globalen Variable (z.B. boolean connExists) in postgresql-DB speichern und nächstes Mal, wenn die Prozedur wieder ausgeführt wird, überprüfen ob diese Variable connExists auf true gesetzt ist und somit die Verbindung existiert. Aber eine globale Variable in postgresql gibt es doch nicht?
Ich bitte euch um einen Rat.
viele Grüße
hitaf