# PostgreSQL - 権限の付与

## 権限の確認

```sql
# \t
```

## 権限の付与

```sql
# grant [操作] on [対象] to [ユーザー] ;
```

### 例

テーブル hoge_t に INSERT 権限を全てのユーザーに与える

```sql
# GRANT INSERT ON hoge_t TO PUBLIC;
```

全てのテーブルに対して、 SELECT 権限をユーザー foo に与える

```sql
# GRANT SELECT ON ALL TABLES IN SCHEMA public TO foo;
```

## デフォルトの権限を確認

```sql
# \ddp
```

## デフォルトの権限を定義する

```sql
# ALTER DEFAULT PRIVILEGES [対象] { GRANT | REVOKE } ...;
```

privilege ... [名]特権

### 例

今後作成されるテーブル・ビューに対して、ユーザー foo にSELECT権限を付与する

```sql
# ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES foo;
```

## 参考資料

[PostgreSQL - GRANT](https://www.postgresql.jp/document/9.0/html/sql-grant.html)
[PostgreSQL - ALTER DEFAULT PRIVILEGES](https://www.postgresql.jp/document/9.0/html/sql-alterdefaultprivileges.html)

Add a blog about PostgreSQL
Add a blog about PostgreSQL
