{"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\/pl\/blog\/news\/reliz-subd-postgresql-18","title":{"rendered":"Wydanie systemu baz danych PostgreSQL 18","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Po roku prac rozwojowych opublikowano now\u0105 stabiln\u0105 wersj\u0119 systemu zarz\u0105dzania baz\u0105 danych PostgreSQL 18. Aktualizacje dla nowej wersji b\u0119d\u0105 wydawane przez pi\u0119\u0107 lat, do listopada 2030 roku. Wsparcie dla PostgreSQL 13.x, najstarszej z obs\u0142ugiwanych wersji, zostanie zako\u0144czone 13 listopada.     <\/p>\n<p>G\u0142\u00f3wne nowo\u015bci:  <\/p>\n<ul>\n<li class=\"l\"> Dodano podsystem asynchronicznego wej\u015bcia\/wyj\u015bcia, kt\u00f3ry pozwala zwi\u0119kszy\u0107 przepustowo\u015b\u0107 wej\u015bcia\/wyj\u015bcia i wyeliminowa\u0107 op\u00f3\u017anienia. Opr\u00f3cz uniwersalnej implementacji AIO (io_method=worker), dost\u0119pnej na wszystkich platformach, opartej na wykonywaniu kilku proces\u00f3w obs\u0142uguj\u0105cych (domy\u015blnie 3), w systemie Linux mo\u017ce by\u0107 stosowany interfejs asynchronicznego wej\u015bcia\/wyj\u015bcia io_uring (io_method=io_uring), wspierany od j\u0105dra Linux 5.1. Asynchroniczne wej\u015bcie\/wyj\u015bcie jest obecnie wykorzystywane tylko do przyspieszania wykonywania niekt\u00f3rych operacji zwi\u0105zanych z odczytem danych z systemu plik\u00f3w, takich jak sekwencyjne przeszukiwanie, skanowanie bitowej mapy indeks\u00f3w i przeprowadzanie czyszczenia (vacuum). W niekt\u00f3rych testach zastosowanie AIO prowadzi do zwi\u0119kszenia wydajno\u015bci od 2 do 3 razy. Operacje zapisu wci\u0105\u017c s\u0105 wykonywane w trybie synchronicznym, aby spe\u0142ni\u0107 wymagania ACID.\n<li class=\"l\"> Zrealizowano optymalizacj\u0119 \u201eskip scan\u201d w indeksach wielokolumnowych, dzi\u0119ki kt\u00f3rej indeks mo\u017ce by\u0107 u\u017cywany nie tylko do sprawdzania pierwszej zaindeksowanej kolumny i pe\u0142nego powi\u0105zania kolumn, ale tak\u017ce do oddzielnego przetwarzania pozosta\u0142ych zaindeksowanych kolumn. Na przyk\u0142ad, wcze\u015bniej przy tworzeniu indeksu B-drzewa dla kolumn \u201e(status, date)\u201d indeks by\u0142 stosowany tylko dla zapyta\u0144 sprawdzaj\u0105cych pole \u201estatus\u201d lub oba pola \u201estatus\u201d i \u201edate\u201d, a podczas sprawdzenia tylko pola \u201edate\u201d przeprowadzano skanowanie zawarto\u015bci tabeli. Tryb \u201eskip scan\u201d pozwala w okre\u015blonych sytuacjach skanowa\u0107 indeks przy zapytaniu tylko dla pola \u201edate\u201d. Tryb ten stosowany jest wy\u0142\u0105cznie dla indeks\u00f3w \u201eB-tree\u201d przy u\u017cyciu w zapytaniu operatora warunkowego \u201e=\u201d dla zaindeksowanego pola, w sytuacjach, gdy pomijane pole ma niewielk\u0105 liczb\u0119 r\u00f3\u017cnych warto\u015bci (na przyk\u0142ad optymalizacja zadzia\u0142a, je\u015bli pole status \u201estatus\u201d ma kilka ustalonych warto\u015bci).\n<li class=\"l\"> Dodano optymalizacje, kt\u00f3re bardziej efektywnie wykorzystuj\u0105 indeksy do zapyta\u0144 zawieraj\u0105cych konstrukcje \u201eOR\u201d oraz \u201eIN (\u2026)\u201d w bloku \u201eWHERE\u201d, a tak\u017ce zwi\u0119kszaj\u0105 wydajno\u015b\u0107 planowania i wykonywania po\u0142\u0105cze\u0144 tabel (na przyk\u0142ad przyspieszono kod scalania haszy i zezwolono na u\u017cycie inkrementalnego sortowania podczas scalania tabel).\n<li class=\"l\"> Dodano wsparcie dla r\u00f3wnoleg\u0142ego budowania indeks\u00f3w GIN (Generalized Inverted Index), stosowanych do indeksowania warto\u015bci z\u0142o\u017conych, takich jak tablice oraz organizacji wyszukiwania w pe\u0142notekstowych danych lub strukturach JSON.\n<li class=\"l\"> Dodano mo\u017cliwo\u015b\u0107 tworzenia zmaterializowanych widok\u00f3w i kluczy do partycjonowania tabel z indeksami o znaku \u201eunique\u201d, kt\u00f3re nie wykorzystuj\u0105 struktury B-drzewa.\n<li class=\"l\"> Podniesiono og\u00f3ln\u0105 wydajno\u015b\u0107 blokad dla zapyta\u0144 dzia\u0142aj\u0105cych na wielu tabelach, a tak\u017ce wprowadzono usprawnienia w obs\u0142udze zapyta\u0144 do tabel partycjonowanych, przyspieszaj\u0105ce filtracj\u0119 nieu\u017cywanych sekcji oraz operacje \u0142\u0105czenia (JOIN).\n<li class=\"l\"> Przyspieszono operacje na tekstach, takie jak funkcje zmiany do wielkich\/ma\u0142ych liter. Dodano tryb PG_UNICODE_FAST dla przyspieszenia uwzgl\u0119dniania w\u0142a\u015bciwo\u015bci lokalizacji znak\u00f3w Unicode.\n<li class=\"l\"> Zrealizowano mo\u017cliwo\u015b\u0107 zachowania statystyki planisty zapyta\u0144 po aktualizacji mi\u0119dzy znacznymi wersjami PostgreSQL. Zmiana ta pozwala unikn\u0105\u0107 wykonywania zasobo\u017cernych operacji \u201eANALYZE\u201d po uruchomieniu nowej wersji, kiedy to do momentu jej zako\u0144czenia obserwuje si\u0119 spadek wydajno\u015bci DBMS.\n<li class=\"l\"> Zwi\u0119kszona wydajno\u015b\u0107 narz\u0119dzia pg_upgrade, u\u017cywanego do automatyzacji przej\u015bcia na now\u0105, znacz\u0105c\u0105 wersj\u0119 PostgreSQL. Optymalizacje s\u0105 szczeg\u00f3lnie zauwa\u017calne podczas aktualizacji baz danych zawieraj\u0105cych du\u017c\u0105 liczb\u0119 obiekt\u00f3w, takich jak tabele i sekwencje. Aby przyspieszy\u0107 dzia\u0142anie pg_upgrade, dodano r\u00f3wnie\u017c flag\u0119 &#171;&#8212;jobs N&#187; do r\u00f3wnoleg\u0142ego wykonywania kontroli w N w\u0105tkach oraz flag\u0119 &#171;&#8212;swap&#187; do ca\u0142kowitej wymiany katalog\u00f3w z danymi bez stosowania link\u00f3w, klonowania i kopiowania plik\u00f3w.\n<li class=\"l\"> Dodano wsparcie dla wirtualnych kolumn generowanych, kt\u00f3rych warto\u015bci s\u0105 obliczane na bie\u017c\u0105co podczas wykonywania zapyta\u0144, bez zapisywania na dysku. Je\u015bli w wyra\u017ceniu &#171;CREATE TABLE&#8230;&#187; dla kolumn generowanych podano tylko s\u0142owo kluczowe &#171;GENERATED&#187; bez okre\u015blenia typu (STORED lub VIRTUAL), nowa opcja stosowana jest domy\u015blnie zamiast starej implementacji. W starej implementacji warto\u015bci by\u0142y generowane podczas wykonywania operacji &#171;INSERT&#187; lub &#171;UPDATE&#187; i zapisywane na dysku do p\u00f3\u017aniejszego wykorzystania. Wad\u0105 wirtualnych kolumn generowanych jest niemo\u017cno\u015b\u0107 ich u\u017cycia w indeksach, a zalet\u0105 \u2014 mo\u017cliwo\u015b\u0107 normalizacji i zmian danych na bie\u017c\u0105co (istotne przy pracy z danymi JSON). Je\u015bli chodzi o klasyczne kolumny generowane przechowywane, to w nowym wydaniu zapewniono dla nich wsparcie dla replikacji logicznej.\n<li class=\"l\"> W poleceniach INSERT, UPDATE, DELETE i MERGE wprowadzono mo\u017cliwo\u015b\u0107 wyprowadzania wcze\u015bniejszych (OLD) i bie\u017c\u0105cych (CURRENT) warto\u015bci w wyra\u017ceniu RETURNING. Na przyk\u0142ad: &#171;UPDATE&#8230; RETURNING WITH (OLD AS o, NEW AS n) o.*, n.*.&#187;\n<li class=\"l\"> Dodano funkcj\u0119 uuidv7() do generowania losowych unikalnych identyfikator\u00f3w w formacie UUIDv7. W przeciwie\u0144stwie do starej funkcji generowania UUID (gen_random_uuid), kt\u00f3ra teraz jest dodatkowo dost\u0119pna pod nazw\u0105 uuidv4(), w UUIDv7, opr\u00f3cz losowej warto\u015bci, uwzgl\u0119dniany jest czas generacji. Obecno\u015b\u0107 uporz\u0105dkowanych cz\u0119\u015bci w warto\u015bci UUID (pierwsze 12 znak\u00f3w \u2014 czas epokowy, a nast\u0119pne 18 \u2014 warto\u015b\u0107 losowa) zwi\u0119ksza efektywno\u015b\u0107 sortowania i indeksowania, co jest istotne, poniewa\u017c UUID zwykle s\u0105 u\u017cywane jako klucze podstawowe (np. klucze utworzone w bliskim czasie s\u0105 umieszczane obok siebie w indeksie).\n<li class=\"l\"> W operacji &#171;LIKE&#187; wprowadzono obs\u0142ug\u0119 por\u00f3wna\u0144 tekstowych, w kt\u00f3rych wykorzystuje si\u0119 niedeterministyczne w\u0142a\u015bciwo\u015bci lokalizacji &#171;collation&#187;, umo\u017cliwiaj\u0105ce wykonywanie por\u00f3wna\u0144 z uwzgl\u0119dnieniem znaczenia symboli (na przyk\u0142ad, przy por\u00f3wnywaniu mo\u017ce nie by\u0107 brane pod uwag\u0119 znaczek akcentu). Dodano funkcj\u0119 CASEFOLD do zmiany wielko\u015bci liter z uwzgl\u0119dnieniem w\u0142a\u015bciwo\u015bci lokalizacji &#171;collation&#187; (na przyk\u0142ad, niekt\u00f3re znaki maj\u0105 wi\u0119cej ni\u017c dwie wersje ma\u0142e lub przy por\u00f3wnywaniu wymagaj\u0105 przekszta\u0142cenia na wielk\u0105 liter\u0119, a nie ma\u0142\u0105).\n<li class=\"l\"> Dodano mo\u017cliwo\u015b\u0107 stosowania ogranicze\u0144 czasowych (temporal constraint). W warto\u015bciach &#171;PRIMARY KEY&#187; i &#171;UNIQUE&#187; do dodawania ogranicze\u0144 czasowych nale\u017cy stosowa\u0107 wyra\u017cenie &#171;WITHOUT OVERLAPS&#187;, a w warto\u015bci &#171;FOREIGN KEY&#187; &#8212; wyra\u017cenie PERIOD. Na przyk\u0142ad, przy definiowaniu kluczy g\u0142\u00f3wnych mo\u017cna ograniczy\u0107 klucze z nak\u0142adaj\u0105cymi si\u0119 przedzia\u0142ami czasowymi.\n<li class=\"l\"> Dodano polecenie &#171;CREATE FOREIGN TABLE &#8230; LIKE command&#187; do tworzenia schematu zewn\u0119trznej tabeli na podstawie definicji tabeli lokalnej.\n<li class=\"l\"> Dodano wsparcie dla po\u0142\u0105cze\u0144 z DBMS z wykorzystaniem uwierzytelniania opartego na OAUTH 2.0 przy u\u017cyciu tokena dost\u0119pu zamiast has\u0142a. Korzystanie z OAUTH pozwala nie przechowywa\u0107 hase\u0142 w DB, zidentyfikowa\u0107 u\u017cytkownik\u00f3w przez zewn\u0119trzne us\u0142ugi oraz korzysta\u0107 z takich mo\u017cliwo\u015bci jak uwierzytelnianie dwusk\u0142adnikowe i jednolity punkt dost\u0119pu (SSO).\n<li class=\"l\"> Dodano funkcj\u0119 ssl_tls13_ciphers(), kt\u00f3ra pozwala okre\u015bli\u0107 list\u0119 dozwolonych algorytm\u00f3w szyfrowania przy po\u0142\u0105czeniu z u\u017cyciem protoko\u0142u TLSv1.3.\n<li class=\"l\"> Wsparcie dla uwierzytelniania z u\u017cyciem algorytmu md5 do haszowania hase\u0142 zosta\u0142o przeniesione do kategorii przestarza\u0142ych i planowanych do usuni\u0119cia. Zamiast md5 zaleca si\u0119 stosowanie algorytmu SCRAM (SCRAM-SHA-256), kt\u00f3ry pojawi\u0142 si\u0119 w PostgreSQL 10. Dodatkowo zaznacza si\u0119 realizacj\u0119 wsparcia dla przekazywania uwierzytelniania opartego na SCRAM przy po\u0142\u0105czeniach przez postgres_fdw i dblink z zewn\u0119trznymi serwerami PostgreSQL.\n<li class=\"l\"> Podczas wykonywania operacji &#171;EXPLAIN ANALYZE&#187; zapewniono wyj\u015bcie informacji o liczbie operacji wyszukiwania w indeksach przy skanowaniu indeksu oraz liczbie odwo\u0142a\u0144 do bufor\u00f3w podczas wykonywania zapytania. Do wyj\u015bcia &#171;EXPLAIN ANALYZE VERBOSE&#187; do\u0142\u0105czono statystyki o CPU, rejestrze WAL i intensywno\u015bci operacji odczytu. W tabeli pg_stat_all_tables dodano informacje o czasie sp\u0119dzonym na operacji VACUUM i analizie tabel. Udost\u0119pniono statystyki dotycz\u0105ce intensywno\u015bci wej\u015bcia\/wyj\u015bcia oraz obci\u0105\u017cenia rejestru WAL w rozbiciu na poszczeg\u00f3lne po\u0142\u0105czenia. W pg_stat_subscription_stats i dziennikach dodano informacje o diagnostyce konflikt\u00f3w podczas wykonywania operacji zapisu w czasie replikacji logicznej.\n<li class=\"l\"> W nowych instalacjach domy\u015blnie w\u0142\u0105czono u\u017cywanie sum kontrolnych do weryfikacji integralno\u015bci przechowywanych danych. Aby wy\u0142\u0105czy\u0107 to zachowanie podczas uruchamiania initdb, nale\u017cy poda\u0107 opcj\u0119 &#171;&#8212;no-data-checksums&#187;.\n<li class=\"l\"> Do narz\u0119dzia pg_createsubscriber dodano flag\u0119 &#171;&#8212;all&#187; do utworzenia logicznych replik jednym poleceniem dla wszystkich baz danych.\n<li class=\"l\"> Zrealizowano now\u0105 wersj\u0119 (3.2) protoko\u0142u stosowanego do komunikacji zewn\u0119trznych narz\u0119dzi z DBMS, zaimplementowanego w bibliotece libpq. Ostatnia aktualizacja protoko\u0142u mia\u0142a miejsce w PostgreSQL 7.4 (2003 rok). W bibliotece libpq domy\u015blnie wci\u0105\u017c u\u017cywana jest wersja 3.0.          <\/ul>\n<p>\u0179r\u00f3d\u0142o: <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.2 - 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\/pl\/blog\/news\/reliz-subd-postgresql-18\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\/pl\/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\udd47Wydanie DBMS PostgreSQL 18 | ProHoster","description":"Po roku prac opublikowano now\u0105 stabiln\u0105 ga\u0142\u0105\u017a DBMS PostgreSQL 18. Aktualizacje dla nowej ga\u0142\u0119zi b\u0119d\u0105 wydawane przez pi\u0119\u0107 lat do listopada 2030 roku.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/reliz-subd-postgresql-18","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/144010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=144010"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/144010\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=144010"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=144010"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=144010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}