2008-07-14

Черновик. Репликация средствами Bucardo.

Значит с Daffodil пока затык. Сам разобраться не могу, комьюнити помалкивает. То ли не у кого таких проблем небыло, то ли никому daffodil не интересен.

Короче, пока с daffodil затык попробую разобраться с bucardo

2008.07.15

Ну первым делом с cpan накачал такие вот модули (требования из доки bucardo):


DBD-Pg-2.8.5.tar.gz
DBI-1.605.tar.gz
ExtUtils-MakeMaker-6.44.tar.gz
IO-1.2301.tar.gz
Mail-Sendmail-0.79.tar.gz
Moose-0.54.tar.gz
Sys-Syslog-0.26.tar.gz
Test-Harness-3.12.tar.gz
Test-Simple-0.80.tar.gz
Test-Exception-0.27.tar.gz

Те модули, что в доке отмечены * не качал, так как они якобы идут собранные в дистрибутиве bucardo. Непонятка с модулем IO::Handle. При его поиске на cpan дает качать только IO-1.2301.tar.gz. Ну будем считать, что это и есть тот самый модуль. Какие-то из этих модулей есть в дистрибутиве линукса в виде rpm пакетов. Но обычно это старые версии, не проходящие соответствие по версиям, выдвинутым в документации. Так что все необходимые модули будем ставить из выкачаных с cpan.

Устанавливаем модули так, как написано в инструкции по установке модулей на cpan.

Ха-ха-ха!!! Нарвался практически сразу...
При попытке установить модуль DBD-Pg-2.8.5 у меня затребовало путь к pg_config. А эта хрень отсутствует в версиях PostgreSQL 8.2 и выше. То есть данный модуль ограничивается версиями PostgreSQL 8.1 и ниже, что нам никак не подходит... То есть и bucardo имеет те же ограничения. Откатываться на старые версии PostgreSQL мы не можем, то есть bucardo нас ну ваще не укатывает.

Гоню. pg_config находится в пакете postgresql-devel. Так что ставим этот пакет, и пробуем ставить модули.

Ставятся модули следующим образом. Переходим в распакованный каталог с исходниками модуля и под обычным пользователем (ни в коем случае не под root) выполняем:

perl Makefile.PL
make
make test

В результате последней команды должно быть выдано, что тесты прошел успешно. Потом входим в нужный каталог под root и выполняем:

make install

Естественно, в процессе установки смотрим, чтоб нигде небыло критичных ошибок, нехватающих модулей, правильно отвечаем на поставленные вопросы.

Ставим в вледующей последовательности (о последовательности я узнал, когда при попытке поставить DBD::Pl оказалось, что уже должен быть установлен ExtUtils::MakeMaker)

1. ExtUtils-MakeMaker-6.44.tar.gz
2. DBI-1.605.tar.gz
3. IO-1.2301.tar.gz
4. Mail-Sendmail-0.79.tar.gz
5. Test-Simple-0.80.tar.gz
6. Sub-Uplevel-0.1901.tar.gz
7. Algorithm-C3-0.07.tar.gz
8. Class-C3-XS-0.08.tar.gz
9. Class-C3-0.19.tar.gz
10. MRO-Compat-0.09.tar.gz
11. Sub-Identify-0.03.tar.gz
12. Sub-Name-0.03.tar.gz
13. Class-MOP-0.63.tar.gz
14. Test-LongString-0.11.tar.gz
15. Sub-Install-0.924.tar.gz
16. Params-Util-0.33.tar.gz
17. Data-OptList-0.103.tar.gz
18. Sub-Exporter-0.979.tar.gz
19. Moose-0.54.tar.gz
20. Sys-Syslog-0.26.tar.gz
21. Test-Harness-3.12.tar.gz
22. DBD-Pg-2.8.5.tar.gz (ниже особенность установки)

Может я делал неправильно, но при запуске команды make test некоторые тесты показывали статус skipped в связи с отсутствием тех или иных модулей, но в целом показывало, что тест прошел успешно. На такие ошибки внимания не обращал, не считая их ошибками. Возможно это упущение с моей стороны - время покажет.

Обратите внимание, что тут присутствуют модули, о которых раньше не упоминалось. Просто они потребовались другим модулям при установке. Поэтому вам их придется также утянуть с cpan.

Особенность установки DBD-Pg.

Комментариев нет: