Versions d'SQLextension Postgre prises en charge - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Versions d'SQLextension Postgre prises en charge

RDSfor Postgre SQL supporte de nombreuses extensions PostgreSQL. La SQL communauté Postgre les appelle parfois modules. Les extensions étendent les fonctionnalités fournies par le SQL moteur Postgre. Vous trouverez une liste des extensions prises en charge par Amazon RDS dans le groupe de paramètres de base de données par défaut pour cette SQL version de Postgre. Vous pouvez également consulter la liste actuelle des extensions utilisant psql en affichant le paramètre rds.extensions comme dans l'exemple suivant.

SHOW rds.extensions;
Note

Les paramètres ajoutés à une version mineure peuvent s'afficher de manière incorrecte lors de l'utilisation du paramètre rds.extensions dans psql.

À partir RDS de Postgre SQL 13, certaines extensions peuvent être installées par des utilisateurs de base de données autres que lerds_superuser. On les appelle des extensions de confiance. Pour en savoir plus, consultez Extensions SQL fiables de Postgre.

Certaines versions de RDS for Postgre SQL prennent en charge le rds.allowed_extensions paramètre. Ce paramètre permet de rds_superuser limiter les extensions qui peuvent être installées dans l'SQLinstance de base de données RDS for Postgre. Pour de plus amples informations, veuillez consulter Restreindre l'installation des extensions Postgre SQL.

Pour obtenir la liste des SQL extensions et des versions de Postgre prises en charge par chacune des versions disponibles RDS pour Postgre, consultez la section SQLExtensions Postgre prises en charge sur Amazon dans RDS Amazon RDS pour les notes de SQL version de SQL Postgre.

Restreindre l'installation des extensions Postgre SQL

Vous pouvez restreindre les extensions qui peuvent être installées sur une SQL instance de base de données Postgre. Par défaut, ce paramètre n'est pas défini. Par conséquent, toute extension prise en charge peut être ajoutée si l'utilisateur dispose des autorisations appropriées. Pour ce faire, définissez le paramètre rds.allowed_extensions sur une chaîne de noms d'extension séparés par des virgules. En ajoutant une liste d'extensions à ce paramètre, vous identifiez explicitement les extensions que votre SQL instance de base de données RDS pour Postgre peut utiliser. Seules ces extensions peuvent ensuite être installées dans l'SQLinstance de base de données Postgre.

La chaîne par défaut du paramètre rds.allowed_extensions est « * », ce qui signifie que toute extension disponible pour la version du moteur peut être installée. La modification du paramètre rds.allowed_extensions ne nécessite pas de redémarrage de la base de données, car il s'agit d'un paramètre dynamique.

Le moteur d'SQLinstance de base de données Postgre doit être l'une des versions suivantes pour que vous puissiez utiliser le rds.allowed_extensions paramètre :

  • Toutes les versions de Postgre SQL 16

  • Postgre SQL 15 et toutes les versions supérieures

  • Postgre SQL 14 et toutes les versions supérieures

  • Postgre SQL 13.3 et versions mineures supérieures

  • Postgre SQL 12.7 et versions mineures supérieures

Pour voir quelles installations d'extension sont autorisées, utilisez la commande psql suivante.

postgres=> SHOW rds.allowed_extensions; rds.allowed_extensions ------------------------ *

Si une extension a été installée avant d'être exclue de la liste dans le paramètre rds.allowed_extensions, l'extension peut toujours être utilisée normalement, et les commandes telles que ALTER EXTENSION et DROP EXTENSION resteront opérationnelles. Cependant, une fois qu'une extension est restreinte, les commandes CREATE EXTENSION de l'extension restreinte échouent.

L'installation des dépendances d'extension avec CREATE EXTENSION CASCADE sont également restreintes. L'extension et ses dépendances doivent être spécifiées dans rds.allowed_extensions. Si une installation de dépendance d'extension échoue, l'instruction CREATE EXTENSION CASCADE échouera dans son intégralité.

Si une extension n'est pas incluse avec le paramètre rds.allowed_extensions, vous verrez une erreur telle que la suivante si vous essayez de l'installer.

ERROR: permission denied to create extension "extension-name" HINT: This extension is not specified in "rds.allowed_extensions".

Extensions SQL fiables de Postgre

L'installation de la plupart des SQL extensions Postgre nécessite des rds_superuser privilèges. Postgre SQL 13 a introduit des extensions fiables, qui réduisent le besoin d'accorder rds_superuser des privilèges aux utilisateurs réguliers. Cette fonction permet aux utilisateurs d'installer de nombreuses extensions s'ils disposent du privilège CREATE sur la base de données actuelle, sans exiger le rôle rds_superuser. Pour plus d'informations, consultez la SQL CREATEEXTENSIONcommande dans la SQL documentation Postgre.

La liste suivante répertorie les extensions qui peuvent être installées par un utilisateur qui possède le privilège CREATE sur la base de données actuelle, sans exiger le rôle rds_superuser :

Pour obtenir la liste des SQL extensions et des versions de Postgre prises en charge par chacune des versions disponibles RDS pour Postgre, consultez la section SQLExtensions Postgre prises en charge sur Amazon dans RDS Amazon RDS pour les notes de SQL version de SQL Postgre.