Salta al contenuto

Come posso risolvere l'errore "ERROR:  <module/extension> must be loaded via shared_preload_libraries"?

3 minuti di lettura
0

Ho un Amazon Relational Database Service (Amazon RDS) per un'istanza database PostgreSQL. Desidero risolvere l'errore "ERROR:  <module/extension> must be loaded via shared_preload_libraries".

Breve descrizione

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

"ERROR: <module/extension> must be loaded via 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 ed eseguire query su pg_stat_statements, imposta il valore di shared_preload_libraries su pg_stat_statements in un gruppo di parametri personalizzati associato all'istanza database.

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

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

Nota: puoi modificare i valori dei parametri in un gruppo di parametri personalizzati. Non puoi modificare i valori dei parametri in un gruppo di parametri database predefiniti. Se apporti modifiche ai parametri in un gruppo di parametri personalizzati, le modifiche si applicano a tutte le istanze database associate al gruppo di parametri.

Risoluzione

Crea un gruppo di parametri personalizzati

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

  1. Accedi alla console Aurora e RDS.
  2. Nel pannello di navigazione, scegli Gruppi di parametri.
  3. Scegli Crea gruppo di parametri.
  4. In Parameter group family list (Elenco delle famiglie di gruppi di parametri), seleziona una Famiglia del gruppo di parametri database.
  5. Nella casella Nome gruppo, inserisci il nome del nuovo gruppo di parametri database.
  6. Nella casella Descrizione, inserisci una descrizione per il nuovo gruppo di parametri database.
  7. Scegli Crea.

Modifica il parametro del gruppo di parametri personalizzati

  1. Accedi alla console Aurora e RDS.
  2. Nel pannello di navigazione, scegli Gruppi di parametri.
  3. Nell'elenco, scegli il gruppo di parametri che desideri modificare.
  4. Per Parameter group actions (Azioni del gruppo di parametri), scegli Modifica.
  5. Modifica i valori del parametro shared_preload_libraries.
  6. Scegli Salva modifiche.

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

Associa il gruppo di parametri all'istanza database

Nota: se il gruppo di parametri personalizzati è già associato all'istanza database, vai al passaggio successivo.

Modifica l'istanza database per associare il gruppo di parametri personalizzati all'istanza database.

Riavvia l'istanza database

Importante: dopo aver modificato il gruppo di parametri database associato a un'istanza database, devi riavviarla manualmente. L'operazione deve essere eseguita prima che l'istanza database utilizzi il nuovo gruppo di parametri database.

Utilizza la console Aurora e RDS per riavviare l'istanza database. In alternativa, puoi chiamare esplicitamente l'operazione API RebootDBInstance (senza failover, se l'istanza database si trova in un'implementazione multi-AZ).

Informazioni correlate

PostgreSQL documentation for pg_stat_statements (Documentazione PostgreSQL per pg_stat_statements) (sul sito web PostgreSQL)

Gruppi di parametri per Amazon RDS