Postgres - dblink_connect 如何设置超时
Postgres - dblink_connect how to set timeout
我在 postgres 函数中使用 dblink_connect
,如下所示:
select dblink_connect('gw', 'dbname=databasename port=5432 host=RemoteIP user=username password=pass');
当远程服务器宕机时,这个dblink_connect
需要很长时间才能return
"ERROR: could not establish connection".
我需要尽快为这个 dblink_connect
到 return 错误设置超时。
我试过这样的事情:
begin;
SET session statement_timeout to 5000;
select dblink_connect('gw', 'dbname=databasename port=5432 host=RemoteIP user=username password=pass');
commit;
但没有成功。
知道我可以设置超时吗?
您需要在连接字符串中指定connect_timeout:
dblink_connect('gw', 'connect_timeout=2 dbname=databasename port=5432 host=RemoteIP user=username password=pass')
虽然是阻塞等待连接,但处于无法中断的状态,这就是为什么statement_timeout不起作用的原因。
我在 postgres 函数中使用 dblink_connect
,如下所示:
select dblink_connect('gw', 'dbname=databasename port=5432 host=RemoteIP user=username password=pass');
当远程服务器宕机时,这个dblink_connect
需要很长时间才能return
"ERROR: could not establish connection".
我需要尽快为这个 dblink_connect
到 return 错误设置超时。
我试过这样的事情:
begin;
SET session statement_timeout to 5000;
select dblink_connect('gw', 'dbname=databasename port=5432 host=RemoteIP user=username password=pass');
commit;
但没有成功。
知道我可以设置超时吗?
您需要在连接字符串中指定connect_timeout:
dblink_connect('gw', 'connect_timeout=2 dbname=databasename port=5432 host=RemoteIP user=username password=pass')
虽然是阻塞等待连接,但处于无法中断的状态,这就是为什么statement_timeout不起作用的原因。