Eldono de PostgREST 9.0.0, aldonaĵoj por igi la datumbazon en RESTful API

PostgREST 9.0.0, memstara retservilo efektiviganta malpezan PostgreSQL-aldonaĵon kiu tradukas objektojn el ekzistanta datumbazo en RESTful API-on, estis publikigita. Anstataŭ mapi rilatajn datumojn al objektoj (ORM), PostgREST kreas vidojn rekte en la datumbazo. La datumbazo ankaŭ pritraktas JSON-respondajn seriigon, datenvalidigon kaj rajtigon. La rendimento de la sistemo sufiĉas por pritrakti ĝis 2000 petojn sekunde sur tipa servilo. serviloLa projekta kodo estas skribita en Haskell kaj estas distribuita sub la MIT-licenco.

Ekzemple, uzante nur la datumbazan privilegian mekanismon, vi povas doni aliron al datumoj (tabeloj, vidotipoj kaj konservitaj proceduroj) per HTTP. En ĉi tiu kazo, ne necesas kodi tian tradukon kaj kutime unu GRANT-komando sufiĉas por disponigi la tabelon per la REST-API. Eblas agordi aliron per ĵetono (JWT) kaj organizi "multitenancy" per la uzo de dinamika vicnivela sekureco (Row Level Security).

Arkitekture, PostgREST puŝas al datum-orientita arkitekturo (Data-Oriented Architecture), kie mikroservoj ne savas ŝtatojn mem, sed uzas ununuran aliron al datumoj (Data Access Layer) por tio.

 Eldono de PostgREST 9.0.0, aldonaĵoj por igi la datumbazon en RESTful API

Inter la ŝanĝoj en la nova versio:

  • Dispartitaj tabloj estis aldonitaj al la stokadskemo-kaŝmemoro, kio ebligis ke tiaj tabloj enkonstruu UPSERT- kaj INSERT-operaciojn en la Loka respondo, ekzekuti OPTIONS-demandojn kaj efektivigi OpenAPI-subtenon.
  • Per RPC POST estas permesite voki funkciojn kun unu nenomita parametro.
  • Estas permesite voki funkciojn kun unu JSON-parametro sen la kaplinio "Prefer: params=single-object".
  • Estas permesite ŝargi datumojn de tipo bytea en funkciojn uzante petojn kun "Enhavo-Tipo: aplikaĵo/okteto-fluo".
  • Permesita ŝargi tekston en funkciojn uzante demandojn kun "Enhavo-Tipo: teksto/plain".
  • Aldonita subteno por eskapi signojn ene de duoblaj krampoj, ekzemple, "?col=in.("Duobla\"Citaĵo"), ?col=in.("Reen\\slash")".
  • La kapablo filtri unuanivelajn rimedojn bazitajn sur enkonstruitaj filtriloj ("/projects?select=*,clients!inner(*)&clients.id=eq.12" estis provizita.
  • La operatoro "estas" permesas la valoron "nekonata".
  • Kongrueco kun PostgreSQL 14 estis atingita kaj subteno por PostgreSQL 9.5 estis nuligita.

fonto: opennet.ru

Aĉetu fidindan gastigadon por retejoj kun DDoS-protekto, VPS-VDS-serviloj 🔥 Aĉetu fidindan retejan gastigadon kun DDoS-protekto, VPS VDS-servilojn | ProHoster