Створення резервної копії 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
Читати далі