Daxistina PostgreSQL 14 DBMS

Piştî salek pêşkeftinê, şaxek nû ya stabîl a PostgreSQL 14 DBMS hate weşandin. Nûvekirinên şaxa nû dê di nav pênc salan de heya Mijdara 2026-an werin berdan.

Nûvekirinên sereke:

  • Ji bo gihandina daneya JSON-ê bi karanîna biwêjên mîna array piştgirî zêde kir: SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release']; HILBIJARTIN * JI testa WHERE hûragahiyan['attributes']['size'] = '"navîn"';

    Hevoksaziyek bi vî rengî ji bo daneya sereke/nirxê ku ji hêla celebê hstore ve hatî peyda kirin tête bicîh kirin. Ev hevoksaz di destpêkê de bi karanîna çarçoveyek gerdûnî hate bicîh kirin, ku di pêşerojê de dibe ku ji bo celebên din were bikar anîn. Nimûne ji bo celebê hstore: INSERT INTO mytable VALUES ('a=>b, c=>d'); h['a'] FROM mytable hilbijêrî; SETÊN mytable NÛ DIKE h['c'] = 'nû';

  • Malbata celebên ji bo diyarkirina rêzan bi celebên nû yên "pirreng" ve hatî berfireh kirin, ku dihêle hûn navnîşên rêzkirî yên rêzikên nirxan ên ku li ser hev nayên diyar kirin. Ji xeynî her cûreyek rêzewarê ya heyî, celebê wê yê pirrengî tê pêşniyar kirin, mînakî, tîpa "int4range" bi "int4multirange" re têkildar e, û celebê "daterange" bi "datemultirange" re têkildar e. Bikaranîna celebên nû sêwirana pirsnameyên ku rêzikên tevlihev ên rêzan manîpule dikin hêsan dike. SELECT '{[3,7), [8,9)}'::int4multirange; SELECT nummultirange(numrange(1.0, 14.0), numrange(20.0, 25.0));
  • Optimîzasyon hatine çêkirin da ku performansa pergalên bargiraniya bilind ku hejmareke mezin a pêwendiyan hildiweşîne. Di hin ceribandinan de, du qat zêdebûnek di performansê de tê dîtin.
  • Karbidestiya nîşaneyên dara B-yê çêtir bûye û pirsgirêka mezinbûna îndeksê dema ku tablo bi gelemperî têne nûve kirin çareser bûye.
  • Piştgiriyek ji bo moda veguheztina daxwaznameyên ji hêla xerîdar ve (di asta libpq de hatî bicîh kirin) zêde kir, ku dihêle hûn bi şandina senaryoyên databasê yên ku bi pêkanîna hejmareke mezin ji operasyonên nivîsandinê yên piçûk (INSERT/UPDATE/DELETE) bi girîngî bilezînin. daxwaza paşîn bêyî ku li benda encama ya berê bimîne. Mode di heman demê de alîkariya bilezkirina xebata li ser girêdanên bi derengiyên dirêj ên radestkirina pakêtê dike.
  • Kapasîteyên pêşkeftî yên ji bo mîhengên belavkirî yên ku gelek serverên PostgreSQL tê de hene. Di pêkanîna dubarekirina mentiqî de, naha gengaz e ku meriv danûstendinên di moda guheztinê de yên ku di pêvajoya darvekirinê de ne bişînin, ku dikare performansa dubarekirina danûstendinên mezin bi girîngî baştir bike. Wekî din, deşîfrekirina mentiqî ya daneyên ku di dema dubarekirina mentiqî de hatine wergirtin xweştir bûye.
  • Mekanîzmaya girêdana tabloyên derveyî Wrapper Daneyên Derveyî (postgres_fdw) piştgirî ji bo pêvajoya pirsê ya paralel zêde kiriye, ku heya niha tenê dema ku bi serverên din ên PostgreSQL ve tê girêdan tê sepandin. postgres_fdw di heman demê de ji bo zêdekirina daneyan li tabloyên derveyî di moda hevîrê de piştgirî û şiyana îtxalkirina tabloyên dabeşkirî bi destnîşankirina rêwerza "SHEMA BIYANÎ IMPORT" zêde dike.
  • Optimîzasyon ji bo pêkanîna operasyona VACUUM (komkirina çopê û pakkirina hilanîna dîskê) hatine çêkirin. Modek paqijkirina acîl hate zêdekirin ku ger şert û mercên dorpêçkirina nasnameya danûstendinê werin afirandin, ji operasyonên paqijkirina ne-bingehîn derbas dibe. Dema ku îndeksên di forma B-Tree de têne hilberandin, serma kêm dibe. Pêkanîna operasyona "ANALYZE" ya ku îstatîstîkên di derbarê xebata databasê de berhev dike, bi lez û bez hat bilez kirin.
  • Kapasîteya mîhengkirina rêbaza berhevkirinê ya ku di pergala TOAST de tê bikar anîn, ku berpirsiyar e hilanîna daneyên mezin, wek blokên nivîsê an agahdariya geometrîkî, zêde kir. Ji bilî rêbaza berhevkirina pglz, TOAST niha dikare algorîtmaya LZ4 bikar bîne.
  • Amûrên ji bo şopandina xebata DBMS-ê hatine berfireh kirin. Ji bo şopandina pêşkeftina fermanên COPY (pg_stat_progress_copy), statîstîkên li ser hêlînên dubarekirinê (pg_stat_replication_slots) û çalakiya ku bi têketina danûstendina WAL-ê ve girêdayî ye (pg_stat_wal) nêrîn lê zêde kirin. Fonksiyona compute_query_id hate zêdekirin, ku rê dide bine-pergalên cihêreng, wek pg_stat_activity û EXPLAIN VERBOSE, ku ji bo her daxwazek nasnameyek yekta diyar bikin, daxwaziyan bişopînin.
  • Optimîzasyon li plansaziya lêpirsînê hatine zêdekirin da ku pêvajoyek paralel a pirsan baştir bike û performansa pêkanîna hevdemî ya operasyonên şopandina tomarê ya rêzdar, pêkanîna paralel a pirsnameyên di PL/pgSQL de bi karanîna fermana "RETURN QUERY" û pêkanîna paralel a pirsan di " de baştir bike. DÎMENÊN MATERÎALÎ TEZE BIKIN.” Ji bo baştirkirina performansa yekbûnên hêlînkirî yên çerxîkî (tevlî), piştgirî ji bo cachkirina zêde hatiye bicîh kirin.
  • Naha statîstîkên pêşkeftî dikarin ji bo xweşbînkirina vegotinan werin bikar anîn, û dabeşkirina zêde naha dikare ji bo xweşbînkirina fonksiyonên pencereyê were bikar anîn.
  • Pêvajoyên hilanîn ên ku destûrê didin we ku hûn danûstendinan di blokên kodê de birêve bibin, naha piştgirî didin diyarkirina daneya vegerê bi karanîna parametreyên "OUT".
  • Fonksiyona date_bin li gorî navberek diyarkirî li dor nirxên mohra demjimêrê zêde kir. SELECT date_bin('15 deqîqe', TIMESTAMP '2020-02-11 15:44:17', TIMESTAMP '2001-01-01'); 2020-02-11 15:30:00
  • Gotinên SEARCH û CYCLE yên ku di standarda SQL-ê de hatine destnîşan kirin zêde kirin da ku meriv rêzkirin û nasîna çerxên di Gotinên Tabloya Hevbeş a vegerî (CTE) de hêsantir bike. BI RECURSIVE search_tree(id, link, data) AS ( SELECT t.id, t.link, t.data FROM dara t UNION ALL SELECT t.id, t.link, t.data FROM dar t, search_tree st WHERE t. id = st.link ) KURÛNA LÊGERÎNÊ PÊŞÎ LI BI id SET ordercol HILBIJARTIN * JI search_tree ORDER BY ordercol;
  • Di navgîniya psql de, temamkirina otomatîkî ya fermanan bi tabloyan re çêtir bûye, şiyana nîşankirina argumanên fonksiyonê li fermana "\df" hatiye zêdekirin, û statîstîkên ku têne xuyang kirin li fermana "\dX" hatine berfireh kirin.
  • Mimkun e ku meriv îmtiyazên tenê xwendinê an nivîsandinê ji bikarhêneran re were veqetandin. Bi karanîna pg_read_all_data û pg_write_all_data rolên pêşwextkirî, îmtiyaz dikarin li ser tablo, dîtin û şemayên kesane werin danîn. Pg_read_all_data JI BO bikarhêner1 BIDIN;
  • Sazkirinên nû li şûna md256-ê bi karanîna SCRAM-SHA-5-ê verastkirina şîfreyê jixweber bikar tînin (parametra "şîfre_şîfrekirinê" dema ku postgresql.conf çêdibe naha wekî 'scram-sha-256' tê danîn).

Source: opennet.ru

Add a comment