Для резервного копирования баз данных PostgreSQL в Linux используйте утилиты pg_dump, pg_dumpall и pg_basebackup. Ниже — подробные инструкции. Базовый синтаксис: pg_dump <опции> <имя_базы> > <путь_к_файлу> Примеры: Форматы дампа (опция -F): Пример бинарного дампа: pg_dump -Fc mydb -f /backups/mydb.backup Создаёт дамп всех баз данных, ролей и табличных пространств. Синтаксис: pg_dumpall <опции> > <путь_к_файлу> Примеры: Создаёт полную копию файлов кластера (включая данные и конфигурацию). Нельзя выгрузить отдельную базу — только весь кластер. Синтаксис: pg_basebackup <опции> -D <каталог_назначения> Примеры: Требования: Пример скрипта для ежедневного бэкапа одной базы (/scripts/postgresql_dump.sh): #!/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
PGPASSWORD=your_password
export PGPASSWORD
pathB=/backups
dbUser=backup_user
database=mydb
# Удаление старых копий (старше 61 дня)
find $pathB \( -name "*-1[^5].*" -o -name "*-[023]?.*" \) -ctime +61 -delete