ぱそくま ろご
サーバー > PostgreSQL > PostgreSQLでデータベース作成

PostgreSQLでデータベース作成

PostgreSQLでデータベース作成

PostgreSQLをセットアップのページでセットアップが完了しましたので、次はデータベース(以下DB)の作成です。 作成の手順は以下の通りです。

  • PostgreSQLサーバーに接続。
  • DBのユーザー(ロール)を作成。
  • DBの作成。

PostgreSQLサーバーに接続

サーバーには「psql」を使って接続します。 書式は「psql [-h >ホスト名<] >DB名< >ユーザー名<」になります。 PostgreSQLをセットアップにも記載していますが、 DB初期化後に作成されているDB:postgres、ユーザー:postgresを使ってアクセスします。

例:psqlを使ってPostgreSQLサーバーに接続

[paso ~] psql postgres postgres
psql (9.x.xx)
"help" でヘルプを表示します.

postgres=# 

これで接続できました。 ユーザー:postgresは何でもできる状態なので、パスワードをつけましょう。パスワードの設定は「ALTER ROLL」を使います。

例:postgresのパスワードを変更

postgres=# ALTER ROLL postgres WITH PASSWORD 'xxxxxxx';


DBのユーザー(ロール)を作成

DBにアクセするには、そのDBのアクセス権限を持つユーザーでなければアクセスできません。よって、まずはユーザーを作成します。 ユーザーの作成は「CREATE ROLL」を使います。 ちなみに、「CREATE ROLL XXX LOGIN」と 「CREATE USER XXX」は等価ですので、「CREATE USER」を使っても問題ありません。 ここではユーザー名:petadmin、パスワード:petpasswordとします。

例:ユーザー:petadminを作成

postgres=# CREATE ROLE petadmin WITH LOGIN PASSWORD 'petpassword';
CREATE ROLE
postgres=# SELECT rolname FROM pg_roles;
 rolname  
----------
 postgres
 petadmin
(2 行)

DBの作成

次にDBを作成します。DBは所有者を設定できます。今、作成したpetadminを所有者として、DB:petdbを作成する場合は以下の通りになります。

例:DB:petdbを作成

postgres=# CREATE DATABASE petdb OWNER petadmin;
CREATE DATABASE
postgres=#\l
                                         データベース一覧
   名前    |  所有者  | エンコーディング |  照合順序   | Ctype(変換演算子) |      アクセス権       
-----------+----------+------------------+-------------+-------------------+-----------------------
 petdb     | petadmin | 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
(4 行)