Как установить расширение 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/

https://postgrespro.ru/list/thread-id/1835275

Если ваша версия Postgres не ниже 10, вам не нужно устанавливать расширение в Windows. Просто следуйте официальному руководству по репликации логической версии из вики Postgres.

Если Postgres версии 9.6 или ниже, вам нужно будет скомпилировать его из исходного кода.

Другие вопросы по тегам