1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PostgreSQLの権限まわり簡易メモ

1
Posted at

PostgreSQLの権限まわり

権限まわりは触る機会少ないし、ドキュメントが読みづらい。勉強してもすぐ忘れる。
久しぶりにこの辺り触れたのでサクッと重要な点のみメモしておく。

  • PostgreSQL用語で、データベース、テーブル、カラム、ビュー、シーケンス、スキーマ、関数等全てを データベースオブジェクトと呼ぶ。
  • データベースオブジェクトのownerはその対象に全権限を持つ。また、作成者はデフォルトでownerとなる。例えば、CREATE TABLEしたユーザにそのtableの全権限がデフォルトで付与される。
  • 対象のデータベースオブジェクトのGRANT/REVOKEできるのは、ownerかスーパーユーザ権限ロールのみ。
  • 権限の種類とデータベースオブジェクトの種類の対応表はにある。
    • データベースのownerにはロクな権限はないことに注意。temporary tableを作成したり、schema作成したり。tableに対する権限はゼロ であることに注意。
  • GRANT admins TO joe; のように権限を継承することができる。
  • \du にて権限を確認することが多いと思うが、明示的にgrantしていない権限は表示されない。スーパーユーザ権限ロール、ownerのロール、継承されたロールは表示されない。
  • ^を表示させるには、has_table_privilege関数を使って頑張る必要がある。
  • 今後作成されるテーブル等にも権限が付与されるようにしたければ、ALTER DEFAULT PRIVILEGESを使う。
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?