我對 Heroku Postgres 的計劃是 8GB RAM。
我嘗試使用“order by”運行查詢并出現記憶體錯誤!
我嘗試將 work_mem 設定為 2GB,然后設定為 4GB 并得到相同的錯誤。
ALTER DATABASE xxxx SET work_mem = '4096MB';
直到最近,所有問題都很好用,突然間一切都卡住了。
將計劃升級到 15RAM 并將 work_mem 設定為 8GB 后,我得到了同樣的錯誤。Heroku 支持建議將“temp_tablespaces”設定為“pg_default”,但我再次遇到相同的錯誤
ALTER DATABASE xxxx SET work_mem = '8192MB';
ALTER DATABASE xxxx SET temp_tablespaces = 'pg_default';

我不明白服務器發生了什么,Heroku 支持并沒有真正的幫助。有什么問題?
uj5u.com熱心網友回復:
work_mem可以由單個查詢分配多次,并且可以有多個并發查詢。此外,shared_buffers必須考慮分配給的記憶體。
對 使用小得多的設定work_mem。
uj5u.com熱心網友回復:
你走錯了方向。你給它您可以使用更多記憶體的權限,但是當它試圖使用它時,系統使用bonks它的頭部,因為記憶體是不存在的。您需要告訴您的會話使用更少的記憶體,而不是更多。然后它將切換到磁盤排序,而不是嘗試在 RAM 中完成所有操作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/361262.html
標籤:数据库 PostgreSQL的 英雄联盟
