30 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как восстановить базу данных PostgreSQL из архива

Как восстановить базу данных PostgreSQL из архива

Пришло время поговорить о восстановлении базы данных PostgreSQL из архива, так как к тому времени, когда Вы с этим столкнетесь, Вы уже должны будите уметь это делать, для того чтобы оперативно восстановить работу базы и соответственно всех приложений, которые работают с ней. Иначе Вы можете получить всякого рода выговоры от руководства за простой процесса производства.

Чуть ранее мы с Вами рассмотрели возможность создания резервной копии базы данных PostgreSQL в материале Как создать архив базы PostgreSQL, а теперь пора научиться восстанавливать базы из backup.

Если Вы знаете, как создается backup в PostgreSQL, то понимаете, что это делается достаточно просто, поэтому и восстановить базу также не составит труда.

Мы с Вами рассматривали два варианта создания архива, через графический интерфейс pgAdmin и через командную строку, поэтому и восстанавливать мы будем также двумя способами. Только в отличие от создания backup, через батник (для ежедневной автоматической архивации) который нам был нужен практически только для того, чтобы автоматизировать этот процесс и забыть про него, при восстановлении нам такая автоматизация не нужна, так как не каждый день приходится восстанавливать базу данных. Но мы все равно рассмотрим вариант через bat-файл, только для того чтобы Вы знали, как это делается и в случае необходимости оперативно восстановили базу, путем простого запуска батника, так как через графический интерфейс, согласитесь, займет немного больше времени.

Итак, приступим, если Вы помните, что при архивации использовалась утилита pg_dump.exe, то при восстановлении используется утилита pg_restore.exe

Примечание! Как и при создании архива, в качестве примера мы использовали локальный сервер PostgreSQL 8.4, на Windows 7, так и сегодня мы будем использовать именно данные версии СУБД и ОС.

Восстанавливаем базу через pgAdmin

Открываем pgAdmin, подключаемся к серверу, выбираем правой кнопкой мыши базу, и щелкаем «Восстановить»

Читать еще:  Как защитить свои данные в сети. Прокси-сервер

Затем открывается окно восстановления базы, где Вы можете задать параметры восстановления, в частности выбрать архив, я здесь поставил галочку «Очистить перед восстановлением» так как если ее не ставить достаточно часто база восстанавливается с ошибкой (но все равно восстанавливается), и жмем «ОК»

После Вам останется, дождаться восстановления и нажать кнопку «Завершить»

Восстанавливаем базу с помощью батника

Для этого открываем блокнот (удобней Notepad++) и вставляем в него следующие команды (символ ^ это перенос строки):

Где, не трудно догадаться первая строка это запуск утилиты, вторая это подключение к серверу, третья выбор базы для восстановления, параметры восстановления и соответственно из чего это все восстанавливать. Только одно замечание, при восстановлении проверьте путь к архиву, т.е. необходимо выбрать актуальный архив на момент восстановления, чтобы не получилось ситуации, когда Вы якобы восстановили базу, только скажем прошлогодней версии, а пользователи смотрят и удивляются:)

Нам останется только сохранить этот текстовый документ с расширением .bat и проверить его работу.

Как видите, восстанавливать базу не так страшно как кажется.

На сегодня все, в следующих статьях мы будем рассматривать, как можно создавать и восстанавливать backup базы данных, но только уже на СУБД MSSql 2008.

Как восстановить данные PostgreSQL
из резервной копии

Как и всё, что содержит важные данные, базы данных PostgreSQL следует регулярно сохранять в резервной копии. В Effector Saver реализовано резервное копирование баз PostgreSQL сервера, обеспечивающее надёжное хранение и быстрое восстановление данных.

Тип задачи «Резервное копирование файлов и баз данных» позволяет сделать корректную копию СУБД, не прерывая работу пользователей. Подробнее о задаче «Резервное копирование файлов и баз данных» в справке программы: «О задаче Резервное копирование файлов и баз данных».

Читать еще:  Как восстановить контакты на сим карте?

В данной статье подробно рассмотрим как восстановить данные PostgreSQL из резервной копии.

Effector saver сохраняет резервные копии PostgreSQL в архивах Zip и 7-Zip. Поэтому, перед восстановлением данных PostgreSQL, распакуйте подлежащую восстановлению резервную копию.

В Браузере объектов разверните дерево «Серверы». Нажмите правой кнопкой мыши по узлу «Базы данных» и выберите «Новая база данных…».

Откроется окно создания новой базы данных.

Во вкладке «Свойства» в поле «Имя», введите наименование новой базы, все остальные поля оставьте без изменений. Нажмите «ОК».

После, раскройте узел «Базы данных» и выберите ранее созданную базу данных, нажмите по ней правой кнопкой мыши и в появившемся контекстном меню выберете «Восстановить…».

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

На вкладке «Файл» нажмите на кнопку обзора (…), после чего откроется диалоговое окно «Выберите имя выходного файла». Выберите файл резервной копии и нажмите кнопку «Открыть».

Оставьте все параметры восстановления как есть и нажмите «Восстановить». Запустится процесс восстановления базы данных.

После того, как процесс по восстановлению будет удачно завершен, нажмите «Завершено».

Backup restore postgresql базы данных с pg_dump

pg_dump – это утилита позволяющая делать бэкап базы данных из postgresql. Она сохраняет в файл набор SQL команд которые полностью воссоздают структуру исходной базы данных. Для последующего восстановления из подобного файла достаточно psql которая почти всегда идет в комплекте с самим postgresql.

С помощью pg_dump, вы можете сделать бэкап базы данных в текущий момент времени, и в дальнейшнейм развернуть его без каких либо проблем. Для тех, кто раньше работал с mysql, pg_dump может показаться весьма знакомым. С mysql в поставке идет аналогичная утилита под названием mysqldump .

Читать еще:  Программа восстановления документов doc в убунту. Как восстановить удаленные файлы на Linux

В этой небольшой статье мы рассмотрим несколько полезных примеров использования pg_dump.

Резервное копирование базы данных

Бэкап одной базы данных

В примере ниже, мы сделаем резервную копию базы данных под названием thebosharu , принадлежащей пользователю bosha и сохраним её в файл thebosharu.sql :

Если вы работаете с базой данных не под тем же пользователем, под которым работаете в системе, то pg_dump спросит пароль к базе данных и после его успешного ввода создаст указанный файл содержащий SQL команды для создания необходимой структуры и копирования данных.

Вот часть дампа моей базы данных, чтобы вы понимали что в нем находится:

Так же можно передать ключ –format=t , чтобы pg_dump запаковал базу данных в tar:

Бэкап всех баз данных

Для того, чтобы сделать резервную копию всех баз данных, нужно использовать другую утилиту – pg_dumpall.

Права доступа могут быть настроены у всех по разному, поэтому бэкап всех баз данных лучше делать из под пользователя postgres .

Бэкап всех баз данных будет содержаться в файле all_databases.sql .

Крайне желательно убедится, что все нужные базы данных были копированы. Для этого все из под того же пользователя postgres посмотрим список всех баз данных:

В моем случае было три базы данных:

Теперь удостоверимся, что все перечисленные базы попали в дамп:

Бэкап определенной таблицы

Для бэкапа определенной таблицы используется параметр –table и следом за ним названием таблицы. Если в базе данных указанная таблица есть в разных схемах, то её можно указать используя параметр –schema .

Восстановление из бэкапа

Восстановление одной базы данных

В процессе восстановления из резервной копии, могут возникнуть ошибки и предупреждения. Их можно игнорировать:

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: