Модели восстановления в PostgreSQL
Для восстановления базы данных из файла архива, созданного с помощью команды pg_dump, используйте команду pg_restore. Проверьте модели архивирования и восстановления заранее на тестовых базах данных.
Ниже приведен обзор действий, которые необходимо выполнить для восстановления базы данных. Для получения полных инструкций обратитесь к документации к PostgreSQL по адресам http://www.postgresql.org/docs/8.3/static/backup.html и http://www.postgresql.org/docs/8.3/static/app-pgrestore.html.
- Имена баз данных на экземпляре PostgreSQL должны быть уникальными, поэтому следует отказаться от старой базы данных.
dropdb –U sde mypgdb
- Создайте базу данных заново. Примечание:
Убедитесь, что новая база данных имеет те же свойства, что и та, которую вы восстанавливаете, включая имя, кодировку и владельца.
createdb –U sde –E UTF8 –D gdbtablespace -O sde mypgdb
- Задайте переменную search_path в создаваемой базе данных, чтобы найти схемы user, public и sde.
Измените базу данных, чтобы установить эту переменную с помощью командной строки.
psql -U postgres mypgdb -c "alter database mypgdb set search_path = E'"$user"',public,sde;
- Восстановите базу данных, используя команду pg_restore.
Вам придется запустить команду восстановления дважды; сначала для восстановления содержания схемы public, затем для восстановления содержания всех остальных схем вашей базы данных.
pg_restore -U sde -n public -d mygdb mypgdb1031.dump pg_restore –U sde –d mypgdb mypgdb1031.dump
Если у вас установлена система PostGIS и вы используете хранилище геометрии, обязательно прочитайте документацию PostGIS по созданию резервных копий и восстановлению баз данных. Этот процесс может выполняться по-разному, в зависимости от используемой вами версии PostGIS.