Как установить расширение pglogical на компьютер с Windows?
Мне нужно перенести корпоративную производственную базу данных с исходного компьютера Windows с Postgres 9.5 на целевой компьютер Ubuntu с Postgres 11.6 с временем простоя менее 15 минут. Я планирую сделать это с помощью pglogical, который требует, чтобы расширение загружалось как в источник, так и в пункт назначения. У меня проблемы с исходным кодом, потому что это Windows.
У меня очень мало опыта работы с Postgres-Windows, я не могу найти никакой полезной литературы по конкретной ситуации и не могу понять, как предположительно установить из исходников.
3 ответа
Алекс, статья 2ndQuadrant, на которую вы ссылаетесь в своем комментарии, решает эту проблему. Некоторые из отмеченных там вариантов проекта или сборки немного переместились в новых выпусках VisualStudio Community, поэтому я могу видеть, где вы застряли.
Просто ради удовольствия я скомпилировал 32-битную DLL на своем самом старом экземпляре Windows. Я включил путь /Release, чтобы вы могли взять мою DLL и посмотреть, работает ли она для вас. Он (а) 32-битный, потому что я предполагаю худший вариант для старой установки v9.5, и (б) нацелен на Postgres 9.6, потому что это то, что я установил. Если не было серьезных изменений API, он должен без проблем подключиться к v9.5:
Если вы обнаружите, что вам нужна версия, полностью соответствующая Postgres 9.5, возьмите мои файлы решений и VS Community 20xx. Загрузите проект и обновитеAdditional Include Directories
в Project Config для нацеливания на пути v9.5. Это должно быть все, что нужно для связывания библиотек Postgres v9.5.
Я копал и копал, и пока единственный ответ, который мне удалось найти, это "тьфу... Windows". Похоже, что единственный способ собрать из исходного кода - это использовать Visual Studio, которой у меня нет или я не знаю, как ее использовать.
Источники:
https://www.2ndquadrant.com/en/blog/compiling-postgresql-extensions-visual-studio-windows/
Если ваша версия Postgres не ниже 10, вам не нужно устанавливать расширение в Windows. Просто следуйте официальному руководству по репликации логической версии из вики Postgres.
- https://www.postgresql.org/docs/current/ologic-replication-quick-setup.html
- https://www.postgresql.org/docs/current/ologic-replication.html
Если Postgres версии 9.6 или ниже, вам нужно будет скомпилировать его из исходного кода.