Правой кнопкой мыши по базе данных «сlubis» вызываем контекстное меню и выбираем пункт «Резервная копия/Backup»

На вкладке «Общие/General» задаём в «Имя файла/Filename» путь и указываем имя с расширением backup, формат "Настраиваемый/Специальный/Custom". Другие пункты не трогаем, не выбирать ничего.

Если в базе нет схемы «fias», то нажимаем кнопку "Резервная копия/Backup".
Если в базе существует схема «fias» то переходим на вкладку «Объекты/Objects», ставим галки на всех схемах, кроме схемы «fias». Нажимаем кнопку "Резервная копия/Backup".

Ждем появления окна в правом нижнем углу с текстом Processes completed, что означает успешное завершение процесса.

Также по нажатию на кнопку View Processes можно перейти в список процессов и рядом с нужным нажать на кнопку View Details для просмотра лога.
Можно создать скрипт (например clubis_fitness_db_backup.cmd), имеющий примерно такое содержимое:
@echo off
set bin="C:\Program Files\PostgreSQL\[версия PostgreSQL]\bin\pg_dump.exe"
set host="192.168.1.1"
set user="postgres"
set backdir=d:\backup\clubis_fitness_db\
%bin% --host %host% --port 5432 --username %user% --format custom --blobs --exclude-schema=fias --verbose --file "%backdir%clubis_fitness_db_%DATE:~-4,4%-%DATE:~-7,2%-%DATE:~-10,2%_%TIME:~-11,2%-%TIME:~-8,2%.backup" clubis
Переменные в начале скрипта нужно подправить под свои параметры. Что-бы не запрашивало пароль, есть 2 варианта:
1. Пароль должен храниться в %AppData%\postgresql\pgpass.conf с содержимым в формате host:port:*:user:password (создаётся автоматически при сохранении пароля в PgAdmin III). Нужно учесть, что localhost, 127.0.0.1 и прочие, по сути разные имена одного компьютера, для pg_dump являются разными, тоесть если в pgpass прописан пароль для хоста 127.0.0.1, а в скрипте хост localhost, то пароль не будет распознан.
2. Добавить строчку в скрипт в блок ко всем set'ам.
set PGPASSWORD=пароль
Пароль задаётся без кавычек
Автоматически скрипт можно запускать с помощью "Планировщика задач Windows".
Для удаления старых резервных копий можно добавить в конец скрипта строчку:
PushD %backdir% &&(forfiles /s /m *.backup /d -30 /c "cmd /c del @path /q")& PopD
В данном примере будут удаляться резервные копии старше 30 дней.
Пример скрипта, исключающий из копии ФИАС, файлы и фото. Путь, хост, порт и назначение могут отличаться.
@echo off
set bin="C:\Program Files\PostgreSQL\[версия PostgreSQL]\bin\pg_dump.exe"
set host="192.168.1.1"
set user="postgres"
set backdir=d:\backup\clubis_fitness_db\
%bin% --host %host% --port 5432 --username %user% --format custom --exclude-schema=fias --exclude-schema=photo --exclude-table=archive.email --exclude-table=public.email_attachments --exclude-table=public.sender_items --exclude-table=public.program_update_files --no-blobs --verbose --file "%backdir%clubis_fitness_support_%DATE:~-4,4%-%DATE:~-7,2%-%DATE:~-10,2%_%TIME:~-11,2%-%TIME:~-8,2%.backup" clubis
Название базы - последнее слово в скрипте, тоже может отличаться.
Чтобы выгрузить не всю базу данных, а отдельную таблицу - выберите именно нужную таблицу правой кнопкой мыши, далее Резервное копирование.

Можно создать скрипт (например clubis_fitness_db_backup.sh), имеющий примерно такое содержимое:
#!/bin/bash
BACKDIR="/var/backups/clubis"
FILENAME="$BACKDIR/db`date +%F_%H-%M-%S`.backup"
/usr/bin/pg_dump --host localhost --port 5432 --username "postgres" --format custom --blobs --exclude-schema=fias --file $FILENAME clubis
find $BACKDIR -type f -mtime +21 -exec rm -f {} \; # удаляем бэкапы старше 21 дня
Переменные в начале скрипта нужно подправить под свои параметры. Пароль должен храниться в ~/.pgpass с содержимым в формате host:port:*:user:password (создаётся автоматически при сохранении пароля в PgAdmin III). Автоматически скрипт можно запускать с помощью cron. Нужно учесть, что localhost, 127.0.0.1 и прочие, по сути разные имена одного компьютера, для pg_dump являются разными, тоесть если в pgpass прописан пароль для хоста 127.0.0.1, а в скрипте хост localhost, то пароль не будет распознан.
Для восстановления из резервной копии нужно создать новую базу данных. Нельзя восстанавливать резервную копию в базу более одного раза (за исключением резервной копии с ФИАС). При каждом восстановлении из резервной копии обязательно создается новая база данных.
Правой кнопкой мыши по разделу «Базы данных/Databases» вызываем контекстное меню и выбираем пункт «Новая база данных/Create>Database».

На вкладке «Свойства/General» задаём имя базы «clubis» и выбираем владельца/owner «clubis». Нажимаем кнопку OK.

Правой кнопкой мыши по базе данных вызываем контекстное меню и выбираем пункт «Создать>Расширение/Create>Extension».

Выбираем расширение ltree. Нажимаем кнопку OK.

Правой кнопкой мыши по базе данных «clubis» вызываем контекстное меню и выбираем пункт «Восстановить/Restore». Выбираем файл с резервной копией *.backup. Нажимаем кнопку «Восстановить/Restore».
Важно. Ни в коем случае в диалоге восстановления не выбирайте "Имя роли"! Все операции должны проводиться только от роли суперпользователя "postgres", роль "clubis" не имеет достаточных прав!


Надпись «Процесс вернул код выхода 0/Successfully Completed» означает успешное завершение процесса.
Важно. В работе PgAdmin 4 есть ошибка: окно process watcher отображается только если PgAdmin запущен на том же сервере, что и сервер PostgreSQL, то есть подключается локально. При подключении к удалённой БД при бэкапе и восстановлении окно process watcher не отображается — это не означает, что процесс не запущен или не выполняется.

Если в PgAdmin 4 при восстановлении выдается ошибка «Процесс вернул код выхода 1» и ошибка всего одна - схема public уже существует, то конфликтов не возникнет, означает успешное завершение процесса.
в начале
pg_restore: [archiver (db)] could not execute query: ОШИБКА: схема "public" уже существует
в конце
WARNING: errors ignored on restore: 1
Если менялось название базы, то в настройках подключения к базе нужно будет также его изменить.
