Наверх

База знаний
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С:Предприятие: одна будет рабочая, другая для тестов.

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

Если в инструкции допущены ошибки или она Вам не помогла — пишите в нашу группу ВК! Мы обязательно поможем!

Или попробуйте найти интересующие Вас ответы в инструкциях на нашем YouTube канале!

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

Подключение эмулятора Windows CE к ПК через ActiveSync (Центр устройств Windows Mobile)

В этой статье речь пойдёт о том, как подключить эмулятор Windows CE к ПК для доступа к файловой системе устройства, редактору реестра (Remote Registry Editor) и ко всем остальным плюхам, которыми мы можем воспользоваться при подключении настоящего устройства к ПК через Центр устройств Windows Mobile (ActiveSync). Поехали!

Ошибка при запуске приложения (0xc0000005). Для выхода из приложения нажмите кнопку «ОК»

В один прекрасный момент у одного из наших клиентов перестали запускаться все приложения (*.exe файлы). При чём связать появление данной проблемы с какими-то конкретными действиями так и не получилось. Выключали ПК - всё работало, включили .exe не запускаются. Решаем эту проблему!

Конвертация таблицы разделов HDD/SSD с GPT в MBR и наоборот

Операцию по смене таблицы разделов накопителей HDD или SSD нельзя назвать повседневной, но иногда этим приходится заниматься. Расскажем, как конвертировать таблицу разделов при установке OS Windows.