OSS Group OSS Group
>  Карта
>  Поиск
>  Контакты
>  OSS Group  ::  Admin  ::  Резервное копирование баз PostgreSQL
  
РегистрацияЗабыли пароль?

↓  Быстрый поиск по Wiki


Режим поиска:   И   ИЛИ

↓  Доступные Wiki

↓  Навигация по сайту

[]

↓  Последняя новость

Загрузка...
Get Firefox!
[~]

Резервное копирование баз PostgreSQL

Получение резервной копии баз PostgreSQL

Архивная копия всех баз установки PostgreSQL

Требуется: для резервного копирования, перед обновлением postgresql.

При возможности подсоединения к базам любым локальным пользователем:

psql -tl | \
grep -v 'template[01]' | \
perl -ne 'print "$1\000" if (/^\s*([^\s\|]+)\s*\|/);' | \
xargs -0i /bin/sh \
  -c "/usr/bin/pg_dump --format=c --oids --compress=0 -U postgres "{}" | \
        bzip2 > {}.pgdump-c.bz2"

В текущем каталоге создаются файлы *.pgdump-c.bz2, представляющие собой сжатый bzip2 дамп баз в формате PostgreSQL.

При невозможности подключения к базе произвольным пользователем:

/bin/su -l postgres -s /bin/bash -c '/usr/bin/psql -tl' | \
grep -v 'template[01]' | \
perl -ne 'print "$1\000" if (/^\s*([^\s\|]+)\s*\|/);' | \
xargs -0i /bin/su -l postgres -s /bin/bash \
  -c "/usr/bin/pg_dump --format=c --oids --compress=0 -U postgres "{}" > {}.pgdump"

Настоятельно рекомендуется также позаботиться о сохранении файла <db>/global/pg_auth.

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

Согласно сохранённым pg_pwd и pg_group создать пользователей базы:
выполнить

su -s /bin/bash -c createuser -l postgres

Затем подключиться к базе template1 и создать командами пользователей и группы:

CREATE USER uname 

После восстановления пользователей восстанавливаются

createdb -E KOI8-R <database>; pg_restore -d <database> <file>

или для всех баз:

for i in *.pgdump; do \
   dropdb `basename $i .pgdump`; \
   createdb -E KOI8-R `basename $i .pgdump`; \
   pg_restore -d `basename $i .pgdump` $i; done

Базы template0 и template1 - системные, восстановлению не подлежат. Указывать кодировку базы при её создании обязательно.


Дата создания: 2006-05-24 11:24:41 (Фетисов Н. А. (naf))
Последнее изменение: 2007-04-17 16:50:57 (Фетисов Н. А. (naf))
Владелец: Фетисов Н. А. (naf)
Версия: 3  Все версии


 Комментарии (0)


Wiki::Admin   Оглавление  Карта раздела  Изменения за сутки  Изменения за неделю  Изменения за месяц



Valid XHTML 1.0 Transitional  Valid CSS!  [Valid RSS]