
多くのサービスのバックエンドとして使用する新しいデータベース サーバーをセットアップしています。これらの各サービスは、通常、システム内の 1 つのデータベースのみを対象としているため、各サービスが接続するアカウントを分離して、そのデータベースにのみアクセスできるようにしたいと考えています。サービス アプリケーションは独自のスキーマを管理するため、データベースに対する管理者のような権限を付与しますが、他のものには触れないようにする必要があります。
これを postgres で設定する方法はありますか?
ServerFaultのこの質問スキーマ全体のレベルでユーザーに権限を付与する方法を提案していますが、これはデータベースでは機能しません (Alter Default Privileges In Database xx
で構文エラーが発生しますDatabase
)。
答え1
質問するとすぐに答えが見つかりました。私が探していた魔法のコマンドは次のとおりです。
Alter Database xxx Owner To user_xxx;
これはコマンドマニュアルに記載されていますAlter Database
:
https://www.postgresql.org/docs/current/sql-alterdatabase.html