スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

極私的PostgreSQLインストール標準

追記2011/05/07 postgresql.confのarchive_commandを変更しました。

PostgreSQLをインストールする時の私流のパターンです。
なるべくバージョンアップしやすい構成にしています。
OSはUbuntuで、アーカイブモードでホットレプリケーションされることを想定しています。

/var/pgdata以下にデータを作成しますが、/var/pgdata直下にはデータの互換性のあるメージャーバージョンでディレクトリを作成します。
例えば9.0.3ならば9.0に、8.4.4ならば8.4になります。
/var/pgdata/9.0の直下にはポート番号のディレクトリを作成します。
通常なら5432です。
/var/pgdata/9.0/5432以下には、data, archive, log, pg_xlogを作ります。
これは、アーカイブモードで動作することを想定しています。
pg_xlogはdataをinitdbで作成してから、移動してdataに対してはシンボリックリンクを張ります。

また、contribからpgcryptoをよく使うので、追加でインストールしています。

■ディレクトリ構成
ソース
/home/aoyagikouhei/src/postgresql-9.0.3

バイナリ
/opt/postgresql-9.0.3
/opt/postgresql

データ
/var/pgdata/9.0/5432/data

アーカイブログ
/var/pgdata/9.0/5432/archive

pg_xlog
/var/pgdata/9.0/5432/pg_xlog

■コンパイル
./configure \
--prefix=/opt/postgresql-9.0.3 \
--enable-nls=ja \
--with-libxml \
--with-openssl
make
sudo make install
sudo ln -s /opt/postgresql-9.0.3 /opt/postgresql
sudo vi /etc/ld.so.conf.d/my.conf
/opt/postgresql/lib

sudo ldconfig

■pgcryptoインストール
cd /home/aoyagikouhei/src/postgresql-9.0.3/contrib/pgcrypto/
make
sudo make install

■起動スクリプト
sudo cp /home/aoyagikouhei/src/postgresql-9.0.3/contrib/start-scripts/linux /etc/init.d/postgresql
sudo chmod 755 /etc/init.d/postgresql
sudo vi /etc/init.d/postgresql
prefix=/opt/postgresql
PGDATA="/var/pgdata/9.0/5432/data"
sudo update-rc.d postgresql defaults

■データ作成
sudo adduser postgres
sudo mkdir -p /var/pgdata/9.0/5432
sudo chown -R postgres:postgres /var/pgdata
sudo -u postgres /opt/postgresql/bin/initdb -D /var/pgdata/9.0/5432/data -E UTF-8 --locale=ja_JP.UTF-8
sudo -u postgres mkdir /var/pgdata/9.0/5432/archive
sudo -u postgres mv /var/pgdata/9.0/5432/data/pg_xlog /var/pgdata/9.0/5432
sudo -u postgres ln -s /var/pgdata/9.0/5432/pg_xlog /var/pgdata/9.0/5432/data/pg_xlog
sudo -u postgres vi /var/pgdata/9.0/5432/data/postgresql.conf
listen_addresses = '*'
log_destination = 'stderr'
logging_collector = on
log_directory = '/var/pgdata/9.0/5432/log'
log_filename = '%Y%m%d_%H%M%S.log'
log_rotation_age = 1d
log_rotation_size = 10MB
log_line_prefix = '[%t][%p][%u][%d]'
log_min_error_statement = warning
archive_mode = on
archive_command = 'test ! -f /var/pgdata/9.0/5432/archive && cp %p /var/pgdata/9.0/5432/archive/%f'
wal_level = hot_standby
max_wal_senders = 1

sudo -u postgres vi /var/pgdata/9.0/5432/data/pg_hba.conf
host all all 192.168.0.0/24 trust
host replication postgres 192.168.0.0/24 trust

sudo -u postgres cp /var/pgdata/9.0/5432/data/postgresql.conf /var/pgdata/9.0/5432/
sudo -u postgres cp /var/pgdata/9.0/5432/data/pg_hba.conf /var/pgdata/9.0/5432/

■起動
sudo /etc/init.d/postgresql start
sudo -u postgres /opt/postgresql/bin/createuser -s -P
/opt/postgresql/bin/createdb -U db_root test
/opt/postgresql/bin/psql -U db_root test < /opt/postgresql/share/contrib/pgcrypto.sql
スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。