PostgreSQL HV014: fdw_too_many_handles 报错 故障修复 远程处理

文档解释

HV014: fdw_too_many_handles

错误说明

FDW_TOO_MANY_HANDLES错误是PostgreSQL对象管理系统(OMS)中的一种常见错误,该错误指示与外部数据源(如外部数据库)的连接数超出预设的上限。换句话说,它已使用的句柄数量超过允许的最大数目。FDW_TOO_MANY_HANDLES错误经常伴随着PG_CATALOG.pg_stat_activity视图,此视图显示正在处理事务的所有服务器活动。

常见案例

FDW_TOO_MANY_HANDLES错误通常伴随着超出承载限制的活动查询(如表受限活动查询),这可能是由内存不足或服务器优化的工作负荷导致的,从而拖慢查询速度。服务器可能使用最少句柄数更新记录,然而,如果它们超过了服务器上的连接数,保持句柄的速度将降低,进而可能导致该错误。

解决方法

解决FDW_TOO_MANY_HANDLES错误的一种方法是在PostgreSQL配置文件中设置最大连接数。这可以通过“max_connections”选项来实现。最大连接可以在postgresql.conf文件中定义,此文件可在PostgreSQL库文件位置中找到。

另一种常见的方法是通过调整后端数据库的连接池来限制已连接的句柄数。一般来说,当服务器上的活动用户数远大于实际服务器的配置数量时,这是值得考虑的建议。特别是当客户端在连接服务器时,这种建议可以减少FDW_TOO_MANY_HANDLES。

此外,可以尝试关闭当前会话到后端数据源,如MySQL。然后,可以关闭端口,以防止外部数据库继续接收连接。在停止数据库之后,请使用CA兼容外部数据库(如MySQL)的工具来优化或监视遥测数据,以便改善外部系统的性能。

另一种解决FDW_TOO_MANY_HANDLES错误的方法是将关系型数据库(RDBMS)用作存储库。MongoDB和其他NoSQL数据库可以帮助减少连接数。除了这些解决方案,还可以检查代码,确保每次查询只有一个活动连接,并且所有查询都具有良好的索引。合理的索引可以改善查询性能,从而减少打开的句柄数,进而缩小内存要求。


数据运维技术 » PostgreSQL HV014: fdw_too_many_handles 报错 故障修复 远程处理