PostgreSQL

[1] 環境

Vine Linux 3.1

[2] インストール

# apt-get update
# apt-get install postgresql-server

以下のパッケージがインストールされます。

インストールがなされると、ユーザ postgres が自動で作成されます。

postgres のホームディレクトリは /var/lib/pgsql 、ログインシェルは /bin/bash になります。

[3] パスワードの設定

ユーザ postgres のパスワードを設定します。

# passwd postgres

(ここでパスワードを二回入力する)

[4] デーモンの起動

インストールされた状態ではまだデーモン(postmaster)は起動していないので、それを起動します。

# /etc/init.d/postgresql start

[5] デーモンの自動起動

ランレベル3,5でシステムを起動時に、デーモンを自動的に起動するには、下のようにしておきましょう。

# chkconfig --level 35 postgresql on

[6] ユーザ postgres でログイン

ユーザ postgres でログインします。

# su - postgres

ルートからのログインであればパスワードは訊かれません。

一般ユーザからのログインであればパスワードの入力を求められるので、先に設定したパスワードを入力します。

ログイン後の初期ディレクトリは /usr/lib/pgsql になります。

[7] データベース一覧を表示してみる

$ psql -l

でデータベース一覧が表示されます。 インストール直後であれば、下のような表示になるはずです。

            データベース一覧
   名前    |  所有者  | エンコーディング 
-----------+----------+------------------
 template0 | postgres | EUC_JP
 template1 | postgres | EUC_JP
(2 行)

[8] データベース・ユーザを登録する

データベース・ユーザを登録します。 ここでは例としてユーザ neko を登録することにしましょう。

$ createuser neko

ここで二つ質問があるので、第一の質問には y と、第二の質問には n と答えておきます。

[9] データベースを作成する

ユーザ neko でログインします。

neko は createdb コマンドで、ユーザ名と同じ名前のデータベース neko を作成できます。

$ createdb

試みにここで psql -l してみると、表示は

            データベース一覧
   名前    |  所有者  | エンコーディング 
-----------+----------+------------------
 neko      | neko     | EUC_JP
 template0 | postgres | EUC_JP
 template1 | postgres | EUC_JP
(3 行)

のようになります。

[10] UNICODE を使用するには

-E オプションを用います。

$ createdb -E utf8

上記データベース一覧のなかの neko のエンコーディングが UNICODE と表示されるはずです。