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