派克495 2022-05-19 15:14 采纳率: 91.3%
浏览 12
已结题

Postgresql

检索处理实行时间非常慢、查看postgresql.log有下面的内容,内容什么意思?怎么引起的?怎么解决?

2202-05-07 02: 05: 52.300 JST INF0: scanned index“pg_statistic relid_att” to remove 7514 row versions
2022-05-07 02: 05: 52.300 JST DETAIL: CPU 0. 00s/ 0. 00u sec elapsed 0.07 sec.
2022-05-07 02: 05: 52.303 JST INF0: “pg_statistic”: removed 7514 row versions in 1756 pages
2022-05-07 02: 05: 52.303 JST DETAIL: CPU 0. 00s/ 0. 00u sec elapsed 0.00 sec.
2022-05-07 02: 05: 52.303 JST : index “pg_statistic_ relid_att” now contains 10544 row versions in 48 pages
12022-05-07 02: 05: 52.303 JST DETAIL: 260 index row versions were removed.
  0 index pages have been deleted, 0 are currently reusable.
  CPU 0. 00s/ 0. 00u sec el apsed 0.00 sec.
2022-05-07 02: 05: 52.303 JST INF0: “pg-statistic" : found 7622 removable, 10544 nonremovable row versions in 1857 out of 1857  pages
2022-05-07 02 : 05: 52.303 JST DETAIL: 0 dead row versions cannot be removed yet.
  There were 17181 unused item pointers.
  pages are entirely empty.
 CPU 0. 00s/ 0. 02u sec elapsed 0. 18 sec.
  • 写回答

1条回答 默认 最新

  • leaf_cq 2022-05-20 16:03
    关注

    1、看内容似乎是 VACUUM 或 ANALYZE 或 REINDEX 在对 “pg_statistic relid_att”(这个索引中间居然有个空格)索引进行重建处理,将依赖表中实际已删除的行的索引部分进行清理。
    2、“PostgreSQL数据库要求周期性的清理维护。对于很多安装,让自动清理守护进程来执行清理
    已经足够。你可能需要调整其中描述的自动清理参数来获得最佳结果。某些数据库管理员会希望
    使用手动管理的VACUUM命令来对后台进程的活动进行补充或者替换,这通常使用cron或任务计
    划程序脚本来执行”

    img

    3、如果是这样,只要该索引对应的表不是经常进行大数据量的删除或添加操作,就不需要管的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 10月26日
  • 已采纳回答 10月18日
  • 创建了问题 5月19日