PostgreSQL 12 DBMS lage

Apre yon ane nan devlopman pibliye nouvo branch ki estab nan PostgreSQL 12 DBMS Mizajou pou nouvo branch lan ap soti pou senk ane jiska novanm 2024.

Prensipal la inovasyon:

  • Te ajoute sipò pou "kolòn pwodwi yo", ki se valè a kalkile ki baze sou yon ekspresyon ki kouvri valè yo nan lòt kolòn nan menm tablo a (menm jan ak opinyon, men pou kolòn endividyèl). Kolòn yo pwodwi yo ka nan de kalite - ki estoke ak vityèl. Nan premye ka a, valè a kalkile nan moman done yo ajoute oswa chanje, ak nan dezyèm ka a, valè a kalkile sou chak lekti ki baze sou eta aktyèl la nan lòt kolòn. Kounye a, PostgreSQL sèlman sipòte ki estoke pwodwi kolòn;
  • Te ajoute kapasite nan rechèch done ki soti nan dokiman JSON lè l sèvi avèk Path ekspresyon, okoumansman XPath epi defini nan estanda SQL/JSON. Mekanis Indexing ki egziste deja yo itilize pou amelyore efikasite nan trete ekspresyon sa yo pou dokiman ki estoke nan fòma JSONB;
  • Aktive pa default se itilizasyon yon konpilateur JIT (Just-in-Time) ki baze sou devlopman LLVM pou akselere ekzekisyon kèk ekspresyon pandan pwosesis rechèch SQL. Pa egzanp, JIT yo itilize pou akselere egzekisyon ekspresyon andedan blòk WHERE, lis sib, ekspresyon total, ak kèk operasyon entèn;
  • Pèfòmans Indexing te siyifikativman amelyore. Endis B-tree yo optimize pou travay nan anviwònman kote endèks yo chanje souvan - TPC-C tès yo montre yon ogmantasyon jeneral nan pèfòmans ak yon rediksyon mwayèn nan konsomasyon espas disk nan 40%. Diminye sou tèt yo lè w ap jenere ekriti ekri an avans (WAL) pou kalite endèks GiST, GIN ak SP-GiST. Pou GiST, yo te ajoute kapasite pou kreye endèks wrapper (via ekspresyon INCLUDE) ki gen ladan kolòn adisyonèl. Nan operasyon KREYE STATISTIK Ofri sipò pou estatistik Valè ki pi komen (MCV) pou jenere plan rechèch pi pi bon lè w ap itilize kolòn ki distribye inegalman;
  • Enplemantasyon patisyon an optimize pou demann ki kouvri tab ak dè milye de patisyon, men yo limite a chwazi yon sous-ensemble limite nan done. Pèfòmans pou ajoute done nan tab patisyon yo lè l sèvi avèk INSERT ak COPY operasyon yo te ogmante, epi li posib tou pou ajoute nouvo seksyon atravè "ALTER TABLE ATACHE PARTITION" san yo pa bloke ekzekisyon demann;
  • Te ajoute sipò pou ekspansyon otomatik enline ekspresyon tab jeneralize yo (Ekspresyon tab komen, CTE) ki pèmèt yo sèvi ak seri rezilta non tanporè ki espesifye lè l sèvi avèk deklarasyon WITH la. Deplwaman an liy ka amelyore pèfòmans pifò demann, men kounye a yo itilize sèlman pou CTE ki pa rekursif;
  • Te ajoute sipò ki pa detèmine pwopriyete lokal "Kollasyon", ki pèmèt ou etabli règ klasman ak metòd matche ak an konsiderasyon siyifikasyon karaktè yo (pa egzanp, lè klasman valè dijital, prezans nan yon mwens ak yon pwen devan yon nimewo ak diferan kalite. nan òtograf yo pran an konsiderasyon, epi lè w konpare, ka karaktè yo ak prezans yon mak aksan yo pa pran an konsiderasyon) ;
  • Te ajoute sipò pou otantifikasyon kliyan milti-faktè, kote nan pg_hba.conf ou ka konbine otantifikasyon sètifika SSL (clientcert=verify-full) ak yon metòd otantifikasyon adisyonèl tankou scram-sha-256 pou otantifikasyon;
  • Te ajoute sipò pou chifreman nan chanèl kominikasyon an lè otantifikasyon atravè GSSAPI, tou de sou bò kliyan ak sou bò sèvè;
  • Te ajoute sipò pou detèmine sèvè LDAP ki baze sou dosye "DNS SRV" si PostgreSQL bati ak OpenLDAP;
  • Te ajoute operasyon "REINDEX AK TANTANTAN» pou rebati endèks san bloke operasyon ekri nan endèks la;
  • Te ajoute kòmandman pg_checksums, ki pèmèt ou aktive oswa enfim tcheke sòm chèk nan paj done pou yon baz done ki egziste deja (anvan operasyon sa a te sipòte sèlman pandan inisyalizasyon baz done);
  • Bay pwodiksyon endikatè pwogrè pou operasyon CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL ak pg_checksums;
  • Te ajoute kòmandman "KREYE METÒD AKSÈ» pou konekte moun kap okipe yo pou nouvo metòd depo tab ki optimize pou plizyè travay espesifik. Kounye a sèlman bati-an metòd aksè tab la se "heap";
  • Fichye konfigirasyon recovery.conf fizyone ak postgresql.conf. Kòm endikatè tranzisyon nan eta a nan rekiperasyon apre yon echèk, kounye a ta dwe itilize dosye recovery.signal ak standby.signal.

Sous: opennet.ru

Add nouvo kòmantè