Создание резервной копии PostgreSQL - pg_dump

Создание резервной копии PostgreSQL - pg_dump

Коллеги всем привет.

В сегодняшней статье мы поговорим о том как с помощью утилиты pg_dump можно создавать резервные копии базы данных в PostgreSQL. pg_dump может создавать копию базы данных даже когда база параллельно используется и она не будет мешать другим пользователям при выполнении каких-то запросов. Утилита pg_dump может выгружать только одну базу данных, она не выгружает глобальные объекты такие как учетные записи и табличные пространства. Для того чтобы выгружались глобальные объекты и учетные записи то нужно использовать другую утилиту под названием pg_dumpall. Об утилите pg_dumpall я буду рассказывать в других статьях.

 

Содержание статьи:

  1. Создаем директорию для резервных копий.
  2. Примеры создания резервной копии базы данных.

 

1. Создаем директорию для резервных копий.

Моя вам рекомендация всегда создавать резервные копии базы данных PostgreSQL недалеко от самой базы данных. У меня база данных находится по пути /app/postgresql, и по этому я создам директорию для резервных копий рядом и назову директорию postgresql_backup.

$. mkdir -p /app/postgresql_backup

И не забываем сделать владельца директории postgres. ЭТО ВАЖНО!

$. chown -R postgres:postgres /app/postgresql_backup


 

2. Примеры создания резервной копии базы данных.

2.1. Самый простой вариант создания резервной копии базы данных demo.

$. pg_dump --dbname=demo --file=/app/postgresql_backup/backup_demo.sql

postgresql_pg_dump

 

2.2. Создания резервной копии из-под другого пользователя и запрашивать пароль на авторизацию.

$. pg_dump -U postgres -W --dbname=demo --file=/app/postgresql_backup/backup_demo.sql

postgresql_pg_dump

 

2.3. Выполнить резервную копию базы данных на удаленном сервере.

$. pg_dump -h 192.168.4.10 --dbname=demo --file=/app/postgresql_backup/backup_demo.sql

postgresql_pg_dump

 

2.4. Создать резервную копию в виде архива.

$. pg_dump -Ft --dbname=demo --file=/app/postgresql_backup/backup_demo.tar

postgresql_pg_dump

 

2.5. Создать резервную копию только самой структуры базы данных без данных.

$. pg_dump --schema-only --dbname=demo --file=/app/postgresql_backup/backup_demo.sql

postgresql_pg_dump

 

2.6. Создать резервную копию только данных без самой структуры.

$. pg_dump --data-only --dbname=demo --file=/app/postgresql_backup/backup_demo.sql

postgresql_pg_dump

 

2.7. Включить подробный режим при выполнении резервной копии.

$. pg_dump --verbose --data-only --dbname=demo --file=/app/postgresql_backup/backup_demo.sql

postgresql_pg_dump


 

Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.

ПОХОЖИЕ СТАТЬИ

PostgreSQL - Как определить к каким файлам на диске соответствуют таблицы в базе данных
PostgreSQL - Как определить к каким файлам на диске соответствуют таблицы в базе данных
POSTGRESQL
Читать далее
PostgreSQL - Как узнать размер таблиц в базе данных
PostgreSQL - Как узнать размер таблиц в базе данных
POSTGRESQL
Читать далее
PostgreSQL - Как проверить привилегии пользователя
PostgreSQL - Как проверить привилегии пользователя
POSTGRESQL
Читать далее