Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Мастер работает, слейв остановлен.
- 1) На мастере создаем роль, указываем пароль
- CREATE ROLE replication WITH REPLICATION PASSWORD 'password' LOGIN
- 2) Правим на местере pg_hba.conf
- # The standby server must connect with a user that has replication privileges.
- # TYPE DATABASE USER ADDRESS METHOD
- host replication replication a.d.d.r/32 md5
- 3) Прописываем в конфиге мастера (postgresql.conf)
- wal_level = hot_standby
- archive_mode = on
- archive_command = 'cp -i %p /path/to/archive/%f' <Путь, куда будут складываться файлы архива wal>
- max_wal_senders = 3 (То есть больше двух)
- wal_keep_segments = 32 (или больше, сколько 16-мб файлов журнала wal хранить до архивации)
- 4) Рестартим мастер
- 5) Тормозим сервер
- 6) На мастере в psql указываем: psql -c "SELECT pg_start_backup()"
- В папке pg_xlog появляется файл с именем *backup* c текущей позицией в wal
- 7) Копируем rsync текущие файлы данных с мастера на slave
- rsync -ac ${PGDATA}/ standby:/srv/pgsql/standby/ --exclude postmaster.pid
- 8) На мастере в psql указываем: psql -c "SELECT pg_stop_backup()"
- 9) В конфиге postgresql.conf слейва указываем hot_standby = on
- 10) Создаем на слейве в папке с конфигом файл recovery.conf
- standby_mode = 'on'
- primary_conninfo = 'host=mas.ter.ip.addr port=5432 user=replication password=password'
- restore_command = 'cp /path_to/archive/%f "%p"' (Путь к архиву wal)
- 11) Запускаем постгрес на слейве, смотрим как выполняется репликация
- $ psql -c "SELECT pg_current_xlog_location()" -h192.168.0.10 (primary host)
- pg_current_xlog_location
- --------------------------
- 0/2000000
- (1 row)
- $ psql -c "select pg_last_xlog_receive_location()" -h192.168.0.20 (standby host)
- pg_last_xlog_receive_location
- -------------------------------
- 0/2000000
- (1 row)
- $ psql -c "select pg_last_xlog_replay_location()" -h192.168.0.20 (standby host)
- pg_last_xlog_replay_location
- ------------------------------
- 0/2000000
- (1 row)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement