Serbestberdana PostgREST 9.0.0 pêk hat, serverek webê ya ji hev veqetandî bi pêkanîna pêvekek sivik a PostgreSQL DBMS, tiştên ku ji databasek heyî vediguhezîne API-ya RESTful. Li şûna nexşeya daneyên pêwendiyê li tiştan (ORM), PostgREST rasterast di databasê de dîtinan diafirîne. Aliyê databasê di heman demê de serialkirina bersivên JSON, pejirandina daneyê, û destûrnameyê jî digire. Performansa pergalê bes e ku li ser serverek tîpîk heya 2000 daxwazî di çirkeyê de bişopîne. Koda projeyê li Heskîfê hatiye nivîsandin û di bin lîsansa MÎT'ê de tê belavkirin.
Mînakî, tenê mekanîzmaya îmtiyaza databasê bikar tîne, hûn dikarin li ser HTTP gihandina daneyan (tablo, celebên dîtinê û prosedurên hilanîn) bidin. Di vê rewşê de, ne hewce ye ku wergerek wusa were şîfrekirin û bi gelemperî yek fermanek GRANT bes e ku tablo bi navgîniya REST API-yê peyda bibe. Bi karanîna ewlehiya asta rêza dînamîkî (ewlekariya asta rêzê) gengaz e ku meriv gihîştina bi nîşanek (JWT) mîheng bike û "pirtengî" organîze bike.
Ji hêla mîmarî ve, PostgREST ber bi mîmariyek dane-oriented (Mîmariya Dane-Oriented) ve dikişîne, ku mîkroxizmet bixwe dewletan xilas nakin, lê ji bo vê yekê yek gihîştina daneyê (Data Access Layer) bikar tînin.
Di nav guhertinên di guhertoya nû de:
- Tabloyên dabeşkirî li cache şema hilanînê hatin zêdekirin, ku ev îmkan kir ku tabloyên weha di bersiva Cihê de operasyonên UPSERT û INSERT bi cih bikin, pirsnameyên OPTIONS bicîh bikin, û piştgiriya OpenAPI bicîh bikin.
- Bi rêya RPC POST re destûr tê dayîn ku fonksiyonên bi yek parametreyek nenavkirî bang bikin.
- Destûr e ku meriv fonksiyonan bi yek parametreyek JSON re bêyî sernavê "Prefer: params=single-object" bang bike.
- Destûr e ku meriv daneyên cûrbecûr bytea li fonksiyonan bi karanîna pirsnameyên bi "Naverok-Tîpa: serîlêdan / oktet-stream" bar bike.
- Destûr dide ku nivîsê li fonksiyonan bi karanîna pirsên bi "Cîpa-Naverok: Nivîsar/Sade" bar bike.
- Piştgiriyek zêde kir ji bo revîna karakteran di hundurê dubendan de, mînakî, "?col=in.("Double\"Quote"), ?col=in.("Veger\\slash")".
- Qabiliyeta parzûnkirina çavkaniyên asta yekem li ser fîlterên çêkirî ("/projects?select=*,clients!inner(*)&clients.id=eq.12" peyda bûye.
- Operatora "e" destûrê dide nirxa "nenas".
- Lihevhatina bi PostgreSQL 14 re hate bidestxistin û piştgirî ji bo PostgreSQL 9.5 hate sekinandin.
Source: opennet.ru