在Perl的DBI连接方法中设置keepalive的任何方法
Posted
技术标签:
【中文标题】在Perl的DBI连接方法中设置keepalive的任何方法【英文标题】:Any way to set keepalive in DBI connect method in Perl 【发布时间】:2013-08-13 00:46:55 【问题描述】:我正在使用 DBI 和 DBD::Pg 连接到 Postgres 数据库(实际上是 AWS 中的 RedShift)。我遇到的一个问题是我找不到指定keepalive 选项的方法。不过,我可以在 JDBS 上找到一些说明。本质上,我想实现保持我的客户端和 RedShift 之间的连接,直到任何一方明确断开连接(现在它被防火墙断开,因为当某些操作需要一段时间时没有活动)。
【问题讨论】:
【参考方案1】:DBI
将其留给各个 DBD 模块,其中许多模块并未解决此问题。特别是对于DBD::Pg
,我看到您可以将options
参数传递给connect
,但我找不到任何似乎相关的文档选项。
DBI
确实为每个数据库句柄提供了一个ping
方法,如果连接有效则返回 0,否则返回非 0。您可以使用它来检查连接是否仍然有效,然后在需要时重新连接。
【讨论】:
以上是关于在Perl的DBI连接方法中设置keepalive的任何方法的主要内容,如果未能解决你的问题,请参考以下文章