PostgreSQL 7.1/7.2のインストール
バージョン | PostgreSQL 7.1/7.2.1 | |
OS | Red Hat Linux 7.1 | |
公式サイト | http://www.postgresql.org/ |
PostgreSQLはフリーのオブジェクトリレーショナルデータベース管理システム(ORDBMS)。日本語も問題なく扱え、非常に強力です。7.1ではトランザクション処理が大幅に速くなり、障害耐性も高くなりました。
(2002/4/8更新)PostgreSQL 7.2.1も同じ手順でインストールできることを確認しました。syslogの設定方法を追加しました。Red Hat Linux系での起動設定の方法を追加しました。
展開&コンパイル
日本語を扱えるようにするため、configureで--enable-multibyte=EUC_JPを指定してconfigureします。Unicodeなど他のコードも使用可能です。詳しくは同梱のdoc/README.mb.jpを参照してください。
syslogにログを出力する機能を使用する場合は、--enable-syslogを指定します。
$ tar xvfz postgresql-7.1.tar.gz $ cd postgresql-7.1 $ ./configure --enable-multibyte=EUC_JP --enable-syslog $ make
インストール
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」というデータベースを作成しています。
[postgres]$ createdb
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の設定
syslogにログを出力する機能を使用する場合は、まず最初のconfigureで--enable-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