Pagkahuman sa usa ka tuig nga pag-uswag, usa ka bag-ong stable nga sanga sa PostgreSQL 17 DBMS ang gipatik nga Mga update alang sa bag-ong sanga ipagawas sa lima ka tuig hangtod Nobyembre 2029. Ang PostgreSQL 12.x, ang labing karaan nga gisuportahan nga sanga, matapos sa Nobyembre 14.
Panguna nga mga inobasyon:
- Kung maghimo usa ka operasyon sa VACUUM (pagkolekta sa basura, paglimpyo ug pagputos sa pagtipig sa disk), usa ka bag-ong istruktura sa datos ang gigamit nga nagkonsumo hangtod sa 20 ka beses nga gamay nga memorya. Ang pagbalhin ngadto sa bag-ong estraktura nagtugot sa mga operasyon sa VACUUM nga modagan nga mas paspas ug makunhuran ang konsumo sa gipaambit nga mga kahinguhaan.
- Padayon nga pag-optimize sa performance sa I/O. Ang mga pag-uswag sa code alang sa pagdumala sa WAL lazy write logs nakadugang sa pagsulat sa throughput hangtod sa duha ka beses sa mga sistema nga adunay daghang kadungan nga mga pangutana. Usa ka bag-ong streaming I/O interface ang gisugyot aron madugangan ang katulin sa sequential data search sa mga lamesa ug mapadali ang pag-update sa mga istatistika para sa query planner human sa pagbuhat sa ANALYZE operation.
- Mas maayo nga performance para sa IN nga mga pangutana kung mogamit sila og B-tree index. Ang posibilidad sa parallel construction sa BRIN (Block Range Index) index gipatuman. Ang query planner nag-optimize sa "NOT NULL" nga mga tseke ug gipadali ang pagproseso sa Common Table Expressions (CTE) nga gihubit gamit ang SQL "WITH" command. Ang paggamit sa vector processor instructions (SIMD) gihatag aron mapadali ang pipila ka kalkulasyon, pananglitan, ang AVX-512 nga mga instruksiyon gigamit aron mapadali ang bit_count function.
- Ang suporta alang sa bag-ong mga bahin alang sa pagtrabaho uban sa JSON format nga gihubit sa SQL/JSON nga sumbanan gipatuman. Gidugang ang function sa JSON-TABLE aron ma-convert ang data sa JSON ngadto sa regular nga mga lamesa sa PostgreSQL, ingon man ang bag-ong mga operator sa jsonpath aron ma-convert ang datos sa JSON ngadto sa lumad nga mga tipo sa datos sa PostgreSQL. Bag-ong mga gimbuhaton ang gisugyot alang sa paghimo (JSON, JSON_SCALAR ug JSON_SERIALIZE) ug pagpangutana (JSON_EXISTS, JSON_QUERY ug JSON_VALUE) nga datos sa JSON nga format.
- Ang mga kapabilidad sa "MERGE" nga SQL command gipalapdan, nga nagtugot kanimo sa paghimo sa conditional SQL nga mga ekspresyon nga naghiusa sa INSERT, UPDATE ug DELETE nga mga operasyon sa usa ka ekspresyon. Gidugang nga suporta alang sa RETURNING nga ekspresyon, nga nagtugot kanimo sa pagkalkulo ug pagbalik sa mga kantidad base sa gidugang, gi-update, o gitangtang nga mga linya. Gipatuman ang suporta alang sa pag-update sa mga panan-aw.
- Ang mga kapabilidad sa pagkarga ug pag-eksport sa datos sa batch mode gipalapdan. Sa COPY command, ang katulin sa pag-eksport sa dagkong mga kuwerdas nadugangan hangtod sa duha ka beses, ang pagkopya na-optimize kung ang gigikanan ug ang target nga mga pag-encode magkatugma, ug ang kapilian nga ON_ERROR gidugang, nga nagtugot kanimo nga magpadayon sa pag-import pagkahuman sa mga sayup kung magsulud sa datos .
- Alang sa mga partitioned table, ang abilidad sa paggamit sa mga column nga adunay talagsaon nga mga identifier ug suporta alang sa "Constraint exclusion" query optimization technique gidugang.
- Ang mekanismo sa Foreign Data Wrapper (postgres_fdw) para sa pagkonektar sa mga external nga lamesa karon nagtugot na sa pagbalhin sa datos ngadto sa usa ka external nga... server mga subquery nga "EXISTS" ug "IN."
- Ang usa ka built-in nga platform-independent nga makina gipatuman alang sa pagproseso sa mga kabtangan sa "Collation" nga lokal, nga gigamit sa pagtakda sa mga lagda sa paghan-ay ug pagpares nga mga pamaagi nga gikonsiderar ang kahulogan sa mga karakter (pananglitan, kung naghan-ay sa mga digital nga kantidad, ang presensya sa usa ka minus ug usa ka tulbok sa atubangan sa usa ka numero ug lain-laing mga matang sa spelling giisip, apan sa diha nga ang pagtandi wala kini giisip nga kaso sa mga karakter ug ang presensya sa usa ka marka sa accent). Gigarantiyahan sa bag-ong makina ang uniporme nga pamatasan sa pag-sort sa mga resulta sa pangutana, bisan unsa pa ang platform nga gipadagan sa PostgreSQL.
- Ang lohikal nga mekanismo sa replikasyon, nga nagtugot sa mga pagbag-o nga gihimo sa database sa panahon sa pagdugang, pagtangtang o pag-update sa mga rekord nga mahubad sa lain nga server, nagpasimple sa proseso sa pag-update sa DBMS. Kaniadto, kung mobalhin sa usa ka bag-ong mayor nga pagpagawas, kinahanglan nimo nga tangtangon ang mga lohikal nga replikasyon nga mga slot ug i-synchronize ang datos, karon mahimo nimo nga wala’y pagtangtang sa mga slot. Para sa fault-tolerant configurations, ang abilidad sa pagkontrolar sa pagbalhin ngadto sa backup server (failover) para sa lohikal nga replikasyon gipatuman. Usa ka bag-ong pg_createsubscriber utility ang gidugang aron mabag-o ang usa ka pisikal nga kopya ngadto sa usa ka bag-ong lohikal nga kopya.
- Gidugang ang usa ka bag-ong kapilian nga "sslnegotiation" aron direkta nga makigsabot sa luwas nga mga koneksyon sa TLS gamit ang extension sa ALPN TLS.
- Ang gitakda nang daan nga papel nga pg_maintain gipatuman, nga naghatag sa tiggamit sa katungod sa paghimo sa mga operasyon nga may kalabutan sa pagmintinar sa DBMS.
- Ang suporta alang sa incremental backups gidugang sa pg_basebackup utility, gigamit sa paghimo sa database backups. Aron matukod pag-usab ang usa ka bug-os nga backup gikan sa usa ka set sa incremental nga mga kopya, usa ka bag-ong utility nga pg_combinebacku ang gisugyot. Ang opsyon nga "--filter" gidugang sa pg_dump utility aron mapili ang mga butang nga iapil sa dump.
- Kung nag-analisa sa mga pangutana gamit ang "PAKITA" nga SQL command, ang oras nga gigugol sa pagbasa ug pagsulat sa mga lokal nga bloke sa panahon sa I/O gipakita. Ang EXPLAIN command nagdugang usab og duha ka bag-ong mga opsyon, MEMORY ug SERIALIZE, nga nagtugot kanimo sa pagtino sa gidaghanon sa memorya nga gigamit ug ang oras nga gigugol sa pag-convert sa data alang sa transmission sa network.
- Naghatag usa ka timailhan sa pag-uswag sa operasyon sa VACUUM nga adunay mga indeks.
- Ang pg_wait_events system view gidugang, nga inubanan sa pg_stat_activity view nagtugot kanimo sa pag-drill sa kung nganong ang aktibo nga mga sesyon anaa sa naghulat nga kahimtang.
Source: opennet.ru
