အညွှန်းကိန်းအကျင့်ပျက်ခြစားမှုပြင်ဆင်မှုနှင့်အတူ PostgreSQL 14.4 အပ်ဒိတ်

“CREATE INDEX CONCURRENTLY” နှင့် “REINDEX CONCURRENTLY” ညွှန်ကြားချက်များကို လုပ်ဆောင်သောအခါ အချို့သောအခြေအနေများတွင် မမြင်နိုင်သောဒေတာပျက်စီးမှုများဖြစ်ပေါ်စေသည့် PostgreSQL DBMS 14.4 ၏ မှန်ကန်သောထုတ်လွှတ်မှုကို ဖန်တီးထားပါသည်။ သတ်မှတ်ထားသော အမိန့်များကို အသုံးပြု၍ ဖန်တီးထားသော အညွှန်းများတွင်၊ ပြဿနာရှိသော အညွှန်းကိန်းများပါ၀င်သော SELECT queries ကို လုပ်ဆောင်သည့်အခါ အချို့သောမှတ်တမ်းများကို ထည့်သွင်းစဉ်းစားမည်မဟုတ်ပါ။

B-tree အညွှန်းများ ပျက်စီးသွားခြင်း ရှိ၊ မရှိ ဆုံးဖြတ်ရန်၊ သင်သည် “pg_amcheck –heapallindexed db_name” အမိန့်ကို အသုံးပြုနိုင်သည်။ အမှားအယွင်းများကို ရှာဖွေတွေ့ရှိပါက သို့မဟုတ် "CREATE INDEX CONCURRENTLY" နှင့် "REINDEX CONCURRENTLY" တို့ကို အခြားအညွှန်းအမျိုးအစားများ (GiST၊ GIN စသည်ဖြင့်) ဗားရှင်း 14.4 သို့ အပ်ဒိတ်လုပ်ပြီးနောက် ဗားရှင်း XNUMX သို့ အပ်ဒိတ်လုပ်ပြီးနောက်၊ ပြန်လည်အညွှန်းပြုလုပ်ခြင်းကို လုပ်ဆောင်ရန် အကြံပြုအပ်ပါသည်။ "reindexdb —all" utility သို့မဟုတ် "REINDEX တစ်ချိန်တည်း index_name."

အဆိုပါပြဿနာသည် VACUUM လုပ်ဆောင်ချက်ကိုလုပ်ဆောင်ရာတွင် "CREATE INDEX CONCURRENTLY" နှင့် "REINDEX CONCURRENTLY" တို့ကို လုပ်ဆောင်ရာတွင် အချို့သောငွေပေးငွေယူများကို ဖယ်ထုတ်ထားသည့် ပိုမိုကောင်းမွန်အောင်လုပ်ဆောင်မှုများပါ၀င်သည့် 14.x ဌာနခွဲကိုသာ သက်ရောက်မှုရှိပါသည်။ အဆိုပါ ပိုမိုကောင်းမွန်အောင် လုပ်ဆောင်မှုများကြောင့်၊ တစ်ချိန်တည်းတွင် ဖန်တီးထားသော အညွှန်းများသည် အညွှန်းဖန်တီးစဉ်အတွင်း အပ်ဒိတ်လုပ်ထားသော သို့မဟုတ် ဖြတ်တောက်ထားသည့် အစုအဝေးမှတ်ဉာဏ်တွင် အချို့သော tuple များမပါဝင်ပါ။

source: opennet.ru

မှတ်ချက် Add