Configure Discourse to use a separate PostgreSQL server

Нет, сэр, нет проблем. Спасибо за информацию.

В моём случае это произошло потому, что я использовал scram-sha-256, а не trust в качестве механизма аутентификации. Поскольку scram-sha-256 требует наличия физического пользователя. Вы, вероятно, можете обойти это, создав карту пользователей в файле pg_ident.conf, но я не уверен, как именно это сделать.

Если под «физическим пользователем» вы имеете в виду «пользователя системы Unix», то нет, scram-sha-256 не требует настройки такого пользователя в системе. Метод peer требует наличия системного пользователя, а trust — это в целом ужасная идея, особенно при использовании удалённого сервера базы данных.

1 лайк

Добавлять ли нам следующее в дополнение к существующему процессу?

CREATE EXTENSION vector;

Поскольку я вижу это расширение в шаблоне postgres для discourse_docker?

Это используется основным плагином Discourse AI, поэтому он вам понадобится, если вы его используете.

Я не помню, чтобы включал этот плагин. На самом деле я только что проверил, что он отключён. Однако недавно, когда я пересобрал образ и последний коммит стал новее этого — GitHub - discourse/discourse at 0eab7daea450e1d7e416c46a23aaaf95687d4855 · GitHub, команда rake db:migrate начала выдавать ошибки. Если же я использовал коммит, предшествующий указанному выше, для начальной настройки, всё работало без проблем.

Теперь, когда я включил это расширение, коммиты, сделанные после этого, работают без сбоев.

1 лайк

Но теперь плагин AI встроен в ядро, поэтому вам всё равно понадобится расширение, независимо от того, используете ли вы плагин AI (или специально удаляете его), верно?

1 лайк

Да, это верно, так как миграции выполняются независимо от включения плагина.

2 лайка

При использовании управляемого сервера PostgreSQL от имени несуперпользователя миграция базы данных завершится ошибкой на шаге EnablePgVectorExtension (‘20230710171141’), даже если расширение vector было добавлено в базу данных вручную. Существует ли способ отключить этот шаг миграции или добавить проверку на наличие vector?

Причина:
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ОШИБКА: поскольку vector не является доверенным расширением, использовать CREATE EXTENSION vector могут только члены группы “azure_pg_admin” (ActiveRecord::StatementInvalid)
СОВЕТ: чтобы узнать, как разрешить использование расширения, или просмотреть список разрешенных расширений, обратитесь к документации по ссылке Considerations with the Use of Extensions and Modules - Azure Database for PostgreSQL | Microsoft Learn

Мы объединили PR для решения этой проблемы в прошлом месяце. У вас установлена последняя версия?

1 лайк

Спасибо! Я использую образ Docker discourse/discourse:3.5.3. Не уверен, включает ли он последний PR? (Редакция: Релиз v2025.12.0 включает PR и работает с базой данных Azure)

1 лайк