Rilascio di PostgREST 9.0.0, un'estensione per trasformare database in API RESTful.

È disponibile il rilascio di PostgREST 9.0.0, un server web autonomo che implementa un'interfaccia leggera per il database PostgreSQL, traducendo oggetti da un database esistente in un'API RESTful. A differenza della riflessione dei dati relazionali in oggetti (ORM), in PostgREST le viste vengono create direttamente nel database. La serializzazione delle risposte JSON, la convalida dei dati e l'autenticazione avvengono sul lato del database. Le prestazioni del sistema sono sufficienti per gestire fino a 2000 richieste al secondo in un tipico server. Il codice del progetto è scritto in Haskell e distribuito sotto licenza MIT.

Ad esempio, utilizzando solo il meccanismo di privilegi nel database, è possibile fornire accesso ai dati (tabelle, viste e procedure memorizzate) tramite il protocollo HTTP. Non è necessaria la codifica di questa traduzione e di solito è sufficiente un'unica istruzione GRANT per rendere una tabella disponibile tramite l'API REST. È possibile configurare l'accesso tramite token (JWT) e organizzare il "multitenancy" utilizzando la sicurezza dinamica a livello di riga (Row Level Security).

L'architettura PostgREST promuove un'architettura orientata ai dati (Data-Oriented Architecture), in cui i microservizi non mantengono stati autonomamente, ma utilizzano un accesso unificato ai dati (Data Access Layer).

Rilascio di PostgREST 9.0.0, un'estensione per trasformare database in API RESTful.

Tra le modifiche nella nuova versione:

  • Nel caching, sono state aggiunte tabelle partizionate, permettendo di incorporare operazioni UPSERT e INSERT nella risposta Location, eseguire richieste OPTIONS e implementare il supporto per OpenAPI.
  • Attraverso RPC POST, è consentito richiamare funzioni con un solo parametro non nominato.
  • È consentito richiamare funzioni con un parametro JSON senza l'intestazione "Prefer: params=single-object".
  • È possibile caricare dati nelle funzioni di tipo bytea, utilizzando richieste con "Content-Type: application/octet-stream".
  • È possibile caricare testo nelle funzioni, utilizzando richieste con "Content-Type: text/plain".
  • È stata aggiunta la supporto per l'escape di caratteri all'interno delle doppie parentesi, ad esempio, "?col=in.("Double\"Quote"), ?col=in.("Back\\slash").
  • È stata fornita la possibilità di filtrare le risorse di primo livello basate su filtri incorporati ("/projects?select=*,clients!inner(*)&clients.id=eq.12").
  • Nell'operatore "is", è consentito utilizzare il valore "unknown".
  • È stata garantita la compatibilità con PostgreSQL 14 e la vendita del supporto per PostgreSQL 9.5 è stata interrotta.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster