postgres_connect_timeout
`postgres_connect_timeout` 指令设置在与 PostgreSQL 数据库建立连接时,超时前的最长等待时间。
PostgreSQL module for NGINX
·
httpserverlocation
语法postgres_connect_timeout time;
默认值none
上下文http, server, location
参数1
说明
postgres_connect_timeout 指令用于 NGINX 的 PostgreSQL 模块,定义与 PostgreSQL 数据库服务器建立连接的超时时间。该值以毫秒为单位指定,允许管理员在连接尝试期间避免无限等待,从而防止 Web 应用出现无响应的情况。如果在指定的超时时间内未能建立连接,NGINX 将记录错误并向客户端返回失败响应,同时释放在连接尝试期间可能被占用的资源。
该指令可以在多种上下文中设置,包括 http、server 或 location。通过灵活地指定位置,可以对不同后端数据库服务器的外发连接超时进行细粒度控制。对于 NGINX 的用户,尤其是在高负载环境或出现间歇性网络问题的环境中,调整此值可以显著提升性能并提高数据库交互的可靠性。如果未设置该值,连接将无限期等待,这在某些情况下可能导致延迟和不佳的用户体验。
配置示例
location /api/data {
postgres_pass my_postgres;
postgres_connect_timeout 5000;
postgres_query SELECT * FROM my_table;
}⚠
将超时时间设置得过短可能会导致频繁的连接错误,尤其是在网络较慢时。
⚠
超时值以毫秒为单位;请确保相应地指定该值以避免混淆。