内核大版本 | 最早支持版本 |
PostgreSQL 14 | v14.19_r1.38及以上 |
PostgreSQL 15 | v15.14_r1.23及以上 |
PostgreSQL 16 | v16.10_r1.18及以上 |
PostgreSQL 17 | v17.6_r1.12及以上 |
PostgreSQL 18 | v18.1_r1.2及以上 |
SHOW tencentdb_version; 查看当前实例的内核版本。tencentdb_auto_kill_xact_max_age,修改为目标值并保存。参数修改后通过配置热加载(reload)生效,无需重启实例。参数名 | 类型 | 默认值 | 取值范围 | 说明 |
tencentdb_auto_kill_xact_max_age | integer | 2000000000 | [100000, 2000000000] | 自动 Kill 的 XID 年龄阈值。值为2000000000时表示关闭该功能。实际触发阈值取 max(此值, autovacuum_freeze_max_age)。 |
tencentdb_auto_kill_xact_max_age 与 autovacuum_freeze_max_age 设置为相同值(如200000000),让自动 Kill 与 VACUUM 冻结在同一水位线协同工作。autovacuum_freeze_max_age 更早触发 Kill,需同时调低 autovacuum_freeze_max_age——实际触发阈值不会低于该值。pg_sleep 的 INSERT)。pg_stat_activity 确认该会话已消失。autovacuum kill old transaction, sending SIGTERM to PID <PID>, xmin is <XMIN>, xid is <XID>
tencentdb_system_stat 扩展,需要完成以下两步配置:shared_preload_libraries,将 tencentdb_system_stat 添加到值中(多个值以逗号分隔),保存后重启实例生效。postgres=> SHOW shared_preload_libraries;shared_preload_libraries--------------------------------------pg_stat_statements,tencentdb_system_stat(1 row)
参数名 | 类型 | 默认值 | 取值范围 | 说明 |
tencentdb_system_stat.max_process_memory_limit | integer (MB) | 10000000 | [100, 10000000] | 单个会话允许的最大内存使用量。值为10000000(约10TB)时表示关闭该功能。 |
tencentdb_system_stat.check_process_memory_interval | integer (ms) | 5000 | [100, 2147483] | 内存检查间隔,即每间隔多少毫秒扫描一次所有会话的内存使用量。 |
max_process_memory_limit,例如 OLTP 场景可设为1 ~ 2GB(1024 ~ 2048),OLAP 场景可适度放宽。/proc 文件系统读取会话的 RSS(驻留内存)指标,超过阈值的会话将被发送 SIGTERM 信号终止(效果等价于 pg_terminate_backend)。postgres 用户身份运行的会话不会被自动 Kill。max_process_memory_limit 阈值。Kill process <PID>, memory usage <bytes> bytes exceed max_allowed_bytes <bytes>kill process <PID> success
tencentdb_auto_kill_xact_max_age 但长事务没有被 Kill?autovacuum 是否为 on。长事务自动 Kill 依赖 autovacuum worker 调度,若 autovacuum 关闭则不会触发。max(tencentdb_auto_kill_xact_max_age, autovacuum_freeze_max_age),如果您设置的值比 autovacuum_freeze_max_age 小,实际生效的仍是后者的值。建议两参数保持一致。tencentdb_system_stat.check_process_memory_interval 和 tencentdb_system_stat.max_process_memory_limit 均为 SIGHUP 级别参数,通过 pg_reload_conf() 或控制台保存后即可生效,无需重启实例。确保 shared_preload_libraries 中已包含 tencentdb_system_stat(该参数修改需重启)。tencentdb_auto_kill_xact_max_age 和 tencentdb_system_stat.* 系列参数均不支持会话级 SET 命令修改,请在腾讯云控制台参数设置页面进行操作。文档反馈