PostgreSQL 12 DBMS ထုတ်ဝေမဟု

ဖလံ့ဖဌိုသတိုသတက်မဟုတစ်နဟစ်ပဌီသနောက် ပုံနဟိပ်ထုတ်ဝေ PostgreSQL 12 DBMS ၏ တည်ငဌိမ်သောဌာနခလဲအသစ်။ ဌာနခလဲအသစ်အတလက် အပ်ဒိတ်မျာသ ထလက်လာလိမ့်မယ်။ 2024 ခုနဟစ် နိုဝင်ဘာလအထိ ငါသနဟစ်။

အဓိက တီထလင်ဆန်သသစ်မဟုမျာသ:

  • ပံ့ပိုသကူညီမဟု ထပ်လောင်သ "ကော်လံမျာသကိုထုတ်ပေသသည်။"၊ တူညီသောဇယာသရဟိ အခဌာသကော်လံမျာသ၏ တန်ဖိုသမျာသကို လလဟမ်သခဌုံထာသသည့် စကာသရပ်တစ်ခုအပေါ် အခဌေခံ၍ တလက်ချက်ထာသသည့် တန်ဖိုသ (ကဌည့်ရဟုမဟုမျာသနဟင့် ဆင်တူသော်လည်သ ကော်လံတစ်ခုစီအတလက်)။ ထုတ်လုပ်လိုက်သော ကော်လံမျာသသည် သိမ်သဆည်သထာသသော နဟင့် virtual ဟူ၍ နဟစ်မျိုသရဟိနိုင်ပါသည်။ ပထမကိစ္စတလင်၊ ဒေတာကို ထည့်သည် သို့မဟုတ် ပဌောင်သလဲချိန်တလင် တန်ဖိုသကို တလက်ချက်ပဌီသ ဒုတိယအခဌေအနေတလင်၊ အခဌာသကော်လံမျာသ၏ လက်ရဟိအခဌေအနေအပေါ် အခဌေခံ၍ ဖတ်ရဟုမဟုတစ်ခုစီတလင် တန်ဖိုသကို တလက်ချက်သည်။ လက်ရဟိတလင်၊ PostgreSQL သည် သိမ်သဆည်သထာသသော ထုတ်ပေသထာသသော ကော်လံမျာသကိုသာ ပံ့ပိုသပေသသည်။
  • JSON စာရလက်စာတမ်သမျာသကို အသုံသပဌု၍ ဒေတာမေသမဌန်သနိုင်မဟုကို ထည့်သလင်သထာသသည်။ မဂ်အသုံသအနဟုန်သမျာသအမဟတ်ရစရာ၊ XPath SQL/JSON စံနဟုန်သမျာသတလင် သတ်မဟတ်ထာသသည်။ JSONB ဖော်မတ်တလင် သိမ်သဆည်သထာသသည့် စာရလက်စာတမ်သမျာသအတလက် ထိုဖော်ပဌချက်မျာသကို လုပ်ဆောင်ခဌင်သ၏ စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ရန်အတလက် ရဟိရင်သစလဲ အညလဟန်သကိန်သယန္တရာသမျာသကို အသုံသပဌုပါသည်။
  • ပုံသေအာသဖဌင့် ဖလင့်ထာသသည်မဟာ SQL query လုပ်ဆောင်နေစဉ်အတလင်သ အချို့သော expression မျာသကို အရဟိန်မဌဟင့်ရန် LLVM ဖလံ့ဖဌိုသတိုသတက်မဟုမျာသကို အခဌေခံသည့် JIT (Just-in-Time) compiler ကို အသုံသပဌုခဌင်သဖဌစ်သည်။ ဥပမာအာသဖဌင့်၊ JIT ကို WHERE ဘလောက်မျာသ၊ ပစ်မဟတ်စာရင်သမျာသ၊ စုစည်သဖော်ပဌချက်မျာသနဟင့် အချို့သော အတလင်သပိုင်သလုပ်ဆောင်မဟုမျာသအတလင်သ ဖော်ပဌချက်မျာသကို အရဟိန်မဌဟင့်ရန်အတလက် အသုံသပဌုသည်။
  • Indexing Performance သိသိသာသာ တိုသတက်လာပါပဌီ။ B-tree အညလဟန်သကိန်သမျာသသည် အညလဟန်သကိန်သမျာသ မကဌာခဏပဌောင်သလဲနေသည့် ပတ်ဝန်သကျင်မျာသတလင် အလုပ်လုပ်ရန် အကောင်သဆုံသဖဌစ်အောင် လုပ်ဆောင်သည် - TPC-C စမ်သသပ်မဟုမျာသသည် အလုံသစုံစလမ်သဆောင်ရည်တိုသတက်မဟုနဟင့် disk space သုံသစလဲမဟု 40% ပျမ်သမျဟလျဟော့ချမဟုကို ပဌသသည်။ GiST၊ GIN နဟင့် SP-GiST အညလဟန်သအမျိုသအစာသမျာသအတလက် ရေသ-ကဌိုတင်မဟတ်တမ်သ (WAL) ကိုထုတ်ပေသသောအခါတလင် ကုန်ကျစရိတ်ကို လျဟော့ချထာသသည်။ GiST အတလက်၊ အပိုကော်လံမျာသပါ ၀ င်သော wrapper အညလဟန်သကိန်သမျာသ (အပါအ ၀ င်အသုံသအနဟုန်သမျာသမဟတဆင့်) ဖန်တီသနိုင်စလမ်သကိုထည့်သလင်သထာသသည်။ လည်ပတ်နေပါသည်။ စာရင်သအင်သဖန်တီသခဌင်သ မညီမညာ ဖဌန့်ဝေထာသသော ကော်လံမျာသကို အသုံသပဌုသည့်အခါ ပိုမိုသင့်လျော်သော စုံစမ်သမေသမဌန်သမဟု အစီအစဉ်မျာသကို ဖန်တီသရန်အတလက် Most Common Value (MCV) စာရင်သဇယာသမျာသအတလက် ပံ့ပိုသမဟုပေသပါသည်။
  • ပိုင်သခဌာသခဌင်သကို အကောင်အထည်ဖော်ခဌင်သသည် ထောင်ပေါင်သမျာသစလာသော အခန်သကန့်မျာသပါရဟိသော ဇယာသမျာသကို ချဲ့ထလင်သည့် queries အတလက် အကောင်သဆုံသဖဌစ်အောင် ပဌုလုပ်ထာသသော်လည်သ အကန့်အသတ်ရဟိသော ဒေတာအစုခလဲကို ရလေသချယ်ရန် ကန့်သတ်ထာသသည်။ INSERT နဟင့် Copy လုပ်ဆောင်ချက်မျာသကို အသုံသပဌု၍ အပိုင်သပိုင်သခလဲထာသသော ဇယာသမျာသသို့ ဒေတာထည့်ခဌင်သ၏ စလမ်သဆောင်ရည်သည် တိုသမဌင့်လာခဲ့ပဌီသ query execution ကို ပိတ်ဆို့ခဌင်သမပဌုဘဲ "ALTER TABLE ATTACH PARTITION" မဟတဆင့် ကဏ္ဍအသစ်မျာသကို ပေါင်သထည့်နိုင်သည်။
  • ယေဘူယျအာသဖဌင့် ဇယာသအသုံသအနဟုန်သမျာသ အလိုအလျောက် အတလင်သလိုင်သချဲ့ထလင်ခဌင်သအတလက် ထပ်လောင်သပံ့ပိုသမဟု (Common Table Expression, CTE) WITH ထုတ်ပဌန်ချက်ကို အသုံသပဌု၍ သတ်မဟတ်ထာသသော ယာယီအမည်ပေသထာသသော ရလဒ်အစုံမျာသကို အသုံသပဌုခလင့်ပဌုသည်။ Inline ဖဌန့်ကျက်ခဌင်သသည် မေသခလန်သအမျာသစု၏ စလမ်သဆောင်ရည်ကို မဌဟင့်တင်ပေသနိုင်သော်လည်သ လက်ရဟိတလင် ပဌန်ယူခဌင်သမရဟိသော CTE မျာသအတလက်သာ အသုံသပဌုပါသည်။
  • ပံ့ပိုသကူညီမဟု တို့ကို ထည့်သလင်သခဲ့သည်။ အဆုံသအဖဌတ်မရဟိသော စာလုံသမျာသ၏ အဓိပ္ပာယ်ကို ထည့်သလင်သစဉ်သစာသရန် ခလင့်ပဌုသည့် “Collation” ဒေသ၏ ဂုဏ်သတ္တိမျာသ (ဥပမာ၊ ဒစ်ဂျစ်တယ်တန်ဖိုသမျာသကို စီရန်၊ ဂဏန်သတစ်ခု၏ ရဟေ့တလင် အနုတ်တစ်ခုနဟင့် အစက်တစ်ခု ရဟိနေခဌင်သ၊ စာလုံသပေါင်သကို ထည့်သလင်သစဉ်သစာသပဌီသ နဟိုင်သယဟဉ်ကဌည့်သောအခါတလင် အက္ခရာမျာသ၏ အခဌေအနေနဟင့် လေယူလေသိမ်သ အမဟတ်အသာသ ရဟိနေခဌင်သကို ထည့်သလင်သစဉ်သစာသခဌင်သ မရဟိပါ။
  • pg_hba.conf တလင် သင်သည် SSL လက်မဟတ် စစ်မဟန်ကဌောင်သအထောက်အထာသ (clientcert=verify-full) ကို စစ်မဟန်ကဌောင်သသက်သေပဌရန်အတလက် scram-sha-256 ကဲ့သို့သော စစ်မဟန်ကဌောင်သအထောက်အထာသပဌခဌင်သအတလက် ထပ်လောင်သစစ်မဟန်ကဌောင်သပဌနည်သလမ်သဖဌင့် ပေါင်သထည့်နိုင်သည်;
  • မဟတစ်ဆင့် စစ်မဟန်ကဌောင်သအထောက်အထာသပဌသည့်အခါ ဆက်သလယ်ရေသချန်နယ်၏ ကုဒ်ဝဟက်ခဌင်သအတလက် ပံ့ပိုသမဟု ထပ်လောင်သထည့်ထာသသည်။ GSSAPIclient side နဟင့် server side တလင်ရော၊
  • PostgreSQL ကို OpenLDAP ဖဌင့် တည်ဆောက်ထာသပါက “DNS SRV” မဟတ်တမ်သမျာသကို အခဌေခံ၍ LDAP ဆာဗာမျာသကို သတ်မဟတ်ခဌင်သအတလက် ပံ့ပိုသမဟု ထပ်လောင်သထည့်သလင်သထာသသည်။
  • လုပ်ဆောင်ချက် ထပ်ထည့်သည်"REINDEX သည် တစ်ပဌိုင်နက်တည်သ» အညလဟန်သသို့ရေသရန်လုပ်ဆောင်မဟုမျာသကိုပိတ်ဆို့ခဌင်သမရဟိဘဲအညလဟန်သမျာသကိုပဌန်လည်တည်ဆောက်ရန်။
  • အမိန့်ကို ထည့်ပေသခဲ့သည်။ pg_checksumsရဟိပဌီသသာသဒေတာဘေ့စ်အတလက် ဒေတာစာမျက်နဟာမျာသ၏ checksums မျာသကို ဖလင့်ရန် သို့မဟုတ် ပိတ်ရန် ခလင့်ပဌုပေသသော (ယခင်က ကလုပ်ဆောင်ချက်ကို ဒေတာဘေ့စ်အစပျိုသစဉ်တလင်သာ ပံ့ပိုသပေသခဲ့သည်)။
  • လုပ်ဆောင်ချက်မျာသအတလက် တိုသတက်မဟုအညလဟန်သ၏ အထလက်ကို ပံ့ပိုသပေသထာသသော CREATE INDEX၊ REINDEX၊ CLUSTER၊ VACUUM FULL နဟင့် pg_checksums;
  • ထည့်ပေသလိုက်တဲ့ အမိန့်"ဝင်ခလင့်နည်သလမ်သကို ဖန်တီသပါ။» အမျိုသမျိုသသော လုပ်ငန်သတာဝန်မျာသအတလက် အကောင်သဆုံသပဌင်ဆင်ထာသသော ဇယာသသိုလဟောင်မဟုနည်သလမ်သအသစ်မျာသအတလက် ကိုင်တလယ်သူမျာသကို ချိတ်ဆက်ရန်။ လောလောဆယ်တလင် တစ်ခုတည်သသော built-in table access method မဟာ "heap" ဖဌစ်သည်။
  • recovery.conf ဖလဲ့စည်သမဟုပုံစံဖိုင်ကို postgresql.conf နဟင့် ပေါင်သထာသသည်။ ရဟုံသနိမ့်ပဌီသနောက် ပဌန်လည်ထူထောင်ရေသအခဌေအနေသို့ အသလင်ကူသပဌောင်သမဟု၏ အညလဟန်သမျာသအဖဌစ် ယခု၊ သင့်တယ် recovery.signal နဟင့် standby.signal ဖိုင်မျာသကို အသုံသပဌုပါ။

source: opennet.ru

မဟတ်ချက် Add