【Linux】PostgreSQL 8.3.3のコンパイル→インストール→設定
akiyasu氏が既に書いてますが、さらに自分でやってみたメモ。環境はCentOS
ソースはここからダウンロード。
基本は公式日本語マニュアルをみながら。
必要なツールをyumで取得する
$ yum install gcc
$ yum install readline-devel zlib-devel
解凍してコンパイルとインストール
$ tar xzvf postgresql-8.3.3.tar.gz
$ cd postgresql-8.3.3
$ ./configure
$ gmake
$ gmake install
postgresユーザを追加
$ useradd postgres $ passwd postgres (ログインさせたくないので設定しない)
ライブラリの登録
$ vi /etc/ld.so.conf.d/local.conf
/usr/local/pgsql/lib を追加。
$ ldconfig
postgresqlの設定ファイルの置き場所を作る
$ mkdir /usr/local/pgsql/data
$ chown postgres /usr/local/pgsql/data/
postgresユーザになってデータベースの初期化
$ su postgres
$ cd
$ vi ./.bashrc
PATH=/usr/local/pgsql/bin:$PATH
export PATH
を追加。読み込み。初期化。
$ source ./.bashrc
$ initdb -D /usr/local/pgsql/data
rootになって起動スクリプトを準備してPostgresSQLの起動
$ exit
$ cp contrib/start-scripts/linux /etc/rc.d/init.d/postgresql
$ chmod 755 /etc/rc.d/init.d/postgresql
$ /etc/rc.d/init.d/postgresql start
自動起動するように
$ chkconfig --add postgresql
$ chkconfig postgresql on
外からアクセスできるように設定ファイルを修正
$ vi /usr/local/pgsql/data/postgresql.conf
listen_addresses = '*'
port 5432
$ vi /usr/local/pgsql/data/pg_hba.conf
host all all 192.168.0.0/24 md5
これでpostgresqlを再起動
$ /etc/rc.d/init.d/postgresql restart
あとはここを参考にpgAdminでデータベースを作成した方が楽。ファイヤーウォールの設定を忘れずに(設定の仕方)。
スーパーユーザのpostgresでリモートからログインしたい場合はpostgresにパスワードを設定してあげる必要があります(Linuxのパスワードではなくて)。
$ su postgres
$ psql
# alter user postgres with password 'password' ;
# \q
yum経由でインストールした場合は、/var/lib/pgsqlにdataディレクトリができる。