データベースを RESTful API に変えるためのアドオンである PostgREST 9.0.0 のリリース

PostgREST 9.0.0 がリリースされました。PostgREST 2000 は、PostgreSQL DBMS への軽量アドオンを実装した個別に動作する Web サーバーで、オブジェクトを既存のデータベースから RESTful API に変換します。 PostgREST は、リレーショナル データをオブジェクト (ORM) にマッピングする代わりに、データベース内にビューを直接作成します。 データベース側は、JSON 応答のシリアル化、データ検証、承認も処理します。 システム パフォーマンスは、一般的なサーバーで XNUMX 秒あたり最大 XNUMX リクエストを処理するのに十分です。 プロジェクト コードは Haskell で書かれ、MIT ライセンスに基づいて配布されます。

たとえば、データベース権限メカニズムのみを使用して、HTTP 経由でデータ (テーブル、ビュー タイプ、ストアド プロシージャ) へのアクセスを許可できます。 この場合、そのような変換をエンコードする必要はなく、通常は XNUMX つの GRANT コマンドでテーブルを REST API 経由で使用できるようにするのに十分です。 トークン (JWT) によるアクセスを構成し、動的な行レベル セキュリティ (行レベル セキュリティ) を使用して「マルチテナント」を組織することができます。

アーキテクチャ的には、PostgREST はデータ指向アーキテクチャ (データ指向アーキテクチャ) を推し進めており、マイクロサービスは状態自体を保存せず、そのためにデータへの単一アクセス (データ アクセス層) を使用します。

データベースを RESTful API に変えるためのアドオンである PostgREST 9.0.0 のリリース

新しいバージョンの変更点には次のようなものがあります。

  • パーティション テーブルがストレージ スキーマ キャッシュに追加されたため、そのようなテーブルで UPSERT および INSERT 操作を Location 応答に埋め込み、OPTIONS クエリを実行し、OpenAPI サポートを実装できるようになりました。
  • RPC POST を介して、XNUMX つの名前のないパラメーターを使用して関数を呼び出すことができます。
  • 「Prefer: params=single-object」ヘッダーなしで XNUMX つの JSON パラメーターを使用して関数を呼び出すことができます。
  • 「Content-Type: application/octet-stream」のリクエストを使用して、タイプ bytea のデータを関数にロードすることができます。
  • 「Content-Type: text/plain」のクエリを使用して関数にテキストをロードできるようになりました。
  • 二重括弧内の文字のエスケープのサポートが追加されました (例: "?col=in.("Double\"Quote"), ?col=in.("Back\\slash")"。
  • 組み込みフィルター (「/projects?select=*,clients!inner(*)&clients.id=eq.12」) に基づいて第 XNUMX レベルのリソースをフィルター処理する機能が提供されています。
  • 「is」演算子では値「unknown」を許可します。
  • PostgreSQL 14 との互換性が確保され、PostgreSQL 9.5 のサポートは終了しました。

出所: オープンネット.ru

コメントを追加します