Ang PostgreSQL, na tinatawag ding Postgres, ay isang open source, object-oriented relational database management system.
Pagkatapos ng 11 na buwan ng pag-unlad, Ang paglulunsad ng bagong bersyon ng PostgreSQL 16 ay inihayag, na dumating bilang isang bagong matatag na sangay ng DBMS at kung saan mga update sa loob ng limang taon, hanggang Nobyembre 2028, Bilang karagdagan, minarkahan nito ang pagtatapos ng PostgreSQL 11.x branch, na siyang pinakamatandang kasalukuyang branch na may suporta, na magtatapos sa Nobyembre 9.
Para sa mga hindi pa pamilyar sa PostgreSQL, dapat mong malaman na kilala rin ito bilang Postgres at ito ay isang kaugnay na sistema ng pamamahala ng database (RDBMS) libre, bukas na mapagkukunan, na naglalayong mag-alok ng isang database batay sa extensibility at pagsunod sa mga pamantayang teknikal.
Pangunahing mga bagong tampok ng PostgreSQL 16
Sa bagong bersyon na ito ng PostgreSQL 16 na ipinakita, ito ay namumukod-tangi Ang mga tool sa pagkontrol sa pag-access para sa lohikal na pagtitiklop ay pinalawak. Halimbawa, nagdagdag ng bagong paunang natukoy na function na “pg_create_subscription,” na nagbibigay-daan sa iyong bigyan ang mga user ng karapatang lumikha ng mga bagong subscription.
Dinagdagan suporta para sa load balancing sa panig ng mga kliyente na gumagamit ng karaniwang libpq library, ang pagbabalanse ay nagbibigay-daan sa kliyente na kumonekta sa iba't ibang mga host, na maaaring mapili sa isang tiyak o random na pagkakasunud-sunod. Kung ang host ay hindi magagamit, isang pagtatangka ay ginawa upang kumonekta sa isa pang server. Kapag naitatag na ang koneksyon, ang mga kahilingan sa loob ng session ay ipapadala sa napiling server.
Bukod dito ang mga pag-optimize ay ginawa at ang gawain ng tagaplano ng query ay napabuti, dahil ang parallelization ng table join operations » COMPLETELY » at » RIGHT JOIN » ay ibinigay
Sa PostgreSQL 16, mahahanap din natin iyon pinalawak na suporta para sa mga lokal na "Collation" na pag-aari, na nagbibigay-daan sa pagtatatag ng mga panuntunan sa pag-uuri at mga pamamaraan ng paghahambing na isinasaalang-alang ang kahulugan ng mga character. Bilang default, pinagsama-sama na ito sa mga lokal na ICU sa halip na sa lokal na libc.
Ito ay naging pinahusay na pagganap ng lohikal na pagtitiklop, mula noong kakayahang gumamit ng mga processor na tumatakbo nang sabay-sabay, bilang karagdagan sa pagdaragdag ng kakayahang gumamit ng mga B-tree index para sa mga talahanayan na walang pangunahing mga key, na nag-aalis ng pangangailangan para sa sunud-sunod na pag-scan kapag naghahanap ng mga tala at pinabilis din ang paunang pag-synchronize ng ilang mga talahanayan sa binary na format.
Ang isa pang pagpapabuti na natanggap ng lohikal na mekanismo ng pagtitiklop ay iyon pinapayagan na ngayon ang pagpapadala ng mga pagbabagong ginawa sa database Kapag nagdadagdag, nagde-delete, o nag-a-update ng mga tala sa isa pang server, pinalawak ito nang may kakayahang magtiklop ng mga pagbabago mula sa isang backup na server.
Dinagdag din suporta para sa bidirectional logical table replication, na nagpapahintulot sa mga pagbabago sa dalawang talahanayan sa magkaibang mga server na ma-synchronize. Ang mga kakayahan sa pagtitiklop na idinagdag sa PostgreSQL 16 ay nagbibigay-daan sa iyo na lumikha ng mga pagsasaayos na may maraming aktibong server (aktibong-aktibong mode), kung saan maaari mong sabay na isagawa ang mga operasyong INSERT, UPDATE, DELETE.
Ng iba pang mga pagbabago matindi yan:
- Na-optimize ang paggamit ng mga pagpapatakbong “RIGHT JOIN” at “OUTER JOIN” para maghanap ng mga row na wala sa pinagsamang talahanayan (“anti-join”).
- Pinahusay na kahusayan ng plano sa pag-optimize para sa mga query na gumagamit ng pinagsama-samang mga function kasama ng mga sugnay na DISTINCT o ORDER BY.
- Ang incremental na pag-uuri ay ginagamit upang pabilisin ang SELECT DISTINCT na mga query.
Ang diskarte sa pagpapatakbo ng VACUUM ay pinahusay upang mabawasan ang bilang ng mga sitwasyon na nangangailangan ng pag-lock sa buong talahanayan. - Sa mga arkitektura ng x86 at ARM, ipinapatupad ang mga tagubilin sa pagproseso ng vector (SIMD) upang mapabilis ang pagproseso ng mga string ng ASCII, mga operasyon sa data ng JSON, at pagsasagawa ng mga paghahanap at subtransaksyon ng array.
- Kasama na ngayon sa module na “auto_explain” ang suporta para sa mga value ng pag-log na ipinasa sa mga parameterized na query.
- Pinahusay ang katumpakan ng algorithm ng pagsubaybay sa kahilingan na ginamit sa mga pg_stat_statements at pg_stat_activity view.
- Ang mga kakayahan para sa pagsubaybay sa pagganap ng DBMS ay pinalawak. Nagdagdag ng view ng serbisyo » pg_stat_io » na may mga istatistika na sumasalamin sa pagkarga sa I/O system ng iba't ibang backend (worker sa background, autovacuum, atbp.) at mga bagay.
- Ang isang bagong field ay naidagdag sa view ng serbisyo » pg_stat_all_tables » na may impormasyon tungkol sa oras ng huling pag-scan ng isang talahanayan o index.
sa wakas kung ikaw nga interesadong malaman ang higit pa tungkol dito, maaari mong suriin ang mga detalye sa sumusunod na link.