1

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

4

1 回答 1

2

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

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

于 2013-08-13T17:15:32.483 回答