gifts2017

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

Опубликовал Vainemeinen Vainemeinen (Vainemeinen) в раздел Администрирование - Архивирование (backup)

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

 

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

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

См. также

Подписаться Добавить вознаграждение

Комментарии

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) + " " + Параметры_Базы["Имя_Базы"];
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа