Liberazione di PostgREST 9.0.0, add-ons per trasfurmà a basa di dati in una API RESTful

PostgREST 9.0.0 hè statu liberatu, un servitore web operante separatamente cù l'implementazione di un add-on ligeru à u DBMS PostgreSQL, traduce oggetti da una basa di dati esistenti in una API RESTful. Invece di mapping data relational in objects (ORM), PostgREST crea viste direttamente in a basa di dati. U latu di a basa di dati gestisce ancu a serializazione di risposte JSON, a validazione di dati è l'autorizazione. U rendiment di u sistema hè abbastanza per processà finu à 2000 richieste per seconda in un servitore tipicu. U codice di u prugettu hè scrittu in Haskell è distribuitu sottu a licenza MIT.

Per esempiu, aduprendu solu u mecanismu di privilegiu di basa di dati, pudete cuncede l'accessu à e dati (tavule, tipi di vista è prucedure almacenate) per HTTP. In questu casu, ùn ci hè bisognu di codificà una tale traduzzione è di solitu un cumandamentu GRANT hè abbastanza per rende a tavula dispunibule via l'API REST. Hè pussibule cunfigurà l'accessu per token (JWT) è urganizà "multitenancy" cù l'usu di a sicurità dinamica di u livellu di fila (Row Level Security).

Architecturally, PostgREST spinge versu una architettura orientata à dati (Data-Oriented Architecture), induve i microservizi ùn salvanu micca stati stessi, ma utilizanu un accessu unicu à e dati (Data Access Layer) per questu.

Liberazione di PostgREST 9.0.0, add-ons per trasfurmà a basa di dati in una API RESTful

Trà i cambiamenti in a nova versione:

  • I tabelle partizionate sò state aghjunte à a cache di schema di almacenamento, chì hà permessu à tali tavulini di incrustà l'operazioni UPSERT è INSERT in a risposta di Locazione, eseguisce e dumande OPZIONI, è implementà u supportu OpenAPI.
  • Via RPC POST hè permessu di chjamà funzioni cù un paràmetru senza nome.
  • Hè permessu di chjamà funzioni cù un paràmetru JSON senza l'intestazione "Preferite: params = unicu oggetto".
  • Hè permessu di carricà dati di tipu bytea in e funzioni utilizendu richieste cù "Tipu di cuntenutu: applicazione / octet-stream".
  • Permette di carricà u testu in e funzioni usendu dumande cù "Tipu di cuntenutu: testu / pianu".
  • Aggiuntu supportu per i caratteri di scappamentu in parentesi doppia, per esempiu, "?col=in.("Double\"Quote"), ?col=in.("Back\\slash")".
  • A capacità di filtrà risorse di primu livellu basatu nantu à i filtri integrati ("/projects?select=*,clients!inner(*)&clients.id=eq.12" hè statu furnitu.
  • L'operatore "is" permette u valore "inconnu".
  • A cumpatibilità cù PostgreSQL 14 hè stata ottenuta è u supportu per PostgreSQL 9.5 hè stata interrotta.

Source: opennet.ru

Add a comment