Для восстановления БД из ранее созданной копии БД необходимо:
- Создать командный файл «db_restore.bat», скопировать в него нижеприведенный текст скрипта;
- В тексте скрипта изменить параметры CONF_DIR и CONF_DUMP_FILE_NAME (указать путь к файлу с копией БД и имя этого файла);
- Выполнить скрипт «db_restore.bat» на сервере BioSmart.
Перед выполнением скрипта восстановления БД закройте все программы, которые имеют подключение к текущей БД, например, pgAdmin.
Текст скрипта
@echo This batch file ::ip сервера БД SET CONF_DUMP_HOST_IP=127.0.0.1 ::имя БД на сервере в которую восстанавливать БД, при отсутствии БД с таким именем она создастся SET CONF_DUMP_DB_NAME=biosmart_maindb ::Папка где находится файл с дампом БД SET CONF_DIR=c:\tmp\backup\ ::имя файл с дампом БД SET CONF_DUMP_FILE_NAME=127.0.0.1_biosmart_maindb_06292015.backup ::Дата для переименования БД SET CONF_DATE=%date:~-10,2%%date:~-7,2%%date:~-4,4%%time:~-11,2%%time:~-8,2%%time:~-5,2% ::остановим сервер Biosmart net stop "Biosmart Server" ::переименуем БД "C:\Program Files\Biosmart Studio 6\db.12.0\bin\psql" --host %CONF_DUMP_HOST_IP% --port 5432 --username "postgres" --no-password -c "ALTER DATABASE %CONF_DUMP_DB_NAME% RENAME TO ""%CONF_DUMP_DB_NAME%_%CONF_DATE%"";" ::создадим БД на сервере "C:\Program Files\Biosmart Studio 6\db.12.0\bin\createdb" -U "postgres" %CONF_DUMP_DB_NAME% ::восстановим из дампа БД "C:\Program Files\Biosmart Studio 6\db.12.0\bin\pg_restore" --host %CONF_DUMP_HOST_IP% --port 5432 --username "postgres" --role "postgres" --dbname %CONF_DUMP_DB_NAME% --no-password --verbose %CONF_DIR%%CONF_DUMP_FILE_NAME% ::запустим сервер Biosmart net start "Biosmart Server"