Убытки = (Средний доход в час) × (Время простоя) × (Коэф. репутационных потерь)
ROI систем бэкапа: 3-6 месяцев за счет предотвращения потерь
Логические дампы (pg_dump/pg_dumpall)
Базовый синтаксис (Linux):
# Для одной БД (custom-формат с сжатием)
pg_dump -U postgres -F c -Z 6 -f /backups/db_name.dump db_name
# Для всех БД (plain SQL)
pg_dumpall -U postgres --clean --file=/backups/full_dump.sql
Для windows (CMD/PowerShell):
# Дамп одной БД (custom-формат с сжатием)
pg_dump -U postgres -F c -Z 6 -f "C:\Backups\db_name.dump" db_name
# Дамп всех БД (plain SQL)
pg_dumpall -U postgres --clean --file="C:\Backups\full_dump.sql"
Параметры для больших БД
Linux:
# Параллельный дамп больших таблиц
pg_dump -j 8 -F d -f /backups/parallel_dump db_name
# Исключение таблиц >100GB
pg_dump --exclude-table-data='*.large_*' db_name
# Дамп только структуры
pg_dump --schema-only db_name
Для windows (CMD/PowerShell):
# Параллельный дамп (для формата directory)
pg_dump -j 4 -F d -f "C:\Backups\parallel" db_name
# Исключение таблиц (например, логов)
pg_dump --exclude-table-data='public.logs*' db_name
Восстановление
Linux:
# Из custom-формата
pg_restore -U postgres -d new_db /backups/db_name.dump
# Только конкретная таблица
pg_restore -t users -d db_name /backups/db_name.dump
Windows:
# Из custom-формата
pg_restore -U postgres -d new_db "C:\Backups\db_name.dump"
# Только схема (без данных)
pg_restore --schema-only -d db_name "C:\Backups\db_name.dump"