小编Bar*_*rry的帖子

忙碌的桌子没有被吸尘

我们在 Windows 上使用 Postgres 9.2 来存储低频时间序列数据:我们每周 7 天、24 小时每秒插入大约 2000 行,没有停机时间。有一个DELETE每隔 10 分钟左右在桌子上运行一次,以将桌子的长度保持在固定的天数。这最终是一个相当稳定的 9 亿行。(对于那些感兴趣的人,SELECT, INSERT,DELETE都是高性能的)。

因此DELETE,虽然删除行不会释放磁盘空间。为此,我们需要VACUUM运行。

我已经查询过pg_stat_user_tables并且VACUUM似乎从未运行过。

我从各种文档中了解到的(http://www.postgresql.org/docs/9.2/static/routine-vacuuming.html):

  • 我们似乎打开了自动吸尘器,它正在其他桌子上运行。
  • auto-vacuum 不会运行FULL,并且不需要对表进行排他锁。

有没有人有任何想法为什么自动真空不运行?这纯粹是因为桌子一直很忙吗?

在这种情况下是否值得VACUUM在each之后DELETE运行(每 10 分钟运行一次)?

编辑:

使用以下 SO 链接中的 SQL 进行查询:

-[ RECORD 2 ]---+---------------------------
schemaname      | stats
relname         | statistic_values_by_sec
last_vacuum     |
last_autovacuum |
n_tup           |    932,315,264
dead_tup        |    940,727,818
av_threshold    |    186,463,103
expect_av       | …
Run Code Online (Sandbox Code Playgroud)

postgresql vacuum

11
推荐指数
1
解决办法
2255
查看次数

标签 统计

postgresql ×1

vacuum ×1