From: | Sergey Konoplev <gray(dot)ru(at)gmail(dot)com> |
---|---|
To: | "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org> |
Cc: | pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org> |
Subject: | Re: [pgsql-ru-general] Потоковая репликация |
Date: | 2013-07-31 20:15:02 |
Message-ID: | CAL_0b1tTi9qmHtVDqHrSpno-BruhgCQU4HdhtHPMdvEVmwh2mg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
Привет,
2013/7/31 Dmitry E. Oboukhov <unera(at)debian(dot)org>:
> 1. после остановки реплики по какой-то причине если она простояла
> дольше определенного времени то уже запустить ее можно будет только
> сделав rsync файлов на нее.
>
> на эту тему есть ручка wal_keep_segments на мастере. но она в размере
> файлов.
>
> как можно оценить сколько нужно поставить например чтобы реплику можно
> было на час остановить?
Cмотрим время самого старого wal файла
ls -lt pg_xlog | head
самого нового
ls -lt pg_xlog | tail
их общее количество (-1)
ls -l | wc -l
и делим это количество на интервал времени, получаем сколько wal
файлов генериться в час. Конечно же это примерно, тут надо ещё
учитывать динамику, т.к., например, днём запись может быть больше чем
ночью.
> 2. хочу сменить мастера "онлайн". (то есть реплику сделать мастером с
> минимальным простоем)
> поэтому хочу сперва немного переписать клиента чтобы он спрашивал у
> реплики не стала ли она мастером и если да использовал бы ее.
>
> вопрос: можно ли каким-то запросом выяснить: то куда приконнектились -
> мастер или реплика?
Обычно заводятся IP или DNS aliases, которые фиксируются за
логическими мастером/репликой, т.о. приложению не надо проверять к
кому оно коннектиться. Это идеальный вариант.
Но, если очень надо в приложении определять, то
select pg_is_in_recovery();
true значит реплика.
> 3. вычитал что можно включить архивирование xlog'ов и вроде как
> реплика при долгом простое может из архива xlog'и вытаскивать, но не
> понял как это настроить.
> может кто пояснить?
Это делается с помощью т.н. continuous archiving
(http://www.postgresql.org/docs/9.2/static/continuous-archiving.html)
также советую почитать про pg_receivexlog
(http://www.postgresql.org/docs/9.2/static/app-pgreceivexlog.html)
как альтернативу archive_command (см. continuous archiving).
--
Kind regards,
Sergey Konoplev
PostgreSQL Consultant and DBA
Profile: http://www.linkedin.com/in/grayhemp
Phone: USA +1 (415) 867-9984, Russia +7 (901) 903-0499, +7 (988) 888-1979
Skype: gray-hemp
Jabber: gray(dot)ru(at)gmail(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Dmitry E. Oboukhov | 2013-08-04 18:52:17 | Re: Потоковая репликация |
Previous Message | Dmitry E. Oboukhov | 2013-07-31 19:14:34 | Потоковая репликация |