PostgreSQL 12 නිකුතුව

වසරක සංවර්ධනයෙන් පසු පළ කර ඇත PostgreSQL 12 DBMS හි නව ස්ථාවර ශාඛාව. නව ශාඛාව සඳහා යාවත්කාලීන පිටතට පැමිණෙනු ඇත 2024 නොවැම්බර් දක්වා වසර පහක් සඳහා.

ප්රධාන නවෝත්පාදන:

  • " සඳහා සහය එක් කරන ලදීජනනය කළ තීරු", එහි අගය ගණනය කරනු ලබන්නේ එකම වගුවේ ඇති අනෙකුත් තීරු වල අගයන් ආවරණය වන ප්‍රකාශනයක් මත පදනම්වය (දර්ශන වලට සමාන නමුත් තනි තීරු සඳහා). ජනනය කරන ලද තීරු වර්ග දෙකකින් විය හැකිය - ගබඩා කර ඇති සහ අථත්ය. පළමු අවස්ථාවේ දී, දත්ත එකතු කරන විට හෝ වෙනස් කරන අවස්ථාවේ දී අගය ගණනය කරනු ලබන අතර, දෙවන අවස්ථාවේ දී, අනෙකුත් තීරු වල වත්මන් තත්ත්වය මත පදනම්ව එක් එක් කියවීම මත අගය ගණනය කෙරේ. දැනට, PostgreSQL සහාය දක්වන්නේ ගබඩා කරන ලද ජනනය කළ තීරු සඳහා පමණි;
  • භාවිතා කරමින් JSON ලේඛන වලින් දත්ත විමසීමේ හැකියාව එක් කරන ලදී මාර්ග ප්‍රකාශන, සිහිගන්වයි එක්ස්පාත් සහ SQL/JSON ප්‍රමිතියෙන් අර්ථ දක්වා ඇත. JSONB ආකෘතියේ ගබඩා කර ඇති ලේඛන සඳහා එවැනි ප්‍රකාශන සැකසීමේ කාර්යක්ෂමතාව වැඩි දියුණු කිරීම සඳහා පවතින සුචිගත කිරීමේ යාන්ත්‍රණයන් භාවිතා වේ;
  • පෙරනිමියෙන් සක්‍රීය කර ඇත්තේ SQL විමසුම් සැකසීමේදී සමහර ප්‍රකාශන ක්‍රියාත්මක කිරීම වේගවත් කිරීම සඳහා LLVM වර්ධනයන් මත පදනම් වූ JIT (Just-in-Time) සම්පාදකයක් භාවිතා කිරීමයි. උදාහරණයක් ලෙස, JIT භාවිතා කරනුයේ WHERE blocks, ඉලක්ක ලැයිස්තු, සමස්ථ ප්‍රකාශන සහ සමහර අභ්‍යන්තර මෙහෙයුම් ඇතුළත ප්‍රකාශන ක්‍රියාත්මක කිරීම වේගවත් කිරීමට ය;
  • සුචිගත කිරීමේ කාර්ය සාධනය සැලකිය යුතු ලෙස වැඩිදියුණු කර ඇත. B-tree indexs දර්ශක නිතර වෙනස් වන පරිසරවල වැඩ කිරීමට ප්‍රශස්ත කර ඇත - TPC-C පරීක්ෂණ මඟින් කාර්ය සාධනයේ සමස්ත වැඩි වීමක් සහ තැටි ඉඩ පරිභෝජනය 40% ක සාමාන්‍ය අඩුවීමක් පෙන්නුම් කරයි. GiST, GIN සහ SP-GiST දර්ශක වර්ග සඳහා ලිවීමට-ඉදිරි ලොගය (WAL) ජනනය කිරීමේදී උඩිස් බර අඩු විය. GiST සඳහා, අමතර තීරු ඇතුළත් දවටන දර්ශක (INCLUDE ප්‍රකාශනය හරහා) නිර්මාණය කිරීමේ හැකියාව එක් කර ඇත. ක්රියාත්මක සංඛ්‍යාන සාදන්න අසමාන ලෙස බෙදා හරින ලද තීරු භාවිතා කරන විට වඩාත් ප්‍රශස්ත විමසුම් සැලසුම් ජනනය කිරීමට බොහෝ පොදු අගය (MCV) සංඛ්‍යාලේඛන සඳහා සහය සපයයි;
  • කොටස් දහස් ගණනක් සහිත වගු පුරා විහිදෙන විමසුම් සඳහා කොටස් කිරීමේ ක්‍රියාත්මක කිරීම ප්‍රශස්ත කර ඇත, නමුත් සීමිත දත්ත උප කුලකයක් තෝරා ගැනීමට සීමා වේ. INSERT සහ COPY මෙහෙයුම් භාවිතයෙන් කොටස් කරන ලද වගු වලට දත්ත එකතු කිරීමේ කාර්ය සාධනය වැඩි කර ඇති අතර, විමසුම් ක්‍රියාත්මක කිරීම අවහිර නොකර “ALTER TABLE ATTACH PARTITION” හරහා නව කොටස් එක් කිරීමටද හැකිය;
  • සාමාන්‍ය වගු ප්‍රකාශනවල ස්වයංක්‍රීය පේළිගත ප්‍රසාරණය සඳහා සහය එක් කරන ලදී (පොදු වගු ප්රකාශනය, CTE) ප්‍රකාශය සමඟින් නිශ්චිතව දක්වා ඇති තාවකාලික නම් කරන ලද ප්‍රතිඵල කට්ටල භාවිතයට ඉඩ සලසයි. පේළිගත යෙදවීම බොහෝ විමසුම්වල කාර්ය සාධනය වැඩි දියුණු කළ හැක, නමුත් දැනට භාවිතා කරනු ලබන්නේ පුනරාවර්තන නොවන CTE සඳහා පමණි;
  • සහාය එකතු කරන ලදී නිර්ණය නොවන අක්ෂරවල අර්ථය සැලකිල්ලට ගනිමින් වර්ග කිරීමේ නීති සහ ගැලපුම් ක්‍රම සැකසීමට ඔබට ඉඩ සලසන “කොලේෂන්” පෙදෙසියේ ගුණාංග (උදාහරණයක් ලෙස, ඩිජිටල් අගයන් වර්ග කිරීමේදී, අංකයක් සහ විවිධ වර්ගවල ඉදිරියෙන් us ණ සහ තිතක් තිබීම අක්ෂර වින්‍යාසය සැලකිල්ලට ගනු ලබන අතර, සංසන්දනය කිරීමේදී, අක්ෂරවල අවස්ථාව සහ උච්චාරණ සලකුණක් තිබීම සැලකිල්ලට නොගනී)
  • බහු-සාධක සේවාලාභී සත්‍යාපනය සඳහා සහය එකතු කරන ලද අතර, pg_hba.conf හි ඔබට සත්‍යාපනය සඳහා scram-sha-256 වැනි අමතර සත්‍යාපන ක්‍රමයක් සමඟ SSL සහතික සත්‍යාපනය (clientcert=verify-full) ඒකාබද්ධ කළ හැකිය;
  • හරහා සත්‍යාපනය කිරීමේදී සන්නිවේදන නාලිකාව සංකේතනය කිරීම සඳහා සහය එක් කරන ලදී GSSAPI, සේවාදායක පැත්තේ සහ සේවාදායක පැත්තේ යන දෙකම;
  • PostgreSQL OpenLDAP සමඟ ගොඩනගා ඇත්නම් "DNS SRV" වාර්තා මත පදනම්ව LDAP සේවාදායක නිර්ණය කිරීම සඳහා සහය එකතු කරන ලදී;
  • එකතු කරන ලද මෙහෙයුම "REINDEX සමගාමීව»දර්ශකයට ලිවීමේ මෙහෙයුම් අවහිර නොකර දර්ශක නැවත ගොඩනැගීමට;
  • කණ්ඩායම එකතු කළා pg_checksums, දැනට පවතින දත්ත සමුදායක් සඳහා දත්ත පිටු වල චෙක්සම් චෙක්සම් සක්‍රීය කිරීමට හෝ අක්‍රිය කිරීමට ඔබට ඉඩ සලසයි (පෙර මෙම මෙහෙයුමට සහය වූයේ දත්ත සමුදාය ආරම්භයේදී පමණි);
  • මෙහෙයුම් සඳහා ප්‍රගති දර්ශකයේ ප්‍රතිදානය සපයා ඇත CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL සහ pg_checksums;
  • එකතු කරන ලද විධානය "ප්‍රවේශ ක්‍රමය සාදන්න»විවිධ නිශ්චිත කාර්යයන් සඳහා ප්‍රශස්ත කළ නව වගු ගබඩා ක්‍රම සඳහා හසුරුවන්නන් සම්බන්ධ කිරීමට. දැනට එකම බිල්ට් මේස ප්‍රවේශ ක්‍රමය "ගොඩ" වේ;
  • recovery.conf වින්‍යාස ගොනුව postgresql.conf සමඟ ඒකාබද්ධ කර ඇත. අසාර්ථක වීමෙන් පසු යථා තත්ත්වයට මාරුවීමේ දර්ශක ලෙස, දැන් විය යුතුය recovery.signal සහ standby.signal ගොනු භාවිතා කරන්න.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න