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 18)
设置 | 1000 |
单位 | |
类别 | 自动清理 |
简短描述 | 在执行清理之前,元组插入的最小数量,或 -1 表示禁用插入清理。 |
额外描述 | |
上下文 | sighup |
变量类型 | 整数 |
来源 | 默认值 |
最小值 | -1 |
最大值 | 2147483647 |
枚举值 | |
启动值 | 1000 |
重置值 | 1000 |
源文件 | |
源代码行号 | |
需要重启 | 否 |
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 新功能:调整仅插入表的自动清理 - 2020 年 4 月 Laurenze Albe / CyberTec 的博客文章