誤解したことのリスト:
-
ALTER DEFAULT PRIVILEGES
既存のオブジェクト(この場合はスキーマ)の権限は変更されません。GRANT CREATE ON SCHEMA tn_schema TO tn_beta_migrator;
-
ALTER DEFAULT PRIVILEGES
実行したステートメントは、ユーザーpostgres
によって作成されたテーブルの権限にのみ影響します スキーマ内tn_schema
、しかし、tn_beta_migrator
が必要なようです テーブルを作成します。ALTER DEFAULT PRIVILEGES
は必要ありません テーブルを作成したユーザーがテーブルの所有者になり、デフォルトでテーブルに対するすべての権限を持っているためです。 -
\ddp
でデフォルトの権限を表示できますpsql
で 。 -
スキーマはデータベースの一部であるため、スキーマを表示するにはデータベースに接続する必要があります。
tn_beta_migrator
によって作成されたテーブルが必要な場合 デフォルトで特定の権限を取得します。そのユーザーのデフォルトの権限を定義する必要があります (postgres
ではありません 、あなたがしたように):
ALTER DEFAULT PRIVILEGES FOR ROLE tn_beta_migrator IN SCHEMA tn_schema GRANT ...;