Configurer Discourse pour utiliser un serveur PostgreSQL séparé

Non monsieur, aucun problème. Merci pour l’info

Dans mon cas, c’était parce que j’avais scram-sha-256 et non trust comme mécanisme d’authentification.
Parce que scram-sha-256 nécessite un utilisateur physique.
Vous pourriez probablement contourner cela en créant une carte d’utilisateurs dans pg_ident.conf, mais je ne suis pas sûr de la manière.

Si par « utilisateur physique » vous entendez « utilisateur du système Unix », alors non, scram-sha-256 ne nécessite pas qu’un tel utilisateur soit configuré sur le système. La méthode peer requiert un utilisateur système, et trust est tout simplement une mauvaise idée dans l’ensemble lorsque vous utilisez un serveur de base de données distant.

1 « J'aime »

Devrons-nous inclure ceci en plus du processus existant ?

CREATE EXTENSION vector;

puisque je vois cette extension dans le modèle postgres discourse_docker ?

Ceci est utilisé par le plugin principal Discourse AI, vous en aurez donc besoin si vous l’utilisez.

Je ne me souviens pas avoir activé ce plugin. En fait, je viens de vérifier qu’il est désactivé. Mais récemment, lorsque j’ai reconstruit l’image, lorsque le dernier commit est allé au-delà de ce commit - GitHub - discourse/discourse at 0eab7daea450e1d7e416c46a23aaaf95687d4855, rake db:migrate a commencé à échouer. Lorsque j’ai utilisé le commit juste avant celui ci-dessus pour le bootstrap, cela a continué à fonctionner.

Maintenant que j’ai activé cette extension, les commits ultérieurs fonctionnent sans problème.

1 « J'aime »

Mais maintenant, le plugin IA est dans le cœur, donc vous avez besoin de l’extension, que vous utilisiez le plugin IA (ou que vous tentiez de le supprimer explicitement), n’est-ce pas ?

1 « J'aime »

Ah, c’est vrai, car les migrations sont exécutées indépendamment de l’activation du plugin.

2 « J'aime »

L’utilisation d’un serveur PostgreSQL géré en tant qu’utilisateur non superutilisateur entraînera l’échec de la migration de la base de données lors de l’étape EnablePgVectorExtension (‘20230710171141’), même si vector a été ajouté manuellement à la base de données. Existe-t-il un moyen de désactiver cette étape de migration ou d’effectuer une vérification si vector existe.

Causé par :
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ERREUR : Parce que vector n’est pas une extension de confiance, seuls les membres de “azure_pg_admin” sont autorisés à utiliser CREATE EXTENSION vector (ActiveRecord::StatementInvalid)
INDICE : pour savoir comment autoriser une extension ou voir la liste des extensions autorisées, veuillez consulter Considerations with the Use of Extensions and Modules | Microsoft Learn

Nous avons fusionné une PR pour gérer cela le mois dernier, êtes-vous sur la dernière version ?

1 « J'aime »

Merci ! J’utilise l’image docker discourse/discourse:3.5.3. Je ne suis pas sûr si cela inclut le dernier PR ? (Édit : Release v2025.12.0 inclut le PR)

1 « J'aime »