OSS Group :: Admin :: Резервное копирование баз PostgreSQL |
Быстрый поиск по WikiНавигация по сайтуНа эту страницу ссылаются: |
Резервное копирование баз 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-2024 OSS Group. All rights reserved. | Техническая поддержка: Открытые Информационные Технологии и Системы
|