

# Acessar o Aurora DSQL com clientes compatíveis com o PostgreSQL
<a name="accessing"></a>

O Aurora DSQL usa o [protocolo wire do PostgreSQL](https://www.postgresql.org/docs/current/protocol.html). Você pode se conectar ao PostgreSQL usando uma série de ferramentas e clientes, como AWS CloudShell, psql, DBeaver e DataGrip. A tabela a seguir resume como o Aurora DSQL associa parâmetros comuns de conexão do PostgreSQL:


| PostgreSQL | Aurora DSQL | Observações | 
| --- | --- | --- | 
| Perfil (também conhecido como usuário ou grupo) | Perfil de banco de dados | O Aurora DSQL cria um perfil chamado admin para você. Ao criar perfis de banco de dados personalizados, você deve usar o perfil admin para associá-los aos perfis do IAM para autenticação ao se conectar ao cluster. Para obter mais informações, consulte [Usar perfis de banco de dados e autenticação do IAM](using-database-and-iam-roles.md). | 
| Host (também conhecido como nome de host ou hostspec) | Endpoint do cluster | Os clusters de região única do Aurora DSQL oferecem um único endpoint gerenciado e redirecionam automaticamente o tráfego se houver indisponibilidade na região. | 
| Porta | N/D: use o padrão 5432. | Esse é o padrão do PostgreSQL. | 
| Banco de dados (dbname) | Use postgres. | O Aurora DSQL cria esse banco de dados para você quando você cria o cluster. | 
| Modo SSL | O SSL está sempre habilitado do lado do servidor. | No Aurora DSQL, o Aurora DSQL é compatível com o modo SSL require. Conexões sem SSL são rejeitadas pelo Aurora DSQL. | 
| Senha | Token de autenticação | O Aurora DSQL exige tokens de autenticação temporários em vez de senhas de longa duração. Para saber mais, consulte [Gerar um token de autenticação no Amazon Aurora DSQL](SECTION_authentication-token.md). | 

Ao se conectar, o Aurora DSQL exige um [token de autenticação](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/SECTION_authentication-token.html) do IAM assinado no lugar de uma senha tradicional. Esses tokens temporários são gerados usando o AWS Signature Versão 4 e são usados somente durante o estabelecimento da conexão. Depois de conectada, a sessão permanece ativa até que ela termine ou o cliente se desconecte.

Se você tentar abrir uma nova sessão com um token expirado, a solicitação de conexão falhará e um novo token deverá ser gerado. Para obter mais informações, consulte [Gerar um token de autenticação no Amazon Aurora DSQL](SECTION_authentication-token.md).

## Parâmetros de sessão compatíveis
<a name="accessing-session-parameters"></a>

O Aurora DSQL otimiza automaticamente o armazenamento, o gerenciamento de conexões e o processamento de transações, oferecendo suporte a um conjunto específico de parâmetros de sessão. O Aurora DSQL aceita os parâmetros listados na tabela a seguir. Os parâmetros fora desse conjunto retornam o seguinte erro:

```
ERROR: setting configuration parameter "{{parameter_name}}" not supported
```

O Aurora DSQL é compatível com os seguintes parâmetros de sessão PostgreSQL. Salvo indicação em contrário, você pode defini-los usando `SET`, `SET SESSION` ou como opções de string de conexão. Você também pode usar `SET LOCAL` para definir qualquer um desses parâmetros para a duração de uma única transação. Usa `RESET` para que um parâmetro volte ao valor padrão.


**Parâmetros de sessão compatíveis**  

| Parâmetro | Categoria | Descrição | 
| --- | --- | --- | 
| application\_name | Identificação de cliente | Define o nome do aplicativo relatado nos metadados da conexão. Útil para identificar conexões no monitoramento. | 
| client\_encoding | Tradução | Define a codificação de caracteres do cliente. O banco de dados usa UTF-8 internamente. | 
| datestyle | Formatação de saída | Define o formato de exibição de valores de data e hora (por exemplo, ISO, MDY). | 
| extra\_float\_digits | Formatação de saída | Define o número de dígitos exibidos para valores de ponto flutuante. Alguns drivers, como o JDBC, usam esse parâmetro. | 
| intervalstyle | Formatação de saída | Define o formato de exibição para valores de intervalo. | 
| timezone | Tradução | Define o fuso horário da sessão. O Aurora DSQL armazena todas as datas e horários com reconhecimento de fuso horário internamente em UTC. Esse parâmetro controla como o Aurora DSQL exibe valores para o cliente. | 
| search\_path | Resolução de esquema | Define a ordem de pesquisa de esquemas para nomes de objetos não qualificados. | 
| enable\_bitmapscan | Planejador de consultas | Ativa ou desativa o uso dos tipos de plano de verificação de bitmap pelo planejador de consultas. | 
| enable\_hashjoin | Planejador de consultas | Ativa ou desativa o uso dos tipos de plano de junção de hash pelo planejador de consultas. | 
| enable\_indexonlyscan | Planejador de consultas | Ativa ou desativa o uso dos tipos de plano de verificação apenas de índice pelo planejador de consultas. | 
| enable\_indexscan | Planejador de consultas | Ativa ou desativa o uso dos tipos de plano de verificação de índice pelo planejador de consultas. | 
| enable\_material | Planejador de consultas | Ativa ou desativa o uso da materialização pelo planejador de consultas. | 
| enable\_mergejoin | Planejador de consultas | Ativa ou desativa o uso dos tipos de plano de mesclagem pelo planejador de consultas. | 
| enable\_nestloop | Planejador de consultas | Ativa ou desativa o uso dos planos de junção de loop aninhado pelo planejador de consultas. | 
| enable\_seqscan | Planejador de consultas | Ativa ou desativa o uso dos tipos de plano de verificação sequencial pelo planejador de consultas. | 
| disable\_sync\_create\_index | Específico do Aurora DSQL | Controla se CREATE INDEX é executado de forma assíncrona. O padrão é on, o que significa que o Aurora DSQL cria índices de forma assíncrona. Defina como off para criar índices de forma síncrona em tabelas vazias. | 
| role | Identidade da sessão | Define a função atual. No Aurora DSQL, você só pode definir esse parâmetro usando SET LOCAL dentro de um bloco de transação. | 

O Aurora DSQL gerencia automaticamente os seguintes aspectos do seu banco de dados, para que você não precise configurar os parâmetros correspondentes da sessão do PostgreSQL:
+ **Parâmetros de conexão e rede**: o Aurora DSQL gerencia internamente o ciclo de vida da conexão e as configurações de TCP, incluindo `tcp_keepalives_idle`, `tcp_keepalives_interval` e `tcp_keepalives_count`.
+ **Parâmetros de memória e recursos**: o Aurora DSQL gerencia automaticamente a alocação de memória, incluindo `work_mem` e `shared_buffers`.
+ **Parâmetros de tempo limite**: o Aurora DSQL impõe seus próprios limites de duração da transação, incluindo `statement_timeout`, `lock_timeout` e `idle_in_transaction_session_timeout`.
+ **Parâmetros de replicação e WAL**: o Aurora DSQL gerencia a replicação automaticamente por meio de sua arquitetura multirregional integrada, incluindo `wal_level` e `synchronous_commit`.
+ **Parâmetros de registro**: o Aurora DSQL gerencia o registro internamente, incluindo `log_statement` e `client_min_messages`.
+ **Parâmetros de transação**: o Aurora DSQL usa um nível de isolamento `REPEATABLE READ` fixo para todas as transações. Se o driver precisar especificar um nível de isolamento, use `BEGIN ISOLATION LEVEL REPEATABLE READ`.

## Acessar o Aurora DSQL usando clientes SQL
<a name="accessing-sql-clients"></a>

O Aurora DSQL comporta vários clientes compatíveis com PostgreSQL para conexão com seu cluster. As seções a seguir descrevem como se conectar usando o PostgreSQL com AWS CloudShell ou sua linha de comandos local, bem como ferramentas baseadas em GUI, como DBeaver e JetBrains DataGrip. Cada cliente exige um token de autenticação válido, conforme descrito na seção anterior.

**Topics**
+ [Parâmetros de sessão compatíveis](#accessing-session-parameters)
+ [Acessar o Aurora DSQL usando clientes SQL](#accessing-sql-clients)
+ [Use o DBeaver para acessar o Aurora DSQL](accessing-dbeaver.md)
+ [Usar o JetBrains DataGrip para acessar o Aurora DSQL](accessing-datagrip.md)
+ [Usar o terminal interativo do PostgreSQL (psql) para acessar o Aurora DSQL](accessing-psql.md)
+ [Usar o driver do Aurora DSQL para SQLTools](accessing-vscode.md)
+ [Solução de problemas](#accessing-troubleshooting)

## Solução de problemas
<a name="accessing-troubleshooting"></a>

**Expiração das credenciais de autenticação para os clientes SQL**

As sessões estabelecidas permanecem autenticadas por no máximo 1 hora ou até que ocorra uma desconexão explícita ou um tempo limite do lado do cliente. Se for necessário estabelecer novas conexões, um novo token de autenticação deverá ser gerado e fornecido no campo **Senha** da conexão. Quando você tenta abrir uma nova sessão (por exemplo, para listar novas tabelas ou abrir um novo console do SQL), uma nova tentativa de autenticação é forçada. Se o token de autenticação configurado nas configurações de **Conexão** não for mais válido, essa nova sessão falhará e todas as sessões abertas anteriormente se tornarão inválidas. Tenha isso em mente ao escolher a duração do token de autenticação do IAM com a opção `expires-in` que pode ser definida como 15 minutos por padrão e como um valor máximo de sete dias.

Além disso, consulte a seção [Solução de problemas](https://docs.aws.amazon.com/aurora-dsql/latest/userguide/troubleshooting.html) da documentação do Aurora DSQL.