Datganiad PostgreSQL 14

Ar ôl blwyddyn o ddatblygiad, cyhoeddwyd cangen sefydlog newydd o DBMS PostgreSQL 14. Bydd diweddariadau ar gyfer y gangen newydd yn cael eu rhyddhau dros bum mlynedd tan fis Tachwedd 2026.

Prif arloesiadau:

  • Ychwanegwyd cefnogaeth ar gyfer cyrchu data JSON gan ddefnyddio ymadroddion tebyg i arae: SELECT ('{ "postgres": { "rhyddhau": 14 }} '::jsonb)['postgres']['release']; SELECT * FROM test WHERE details['attributes']['size'] = '"canolig"';

    Gweithredir cystrawen debyg ar gyfer y data allweddol/gwerth a ddarperir gan y math hstore. Gweithredwyd y gystrawen hon i ddechrau gan ddefnyddio fframwaith cyffredinol, y gellir ei ddefnyddio ar gyfer mathau eraill yn y dyfodol. Enghraifft ar gyfer math hstore: RHOWCH I MEWN I WERTHOEDD mytable ('a=>b, c=>d'); DEWIS H['a'] O mytable; UPDATE mytable SET h['c'] = 'newydd';

  • Mae'r teulu o fathau ar gyfer diffinio ystodau wedi'u hehangu gyda mathau “amryson” newydd, sy'n eich galluogi i nodi rhestrau trefnus o ystodau o werthoedd nad ydynt yn gorgyffwrdd. Yn ogystal â phob math o amrediad presennol, cynigir ei fath aml-ystod ei hun, er enghraifft, mae'r math "int4range" yn cyfateb i "int4multirange", ac mae'r math "daterange" yn cyfateb i "datemultirange". Mae'r defnydd o fathau newydd yn symleiddio dyluniad ymholiadau sy'n trin dilyniannau ystodau cymhleth. SELECT '{[3,7), [8,9)}'::int4multirange; SELECT rhifolrange(numrange(1.0, 14.0), nummrange(20.0, 25.0));
  • Mae optimeiddiadau wedi'u gwneud i wella perfformiad systemau llwyth uchel sy'n prosesu nifer fawr o gysylltiadau. Mewn rhai profion, gwelir cynnydd deublyg mewn perfformiad.
  • Mae effeithlonrwydd mynegeion coed-B wedi'i wella ac mae'r broblem gyda thwf mynegai pan fydd tablau'n cael eu diweddaru'n aml wedi'i datrys.
  • Cefnogaeth ychwanegol i'r modd ochr y cleient (a weithredir ar lefel libpq) o drosglwyddo ceisiadau ar y gweill, sy'n eich galluogi i gyflymu'n sylweddol senarios cronfa ddata sy'n gysylltiedig â chyflawni nifer fawr o weithrediadau ysgrifennu bach (NODWCH / DIWEDDARIAD / DILEU) trwy anfon y cais nesaf heb aros canlyniad yr un blaenorol. Mae'r modd hefyd yn helpu i gyflymu gwaith ar gysylltiadau ag oedi hir wrth ddosbarthu pecynnau.
  • Galluoedd uwch ar gyfer ffurfweddiadau dosbarthedig sy'n cynnwys gweinyddwyr PostgreSQL lluosog. Wrth weithredu ailadrodd rhesymegol, mae bellach yn bosibl anfon trafodion ar y gweill yn y modd ffrydio, a all wella'n sylweddol berfformiad ailadrodd trafodion mawr. Yn ogystal, mae dadgodio rhesymegol y data a dderbyniwyd yn ystod atgynhyrchu rhesymegol wedi'i optimeiddio.
  • Mae'r mecanwaith ar gyfer cysylltu tablau allanol Lapiwr Data Tramor (postgres_fdw) wedi ychwanegu cefnogaeth ar gyfer prosesu ymholiadau cyfochrog, sydd ar hyn o bryd ond yn berthnasol wrth gysylltu â gweinyddwyr PostgreSQL eraill. Mae postgres_fdw hefyd yn ychwanegu cefnogaeth ar gyfer ychwanegu data at dablau allanol yn y modd swp a'r gallu i fewnforio tablau rhanedig trwy nodi'r gyfarwyddeb “SCHEMA TRAMOR MEWNFORIO”.
  • Gwnaed optimeiddiadau i weithrediad y gweithrediad VACUUM (casglu sbwriel a phecynnu storfa ddisg). Mae modd glanhau brys wedi'i ychwanegu sy'n hepgor gweithrediadau glanhau nad ydynt yn hanfodol os crëir amodau cofleidiol ID trafodion. Llai o orbenion wrth brosesu mynegeion yn y fformat B-Tree. Mae gweithrediad y gweithrediad “DADANSODDIAD”, sy'n casglu ystadegau am weithrediad y gronfa ddata, wedi'i gyflymu'n sylweddol.
  • Ychwanegwyd y gallu i ffurfweddu'r dull cywasgu a ddefnyddir yn y system TOAST, sy'n gyfrifol am storio data mawr, megis blociau o destun neu wybodaeth geometrig. Yn ogystal â'r dull cywasgu pglz, gall TOAST nawr ddefnyddio'r algorithm LZ4.
  • Mae'r offer ar gyfer monitro gweithrediad y DBMS wedi'u hehangu. Ychwanegwyd golygfeydd i olrhain cynnydd gorchmynion COPY (pg_stat_progress_copy), ystadegau am slotiau atgynhyrchu (pg_stat_replication_slots) a gweithgaredd sy'n gysylltiedig â log trafodion WAL (pg_stat_wal). Mae'r ffwythiant compute_query_id wedi ei ychwanegu, sy'n galluogi is-systemau amrywiol, megis pg_stat_activity ac EXPLAIN VERBOSE, i olrhain ceisiadau trwy aseinio dynodwr unigryw ar gyfer pob cais.
  • Mae optimeiddiadau wedi'u hychwanegu at y cynllunydd ymholiad i wella prosesu ymholiadau cyfochrog a gwella perfformiad gweithredu ar yr un pryd o weithrediadau sganio cofnodion dilyniannol, cyflawni ymholiadau yn PL/pgSQL yn gyfochrog gan ddefnyddio'r gorchymyn “RETURN QUERY”, a gweithredu ymholiadau cyfochrog yn “ GOLWG WEDI'I DDIWYFOLI”. Er mwyn gwella perfformiad uno cylchol (join), mae cefnogaeth ar gyfer caching ychwanegol wedi'i roi ar waith.
  • Bellach gellir defnyddio ystadegau uwch i optimeiddio mynegiadau, a gellir defnyddio didoli cynyddrannol yn awr i optimeiddio swyddogaethau ffenestr.
  • Mae gweithdrefnau wedi'u storio sy'n eich galluogi i reoli trafodion mewn blociau o god bellach yn cefnogi diffinio data dychwelyd gan ddefnyddio paramedrau "OUT".
  • Ychwanegwyd swyddogaeth date_bin i dalgrynnu gwerthoedd stamp amser yn ôl cyfwng penodedig. SELECT date_bin('15 munud', TIMESTAMP '2020-02-11 15:44:17', TIMESTAMP '2001-01-01'); 2020-02-11 15:30:00
  • Ymadroddion CHWILIO a CYLCH YCHWANEGOL a ddiffinnir yn y safon SQL i'w gwneud yn haws archebu ac adnabod cylchoedd mewn Mynegiadau Tabl Cyffredin ailadroddus (CTE). GYDA RECURSIVE search_tree(id, dolen, data) UG ( SELECT t.id, t.link, t.data O'r goeden t UNDEB PAWB SELECT t.id, t.link, t.data O goeden t, search_tree st LLE t. id = st.link ) Dyfnder CHWILIO YN GYNTAF GAN id SET ordercol SELECT * O search_tree GORCHYMYN GAN ordercol;
  • Yn y cyfleustodau psql, mae awtolenwi gorchmynion gyda thabiau wedi'i wella, mae'r gallu i arddangos dadleuon swyddogaeth wedi'i ychwanegu at y gorchymyn "\df", ac mae'r ystadegau a ddangosir wedi'u hehangu i'r gorchymyn "\ dX".
  • Mae'n bosibl aseinio breintiau darllen yn unig neu ysgrifennu yn unig i ddefnyddwyr. Gellir gosod breintiau ar dablau unigol, golygfeydd, a sgemâu gan ddefnyddio'r rolau rhagddiffiniedig pg_read_all_data a pg_write_all_data. GRANT pg_read_all_data I ddefnyddiwr1;
  • Gosodiadau newydd rhagosodedig i ddilysu cyfrinair gan ddefnyddio SCRAM-SHA-256 yn lle md5 (mae'r paramedr "password_encryption" wrth gynhyrchu postgresql.conf bellach wedi'i osod i 'scram-sha-256').

Ffynhonnell: opennet.ru

Ychwanegu sylw