Как сделать резервную копию базы данных Discourse с командной строки

Для создания резервной копии базы данных форума на движке Discourse можно использовать стандартный для PostgreSQL инструмерт pg_dump.

Шаг 1.

Настройте доступ к базе данных Discourse.

Шаг 2.

Установите pg_dump.

Конечно, pg_dump уже установлен внутри виртуальной машины, но мне удобней работать с базой данных Discourse не залезая лишний раз в виртуальную машину.

Обратите внимание, что для создания резервных копий базы данных форума Вам не нужно устанавливать сервер PostgreSQL, достаточно установить клиентские программы.

В Debian / Ubuntu установить клиентские программы PostgreSQL можно командой:

aptitude install postgresql-client

Шаг 3.

Теперь надо настроить авторизацию в PostgreSQL.
В отличие от mysqldump, pg_dump не позволяет указывать пароль с командной строки, поэтому авторизация проводится другими способами.
Я рекомендую авторизоваться постредством файла .pgpass.
Надо создать этот файл и поместить в домашнюю папку.
В файле достаточно одной строчки:

localhost:*:discourse:postgres:<password>

Как получить пароль к Discourse, смотрите в инструкции по получению доступа к базе данных Discourse.
Установите для .pgpass права 0600 (этот означает, что Вы сможете читать и менять этот файл, а другие не будут иметь к нему доступа).

Шаг 4.

Ну вот, теперь запустите pg_dump:

pg_dump --clean --create --schema=public --no-owner --no-privileges --host=localhost --port=<port> --username=postgres discourse > <filename>.sql

Вместо <port> укажите порт, который Вы настраивали в файле YML).
Вместо <filename> укажите имя файла для резервной копии базы данных Discourse.