synchronize_seqscans

控制是否同步顺序表扫描的 GUC 参数

synchronize_seqscans 是一个 配置参数,用于控制是否同步大型表的顺序扫描,以优化 I/O 使用。

synchronize_seqscans 是在 PostgreSQL 8.3 中添加的。

默认

synchronize_seqscans 的默认值为:on

用法

synchronize_seqscans 设置为 off 将恢复 PostgreSQL 8.2 及更早版本的行为。

按 PostgreSQL 版本详细信息

synchronize_seqscans (PostgreSQL 19)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 18)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 17)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 16)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 15)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 14)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 13)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 12)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 11)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 10)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 9.6)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 9.5)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 9.4)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 9.3)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 9.2)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 9.1)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 9.0)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 8.4)

设置 开启
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  

文档synchronize_seqscans

synchronize_seqscans (PostgreSQL 8.3)

设置  
单位  
类别 版本和平台兼容性 / 之前的 PostgreSQL 版本
简短描述 启用同步顺序扫描。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  

文档synchronize_seqscans

变更历史

示例

这个简单的示例展示了 synchronize_seqscans 设置为 on(默认值)和 off 时的计划器行为差异。

postgres=# EXPLAIN ANALYZE SELECT * FROM foo WHERE id > 10000 limit 5;
                                                  QUERY PLAN                                                  
--------------------------------------------------------------------------------------------------------------
 Limit  (cost=0.00..0.25 rows=5 width=4) (actual time=0.136..0.137 rows=5 loops=1)
   ->  Seq Scan on foo  (cost=0.00..185288.50 rows=3761080 width=4) (actual time=0.135..0.136 rows=5 loops=1)
         Filter: (id > 10000)
         Rows Removed by Filter: 2768
 Planning Time: 0.033 ms
 Execution Time: 0.145 ms
(6 rows)

postgres=# SET synchronize_seqscans TO off;
SET

postgres=# EXPLAIN ANALYZE SELECT * FROM foo WHERE id > 10000 limit 5;
                                                  QUERY PLAN                                                  
--------------------------------------------------------------------------------------------------------------
 Limit  (cost=0.00..0.25 rows=5 width=4) (actual time=0.470..0.471 rows=5 loops=1)
   ->  Seq Scan on foo  (cost=0.00..185288.50 rows=3761080 width=4) (actual time=0.469..0.469 rows=5 loops=1)
         Filter: (id > 10000)
         Rows Removed by Filter: 10000
 Planning Time: 0.035 ms
 Execution Time: 0.484 ms
(6 rows)

分类

向后兼容性, GUC 配置项

另请参阅

enable_seqscan

反馈

请在此处提交有关“synchronize_seqscans”的任何评论、建议或更正 此处