在Perl中用DBI连接方法设置keepalive的任何方法

时间:2013-08-13 00:46:55

标签: perl dbi amazon-redshift

我正在使用DBI和DBD :: Pg连接到Postgres数据库(实际上是AWS中的RedShift)。我遇到的一个问题是我找不到指定keepalive选项的方法。我可以在JDBS上找到一些指导。本质上我想实现保持我的客户端和RedShift之间的连接,直到任何一方明确断开连接(现在它被防火墙断开,因为当某些操作需要一段时间时没有活动)。

1 个答案:

答案 0 :(得分:2)

DBI将这一点留给了各个DBD模块,其中许多模块都没有解决这个问题。特别是对于DBD::Pg,我发现您可以将options参数传递给connect,但我找不到任何看似相关的文档选项。

DBI确实为每个数据库处理一个ping方法,如果连接有效则返回0,否则返回非0。您可以使用它来检查连接是否仍然有效,然后根据需要重新连接。