Створення резервної копії PostgreSQL - pg_dump
Колеги всім привіт.
У сьогоднішній статті ми поговоримо про те, як за допомогою утиліти pg_dump можна створювати резервні копії бази даних у PostgreSQL. pg_dump може створювати копію бази даних навіть коли база паралельно використовується і вона не буде заважати іншим користувачам при виконанні якихось запитів. Утиліта pg_dump може вивантажувати лише одну базу даних, вона не вивантажує глобальні об'єкти такі як облікові записи та табличні простори. Для того щоб вивантажувалися глобальні об'єкти та облікові записи, то потрібно використовувати іншу утиліту під назвою pg_dumpall. Про утиліту pg_dumpall я розповідатиму в інших статтях.
Зміст статті:
- Створюємо директорію для резервних копій.
- Приклади створення резервної копії бази даних.
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
2.2. Створення резервної копії з-під іншого користувача та запитувати пароль на авторизацію.
$. pg_dump -U postgres -W --dbname=demo --file=/app/postgresql_backup/backup_demo.sql
2.3. Виконати резервну копію бази даних на віддаленому сервері.
$. pg_dump -h 192.168.4.10 --dbname=demo --file=/app/postgresql_backup/backup_demo.sql
2.4. Створити резервну копію у вигляді архіву.
$. pg_dump -Ft --dbname=demo --file=/app/postgresql_backup/backup_demo.tar
2.5. Створити резервну копію лише самої структури бази даних без даних.
$. pg_dump --schema-only --dbname=demo --file=/app/postgresql_backup/backup_demo.sql
2.6. Створити резервну копію лише даних без структури.
$. pg_dump --data-only --dbname=demo --file=/app/postgresql_backup/backup_demo.sql
2.7. Включити докладний режим під час виконання резервної копії.
$. pg_dump --verbose --data-only --dbname=demo --file=/app/postgresql_backup/backup_demo.sql
Всім дякую, я сподіваюся, що вам моя стаття хоч чимось допомогла.