J'ai un Amazon Relational Database Service (Amazon RDS) pour une instance de base de données PostgreSQL. Je souhaite résoudre l'erreur « ERREUR : <module/extension> doit être chargée via shared_preload_libraries ».
Brève description
Lorsque vous utilisez Amazon RDS pour PostgreSQL, vous pouvez précharger des bibliothèques partagées sur le serveur. Cela vous permet de charger des fonctionnalités supplémentaires ou d'obtenir des avantages en termes de performances. Toutefois, l'erreur suivante peut s'afficher lorsque vous utilisez le module/l'extension :
« ERREUR : <module/extension> doit être chargé via shared_preload_libraries »
Par exemple, lorsque vous interrogez pg_stat_statements, vous pouvez recevoir l'erreur suivante :
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
Pour résoudre cette erreur et interroger pg_stat_statements, définissez la valeur de shared_preload_libraries sur pg_stat_statements dans un groupe de paramètres personnalisé associé à votre instance de base de données.
Modifiez la valeur du paramètre shared_preload_libraries dans un groupe de paramètres personnalisé afin d'utiliser les modules/extensions suivants sur RDS pour PostgreSQL :
- auto_explain
- orace
- pgaudit
- pglogique
- pg_hint_plan
- pg_prewarm
- pg_similarité
- pg_stat_statements
- pg_transport
- profiler pl
Remarque : Vous pouvez modifier les valeurs des paramètres dans un groupe de paramètres personnalisé. Vous ne pouvez pas modifier les valeurs des paramètres dans un groupe de paramètres de base de données par défaut. Si vous modifiez les paramètres d'un groupe de paramètres personnalisé, vos modifications s'appliquent à toutes les instances de base de données associées à ce groupe de paramètres.
Résolution
Création d'un groupe de paramètres personnalisé
Remarque : Si vous disposez déjà d'un groupe de paramètres personnalisé, passez à l'étape suivante.
- Connectez-vous à la console Amazon RDS.
- Dans le volet de navigation, choisissez Groupes de paramètres.
- Choisissez Créer un groupe de paramètres.
- Dans la Liste des familles de groupes de paramètres, sélectionnez une Famille de groupes de paramètres de base de données.
- Dans la zone Nom du groupe, entrez le nom du nouveau groupe de paramètres de base de données.
- Dans la zone Description, entrez une description pour le nouveau groupe de paramètres de base de données.
- Choisissez Créer.
Modifier le paramètre dans un groupe de paramètres personnalisé
- Connectez-vous à la console Amazon RDS.
- Dans le volet de navigation, choisissez Groupes de paramètres.
- Dans la liste, choisissez le groupe de paramètres que vous souhaitez modifier.
- Pour les actions du Groupe de paramètres, choisissez Modifier.
- Modifiez les valeurs du paramètre shared_preload_libraries.
- Choisissez Enregistrer les modifications.
Remarque : Le paramètre shared_preload_libraries est un paramètre statique. Lorsque vous modifiez un paramètre statique et enregistrez le groupe de paramètres de base de données, le changement de paramètre prend effet après le redémarrage manuel de l'instance de base de données.
Associez le groupe de paramètres à votre instance de base de données
Remarque : Si votre groupe de paramètres personnalisé est déjà associé à votre instance de base de données, passez à l'étape suivante.
Modifiez votre instance de base de données pour associer le groupe de paramètres personnalisé à votre instance de base de données.
Redémarrez l'instance de base de données
Important : Après avoir modifié le groupe de paramètres de base de données associé à une instance de base de données, vous devez redémarrer manuellement l'instance de base de données. Vous devez le faire avant que l'instance de base de données n'utilise le nouveau groupe de paramètres de base de données.
Utilisez la console Amazon RDS pour redémarrer votre instance de base de données. Vous pouvez également appeler explicitement l'opération d'API RebootDBInstance (sans basculement, si l'instance de base de données fait partie d'un déploiement multi-AZ).
Informations connexes
Documentation PostgreSQL pour pg_stat_statements (sur le site Web de PostgreSQL)
Utilisation de groupes de paramètres