2004/2/1
バージョン PostgreSQL 7.4.1
OS Red Hat Linux 7.2
公式サイト http://www.postgresql.org/

PostgreSQLはフリーのオブジェクトリレーショナルデータベース管理システム(ORDBMS)。日本語も問題なく扱え、非常に強力です。

この記事は古いバージョンのインストール手順です。より新しいバージョンのインストールについては、こちらからどうぞ。

展開&コンパイル

現在のバージョンでは普通にconfigureするだけで、日本語が扱え、syslogにも対応しています。普通にconfigureしてmakeします。

$ tar xvfz postgresql-7.4.1.tar.gz

$ cd postgresql-7.4.1

$ ./configure

$ make all

インストール

レグレッションテストをします。

$ make check

問題なければ、suして、make installします。

$ su

# make install

PostgreSQLは、root権限での初期設定、起動ができないので、新たに専用のアカウントを作ります。今回はpostgresというアカウントを作りました。

# /usr/sbin/adduser postgres

データ保存用のディレクトリを作ります。次にpostgresアカウントに移行して、データを初期化します。

# mkdir /usr/local/pgsql/data
# chown postgres:postgres /usr/local/pgsql/data
# su - postgres
[postgres]$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

初期設定

~postgres/.bash_profileに以下を追加します。

export PATH=$PATH:/usr/local/pgsql/bin
export POSTGRES_HOME=/usr/local/pgsql
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
export MANPATH="$MANPATH":$POSTGRES_HOME/man
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB"

.bash_profileを再読み込みします。

[postgres]$ source ~postgres/.bash_profile

PostgreSQLサーバを立ち上げます。

[postgres]$ pg_ctl start

データベースを作ります。createdbコマンドの引数を省略するとユーザー名と同じ名前のデータベースが作られます。つまりここでは「postgres」というデータベースを作成しています。また、文字エンコーディングにEUC_JPを指定しています。

[postgres]$ createdb --encoding=EUC_JP

psqlで接続できれば成功です。

[postgres]$ psql
Welcome to psql, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help on internal slash commands
       \g or terminate with semicolon to execute query
       \q to quit

postgres=#

syslogの設定

/usr/local/pgsql/data/postgresql.confのsyslog行の値を2に設定します。また、必要に応じて出力する内容をこのファイルで設定します。

syslog = 2

/etc/syslog.confに次の行を追加します。

local0.*        /var/log/postgresql.log

PostgreSQLとsyslogを再起動します。

# /etc/rc.d/init.d/xinetd restart

# su - postgres

[postgres]$ pg_ctl restart

[postgres]$ exit

自動起動の設定

/etc/rc.d/rc.localに以下を追加します。

su postgres -c "/usr/local/pgsql/bin/pg_ctl start"

あるいは、Red Hat Linux系であれば、次のようにします。

# cp contrib/start-scripts/linux /etc/rc.d/init.d/postgres
# chmod +x /etc/rc.d/init.d/postgres
# /sbin/chkconfig --add postgres