Hoʻokuʻu ʻia ʻo PostgreSQL 12 DBMS

Ma hope o hoʻokahi makahiki o ka hoʻomohala ʻana hoʻopuka ʻia lālā paʻa hou o ka DBMS PostgreSQL 12. Nā mea hou no ka lālā hou e puka mai ana no ʻelima mau makahiki a hiki i Nowemapa 2024.

ka papa kuhikuhiE nā mea hou:

  • Hoʻohui kākoʻo no "nā kolamu i hana ʻia", ua helu ʻia ka waiwai ma muli o kahi ʻōlelo e uhi ana i nā waiwai o nā kolamu ʻē aʻe ma ka papa like (e like me nā ʻike, akā no nā kolamu pākahi). Hiki i nā kolamu i hana ʻia he ʻelua ʻano - mālama ʻia a me ka virtual. Ma ka hihia mua, helu ʻia ka waiwai i ka manawa i hoʻohui ʻia a hoʻololi ʻia paha ka ʻikepili, a ma ka hihia ʻelua, helu ʻia ka waiwai ma kēlā me kēia heluhelu ma muli o ke kūlana o kēia manawa o nā kolamu ʻē aʻe. I kēia manawa, kākoʻo wale ʻo PostgreSQL i nā kolamu i mālama ʻia;
  • Hoʻohui i ka hiki ke nīnau i ka ʻikepili mai nā palapala JSON me ka hoʻohana ʻana Hōʻike ala, hoʻomanaʻo XPath a wehewehe ʻia ma ka maʻamau SQL/JSON. Hoʻohana ʻia nā ʻano hana kuhikuhi i kēia manawa no ka hoʻomaikaʻi ʻana i ka maikaʻi o ka hoʻoponopono ʻana i ia mau ʻōlelo no nā palapala i mālama ʻia ma ke ʻano JSONB;
  • Hoʻohana ʻia ma ka paʻamau ka hoʻohana ʻana i kahi mea hōʻuluʻulu JIT (Just-in-Time) e pili ana i nā hoʻomohala LLVM e wikiwiki i ka hoʻokō ʻana i kekahi mau ʻōlelo i ka wā o ka hoʻoili ʻana i ka nīnau SQL. No ka laʻana, hoʻohana ʻia ʻo JIT e wikiwiki i ka hoʻokō ʻana i nā ʻōlelo i loko o nā poloka WHERE, nā papa kuhikuhi, nā ʻōlelo aggregate, a me kekahi mau hana kūloko;
  • Ua hoʻomaikaʻi maikaʻi ʻia ka hana papa kuhikuhi. Hoʻolālā ʻia nā ʻōlelo kuhikuhi B-lāʻau e hana i nā wahi kahi e loli pinepine ai nā kuhikuhi - hōʻike nā hōʻike TPC-C i ka piʻi holoʻokoʻa o ka hana a me ka hōʻemi awelika o ka hoʻohana ʻana i ka disk space o 40%. Hoʻemi ʻia ke poʻo i ka wā e hana ai i ka log kākau-ahead (WAL) no nā ʻano kuhikuhi kuhikuhi GiST, GIN a me SP-GIST. No GiST, ua hoʻohui ʻia ka hiki ke hana i nā index wīwī (ma ka ʻōlelo INCLUDE) me nā kolamu hou. I ka hana NĀ KUMU HANA Hāʻawi i ke kākoʻo no nā helu helu ʻo Most Common Value (MCV) e hana i nā hoʻolālā noiʻi maikaʻi loa i ka wā e hoʻohana ai i nā kolamu puʻunaue like ʻole;
  • Hoʻoikaika ʻia ka hoʻokō ʻana i ka ʻāpana no nā nīnau e pili ana i nā papa me nā kaukani ʻāpana, akā ua kaupalena ʻia i ke koho ʻana i kahi ʻāpana o ka ʻikepili. Ua hoʻonui ʻia ka hana o ka hoʻohui ʻana i nā ʻikepili i nā papa ʻāpana me ka hoʻohana ʻana i nā hana INSERT a COPY, a hiki nō hoʻi ke hoʻohui i nā ʻāpana hou ma o "ALTER TABLE ATTACH PARTITION" me ka pale ʻole i ka hoʻokō nīnau;
  • Kākoʻo hoʻohui ʻia no ka hoʻonui ʻana i ka laina inline o nā ʻōlelo papaʻaina ākea (Hōʻike Papa Maʻamau, CTE) e ʻae i ka hoʻohana ʻana i nā pūʻulu hopena i kapa ʻia no ka manawa pōkole i kuhikuhi ʻia me ka ʻōlelo WITH. Hiki ke hoʻonui i ka hana o ka nui o nā nīnau, akā hoʻohana ʻia i kēia manawa no nā CTE non-recursive;
  • Hoʻohui kākoʻo hoʻoholo ʻole nā waiwai o ka "Collation" locale, kahi e hiki ai iā ʻoe ke hoʻonohonoho i nā lula hoʻokaʻawale a me nā ʻano hoʻohālikelike e noʻonoʻo ana i ke ʻano o nā huaʻōlelo (no ka laʻana, i ka wā e hoʻokaʻawale ai i nā waiwai kikohoʻe, ke kū ʻana o kahi minus a me kahi kiko i mua o kahi helu a me nā ʻano like ʻole. noʻonoʻo ʻia ka spelling, a i ka wā e hoʻohālikelike ai, ʻaʻole i noʻonoʻo ʻia ka hihia o nā huaʻōlelo a me ka hele ʻana o kahi hōʻailona leo);
  • Kākoʻo hoʻohui ʻia no ka hōʻoia ʻana o ka mea kūʻai aku he nui, ma ka pg_hba.conf hiki iā ʻoe ke hoʻohui i ka palapala hōʻoia SSL (clientcert=verify-full) me kahi ala hōʻoia hou e like me scram-sha-256 no ka hōʻoia;
  • Hoʻohui ʻia ke kākoʻo no ka hoʻopili ʻana o ke ala kamaʻilio ke hōʻoia ʻia ma o GSSAPI, ma ka ʻaoʻao o ka mea kūʻai aku a ma ka ʻaoʻao kikowaena;
  • Kākoʻo hoʻohui ʻia no ka hoʻoholo ʻana i nā kikowaena LDAP e pili ana i nā moʻolelo "DNS SRV" inā kūkulu ʻia ʻo PostgreSQL me OpenLDAP;
  • Hoʻohui ʻia ka hana "REINDEX I KA HOIKE» e kūkulu hou i nā papa kuhikuhi me ka pāpā ʻole ʻana i nā hana kākau i ka papa kuhikuhi;
  • Kauoha hou pg_checksums, hiki iā ʻoe ke hoʻā a hoʻopau paha i ka nānā ʻana i nā helu helu o nā ʻaoʻao ʻikepili no kahi waihona i loaʻa (ma mua i kākoʻo ʻia kēia hana i ka wā hoʻomaka ʻikepili);
  • Hāʻawi ʻia ka puka o ka hōʻailona holomua no nā hana CREATE INDEX, REINDEX, CLUSTER, VACUUM FULL a me pg_checksums;
  • Hoʻohui ʻia ke kauoha "HANA ANA»e hoʻohui i nā mea lawelawe no nā kaʻina hoʻopaʻa papaʻaina hou i hoʻopaʻa ʻia no nā hana kikoʻī. I kēia manawa ʻo ke ala komo papaʻaina i kūkulu ʻia ʻo "heap";
  • Ua hoʻohui ʻia ka faila hoʻonohonoho recovery.conf me postgresql.conf. E like me nā hōʻailona o ka hoʻololi ʻana i ke kūlana o ka hoʻihoʻi ma hope o ka hāʻule ʻole, i kēia manawa pono e hoʻohana i nā faila recovery.signal a standby.signal.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka