PGSQL 设置autovacuum

VACUUM和ANALYZE是PostgreSQL 数据库维护最重要的两个操作。
vacuum用于恢复表中“死元组”占用的空间。删除或更新(删除后插入)记录时,将产生死元组。PostgreSQL不会从表中物理删除旧行,而是在其上放置一个“标记”,以便查询不会返回该行。当vacuum进程运行时,这些死元组占用的空间被标记为可由其他元组重用。
“analyze”顾名思义——它分析数据库表的内容,并收集有关每个表的每一列值分布的统计信息。PostgreSQL 查询引擎使用这些统计信息来查找最佳执行计划。在数据库中插入、删除和更新行时,列统计信息也会更改。analyze——由DBA手动运行,或在auto vacuum后由PostgreSQL自动运行——确保统计数据是最新的。
虽然听起来相对简单,但幕后的vacuum和analyze是两个复杂的过程。幸运的是,DBA不必担心他们的内部结构。但是,他们经常对手动运行这些进程或为配置参数设置最佳值感到困惑。

1 查看autovacuum是否开启

2 查询vacuum/analyze开关

select name,setting,short_desc  from pg_settings where name='track_counts'
union all
select name,setting,short_desc from pg_settings where name ='autovacuum';

 3 查看/修改autovacuum参数

[root@localhost pgdata]# vi postgresql.conf 

4 vacuum/analyze触发条件

--autovacuum触发条件
--autovacuum会做两件事件:一是vacuum,二是analyze。触发条件如下:
--vacuum:autovacuum_vacuum_cost_limit*autovacuum_vacuum_scale_factor + autovacuum_vacuum_threshold
--analyze:autovacuum_analyze_scale_factor* num of tuples per table + autovacuum_analyze_threshold
--例如:test表上有1000条记录,当对这个表进行dml操作达到以下阀值是就会进行autovacuum候选列表,等待执行autovacuum操作。
--vacuum=10000*0.1+50=1050个tuple
--analyze=10000*0.05+50=550个tuple

相关推荐

  1. pgsql已有表设置主键自增

    2023-12-09 14:10:02       17 阅读
  2. PgSQL高级

    2023-12-09 14:10:02       36 阅读
  3. Pgsql常用命令

    2023-12-09 14:10:02       31 阅读
  4. pgsql存储过程

    2023-12-09 14:10:02       32 阅读
  5. pgsql问题记录

    2023-12-09 14:10:02       54 阅读
  6. mysql2pgsql

    2023-12-09 14:10:02       36 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-09 14:10:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-09 14:10:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-09 14:10:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-09 14:10:02       18 阅读

热门阅读

  1. 2024年生成式人工智能发展预测

    2023-12-09 14:10:02       36 阅读
  2. ubuntu18.04安装pcl1.11.1

    2023-12-09 14:10:02       39 阅读
  3. 【C/PTA】结构体专项练习

    2023-12-09 14:10:02       24 阅读
  4. 解决Base64字符串出现不合法字符的情况

    2023-12-09 14:10:02       41 阅读
  5. SpringBoot集成WebSocket

    2023-12-09 14:10:02       45 阅读
  6. 【深入剖析K8s】第四章 K8S集群搭建与配置

    2023-12-09 14:10:02       40 阅读
  7. ubuntu18.04安装opencv-4.5.5+opencv_contrib-4.5.5

    2023-12-09 14:10:02       41 阅读
  8. Stream 流

    2023-12-09 14:10:02       40 阅读
  9. 系统优化(安全,限流,数据存储)

    2023-12-09 14:10:02       36 阅读
  10. Linux---计划任务

    2023-12-09 14:10:02       29 阅读