• Быстрый переход
  • Рубрики
  • Свежие записи
  • Метки
  • Архивы
  • Реклама 1
  • Реклама 2
  • Рейтинг@Mail.ru

    Добро пожаловать! Ваш IP-адрес: ec2-54-92-160-119.compute-1.amazonaws.com

    Резервное копирование postgre

    Резервное копирование и Восстановление базы данных Postgre

    В поставку PostgreSQL сервера входят утилиты для резервного копирования, и восстановления из резервной копии базы данных: pg_dump и pg_restore.
    Резервное копирование базы Postgre (pg_dump)
    Используем pg_dump для резервного копирования базы данных с именем «Test». pg_dump позволяет делать как текстовые, так и сжатые архивы вашей БД.
    Дамп с сжатием:
    #pg_dump –Fc –U postgres "Имя базы данных" > *.back.tgz
    Где:
    postgres – имя пользователя базы данных.
    «Имя базы данных» – имя базы данных на вашем сервере.
    *.back – имя конечного файла содержащего дамп.
    Текстовый дамп:
    # pg_dump –Fе –U postgres "Имя базы данных" > *.sql
    Где:
    postgres – имя пользователя базы данных.
    «Имя базы данных» – имя базы данных на вашем сервере.
    *.sql – имя конечного файла содержащего дамп в текстовом формате.

    Восстановление базы данных из архивной копии. (pg_restore)
    Восстановление базы данных postgre производится при помощи утилиты pg_restore. Для ее использования нужно указать Имя пользователя сервера БД, имя базы данных и имя файла с вашим дампом:
    # pg_restore –U ИМЯ ПОЛЬЗОВАТЕЛЯ БД –d ИМЯ БАЗЫ ДАННЫХ –v ПУТЬ К ВАШЕМУ ДАМПУ.
    Например:
    Имя пользователя postgres.
    Имя базы данных Test.
    Имя файла dump.back.
    # pg_restore –U postgres –d Test –v dump.back
    Создадим небольшой скрпит для автоматического архивирования базы данных postgreSQL. В имени архивной копии будем использовать текущее число, что бы по названию можно было определить дату архива.

    |BackUpDir="/home/melfis/dump/" // Директория для хранения бэкапов
    |DateName=`date +%d.%m.%Y-%H.%M` //Получаем дату для имени файла
    |cd $BackUpDir //Переходим в директорию с бэкапами
    |echo Начато резервное копирование базы данных
    |pg_dump -Fc -U postgres "Test" > $DateName.Test.backup //Делаем бэкап
    |echo Резервное копирование завершено нажмите любую клавишу.
    |read x

    Сделайте скрипт исполняемым, и добавьте его в cron. В результате выполнения этого кода в директории находящейся в переменной BackUpDir будет создана сжатая архивная копия вашей базы данных.
    При создании резервной копии с ключом -t, будет создана текстовая резервная копия. Она занимает намного больше места, но удобна тем что SQL код поддается редактированию.