Для создания резервной копии базы данных форума на движке 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.