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

  • Последнее обновление: 3 Апреля 2024 г.
  • Просмотры: 29
  • Автор: Админ
Создание резервной копии 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 как установить часовый пояс Time Zone
Postgresql - Список пользователей
PostgreSQL изменить порт подключения 5432
Скачать и установить Postgresql 14 на Linux CentOS/RHEL 8/7 TAR