Наверх

База знаний
Try 2 Fix
beta

1С:Предприятие и PostgreSQL: Размещение базы данных 1С за пределами хранилища PostgreSQL

Переход с файловой БД на PostgreSQL

Вносить какие-то глобальные изменения сразу в работающую базу данных 1С:Предприятие — дело неблагодарное. Даже если у Вас есть резервные копии, понадобится время, чтобы восстановить их, а время для некоторых организаций критично. Поэтому лучше проводить отладку своих обработок на копии базы данных. Если это файловая версия — вообще нет никаких проблем. Если SQL — всё немного сложнее. А если ещё и закончилось место в хранилище баз данных СУБД, а расширять хранилище нет места/возможности — то это вообще проблема. Но мы поможем!

Итак, нашему клиенту понадобилась работающая копия SQL версии базы данных 1С:Предприятие. На SSD с корнем хранилища PostgreSQL осталось меньше 10Гб, а нам надо около 70Гб. На соседних HDD место есть. В качестве сервера у нас Windows Server 2008R2. Исходная база данных будет называться PG_1CBase. Создаваемая копия будет называться PG_1CBase_NEW.

  1. Делаем резервную копию базы данных 1С с помощью pg_dump:
    C:\Program Files\PostgreSQL\9.4.2-1.1C\bin>pg_dump.exe -U postgres -F c -b PG_1CBase > E:\PG_1CBase.backup

    За ключом -U указываем имя пользователя для доступа к серверу PostgreSQL, -F с — это формат custom. После вводе этой команды необходимо ввести пароль для пользователя postgres.

  2. Заходим в Администрирование серверов 1С:Предприятие:
    Console Root > Central 1C:Enterprise 8.3 servers > (*) %Server_Name% > Кластеры > Локальный кластер > Информационные базы.
  3. Создаём пустую базу данных с названием PG_1CBase_NEW, ставим галочку «Создать базу данных в случае её отсутствия».
  4. Идём в корень хранилища баз данных PostgreSQL, перемещаемся вглубь:
    %pg_root%\data\base
    
  5. Папка, находящиеся там, это базы даннх. Ищем последнюю созданную папку (её имя — большее число). Размер папки будет от 6Мб до12Мб. В нашем случае эта папка имеет имя 1885847. Полный путь новой БД:
    %pg_root%\data\base\1885847
  6. Через pgAdmin останавливаем службу PostgreSQL:
    Группы серверов > Серверы > localhost:5432 > ПКМ > Остановить службу
  7. На раздел с достаточным количеством свободного места переносим папку с созданной базой данных из пункта 5. В корне хранилища PostgreSQL её больше быть не должно. Новый путь будет выглядеть, например, так:
    E:\1885847
  8. В правах на эту папку добавим пользователя postgres (так назвали пользователя СУБД при установке), дадим ему полные права.
  9. Теперь начинается магия. Чтобы ОС думала, что база данных лежит в хранилище PostgreSQL, а физически она находилась в другом месте, создаём символьную ссылку (симлинк или symlink) в командной строке от имени Админинистратора:
    mklink /j /D "%pg_root%\data\base\1885847" "E:\1885847"

    Появится сообщение о том, что символьная ссылка успешно создана. В исходной папке появится ярлык. Но если Вы кликните по нему, то в адресной строке увидите не новый путь E:\1885847, а старый путь.

  10. ВАЖНО! После переноса директории, в pgAdmin при доступе к новой базе Вы можете увидеть сообщение «FATAL: could not open file «…»: Permission denied». Это значит, что у новой папки по новому пути нет прав для Windows пользователя postges (системный пользователь, не пользователь PostgreSQL!). Права должны быть полными. Даются через ПКМ по новой папке > Свойства > Безопасность > Изменить… > …
  11. Через pgAdmin запускаем службу PostgreSQL:
    Группы серверов > Серверы > localhost:5432 > ПКМ > Запустить службу
  12. А дальше просто восстанавливаем базу данных 1С:Предприятие из созданной ранее копии:
    C:\Program Files\PostgreSQL\9.4.2-1.1C\bin>pg_restore.exe -U postgres -d PG_1CBase_NEW E:\PG_1CBase.backup

    После этого вы получите 2 рабочие базы данных 1С:Предприятие: одна будет рабочая, другая для тестов.

Остались вопросы?

Лоджик Флоу


Аутсорсинг / Системное администрирование / Техническая поддержка / Сопровождение 1С:Предприятие

+7 (8634) 383-490 / +7 (906) 430-7000
mail@logicflow.ru

Что-то пошло не так? Специалисты нашей компании помогут Вам разобраться с возникшими проблемами! Обращайтесь! →

Также Ваши вопросы Вы можете задать в нашей группе ВК или на нашем YouTube канале!

Эти статьи будут Вам интересны

Инструкция по защите Windows от уязвимостей Meltdown и Spectre

Статья обновлена 9 января 2018 в 22:22.  Добавлено видео. Год начался с отличных новостей об уязвимостях Meltdown и Spectre. Вот их список CVE-2017-5753 - Bounds check bypass CVE-2017-5715 - Branch target injection CVE-2017-5754 - Rogue data cache load Полностью защитить себя от них не получится, так как нет средств, которые полностью закрывают их, но IT гиганты уже начали латать эти дыры. Подавлюяющее большинство наших клиентов работают на Windows, поэтому мы подготовили инструкцию по защите Windows от уязвимостей Meltdown и Spectre. Это не исчерпывающее руководство, так как механизмов полного закрытия уязвимостей ещё не существует!

Настройка онлайн-кассы Штрих-М в режиме Ethernet и Wi-Fi (Штрих-М-02Ф / Штрих-Мини-01Ф)

В преддверии перехода на онлайн-кассы, рассказываем как настроить популярный фискальный регистратор Штрих-М-02Ф (или аналогичные) для передачи данных в ОФД через Ethernet и Wi-FI.

1С:Предприятие 8.2: Не обнаружена лицензия для использования программы. Бесконечная активация

У нашего клиента возникла вполне стандартная ситуация: Windows 10 получила большой пакет обновления и после перезагрузки ПК при запуске 1С:Предприятие пользователь увидел окно с текстом "Не обнаружена лицензия для использования программы". Пока ничего не обычного. Но после ввода нового пин-кода 1С:Предприятие и сообщения об успешной активации при очередном входе в программу сообщение о том, что лицензия не найдена снова всплывает. Разбираемся, в чём же дело.