Как сделать дамп базы данных PostgreSQL?



su - postgres
pg_dump DATABASE > FILENAME.pgsql

или

pg_dump --host=127.0.0.1 --username=postgres --password > FILENAME.pgsql
pg_dump --format=plain --host=127.0.0.1 --username=postgres --password > dump-$(date +"%Y-%m-%d_%H-%M").pgsql

Полный дамп

pg_dumpall --format=plain --host=127.0.0.1 --username=postgres --password > dump-$(date +"%Y-%m-%d_%H-%M").pgsql

Примечание: полный дамп базы данных будет спрашивать пароль для каждой базы. Можно (но нежелательно в целях безопасности) воспользоваться файлом ~/.pgpass

Формат файла ~/.pgpass

хост:порт:база:пользователь:пароль

Создать полный дамп без запроса пароля

pg_dumpall --format=plain --host=127.0.0.1 --username=postgres --no-password > dump-$(date +"%Y-%m-%d_%H-%M").pgsql