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

26 января 2014 г. 17:55

Бекап базы данных

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

  1. Создание бекапа БД postgresql без пароля утилитой pg_dump.
  2. Написание скрипта, который создаёт бекап базы данных (с сжатием) картинкок.
  3. Добавление задания в cron.

Так как резервное копирование должно осуществляться периодически, например, каждый день, то необходимо сделать так, чтобы бекап происходил без пароля. На просторах интернета я наткнулся на примеры:

pg_dump -h localhost -p 5432 -U user_name -F c -b -v -f mydb.backup mydb
pg_dump -U user_name -F c -v -f /home/test_db.backup test_db

который из которых прекрасно делает бекап, но требует пароль.

Чтобы производился бекап без пароля, нужно в файле /etc/postgresql/9.1/main/pg_hba.conf найти строку local all all peer и значение peer заменить на trust:

local   all   all   trust

Теперь при выполнении команды:

pg_dump -U vivazzi -F c -f test_db.backup test_db

Всё должно заработать.

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

Чтобы восстановить базу данных, можно воспользоваться следующими командами:

pg_restore -U postgres -d project /path/to/db/
pg_restore --host localhost --port 5432 --username user --dbname test2 --verbose /home/test/db.backup
pg_restore --host 62.109.10.27 --port 5432 --username "user" --dbname "db_test" --no-password  --verbose "E:\db.backup"

Бекап и восстановление всех баз данных

Создание дампа всех баз данных:

pg_dumpall > output_file

Про pg_dumpall ещё можно почитать здесь: http://postgresql.ru.net/manual/backup-dump.html

Чтобы восстановить дамп всех баз данных, нужно зайти в pg_hba.conf (/etc/postgresql/9.1/main/pg_hba.conf) и поменять строчку local all postgres peer на:

local   all             postgres                                trust

Затем выполнить команду:

sudo psql -f path/to/db -U postgres postgres

Оцените статью

5 из 5 (всего 2 оценки)

Поля, отмеченные звёздочкой ( * ) , являются обязательными.

Спасибо за ваш отзыв!

После нажатия кнопки "Отправить" ваше сообщение будет доставлено мне на почту.

Автор статьи

Права на использование материала, расположенного на этой странице http://vivazzi.pro/it/backup-postgresql/:

Разрешается копировать материал с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Мальцев Артём
Ссылка на статью: <a href="http://vivazzi.pro/it/backup-postgresql/">http://vivazzi.pro/it/backup-postgresql/</a>

Подробнее: Правила использования сайта

Комментариев: 0

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

Чтобы оставить комментарий от своего имени войдите или зарегистрируйтесь обычным способом или через социальные сети:

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте