Fonctionnalités PostgreSQL non prises en charge dans Aurora DSQL - Amazon Aurora DSQL

Fonctionnalités PostgreSQL non prises en charge dans Aurora DSQL

Aurora DSQL est compatible avec PostgreSQL. Cela signifie qu’Aurora DSQL prend en charge les fonctionnalités relationnelles de base telles que les transactions ACID, les index secondaires, les jointures, les insertions et les mises à jour. Pour un aperçu des fonctionnalités SQL prises en charge, consultez Expressions SQL prises en charge.

Les sections suivantes mettent en évidence les fonctionnalités de PostgreSQL qui ne sont actuellement pas prises en charge dans Aurora DSQL.

Objets non pris en charge

Les objets non pris en charge par Aurora DSQL sont les suivants :

  • Plusieurs bases de données sur un seul cluster Aurora DSQL

  • Tables temporaires

  • Déclencheurs

  • Types (prise en charge partielle)

  • Espaces de table

  • Fonctions écrites dans des langages autres que SQL

  • Séquences

  • Partitions

Contraintes non prises en charge

  • Clés étrangères

  • Contraintes d’exclusion

Commandes non prises en charge

  • ALTER SYSTEM

  • TRUNCATE

  • SAVEPOINT

  • VACUUM

    Note

    Aurora DSQL ne nécessite pas de vidage. Le système maintient les statistiques et gère automatiquement l’optimisation du stockage sans commandes vacuum manuelles.

Extensions non prises en charge

Aurora DSQL ne prend pas en charge les extensions PostgreSQL. Le tableau suivant présente les extensions non prises en charge :

  • PL/pgSQL

  • PostGIS

  • PGVector

  • PGAudit

  • Postgres_FDW

  • PGCron

  • pg_stat_statements

Expressions SQL non prises en charge

Le tableau suivant décrit les clauses non prises en charge dans Aurora DSQL.

Catégorie Clause principale Clauses non prises en charge

CREATE

INDEX ASYNC

ASC | DESC

CREATE

INDEX 1

TRUNCATE

ALTER

SYSTEM

Toutes les commandes ALTER SYSTEM sont bloquées.

CREATE

TABLE

COLLATE, AS SELECT, INHERITS, PARTITION

CREATE

FUNCTION

LANGUAGE non-sql-lang, où non-sql-lang est un langage autre que SQL

CREATE

TEMPORARY

TABLES

CREATE

EXTENSION

CREATE

SEQUENCE

CREATE

MATERIALIZED

VIEW

CREATE

TABLESPACE

CREATE

TRIGGER

CREATE

TYPE

CREATE

DATABASE

Vous ne pouvez pas créer de bases de données supplémentaires.

1 Consultez Index asynchrones dans Aurora DSQL pour créer un index sur une colonne d’une table spécifiée.

Considérations relatives à Aurora DSQL pour la compatibilité avec PostgreSQL

Tenez compte des limites de compatibilité suivantes lors de l’utilisation d’Aurora DSQL. Pour des considérations générales, consultez Considérations relatives à l’utilisation d Amazon Aurora DSQL. Pour les quotas et les limites, consultez Quotas de cluster et limites de base de données dans Amazon Aurora DSQL.

  • Aurora DSQL utilise une seule base de données intégrée nommée postgres. Vous ne pouvez pas créer de bases de données supplémentaires, renommer ni supprimer la base de données postgres.

  • La base de données postgres utilise l’encodage de caractères UTF-8. Vous ne pouvez pas modifier l’encodage.

  • La base de données utilise uniquement le classement C.

  • Aurora DSQL utilise UTC comme fuseau horaire du système. Vous ne pouvez pas modifier le fuseau horaire à l’aide de paramètres ou d’instructions SQL tels que SET TIMEZONE.

  • Le niveau d’isolement des transactions est défini dans PostgreSQL Repeatable Read.

  • Les transactions sont soumises aux contraintes suivantes :

    • Une transaction ne peut pas mélanger les opérations DDL et DML

    • Une transaction ne peut inclure qu’une seule instruction DDL

    • Une transaction peut modifier jusqu’à 3 000 lignes, quel que soit le nombre d’index secondaires

    • La limite de 3 000 lignes s’applique à toutes les instructions DML (INSERT, UPDATE, DELETE)

  • Les connexions à la base de données expirent au bout d’une heure.

  • Aurora DSQL ne vous permet pas d’exécuter GRANT [permission] ON DATABASE actuellement. Si vous tentez d’exécuter cette instruction, Aurora DSQL renvoie le message d’erreur ERROR: unsupported object type in GRANT.

  • Aurora DSQL n’autorise pas les rôles d’utilisateur non administrateur à exécuter la commande CREATE SCHEMA. Vous ne pouvez pas exécuter la commande GRANT [permission] on DATABASE et accorder les autorisations CREATE sur la base de données. Si un rôle d’utilisateur non administrateur tente de créer un schéma, Aurora DSQL renvoie le message d’erreur ERROR: permission denied for database postgres.

  • Les utilisateurs non administrateurs ne peuvent pas créer d’objets dans le schéma public. Seuls les utilisateurs administrateurs peuvent créer des objets dans le schéma public. Le rôle d’utilisateur administrateur est autorisé à accorder l’accès en lecture, en écriture et en modification à ces objets à des utilisateurs non administrateurs, mais il ne peut pas accorder d’autorisations CREATE au schéma public lui-même. Les utilisateurs non administrateurs doivent utiliser des schémas différents créés par l’utilisateur pour créer des objets.

  • Aurora DSQL ne prend pas en charge la commande ALTER ROLE [] CONNECTION LIMIT. Contactez le support AWS si vous avez besoin d’une augmentation de la limite de connexion.

  • Aurora DSQL ne prend pas en charge asyncpg, le pilote de base de données PostgreSQL asynchrone pour Python.