PostgreSQL 14 DBMS విడుదల

ఒక సంవత్సరం అభివృద్ధి తర్వాత, PostgreSQL 14 DBMS యొక్క కొత్త స్థిరమైన బ్రాంచ్ ప్రచురించబడింది. కొత్త బ్రాంచ్ కోసం నవీకరణలు నవంబర్ 2026 వరకు ఐదు సంవత్సరాలలో విడుదల చేయబడతాయి.

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

  • శ్రేణి లాంటి వ్యక్తీకరణలను ఉపయోగించి JSON డేటాను యాక్సెస్ చేయడానికి మద్దతు జోడించబడింది: SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release']; * పరీక్ష నుండి ఎక్కడ వివరాలు['గుణాలు']['పరిమాణం'] = '"మీడియం"';

    hstore రకం ద్వారా అందించబడిన కీ/విలువ డేటా కోసం ఇదే విధమైన సింటాక్స్ అమలు చేయబడుతుంది. ఈ వాక్యనిర్మాణం ప్రారంభంలో యూనివర్సల్ ఫ్రేమ్‌వర్క్‌ని ఉపయోగించి అమలు చేయబడింది, భవిష్యత్తులో ఇది ఇతర రకాల కోసం ఉపయోగించబడుతుంది. hstore రకానికి ఉదాహరణ: mytable VALUES ('a=>b, c=>d')లోకి చొప్పించండి; మైటేబుల్ నుండి h['a']ని ఎంచుకోండి; UPDATE mytable SET h['c'] = 'కొత్తది';

  • పరిధులను నిర్వచించడం కోసం రకాల కుటుంబం కొత్త "మల్టీరేంజ్" రకాలతో విస్తరించబడింది, ఇది విలువల అతివ్యాప్తి చెందని శ్రేణుల ఆర్డర్ జాబితాలను పేర్కొనడానికి మిమ్మల్ని అనుమతిస్తుంది. ఇప్పటికే ఉన్న ప్రతి రేంజ్ రకానికి అదనంగా, దాని స్వంత మల్టీరేంజ్ రకం ప్రతిపాదించబడింది, ఉదాహరణకు, “int4range” రకం “int4multirange”కి అనుగుణంగా ఉంటుంది మరియు “daterange” రకం “datemultirange”కి అనుగుణంగా ఉంటుంది. కొత్త రకాల ఉపయోగం పరిధుల సంక్లిష్ట క్రమాలను మార్చే ప్రశ్నల రూపకల్పనను సులభతరం చేస్తుంది. ఎంపిక '{[3,7), [8,9)}'::int4multirange; సంఖ్య మల్టీరేంజ్ (సంఖ్య (1.0, 14.0), సంఖ్య (20.0, 25.0));
  • అధిక సంఖ్యలో కనెక్షన్‌లను ప్రాసెస్ చేసే అధిక-లోడ్ సిస్టమ్‌ల పనితీరును మెరుగుపరచడానికి ఆప్టిమైజేషన్‌లు చేయబడ్డాయి. కొన్ని పరీక్షలలో, పనితీరులో రెట్టింపు పెరుగుదల గమనించబడింది.
  • B-ట్రీ సూచికల సామర్థ్యం మెరుగుపరచబడింది మరియు పట్టికలు తరచుగా నవీకరించబడినప్పుడు సూచిక పెరుగుదలతో సమస్య పరిష్కరించబడింది.
  • అభ్యర్థనల పైప్‌లైన్ ట్రాన్స్‌మిషన్ మోడ్‌కు క్లయింట్-సైడ్ (libpq స్థాయిలో అమలు చేయబడింది) మద్దతు జోడించబడింది, ఇది పంపడం ద్వారా పెద్ద సంఖ్యలో చిన్న వ్రాత కార్యకలాపాలను (ఇన్సర్ట్/అప్‌డేట్/డిలీట్) చేయడంతో అనుబంధించబడిన డేటాబేస్ దృశ్యాలను గణనీయంగా వేగవంతం చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. మునుపటి ఫలితం కోసం వేచి ఉండకుండా తదుపరి అభ్యర్థన. సుదీర్ఘ ప్యాకెట్ డెలివరీ ఆలస్యంతో కనెక్షన్‌ల పనిని వేగవంతం చేయడంలో కూడా మోడ్ సహాయపడుతుంది.
  • బహుళ PostgreSQL సర్వర్‌లతో కూడిన పంపిణీ చేయబడిన కాన్ఫిగరేషన్‌ల కోసం మెరుగైన సామర్థ్యాలు. లాజికల్ రెప్లికేషన్ అమలులో, స్ట్రీమింగ్ మోడ్‌లో పురోగతిలో ఉన్న లావాదేవీలను పంపడం ఇప్పుడు సాధ్యమవుతుంది, ఇది పెద్ద లావాదేవీల ప్రతిరూపణ పనితీరును గణనీయంగా మెరుగుపరుస్తుంది. అదనంగా, లాజికల్ రెప్లికేషన్ సమయంలో అందుకున్న డేటా యొక్క లాజికల్ డీకోడింగ్ ఆప్టిమైజ్ చేయబడింది.
  • బాహ్య పట్టికలను కనెక్ట్ చేసే విధానం ఫారిన్ డేటా ర్యాపర్ (postgres_fdw) సమాంతర ప్రశ్న ప్రాసెసింగ్‌కు మద్దతును జోడించింది, ఇది ప్రస్తుతం ఇతర PostgreSQL సర్వర్‌లకు కనెక్ట్ చేసినప్పుడు మాత్రమే వర్తిస్తుంది. postgres_fdw బ్యాచ్ మోడ్‌లో బాహ్య పట్టికలకు డేటాను జోడించడానికి మరియు “IMPORT FOREIGN SCHEMA” డైరెక్టివ్‌ను పేర్కొనడం ద్వారా విభజించబడిన పట్టికలను దిగుమతి చేసే సామర్థ్యాన్ని కూడా జోడిస్తుంది.
  • VACUUM ఆపరేషన్ (చెత్త సేకరణ మరియు డిస్క్ నిల్వ ప్యాకేజింగ్) అమలుకు ఆప్టిమైజేషన్లు చేయబడ్డాయి. లావాదేవీ ID ర్యాపరౌండ్ పరిస్థితులు సృష్టించబడితే, అత్యవసర క్లీనప్ మోడ్ జోడించబడింది. బి-ట్రీ ఫార్మాట్‌లో ఇండెక్స్‌లను ప్రాసెస్ చేస్తున్నప్పుడు ఓవర్‌హెడ్ తగ్గింది. డేటాబేస్ యొక్క ఆపరేషన్ గురించి గణాంకాలను సేకరించే "విశ్లేషణ" ఆపరేషన్ యొక్క అమలు గణనీయంగా వేగవంతం చేయబడింది.
  • TOAST సిస్టమ్‌లో ఉపయోగించే కంప్రెషన్ పద్ధతిని కాన్ఫిగర్ చేసే సామర్థ్యాన్ని జోడించారు, ఇది టెక్స్ట్ బ్లాక్‌లు లేదా రేఖాగణిత సమాచారం వంటి పెద్ద డేటాను నిల్వ చేయడానికి బాధ్యత వహిస్తుంది. pglz కంప్రెషన్ పద్ధతికి అదనంగా, TOAST ఇప్పుడు LZ4 అల్గారిథమ్‌ని ఉపయోగించవచ్చు.
  • DBMS యొక్క ఆపరేషన్‌ను పర్యవేక్షించే సాధనాలు విస్తరించబడ్డాయి. COPY ఆదేశాల పురోగతి (pg_stat_progress_copy), రెప్లికేషన్ స్లాట్‌ల గురించి గణాంకాలు (pg_stat_replication_slots) మరియు WAL లావాదేవీ లాగ్ (pg_stat_wal)కి సంబంధించిన కార్యాచరణను ట్రాక్ చేయడానికి వీక్షణలు జోడించబడ్డాయి. ప్రతి అభ్యర్థనకు ప్రత్యేక ఐడెంటిఫైయర్‌ని కేటాయించడం ద్వారా అభ్యర్థనలను ట్రాక్ చేయడానికి pg_stat_activity మరియు EXPLAIN VERBOSE వంటి వివిధ సబ్‌సిస్టమ్‌లను ప్రారంభించే compute_query_id ఫంక్షన్ జోడించబడింది.
  • ప్రశ్నల సమాంతర ప్రాసెసింగ్‌ను మెరుగుపరచడానికి మరియు సీక్వెన్షియల్ రికార్డ్ స్కాన్ ఆపరేషన్‌ల యొక్క ఏకకాల అమలు పనితీరును మెరుగుపరచడానికి క్వెరీ ప్లానర్‌కు ఆప్టిమైజేషన్‌లు జోడించబడ్డాయి, “RETURN QUERY” ఆదేశాన్ని ఉపయోగించి PL/pgSQLలో ప్రశ్నలను సమాంతరంగా అమలు చేయడం మరియు “లో ప్రశ్నలను సమాంతరంగా అమలు చేయడం. మెటీరియలైజ్డ్ వీక్షణను రిఫ్రెష్ చేయండి”. సైక్లిక్ నెస్టెడ్ మెర్జెస్ (చేరడం) పనితీరును మెరుగుపరచడానికి, అదనపు కాషింగ్ కోసం మద్దతు అమలు చేయబడింది.
  • ఎక్స్‌ప్రెషన్‌లను ఆప్టిమైజ్ చేయడానికి అధునాతన గణాంకాలను ఇప్పుడు ఉపయోగించవచ్చు మరియు విండో ఫంక్షన్‌లను ఆప్టిమైజ్ చేయడానికి ఇప్పుడు పెరుగుతున్న సార్టింగ్‌ను ఉపయోగించవచ్చు.
  • కోడ్ బ్లాక్‌లలో లావాదేవీలను నిర్వహించడానికి మిమ్మల్ని అనుమతించే నిల్వ చేయబడిన విధానాలు ఇప్పుడు "OUT" పారామితులను ఉపయోగించి రిటర్న్ డేటాను నిర్వచించడానికి మద్దతు ఇస్తాయి.
  • పేర్కొన్న విరామం ప్రకారం రౌండ్ టైమ్‌స్టాంప్ విలువలకు date_bin ఫంక్షన్ జోడించబడింది. తేదీ_బిన్‌ని ఎంచుకోండి('15 నిమిషాలు', TIMESTAMP '2020-02-11 15:44:17', TIMESTAMP '2001-01-01'); 2020-02-11 15:30:00
  • రికర్సివ్ కామన్ టేబుల్ ఎక్స్‌ప్రెషన్స్ (CTE)లో చక్రాలను సులభంగా ఆర్డర్ చేయడం మరియు గుర్తించడం కోసం SQL స్టాండర్డ్‌లో నిర్వచించబడిన SEARCH మరియు CYCLE వ్యక్తీకరణలు జోడించబడ్డాయి. పునరావృత శోధన_ట్రీతో (id, లింక్, డేటా) AS (ట్రీ నుండి t.id, t.link, t.data ఎంచుకోండి t UNION అన్ని ఎంపిక t.id, t.link, t.data నుండి చెట్టు t, search_tree st WHERE t. id = st.link ) ఐడి సెట్ ఆర్డర్‌కాల్ ద్వారా మొదట సెర్చ్ డెప్త్ సెలెక్ట్ * సెర్చ్_ట్రీ నుండి ఆర్డర్‌కోల్ ద్వారా ఆర్డర్ చేయండి;
  • psql యుటిలిటీలో, ట్యాబ్‌లతో కమాండ్‌ల స్వయంపూర్తి మెరుగుపరచబడింది, ఫంక్షన్ ఆర్గ్యుమెంట్‌లను ప్రదర్శించే సామర్థ్యం “\df” కమాండ్‌కు జోడించబడింది మరియు ప్రదర్శించబడిన గణాంకాలు “\dX” ఆదేశానికి విస్తరించబడ్డాయి.
  • వినియోగదారులకు చదవడానికి-మాత్రమే లేదా వ్రాయడానికి-మాత్రమే అధికారాలను కేటాయించడం సాధ్యమవుతుంది. pg_read_all_data మరియు pg_write_all_data ముందే నిర్వచించిన పాత్రలను ఉపయోగించి వ్యక్తిగత పట్టికలు, వీక్షణలు మరియు స్కీమాలపై ప్రత్యేకాధికారాలను సెట్ చేయవచ్చు. యూజర్1కి pg_read_all_data GRANT;
  • కొత్త ఇన్‌స్టాలేషన్‌లు md256కి బదులుగా SCRAM-SHA-5ని ఉపయోగించి పాస్‌వర్డ్ ప్రమాణీకరణకు డిఫాల్ట్‌గా ఉంటాయి (postgresql.confను రూపొందించేటప్పుడు "password_encryption" పరామితి ఇప్పుడు 'scram-sha-256'కి సెట్ చేయబడింది).

మూలం: opennet.ru

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