postgres:install

「postgres:install」の編集履歴(バックアップ)一覧に戻る

postgres:install - (2008/10/28 (火) 13:20:06) のソース

[[トップページ]] > [[postgres]] > インストール

**postgresのインストール

***debian系の場合

■準備
 必要なものをaptで入れておきます
 # apt-get install libreadline5-dev
 # apt-get install zlib1g-dev

■ソースの取得とmake
 ここでは、8.2.6の場合。また、ソースの取得先は適切なミラーサイトを選ぶこと。
 # cd /usr/local/src
 # wget ftp://ftp.sra.co.jp/pub/cmd/postgres/8.2.6/postgresql-8.2.6.tar.gz
 # tar xvzf postgres-8.2.6
 # ./configure --prefix=/var/lib/pgsql
 # make all

■ユーザーの作成とディレクトリの準備
 ここでは、/var/lib/pgsqlをpostgresのディレクトリする場合を書きます。
(標準では、/usr/local/pgsqlです)
 # adduser --home /var/lib/pgsql postgres
(パスワードは、適当に作り、次で削除する)
 # passwd -d postgres
 # su - postgres
 $ mkdir data
 $ exit

■インストール
 # cd /usr/local/src/postgres-8.2.6
 # make install

■postgresユーザーの設定
 # su - postgres
 $ emacs .bash_profile
 以下のような内容を記載します。
 export PATH=$PATH:/var/lib/pgsql/bin
 export POSTGRES_HOME=/var/lib/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"
設定の反映は、$./source ~/.bash_profile

■DBの作成
 $ initdb -E UNICODE --no-locale -D /var/lib/pgsql/data

■起動ファイルの作成
 # cp /usr/local/src/postgresql-8.2.6/contrib/start-scripts/linux /etc/init.d/postgres
 # chmod a+x /etc/init.d/postgres

 ここでは、/var/lib/pgsqlいインストールしているので、少しファイルの中身を編集します。具体的にはpostgresファイルのprefixとData directoryを修正
 prefix=/var/lib/pgsql
 PGDATA="/var/lib/pgsql/data"

■自動起動の設定
 # update-rc.d postgres defaults 05 95
デフォルトでは、もっと遅く起動させて、早く終了させていますが、ここでは、早く起動、遅く終了にしています。

■DBの起動
# /etc/init.d/postgres start

■確認
postgresユーザーになって
 $ psql -l
で表示されればOK

■設定

/var/lib/pgsql/data/postgresql.confの修正~
たとえば、他のマシンからもアクセス出来て、ログに1秒以上かかるクエリーを表示し、また、オートバキュームを有効にする場合は、以下のようにします。

 listen_addresses = '*'
 redirect_stderr = on
 log_min_duration_statement = 1000
 
 autovacuum = on
 stats_row_level = on

設定変更したら、再起動すること
 # /etc/init.d/postgres restart

また、外部からアクセスする場合は、pg_hba.confの方でポリシーを指定しておきます。