postgres ユーザーに特定のデータベースに対するすべての権限を付与するにはどうすればよいですか?

postgres ユーザーに特定のデータベースに対するすべての権限を付与するにはどうすればよいですか?

多くのサービスのバックエンドとして使用する新しいデータベース サーバーをセットアップしています。これらの各サービスは、通常、システム内の 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

関連情報