четверг, 25 июля 2019 г.

pgAdmin windows создание резервной копии базы на Linux


Выгрузка информационной (подключение к Linux серверу)

Кодировка UTF8



C:\Program Files (x86)\pgAdmin 4\v4\runtime\pg_dump.exe --file "G:\\Backup\\demo_utf8.sql" --host "http" --port "5432" --username "postgres" --no-password --verbose --role "postgres" --format=c --blobs --encoding "UTF8" "demo"


1. Вариант на другом сервере, нет базы:


Нужно создать базу:









Восстановить базу:




C:\Program Files (x86)\pgAdmin 4\v4\runtime\pg_restore.exe --host "http" --port "5432" --username "postgres" --no-password --role "postgres" --dbname "demo" --verbose "G:\\Backup\\demo_utf8.sql"


Создать базу в 1С.




2. Вариант база существует

Если на сервере база уже есть,  нужно остановить сервер 1С

 $ sudo service srv1cv83 stop

Удалить базу



Выполнить Вариант 1 без создания базы в 1С

Запустить сервер 1С.

$ sudo service srv1cv83 start

.
Другой вариант, не удалять базу, а указать параметр Очистить перед восстановлением:



C:\Program Files (x86)\pgAdmin 4\v4\runtime\pg_restore.exe --host "http" --port "5432" --username "postgres" --no-password --dbname "demo" --clean --verbose "G:\\Backup\\demo_utf8.sql"

Скрипт требует установки pgAdmin


REM СОЗДАНИЕ РЕЗЕРВНОЙ КОПИИ БАЗЫ ДАННЫХ demo POSTGRESQL
REM в папке запуска скрипта в папке %PGDATABASE%
REM для базы отличной от demo  изменить PGDATABASE (следующая строка)
CLS
ECHO OFF
CHCP 1251
REM Установка переменных окружения
SET PGBIN=C:\Program Files (x86)\pgAdmin 4\v4\runtime\
SET PGHOST=http
SET PGPORT=5432
SET PGUSER=postgres
SET PGPASSWORD=pass
SET PGDATABASE=demo
REM Смена диска и переход в папку из которой запущен bat-файл
%~d0
CD %~dp0
REM Формирование имени файла резервной копии и файла-отчета
SET DATETIME=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%
SET DUMPFILE=%PGDATABASE%%DATETIME%.backup
SET LOGFILE=%PGDATABASE%%DATETIME%.log
SET DUMPPATH="%PGDATABASE%\%DUMPFILE%"
SET LOGPATH="%PGDATABASE%\%LOGFILE%"
REM Создание резервной копии
IF NOT EXIST %PGDATABASE% MD %PGDATABASE%
REM CALL "%PGBIN%\pg_dump.exe" --format=custom --verbose --file=%DUMPPATH% 2>%LOGPATH%
CALL "%PGBIN%\pg_dump.exe" --verbose --file=%DUMPPATH% --format=c --blobs --encoding "UTF8" 2>%LOGPATH%
REM Анализ кода завершенияIF NOT %ERRORLEVEL%==0 GOTO Error
GOTO Successfull
REM В случае ошибки удаляется поврежденная резервная копия и делается соответствующая запись в журнале
:Error
DEL %DUMPPATH%
MSG * "Ошибка при создании резервной копии базы данных. Смотрите backup.log."
ECHO %DATETIME% Ошибки при создании резервной копии базы данных %DUMPFILE%. Смотрите отчет %LOGFILE%. >> %PGDATABASE%.log
GOTO End
REM В случае удачного резервного копирования просто делается запись в журнал
:Successfull
ECHO %DATETIME% Успешное создание резервной копии %DUMPFILE% >> %PGDATABASE%.log
GOTO End
:End  


Комментариев нет:

Отправить комментарий