postgreSQLをインストールしようっか、まあ設定も☆
postgreSQLをインストールして設定します。
*OSはRHEL 5っす
・ユーザ作成
#groupadd postgres
#useradd -g postgres -c "postgres Administrator" postgres
# su - postgres
$ vi .bashrc
→ 以下の設定を追記
POSTGRES_HOME="/usr/local/postgres"
export PATH=$POSTGRES_HOME/bin:"$PATH"
export MANPATH=$POSTGRES_HOME/man
export PGLIB=$POSTGRES_HOME/lib
export PGDATA=$POSTGRES_HOME/data
・インストール
ソースからコンパイルします。
configure optionはprefix=インストールディレクトリのみです。
# tar zxvf postgresql-8.4.x.tar.gz
# cd postgresql-8.4.x
# ./configure --prefix=/usr/local/postgres
# make
# make install
# chown –R postgres:postgres /usr/local/postgres
・共有ライブラリの設定
共有ライブラリにpostgresのライブラリのパスを登録
検索パスに登録してやるんですな。
# cd /etc/ld.so.conf.d
# vi postgres.conf
→ 以下の設定を追記
/usr/local/postgres/lib
# ldconfig
・自動起動の設定
サンプルスクリプトから・・・コ・ピー・・
# cp –p /usr/local/src/postgresql-8.4.4/contrib./start-scripts/linux /etc/init.d/postgres
# vi /etc/init.d/postgres
→ [PGUSER]のパラメータを「postgres」に変更
# chmod +x /etc/init.d/postgres
# chown root:root /etc/init.d/postgres
# chkconfig --add postgres
# chkconfig postgres on
・データベースシステムの初期化
initdbでデータベースシステムを初期化作成する。オプションの意味は
-
- auth → 認証方式をパスワードとする
- pgdata → postgreSQLのデータ領域を指定
- encoding → データベースのエンコーディングを指定
- local → ロケールをCにしてロケールを設定しないとする
- W → パスワード入力のプロンプトを表示
# su - postgres
$ initdb --auth=password --pgdata=/usr/local/postgres/data --encoding=UTF8 --locale C -W
・認証の設定
# vi /usr/local/pgsql/data/pg_hba.conf
→ [IPv4 local connections]のパラメータを「host all all 192.168.0.0/16 password」に変更てか何でも良いからアクセス制限かける。
・パラメータファイルの変更
# vi /usr/local/pgsql/data/postgresql.conf
→ 以下に変更パラメータを纏める
-------------------------postgresql.conf編集始まり-----------------------------
#LISTENするインターフェース
listen_addresses ‘*’
#最大コネクション数
max_connections 512
#postmasterプロセスに確保する使用メモリ量
#/proc/sys/kernel/shmmax以下にすること努々忘れることなかれ
shared_buffers 512MB
#データのソート処理に確保する使用メモリ量
work_mem 4MB
#バキュームにかかったコストがvacuum_cost_limitで指定した制限値に達したときに
#バキュームを休止する期間(ms)
vacuum_cost_delay 10
#WALデータ用に共有メモリ内に割り当てられたディスクページバッファ量
wal_buffers 512kB
#コミットレコードをWALバッファに書き込む時と、バッファをディスクに吐き出す時の
#ミリ秒単位の時間差遅延(ms)
commit_delay 10
#ランダムアクセスで取得したディスクページのコスト
random_page_cost 3.0
#ディスクキャッシュとして利用可能なメモリ量
effective_cache_size 512MB
#デッドロックの検出を行う間隔
deadlock_timeout 60s
#deadlock_timeoutを超えて待っているトランザクションをログに出力
log_lock_waits on
#ログの出力先
log_destination ‘syslog’
#syslogファシリティ
syslog_facility ‘LOCAL3’
#syslogの識別子
syslog_ident ‘postgres’
#標準出力・標準エラー出力にログメッセージを出力しない
silent_mode on
#アーカイブモードオン(まま)
archive_mode on
#アーカイブコマンド
#WALファイルをアーカイブディレクトリにコピーする
archive_command 'cp "%p" /usr/local/postgres/archive/"%f"'
-------------------------postgresql.conf編集終わり-----------------------------
・アーカイブ用ディレクトリ作成
アーカイブログファイルの格納ディレクトリ設定
# su - postgres
$ mkdir /usr/local/pgsql/archive/
$ exit
オシマイ
次回よりpostgreSQL8.4.x、pgpool-II 3.0.x、slony-I 1.2.xによるレプリケーション構成を構築する。
お見逃しなく!!