IE2017

Обработка архивирования информационной базы 1С в формате PostgreSQL.

Администрирование - Архивирование (backup)

 Позволяет выполнить архивирование текущей информационной базы в указанный каталог средствами PostgreSQL, без обязательного монопольного доступа к базе. Для выполнения необходимо знать имя пользователя и пароль администратора 1С и PostgreSQL. Проблема в архивировании базы PostgreSQL не из под pgAdmin в том, что пароль пользователя PostgreSQL нельзя указать в командной строке, а только через установку переменной окружения. При этом сам Postgre реагирует на эти переменные окружения как-то избирательно – установленные вручную или скриптами js/vbs никак не хочет видеть, а установленные через bat/cmd видит вполне нормально. Поэтому в представленной обработке сначала формируется командная строка на основании параметров информационной базы, и затем эта команда запускается через консоль cmd.

 

Скачать файлы

Наименование Файл Версия Размер
Архивирование базы PostgreSQL
.epf 9,87Kb
22.12.10
99
.epf 9,87Kb 99 Скачать

См. также

Комментарии
1. Дмитрий К (SuhoffGV) 15.02.12 19:19 Сейчас в теме
Как пример работы с com и postgres классно.
Но неуниверсально.

По умолчанию обработка считает что сервер postgres = localhost, что не всегда так.

Нужно добавить строчку
						Параметры_Базы.Вставить("Имя_Базы_1С", InfoBase.Name);
						Параметры_Базы.Вставить("СУБД", InfoBase.DBMS);
						//вставка
                                                Параметры_Базы.Вставить("СерверСУБД", InfoBase.DBServerName);[/B]
						// 
						Параметры_Базы.Вставить("Имя_Базы",  InfoBase.DBName);

...Показать Скрыть


и заменить localhost в строке создания текста команды

Текст_Команды = "SET PGPASSWORD=" + СокрЛП(PostgreSQLPassword)+ "&&"+ Символ(34) + Файл_Архиватор + Символ(34) + " -i -h "+Параметры_Базы.СерверСУБД+" -p 5432 -U """ + СокрЛП(PostgreSQLUser)+ """ -F c -b -f " + Символ(34) + Файл_Архива + Символ(34) + " " + Параметры_Базы["Имя_Базы"];
Оставьте свое сообщение