Модели восстановления в 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.

  1. Имена баз данных на экземпляре PostgreSQL должны быть уникальными, поэтому следует отказаться от старой базы данных.
    dropdb –U sde mypgdb
    
  2. Создайте базу данных заново.
    ПримечаниеПримечание:

    Убедитесь, что новая база данных имеет те же свойства, что и та, которую вы восстанавливаете, включая имя, кодировку и владельца.

    createdb –U sde –E UTF8 –D gdbtablespace -O sde mypgdb
    
  3. Задайте переменную search_path в создаваемой базе данных, чтобы найти схемы user, public и sde.

    Измените базу данных, чтобы установить эту переменную с помощью командной строки.

    psql -U postgres mypgdb -c "alter database mypgdb set search_path = E'"$user"',public,sde;
    
  4. Восстановите базу данных, используя команду pg_restore.

    Вам придется запустить команду восстановления дважды; сначала для восстановления содержания схемы public, затем для восстановления содержания всех остальных схем вашей базы данных.

    pg_restore -U sde -n public -d mygdb mypgdb1031.dump
    
    pg_restore –U sde –d mypgdb mypgdb1031.dump
    
ПодсказкаПодсказка:

Если у вас установлена система PostGIS и вы используете хранилище геометрии, обязательно прочитайте документацию PostGIS по созданию резервных копий и восстановлению баз данных. Этот процесс может выполняться по-разному, в зависимости от используемой вами версии PostGIS.

Связанные темы

9/11/2013