PostgreSQL

データベース一覧確認 [#x706cff6]

 psql -l
 または
 psql
 postgres=# ¥l

データベース作成 [#jacb05ca]

 # su - posgres
 $ createdb -U postgres -O testuser01 testdb
 $ psql -l
     名前    |    所有者    | エンコーディング |  照合順序   | Ctype(変換演算子) |      アクセス権
 ------------+--------------+------------------+-------------+-------------------+-----------------
 testdb | testuser01 | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |
 postgres   | postgres     | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       |
 template0  | postgres     | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c/postgres          +
                  |                    |                      |                   |                          | postgres=CTc/postgres
 template1  | postgres     | UTF8             | ja_JP.UTF-8 | ja_JP.UTF-8       | =c/postgres          +
                  |                    |                      |                   |                           | postgres=CTc/postgres

データベースの所有者変更 [#a8f79abc]

 postgres=# alter database hogedb01 owner to hogeuser01;
 ALTER DATABASE

データベースの権限確認 [#k19b1734]

 psql 
 postgres=#
 postgres=# ¥c 対象のデータベース名(例:testdb)
 testdb=# ¥z
  Schema |                       Name                        |   Type   |                    Access privileges
 --------+---------------------------------------------------+----------+---------------------------------------------------------
 public | dtb_alliances                                     | table    | 
 
 Access pribileges の部分が空だとselectすらも出来ない。

アクセス権付与 [#a716e76b]

 psql 
 postgres=#
 postgres=# ¥c 対象のデータベース名(例:testdb)
 testdb=# grant all on テーブル名 to ユーザー名
 testdb=# ¥z
 ※テーブルごと
 ※全テーブルへのアクセス権付与についてはPostgreSQL8.5以降でないとダメらしい。
 

全テーブルへアクセス権を付与するシェル [#f3e5ec29]

 #!/bin/bash
 for table in `echo '\dtvs' | psql -t -A -F ',' データベース名 | cut -f 2 -d ','`
 do
  #echo $table
  echo "GRANT ALL ON TABLE $table to ユーザー名;"
  echo "GRANT ALL ON TABLE $table to ユーザー名;" | psql データベース名
 done
 

参考:http://yanor.net/wiki/?PostgreSQL%2F%E3%83%A6%E3%83%BC%E3%82%B6%E7%AE%A1%E7%90%86%E3%83%BB%E3%83%AD%E3%83%BC%E3%83%AB%2F%E5%85%A8%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%82%92GRANT%E3%81%99%E3%82%8B