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
