gpt4 book ai didi

postgresql "keepalives"参数

转载 作者:行者123 更新时间:2023-11-29 12:54:23 32 4
gpt4 key购买 nike

根据 PostgresSQL docs有参数 keepalives 和进一步的参数 keepalives_idle, keepalives_intervalkeepalives_count 只有当 keepalives= 1

但我不清楚如果参数 keepalives 设置为零是什么意思?

如果 keepalives 参数设置为零 (keepalives=0),究竟会发生什么?

这是否意味着 PostgreSQL session 永远不会终止?如果客户端应用程序关闭会怎样?如果网络连接断开会怎样?这是否意味着 PostgreSQL 服务器永远不会终止空闲 session ?

最佳答案

keepalives 是客户端设置。

如果将其设置为 0,则客户端计算机上的 TCP 套接字会将 SO_KEEPALIVE 套接字选项设置为 0(默认设置(在 Linux 上)为 1,这意味着启用了 keepalive) .

然后它不会在空闲连接上向数据库服务器发送 keepalive 消息来检查另一端是否还活着。

效果是客户端不会检测数据库服务器是否意外终止,即不关闭TCP连接。

通常没有必要在客户端启用 keepalive:当客户端下次尝试与它通信时,客户端会注意到服务器何时挂掉。

keepalive 消息的另一个用途是防止防火墙或代理关闭空闲连接。但是,由于 PostgreSQL 服务器无论如何都会在服务器端启用保活,因此应该注意这一点。

关于postgresql "keepalives"参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46879146/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com