U publikua versione PostgREST 9.0.0, një server web të veçantë që implementon një shtesë të lehtë për DBMS PostgreSQL, duke transformuar objektet nga një bazë të dhënash ekzistuese në një API RESTful. Në vend që të pasqyrojnë të dhënat relacionale në objekte (ORM), në PostgREST, pamjet krijohen drejtpërdrejt në bazën e të dhënave. Në anën e DB-së, gjithashtu realizohet serializimi i përgjigjeve JSON, verifikimi i të dhënave dhe autorizimi. Performanca e sistemit është e mjaftueshme për të përpunuar deri në 2000 kërkesa në sekondë në një tipik. serveri. Kodi i projektit është shkruar në gjuhën Haskell dhe shpërndahet nën licencën MIT.
Për shembull, duke përdorur vetëm mekanizmin e privilegjeve në bazën e të dhënave, mund të ofrohet akses në të dhëna (tavolina, pamje dhe procedura të ruajtura) nëpërmjet protokollit HTTP. Nuk ka nevojë për kodimin e këtij transformimi dhe zakonisht mjafton një komandë GRANT për të bërë tavolinën të disponueshme për API REST. Ka mundësinë për të konfiguruar aksesin me token (JWT) dhe për të organizuar "multitenancy" përmes përdorimit të sigurisë dinamike në nivelin e rreshtave (Row Level Security).
Arkitektura PostgREST promovon një arkitekturë të orientuar nga të dhënat (Data-Oriented Architecture), ku mikroshërbimet nuk ruajnë vetë gjendjen, por përdorin një qasje të unifikuar për të dhënat (Data Access Layer).

Ndër ndryshimet në versionin e ri:
- Në skemat e keshit të ruajtjes janë shtuar tabelat e segmentuara (particionuara), gjë që ka lejuar që për këto tabela të integrohen operacionet UPSERT dhe INSERT në përgjigjen Location, të ekzekutojnë kërkesat OPTIONS dhe të realizojnë mbështetje për OpenAPI.
- Përmes RPC POST lejohet thirrja e funksioneve me një parameter të paemëruar.
- Lejohet thirrja e funksioneve me një parameter JSON pa udhëzimin "Prefer: params=single-object".
- Lejohet ngarkimi në funksione të dhënave me llojin bytea, duke përdorur kërkesa me "Content-Type: application/octet-stream".
- Lejohet ngarkimi në funksione të tekstit, duke përdorur kërkesa me "Content-Type: text/plain".
- Shtuar mbështetje për ekranuar simbollet brenda dy gjinive, për shembull, "?col=in.("Double\"Quote"), ?col=in.("Back\\slash").
- Ofruar mundësinë për filtrimin e burimeve të nivelit të parë mbi baza filtri të integruar ("/projects?select=*,clients!inner(*);clients.id=eq.12").
- Në operatorin "is" lejohet përdorimi i vlerës "unknown".
- Sigurohet përputhshmëria me PostgreSQL 14 dhe ndërpritet mbështetje për PostgreSQL 9.5.
Burimi: opennet.ru
