postgresql 中的真空表
Posted
技术标签:
【中文标题】postgresql 中的真空表【英文标题】:Vacuum tables in postgresql 【发布时间】:2014-11-07 07:44:00 【问题描述】:使用postgresql-9.2,此时我正在使用以下查询
查找具有dead_tuples
的表
select relname from pg_stat_user_tables where n_dead_tup > 0
这将重新调整表名,然后我将运行
VACUUM VERBOSE ANALYZE <table_name>
这是一个好方法还是我需要改变它,如果是,请给我一些方法
谢谢
【问题讨论】:
自动吸尘器怎么样?它应该默认完成这项工作 【参考方案1】:根据Documentation
VACUUM 回收死元组占用的存储空间。
但是根据this post
死行是被删除的行,这些行稍后将被重新用于来自 INSERT 或 UPDATE 的新行。一些死行(或保留的可用空间)对于 HOT(仅堆元组)更新特别有用,可以有效地重用同一数据页中的空间
【讨论】:
Some dead rows...
其他人没有。你是在告诉我们不要吸尘吗?
@MagnoC 你必须使用真空。没有大数据库的vacuum,将难以存储和管理。最好为 autovacuum 设置正确的设置,它会自行完成。以上是关于postgresql 中的真空表的主要内容,如果未能解决你的问题,请参考以下文章
Postgresql 9.2.1 在独立后端模式下完全真空后无法初始化
PostgreSQ 连接问题 FATAL: no pg_hba.conf entry for host