Перенос данных из базы СПДС и Механика под управлением Microsoft SQL в PostgreSQL на Linux

alebedev
отредактировано 11 Mar Раздел: Общие вопросы

В данной инструкции рассмотрим пошаговый процесс переноса данных из базы СПДС и Механика под управлением Microsoft SQL в PostgreSQL на Linux.

Перенести данные из базы СПДС и Механика под управлением Microsoft SQL в PostgreSQL на Linux можно несколькими способами:

  • Перенос отдельных папок и элементов при помощи файлов .mcdi
  • Синхронизация баз данных

Перенос отдельных папок и элементов при помощи файлов .mcdi

Предварительные условия:

Установленная Платформа nanoCADс модулями СПДС и Механика последней версии на всех АРМ с которых и на которые будет происходить миграция данных.

Настроенное подключение к исходной БД Microsoft SQL на Windows.

Настроенное подключение к целевой БД PostgreSQL на Linux.

Экспорт данных из MSSQL.

Запустите СПДС 24 на Windows, подключитесь к исходной БД Microsoft SQL, которая содержит каталоги с пользовательскими компонентами:

Рассмотрим перенос данных на примере папки «Пользовательские фланцы». Переходим во вкладку «База элементов», нажимаем ПКМ на выбранной папке и выбираем экспорт в файл из контекстного меню. Сохраняем файл Пользовательские фланцы.mcdi. Выполняем экспорт в файл для всех папок, которые мы хотим перенести в БД на PostgreSQL.

Импорт данных в PostgreSQL.

Запустите СПДС на Linux. Подключитесь к целевой БД PostgreSQL.

Рассмотрим импорт данных на примере папки «Пользовательские фланцы», которую добавим в папку «Пользовательские». Переходим во вкладку «База элементов», нажимаем ПКМ на папке, в которую мы хотим добавить импортируемую папку и выбираем «Импорт из файла» в контекстном меню. Выбираем файл Пользовательские фланцы.mcdi

Убедимся, что импорт был выполнен корректно, структура папок соблюдена и компоненты добавляются из базы

Синхронизация баз данных

Предварительные условия:

Исходная БД Microsoft SQL на Windows.

Целевая БД PostgreSQL на Linux.

Установленная Платформа nanoCAD с модулями СПДС и Механика последней версии на всех АРМ с которых и на которые будет происходить миграция данных.

Настроенное подключение к исходной БД Microsoft SQL и целевой PostgreSQL на Windows.

Настроенное подключение к целевой БД PostgreSQL на Linux.

Выполните настройку подключения к целевой БД PostgreSQL на Linux, которую мы будем синхронизировать с исходной БД Microsoft SQL на Windows:

Разрешите удаленные подключения к серверу:

Открыть на редактирование файл /opt/nanosoft/postgresql/ncad-database/ncad-data/pg_hba.conf

В данном примере разрешим подключения с любых адресов:

host all all 0.0.0.0/0 trust

Для настройки подключений в вашей сети обратитесь к вашему системному администратору.

  • Разрешить прослушивание запросов на всех IP-адресах (*):

Открыть на редактирование файл /opt/nanosoft/postgresql/ncad-database/ncad-data/postgresql.conf

Прописать: listen_addresses = '*'

  • Перезапустить службу: sudo systemctl restart ncad-pgsql

Проверка работы сервера:

Проверить статус службы: sudo systemctl status ncad-pgsql

Посмотреть лог службы: sudo journalctl -xe

Проверить порт: ss -tulpn | grep 54329

(PostgreSQL с базами работает на порте 54329)

На Windows запустите СПДС, добавьте подключение к целевой БД PostgreSQL на Linux:

Логин: mclogin

Пароль: mclogin

На Linux запустите СПДС, нажмите ПКМ на База элементов, выберите из контекстного меню Утилита конфигурации:

Перейдите в Пользователи и предоставьте права администратора подключенной к целевой БД PostgreSQL Windows-машине:

На Windows запустите СПДС, нажмите ПКМ на База элементов, выберите из контекстного меню Утилита конфигурации:

Выберите Синхронизация:

Выберите подключенную ранее целевую БД PostgreSQL на Linux.

Убедитесь, что в строке Целевая отсутствует лишняя запись pgsql. Строка должна выглядеть как на скриншоте.

Нажмите Синхронизировать

Будет запущен процесс синхронизации:

После завершения , убедимся, что синхронизация была выполнена корректно и компоненты добавляются из базы:

Тэги темы:

Комментарии

  • MCAD
    отредактировано October 2024

    Синхронизация должна работать.

  • да, но вы синхронизируете 2 БД postgresql на одной машине. в статье чуть про другое.

  • У Вас все правильно и хорошо написано!!!

    Я предложил другой вариант, а именно синхронизацию с любой машины, где установлен нанокад.

    Например (имя сервера и порт узнать у администратора сети)

  • Понятно, что в Вашем варианте можно выборочно копировать папки с объектами. Но если нужно просто скопировать из одной в другую, то так проще. ЯТД

  • да, понял, о чём вы. спасибо за замечание, дополню статью