PostgreSQL 14 DBMS tuku

I muri i te tau o te whanaketanga, kua whakaputaina he peka hou o te PostgreSQL 14 DBMS. Ka tukuna nga whakahoutanga mo te peka hou mo te rima tau ki te Whiringa-a-rangi 2026.

Nga mahi hou:

  • He tautoko taapiri mo te uru atu ki nga raraunga JSON ma te whakamahi i nga korero-ahua ahua: SELECT ('{ "postgres": { "release": 14 }}'::jsonb)['postgres']['release']; SELECT * FROM test WHERE details['huanga']['rahi'] = '"Waenga"';

    Ka whakatinanahia he wetereo rite mo nga raraunga matua/uara e whakaratohia ana e te momo hstore. I whakatinanahia tenei wetereo ma te whakamahi i te anga mo te ao, ka whakamahia pea mo etahi atu momo. Tauira mo te momo hstore: INSERT INTO mytable VALUES ('a => b, c => d'); KŌWHIWHIRI H['a'] MAI i taku ripanga; WHAKAHOU taku ripanga SET h['c'] = 'hou';

  • Ko te whanau o nga momo mo te tautuhi awhe kua whakawhänuihia ki nga momo "maha" hou, e taea ai e koe te tautuhi i nga rarangi raupapa o nga awhe uara-kore-inaki. I tua atu i ia momo awhe o naianei, ka whakaarohia tana ake momo awhe maha, hei tauira, ko te momo "int4range" e rite ana ki "int4multirange", me te momo "daterange" e rite ana ki "datemultirange". Ko te whakamahinga o nga momo hou ka ngawari te hoahoa o nga patai e raweke ana i nga raupapatanga uaua o nga awhe. Patohia '{[3,7), [8,9)}'::int4multirange; SELECT nummultirange(numrange(1.0, 14.0), numrange(20.0, 25.0));
  • Kua mahia nga arotautanga ki te whakapai ake i nga mahi o nga punaha kawenga nui e tukatuka ana i te maha o nga hononga. I etahi whakamatautau, ka kitea te pikinga e rua o nga mahi.
  • Kua pai ake te pai o nga tohu tohu B-rakau, kua whakatauhia te raru o te tipu o te taurangi ina whakahoutia nga tepu.
  • He tautoko taapiri mo te taha-kiritaki (kua whakatinanahia i te taumata libpq) mo te tuku pipeline o nga tono, e taea ai e koe te tere ake i nga ahuatanga o te papaarangi e pa ana ki te mahi i te maha o nga mahi tuhi iti (INSERT/UPDATE/DELETE) ma te tuku tono i muri mai me te kore e tatari mo te hua o mua. Ka awhina ano te aratau kia tere ake te mahi i runga i nga hononga me te roa o te tukunga o nga paatete.
  • Te kaha ake mo nga whirihoranga toha e uru ana ki te maha o nga tūmau PostgreSQL. I roto i te whakatinanatanga o te tukurua arorau, ka taea inaianei te tuku i nga whakawhitiwhitinga kei te ahu whakamua i roto i te aratau roma, ka tino pai ake te mahi o te tukuruatanga o nga whakawhitinga nui. I tua atu, ko te wetewete arorau o nga raraunga i whakawhiwhia i te wa o te tukurua arorau kua arotauhia.
  • Ko te tikanga mo te hono i nga ripanga o-waho a Foreign Data Wrapper (postgres_fdw) kua taapirihia he tautoko mo te tukatuka uiui whakarara, e tika ana inaianei ina hono ana ki etahi atu tūmau PostgreSQL. Ka taapirihia e te postgres_fdw te tautoko mo te taapiri i nga raraunga ki nga ripanga o waho i roto i te aratau puranga me te kaha ki te kawemai i nga ripanga wehewehe ma te tohu i te tohu "IMPORT FOREIGN SCHEMA".
  • Kua oti te arotautanga ki te whakatinanatanga o te mahi VACUUM (kohinga paru me te kapi o te rokiroki kōpae). Kua taapirihia he aratau horoi ohorere ka pekehia nga mahi horoi kore-tino mena ka hangaia nga tikanga takai ID tauwhitinga. He iti ake i te wa e tukatuka ana i nga tohu tohu ki te whakatakotoranga B-Tree. Ko te mahinga o te mahi "ANALYZE", e kohikohi ana i nga tatauranga mo te mahi o te putunga korero, kua tino tere.
  • Kua taapirihia te kaha ki te whirihora i te tikanga taapiri e whakamahia ana i roto i te punaha TOAST, kei a ia te kawenga mo te penapena raraunga nui, penei i nga poraka o te tuhinga me nga korero ahuahanga. I tua atu i te tikanga compression pglz, ka taea e TOAST te whakamahi i te LZ4 algorithm.
  • Ko nga taputapu mo te aroturuki i te mahi o te DBMS kua whakawhānuihia. Kua taapirihia nga tirohanga ki te whai i te ahunga whakamua o nga tono COPY (pg_stat_progress_copy), nga tatauranga mo nga mokamoka tukurua (pg_stat_replication_slots) me nga mahi e pa ana ki te raarangi hokohoko WAL (pg_stat_wal). Kua taapirihia te mahi compute_query_id, e taea ai te maha o nga punaha iti, penei i te pg_stat_activity me te WHAKAMAHI VERBOSE, ki te whai i nga tono ma te tautapa i tetahi tohu tohu motuhake mo ia tono.
  • Kua taapirihia nga arotautanga ki te mahere uiui hei whakapai ake i te tukatuka whakarara o nga patai me te whakapai ake i te mahinga o te mahi tukutahi o nga mahi matawai rekoata raupapa, te mahi whakarara o nga patai i roto i te PL/pgSQL ma te whakamahi i te whakahau "RETURN QUERY", me te mahi whakarara o nga patai i roto i te " WHAKAARO TE WHAKAMAHI KI TE WHAKAMAHI”. Hei whakapai ake i te mahinga o nga hanumi kohanga hurihanga (hono), kua whakatinanahia te tautoko mo etahi atu keteroki.
  • Ka taea te whakamahi i nga tatauranga matatau ki te arotau i nga korero, a ka taea te whakamahi i nga waahanga taapiri hei arotau i nga mahi matapihi.
  • Ko nga tikanga rongoa e taea ai e koe te whakahaere i nga whakawhitinga i roto i nga poraka o te waehere inaianei ka tautoko i te tautuhi i nga raraunga whakahoki ma te whakamahi i nga tawhā "OUT".
  • Kua taapirihia te mahi date_bin ki te huri i nga uara tohu waahi kia rite ki te waa kua tohua. SELECT date_bin('15 meneti', TIMESTAMP '2020-02-11 15:44:17', TIMESTAMP '2001-01-01'); 2020-02-11 15:30:00
  • Kua taapirihia nga korero SEARCH me te CYCLE kua tautuhia ki te paerewa SQL kia maamaa ake te ota me te tautuhi i nga huringa i roto i nga Whakaaturanga Ripanga Taunoa (CTE). WITH RECURSIVE search_tree(id, link, data) AS ( SELECT t.id, t.link, t.data FROM tree t UNION KATOA T.id, t.link, t.data FROM tree t, search_tree st WHERE t. id = st.link ) TE RAPU I TE TUATAHI MA TE id SET ordercol SELECT * FROM search_tree ORDER BY ordercol;
  • I roto i te whaipainga psql, kua pai ake te whakaoti-aunoa o nga whakahau me nga ripa, kua taapirihia te kaha ki te whakaatu i nga tautohetohe mahi ki te whakahau "\df", me nga tatauranga kua whakaatuhia ki te whakahau "\dX".
  • Ka taea te tautapa i nga mana panui-anake, tuhi-anake ranei ki nga kaiwhakamahi. Ka taea te whakarite mana ki runga i nga ripanga takitahi, tirohanga, me nga aronuinga ma te whakamahi i te pg_read_all_data me te pg_write_all_data kua tautuhia ake. HOATU pg_panui_katoa_raraunga ki te kaiwhakamahi1;
  • Ko nga whakaurunga hou ka taunoa ki te motuhēhēnga kupuhipa mā te whakamahi i te SCRAM-SHA-256 hei utu mo te md5 (ko te tawhā "password_encryption" i te wa e whakaputa ana i te postgresql.conf kua tautuhia inaianei ki 'scram-sha-256').

Source: opennet.ru

Tāpiri i te kōrero