postgres_connect_timeout

`postgres_connect_timeout` 指令设置在与 PostgreSQL 数据库建立连接时,超时前的最长等待时间。

语法postgres_connect_timeout time;
默认值none
上下文http, server, location
参数1

说明

postgres_connect_timeout 指令用于 NGINX 的 PostgreSQL 模块,定义与 PostgreSQL 数据库服务器建立连接的超时时间。该值以毫秒为单位指定,允许管理员在连接尝试期间避免无限等待,从而防止 Web 应用出现无响应的情况。如果在指定的超时时间内未能建立连接,NGINX 将记录错误并向客户端返回失败响应,同时释放在连接尝试期间可能被占用的资源。

该指令可以在多种上下文中设置,包括 httpserverlocation。通过灵活地指定位置,可以对不同后端数据库服务器的外发连接超时进行细粒度控制。对于 NGINX 的用户,尤其是在高负载环境或出现间歇性网络问题的环境中,调整此值可以显著提升性能并提高数据库交互的可靠性。如果未设置该值,连接将无限期等待,这在某些情况下可能导致延迟和不佳的用户体验。

配置示例

location /api/data {
    postgres_pass my_postgres;
    postgres_connect_timeout 5000;
    postgres_query SELECT * FROM my_table;
}

将超时时间设置得过短可能会导致频繁的连接错误,尤其是在网络较慢时。

超时值以毫秒为单位;请确保相应地指定该值以避免混淆。

← 返回所有指令