Je dispose d'une instance de base de données Amazon Relational Database Service (Amazon RDS) for PostgreSQL. J'ai reçu l'erreur « ERROR: <module/extension> must be loaded via shared_preload_libraries ». Comment puis-je dépanner et résoudre cette erreur ?
Brève description
Lorsque vous utilisez Amazon RDS for PostgreSQL, vous pouvez précharger des bibliothèques partagées sur le serveur afin de charger des fonctionnalités supplémentaires ou de bénéficier de performances optimales. Toutefois, vous pouvez recevoir l'erreur suivante lorsque vous essayez d'utiliser le module/l'extension :
- « ERROR: <module/extension> must be loaded 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.
Vous pouvez utiliser les modules/extensions suivants sur RDS PostgreSQL en modifiant la valeur du paramètre shared_preload_libraries dans un groupe de paramètres personnalisé :
- auto_explain
- orafce
- pgaudit
- pglogical
- pg_hint_plan
- pg_prewarm
- pg_similarity
- pg_stat_statements
- pg_transport
- plprofiler
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 apportez des modifications aux 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.
Solution
Créer un groupe de paramètres personnalisé
Remarque : si vous avez déjà un groupe de paramètres personnalisé, passez à l'étape suivante.
- Connectez-vous à la console Amazon RDS.
- Dans le volet de navigation, sélectionnez Groupe de paramètres.
- Sélectionnez Créer un groupe de paramètres.
- Dans la liste déroulante Famille de groupe de paramètres, sélectionnez une famille de groupes de paramètres de base de données.
- Dans le champ Nom du groupe, saisissez le nom du nouveau groupe de paramètres de base de données.
- Dans le champ Description, saisissez une description du nouveau groupe de paramètres de base de données.
- Sélectionnez Créer.
Modifier le paramètre dans un groupe de paramètres personnalisé
- Connectez-vous à la console Amazon RDS.
- Dans le volet de navigation, sélectionnez Groupe de paramètres.
- Dans la liste, sélectionnez le groupe de paramètres que vous souhaitez modifier.
- Pour Actions du groupe de paramètres, sélectionnez Modifier.
- Modifiez les valeurs du paramètre shared_preload_libraries.
- Sélectionnez Enregistrer les modifications.
Remarque : le paramètre shared_preload_libraries est un paramètre statique. Lorsque vous modifiez un paramètre statique et que vous enregistrez le groupe de paramètres de base de données, la modification du paramètre prend effet après le redémarrage manuel de l'instance de base de données.
Associer 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 directement à 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émarrer l'instance de base de données
Lorsque vous modifiez un paramètre statique et que vous enregistrez le groupe de paramètres de base de données, la modification du paramètre prend effet après le redémarrage manuel de l'instance de base de données.
Lorsque vous modifiez 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 avant que l'instance de base de données n'utilise le nouveau groupe de paramètres de base de données.
Redémarrez votre instance de base de données à l'aide de la console Amazon RDS ou en appelant explicitement l'opération d'API RebootDBInstance (sans basculement, si l'instance de base de données se trouve dans un déploiement multi-AZ).
Informations connexes
Documentation PostgreSQL relative à pg_stat_statements
Utilisation des groupes de paramètres de base de données