powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Синхронная репликация postgres 9.1 master - master
20 сообщений из 20, страница 1 из 1
Синхронная репликация postgres 9.1 master - master
    #38575337
depresnak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток

Имеется база на Postgres 9.1, необходимо организовать репликацию этой базы с другим резервным сервером, находящимся в той-же локалке.
просьба разъяснить следующие вопросы:
1) В Postgres 9.1 появилась возможность синхронной репликации master - master, лучше воспользоваться этой репликацией из коробки или использовать что-то сторонее.
2) Насколько повыситься производительность если использовать master - slave.
3) Если использовать master - slave, как сильно будет расходиться актуальность базы по времени.
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38575360
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
depresnak1) В Postgres 9.1 появилась возможность синхронной репликации master - master, лучше воспользоваться этой репликацией из коробки или использовать что-то сторонее.


в постгресе нет мастер-мастер репликации из коробки, только 3rd party инструменты, например bucardo (только асинхронная).

depresnak2) Насколько повыситься производительность если использовать master - slave.
производительность коробочнойпотоковой репликации очень хорошая, почти никто не жалуется

depresnak3) Если использовать master - slave, как сильно будет расходиться актуальность базы по времени.
зависит от нагрузки на мастере и в сети, больше нагрузка - больше лаг. нет нагрузки - лаг ~1 секунда.
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38575377
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
depresnak,

используйте коробочную streaming replication. ее довольно легко настроить, подводных камней почти нет, она неприхотлива и в случае факапа, запасной сервер одной командой превращается в мастера.
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38575379
depresnak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
daevy,


Спасибо за разъяснения.
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38577696
depresnak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пользуюсь документацией http://wiki.postgresql.org/wiki/Streaming_Replication не совсем понимаю следующий момент



sudo -u postgres psql

$ psql -c "SELECT pg_start_backup('label', true)"

sudo -s

$ rsync -a /var/lib/postgresql/9.1/main/ postgres@192.168.0.210:/var/lib/postgresql/9.1/main/ --exclude postmaster.pid


sudo -u postgres psql

$ psql -c "SELECT pg_stop_backup()"


при выполнении команды rsync

выдаёт ошибку:
rsync: failed to set times on "/var/lib/postgresql/9.1/main/server.crt": Operation not permitted (1)
rsync: failed to set times on "/var/lib/postgresql/9.1/main/server.key": Operation not permitted (1)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1070) [sender=3.0.9]

это нормально или их руками менять?

и далее по тексту:

or in version 9.1+, on the standby server run:

$ pg_basebackup -R -D /srv/pgsql/standby --host=192.168.0.10 --port=5432

9.1+ включает в себя 9.1 или нет
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38577707
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
depresnak9.1+ включает в себя 9.1 или нет

9.1+ включает в себя 9.1
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38577726
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
depresnakвыдаёт ошибку:
rsync: failed to set times on "/var/lib/postgresql/9.1/main/server.crt": Operation not permitted (1)
rsync: failed to set times on "/var/lib/postgresql/9.1/main/server.key": Operation not permitted (1)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1070) [sender=3.0.9]

это нормально или их руками менять?

можете поменять руками.
вобще это скорей всего дефолтовые сертификат с ключом которые на самом деле симлинки в /etc/ssl/...

depresnak9.1+ включает в себя 9.1 или нет
да включает.
вобще способ через pg_basebackup более user-friendly (+ не требует запускать pg_start/stop_backup()), используйте его
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38577851
depresnak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
через pg_basebackup попытка не увенчалась успехом
pg_basebackup -D /var/lib/postgresql/9.1/main --host=192.168.0.210 --port=5432
pg_basebackup: directory "/var/lib/postgresql/9.1/main" exists but is not empty

или всё-же нужно указывать user@ip_address

через rsync получилось но база не запускается в логах:

2014-03-04 14:51:45 SAMT FATAL: incorrect checksum in control file

погуглив нашёл подобный пост проблема была в системах с разной битностью (как и в моём случае). Поможет ли реконфигур и pg_basebackup или нужно делать связку систем с одинаковой битностью?
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38577881
depresnak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
daevy,

и ещё вопрос по поводу вашего поста http://habrahabr.ru/post/178567/ где можно прочитать об этом методе более подробно?
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38578009
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
depresnakчерез pg_basebackup попытка не увенчалась успехом
pg_basebackup -D /var/lib/postgresql/9.1/main --host=192.168.0.210 --port=5432
pg_basebackup: directory "/var/lib/postgresql/9.1/main" exists but is not empty

или всё-же нужно указывать user@ip_address

перед тем как делать pg_basebackup каталог назначения должен быть пуст. в вашшем случае там уже чтото лежит, поэтому завершается фэйлом.
установите на мастере max_wal_senders больше 3 и запускайте (со слейва) так: pg_basebackup -P -R -c fast -X stream -h host -D /replica_dest_dir

