Características de PostgreSQL no admitidas en Aurora DSQL - Amazon Aurora DSQL

Características de PostgreSQL no admitidas en Aurora DSQL

Aurora DSQL es compatible con PostgreSQL. Esto significa que Aurora DSQL admite características relacionales básicas como transacciones ACID, índices secundarios, uniones, inserciones y actualizaciones. Para obtener información general de las características de SQL compatibles, consulte Expresiones SQL admitidas.

En las siguientes secciones se destacan las características de PostgreSQL que actualmente no se admiten en Aurora DSQL.

Objetos no admitidos

Entre los objetos no compatibles con Aurora DSQL se incluyen los siguientes:

  • Varias bases de datos en un único clúster de Aurora DSQL

  • Tablas temporales

  • Desencadenadores

  • Tipos (compatibilidad parcial)

  • Espacios de tabla

  • Funciones escritas en lenguajes distintos de SQL

  • Secuencias

  • Particiones

Restricciones no admitidas

  • Claves externas

  • Restricciones de exclusión

Comandos admitidos

  • ALTER SYSTEM

  • TRUNCATE

  • SAVEPOINT

  • VACUUM

    nota

    Aurora DSQL no requiere vaciado. El sistema mantiene las estadísticas y administra la optimización del almacenamiento automáticamente sin comandos de vaciado manuales.

Extensiones no admitidas

Aurora DSQL no admite las extensiones de PostgreSQL. La tabla siguiente muestra las extensiones que no se admiten:

  • PL/pgSQL

  • PostGIS

  • PGVector

  • PGAudit

  • Postgres_FDW

  • PGCron

  • pg_stat_statements

Expresiones SQL no admitidas

En la siguiente tabla se describen las cláusulas que no se admiten en Aurora DSQL.

Categoría Cláusula principal Cláusula no admitida

CREATE

INDEX ASYNC

ASC | DESC

CREATE

INDEX 1

TRUNCATE

ALTER

SYSTEM

Todos los comandos ALTER SYSTEM están bloqueados.

CREATE

TABLE

COLLATE, AS SELECT, INHERITS, PARTITION

CREATE

FUNCTION

LANGUAGE non-sql-lang, donde non-sql-lang es cualquier lenguaje distinto de SQL

CREATE

TEMPORARY

TABLES

CREATE

EXTENSION

CREATE

SEQUENCE

CREATE

MATERIALIZED

VIEW

CREATE

TABLESPACE

CREATE

TRIGGER

CREATE

TYPE

CREATE

DATABASE

No puede crear bases de datos adicionales.

1 Consulte Índices asíncronos en Aurora DSQL para crear un índice en una columna de una tabla específica.

Consideraciones de Aurora DSQL para la compatibilidad de PostgreSQL

Tenga en cuenta las siguientes limitaciones de compatibilidad cuando utilice Aurora DSQL. Para obtener información general, consulte Consideraciones para trabajar con Amazon Aurora DSQL. Para obtener información acerca de las cuotas y los límites, consulte Cuotas de clúster y límites de base de datos en Amazon Aurora DSQL.

  • Aurora DSQL utiliza una única base de datos integrada denominada postgres. No puede crear bases de datos adicionales ni cambiar el nombre o eliminar la base de datos de postgres.

  • La base de datos de postgres utiliza la codificación de caracteres UTF-8. No puede cambiar la codificación.

  • La base de datos usa solo la intercalación de C.

  • Aurora DSQL utiliza UTC como la zona horaria del sistema. No puede modificar la zona horaria mediante parámetros o instrucciones SQL como SET TIMEZONE.

  • El nivel de aislamiento de las transacciones se fija en PostgreSQL Repeatable Read.

  • Las transacciones tienen las siguientes restricciones:

    • Una transacción no puede mezclar operaciones DDL y DML

    • Una transacción solo puede incluir 1 instrucción DDL

    • Una transacción puede modificar hasta 3000 filas, independientemente del número de índices secundarios

    • El límite de 3000 filas se aplica a todas las instrucciones DML (INSERT, UPDATE, DELETE)

  • Las conexiones a la base de datos caducan después de 1 hora.

  • En estos momentos, Aurora DSQL no le permite ejecutar GRANT [permission] ON DATABASE. Si intenta ejecutar esa instrucción, Aurora DSQL devuelve el mensaje de error ERROR: unsupported object type in GRANT.

  • Aurora DSQL no permite que los roles de usuario que no son administradores ejecuten el comando CREATE SCHEMA. No puede ejecutar el comando GRANT [permission] on DATABASE ni conceder permisos CREATE en la base de datos. Si un rol de usuario que no es administrador intenta crear un esquema, Aurora DSQL devuelve el mensaje de error ERROR: permission denied for database postgres.

  • Los usuarios que no son administradores no pueden crear objetos en el esquema público. Solo los usuarios administradores pueden crear objetos en el esquema público. El rol de usuario administrador tiene permisos para conceder acceso de lectura, escritura y modificación a estos objetos a los usuarios que no son administradores, pero no puede conceder permisos CREATE al propio esquema público. Los usuarios que no son administradores deben utilizar esquemas diferentes, creados por el usuario, para la creación de objetos.

  • Aurora DSQL no admite el comando ALTER ROLE [] CONNECTION LIMIT. Póngase en contacto con el servicio de asistencia de AWS si necesita aumentar el límite de conexiones.

  • Aurora DSQL no admite asyncpg, el controlador asíncrono de base de datos PostgreSQL para Python.