Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Резервное копирование и восстановление
Руководство администратора по PostgreSQL
Предыдущий Глава 11. Управление базой данных Следующий

Резервное копирование и восстановление

Предупреждение

Для каждой базы данных необходимо делать резервное копирование на регулярной основе. Т.к. Postgres сам управляет своими файлами в файловой системе, то не благоразумно полагаться на системное резервное копирование файловой системы для резервного копирования баз данных; она не гарантирует, что файлы останутся рабочими после восстановления.

Postgres обеспечивает две утилиты для резервного копирования системы: pg_dump для резервного копирования индивидуальных баз данных и pg_dumpall для резервного копирования установки за один шаг.

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

% pg_dump dbname > dbname.pgdump
и восстановить с помощью
cat dbname.pgdump | psql dbname

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

Огромные базы данных

Автор: Написано Hannu Krosing в 1999-06-19.

Т.к. Postgres позволяет таблицы больше чем максимальный размер файла в системе, может быть проблематично сбросить таблицу в файл, вероятно, что результирующий файл окажется больше, чем максимальный размер файла, разрешенной в системе.

Так как pg_dump пишет в stdout, ты можешь использовать стандартные утилиты *nix для работы над этой возможной проблемой:

  • Используй сжатие при сбросе:
    % pg_dump dbname | gzip > filename.dump.gz
    
    восстановив с помощью
    % createdb dbname
    % gunzip -c filename.dump.gz | psql dbname
    
    или
    
    % cat filename.dump.gz | gunzip | psql dbname
    
  • Используй разбиение:
    % pg_dump dbname | split -b 1m - filename.dump.
    
    восстановив с помощью
    
    % createdb dbname
    % cat filename.dump.* | pgsql dbname
    

Конечно, имя файла (filename) и содержимое вывода pg_dump не нужно сравнивать с именем базы данных. Также, восстановленная база данных может иметь произвольное новое имя, так что этот механизм также подходит для переименования базы данных.


Предыдущий Начало Следующий
Уничтожение базы данных В начало главы Поиск неисправностей


  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2021
    Реклама на сайте