Детали PostgreSQL

Привет,

Меня интересует, как получить доступ к данным PostgreSQL? Например, где можно увидеть пароль и имя пользователя? Остальное я, конечно, знаю.

Посмотрите эту тему: примерно на середине вы найдете серию команд, которые вам нужны:

Я не думал, что получение пароля и имени пользователя будет настолько сложным делом, lol

Предполагая, что у вас установлена стандартная версия Discourse в Docker, вы можете подключиться к базе данных PostgreSQL от имени пользователя postgres. Пароль не требуется:

cd /var/discourse
./launcher enter app
su postgres
psql
\c discourse

Если вы хотите вывести список всех пользователей, выполните команду \du.

Я хотел получить доступ через десктопное приложение, например DBeaver, поэтому меня это интересовало. Очевидно, я не хочу принудительно менять пароль пользователя, так как это нарушит работу сообщества.

Никогда раньше не использовал DBeaver, но, думаю, он должен работать с пустым паролем Connection without password is not supported · Issue #6269 · dbeaver/dbeaver · GitHub

Хм, это может сработать, но я также получил сообщение «FATAL: password authentication failed for user “discourse”»

Попробуйте использовать postgres в качестве имени пользователя.

                                   Список ролей
 Имя роли  |                         Атрибуты                         | Член группы
-----------+------------------------------------------------------------+-----------
 discourse |                                                            | {}
 postgres  | Суперпользователь, Создание роли, Создание БД, Репликация, Обход RLS | {}

Это должна быть роль discourse, но тогда проблема должна быть связана с аутентификацией.

Мы настраиваем базу данных так, чтобы она доверяла и разрешала подключения с того же IP-адреса без пароля, поэтому найти пароль невозможно.

Если у вас стандартная установка Discourse, вам потребуется:

  • изменить конфигурацию app.yml, чтобы открыть порт 5432 для внешнего мира

  • создать новую пару имя пользователя/пароль с правами на чтение таблиц, которые вам нужны

Да, порт изначально был указан правильно.

Эм, не знаю, почему я не подумал о новом пользователе, лол. Сработало. Спасибо.

Рассмотрите плагин «Data Explorer» — это гораздо проще!

Я понял вашу идею. Причина, по которой я выбрал DBeaver, заключается в том, что я работаю с базами данных не только Discourse, поэтому я решил поступить именно так.

Конечно, это вполне логично. Я бы поступил так же, если бы не стал лучше разбираться в экосистеме Discourse.