データベースオブジェクトが作成されるとその所有者が設定されます。 所有者はその作成文を実行したユーザです。現在のところデータベース オブジェクトの所有者を変更するための洗練されたインタフェースは まだありません。デフォルトでは、所有者(もしくはスーパーユーザ)のみが そのオブジェクトに対して変更を加えることができます。その他のユーザが それを使うためには権限が与えられていなければ なりません。
現段階では、四つの異なる権限があります。select (読み込み)、insert (追加)、 そして update/delete (書き込み)、そしてテーブルに対しての決まりを書き換える ための権限であるRULEです。オブジェクトを 変更もしくは削除する権利は常に所有者にしかありません。権限を 与えるためには、GRANTコマンドが使われます。もし joeというユーザがいてaccounts というテーブルがあった場合、書き込みアクセスは下記のように与える することができます。
GRANT UPDATE ON accounts TO joe;このコマンドを実行するユーザはそのテーブルの所有者でなければいけません。 グループに権限を与える場合は下記を使います。
GRANT SELECT ON accounts TO GROUP staff;特別な"ユーザ" 名 PUBLICは、システム 上の全てのユーザに権限を与えるために使われます。指定する権限に ALLを使うと、全ての権限が与えられます。
権限を無効にするためにはREVOKEコマンドを使います。
REVOKE ALL ON accounts FROM PUBLIC;テーブル所有者が保持する権限の集合は、常に明示的であり無効にすることは できません。