Paglabas ng PostgreSQL 12

Pagkatapos ng isang taon ng pag-unlad nai-publish bagong stable branch ng PostgreSQL 12 DBMS. Mga update para sa bagong branch lalabas sa loob ng limang taon hanggang Nobyembre 2024.

Ang pangunahing mga inobasyon:

  • Nagdagdag ng suporta para sa "nabuong mga column", ang halaga nito ay kinakalkula batay sa isang expression na sumasaklaw sa mga halaga ng iba pang mga column sa parehong talahanayan (katulad ng mga view, ngunit para sa mga indibidwal na column). Ang nabuong mga column ay maaaring may dalawang uri - naka-imbak at virtual. Sa unang kaso, ang halaga ay kinakalkula sa oras na ang data ay idinagdag o binago, at sa pangalawang kaso, ang halaga ay kinakalkula sa bawat nabasa batay sa kasalukuyang estado ng iba pang mga column. Sa kasalukuyan, sinusuportahan lamang ng PostgreSQL ang mga nakaimbak na nabuong column;
  • Nagdagdag ng kakayahang mag-query ng data mula sa mga dokumentong JSON gamit Mga expression ng landas, nagpapaalala XPath at tinukoy sa pamantayang SQL/JSON. Ang mga umiiral na mekanismo sa pag-index ay ginagamit upang mapabuti ang kahusayan ng pagproseso ng mga naturang expression para sa mga dokumentong nakaimbak sa JSONB na format;
  • Ang naka-enable bilang default ay ang paggamit ng JIT (Just-in-Time) compiler batay sa mga pag-unlad ng LLVM upang mapabilis ang pagpapatupad ng ilang expression sa panahon ng pagproseso ng SQL query. Halimbawa, ginagamit ang JIT upang pabilisin ang pagpapatupad ng mga expression sa loob ng mga bloke ng WHERE, mga listahan ng target, pinagsama-samang mga expression, at ilang mga panloob na operasyon;
  • Ang pagganap ng pag-index ay lubos na napabuti. Ang mga index ng B-tree ay na-optimize upang gumana sa mga kapaligiran kung saan ang mga index ay madalas na nagbabago - Ang mga pagsubok sa TPC-C ay nagpapakita ng pangkalahatang pagtaas sa pagganap at isang average na pagbawas sa pagkonsumo ng espasyo sa disk na 40%. Binawasan ang overhead kapag bumubuo ng write-ahead log (WAL) para sa mga uri ng index ng GiST, GIN at SP-GIST. Para sa GiST, naidagdag ang kakayahang gumawa ng mga wrapper index (sa pamamagitan ng INCLUDE expression) na may kasamang mga karagdagang column. Nasa operasyon LILIKHA ANG MGA STATISTIKO Ibinibigay ang suporta para sa mga istatistika ng pinakakaraniwang halaga (MCV) upang makatulong na makabuo ng mas pinakamainam na mga plano sa query kapag gumagamit ng mga column na hindi pantay-pantay.
  • Ang pagpapatupad ng partitioning ay na-optimize para sa mga query na sumasaklaw sa mga talahanayan na may libu-libong partition, ngunit limitado sa pagpili ng limitadong subset ng data. Ang pagganap ng pagdaragdag ng data sa mga nakabahaging talahanayan gamit ang INSERT at COPY na mga operasyon ay nadagdagan, at posible ring magdagdag ng mga bagong seksyon sa pamamagitan ng "ALTER TABLE ATTACH PARTITION" nang hindi hinaharangan ang pagpapatupad ng query;
  • Nagdagdag ng suporta para sa awtomatikong inline na pagpapalawak ng mga pangkalahatang expression ng talahanayan (Karaniwang Pagpapahayag ng Talahanayan, CTE) na nagpapahintulot sa paggamit ng pansamantalang pinangalanang mga set ng resulta na tinukoy gamit ang WITH statement. Maaaring mapabuti ng inline na pag-deploy ang pagganap ng karamihan sa mga query, ngunit kasalukuyang ginagamit lamang para sa mga hindi recursive na CTE;
  • Nagdagdag ng suporta hindi deterministiko mga katangian ng lokal na "Collation", na nagbibigay-daan sa iyong magtakda ng mga panuntunan sa pag-uuri at mga pamamaraan ng pagtutugma na isinasaalang-alang ang kahulugan ng mga character (halimbawa, kapag nag-uuri ng mga digital na halaga, ang pagkakaroon ng isang minus at isang tuldok sa harap ng isang numero at iba't ibang uri ang pagbaybay ay isinasaalang-alang, at kapag naghahambing, ang kaso ng mga character at ang pagkakaroon ng isang marka ng tuldik ay hindi isinasaalang-alang);
  • Nagdagdag ng suporta para sa multi-factor na pagpapatotoo ng kliyente, kung saan sa pg_hba.conf maaari mong pagsamahin ang pagpapatunay ng SSL certificate (clientcert=verify-full) sa isang karagdagang paraan ng pagpapatunay tulad ng scram-sha-256 para sa pagpapatunay;
  • Nagdagdag ng suporta para sa pag-encrypt ng channel ng komunikasyon kapag nagpapatotoo sa pamamagitan ng GSSAPI, kapwa sa panig ng kliyente at sa panig ng server;
  • Nagdagdag ng suporta para sa pagtukoy ng mga LDAP server batay sa mga tala ng β€œDNS SRV” kung ang PostgreSQL ay binuo gamit ang OpenLDAP;
  • Idinagdag ang operasyon "REINDEX KASABAYΒ» upang muling buuin ang mga index nang hindi hinaharangan ang mga pagpapatakbo ng pagsulat sa index;
  • Nagdagdag ng utos pg_checksums, na nagpapahintulot sa iyo na paganahin o huwag paganahin ang pagsuri ng mga checksum ng mga pahina ng data para sa isang umiiral na database (dati ang operasyong ito ay suportado lamang sa panahon ng pagsisimula ng database);
  • Ibinigay ang output ng progress indicator para sa mga operasyon CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL at pg_checksums;
  • Nagdagdag ng utos "GUMAWA NG ACCESS METHODΒ» upang ikonekta ang mga humahawak para sa mga bagong paraan ng pag-iimbak ng talahanayan na na-optimize para sa iba't ibang partikular na gawain. Sa kasalukuyan ang tanging built-in na paraan ng pag-access sa talahanayan ay "bunton";
  • Ang recovery.conf configuration file ay pinagsama sa postgresql.conf. Bilang mga tagapagpahiwatig ng paglipat sa estado ng pagbawi pagkatapos ng isang pagkabigo, ngayon dapat gumamit ng recovery.signal at standby.signal file.

Pinagmulan: opennet.ru

Magdagdag ng komento