Recursos do PostgreSQL não compatíveis no Aurora DSQL - Amazon Aurora DSQL

Recursos do PostgreSQL não compatíveis no Aurora DSQL

O Aurora DSQL é compatível com o PostgreSQL. Isso significa que o Aurora DSQL é compatível com os principais recursos relacionais, como transações ACID, índices secundários, junções, inserções e atualizações. Para obter uma visão geral dos recursos SQL compatíveis, consulte as expressões SQL compatíveis.

As seções a seguir destacam quais recursos do PostgreSQL não podem ser usados no momento no Aurora DSQL.

Objetos não compatíveis

Os objetos não aceitos pelo Aurora DSQL incluem o seguinte:

  • Vários bancos de dados em um único cluster do Aurora DSQL

  • Tabelas temporárias

  • Acionadores

  • Tipos (suporte parcial)

  • Tablespaces

  • Funções escritas em linguagens diferentes do SQL

  • Sequências

  • Partições

Restrições não compatíveis

  • Chaves externas

  • Restrições de exclusão

Comandos incompatíveis

  • ALTER SYSTEM

  • TRUNCATE

  • SAVEPOINT

  • VACUUM

    nota

    O Aurora DSQL não requer limpeza. O sistema mantém estatísticas e gerencia a otimização do armazenamento automaticamente sem comandos vacuum manuais.

Extensões não compatíveis

O Aurora DSQL não é compatível com extensões do PostgreSQL. A tabela a seguir mostra as extensões que não são aceitas:

  • PL/pgSQL

  • PostGIS

  • PGVector

  • PGAudit

  • Postgres_FDW

  • PGCron

  • pg_stat_statements

Expressões de filtro incompatíveis

A tabela a seguir descreve as cláusulas que não são aceitas no Aurora DSQL.

Categoria Cláusula primária Cláusulas não compatível

CREATE

INDEX ASYNC

ASC | DESC

CREATE

INDEX1

TRUNCATE

ALTER

SYSTEM

Todos os comandos ALTER SYSTEM estão bloqueados.

CREATE

TABLE

COLLATE, AS SELECT, INHERITS, PARTITION

CREATE

FUNCTION

LANGUAGE non-sql-lang, onde non-sql-lang é qualquer linguagem diferente de SQL.

CREATE

TEMPORARY

TABLES

CREATE

EXTENSION

CREATE

SEQUENCE

CREATE

MATERIALIZED

VIEW

CREATE

TABLESPACE

CREATE

TRIGGER

CREATE

TYPE

CREATE

DATABASE

Não é possível criar bancos de dados adicionais.

1 Consulte Índices assíncronos no Aurora DSQL para criar um índice em uma coluna de uma tabela especificada.

Considerações sobre o Aurora DSQL para compatibilidade com o PostgreSQL

Considere as limitações de compatibilidade a seguir ao usar o Aurora DSQL. Com relação a considerações gerais, consulte Considerações para trabalhar com Amazon Aurora DSQL. Com relação a cotas e limites, consulte Cotas de cluster e limites de banco de dados no Amazon Aurora DSQL.

  • O Aurora DSQL usa um único banco de dados incorporado chamado postgres. Não é possível criar bancos de dados adicionais nem renomear ou excluir o banco de dados postgres.

  • O banco de dados postgres usa a codificação de caracteres UTF-8. Não é possível alterar a criptografia.

  • O banco de dados usa somente o agrupamento C.

  • O Aurora DSQL usa UTC como fuso horário do sistema. Não é possível modificar o fuso horário usando parâmetros ou instruções SQL, como SET TIMEZONE.

  • O nível de isolamento de transação é fixo em Repeatable Read no PostgreSQL.

  • As transações têm as seguintes restrições:

    • Uma transação não pode misturar operações de DDL e de DML.

    • Uma transação pode incluir apenas uma instrução de DDL.

    • Uma transação pode modificar até 3 mil linhas, independentemente do número de índices secundários.

    • O limite de 3 mil linhas se aplica a todas as instruções de DML (INSERT, UPDATE e DELETE).

  • As conexões de banco de dados atingem o tempo limite após uma hora.

  • No momento, o Aurora DSQL não permite que você execute GRANT [permission] ON DATABASE. Se você tentar executar essa instrução, o Aurora DSQL exibirá a mensagem de erro ERROR: unsupported object type in GRANT.

  • O Aurora DSQL não permite que perfis de usuário não administrativo executem o comando CREATE SCHEMA. Não é possível executar o comando GRANT [permission] on DATABASE e conceder permissões CREATE no banco de dados. Se um perfil de usuário não administrativo tentar criar um esquema, o Aurora DSQL exibirá a mensagem de erro ERROR: permission denied for database postgres.

  • Os usuários que não são administradores não podem criar objetos no esquema público. Somente usuários administradores podem criar objetos no esquema público. O perfil de usuário administrador tem permissões para conceder acesso de leitura, gravação e modificação a esses objetos para usuários não administradores, mas não pode conceder permissões CREATE para o esquema público em si. Os usuários não administradores devem usar esquemas diferentes criados pelo usuário para criar objetos.

  • O Aurora DSQL não aceita o comando ALTER ROLE [] CONNECTION LIMIT. Entre em contato com o AWS Support se precisar aumentar o limite de conexão.

  • O Aurora DSQL não oferece suporte ao asyncpg, o driver assíncrono de banco de dados PostgreSQL para Python.