Frankie wrote:
dblink just uses libpq to handle the communication, so you can use the connect_timeout connection parameter. It defaults to infinite if not explicitly set. Something like this should set a 5 second timeout:The case is when I call a function (from Server 1 at psql prompt) that will call dblink to do some operation on another server(it will take certain time), i.e. Server 2, and meanwhile I just unplug the network cable to Server 2. The consequence is that the function will never return except I plug the cable into it again, moreover I cannot even cancel the query and stop the postgresql server (have to 'kill -9'.)
select * into tmp from dblink(''host=linux dbname=twins connect_timeout=5'', ''select mysleep();'') as (retval text);
See:
http://www.us.postgresql.org/users-lounge/docs/7.3/postgres/libpq-connect.html
HTH,
Joe
---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster