Come posso risolvere l'errore "ERRORE: ˂module/extension˃ deve essere caricato tramite shared_preload_libraries"?

3 minuti di lettura
0

Dispongo di un Amazon Relational Database Service (Amazon RDS) per un'istanza database PostgreSQL. Desidero risolvere l'errore "ERRORE:  <module/extension> deve essere caricato tramite shared_preload_libraries".

Breve descrizione

Quando si usa Amazon RDS per PostgreSQL, puoi precaricare le librerie condivise nel server. Ciò consente di caricare funzionalità aggiuntive o di ottenere vantaggi in termini di prestazioni. Tuttavia, potresti ricevere il seguente errore quando usi il modulo/estensione:

"ERRORE: <module/extension> deve essere caricato tramite shared_preload\libraries"

Ad esempio, quando esegui la query pg_stat_statements, puoi ricevere il seguente errore:

postgres=> SELECT * FROM pg_stat_statements;
ERROR:  relation "pg_stat_statements" does not exist
postgres=> CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
CREATE EXTENSION

postgres=> SELECT * FROM pg_stat_statements;
ERROR:  pg_stat_statements must be loaded via shared_preload_libraries

Per risolvere questo errore e interrogare pg_stat_statements, imposta il valore di shared_preload_libraries su pg_stat_statements in un gruppo di parametri personalizzati associato alla tua istanza DB.

Modifica il valore del parametro shared_preload\libraries in un gruppo di parametri personalizzati per utilizzare i seguenti moduli/estensioni su RDS for PostgreSQL:

  • auto_explain
  • orafce
  • pgaudit
  • pglogical
  • pg_hint_plan
  • pg_prewarm
  • pg_similarity
  • pg_stat_statements
  • pg_transport
  • plprofiler

Nota: è possibile modificare i valori dei parametri in un gruppo di parametri personalizzato. Non è possibile modificare i valori dei parametri in un gruppo di parametri DB predefinito. Se apporti modifiche ai parametri in un gruppo di parametri personalizzato, le modifiche si applicano a tutte le istanze database associate a quel gruppo di parametri.

Risoluzione

Creazione di un gruppo di parametri personalizzato

Nota: se disponi già di un gruppo di parametri personalizzato, vai al passaggio successivo.

  1. Accedi alla console Amazon RDS.
  2. Nel riquadro di navigazione, scegli Gruppi di parametri.
  3. Scegli Crea gruppo di parametri.
  4. Nell'elenco delle famiglie di gruppi di parametri, selezionare una famiglia di gruppi di parametri DB.
  5. Nella casella Nome gruppo, inserisci il nome del nuovo gruppo di parametri DB.
  6. Nella casella Descrizione, immettere una descrizione per il nuovo gruppo di parametri DB.
  7. Scegli Crea.

Modifica del parametro nel gruppo di parametri personalizzato

  1. Accedi alla console Amazon RDS.
  2. Nel riquadro di navigazione, scegli Gruppi di parametri.
  3. Nell'elenco, scegliere il gruppo di parametri che desiderate modificare.
  4. Per le azioni relative ai gruppi di parametri, scegli Modifica.
  5. Cambia i valori del parametro shared_preload_libraries.
  6. Scegli Salva modifiche.

Nota: il parametro shared_preload_libraries è un parametro statico. Quando si modifica un parametro statico e si salva il gruppo di parametri DB, la modifica del parametro ha effetto dopo il riavvio manuale dell'istanza database.

Associazione del gruppo di parametri alla tua istanza database

Nota: se il tuo gruppo di parametri personalizzato è già associato alla tua istanza database, vai al passaggio successivo.

Modifica la tua istanza DB per associare il gruppo di parametri personalizzato alla tua istanza DB.

Riavviare l'istanza database

Importante: dopo aver modificato il gruppo di parametri DB associato a un'istanza DB, è necessario riavviare manualmente l'istanza DB. È necessario eseguire questa operazione prima che l'istanza database utilizzi il nuovo gruppo di parametri DB.

Usa la console Amazon RDS per riavviare la tua istanza database. In alternativa, puoi richiamare esplicitamente l'operazione API RebootDBInstance (senza failover, se l'istanza database si trova in implementazione multi-AZ).

Informazioni correlate

Documentazione PostgreSQL per pg_stat_statements (sul sito web di PostgreSQL)

Utilizzo di gruppi di parametri