Verëffentlechung vu PostgREST 9.0.0, Add-ons fir d'Datebank an eng RESTful API ze maachen

D'Verëffentlechung vu PostgREST 9.0.0 ass stattfonnt, e separat operéierende Webserver mat der Implementatioun vun engem liichte Add-on op de PostgreSQL DBMS, iwwersetzt Objete vun enger existéierender Datebank an eng RESTful API. Amplaz fir relational Daten an Objekter (ORMs) ze kartéieren, erstellt PostgREST Meenungen direkt an der Datebank. D'Datebank Säit geréiert och d'Serialiséierung vun JSON Äntwerten, Datenvalidatioun an Autorisatioun. D'Systemleistung ass genuch fir bis zu 2000 Ufroen pro Sekonn op engem typesche Server ze veraarbecht. De Projet Code ass an Haskell geschriwwen a verdeelt ënner der MIT Lizenz.

Zum Beispill, andeems Dir nëmmen den Datebank Privileg Mechanismus benotzt, kënnt Dir Zougang zu Daten (Tabellen, Vuetypen a gespäichert Prozeduren) iwwer HTTP ginn. An dësem Fall ass et net néideg sou eng Iwwersetzung ze codéieren an normalerweis ass ee GRANT Kommando genuch fir den Dësch iwwer d'REST API verfügbar ze maachen. Et ass méiglech Zougang duerch Token (JWT) ze konfiguréieren an "Multitenanz" ze organiséieren duerch d'Benotzung vun dynamescher Zeilniveau Sécherheet (Row Level Security).

Architektonesch dréckt PostgREST op eng dataorientéiert Architektur (Data-orientéiert Architektur), wou Mikroservicer keng Staaten selwer späicheren, awer en eenzegen Zougang zu Daten benotzen (Data Access Layer) fir dëst.

Verëffentlechung vu PostgREST 9.0.0, Add-ons fir d'Datebank an eng RESTful API ze maachen

Ënnert den Ännerungen an der neier Versioun:

  • Partitionéiert Dëscher goufen an de Späicherschema Cache bäigefüügt, wat et méiglech gemaach huet fir sou Dëscher UPSERT an INSERT Operatiounen an der Location Response z'integréieren, OPTIONS Ufroen auszeféieren an OpenAPI Support ëmzesetzen.
  • Iwwer RPC POST ass et erlaabt Funktiounen mat engem onbenannte Parameter ze ruffen.
  • Et ass erlaabt Funktiounen mat engem JSON Parameter ze ruffen ouni den Header "Prefer: params = Single-Objet".
  • Et ass erlaabt Daten vum Typ Bytea a Funktiounen ze lueden mat Ufroe mat "Content-Type: application/octet-stream".
  • Erlaabt Text a Funktiounen ze lueden mat Ufroe mat "Content-Type: Text/plain".
  • Ënnerstëtzung bäigefüügt fir Zeechen an duebel Klammeren z'entkommen, zum Beispill "?col=in.("Double\"Zitat"),?col=in.("Back\\slash")".
  • D'Kapazitéit fir éischt-Niveau Ressourcen ze filteren baséiert op agebaute Filtere ("/projects?select=*,clients!inner(*)&clients.id=eq.12" gouf zur Verfügung gestallt.
  • Den "ass" Bedreiwer erlaabt de Wäert "onbekannt".
  • Kompatibilitéit mat PostgreSQL 14 ass erreecht ginn an d'Ënnerstëtzung fir PostgreSQL 9.5 gouf gestoppt.

Source: opennet.ru

Setzt e Commentaire