Rhyddhau PostgREST 9.0.0, ychwanegion ar gyfer troi'r gronfa ddata yn API RESTful

Rhyddhawyd PostgREST 9.0.0, gweinydd gwe sy'n gweithredu ar wahân gyda gweithredu ychwanegiad ysgafn i'r PostgreSQL DBMS, gan drosi gwrthrychau o gronfa ddata sy'n bodoli eisoes yn API RESTful. Yn hytrach na mapio data perthynol i wrthrychau (ORMs), mae PostgREST yn creu golygfeydd yn uniongyrchol yn y gronfa ddata. Mae ochr y gronfa ddata hefyd yn delio â chyfresoli ymatebion JSON, dilysu data ac awdurdodi. Mae perfformiad y system yn ddigon i brosesu hyd at 2000 o geisiadau yr eiliad ar weinydd arferol. Mae cod y prosiect wedi'i ysgrifennu yn Haskell a'i ddosbarthu o dan drwydded MIT.

Er enghraifft, gan ddefnyddio mecanwaith braint y gronfa ddata yn unig, gallwch ganiatáu mynediad i ddata (tablau, mathau o olwg, a gweithdrefnau storio) dros HTTP. Yn yr achos hwn, nid oes angen amgodio cyfieithiad o'r fath ac fel arfer mae un gorchymyn GRANT yn ddigon i sicrhau bod y tabl ar gael trwy'r API REST. Mae'n bosibl ffurfweddu mynediad trwy docyn (JWT) a threfnu “aml-ddaliadaeth” trwy ddefnyddio diogelwch lefel rhes deinamig (Diogelwch Lefel Rhes).

Yn bensaernïol, mae PostgREST yn gwthio tuag at bensaernïaeth sy'n canolbwyntio ar ddata (Pensaernïaeth sy'n Canolbwyntio ar Ddata), lle nad yw microwasanaethau yn arbed gwladwriaethau eu hunain, ond yn defnyddio un mynediad at ddata (Haen Mynediad Data) ar gyfer hyn.

Rhyddhau PostgREST 9.0.0, ychwanegion ar gyfer troi'r gronfa ddata yn API RESTful

Ymhlith y newidiadau yn y fersiwn newydd:

  • Ychwanegwyd tablau rhanedig at y storfa sgema storio, a oedd yn ei gwneud hi'n bosibl i dablau o'r fath fewnosod gweithrediadau UPSERT a INSERT yn yr ymateb Lleoliad, gweithredu ymholiadau OPTIONS, a gweithredu cefnogaeth OpenAPI.
  • Trwy RPC POST caniateir galw swyddogaethau gydag un paramedr dienw.
  • Caniateir iddo alw swyddogaethau gydag un paramedr JSON heb y pennawd “Gwell: params = gwrthrych sengl”.
  • Caniateir llwytho data o fath byte i swyddogaethau gan ddefnyddio ceisiadau gyda “Content-Math: application/octet-stream”.
  • Caniateir i lwytho testun i mewn i swyddogaethau gan ddefnyddio ymholiadau gyda "Cynnwys-Math: testun / plaen".
  • Ychwanegwyd cefnogaeth ar gyfer nodau dianc o fewn cromfachau dwbl, er enghraifft, "?col=in.("Dwbl\"Dyfyniad"), ?col=in.("Yn ôl \ slaes")".
  • Mae'r gallu i hidlo adnoddau lefel gyntaf yn seiliedig ar hidlwyr adeiledig (“/projects?select=*,clients!inner(*)&clients.id=eq.12" wedi'i ddarparu.
  • Mae'r gweithredwr "yn" yn caniatáu'r gwerth "anhysbys".
  • Mae cydnawsedd â PostgreSQL 14 wedi'i gyflawni ac mae cefnogaeth ar gyfer PostgreSQL 9.5 wedi dod i ben.

Ffynhonnell: opennet.ru

Ychwanegu sylw