autovacuum_vacuum_insert_threshold
指定触发自动清理所需插入元组数量的配置参数
autovacuum_vacuum_insert_threshold
是一个 配置参数,指定触发自动清理所需插入的元组数量。
autovacuum_vacuum_insert_threshold
在 PostgreSQL 13 中添加。
默认值
autovacuum_vacuum_insert_threshold
的默认值为:1000
。
按 PostgreSQL 版本查看详细信息
autovacuum_vacuum_insert_threshold (PostgreSQL 17)
设置 | 1000 |
单位 | |
类别 | 自动清理 |
简短描述 | 在执行清理之前插入元组的最小数量,或 -1 以禁用插入清理。 |
额外描述 | |
上下文 | sighup |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | -1 |
最大值 | 2147483647 |
枚举值 | |
引导值 | 1000 |
重置值 | 1000 |
源文件 | |
源代码行 | |
待重启 | 否 |
autovacuum_vacuum_insert_threshold (PostgreSQL 16)
设置 | 1000 |
单位 | |
类别 | 自动清理 |
简短描述 | 在执行清理之前插入元组的最小数量,或 -1 以禁用插入清理。 |
额外描述 | |
上下文 | sighup |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | -1 |
最大值 | 2147483647 |
枚举值 | |
引导值 | 1000 |
重置值 | 1000 |
源文件 | |
源代码行 | |
待重启 | 否 |
autovacuum_vacuum_insert_threshold (PostgreSQL 15)
设置 | 1000 |
单位 | |
类别 | 自动清理 |
简短描述 | 在执行清理之前插入元组的最小数量,或 -1 以禁用插入清理。 |
额外描述 | |
上下文 | sighup |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | -1 |
最大值 | 2147483647 |
枚举值 | |
引导值 | 1000 |
重置值 | 1000 |
源文件 | |
源代码行 | |
待重启 | 否 |
autovacuum_vacuum_insert_threshold (PostgreSQL 14)
设置 | 1000 |
单位 | |
类别 | 自动清理 |
简短描述 | 在执行清理之前插入元组的最小数量,或 -1 以禁用插入清理。 |
额外描述 | |
上下文 | sighup |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | -1 |
最大值 | 2147483647 |
枚举值 | |
引导值 | 1000 |
重置值 | 1000 |
源文件 | |
源代码行 | |
待重启 | 否 |
autovacuum_vacuum_insert_threshold (PostgreSQL 13)
设置 | 1000 |
单位 | |
类别 | 自动清理 |
简短描述 | 在执行清理之前插入元组的最小数量,或 -1 以禁用插入清理。 |
额外描述 | |
上下文 | sighup |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | -1 |
最大值 | 2147483647 |
枚举值 | |
引导值 | 1000 |
重置值 | 1000 |
源文件 | |
源代码行 | |
待重启 | 否 |
更改历史
- PostgreSQL 13
- 添加 (提交 b07642db)
示例
autovacuum_vacuum_insert_threshold
效果演示 - 此处 autovacuum_vacuum_insert_threshold
设置为默认值 1000
postgres=# CREATE TABLE foo (id INT); CREATE TABLE postgres=# INSERT INTO foo VALUES (generate_series(1,10)); INSERT 0 10 postgres=# SELECT n_tup_ins, last_autovacuum FROM pg_stat_user_tables WHERE relname='foo'; n_tup_ins | last_autovacuum -----------+----------------- 10 | (1 row)
如果将 autovacuum_vacuum_insert_threshold
更改为 5(此处通过表上的 relopt),它将在下一个自动清理过程中被清理。
postgres=# ALTER TABLE foo SET (autovacuum_vacuum_insert_threshold = 5); ALTER TABLE postgres=# INSERT INTO foo VALUES (generate_series(1,10)); INSERT 0 10 postgres=# SELECT n_tup_ins, last_autovacuum FROM pg_stat_user_tables WHERE relname='foo'; n_tup_ins | last_autovacuum -----------+------------------------------- 20 | 2021-12-14 12:10:13.156198+01 (1 row)
参考
- PostgreSQL 文档: autovacuum_vacuum_insert_threshold
有用链接
- PostgreSQL v13 新功能:调整仅插入表的自动清理 - Laurenze Albe / CyberTec 于 2020 年 4 月发表的博文