PostgREST 9.0.0 on veebiserver, mis töötab iseseisvalt ja rakendab kerget kihistust PostgreSQL-i andmebaasi, edastades olemasoleva andmebaasi objektid RESTful API-le. PostgREST loob andmebaasis vaateid, selle asemel et peegeldada suheline andmeid objektidesse (ORM). Andmebaasis viiakse läbi ka JSONi vastuste serialiseerimine, andmete kontroll ja autoriseerimine. Süsteemi jõudlus on piisav, et töödelda kuni 2000 päringut sekundis tüüpiliselt serveril. Projekti kood on kirjutatud Haskellis ja levitatakse MIT litsentsi alusel.
Näiteks, kasutades ainult andmebaasi privileegide mehhanismi, saab andmetele (tabelitele, vaadetele ja salvestatud protseduuridele) anda juurdepääsu HTTP protokolli kaudu. Selle asemel ei ole vaja sellist tõlget kodeerida ning tavaliselt piisab ühest GRANT käsust, et tabel oleks REST API kaudu kergesti kättesaadav. On võimalik seadistada juurdepääs tokeni (JWT) kaudu ja korraldada „multitenancy” dünaamilise rea taseme turva (Row Level Security) kasutamise kaudu.
PostgREST arhitektuur soodustab andmesuunalise arhitektuuri (Data-Oriented Architecture) kasutamist, kus mikroteenused ei halda enda olekut, vaid kasutavad selleks ühtset andmejuurikihi (Data Access Layer).

Uue versiooni muudatuste hulgas on:
- Mälu skeemide salvestamise juurde on lisatud sektsioneeritud (partitsioneeritud) tabeleid, mis võimaldas nendele tabelitele integreerida UPSERT ja INSERT toimingud vastuse Location'is, täita OPTIONS päringud ja rakendada OpenAPI tuge.
- RPC POST kaudu on lubatud kutsuda funktsioone ühe nimetamata parameetriga.
- Lubatud on funktsioonidele edastada andmeid ühe JSON-parameetriga ilma päiseta "Prefer: params=single-object".
- Lubatud on funktsioonidesse andmete edastamine tüübi bytea kasutades päringuid "Content-Type: application/octet-stream".
- Lubatud on funktsioonidesse teksti edastamine, kasutades päringute "Content-Type: text/plain".
- Lisatud on tugi märkide põgenemiseks kahekordses sulgus, näiteks "?col=in.("Double\\Quote"), ?col=in.("Back\\\slash").
- Esimese astme ressursside filtreerimise võimalus on olemas, kasutades sisseehitatud filtreid ("/projects?select=*,clients!inner(*)&clients.id=eq.12").
- Operaatilis "is" on lubatud kasutada väärtust "unknown".
- Tagatud on ühilduvus PostgreSQL 14 ga ja lõpetatud on PostgreSQL 9.5 toe pakkumine.
Allikas: opennet.ru
