Postgresql Postgres-dblink\u连接如何设置超时

Postgresql Postgres-dblink\u连接如何设置超时,postgresql,settimeout,dblink,Postgresql,Settimeout,Dblink,我在postgres函数中使用dblink\u connect,如下所示: 选择dblink_connect('gw','dbname=databasename-port=5432-host=RemoteIP-user=username-password=pass'); 当远程服务器关闭时,此dblink\u connect需要很长时间才能返回 “错误:无法建立连接” 我需要为此dblink\u connect设置超时,以尽快返回错误 我试过这样的方法: 开始; 将会话语句超时设置为5000;

我在postgres函数中使用
dblink\u connect
,如下所示:

选择dblink_connect('gw','dbname=databasename-port=5432-host=RemoteIP-user=username-password=pass');
当远程服务器关闭时,此
dblink\u connect
需要很长时间才能返回

“错误:无法建立连接”

我需要为此
dblink\u connect
设置超时,以尽快返回错误

我试过这样的方法:

开始;
将会话语句超时设置为5000;
选择dblink_connect('gw','dbname=databasename-port=5432-host=RemoteIP-user=username-password=pass');
犯罪
但不起作用


您知道我可以设置超时吗?

您需要在连接字符串中指定连接超时:

 dblink_connect('gw', 'connect_timeout=2 dbname=databasename port=5432 host=RemoteIP user=username password=pass')

当它在等待连接时被阻塞,它处于无法中断的状态,这就是语句超时无法工作的原因。

我认为问题在于两个数据库之间的连接(可能它们无法相互连接)。请先检查连接,并确保dblink_connect中的信息正确。