The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Репликация PostgreSQL при помощи lo..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Репликация PostgreSQL при помощи lo..."  +/
Сообщение от auto_tips on 25-Ноя-09, 16:53 
Сначала необходимо всё правильно поставить. SkyTools есть в репозиториях постгреса для CentOS, но проблема заключается в том, что в этом пакете не включены дополнительные модули, а именно Pgq_LowLevel. Поэтому сделал следующее:
Скачал последнюю версию skytools с сайта https://developer.skype.com/SkypeGarage/DbProjects/SkyTools , сконфигурировал, скомпилировал, и взял оттуда лишь модули для питона Pgq_LowLevel, затем поставил пакет(благо версии пакета в репозитории и модулей совпали) и скопировал модули pgq_lowlevel.so, pgq_triggers.so, logtriga.so в /usr/lib/pgsql/.

Всё дальше можно переходить к репликации.

Теперь все нижеследующие действия будут проходить от пользователя postgres и только на мастер сервере, но нужно учесть, что на слэйв сервер был доступ для пользователя владеющего базой данных, то есть должна выполняться команда:

   psql -h slave.server.r -U your_user -d your_database

Сначала нам нужно установить pgqadmin. Создаём любой файл следующего содержания

   [pgqadm]
   job_name = your_cluster_name
   db = dbname=your_database_name

   # how often to run maintenance [seconds]
   maint_delay = 600

   # how often to check for activity [seconds]
   loop_delay = 0.1

   logfile = ~/log/%(job_name)s.log
   pidfile = ~/pid/%(job_name)s.pid


далее мы устанавливаем pgq и создаём очередь.

   $ pgqadm.py yaour_file install
   $ pgqadm.py -d your_file ticker
   $ pgqadm.py your_file create your_queue
   $ pgqadm.py your_file register your_queue your_consumer


теперь когда создана очередь, мы можем начать нашу репликацию. Создаём файл /etc/londiste_your_cluster_name.ini вида:

   [londiste]
   job_name = your_cluster_name

   provider_db = dbname=your_database
   subscriber_db = dbname=your_database port=5432 host=slave.server.r user=files_testing password=your_password

   # it will be used as sql ident so no dots/spaces
   pgq_queue_name = your_queue

   logfile = /tmp/%(job_name)s.log
   pidfile = /tmp/%(job_name)s.pid

Когда файл создан запускаем londiste

   londiste.py /etc/londiste_your_cluster_name.ini provider install
   londiste.py /etc/londiste_your_cluster_name.ini subscriber install

Добавляем таблицы для репликации

   londiste.py /etc/londiste_your_cluster_name.ini provider add table1 table2 table3
   londiste.py /etc/londiste_your_cluster_name.ini subscriber add table1 table2 table3
   londiste.py -d /etc/londiste_your_cluster_name.ini replay

Все !


URL:
Обсуждается: https://www.opennet.ru/tips/info/2238.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Репликация PostgreSQL при помощи londiste из пакета skytools"  +/
Сообщение от Одмин on 25-Ноя-09, 16:53 
"отсутствие поддержки sequence"

Это не репликация а так, побаловаться. Большинство приложений не заработает.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Репликация PostgreSQL при помощи londiste из пакета skytools"  +/
Сообщение от Одмин on 25-Ноя-09, 16:56 
Ой, соврал, уже приделали.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру