-
PostgreSQL サーバーへの接続:
postgres
ユーザーとして psql
コマンドラインツールを使用して PostgreSQL サーバーに接続します。
sudo -u postgres psql
-
reporting_db
データベースへの接続:
reporting_db
データベースに接続します。
\c reporting_db
-
ユーザーの作成と reporting_role
へのメンバーシップの付与:
パスワードを持つ report_user
という名前の新しいユーザーを作成します ( your_password
は強力なパスワードに置き換えてください)。次に、このユーザーに reporting_role
へのメンバーシップを付与します。これは、report_user
が reporting_role
に付与された権限を継承することを意味します。
CREATE USER report_user WITH PASSWORD 'your_password';
GRANT reporting_role TO report_user;
次の出力が表示されます。
CREATE ROLE
GRANT
-
sales_data
テーブルへのデータの挿入:
テスト目的で、サンプルデータを sales_data
テーブルに挿入します。
INSERT INTO sales_data (product, amount) VALUES ('Laptop', 1200.00), ('Mouse', 25.00), ('Keyboard', 75.00);
次の出力が表示されます。
INSERT 0 3
psql シェルを終了します。
\q
-
report_user
として reporting_db
データベースに接続:
新しいターミナルウィンドウを開き、次のコマンドを使用します。
psql -d reporting_db -U report_user -W
report_user
に設定したパスワードの入力を求められます。入力してください。
-
権限のテスト:
次に、sales_data
テーブルからデータを選択してみます。
SELECT * FROM sales_data;
挿入したデータが表示されるはずです。
id | product | amount
----+----------+--------
1 | Laptop | 1200.00
2 | Mouse | 25.00
3 | Keyboard | 75.00
(3 行 (rows))
この出力が表示された場合、report_user
が sales_data
テーブルに対する SELECT
権限を持っていることを意味します。これは、reporting_role
を通じて付与されたものです。
psql シェルを終了します。
\q