====== Replication PGSQL ====== ==== Building PGsQL ==== ./configure --prefix=/usr/local/pg-9.0.3 --with-openssl --with-ossp-uuid --with-perl NOTE : Use **//--with-pgport=5435//** if you want to hardcode port. ==== postgresql.conf ==== listen_addresses = '*' port = 5435 #### Only Define if you running on non default port. escape_string_warning = off shared_buffers = 8192MB temp_buffers = 16MB wal_level = hot_standby archive_mode = on archive_command = 'rsync -a /usr/local/pg-9.0.3/Archive/%p :Archive/%f' max_wal_senders = 5 ####( this setting for 1 slave can connect with Master) wal_keep_segments = 32 lc_messages = 'en_US.UTF-8' lc_monetary = 'en_US.UTF-8' lc_numeric = 'en_US.UTF-8' lc_time = 'en_US.UTF-8' default_text_search_config = 'pg_catalog.english' ssl = on # (change requires restart) ssl_ciphers = 'SSLv3:+HIGH:+MEDIUM:!SSLv2:!ADH:!LOW:!EXP:!aNULL:!eNULL:@STRENGTH' # allowed SSL ciphers Setup access rule. #Replication Trust hostssl replication all /32 trust Postgres restart on Master bin/pg_ctl -p bin/postmaster -D data -l pgstartup.log start bin/pg_ctl -p bin/postmaster -D data -l pgstartup.log stop Sync current data over Rsync. bin/psql -c "SELECT pg_start_backup('label', true)" rsync -av data/ :standby/ --exclude postmaster.pid bin/psql -c "SELECT pg_stop_backup()" ==== Recovery.conf ==== standby_mode = 'on' # to enable the standby (read-only) mode. primary_conninfo = 'host= port=5432 user=postgres' # primary_conninfo = 'host=127.0.0.1 port=5436 user=postgres' # to specify a connection info to the master node. trigger_file = '/var/lib/pgsql/tmp/pg_failover_trigger' # to specify a trigger file to recognize a fail over. restore_command = 'cp /var/lib/pgsql/Archive/%f "%p"' # to specify a recovery command. archive_cleanup_command = '/usr/local/pg-9.0.3/bin/pg_archivecleanup -d /usr/local/pg-9.0.3/Archive %r 2>>pg_log/cleanup.log' http://ketan.lithiumfox.com/doku.php?id=postgresql_replication_monitor