TGViewer
CORTEL CORTEL @cortel_cloud · 4.07K subscribers
Post #2529 1.49K
🖥 Надёжный способ бэкапа PostgreSQL

pg_dump — утилита для создания логических бэкапов PostgreSQL.

В отличие от физического бэкапа, она выгружает объекты (схемы/данные) в переносимый вид. Дамп, как правило, корректно восстанавливается в такую же или более новую версию Postgres.

✅ Основные сценарии

Бэкап одной базы (plain SQL)

pg_dump mydb > backup.sql


Бэкап с компрессией «на лету» (для plain)

pg_dump mydb | gzip > backup.sql.gz


То же, но со встроенной компрессией (для custom/tar/directory)

pg_dump -Fc -Z 9 mydb > backup.dump


Только схема без данных:

pg_dump -s mydb > schema_only.sql
# или выборочно по схемам:
pg_dump -s -n public -N audit mydb > schema_public.sql


Бэкап конкретной таблицы:

pg_dump -t public.users mydb > users_backup.sql
# исключение таблиц:
pg_dump -T public.logs mydb > no_logs.sql


Параллельный бэкап (работает только с -Fd)

pg_dump -Fd /backups/mydb_$(date +%F) -j 4 mydb


Бэкап всего кластера (все БД + роли/табл.пространства)

pg_dumpall > all_databases.sql
# только «глобалы» (роли, табличные пространства):
pg_dumpall -g > globals.sql


Удаляем бэкапы старше 7 дней (недавний пост про find)

find /backups -type f -name "*.sql.gz" -mtime +7 -delete


👀 Дополнительно

-Fc — custom-формат: компактно, выборочное и параллельное восстановление через pg_restore.

-Fd — directory-формат: поддерживает параллельный дамп (-j) и гибкое восстановление.

--no-owner --no-privileges — удобно для переноса между серверами/окружениями.

--exclude-table-data=... — дамп схем без данных отдельных «тяжёлых» таблиц.

⚙️ pg_dump делает снапшот на момент старта дампа, поэтому данные консистентны даже при параллельных транзакциях. Это достигается через механизм MVCC PostgreSQL.
Необходимо учесть, что логические дампы не подходят для PITR — для этого нужны физические бэкапы + WAL.

🔘 Связка pg_dump(-Fc/-Fd) [| gzip] + find -delete — простой и надёжный пайплайн. Но периодически проверяйте восстановление на тестовом стенде и следите за версиями сервера/клиента.

#заметкиИнженера
  • 👍 20
  • 🔥 4
  • 👏 2
More from @cortel_cloud
  1. Oct 1, 2026🖥 sed — потоковый редактор текста в Linux 🤓 Появился в Bell Labs в 1970-х и до сих пор и…
  2. Sep 29, 2026🖥 РАЗНИЦА Block, File и Object Storage 🧑‍🎓Повторение — мать учения. Для разных задач по…
  3. Sep 25, 2026😎 Когнитивная РАЗгрузка За неделю с горящими дедлайнами, часовыми ВКС и постоянным перекл…
  4. Sep 23, 2026💻 kubectl diff: обработка изменений в CI/CD kubectl diff сравнивает текущую конфигурацию…
  5. Sep 18, 2026🛡 ДА! У НАС ЦЕЛАЯ ЧЕРЕДА ПОЛЕЗНЫХ ЭФИРОВ ПРО ИБ! 🎙 Уже 24 сентября Вероника Нечаева, выс…
  6. Sep 16, 2026👩‍💻 Работа с ПДн это непрерывный процесс. Компания меняется — появляются новые сервисы,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →