# apt-get install -y postgresql # apt-cache search postgresql | grep londiste postgresql-9.5-pgq3 - Skype tools for PostgreSQL replication, londiste and PGQ skytools3 - Skype tools for PostgreSQL replication, londiste and PGQ skytools3-ticker - Skype tools for PostgreSQL replication, londiste and PGQ # apt-get install postgresql-9.5-pgq3Добавление схемы в репликацию с созданием таблиц на реципиенте
:/etc/skytools$ londiste3 LEAF_NAME.ini add-table my_scheme.* --createили с полной схемой:
:/etc/skytools$ londiste3 LEAF_NAME.ini add-table my_scheme.* --create-full
Удаление таблицы из репликации (в базе-реципиенте таблица остается)
:/etc/skytools$ londiste3 LEAF_NAME.ini remove-table my_scheme.table1 my_scheme.table2
- остановить воркер:
# londiste3 LEAF_NAME.ini worker -k- запустить воркер в фоне:
londiste3 LEAF_NAME.ini worker -d
Меняем ip у сервера, на который идет репликация:
- мало поменять его в LEAF_NAME.ini, необходимо поменять и в таблице pgq_node.node_location, причем на каждом сервере (причем, не только на серверах откуда и куда идет репликация, а на всех, куда реплицируются данные).
Хорошим тоном является добавление в LEAF_NAME.ini не ip-адреса, а hostname, который резолвится через /etc/hosts, при смене надо будет просто заменить ip в /etc/hosts и перезапустить воркер.
Если ошибка в логе не очевидная. Смотрим, на каком событии тормознулось:
ERR: LEAF_NAME: [ev_id=3883249524,ev_txid=4930263273] ‘foo_id’
Идем в psql DATABASE
select * from pgq.event_2 where ev_id=3883249524;
Смотрим что за событие, делаем какие-то выводы, хотя бы на какой таблице
Удаление leaf
londiste3 LEAF_NAME.ini drop-node <ИМЯ>ИМЯ - имя реплики, как оно показывается командой londiste3 LEAF_NAME.ini status