Простой бэкап базы 1С в postgreSQL

Дайте угадаю, Вы хотите поскорее скопировать команду при помощи, которой можно по-быстрому сделать бэкап базы 1С ?

Замечательно!

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

И что делать ? снова в путь по сайтам, форумам, телегам  в поисках «почему не работает бэкап в PostgreSQL»

Нет, Коллега, имея дело из СУБД PostgreSQL 14, следует набраться немного терпения и как минимум прочитать внимательно несколько строк ниже.

Резервное копирование в PostgreSQL зависит от многих факторов:

  1. В какой операционной системе выполняем команду
  2. Как настроена безопасность на кластере СУБД
  3. Удаленное или локальное подключение к СУБД PostgreSQL 14.
  4. Какую программу мы используем для резервного копирования.

Конечно, в рамках одной статьи не разобрать все возможные варианты, поэтому мы возьмем за пример лишь пару классических случаев:

  1. База 1С на СУБД в дата центре — Ubuntu Server 22.04 LTS (Удаленно)
  2. База 1С у нас в локальном расположении (Windows Server 2022)

 

Сперва рассмотрим вариант №2, когда PostgreSQL на Windows Server 2022 в нашей локальной сети.

Доступ к СУБД у нас разрешен только из 127.0.0.1 (localhost) как и рекомендуется по безопасности, если Сервер 1С и СУБД PostgreSQL 14 у Вас находятся вместе на одном хосте.

Иначе в файле (файрволле постгреса pg_hba.conf)  надо прописать IP, где у вас находится Сервер 1С, строка — пример: host all all 192.168.1.50/32 md5 вместо 127.0.0.1/32

Соответственно настройки в pg_hba.conf и postgresql.conf будут следующие:

 

1C_pg_hba.conf

1C_postgesql.conf

Обратите внимание на «стрелку» в pg_hba.conf

РЕКОМЕНДУЕТСЯ! Закомментировать ipv6 если вы используете ipv4 

Если Сервер 1С у Вас на другом сервере (Хосте) , тогда в postgresql.conf в listen_addresses пишем IP который вы указываете на Сервере 1С для подключения к удаленному хосту, где работает PostgreSQL (например так: listen_addresses = ‘192.168.1.35’)

listen_addresses = ‘192.168.1.35’ это ip нашего сетевого IP интерфейса, который «слушает» наш PostgreSQL.

Другими словами 192.168.1.35 это IP на сервере СУБД PostgreSQL.

Подключившись например по RDP к нашему серверу (Windows Server 2022) из нашего ПК, мы запускаем CMD и выполним резервное копирование базы «BUX» на диск E:/BACKUP

(Скрипт мы выполняем в терминале, где и работает PostgreSQL 14 + Сервер 1С и располагаются базы 1С Предприятия 8.3.21)

Выполнять резервное копирование базы 1С мы будем самым простым и надежным способом, используя утилиту «pg_dump».

После установки СУБД PostgreSQL она поселилась у Вас в каталоге «Bin»:

13102022/pg_dump_1c

 

«C:\Program Files\PostgreSQL 1C\14\bin\pg_dump»

pg_dump это консольная программа, соответственно работать с ней мы будем в командной строке:

 

backup_1c_postgresql_pg_dump

 

Программа попросит нас ввести пароль пользователя postgres

well_done_backup_1c

Готово!

Бэкап уже на диске!

 

Разберем вкратце, что мы написали выше:

Путь к pg_dump: «C:\Program Files\PostgreSQL 1C\14\bin\pg_dump»

Роль от имени которой выполняем подключение к СУБД: -U postgres

Доп. Параметры: -F c -b -v –f

Где будет создан бэкап: «E:\BACKUP\bux_13_10_2022.dump»

База что бэкапим: bux

 

Чтоб всегда не писать полный путь к каталогу с программой pg_dump, можно внести ее путь размещения в переменные среды в Path:

Нажмите на клавиши» «Win» + «R».

В окне «Выполнить» введите команду: «systempropertiesadvanced» (без кавычек), а затем нажмите на кнопку «ОК».

 

Добавляем переменные среды в Path (Только добавляем!)

13102022/path_psql

C:\Program Files\PostgreSQL 1C\14\bin   (Для 1С)

C:\Program Files\PostgreSQL 1C\14\lib   (Для 1С)

13102022/path_2

В следующей части статьи, мы разберём резервное копирование баз 1С в PostgreSQL на удаленном сервере Ubuntu server 22.04 LTS

Добавить комментарий