Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

POSTGRES_DUMP_RESTORE 1С:Предприятие и СУБД

PostgreSQL: как сделать дамп базы (pg_dump) и развернуть в 1С (pg_restore)

Обновлено: 26.08.2026 · Официальная документация ↗
  • Необходимо перенести рабочую базу 1С с одного сервера PostgreSQL на другой.
  • База данных слишком большая (более 50-100 ГБ), и стандартная выгрузка в файл .dt зависает или выдает ошибку нехватки памяти.
  • Требуется быстро создать точную резервную копию базы данных без остановки работы пользователей.

Что такое pg_dump и pg_restore простыми словами?

pg_dump — это специальная служебная утилита PostgreSQL, которая «фотографирует» всю вашу базу данных 1С и аккуратно упаковывает ее в один сжатый файл-архив (дамп). pg_restore — утилита, которая распаковывает этот файл и создает готовую к работе базу на новом сервере.

Шаг 1. Создание резервной копии (Дампа)

  1. Зайдите на сервер, где работает база, и откройте командную строку (cmd в Windows или терминал в Linux).
  2. Выполните команду для выгрузки (замените имена на свои):
    # Для Windows (запуск из папки bin PostgreSQL):
    "C:\Program Files\PostgreSQL 14-1C\bin\pg_dump.exe" -h localhost -p 5432 -U postgres -F c -b -v -f "C:\Backups\1c_buh.dump" 1c_buh_base
  3. Введите пароль пользователя postgres. Начнется процесс архивации, и в папке появится файл 1c_buh.dump.

Шаг 2. Создание пустой базы на новом сервере

  1. Перенесите файл 1c_buh.dump на новый сервер.
  2. Создайте чистую пустую базу данных в PostgreSQL (например, через консоль pgAdmin или команду):
    createdb -h localhost -p 5432 -U postgres -O postgres 1c_buh_new

Шаг 3. Восстановление данных (pg_restore)

  1. Выполните команду восстановления базы из дампа:
    "C:\Program Files\PostgreSQL 14-1C\bin\pg_restore.exe" -h localhost -p 5432 -U postgres -d 1c_buh_new -v "C:\Backups\1c_buh.dump"
  2. После завершения добавьте созданную информационную базу в Консоли кластера серверов 1С:Предприятия.
💡 Практика специалистов: Для ускорения восстановления больших баз на многоядерных серверах добавляйте параметр параллелизма -j: например, pg_restore -j 4 восстановит базу в 4 потока в разы быстрее.

Частые вопросы (FAQ)

Почему перенос через pg_dump лучше, чем через выгрузку .dt из 1С?

Формат .dt не предназначен для больших баз и резервного копирования. На базах от 30-50 ГБ выгрузка в .dt часто падает с ошибкой нехватки памяти, а pg_dump работает на уровне СУБД, делает копию без остановки пользователей и гарантирует целостность.

Что означает параметр -F c в команде pg_dump?

Параметр -F c указывает создавать дамп в специальном бинарном сжатом формате (Custom format). Он занимает меньше места на диске и позволяет восстанавливать базу в несколько параллельных потоков.

Нужно ли выгонять пользователей из 1С при создании pg_dump?

Нет, не обязательно. PostgreSQL использует механизм MVCC (многоверсионность транзакций), благодаря чему дамп создается в согласованном состоянии на момент старта команды без блокировки работы людей.

Что делать, если при восстановлении pg_restore сыпятся предупреждения (warnings)?

Небольшие предупреждения о существующих системных объектах (например, public schema) допустимы и не являются критической ошибкой, если в конце команда завершилась без фатального сбоя (Fatal Error).

Полезные материалы
Рекомендуем