Postgresql
從版本 10 升級到 11 後 Postgres 非常慢
與此相關:PostgreSQL 從 9.3 升級到 9.4 後速度極慢, 但試圖更好地理解……
從 10.7 升級到 Postgres 版本 11.5 後,我的查詢很慢我第一次
ANALYZE
在數據庫上執行,但仍然很慢!所以我可以VACUUM ANALYZE
在數據庫上,但仍然很慢……作為最後的手段,我
VACUUM FULL ANALYZE
使用帶有自動送出功能的 psycopg2 逐表執行(http://initd.org/psycopg/docs/connection.html#connection.autocommit)以便能夠在 psycopg2 中執行它一張桌子需要幾個小時才能完成……當我等待時,我不禁想知道出了什麼問題。查詢性能的下降主要來自UPSERT。
罪魁禍首是,即使
VACUUM FULL ANALYZE
在許多情況下,查詢規劃器仍然沒有使用索引。通過強制解決
SET enable_seqscan = OFF;
,經過幾次自動真空後,它重新調整。
pg_upgrade 的輸出包括:
... Upgrade Complete ---------------- Optimizer statistics are not transferred by pg_upgrade so, once you start the new server, consider running: ./analyze_new_cluster.sh ...
升級後我們發現性能很糟糕,直到我們執行它,吸取了閱讀輸出的教訓 :)