Advertisement
Guest User

Untitled

a guest
Sep 14th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.45 KB | None | 0 0
  1. Мастер работает, слейв остановлен.
  2.  
  3. 1) На мастере создаем роль, указываем пароль
  4. CREATE ROLE replication WITH REPLICATION PASSWORD 'password' LOGIN
  5. 2) Правим на местере pg_hba.conf
  6.  
  7. # The standby server must connect with a user that has replication privileges.
  8. # TYPE DATABASE USER ADDRESS METHOD
  9. host replication replication a.d.d.r/32 md5
  10.  
  11.  
  12. 3) Прописываем в конфиге мастера (postgresql.conf)
  13. wal_level = hot_standby
  14. archive_mode = on
  15. archive_command = 'cp -i %p /path/to/archive/%f' <Путь, куда будут складываться файлы архива wal>
  16. max_wal_senders = 3 (То есть больше двух)
  17. wal_keep_segments = 32 (или больше, сколько 16-мб файлов журнала wal хранить до архивации)
  18.  
  19. 4) Рестартим мастер
  20. 5) Тормозим сервер
  21.  
  22.  
  23. 6) На мастере в psql указываем: psql -c "SELECT pg_start_backup()"
  24. В папке pg_xlog появляется файл с именем *backup* c текущей позицией в wal
  25.  
  26.  
  27. 7) Копируем rsync текущие файлы данных с мастера на slave
  28. rsync -ac ${PGDATA}/ standby:/srv/pgsql/standby/ --exclude postmaster.pid
  29.  
  30. 8) На мастере в psql указываем: psql -c "SELECT pg_stop_backup()"
  31.  
  32. 9) В конфиге postgresql.conf слейва указываем hot_standby = on
  33. 10) Создаем на слейве в папке с конфигом файл recovery.conf
  34. standby_mode = 'on'
  35. primary_conninfo = 'host=mas.ter.ip.addr port=5432 user=replication password=password'
  36. restore_command = 'cp /path_to/archive/%f "%p"' (Путь к архиву wal)
  37.  
  38. 11) Запускаем постгрес на слейве, смотрим как выполняется репликация
  39. $ psql -c "SELECT pg_current_xlog_location()" -h192.168.0.10 (primary host)
  40. pg_current_xlog_location
  41. --------------------------
  42. 0/2000000
  43. (1 row)
  44.  
  45. $ psql -c "select pg_last_xlog_receive_location()" -h192.168.0.20 (standby host)
  46. pg_last_xlog_receive_location
  47. -------------------------------
  48. 0/2000000
  49. (1 row)
  50.  
  51. $ psql -c "select pg_last_xlog_replay_location()" -h192.168.0.20 (standby host)
  52. pg_last_xlog_replay_location
  53. ------------------------------
  54. 0/2000000
  55. (1 row)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement