YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
- MPP 架构
- 镜像分布策略
- 持续聚集
- 滑动窗口
- 全文搜索
- Grafana 监控指标解读
- Prometheus 监控指标解读
- 术语表
-
工具指南
- mxaddmirrors
- mxbackup
- mxbench
- mxdeletesystem
- mxgate
- mxinitstandby
- mxmoveseg
- mxpacklogs
- mxrecover
- mxrestore
- mxshift
- mxstart
- mxstate
- mxstop
- gpconfig
- pgvector
-
数据类型
-
存储引擎
-
执行引擎
-
系统配置参数
- 使用说明(必读)
- 参数目录
- 文件位置参数
- 连接与认证参数
- 客户端连接默认值参数
- 错误报告和日志参数
- 资源消耗参数
- 查询调优参数
- 运行中的统计信息参数
- 自动清理参数
- 数据表参数
- 锁管理参数
- 资源管理参数
- YMatrix 数据库集群参数
- 预写式日志参数
- 复制参数
- PL/JAVA 参数
- 版本和平台兼容性参数
-
索引
-
扩展
SQL 参考
- ABORT
- ALTER_DATABASE
- ALTER_EXTENSION
- ALTER_EXTERNAL_TABLE
- ALTER_FOREIGN_DATA_WRAPPER
- ALTER_FOREIGN_TABLE
- ALTER_FUNCTION
- ALTER_INDEX
- ALTER_RESOURCE_GROUP
- ALTER_RESOURCE_QUEUE
- ALTER_ROLE
- ALTER_RULE
- ALTER_SCHEMA
- ALTER_SEQUENCE
- ALTER_SERVER
- ALTER_TABLE
- ALTER_TABLESPACE
- ALTER_TYPE
- ALTER_USER_MAPPING
- ALTER_VIEW
- ANALYZE
- BEGIN
- CHECKPOINT
- COMMIT
- COPY
- CREATE_DATABASE
- CREATE_EXTENSION
- CREATE_EXTERNAL_TABLE
- CREATE_FOREIGN_DATA_WRAPPER
- CREATE_FOREIGN_TABLE
- CREATE_FUNCTION
- CREATE_INDEX
- CREATE_RESOURCE_GROUP
- CREATE_RESOURCE_QUEUE
- CREATE_ROLE
- CREATE_RULE
- CREATE_SCHEMA
- CREATE_SEGMENT_SET
- CREATE_SEQUENCE
- CREATE_SERVER
- CREATE_TABLE
- CREATE_TABLE_AS
- CREATE_TABLESPACE
- CREATE_TYPE
- CREATE_USER_MAPPING
- CREATE_VIEW
- DELETE
- DROP_DATABASE
- DROP_EXTENSION
- DROP_EXTERNAL_TABLE
- DROP_FOREIGN_DATA_WRAPPER
- DROP_FOREIGN_TABLE
- DROP_FUNCTION
- DROP_INDEX
- DROP_RESOURCE_GROUP
- DROP_RESOURCE_QUEUE
- DROP_ROLE
- DROP_RULE
- DROP_SCHEMA
- DROP_SEGMENT_SET
- DROP_SEQUENCE
- DROP_SERVER
- DROP_TABLE
- DROP_TABLESPACE
- DROP_TYPE
- DROP_USER_MAPPING
- DROP_VIEW
- END
- EXPLAIN
- GRANT
- INSERT
- LOAD
- LOCK
- REINDEX
- RELEASE_SAVEPOINT
- RESET
- REVOKE
- ROLLBACK_TO_SAVEPOINT
- ROLLBACK
- SAVEPOINT
- SELECT INTO
- SET ROLE
- SET TRANSACTION
- SET
- SHOW
- START TRANSACTION
- TRUNCATE
- UPDATE
- VACUUM
常见问题(FAQ)
自动清理(AUTOMATIC VACUUMING)类别参数
本文档介绍了系统配置参数中 自动清理类别的相关参数。
注意!
为确保系统稳定与安全,请务必谨慎手动修改相关参数。
autovacuum
控制服务器是否运行自动清理启动器后台进程。
- 此参数默认禁用,不过要自动清理正常工作还需要启用
track_counts
,如果track_counts
设置为off
,autovacuum
不会单独生效。 - 通过更改表存储参数可以为表禁用自动清理。
- 注意:即使该参数被禁用,系统也会在需要防止事务 ID 回卷时发起清理进程。
数据类型 | 默认值 | 设置分类 |
---|---|---|
boolean | off | master;system;reload |
autovacuum_analyze_scale_factor
指定一个表尺寸的分数,在决定是否触发 ANALYZE
时将它加到 autovacuum_analyze_threshold
上。
- 默认值为
0.1
(表尺寸的 10%)。但是对个别表可以通过修改表存储参数来覆盖该设置。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
floating point | 0.1 | 0.0 ~ 100.0 | segments;session;reload |
autovacuum_analyze_threshold
指定能在一个表上触发 ANALYZE
的被插入、被更新或被删除元组的最小数量。
- 对个别表可以通过修改表存储参数来覆盖该设置。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 50 | 0 ~ INT_MAX | segments;system;reload |
autovacuum_freeze_max_age
指定在一个 VACUUM
操作被强制执行来防止表中事务 ID 回卷之前,一个表的 pg_class.relfrozenxid
域能保持的最大年龄(事务的)。
- 注意:即便自动清理被禁用,系统也将发起自动清理进程来阻止回卷。
- 清理也允许从
pg_xact
子目录中移除旧文件,这也是为什么默认值被设置为相对较低的 2 亿事务。 - 该参数只能在服务器启动时设置,但是对于个别表可以通过修改表存储参数来降低该设置。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 200000000 | 100000 ~ 200000000 | segments;system;restart |
autovacuum_max_workers
指定能同时运行的自动清理进程(除了自动清理启动器之外)的最大数量。
- 该参数只能在服务器启动时设置。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 3 | 1 ~ 262143 | segments;system;restart |
autovacuum_multixact_freeze_max_age
指定在一个 VACUUM 操作被强制执行来防止表中多事务 ID 回卷之前,一个表的 pg_class.relminmxid
域能保持的最大年龄(多事务的)。
- 注意:即便自动清理被禁用,系统也将发起自动清理进程来阻止回卷。
- 清理多事务也允许从
pg_multixact/members
和pg_multixact/offsets
子目录中移除旧文件,这也是为什么默认值被设置为相对较低的 4 亿事务。 - 该参数只能在服务器启动时设置,但是对于个别表可以通过修改表存储参数来降低该设置。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 400000000 | 10000 ~ 2000000000 | segments;system;restart |
autovacuum_naptime
当 autovacuum
参数开启,此参数可指定自动清理在任意给定数据库上运行的最小延迟时间(秒)。
- 在每一轮清理中,后台进程都会检查数据库,并根据系统目录与辅助表的需要为数据库中的表发出
VACUUM
和ANALYZE
命令。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 60 | 1 ~ (INT_MAX/1000) | master;system;restart |
autovacuum_vacuum_cost_delay
指定用于自动 VACUUM
操作中的代价延迟值(毫秒)。
- 如果指定
-1
,则使用vacuum_cost_delay
值 。 - 如果指定值时没有单位,则以毫秒为单位。默认值为
2毫秒
。 - 对个别表可以通过修改表存储参数来覆盖该设置。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
floating point | 2 | -1 ~ 100 | segments;system;reload |
autovacuum_vacuum_cost_limit
指定用于自动 VACUUM
操作中的代价限制值。
- 如果指定
-1
(默认值),则使用vacuum_cost_limit
值。 - 注意:该值被按比例地分配到运行中的自动清理工作者上(如果有多个),因此每一个工作者的限制值之和不会超过这个变量中的值。
- 对个别表可以通过修改表存储参数来覆盖该设置。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | -1 | -1 ~ 10000 | segments;system;reload |
autovacuum_vacuum_scale_factor
指定一个表尺寸的分数,在决定是否触发 VACUUM
时将它加到 autovacuum_vacuum_threshold
上。
- 默认值为
0.2
(表尺寸的 20%)。 - 对个别表可以通过修改表存储参数来覆盖该设置。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
floating point | 0.2 | 0.0 ~ 1.0 | segments;system;reload |
autovacuum_vacuum_threshold
指定能在一个表上触发 VACUUM
的被更新或被删除元组的最小数量。
- 对个别表可以通过修改表存储参数来覆盖该设置。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | 50 | 1 ~ INT_MAX | segments;system;reload |
log_autovacuum_min_duration
如果自动清理操作至少运行该参数值所指定的时间,那么自动清理执行的每一个动作都会被日志记录。
- 将该参数设置为
0
会记录所有的自动清理动作。 -1
(默认值)将禁用对自动清理动作的记录。- 例如,如果你将它设置为
250ms
,则所有运行250ms
或更长时间的自动清理和分析将被记录。 - 此外,当该参数被设置为除
-1
外的任何值时,如果一个自动清理动作由于一个锁冲突或者被并发删除的关系而被跳过,将会为此记录一个消息。 - 开启这个参数对于追踪自动清理活动非常有用。
- 可以通过更改表的存储参数为个别表覆盖这个设置。
数据类型 | 默认值 | 取值范围 | 设置分类 |
---|---|---|---|
int | -1 | -1 ~ INT_MAX | segments;system;reload |
track_counts
控制收集数据库活动的统计数据。
数据类型 | 默认值 | 设置分类 |
---|---|---|
boolean | true | master;session;reload;superuser |