PostgreSQL 12 DBMS విడుదల

ఒక సంవత్సరం అభివృద్ధి తర్వాత ప్రచురించబడింది PostgreSQL 12 DBMS యొక్క కొత్త స్థిరమైన శాఖ. కొత్త శాఖ కోసం నవీకరణలు బయటకు వస్తారు నవంబర్ 2024 వరకు ఐదు సంవత్సరాలు.

ప్రధాన ఆవిష్కరణలు:

  • " కోసం మద్దతు జోడించబడిందిసృష్టించబడిన నిలువు వరుసలు", దీని విలువ ఒకే పట్టికలోని ఇతర నిలువు వరుసల విలువలను కవర్ చేసే వ్యక్తీకరణ ఆధారంగా లెక్కించబడుతుంది (వీక్షణల మాదిరిగానే, కానీ వ్యక్తిగత నిలువు వరుసల కోసం). సృష్టించబడిన నిలువు వరుసలు రెండు రకాలుగా ఉంటాయి - నిల్వ మరియు వర్చువల్. మొదటి సందర్భంలో, డేటా జోడించబడిన లేదా మార్చబడిన సమయంలో విలువ లెక్కించబడుతుంది మరియు రెండవ సందర్భంలో, ఇతర నిలువు వరుసల ప్రస్తుత స్థితి ఆధారంగా ప్రతి రీడ్‌పై విలువ లెక్కించబడుతుంది. ప్రస్తుతం, PostgreSQL నిల్వ చేయబడిన ఉత్పత్తి నిలువు వరుసలకు మాత్రమే మద్దతు ఇస్తుంది;
  • ఉపయోగించి JSON పత్రాల నుండి డేటాను ప్రశ్నించే సామర్థ్యం జోడించబడింది మార్గం వ్యక్తీకరణలు, గుర్తుచేస్తుంది XPath మరియు SQL/JSON ప్రమాణంలో నిర్వచించబడింది. JSONB ఫార్మాట్‌లో నిల్వ చేయబడిన పత్రాల కోసం అటువంటి వ్యక్తీకరణలను ప్రాసెస్ చేసే సామర్థ్యాన్ని మెరుగుపరచడానికి ఇప్పటికే ఉన్న ఇండెక్సింగ్ మెకానిజమ్‌లు ఉపయోగించబడతాయి;
  • SQL ప్రశ్న ప్రాసెసింగ్ సమయంలో కొన్ని వ్యక్తీకరణల అమలును వేగవంతం చేయడానికి LLVM అభివృద్ధి ఆధారంగా JIT (జస్ట్-ఇన్-టైమ్) కంపైలర్‌ని ఉపయోగించడం డిఫాల్ట్‌గా ప్రారంభించబడింది. ఉదాహరణకు, JIT అనేది WHERE బ్లాక్‌లు, లక్ష్య జాబితాలు, సమగ్ర వ్యక్తీకరణలు మరియు కొన్ని అంతర్గత కార్యకలాపాల లోపల వ్యక్తీకరణల అమలును వేగవంతం చేయడానికి ఉపయోగించబడుతుంది;
  • ఇండెక్సింగ్ పనితీరు గణనీయంగా మెరుగుపడింది. సూచికలు తరచుగా మారే వాతావరణంలో పని చేయడానికి B-ట్రీ సూచికలు ఆప్టిమైజ్ చేయబడ్డాయి - TPC-C పరీక్షలు పనితీరులో మొత్తం పెరుగుదల మరియు డిస్క్ స్పేస్ వినియోగంలో సగటు తగ్గింపు 40% చూపుతాయి. GiST, GIN మరియు SP-GiST ఇండెక్స్ రకాల కోసం రైట్-ఎహెడ్ లాగ్ (WAL)ని రూపొందించేటప్పుడు ఓవర్‌హెడ్ తగ్గించబడింది. GiST కోసం, అదనపు నిలువు వరుసలను కలిగి ఉండే రేపర్ సూచికలను (INCLUDE వ్యక్తీకరణ ద్వారా) సృష్టించగల సామర్థ్యం జోడించబడింది. ఆపరేషన్‌లో ఉంది గణాంకాలను సృష్టించండి అసమానంగా పంపిణీ చేయబడిన నిలువు వరుసలను ఉపయోగిస్తున్నప్పుడు మరింత సరైన ప్రశ్న ప్రణాళికలను రూపొందించడానికి అత్యంత సాధారణ విలువ (MCV) గణాంకాలకు మద్దతును అందిస్తుంది;
  • విభజన అమలు వేలాది విభజనలతో పట్టికలను విస్తరించే ప్రశ్నల కోసం ఆప్టిమైజ్ చేయబడింది, కానీ డేటా యొక్క పరిమిత ఉపసమితిని ఎంచుకోవడానికి పరిమితం చేయబడింది. ఇన్‌సర్ట్ మరియు కాపీ ఆపరేషన్‌లను ఉపయోగించి విభజించబడిన పట్టికలకు డేటాను జోడించడం యొక్క పనితీరు పెరిగింది మరియు ప్రశ్న అమలును నిరోధించకుండా “ఆల్టర్ టేబుల్ అటాచ్ పార్టిషన్” ద్వారా కొత్త విభాగాలను జోడించడం కూడా సాధ్యమవుతుంది;
  • సాధారణీకరించిన పట్టిక వ్యక్తీకరణల యొక్క స్వయంచాలక ఇన్లైన్ విస్తరణకు మద్దతు జోడించబడింది (సాధారణ పట్టిక వ్యక్తీకరణ, CTE) స్టేట్‌మెంట్‌ని ఉపయోగించి పేర్కొన్న తాత్కాలిక పేరు గల ఫలితాల సెట్‌ల వినియోగాన్ని అనుమతిస్తుంది. ఇన్‌లైన్ విస్తరణ చాలా ప్రశ్నల పనితీరును మెరుగుపరుస్తుంది, కానీ ప్రస్తుతం పునరావృతం కాని CTEల కోసం మాత్రమే ఉపయోగించబడుతుంది;
  • మద్దతు జోడించబడింది నిర్ణయాత్మకం కానిది “కొలేషన్” లొకేల్ యొక్క లక్షణాలు, ఇది అక్షరాల అర్థాన్ని పరిగణనలోకి తీసుకొని సార్టింగ్ నియమాలు మరియు సరిపోలే పద్ధతులను సెట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది (ఉదాహరణకు, డిజిటల్ విలువలను క్రమబద్ధీకరించేటప్పుడు, సంఖ్య మరియు వివిధ రకాల ముందు మైనస్ మరియు చుక్కల ఉనికి. స్పెల్లింగ్ పరిగణనలోకి తీసుకోబడుతుంది మరియు పోల్చినప్పుడు, అక్షరాలు మరియు యాస గుర్తు ఉనికిని పరిగణనలోకి తీసుకోరు)
  • బహుళ-కారకాల క్లయింట్ ప్రమాణీకరణకు మద్దతు జోడించబడింది, దీనిలో pg_hba.confలో మీరు ప్రమాణీకరణ కోసం scram-sha-256 వంటి అదనపు ప్రమాణీకరణ పద్ధతితో SSL సర్టిఫికేట్ ప్రమాణీకరణను (clientcert=verify-full) కలపవచ్చు;
  • ద్వారా ప్రామాణీకరించేటప్పుడు కమ్యూనికేషన్ ఛానెల్ యొక్క గుప్తీకరణకు మద్దతు జోడించబడింది GSSAPI, క్లయింట్ వైపు మరియు సర్వర్ వైపు రెండూ;
  • PostgreSQL OpenLDAPతో నిర్మించబడితే "DNS SRV" రికార్డుల ఆధారంగా LDAP సర్వర్‌లను నిర్ణయించడానికి మద్దతు జోడించబడింది;
  • ఆపరేషన్ జోడించబడింది "రెఇండెక్స్ ఏకకాలంలో» ఇండెక్స్‌కు వ్రాత కార్యకలాపాలను నిరోధించకుండా ఇండెక్స్‌లను పునర్నిర్మించడానికి;
  • బృందం జోడించబడింది pg_checksumలు, ఇది ఇప్పటికే ఉన్న డేటాబేస్ కోసం డేటా పేజీల తనిఖీ చెక్‌సమ్‌లను ఎనేబుల్ చేయడానికి లేదా డిసేబుల్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది (గతంలో ఈ ఆపరేషన్ డేటాబేస్ ప్రారంభ సమయంలో మాత్రమే మద్దతు ఇవ్వబడింది);
  • కార్యకలాపాల కోసం ప్రోగ్రెస్ ఇండికేటర్ యొక్క అవుట్‌పుట్ అందించబడింది CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL మరియు pg_checksums;
  • ఆదేశం జోడించబడింది "యాక్సెస్ మెథడ్‌ని సృష్టించండి» వివిధ నిర్దిష్ట పనుల కోసం ఆప్టిమైజ్ చేయబడిన కొత్త టేబుల్ నిల్వ పద్ధతుల కోసం హ్యాండ్లర్‌లను కనెక్ట్ చేయడానికి. ప్రస్తుతం అంతర్నిర్మిత పట్టిక యాక్సెస్ పద్ధతి "కుప్ప";
  • recovery.conf కాన్ఫిగరేషన్ ఫైల్ postgresql.confతో విలీనం చేయబడింది. వైఫల్యం తర్వాత రికవరీ స్థితికి పరివర్తన సూచికలుగా, ఇప్పుడు ఉండాలి recovery.signal మరియు standby.signal ఫైల్‌లను ఉపయోగించండి.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి