PostgreSQL 14 andmebaasi vÀljalaskmine

PÀrast aasta arendust on avaldatud uus stabiilne PostgreSQL 14 andmebaasi versioon. Uuendusi uues harus antakse vÀlja viie aasta jooksul kuni novembrini 2026.

Peamised uuendused:

  • Lisa toetus JSON-andmete juurde pÀÀsemiseks vĂ€ljendite abil, mis sarnaneb massiividega: SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release']; SELECT * FROM test WHERE details['attributes']['size'] = '"medium"';

    Sarnane sĂŒntaks on rakendatud ka vĂ”tme/vÀÀrtuse formaadis andmete jaoks, mida pakub hstore tĂŒĂŒp. Sarnane sĂŒntaks on algselt rakendatud kasutades universaalset raamistikku, mida vĂ”ib tulevikus kasutada ka teiste tĂŒĂŒpide jaoks. NĂ€ide hstore tĂŒĂŒbi jaoks: INSERT INTO mytable VALUES ('a=>b, c=>d'); SELECT h['a'] FROM mytable; UPDATE mytable SET h['c'] = 'new';

  • TĂŒĂŒpide perekonda, mis mÀÀratleb vahemikke, on laiendatud uute multirange tĂŒĂŒpidega, mis vĂ”imaldavad mÀÀrata jĂ€rjestatud loendeid mitteĂŒhtivate vÀÀrtuste vahemikke. Iga olemasoleva range-tĂŒĂŒbi jaoks on ette nĂ€htud oma multirange tĂŒĂŒp, nĂ€iteks tĂŒĂŒbile 'int4range' vastab 'int4multirange', ning 'daterange' - 'datemultirange'. Uute tĂŒĂŒpide kasutamine lihtsustab keeruliste vahemike jĂ€rjestuse pĂ€ringute koostamist. SELECT '{[3,7), [8,9)}'::int4multirange; SELECT nummultirange(numrange(1.0, 14.0), numrange(20.0, 25.0));
  • Teostatud optimiseerimised, et suurendada kĂ”rge koormusega sĂŒsteemide jĂ”udlust, mis töötlevad suurt hulka ĂŒhendusi. MĂ”nedes testides on tĂ€heldatud kahekordset jĂ”udluse kasvu.
  • TĂ”hustatud B-puu indeksite efektiivsust ja lahendatud probleem indeksite paisumisega sagedaste tabelite uuenduste korral.
  • Lisa toetus kliendipoolse reĆŸiimi (rakendatud libpq tasemel) torustikureĆŸiimi, mis vĂ”imaldab oluliselt kiirendada andmebaasi töövooge, mis hĂ”lmavad suure arvu vĂ€ikeste kirjutamisoperatsioonide (INSERT/UPDATE/DELETE) tĂ€itmist, saates jĂ€rgmise pĂ€ringu ilma eelmise tulemuse ootamata. ReĆŸiim aitab ka kiirendada tööprotsesse suure paketitoimetuse viivitusega ĂŒhendustes.
  • Laienenud vĂ”imalused jaotatud konfiguratsioonide jaoks, mis hĂ”lmavad mitut serverid PostgreSQL. Loogilise replikatsiooni rakenduses on nĂŒĂŒd vĂ”imalik voogedastada töötavate tehingute tehingute voogu, mis vĂ”imaldab oluliselt suurendada suuremate tehingute replikatsiooni tegevuse tĂ”husust. Samuti on optimeeritud loogilise dekoodeerimise protsess andmete jaoks, mis saavad voogedastuse kĂ€igus.
  • VĂ€liste tabelite ĂŒhendamise mehhanismis Foreign Data Wrapper (postgres_fdw) on lisatud tugi pĂ€ringute paralleelseks töötlemiseks, mis kehtib praegu ainult teiste PostgreSQL serveritega ĂŒhendamisel. postgres_fdw-s on samuti lisatud toetus andmete lisamiseks vĂ€listele tabelitele partii reĆŸiimis ja sektsioneeritud tabelite importimise vĂ”imalus, kasutades direktiivi 'IMPORT FOREIGN SCHEMA'.
  • Optimeeritud on VACUUM operatsiooni (prĂŒgi kokku kogumine ja ketta salvestuse pakkimine) rakendust. Lisatud on hĂ€daolukorra puhastusreĆŸiim, mis jĂ€tab vahele ebaolulised puhastusoperatsioonid, kui luuakse tingimused tehingu ID-de ringi ĂŒleminekuks (transaction ID wraparound). B-Tree formaadis indeksite töötlemise kulusid on vĂ€hendatud. Tegevus 'ANALYZE', mis kogub andmebaasi toimimisstatistikat, on oluliselt kiirem.
  • Lisatud on vĂ”imalus seadistada kompressioonimeetod, mida kasutatakse TOAST sĂŒsteemis, mis vastutab suurte andmete, nagu tekstiblokid vĂ”i geomeetriline teave, hoidmise eest. Peale pglz kompressioonimeetodi on TOAST-is nĂŒĂŒd vĂ”imalik kasutada ka algoritmi LZ4.
  • Andmebaasi haldamise jĂ€lgimise tööriistu on laiendatud. Lisatud on vaated 'COPY' kĂ€skude edusammude jĂ€lgimiseks (pg_stat_progress_copy), replikatsiooni slotte puudutava statistika (pg_stat_replication_slots) ja WAL logide tegevuse jĂ€lgimiseks (pg_stat_wal). Lisatud on funktsioon compute_query_id, mis vĂ”imaldab erinevates alamsĂŒsteemides, nagu pg_stat_activity ja EXPLAIN VERBOSE, jĂ€lgida pĂ€ringute edenemist, omistades igale pĂ€ringule unikaalse identifikaatori.
  • KĂŒsimuste planeerijasse on lisatud optimeerimised, mis parandavad paralleelsete pĂ€ringute töötlemist ja vĂ”imaldavad suurendada samaaegsete jĂ€rjestikuste salvestuste skaneerimise operatsioonide, PL/pgSQL pĂ€ringute paralleelse kĂ€ivitamise "RETURN QUERY" kĂ€su abil ning pĂ€ringute paralleelse tĂ€itmise "REFRESH MATERIALIZED VIEW" osas saavutatud tulemuslikkust. TsĂŒkliliste sisemiste ĂŒhenduste (join) tulemuslikkuse suurendamiseks on rakendatud tĂ€iendava vahemĂ€lu toe toetamine.
  • VĂ€ljendite optimeerimise jaoks saab nĂŒĂŒd kasutada laiendatud statistikat, ja aknafunktsioonide optimeerimiseks on saadaval inkrementaalne sortimist.
  • Hoidlate protseduurides, mis vĂ”imaldavad tehingute haldamist koodiplokkides, on rakendatud toeks vĂ€ljaarvutatud andmete mÀÀramine "OUT" parameetrite abil.
  • Lisatud on date_bin funktsioon, mis ĂŒmarab ajatempli tĂŒĂŒpi vÀÀrtusi vastavalt antud intervallile. SELECT date_bin('15 minutes', TIMESTAMP '2020-02-11 15:44:17', TIMESTAMP '2001-01-01'); 2020-02-11 15:30:00
  • SQL standardis mÀÀratletud SEARCH ja CYCLE vĂ€ljendid on lisatud, et lihtsustada jĂ€rjestatust ja tsĂŒklite tuvastamist rekursiivsetes ĂŒldistes tabelivĂ€ljendites (Common Table Expression, CTE). WITH RECURSIVE search_tree(id, link, data) AS ( SELECT t.id, t.link, t.data FROM tree t UNION ALL SELECT t.id, t.link, t.data FROM tree t, search_tree st WHERE t.id = st.link ) SEARCH DEPTH FIRST BY id SET ordercol SELECT * FROM search_tree ORDER BY ordercol;
  • Tööriista psql automaatkomplekteerimine tabulaatoriga on parandatud, kĂ€sule "\df" on lisatud funktsioonide argumentide kuvamise vĂ”imalus, ja kĂ€sule "\dX" on laiendatud vĂ€ljastatavat statistikat.
  • On antud vĂ”imalus mÀÀrata kasutajatele Ă”igused, mis lubavad ainult lugemist vĂ”i ainult kirjutamist. Õigusi saab mÀÀrata seoses ĂŒksikute tabelite, vaadete ja skeemidega, kasutades eeldefineeritud rolle pg_read_all_data ja pg_write_all_data. GRANT pg_read_all_data TO user1;
  • Uutes seadistustes on vaikimisi tagatud parooliga autentimine SCRAM-SHA-256 meetodi abil md5 asemel (parameeter "password_encryption" generaatoril postgresql.conf on nĂŒĂŒd seatud vÀÀrtusele 'scram-sha-256').

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster