-
データベースに接続します:
psql -U ユーザー名 -d データベース名
-
アクセス権を付与するスキーマを選択します:
SET search_path TO スキーマ名;
-
テーブルへのアクセス権を付与します:
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA スキーマ名 TO ユーザー名;
上記のコードでは、SELECT、INSERT、UPDATE、DELETEの権限をすべてのテーブルに付与しています。必要に応じてこれらの権限を調整してください。
-
ユーザーに対してスキーマの検索パスを設定します:
ALTER USER ユーザー名 SET search_path TO スキーマ名;
これにより、ユーザーがスキーマ内のテーブルに対してクエリを実行できるようになります。
これで、指定したスキーマ内のすべてのテーブルに対してユーザーにアクセス権が付与されました。この方法を使用することで、ユーザーがデータベース内の他のスキーマやテーブルにはアクセスできないように制限することもできます。
- 上記の手順では、アクセス権を付与するスキーマとユーザー名を適切なものに置き換えてください。
- ユーザーには必要な権限があることを確認してください。アクセス権の変更には、データベース管理者の権限が必要な場合があります。
これらの手順を実行することで、PostgreSQLデータベースの特定のスキーマ内のすべてのテーブルへのアクセス権を効果的に管理できます。