PostgreSQL 18 prinaša asinhroni I/O in do trikrat boljše zmogljivosti
Izšla je nova različica priljubljene odprtokodne podatkovne baze PostgreSQL 18, ki med ključnimi novostmi uvaja podporo za asinhrone vhodno/izhodne operacije (I/O). Namesto da bi sistem čakal, da se ena operacija zaključi, lahko PostgreSQL sedaj izvede več I/O zahtev hkrati, kar prinaša občutne zmogljivostne izboljšave, v določenih primerih tudi do trikrat večji pretočnost.
Asinhroni I/O (AIO) je osrednja tehnološka sprememba v tej izdaji. PostgreSQL je namreč doslej podpiral le sinhrono branje, z zaupanjem v prefetching operacijski sistemov. Vendar ker operacijski sistem ni vedno zmožen razumeti specifičnih vzorcev dostopa do podatkov, so takšni pristopi vodili do neusklajenih optimizacij za različne delovne obremenitve. Z AIO nadomešča ta pristop, baza sama pošilja več I/O zahtev hkrati, ne da bi blokirala glavni postopek.
Testi potrjujejo, da že z nastavitvijo worker izvedba pri hladnem cache-u (cold cache) v povprečju zmanjša čas izvajanja nekaterih poizvedb od slabih 15 sekund na okoli 10 sekund, še večjo izboljšavo pa vsebuje način io_uring, ki lahko prinese upodobitev pod 6 sekund. Poleg tega PostgreSQL 18 izboljšuje prehod statistike načrtovalnika (planner statistics), ki se lahko ohranijo med nadgradnjo, kar zmanjša začasno poslabšanje zmogljivosti v sistemih, kjer so nadgradnje redne.
Za poizvedbe in obdelavo besedil so dodane izboljšave, kot je kolacija PG_UNICODE_FAST, ki omogoča polno podporo Unicode pri transformacijah velikih in malih črk, ter podpora za LIKE z nedeterminističnimi kolacijami. Izboljšana je tudi obravnava polnega iskanja besedil (full-text search), ki zdaj uporablja privzeti kolacijski ponudnik, kar lahko zahteva reindeksiranje pri nadgradnji.
Z vidika razvijalcev so pomembne novosti, kot so virtualne generirani stolpci (računane pri poizvedovanju), novi funkcija za boljše urejanje UUID-jev, razširjeni RETURNING ukazi, in možnost ustvarjanja sheme tuje tabele s CREATE FOREIGN TABLE … LIKE. Dodana je tudi podpora za OAuth 2.0 avtentikacijo, ukinitev md5 geselne avtentikacije (v prihodnosti bo odstranjen), in zmožnost prijave prek SCRAM pri oddaljenih povezavah. Spremembe prinašajo tudi nove načine nadzora in opazovanja sistema.
V širšem kontekstu gre pri PostgreSQL 18 za korak naprej v zgodovini projekta: gre za arhitekturno pomembno spremembo v upravljanju I/O, s ciljem zmanjšanja ozkih grl pri velikih in distribucijskih okoljih ter bolj učinkovitega izkoriščanja strojne infrastrukture. Zaradi tega bo nadgradnja v številnih primerih smiselna, vendar zahteva premišljeno nastavitev, preizkušanje in prilagoditev nadzora, da se nove zmogljivosti optimalno izkoristijo.