作成したロールに権限の追加と削除する方法を確認していきます。スーパーユーザーと所有者(オブジェクトを作成したユーザ)はデフォルトで全ての権限を保持しているため、オブジェクトの所有者に権限を許可する必要はありません。それ以外のロールに対して権限を付与するにはGRANTを使います。OPTION]色々ありますが、基本は下記の通りです。誰に「与える権限」にはSELECTやINSERTなどテーブルに対する権限や、CREATEなどデータベースに対するものがあります。「対象」はテーブル名やデータベース名になります。「誰に」はユーザーとしてのロールやグループとしてのロールの他にPUBLICがあります。PUBLICは全てのロールが含まれますので、PUBLICに対して権限を与えると全てのロールに権限を与えたことになります。OPTION」を付けて権限を付与された場合、与えられたロールは同じ権限を別のロールに付与することが出来るようになります。(PUBLICには付けることができません)。実際の例としては下記のような感じです。role_name;権限の追加と確認のテストでは試してみましょう。「sample」データベース内にある「test」テーブルに対して、「testrole」ロールにSELECT、UPDATE、INSERT、DELETEの権限を与えてみます。現在の権限の状況を見るにはpsqlから「¥z」で確認できます。現時点ではどのロールにも何も権限は付与されていません。このような場合、所有者に権限があるものも表示されません。権限を与えた後に確認すると下記のように表示されます。privileges」に権限の状態が表示されています。「ロール名=権限/権限を与えたロール」の形で表示されます。この場合でも所有者がデフォルトで持つ権限は表示されません。各記号の意味は下記の通りです。DALETE」の権限が与えれた、ということになります。「postgres=arwdRxt/postgres」は「postgres」ロールが「全ての権限(テーブル用)」を持っていることになります。IKURA初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を多数行っています。