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

Данный урок посвящен архивированию базы данных СУБД PostgreSQL или, проще говоря «Созданию Backup базы». Сегодня мы научимся создавать архивы двумя способами это через графический интерфейс pgAdmin и через командную строку.

В последнее время мы стали больше время уделять SQL серверу от Microsoft, но PostgreSQL остается также популярен, поэтому мы возвращаемся к нему и будем рассматривать одну из главных задач системных администраторов это архивирование базы. Почему из главных задач, да потому что если у Вас накроется сервер или просто Вы сами случайно что-то натворите в базе (к примеру удалите ее:)) и у Вас не будет архива то пиши пропало, в общем это не есть хорошо.

Если говорить о MSSql то на этом сайте уже затрагивалась тема восстановления базы в статье Как восстановить базу данных из архива — MS SQL Server 2000.

Также хотелось бы посоветовать Вам, всегда делать архивы практически всего, и баз, и файлов пользователей на файловом сервере, и перед внесением изменений в реестр Windows также резервировать ветки реестра, так как этим Вы себя обезопасите от всех нежелательных последствий, так как в случае чего Вы всегда можете вернуть все на место.

Примечание! Все примеры будут выполняться на локальном сервере под управлением операционной системе Windows 7 профессиональная. Версия PostgreSQL 8.4. Версия pgAdmin 1.10.1.

Как уже было отмечено ранее, мы научимся создавать backup базы двумя способами, их отличия лишь в том, что через графический интерфейс Вы будете действовать мышкой, а через командную строку будете писать команды вручную на клавиатуре, а весь остальной принцип абсолютно одинаковый, так как все будет выполняться через специальную утилиту pg_dump.exe которая входит в пакет приложений PostgreSQL. Ну что давайте приступать.

Создаем архив базы через графический интерфейс pgAdmin

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

Открываем pgAdmin, подключаемся к серверу, плюсиком раскрываем базы, и выбираем правой кнопкой мыши ту базу, которую хотим заархивировать (в нашем случае test), и жмем «Резервная копия»

Скриншот 1

Затем у Вас откроется окно, где Вы можете задать настройки backup, я выставил следующие настройки, в принципе эти настройки по умолчанию, единственное необходимо выбрать папку, т.е. задать путь к ней, в которую будет создаваться архив нашей базы данных, для примера я ввел диск C папка temp и задать имя будущего архива, я назвал test_ backup. Далее жмем «ОК»

Скриншот 2

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

Скриншот 3

Создаем архив базы через командную строку

Данный способ понадобится Вам в случае быстрого запуска процесса архивирования и для автоматизации этого процесса, путем написания батника и создания задания в «Планировщике заданий». Поэтому еще раз запускать эту команду не будем через командную строку, а сразу напишем батник. Что это такое можете почитать в статье – Написание bat файлов — Примеры батников.

Для этого мы просто скопируем ту строку, которая показана на предыдущем скриншоте, но с небольшими изменениями, а именно, мы путь к pg_dump.exe напишем с кавычками, так как в данном пути присутствуют папки с названием из двух слов с пробелами (Program Files) и для того чтобы потом отличать этот архив от других, предполагается, что допустим он должен выполняться ежедневно, добавим к названию нашего архива текущую дату, используя системную переменную %date%. В итоге у нас должно получиться вот так:

 "C:/Program Files/PostgreSQL/8.4/bin\pg_dump.exe" ^
 --host localhost --port 5432 --username postgres ^
 --format custom --blobs --verbose --file "C:\temp\%date%_test_backup.backup" test

Сразу скажу, чтобы не было вопросов, последний символ (^) в первых двух строках это перенос строки, я сделал это для удобства, что бы строки были по короче, а Вы в свою очередь можете оставить как есть или просто удалить эти символы, да, кстати, возьмите себе на вооружение данный символ переноса строки, иногда бывает полезен, как в данном случае.

Остальное я думаю все понятно, сначала мы запускаем специальную утилиту (первая строка), затем подключаемся к серверу (host, port, username – вторая строка) и в третей строке мы уже создаем backup с параметрами, указываем путь, название архива и только в самом конце название базы данных которую необходимо заархивировать (test).

Теперь все это копируем в блокнот, советую пользоваться Notepad++, и сохраняем с любым названием, но с расширением .bat, т.е. командный файл. И все, теперь, для ежедневного автоматического создания архива настраиваете, планировщик Windows и у Вас каждый день будет создаваться backup.

На сегодня это все, ничего сложного в создании архива базы PostgreSQL нет, поэтому проблем возникнуть не должно. Удачи!

Понравилась статья? Поделиться с друзьями:
Заметки IT специалиста
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку «Отправить комментарий», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.