Postgresql

為什麼我的 Postgres 9.6 創建索引並發無效?

  • September 10, 2021

我正在嘗試在生產中同時創建索引。但是,這樣做時,通過查看時的索引會\dINVALID

為什麼會這樣?以前從未見過它發生過。

已嘗試重新創建但仍然遇到相同的問題:

指數:

create index concurrently idx_wallet_customer_id_credit_stake_expires on wallet (customer_id,wallet_credit_stake,wallet_expires)
where wallet_closed is null and wallet_staked is null;

CONCURRENTLY後台建構索引,不使用獨占鎖 最後一步是使索引“有效”,但這要等到最後一個並發事務完成後才會發生。檢查長時間執行的事務。主要嫌疑人將是那些state = 'idle in transaction'

SELECT * FROM pg_stat_activity;

看:

Postgres 12 或更高版本具有系統視圖pg_stat_progress_create_index。看:

Postgres 9.6 將於 2021 年 11 月 EOL,考慮升級到目前版本!

引用自:https://dba.stackexchange.com/questions/299404