depresnakчерез rsync получилось но база не запускается в логах:

2014-03-04 14:51:45 SAMT FATAL: incorrect checksum in control file

погуглив нашёл подобный пост проблема была в системах с разной битностью (как и в моём случае). Поможет ли реконфигур и pg_basebackup или нужно делать связку систем с одинаковой битностью?
покажите uname -a с обоих систем.

depresnakи ещё вопрос по поводу вашего поста http://habrahabr.ru/post/178567/ где можно прочитать об этом методе более подробно?

а что именно вас интересует?
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38578468
depresnak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
daevyперед тем как делать pg_basebackup каталог назначения должен быть пуст. в вашшем случае там уже чтото лежит, поэтому завершается фэйлом.
установите на мастере max_wal_senders больше 3 и запускайте (со слейва) так: pg_basebackup -P -R -c fast -X stream -h host -D /replica_dest_dir

Слэйв в данный момент лежит и не запускается.

daevyпокажите uname -a с обоих систем.

мастер:
36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 i686 i686 i386 GNU/Linux

слэйв:
#28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

daevyа что именно вас интересует?


какие оптимальные параметры лучше выставить в
checkpoint_segments/checkpoint_timeout ;
full_page_writes;
checkpoint_warning;
checkpoint_completion_target.

По поводу проверки актуальности сделанных бэкапов средствами pg_basebackup не совсем понятно.
Мы создаём директорию складываем туда бэкап и тут-же разворачиваем из него базу через скрипт или как?
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38578522
depresnak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
P.S. pg_basebackup не знает параметра -R, в хэлпере его нет
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38578655
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
depresnakмастер:
36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 i686 i686 i386 GNU/Linux

слэйв:
#28-Ubuntu SMP Tue Oct 9 19:31:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux


ну да, надо чтобы архитектуры совпадали у операционок, у вас мастер - 32, а слейв - 64.
дальнейшие попытки настроить потоковую думаю можно прекратить.

depresnakкакие оптимальные параметры лучше выставить в
checkpoint_segments/checkpoint_timeout ;
full_page_writes;
checkpoint_warning;
checkpoint_completion_target.

тут нет универсальных значений, вот сугубо мое имхо:
checkpoint_segments = 128
checkpoint_timeout = 1h
full_page_writes = on (всегда on и никогда off)
checkpoint_warning = оставить по умолчанию
checkpoint_completion_target = 0.9

depresnakПо поводу проверки актуальности сделанных бэкапов средствами pg_basebackup не совсем понятно.
Мы создаём директорию складываем туда бэкап и тут-же разворачиваем из него базу через скрипт или как?
1. делаем бэкап с помощью pg_basebackup в основное хранилище бэкапов.
2. копируем последний бэкап во временную директорию (т.к. как после восстановления бэкап уже будет непригоден для хранения в качестве бэкапа - это как банка с огурцами - открыли значит надо съесть, обратно в подвал на годичное хранение её уже не уберешь - протухнет.)
3. на скопированной копии запускаем легковесный постгрес (мало shared_buffers, нестандартный порт)
4. смотрим лог который сформировался при запуске, пытаемся подключится к "временному" инстансу постгреса и делаем соотв. выводы

p.s. по поводу остстуствия -R в опциях, в 9.1.* версиях эйто опции нет, да и не критично вобщем-то.
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38590190
depresnak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте
Настроил репликацию и столкнулся со следующей проблемой, удаленные таблицы вновь восстанавливаются подскажите в чем может быть проблема.
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38590256
Гость_0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
depresnak,

commit не делаете после удаления.
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38590541
depresnak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гость_0,

Я удаляю через phppgadmin и EMS SQL Manager for PostgreSQL . Почитал мануалы, таблицу нельзя удалить если она не пустая, в моём случае там была ссылка. При переименовании таблицы она переименовывается, но при этом таблица со старым названием всё равно остаётся. При удалении ссылки всё ок. Подскажите может в запросе нужно указывать какой-то определенный параметр или для изменения таблиц необходимо удалять ссылки?
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38590545
depresnak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
commit в SQL Manager я делал а в phppgadmin я так понял autocommit стоит
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38590658
depresnak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
таблица опять появилась, если в ней удалять поля то через 20-30 секунд они вновь появляются.

пришлось заходить в консоль и уже оттуда удалять таблицу, с этим можно как-то бороться?
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38590694
Гость_0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
depresnak,

у Вас запущена какая-то программа которая создаёт заново то что Вы удаляете.
...
Рейтинг: 0 / 0
Синхронная репликация postgres 9.1 master - master
    #38590773
depresnak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гость_0,

буду копать в сторону явы может быть дело в ней
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Синхронная репликация postgres 9.1 master - master
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]