{"id":144010,"date":"2025-09-25T17:11:55","date_gmt":"2025-09-25T15:11:55","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-subd-postgresql-18"},"modified":"2025-09-25T17:11:55","modified_gmt":"2025-09-25T15:11:55","slug":"reliz-subd-postgresql-18","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/reliz-subd-postgresql-18","title":{"rendered":"Uvoln\u011bn\u00ed datab\u00e1zov\u00e9ho syst\u00e9mu PostgreSQL 18","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Po roce v\u00fdvoje byla vyd\u00e1na nov\u00e1 stabiln\u00ed verze datab\u00e1zov\u00e9ho syst\u00e9mu PostgreSQL 18. Aktualizace pro tuto novou verzi budou vyd\u00e1v\u00e1ny po dobu p\u011bti let do listopadu 2030. Podpora PostgreSQL 13.x, nejstar\u0161\u00ed z podporovan\u00fdch verz\u00ed, bude ukon\u010dena 13. listopadu.     <\/p>\n<p>Hlavn\u00ed novinky:  <\/p>\n<ul>\n<li class=\"l\"> Byl p\u0159id\u00e1n subsyst\u00e9m asynchronn\u00edho vstupu\/v\u00fdstupu, kter\u00fd zvy\u0161uje propustnost vstupu\/v\u00fdstupu a eliminuje zpo\u017ed\u011bn\u00ed. Krom\u011b univerz\u00e1ln\u00ed implementace AIO (io_method=worker), dostupn\u00e9 na v\u0161ech platform\u00e1ch, kter\u00e1 je zalo\u017eena na spu\u0161t\u011bn\u00ed n\u011bkolika proces\u016f-zpracovatel\u016f (v\u00fdchoz\u00ed hodnotou jsou 3), m\u016f\u017ee b\u00fdt na syst\u00e9mu Linux vyu\u017eit rozhran\u00ed asynchronn\u00edho vstupu\/v\u00fdstupu io_uring (io_method=io_uring), podpo\u0159en\u00fd od j\u00e1dra Linux 5.1. Asynchronn\u00ed vstup\/v\u00fdstup je prozat\u00edm vyu\u017e\u00edv\u00e1n pouze pro urychlen\u00ed prov\u00e1d\u011bn\u00ed n\u011bkter\u00fdch operac\u00ed souvisej\u00edc\u00edch se \u010dten\u00edm dat ze souborov\u00e9ho syst\u00e9mu, jako je sekven\u010dn\u00ed proch\u00e1zen\u00ed, skenov\u00e1n\u00ed bitov\u00e9 mapy index\u016f a \u00fadr\u017eba (vacuum). V n\u011bkter\u00fdch testech aplikace AIO vedla k trojn\u00e1sobn\u00e9mu zv\u00fd\u0161en\u00ed v\u00fdkonu. Operace z\u00e1pisu nad\u00e1le prob\u00edhaj\u00ed synchronn\u011b pro spln\u011bn\u00ed po\u017eadavk\u016f ACID.\n<li class=\"l\"> Byla provedena optimalizace \u201eskip scan\u201c v v\u00edcesloupcov\u00fdch indexech, d\u00edky \u010demu\u017e m\u016f\u017ee b\u00fdt index pou\u017e\u00edv\u00e1n nejen pro kontrolu prvn\u00edho indexovan\u00e9ho sloupce a celkov\u00e9 vazby sloupc\u016f, ale tak\u00e9 pro zpracov\u00e1n\u00ed ostatn\u00edch indexovan\u00fdch sloupc\u016f jednotliv\u011b. Nap\u0159\u00edklad d\u0159\u00edve, p\u0159i vytv\u00e1\u0159en\u00ed B-tree indexu na sloupc\u00edch \u201e(status, date)\u201c, byl index aplikov\u00e1n pouze na dotazy, kter\u00e9 kontrolovaly pole \u201estatus\u201c nebo ob\u011b pole \u201estatus\u201c a \u201edate\u201c. P\u0159i kontrole pouze pole \u201edate\u201c se prov\u00e1d\u011blo skenov\u00e1n\u00ed obsahu tabulky. M\u00f3d \u201eskip scan\u201c umo\u017e\u0148uje v ur\u010dit\u00fdch situac\u00edch skenovat index p\u0159i dotazu pouze na pole \u201edate\u201c. M\u00f3d se pou\u017e\u00edv\u00e1 pouze pro indexy \u201eB-tree\u201c, kdy\u017e se v dotazu pou\u017eije podm\u00ednkov\u00fd oper\u00e1tor \u201e=\u201c na indexovan\u00e9 pole, v situac\u00edch, kdy m\u00e1 vynechan\u00e9 pole mal\u00fd po\u010det r\u016fzn\u00fdch hodnot (nap\u0159\u00edklad optimalizace funguje, pokud pole status \u201estatus\u201c m\u00e1 n\u011bkolik pevn\u00fdch hodnot).\n<li class=\"l\"> Byly p\u0159id\u00e1ny optimalizace, kter\u00e9 efektivn\u011bji vyu\u017e\u00edvaj\u00ed indexy pro dotazy obsahuj\u00edc\u00ed konstrukce \u201eOR\u201c a \u201eIN (\u2026)\u201c v bloku \u201eWHERE\u201c, a tak\u00e9 zvy\u0161uj\u00ed v\u00fdkon pl\u00e1nov\u00e1n\u00ed a prov\u00e1d\u011bn\u00ed spojen\u00ed tabulek (nap\u0159\u00edklad byl zrychlen k\u00f3d pro slu\u010dov\u00e1n\u00ed hash\u016f a bylo povoleno pou\u017e\u00edv\u00e1n\u00ed inkrement\u00e1ln\u00edho \u0159azen\u00ed p\u0159i slou\u010den\u00ed tabulek).\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora paraleln\u00edho vytv\u00e1\u0159en\u00ed index\u016f GIN (Generalized Inverted Index), kter\u00e9 se pou\u017e\u00edvaj\u00ed k indexaci slo\u017een\u00fdch hodnot, jako jsou pole, a k organizaci vyhled\u00e1v\u00e1n\u00ed v textov\u00fdch datech nebo ve struktur\u00e1ch JSON.\n<li class=\"l\"> Byla p\u0159id\u00e1na mo\u017enost vytv\u00e1\u0159en\u00ed materializovan\u00fdch pohled\u016f a kl\u00ed\u010d\u016f pro \u010dlen\u011bn\u00ed tabulek s indexy s ozna\u010den\u00edm \u201eunique\u201c, kter\u00e9 nevyu\u017e\u00edvaj\u00ed strukturu B-tree.\n<li class=\"l\"> Byl zv\u00fd\u0161en celkov\u00fd v\u00fdkon z\u00e1mk\u016f pro dotazy pracuj\u00edc\u00ed s velk\u00fdm po\u010dtem tabulek, a byly provedeny vylep\u0161en\u00ed v zpracov\u00e1n\u00ed dotaz\u016f k partitionovan\u00fdm tabulk\u00e1m, co\u017e urychluje filtrov\u00e1n\u00ed nepou\u017e\u00edvan\u00fdch sekc\u00ed a operace slou\u010den\u00ed (JOIN).\n<li class=\"l\"> Byly urychleny operace s textem, jako funkce p\u0159evodu na velk\u00e1\/mal\u00e1 p\u00edsmena. Bylo p\u0159id\u00e1no re\u017eim PG_UNICODE_FAST pro zrychlen\u00ed zohledn\u011bn\u00ed vlastnost\u00ed locale Unicode symbol\u016f.\n<li class=\"l\"> Byla zavedena mo\u017enost uchov\u00e1vat statistiky pl\u00e1nova\u010de dotaz\u016f po aktualizaci mezi v\u00fdznamn\u00fdmi vyd\u00e1n\u00edmi PostgreSQL. Zm\u011bna umo\u017e\u0148uje vyhnout se prov\u00e1d\u011bn\u00ed v\u00fdpo\u010detn\u011b n\u00e1ro\u010dn\u00e9 operace \u201eANALYZE\u201c po spu\u0161t\u011bn\u00ed nov\u00e9 verze, b\u011bhem n\u00ed\u017e doch\u00e1z\u00ed k poklesu v\u00fdkonu DBMS.\n<li class=\"l\"> Byla zv\u00fd\u0161ena v\u00fdkonnost n\u00e1stroje pg_upgrade, kter\u00fd se pou\u017e\u00edv\u00e1 pro automatizaci p\u0159echodu na nov\u00fd v\u00fdznamn\u00fd vyd\u00e1n\u00ed PostgreSQL. Optimalizace jsou zvl\u00e1\u0161t\u011b patrn\u00e9 p\u0159i aktualizaci datab\u00e1z\u00ed obsahuj\u00edc\u00edch velk\u00e9 mno\u017estv\u00ed objekt\u016f, jako jsou tabulky a sekvence. Pro urychlen\u00ed pr\u00e1ce pg_upgrade byl tak\u00e9 p\u0159id\u00e1n p\u0159ep\u00edna\u010d &#171;&#8212;jobs N&#187; pro paraleln\u00ed zpracov\u00e1n\u00ed kontrol v N vl\u00e1knech a p\u0159ep\u00edna\u010d &#171;&#8212;swap&#187; pro kompletn\u00ed v\u00fdm\u011bnu datov\u00fdch adres\u00e1\u0159\u016f bez umis\u0165ov\u00e1n\u00ed odkaz\u016f, bez klonov\u00e1n\u00ed a bez kop\u00edrov\u00e1n\u00ed soubor\u016f.\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora virtu\u00e1ln\u00edch generovan\u00fdch sloupc\u016f, jejich\u017e hodnoty jsou po\u010d\u00edt\u00e1ny za b\u011bhu b\u011bhem vykon\u00e1v\u00e1n\u00ed dotaz\u016f, ani\u017e by se ukl\u00e1daly na disk. Pokud je ve v\u00fdrazu &#171;CREATE TABLE&#8230;&#187; pro generovan\u00e9 sloupce uvedeno pouze kl\u00ed\u010dov\u00e9 slovo &#171;GENERATED&#187; bez up\u0159esn\u011bn\u00ed typu (STORED nebo VIRTUAL), pak se nov\u00e1 verze aplikuje jako v\u00fdchoz\u00ed m\u00edsto star\u00e9 implementace. V p\u0159edchoz\u00ed implementaci byly hodnoty generov\u00e1ny b\u011bhem vykon\u00e1v\u00e1n\u00ed operac\u00ed &#171;INSERT&#187; nebo &#171;UPDATE&#187; a ukl\u00e1d\u00e1ny na disk pro n\u00e1sledn\u00e9 pou\u017eit\u00ed. Nev\u00fdhodou virtu\u00e1ln\u00edch generovan\u00fdch sloupc\u016f je nemo\u017enost jejich pou\u017eit\u00ed v indexech, v\u00fdhodou v\u0161ak mo\u017enost prov\u00e1d\u011bt normalizaci a zm\u011bnu dat on-the-fly (aktu\u00e1ln\u00ed p\u0159i pr\u00e1ci s JSON daty). Co se t\u00fd\u010de klasick\u00fdch ulo\u017een\u00fdch generovan\u00fdch sloupc\u016f, byla v nov\u00e9m vyd\u00e1n\u00ed zaji\u0161t\u011bna podpora logick\u00e9 replikace.\n<li class=\"l\"> V p\u0159\u00edkazech INSERT, UPDATE, DELETE a MERGE byla implementov\u00e1na mo\u017enost v\u00fdstupu p\u0159edchoz\u00edch (OLD) a aktu\u00e1ln\u00edch (CURRENT) hodnot ve v\u00fdrazu RETURNING. Nap\u0159\u00edklad &#171;UPDATE&#8230; RETURNING WITH (OLD AS o, NEW AS n) o.*, n.*.&#187;\n<li class=\"l\"> Byla p\u0159id\u00e1na funkce uuidv7() pro generov\u00e1n\u00ed n\u00e1hodn\u00fdch jedine\u010dn\u00fdch identifik\u00e1tor\u016f ve form\u00e1tu UUIDv7. Na rozd\u00edl od star\u00e9 funkce pro generov\u00e1n\u00ed UUID (gen_random_uuid), kter\u00e1 je nyn\u00ed nav\u00edc dostupn\u00e1 pod n\u00e1zvem uuidv4(), zahrnuje UUIDv7 krom\u011b n\u00e1hodn\u00e9 hodnoty rovn\u011b\u017e \u010das generov\u00e1n\u00ed. P\u0159\u00edtomnost se\u0159azen\u00fdch \u010d\u00e1st\u00ed ve hodnot\u011b UUID (prvn\u00edch 12 znak\u016f &#8212; epoch\u00e1ln\u00ed \u010das, a n\u00e1sleduj\u00edc\u00edch 18 &#8212; n\u00e1hodn\u00e1 hodnota) zvy\u0161uje efektivitu t\u0159\u00edd\u011bn\u00ed a indexov\u00e1n\u00ed, co\u017e je d\u016fle\u017eit\u00e9, proto\u017ee UUID se obvykle pou\u017e\u00edvaj\u00ed pro prim\u00e1rn\u00ed kl\u00ed\u010de (nap\u0159\u00edklad kl\u00ed\u010de vytvo\u0159en\u00e9 v bl\u00edzk\u00e9 dob\u011b jsou v indexu um\u00edst\u011bny bl\u00edzko sebe).\n<li class=\"l\"> V operaci &#171;LIKE&#187; byla implementov\u00e1na podpora pro porovn\u00e1n\u00ed textu, kter\u00e1 vyu\u017e\u00edv\u00e1 nedeterministick\u00e1 vlastnost lokalizace &#171;collation&#187;, kter\u00e1 umo\u017e\u0148uje porovn\u00e1vat znaky s ohledem na jejich v\u00fdznam (nap\u0159\u00edklad p\u0159i porovn\u00e1v\u00e1n\u00ed se nemus\u00ed br\u00e1t v \u00favahu diakritika). Byla p\u0159id\u00e1na funkce CASEFOLD pro zm\u011bnu velikosti p\u00edsmen s ohledem na vlastnosti lokalizace &#171;collation&#187; (nap\u0159\u00edklad n\u011bkter\u00e9 znaky maj\u00ed v\u00edce ne\u017e dva varianty mal\u00fdch p\u00edsmen nebo vy\u017eaduj\u00ed p\u0159evod na velk\u00e1 p\u00edsmena, nikoli na mal\u00e1).\n<li class=\"l\"> Byla p\u0159id\u00e1na mo\u017enost pou\u017e\u00edv\u00e1n\u00ed \u010dasov\u00fdch omezen\u00ed (temporal constraint). V hodnot\u00e1ch &#171;PRIMARY KEY&#187; a &#171;UNIQUE&#187; pro p\u0159id\u00e1n\u00ed \u010dasov\u00fdch omezen\u00ed by m\u011blo b\u00fdt pou\u017eito v\u00fdrazu &#171;WITHOUT OVERLAPS&#187;, a v p\u0159\u00edpad\u011b &#171;FOREIGN KEY&#187; - v\u00fdraz PERIOD. Nap\u0159\u00edklad p\u0159i definici prim\u00e1rn\u00edch kl\u00ed\u010d\u016f je mo\u017en\u00e9 omezit kl\u00ed\u010de s p\u0159ekr\u00fdvaj\u00edc\u00edmi se \u010dasov\u00fdmi intervaly.\n<li class=\"l\"> Byl p\u0159id\u00e1n p\u0159\u00edkaz &#171;CREATE FOREIGN TABLE &#8230; LIKE command&#187; pro vytvo\u0159en\u00ed sch\u00e9matu ciz\u00ed tabulky na z\u00e1klad\u011b definice m\u00edstn\u00ed tabulky.\n<li class=\"l\"> Byla p\u0159id\u00e1na podpora p\u0159ipojen\u00ed k datab\u00e1zov\u00e9mu syst\u00e9mu pomoc\u00ed OAUTH 2.0 ov\u011b\u0159ov\u00e1n\u00ed s pou\u017eit\u00edm p\u0159\u00edstupov\u00e9ho tokenu m\u00edsto hesla. Pou\u017eit\u00ed OAUTH umo\u017e\u0148uje neuchov\u00e1vat hesla v DB, identifikovat u\u017eivatele prost\u0159ednictv\u00edm extern\u00edch slu\u017eeb a vyu\u017e\u00edvat funkce jako dvoufaktorov\u00e1 autentizace a jednotn\u00fd bod p\u0159\u00edstupu (SSO).\n<li class=\"l\"> Byla p\u0159id\u00e1na funkce ssl_tls13_ciphers(), pomoc\u00ed kter\u00e9 lze ur\u010dit seznam povolen\u00fdch \u0161ifrovac\u00edch algoritm\u016f p\u0159i p\u0159ipojen\u00ed pomoc\u00ed protokolu TLSv1.3.\n<li class=\"l\"> Podpora autentizace s pou\u017eit\u00edm algoritmu md5 pro hashov\u00e1n\u00ed hesel byla p\u0159e\u0159azena mezi zastaral\u00e9 a pl\u00e1novan\u00e9 k odstran\u011bn\u00ed. M\u00edsto md5 se doporu\u010duje pou\u017e\u00edt algoritmus SCRAM (SCRAM-SHA-256), kter\u00fd byl zaveden v PostgreSQL 10. D\u00e1le je realizov\u00e1na podpora p\u0159ed\u00e1v\u00e1n\u00ed autentizace na z\u00e1klad\u011b SCRAM p\u0159i p\u0159ipojen\u00ed p\u0159es postgres_fdw a dblink k extern\u00edm server\u016fm PostgreSQL.\n<li class=\"l\"> P\u0159i prov\u00e1d\u011bn\u00ed operace &#171;EXPLAIN ANALYZE&#187; je zaji\u0161t\u011bn v\u00fdstup informac\u00ed o po\u010dtu vyhled\u00e1vac\u00edch operac\u00ed v indexech b\u011bhem skenov\u00e1n\u00ed indexu a po\u010dtu p\u0159\u00edstup\u016f do vyrovn\u00e1vac\u00edch pam\u011bt\u00ed p\u0159i vykon\u00e1v\u00e1n\u00ed dotazu. Do v\u00fdstupu &#171;EXPLAIN ANALYZE VERBOSE&#187; byla zahrnuta statistika o CPU, WAL \u017eurn\u00e1lu a intenzit\u011b \u010dten\u00ed operac\u00ed. Do tabulky pg_stat_all_tables byly p\u0159id\u00e1ny informace o \u010dase str\u00e1ven\u00e9m na operaci VACUUM a anal\u00fdze tabulek. Byla poskytnuta statistika o intenzit\u011b vstupu\/v\u00fdstupu a z\u00e1t\u011b\u017ei WAL \u017eurn\u00e1lu v oblasti jednotliv\u00fdch spojen\u00ed. V pg_stat_subscription_stats a v log\u00e1ch byly p\u0159id\u00e1ny informace o diagnostice konflikt\u016f p\u0159i prov\u00e1d\u011bn\u00ed z\u00e1pisov\u00fdch operac\u00ed b\u011bhem logick\u00e9 replikace.\n<li class=\"l\"> V nov\u00fdch instalac\u00edch je ve v\u00fdchoz\u00edm nastaven\u00ed zahrnuto pou\u017eit\u00ed kontroln\u00edch sou\u010dt\u016f pro kontrolu integrity ulo\u017een\u00fdch dat. Pro zru\u0161en\u00ed tohoto chov\u00e1n\u00ed p\u0159i spu\u0161t\u011bn\u00ed initdb je t\u0159eba uv\u00e9st volbu &#171;--no-data-checksums&#187;.\n<li class=\"l\"> Do utility pg_createsubscriber byla p\u0159id\u00e1na vlajka &#171;--all&#187; pro vytvo\u0159en\u00ed logick\u00fdch replik jedn\u00edm p\u0159\u00edkazem najednou pro v\u0161echny datab\u00e1ze.\n<li class=\"l\"> Byla implementov\u00e1na nov\u00e1 verze (3.2) protokolu pou\u017e\u00edvan\u00e9ho pro interakci extern\u00edch utilit s datab\u00e1zov\u00fdmi syst\u00e9my a implementovan\u00e9ho v knihovn\u011b libpq. Posledn\u00ed aktualizace protokolu byla provedena v PostgreSQL 7.4 (2003). V knihovn\u011b libpq se ve v\u00fdchoz\u00edm nastaven\u00ed i nad\u00e1le pou\u017e\u00edv\u00e1 verze 3.0.          <\/ul>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=63877\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u0421\u0423\u0411\u0414 PostgreSQL 18. \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u0434\u043e \u043d\u043e\u044f\u0431\u0440\u044f 2030 \u0433\u043e\u0434\u0430. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 PostgreSQL 13.x, \u0441\u0430\u043c\u043e\u0439 \u0441\u0442\u0430\u0440\u043e\u0439 \u0438\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0432\u0435\u0442\u043e\u043a, \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0435\u043d\u0430 13 \u043d\u043e\u044f\u0431\u0440\u044f. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043d\u043e\u0432\u0448\u0435\u0441\u0442\u0432\u0430: \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u0432\u0432\u043e\u0434\u0430\/\u0432\u044b\u0432\u043e\u0434\u0430, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0443\u044e \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0432\u0432\u043e\u0434\u0430\/\u0432\u044b\u0432\u043e\u0434\u0430 \u0438 \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a. \u041f\u043e\u043c\u0438\u043c\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439 \u043d\u0430 \u0432\u0441\u0435\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-144010","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u0421\u0423\u0411\u0414 PostgreSQL 18. \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u0434\u043e \u043d\u043e\u044f\u0431\u0440\u044f 2030 \u0433\u043e\u0434\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/news\/reliz-subd-postgresql-18\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 PostgreSQL 18 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u0421\u0423\u0411\u0414 PostgreSQL 18. \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u0434\u043e \u043d\u043e\u044f\u0431\u0440\u044f 2030 \u0433\u043e\u0434\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/reliz-subd-postgresql-18\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-09-25T15:11:55+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-09-25T15:11:55+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Uvoln\u011bn\u00ed datab\u00e1zov\u00e9ho syst\u00e9mu PostgreSQL 18 | ProHoster","description":"Po roce v\u00fdvoje byla publikov\u00e1na nov\u00e1 stabiln\u00ed v\u011btev datab\u00e1zov\u00e9ho syst\u00e9mu PostgreSQL 18. Aktualizace pro novou v\u011btev budou vych\u00e1zet po dobu p\u011bti let do listopadu 2030.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/reliz-subd-postgresql-18","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 PostgreSQL 18 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0433\u043e\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0430\u044f \u0432\u0435\u0442\u043a\u0430 \u0421\u0423\u0411\u0414 PostgreSQL 18. \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442 \u0434\u043e \u043d\u043e\u044f\u0431\u0440\u044f 2030 \u0433\u043e\u0434\u0430.","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/reliz-subd-postgresql-18","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-09-25T15:11:55+00:00","article:modified_time":"2025-09-25T15:11:55+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"144010","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 14:59:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 14:59:19","updated":"2026-01-23 14:59:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/144010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=144010"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/144010\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=144010"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=144010"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=144010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}