Configura Discourse per utilizzare un server PostgreSQL separato

No signore, nessun problema. Grazie per le informazioni

Nel mio caso, è stato perché avevo scram-sha-256 e non trust come meccanismo di autenticazione.
Perché scram-sha-256 richiede un utente fisico.
Probabilmente puoi aggirare il problema creando una mappa utente in pg_ident.conf, ma non sono sicuro di come fare.

Se per “utente fisico” intendi “utente del sistema Unix”, allora no, scram-sha-256 non richiede un utente di questo tipo configurato sul sistema. Il metodo peer richiede un utente di sistema e trust è semplicemente una pessima idea in generale quando si utilizza un server di database remoto.

1 Mi Piace

Dovremo includere quanto segue oltre al processo esistente?

CREATE EXTENSION vector;

poiché vedo questa estensione nel template postgres di discourse_docker?

Questo è utilizzato dal plugin principale di Discourse AI, quindi ne avrai bisogno se lo stai utilizzando.

Non ricordo di aver abilitato quel plugin. Infatti ho appena verificato che è disabilitato. Ma di recente, quando ho ricostruito l’immagine, quando l’ultimo commit è andato oltre questo commit - GitHub - discourse/discourse at 0eab7daea450e1d7e416c46a23aaaf95687d4855, rake db:migrate ha iniziato a fallire. Quando ho usato il commit appena precedente a quello sopra per il bootstrap, ha continuato a funzionare.
Ora che ho abilitato questa estensione, i commit successivi a questo funzionano senza problemi.

1 Mi Piace

Ma ora il plugin AI è nel core, quindi hai bisogno dell’estensione indipendentemente dal fatto che tu utilizzi il plugin AI (o ti sforzi di rimuoverlo esplicitamente), giusto?

1 Mi Piace

È vero, poiché le migrazioni vengono eseguite indipendentemente dall’abilitazione del plugin.

2 Mi Piace

L’utilizzo di un server PostgreSQL gestito come utente non super utente, la migrazione del database fallirà a EnablePgVectorExtension (‘20230710171141’) anche se il vettore è stato aggiunto manualmente al database. C’è un modo per disabilitare questo passaggio di migrazione o per verificare se il vettore esiste.

Causato da:
ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ERRORE: Poiché vector non è un’estensione attendibile, solo i membri di “azure_pg_admin” sono autorizzati a usare CREATE EXTENSION vector (ActiveRecord::StatementInvalid)
SUGGERIMENTO: per sapere come consentire un’estensione o vedere l’elenco delle estensioni consentite, fare riferimento a Considerations with the Use of Extensions and Modules | Microsoft Learn

Abbiamo unito una Pull Request (PR) per gestire questo il mese scorso, sei sull’ultima versione?

1 Mi Piace

Grazie! Sto usando l’immagine docker discourse/discourse:3.5.3. Non sono sicuro se includa la PR più recente? (Modifica: Release v2025.12.0 include la PR)

1 Mi Piace