Permanente Postgres-Verbindug über C - Programm?

Hallo zusammen,

ich habe ein kleines Problem, ich hoffe ihr könnt mir ein Tipp geben.

Ich habe mir ein C - Programm geschrieben, das zur lokal instalierten postgres-DB eine Verbindung herstellt:

conn = PQconnectdb(„host=localhost port=5432 dbname=db1 user=usr password=pass“);

Klappt auch wunderbar. Mein Ziel ist es jetzt, über diese Verbindung in der lokalen postgres-DB eine weitere postgres-DB-Verbindung zu einer anderen entfernten postgres-Maschine aufzubauen (und zwar mit dblinks).

konkret:
res = PQexec(conn, „select dblink_connect(‚conn2‘,‚hostaddr=192.168.1.1 port=5432 dbname=db2 user=usr2 password=pass2‘);“);

D.h. als Abfrage zur lokalen DB schike ich, dass er eine weitere Verbindung zur entfernten Maschine aufbauen soll. (Die Abfrage würde auf der lokalen postgres-DB exaxt so ausgeführt und Refenz auf diese Verbindung wäre dann conn2)

Die Idee ist dabei, dass ich eine permanente Verbindung zur entfernten Maschine haben möchte. D.h. dieses C-Programm wird die ganze Zeit im Hintergrund ausgeführt (Daemon). Solange es nicht abgebrochen wird, müsste die zweite DB Verbindung conn2 eigentlich auf der lokalen postgres-DB immer verfügbar sein und ich müsste auch in jeder Zeit die Möglichkeit haben, eine Abfrage über conn2 zu schicken.

Nun, wenn ich lokal auf der postgres-Datenbank über die zweite Verbindung conn2, welche ja vom im Hintergrund laufenden C-Prigramm hergestellt sein müsste, eine insert-Anweisung schicke, findet er die conn2 Referenz nicht!

lokale Datenbank:
sql = ‚insert into test values (5)‘;
PERFORM dblink_exec(‚conn2‘,sql);

FEHLER: could not establish connection
conn2 existiert nicht…

viele Grüße
Hitaf