PostgreSQL 14 nga pagpagawas

Pagkahuman sa usa ka tuig nga pag-uswag, usa ka bag-ong stable nga sanga sa PostgreSQL 14 DBMS ang gipatik. Ang mga update alang sa bag-ong sanga ipagawas sa lima ka tuig hangtod sa Nobyembre 2026.

Panguna nga mga inobasyon:

  • Gidugang nga suporta alang sa pag-access sa datos sa JSON gamit ang mga ekspresyong sama sa array: SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release']; PILI * GIKAN sa pagsulay DIIN ang mga detalye['mga hiyas']['kadako'] = '"medium"';

    Ang usa ka susama nga syntax gipatuman alang sa yawe / bili nga datos nga gihatag sa tipo sa hstore. Kini nga syntax sa sinugdan gipatuman gamit ang usa ka unibersal nga gambalay, nga sa umaabot mahimong gamiton alang sa ubang mga matang. Pananglitan para sa tipo sa hstore: INSERT INTO mytable VALUES ('a => b, c => d'); PILI h['a'] GIKAN sa mytable; I-UPDATE ang mytable SET h['c'] = 'bag-o';

  • Ang pamilya sa mga tipo alang sa pagdeterminar sa mga han-ay gipalapdan sa mga bag-ong "multirange" nga mga tipo, nga nagtugot kanimo sa pagpiho sa gimando nga mga lista sa dili nagsapaw-sapaw nga mga han-ay sa mga kantidad. Dugang pa sa matag kasamtangan nga matang sa range, ang kaugalingong multirange nga matang gisugyot, pananglitan, ang tipo nga "int4range" katumbas sa "int4multirange", ug ang tipo nga "daterange" katumbas sa "datemultirange". Ang paggamit sa bag-ong mga tipo nagpasimple sa disenyo sa mga pangutana nga nagmaniobra sa mga komplikadong han-ay sa mga han-ay. PILI '{[3,7), [8,9)}'::int4multirange; PILI ang nummultirange(numrange(1.0, 14.0), numrange(20.0, 25.0));
  • Gihimo ang mga pag-optimize aron mapaayo ang pasundayag sa mga sistema sa high-load nga nagproseso sa daghang mga koneksyon. Sa pipila ka mga pagsulay, usa ka doble nga pagtaas sa pasundayag ang nakita.
  • Ang kaepektibo sa mga indeks sa B-tree gipauswag ug ang problema sa pagtubo sa indeks kung ang mga lamesa kanunay nga gi-update nasulbad.
  • Gidugang nga suporta alang sa bahin sa kliyente (gipatuman sa lebel sa libpq) nga paagi sa pagpasa sa pipeline sa mga hangyo, nga nagtugot kanimo nga mapadali ang mga senaryo sa database nga may kalabotan sa paghimo sa daghang gagmay nga mga operasyon sa pagsulat (INSERT / UPDATE / DELETE) pinaagi sa pagpadala sa sunod nga hangyo nga wala maghulat sa resulta sa nauna. Ang mode makatabang usab sa pagpadali sa pagtrabaho sa mga koneksyon nga adunay taas nga mga paglangan sa pagpadala sa pakete.
  • Gipauswag nga mga kapabilidad alang sa gipang-apod-apod nga mga pag-configure nga naglambigit sa daghang mga server sa PostgreSQL. Sa pagpatuman sa lohikal nga pagkopya, mahimo na karon nga ipadala ang mga transaksyon sa streaming mode nga naa sa proseso sa pagpatuman, nga mahimo’g mapauswag ang paghimo sa pagkopya sa dagkong mga transaksyon. Dugang pa, ang lohikal nga pag-decode sa datos nga nadawat sa panahon sa lohikal nga pagkopya na-optimize.
  • Ang mekanismo alang sa pagkonektar sa gawas nga mga lamesa Foreign Data Wrapper (postgres_fdw) midugang og suporta alang sa parallel nga pagproseso sa pangutana, nga sa pagkakaron magamit lamang kon magkonektar sa ubang mga PostgreSQL server. Ang postgres_fdw nagdugang usab og suporta alang sa pagdugang sa datos sa mga eksternal nga lamesa sa batch mode ug ang abilidad sa pag-import sa mga partitioned table pinaagi sa pagtino sa "IMPORT FOREIGN SCHEMA" nga direktiba.
  • Ang mga pag-optimize gihimo sa pagpatuman sa operasyon sa VACUUM (pagkolekta sa basura ug pagputos sa pagtipig sa disk). Gidugang ang usa ka mode sa paglimpyo sa emerhensya nga gilaktawan ang dili kinahanglan nga mga operasyon sa paglimpyo kung ang mga kondisyon sa wraparound sa transaksyon ID gihimo. Gipakunhod ang overhead sa pagproseso sa mga indeks sa B-Tree format. Ang pagpatuman sa "ANALYZE" nga operasyon, nga nagkolekta sa mga estadistika mahitungod sa operasyon sa database, gipaspasan pag-ayo.
  • Gidugang ang abilidad sa pag-configure sa pamaagi sa compression nga gigamit sa TOAST system, nga responsable sa pagtipig sa dagkong datos, sama sa mga bloke sa teksto o geometric nga impormasyon. Dugang pa sa pglz compression method, ang TOAST makagamit na sa LZ4 algorithm.
  • Ang mga himan alang sa pagmonitor sa operasyon sa DBMS gipalapdan. Gidugang nga mga panan-aw aron masubay ang pag-uswag sa COPY nga mga sugo (pg_stat_progress_copy), mga estadistika bahin sa mga replication slots (pg_stat_replication_slots) ug kalihokan nga may kalabotan sa WAL transaction log (pg_stat_wal). Ang compute_query_id function gidugang, nga makapahimo sa lain-laing mga subsystems, sama sa pg_stat_activity ug EXPLAIN VERBOSE, sa pagsubay sa mga hangyo pinaagi sa pag-assign sa usa ka talagsaon nga identifier alang sa matag hangyo.
  • Ang mga pag-optimize gidugang sa query planner aron mapaayo ang parallel nga pagproseso sa mga pangutana ug mapaayo ang performance sa dungan nga pagpatuman sa sequential record scan operations, parallel execution sa mga pangutana sa PL/pgSQL gamit ang "RETURN QUERY" command, ug parallel execution sa mga pangutana sa " REFRESH MATERIALIZED VIEW”. Aron mapausbaw ang performance sa cyclic nested merges (join), gipatuman ang suporta para sa dugang nga caching.
  • Ang mga advanced statistics magamit na aron ma-optimize ang mga ekspresyon, ug ang incremental sorting magamit na aron ma-optimize ang mga function sa bintana.
  • Ang gitipigan nga mga pamaagi nga nagtugot kanimo sa pagdumala sa mga transaksyon sa mga bloke sa code karon nagsuporta sa pagtino sa pagbalik sa datos gamit ang "OUT" nga mga parameter.
  • Gidugang date_bin function sa round timestamp values ​​​​sumala sa usa ka piho nga agwat. SELECT date_bin('15 minutos', TIMESTAMP '2020-02-11 15:44:17', TIMESTAMP '2001-01-01'); 2020-02-11 15:30:00
  • Gidugang ang SEARCH ug CYCLE nga mga ekspresyon nga gihubit sa sukaranan sa SQL aron mas dali ang pag-order ug pag-ila sa mga siklo sa recursive Common Table Expressions (CTE). UBAN SA RECURSIVE search_tree(id, link, data) AS ( SELECT t.id, t.link, t.data GIKAN sa tree t UNION TANAN PILI t.id, t.link, t.data GIKAN sa tree t, search_tree st ASA t. id = st.link ) SEARCH DEPTH UNA SA id SET ordercol PILI * GIKAN sa search_tree ORDER BY ordercol;
  • Sa psql utility, ang autocompletion sa mga commands nga adunay mga tab gipaayo, ang abilidad sa pagpakita sa function arguments gidugang sa "\df" command, ug ang gipakita nga statistics gipalapdan sa "\dX" command.
  • Posible ang paghatag ug read-only o write-only nga mga pribilehiyo sa mga tiggamit. Ang mga pribilehiyo mahimong ibutang sa tagsa-tagsa nga mga lamesa, mga panglantaw, ug mga eskema gamit ang pg_read_all_data ug pg_write_all_data nga gitakda nang daan nga mga tahas. PAGHATAG pg_read_all_data SA user1;
  • Bag-ong mga instalasyon nga default sa password authentication gamit ang SCRAM-SHA-256 imbes sa md5 (ang "password_encryption" nga parametro kung ang pagmugna sa postgresql.conf kay gibutang na sa 'scram-sha-256').

Source: opennet.ru

Idugang sa usa ka comment