Полная версия

OSS Group


Авторизация

  

Навигация

Текущее местоположение:  OSS Group :: Wiki :: Admin :: Резервное копирование баз PostgreSQL
Главное меню:   Главная   Документация   Разработка   Контакты   Поиск   Карта сайта   Wiki   Блоги
Разделы Wiki:   Admin  APT  Sandbox

Резервное копирование баз 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  Все версии


  Не показывать комментарии


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



Быстрый поиск по Wiki:
И ИЛИ

На эту страницу ссылаются:

©2006-2024 OSS Group. All rights reserved. | Техническая поддержка: Открытые Информационные Технологии и Системы