Bol spustený PostgREST 9.0.0, samostatný webový server s implementáciou ľahkej nadstavby k SÚDB PostgreSQL, ktorý prevádza objekty z existujúcej databázy na RESTful API. Namiesto odrážania relačných údajov v objektoch (ORM) sa v PostgREST vytvárajú pohľady priamo v databáze. Na strane DB sa tiež vykonáva serializácia odpovedí JSON, overovanie údajov a autorizácia. Výkon systému je dostatočný na spracovanie až 2000 požiadaviek za sekundu na typovom serveri. Kód projektu je napísaný v programovacom jazyku Haskell a šíri sa pod licenciou MIT.
Napríklad, pomocou mechanizmu oprávnení v databáze môžete poskytnúť prístup k údajom (tabuľkám, pohľadom a uloženým procedúram) prostredníctvom protokolu HTTP. Nie je potrebné kódovanie takejto translácie a zvyčajne stačí jeden príkaz GRANT, aby tabuľka bola dostupná cez REST API. Existuje možnosť nastaviť prístup pomocou tokenu (JWT) a zorganizovať „multitenancy“ prostredníctvom použitia dynamickej bezpečnosti na úrovni riadkov (Row Level Security).
Architektonicky PostgREST podnecuje dáta orientovanú architektúru (Data-Oriented Architecture), kde mikroslužby si samy neuchovávajú stav, ale používajú na to jednotný prístup k údajom (Data Access Layer).

Medzi zmenami v novej verzii:
- Do schémy ukladania do vyrovnávacej pamäte boli pridané partizionované tabuľky, čo umožnilo pre takéto tabuľky integrovať operácie UPSERT a INSERT do odpovede Location, vykonávať požiadavky OPTIONS a implementovať podporu OpenAPI.
- Prostredníctvom RPC POST je povolené vyvolávať funkcie s jedným nepomenovaným parametrom.
- Povolené je vyvolávať funkcie s jedným JSON-parametrom bez hlavičky „Prefer: params=single-object“.
- Povolené je načítavať do funkcií údaje typu bytea, pomocou požiadaviek s „Content-Type: application\/octet-stream“.
- Povolené je načítavať do funkcií text, pomocou požiadaviek s „Content-Type: text\/plain“.
- Pridala sa podpora pre escape znaky vo dvojitých zátvorkách, napríklad „?col=in.(„Double\“Quote“), ?col=in.(„Back\\slash“)“.
- Bola poskytnutá možnosť filtrovať zdroje prvej úrovne na základe zabudovaných filtrov („/projects?select=*,clients!inner(*)&clients.id=eq.12“.
- V operátore „is“ je povolené používať hodnotu „unknown“.
- Zabezpečená kompatibilita s PostgreSQL 14 a ukončená podpora PostgreSQL 9.5.
Zdroj: opennet.ru
