Вот пример скрипта для бэкапа баз данных в PostgreSQL:
sql
-- Установите необходимые параметры
DO $$
DECLARE
db_name TEXT;
backup_path TEXT := '/path/to/backup/';
backup_file TEXT;
BEGIN
-- Получаем список баз данных
FOR db_name IN SELECT datname FROM pg_database WHERE datistemplate = false LOOP
-- Формируем имя файла для бэкапа
backup_file := backup_path || db_name || '_' || to_char(current_timestamp, 'YYYYMMDD_HH24MISS') || '.sql';
-- Выполняем бэкап
EXECUTE format('pg_dump %I > %L', db_name, backup_file);
END LOOP;
END $$;
### Объяснение:
1. **Параметры**: Установите путь к папке, где будут храниться бэкапы.
2. **Цикл**: Скрипт проходит по всем базам данных, исключая шаблоны.
3. **Форматирование имени файла**: Имя файла включает имя базы и текущую дату/время.
4. **Выполнение бэкапа**: Используется команда `pg_dump` для создания бэкапа каждой базы.
Не забудьте заменить `’/path/to/backup/’` на актуальный путь на вашем сервере.