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.
- Accedi alla console Aurora e RDS.
- Nel pannello di navigazione, scegli Gruppi di parametri.
- Scegli Crea gruppo di parametri.
- In Parameter group family list (Elenco delle famiglie di gruppi di parametri), seleziona una Famiglia del gruppo di parametri database.
- Nella casella Nome gruppo, inserisci il nome del nuovo gruppo di parametri database.
- Nella casella Descrizione, inserisci una descrizione per il nuovo gruppo di parametri database.
- Scegli Crea.
Modifica il parametro del gruppo di parametri personalizzati
- Accedi alla console Aurora e RDS.
- Nel pannello di navigazione, scegli Gruppi di parametri.
- Nell'elenco, scegli il gruppo di parametri che desideri modificare.
- Per Parameter group actions (Azioni del gruppo di parametri), scegli Modifica.
- Modifica i valori del parametro shared_preload_libraries.
- 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