AG广东会,山东十一选五,大发

?
  • AG广东会400电话
  • 微网小程序
  • AI电话山东十一选五
  • 电商代运营
  • AG广东会,山东十一选五,大发:全 部 栏 目

    AG广东会400电话 网络优化推广 AI电话山东十一选五 呼叫中心 网站建设 商标?知产 微网小程序 电商运营 彩铃?短信 增值拓展业务
    PostgreSQL 自动Vacuum配置方式

    PostgreSQL的Vacuum由于以下原因需要定期执行。

    释放,再利用因更新或者删除更新而占用的磁盘空间。

    更新PostgreSQL 查询计划用的统计数据。

    避免事务ID的重置而引起非常老的数据丢失。

    VACUUM 的标准SQL文的执行和其他的对数据库的实际操作可以并行处理。

    SELECT 、INSERT 、UPDATE 、DELETE 等命令和同通常一样继续能够执行。

    但是,VACUUM处理中的时候, ALTER TABLE ADD COLUMN等等的命令不能够对表进行重新定义。

    还有,由于执行VACUUM 的时候,有大量的I/O操作,其他的操作可能性能比较低,比如查询的反应非常慢。为了较少对性能的影响,可以通过参数来调整。

    AG广东会,山东十一选五,大发:autovacuum (boolean ):

    数据库服务器是否设置为自动vacuum。默认为 自动vacuum。 但是如果要让vacuum能够正常运转,必须使 track_counts 有效。 track_counts这个参数在 postgresql.conf配置文件内,或者通过命令来设置。

    即使设置不是自动vacuum。系统发现有防止事务ID的重置的必要的时候也会自动启动

    AG广东会,山东十一选五,大发:log_autovacuum_min_duration (integer ):

    设置执行时间超过多长 的vacuum才输出log。时间单位毫秒。

    如果这个参数设置为0的话,所有vacuum相关 的log都输出。

    如果这个参数设置为-1的话,这个也是默认设置。log的输出无效,也就是所有vacuum相关 的log都不输出。

    这个参数的设置可以修改postgresql.conf配置文件,也可以通过命令来设置。

    AG广东会,山东十一选五,大发:autovacuum_max_workers (integer ):

    设置能够同时执行的vacuum最大进程数。 默认是3个。

    这个参数的设置可以修改postgresql.conf配置文件,也可以通过命令来设置。

    AG广东会,山东十一选五,大发:autovacuum_naptime (integer ):

    设置数据库执行vacuum的最小延迟。时间单位是分。默认是1分钟。这个参数的设置可以修改postgresql.conf配置文件,也可以通过命令来设置。

    AG广东会,山东十一选五,大发:autovacuum_vacuum_threshold (integer ):

    设置任何一张表内触发VACUUM 的 更新,删除tuple的最小数。默认为50。

    这个参数的设置可以修改postgresql.conf配置文件,也可以通过命令来设置。这个设定通过 pg_autovacuum的项目可以覆盖每张表。

    AG广东会,山东十一选五,大发:autovacuum_analyze_threshold (integer ):

    设置任何一张表内触发ANALYZE 的更新,删除tuple的最小数。默认为50。

    这个参数的设置可以修改postgresql.conf配置文件,也可以通过命令来设置。这个设定通过 pg_autovacuum的项目可以覆盖每张表。

    AG广东会,山东十一选五,大发:autovacuum_vacuum_scale_factor (floating point ):

    是否触发VACUUM的判断的时候 、设置 autovacuum_vacuum_threshold 追加的表容量断片。默认是0.2(即20%)。

    这个参数的设置可以修改postgresql.conf配置文件,也可以通过命令来设置。这个设定通过 pg_autovacuum的项目可以覆盖每张表。

    AG广东会,山东十一选五,大发:autovacuum_analyze_scale_factor (floating point ):

    是否触发 ANALYZE 的判断的时候 、设置 autovacuum_vacuum_threshold 追加的表容量断片。默认是0.1(即10%)。

    这个参数的设置可以修改postgresql.conf配置文件,也可以通过命令来设置。这个设定通过 pg_autovacuum的项目可以覆盖每张表。

    AG广东会,山东十一选五,大发:autovacuum_freeze_max_age (integer ):

    为了防止事务ID的重置,VACUUM强制操作前,设置表的 pg_class .relfrozenxid字段的最大值。默认是2亿。

    这个参数只能够在启动的时候设置。

    AG广东会,山东十一选五,大发:autovacuum_vacuum_cost_delay (integer ):

    设置自动vacuum操作中cost延迟。默认是20毫秒。设置的为-1的话,使用vacuum_cost_delay的值。

    这个参数的设置可以修改postgresql.conf配置文件,也可以通过命令来设置。这个设定通过 pg_autovacuum的项目可以覆盖每张表。

    AG广东会,山东十一选五,大发:autovacuum_vacuum_cost_limit (integer ):

    设置自动vacuum操作中cost的最大界限值。默认是-1,这时候用vacuum_cost_limit的值。 这个参数的设置可以修改postgresql.conf配置文件,也可以通过命令来设置。这个设定通过 pg_autovacuum的项目可以覆盖每张表。

    补充:PostgreSQL数据库管理:定期vacuum

    为什么PostgreSQL数据库管理工作中,定期vacuum是一个重要的工作.

    AG广东会,山东十一选五,大发:原因在于以下3点:

    释放,再利用 更新/删除的行所占据的磁盘空间.

    更新PostgreSQL查询计划中使用的统计数据.

    防止因事务ID的重置而使非常老的数据丢失.

    第一点的原因是

    PostgreSQL数据的插入,更新,删除操作并不是真正放到数据库空间.如果不定期释放空间的话,由于数据太多,查询速度会巨降.

    第二点的原因是

    PostgreSQL在做查询处理的时候,为了是查询速度提高,会根据统计数据来确定执行计划.如果不及时更新的话,查询的效果可能不如预期.

    第三点的原因是

    PostgreSQL中每一个事务都会产生一个事务ID,但这个数字是有上限的. 当事务ID达到最大值后,会重新从最小值开始循环.这样如果不及时把以前的数据释放掉的话,原来的老数据会因为事务ID的丢失而丢失掉.

    话说回来vacuum操作可以手动和自动.如果有专门的数据库维护人员的话,可以适时进行.但很多系统为了节省维护成本,这样就需要依赖自动vacuum了.

    虽说定期vacuum是PostgreSQL的一个弱点,不过在8.3版本以后,把这个任务交给自动vacuum就可以了.

    要使自动vacuum有效,必须设置track_counts参数为true.具体的设置可以参照官方的文档.

    定期vacuum还是自己写一个shell来自动执行比较好.

    在shell中执行vacuumdb命令. 例: ./vacuumdb -d databaseName --analyze

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

    您可能感兴趣的文章:
    • PostgreSQL 如何查找需要收集的vacuum 表信息
    • PostgreSQL备份工具 pgBackRest使用详解
    • postgresql数据合并,多条数据合并成1条的操作
    • postgresql数据添加两个字段联合唯一的操作
    • PostgreSQL中的VACUUM命令用法说明
    上一篇:浅谈pg_hint_plan定制执行计划
    下一篇:postgresql 查询字符串中是否包含某字符的操作
  • 相关文章
  • ?

    ? 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PostgreSQL 自动Vacuum配置方式 PostgreSQL,自动,Vacuum,配置,

    AG广东会官网入口(中国)官方网站-IOS/Android通用版(2026已更新)