|
![]() |
|||||
OSS Group :: Admin :: Резервное копирование баз PostgreSQL |
||||||
|
Резервное копирование баз 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)) Не показывать комментарии Wiki::Admin Оглавление Карта раздела Изменения за сутки Изменения за неделю Изменения за месяц |
|
© 2006-2025 OSS Group. All rights reserved. | Техническая поддержка: Открытые Информационные Технологии и Системы
|
![Valid RSS feed [Valid RSS]](/files/ossg/images/banners/valid-rss-rogers.png)