PostgreSQLでリードオンリーユーザーを作成するには、次の手順を実行します。これにより、特定のデータベースやスキーマに対する読み取り専用アクセスを付与できます。
以下のコマンドで、新しいユーザーを作成します。
sql
CREATE USER readonly_user WITH PASSWORD 'your_secure_password';
ユーザーに特定のデータベースへの接続権限を付与します。 sql
GRANT CONNECT ON DATABASE your_database TO readonly_user;
必要であれば、データベース内の特定のスキーマへのアクセスを許可します。 sql
GRANT USAGE ON SCHEMA public TO readonly_user;
スキーマ内のテーブルに対して読み取り専用権限を付与します。 sql
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly_user;
将来作成されるテーブルにも自動的に権限を付与するには、次のコマンドを実行します。 sql
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly_user;
ユーザーが特定の機能やデータにアクセスできるように、権限を細かく設定できます。 他のスキーマがある場合は、それぞれに対して同様の権限を設定してください。 例 sql
-- ユーザー作成 CREATE USER readonly_user WITH PASSWORD 'securepassword123'; -- データベース接続権限 GRANT CONNECT ON DATABASE example_db TO readonly_user; -- スキーマ権限 GRANT USAGE ON SCHEMA public TO readonly_user; -- テーブルのSELECT権限 GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonly_user; -- 将来のテーブルにも自動適用 ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonly_user;
確認 設定が正しく適用されたかを確認するには、psqlで以下のコマンドを実行して権限をチェックします。
sql
\du readonly_user
これで、リードオンリーユーザーが作成され、特定のデータベースやスキーマで読み取り専用アクセスが可能になります。