[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...Insight Technology, Inc.
?
日本でも徐々に浸透してきたPostgres Plus Advanced Server (PPAS)。PPASが備えている実用的な機能を2014年末にリリース予定の最新版9.4の新機能を交えて、コミュニティ版PostgreSQLと比較しながら解説します。
特に性能面で大きな向上をうたっているパーティショニング機能については実際に検証した結果を紹介します。
6. pgpoolがPostgreSQLの断を検知すると…
● pgpoolはpgpool.confのfailover_commandに書いたコマンド
を実行する
failover_command = '/usr/local/pgpool-II-4.0.4/etc/failover.sh %d %P %H %R %h'
# Executes this command at failover
# Special values:
# %d = node id
# %h = host name
# %p = port number
# %D = database cluster path
# %m = new master node id
# %H = hostname of the new master node
# %M = old master node id
# %P = old primary node id
# %r = new master port number
# %R = new master database cluster path
# %% = '%' character
7. failover.sh
if [ $falling_node = $old_primary ]; then
#primaryが落ちたとき
su postgres -c "ssh -T postgres@$new_primary $pgdata/synchronous_standby_names_change.sh"
su postgres -c "ssh -T postgres@$new_primary $pghome/bin/pg_ctl reload -D $pgdata"
sleep 5
su postgres -c "ssh -T postgres@$new_primary $pghome/bin/pg_ctl promote -D $pgdata"
su postgres -c "ssh -T postgres@$old_hostname cp -p $pgdata/recovery.conf.for.$old_hostname
$pgdata/recovery.conf"
else
#standbyが落ちたとき
su postgres -c "ssh -T postgres@$new_primary $pgdata/synchronous_standby_names_change.sh"
su postgres -c "ssh -T postgres@$new_primary $pghome/bin/pg_ctl reload -D $pgdata"
fi;