PostgREST 9.0.0 është lëshuar, një server web i pavarur që implementon një shtesë të lehtë për sistemin e menaxhimit të bazave të të dhënave PostgreSQL, i cili transmeton objekte nga një bazë të dhënash ekzistuese në një API RESTful. Në vend që të reflektojnë të dhënat relacionale në objekte (ORM), në PostgREST krijohen ballina drejtpërdrejt në bazën e të dhënave. Në anën e DB gjithashtu ekzekutohet 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. serverKodi i projektit është shkruar në gjuhën Haskell dhe shpërndahet me licencë MIT.
Për shembull, duke përdorur vetëm mekanizmin e privilegjeve në bazën e të dhënave, mund të jepet qasje në të dhëna (tabela, pamje dhe procedura të ruajtura) përmes protokollit HTTP. Nuk ka nevojë për kodimin e një translacioni të tillë dhe zakonisht mjafton një komandë GRANT që tabela të bëhet e aksesueshme përmes API REST. Ka mundësi për të konfiguruar qasjen me një token (JWT) dhe për të organizuar "multitenancy" përmes përdorimit të sigurisë dinamike në nivelin e rreshtave (Row Level Security).
Arkitektura PostgREST nxit një arkitekturë të orientuar nga të dhënat (Data-Oriented Architecture), ku mikroshërbimet nuk ruajnë gjendjen vetë, por përdorin një qasje të bashkuar për të dhënat (Data Access Layer).

Ndër ndryshimet në versionin e ri:
- Në sistemin e ruajtjes janë shtuar tabela të ndara (particizuara), gjë që ka lejuar që për këto tabela të inkorporohen operacionet UPSERT dhe INSERT në përgjigjen Location, të ekzekutohen kërkesa OPTIONS dhe të realizohet mbështetje për OpenAPI.
- Përmes RPC POST, është e lejuar të thirren funksione me një parametër jo të emëruar.
- Lejohet thirrja e funksioneve me një parametër JSON pa header "Prefer: params=single-object".
- Lejohet ngarkimi në funksione të dhënave me tip bytea, duke përdorur kërkesa me "Content-Type: application/octet-stream".
- Lejohet ngarkimi në funksione të teksteve, duke përdorur kërkesa me "Content-Type: text/plain".
- Shtuar mbështetje për escapin e simboleve brenda dy katrorëve, për shembull, "?col=in.("Double\"Quote"), ?col=in.("Back\\slash").
- Ofruar mundësinë e filtrimit të burimeve të nivelit të parë bazuar në filtrat e integruar ("/projects?select=*,clients!inner(*)&clients.id=eq.12").
- Në operatorin "is" është e lejuar përdorimi i vlerës "unknown".
- Siguruar kompatibilitet me PostgreSQL 14 dhe ndaluar mbështetje për PostgreSQL 9.5.
Burimi: opennet.ru
