

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Conectar-se a um data warehouse do Amazon Redshift usando ferramentas de cliente SQL
<a name="connecting-to-cluster"></a>

É possível se conectar a data warehouses do Amazon Redshift por meio de ferramentas de cliente SQL em conexões Java Database Connectivity (JDBC), Python e Open Database Connectivity (ODBC). O Amazon Redshift não fornece nem instala nenhuma ferramenta ou biblioteca de cliente SQL. Para usar essas ferramentas ou bibliotecas para trabalhar com dados nos data warehouses, instale-as no computador cliente ou na instância do Amazon EC2. Você pode usar a maioria das ferramentas do cliente SQL que oferecem suporte aos drivers JDBC, Python ou ODBC. 

Use a lista de seções no final deste tópico para ajudar você a percorrer o processo de configuração de seu computador cliente ou instância do Amazon EC2 para usar uma conexão JDBC, Python ou ODBC. Nesses tópicos, também são discutidas opções de segurança relacionadas para a conexão do cliente ao servidor. Além disso, encontre informações sobre como configurar e se conectar por meio de ferramentas de cliente SQL, como o [Amazon Redshift RSQL](https://docs.aws.amazon.com/redshift/latest/mgmt/rsql-query-tool.html). Experimente essas ferramentas se ainda não tiver uma ferramenta de business intelligence para usar. Também é possível usar esta seção para saber como se conectar a seus dados. Por fim, se você encontrar problemas ao tentar se conectar ao data warehouse, poderá examinar as informações de solução de problemas para identificar soluções.

## Recomendações para conexão com ferramentas do cliente
<a name="connecting-to-cluster-recommendations"></a>

Se você se conectar ao cluster do Redshift usando um endereço IP, isso poderá resultar em tempo de inatividade adicional quando houver interrupção ou perda de conexão e o cluster for colocado on-line em uma nova zona de disponibilidade (AZ). No entanto, se você ainda quiser que a aplicação se conecte ao Redshift utilizando um endereço IP, use o endereço IP privado anexado ao endpoint da nuvem privada virtual (VPC) do cluster. Você pode encontrar isso nos detalhes do cluster em **Rede e segurança**, na guia **Propriedades**. 

**nota**  
Se a aplicação usa o endereço IP do nó líder para acessar o cluster do Redshift, a prática recomendada é alterá-lo para usar o URL do endpoint do cluster. Para obter mais informações, consulte [Configurar conexões no Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/configuring-connections.html).

**Topics**
+ [Recomendações para conexão com ferramentas do cliente](#connecting-to-cluster-recommendations)
+ [Configurar conexões no Amazon Redshift](configuring-connections.md)
+ [Configurar as opções de segurança para conexões](connecting-ssl-support.md)
+ [Conexão de código e ferramentas clientes](connecting-via-client-tools.md)
+ [Usar um perfil de autenticação para se conectar ao Amazon Redshift](connecting-with-authentication-profiles.md)
+ [Solução de problemas de conexão no Amazon Redshift](troubleshooting-connections.md)

# Configurar conexões no Amazon Redshift
<a name="configuring-connections"></a>

Na próxima seção, saiba como configurar as conexões JDBC, Pyhton e ODBC para se conectar ao cluster pelas ferramentas do cliente SQL. Esta seção descreve como configurar conexões JDBC, Pyhton e ODBC. Também descreve como usar o Secure Sockets Layer (SSL) e os certificados de servidores para criptografar as comunicações entre o cliente e o servidor. 

## Drivers JDBC, Pyhton e ODBC para o Amazon Redshift
<a name="connecting-drivers"></a>

Para trabalhar com dados no cluster, você precisa ter os drivers JDBC, Python ou ODBC para estabelecer a conexão do computador cliente ou da instância. Escreva o código de suas aplicações de modo que usem as operações de API de acesso a dados JDBC, Python ou ODBC e use as ferramentas do cliente SQL que oferecem suporte a JDBC, Pyhton ou ODBC.

O Amazon Redshift oferece drivers JDBC, Pyhton e ODBC para baixar. Esses drivers contam com suporte do Suporte. Os drivers PostgreSQL não são testados e nem tê suporte da equipe do Amazon Redshift. Use os drivers específicos do Amazon Redshift ao se conectar a um cluster do Amazon Redshift. Os drivers do Amazon Redshift têm as seguintes vantagens:
+ Compatível com IAM, SSO e autenticação federada.
+ Compatível com novos tipos de dados do Amazon Redshift.
+ Compatível com perfis de autenticação.
+ Melhor performance em conjunto com aprimoramentos do Amazon Redshift.

 Para obter mais informações sobre como baixar os drivers do JDBC e do ODBC e configurar as conexões para o cluster, consulte [Configurar uma conexão para o driver JDBC versão 2.x para o Amazon Redshift](jdbc20-install.md), [Conector Python do Amazon Redshift](python-redshift-driver.md) e [Configurar uma conexão para o driver ODBC versão 2.x para o Amazon Redshift](odbc20-install.md). 

Para obter mais informações sobre o gerenciamento de identidades do IAM, incluindo práticas recomendadas para perfis do IAM, consulte [Gerenciamento de Identidade e Acesso no Amazon Redshift](redshift-iam-authentication-access-control.md).

# Encontrar a string de conexão do cluster
<a name="connecting-connection-string"></a>

Para conectar-se ao cluster com a ferramenta do cliente SQL, você precisa ter a string de conexão do cluster. Você pode encontrar a string de conexão do cluster no console do Amazon Redshift, na página de detalhes de um cluster.

**Para encontrar a string de conexão de um cluster**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon Redshift em [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/).

1. No menu de navegação, escolha **Clusters** e o nome do cluster na lista para abrir os respectivos detalhes.

1. O **URL do JDBC** e **URL do ODBC** estão disponíveis, juntamente com detalhes adicionais, na seção **Informações gerais**. Cada string é baseada na região da AWS em que o cluster é executado. Clique no ícone ao lado da string de conexão apropriada para copiá-la.

Para se conectar a um endpoint de cluster, você pode usar o URL do endpoint de cluster de uma [solicitação da API DescribeClusters](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusters.html). Veja a seguir um exemplo de URL de endpoint de cluster.

```
mycluster.cmeaswqeuae.us-east-2.redshift.amazonaws.com
```

Se você configurou um nome de domínio personalizado para o cluster, também poderá usá-lo para se conectar ao cluster. Para obter mais informações sobre como criar um nome de domínio personalizado, consulte [Configurar um nome de domínio personalizado](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-connection-CNAME-connect.html).

**nota**  
Ao se conectar, não use o endereço IP de um nó do cluster nem o endereço IP do endpoint da VPC. Sempre use o endpoint do Redshift para evitar interrupção desnecessária. A única exceção ao uso do URL do endpoint é quando você utiliza um nome de domínio personalizado. Para obter mais informações, consulte [Usar nome de domínio personalizado para conexões de clientes](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-connection-CNAME.html).

# Configurar uma conexão para o driver JDBC versão 2.x para o Amazon Redshift
<a name="jdbc20-install"></a>

Você pode usar uma conexão do driver JDBC versão 2.x para se conectar ao cluster do Amazon Redshift a partir de várias ferramentas de cliente SQL de terceiros. O conector JDBC do Amazon Redshift oferece uma solução de código-fonte aberto. É possível navegar pelo código-fonte, solicitar aprimoramentos, relatar problemas e fornecer contribuições. 

Para obter as informações mais recentes sobre as alterações do driver JDBC, consulte [Changelog](https://github.com/aws/amazon-redshift-jdbc-driver/blob/master/CHANGELOG.md).

Por padrão, o driver JDBC do Amazon Redshift é configurado para usar keepalives TCP para evitar que o tempo limite das conexões se esgote. Você pode especificar quando o driver começa a enviar pacotes keepalive ou desligar o recurso definindo as propriedades relevantes no URL de conexão. Para obter mais informações sobre a sintaxe do URL de conexão, consulte [Construir o URL de conexão](jdbc20-build-connection-url.md).


| Propriedade | Descrição | 
| --- | --- | 
|  `TCPKeepAlive`  |  Para desativar as keepalives de TCP, defina essa propriedade como `FALSE`.  | 

**Topics**
+ [Baixe o driver JDBC do Amazon Redshift, versão 2.1](jdbc20-download-driver.md)
+ [Instalar o driver JDBC do Amazon Redshift, versão 2.2](jdbc20-install-driver.md)
+ [Obter o URL do JDBC](jdbc20-obtain-url.md)
+ [Construir o URL de conexão](jdbc20-build-connection-url.md)
+ [Configurar uma conexão JDBC com o Apache Maven](configure-jdbc20-connection-with-maven.md)
+ [Configurar a autenticação e o SSL](jdbc20-configure-authentication-ssl.md)
+ [Configurar o registro em log da](jdbc20-configuring-logging.md)
+ [Conversões de tipos de dados](jdbc20-data-type-mapping.md)
+ [Usando suporte a instruções preparadas](jdbc20-prepared-statement-support.md)
+ [Diferenças entre as versões 2.2 e 1.x do driver JDBC](jdbc20-jdbc10-driver-differences.md)
+ [Criar arquivos de inicialização (.ini) para o driver JDBC versão 2.x](jdbc20-ini-file.md)
+ [Opções para a configuração do driver JDBC versão 2.x](jdbc20-configuration-options.md)
+ [Versões anteriores do driver JDBC versão 2.x](jdbc20-previous-driver-version-20.md)

# Baixe o driver JDBC do Amazon Redshift, versão 2.1
<a name="jdbc20-download-driver"></a>

**nota**  
O driver JDBC 2.x do Amazon Redshift não foi projetado para ser thread-safe. Dois ou mais threads que tentam usar simultaneamente a mesma conexão podem ocasionar deadlocks, erros, resultados incorretos ou outros comportamentos inesperados.  
Se você tiver uma aplicação multithread, recomendamos sincronizar o acesso ao driver para evitar o acesso simultâneo.

O Amazon Redshift oferece drivers para ferramentas compatíveis com a API JDBC 4.2. O nome da classe deste driver é `com.amazon.redshift.Driver`.

Para obter informações detalhadas sobre como instalar o driver JDBC, consulte as bibliotecas do driver JDBC e registre a classe do driver, consulte os tópicos a seguir. 

Para cada computador em que você usa o driver Amazon Redshift JDBC versão 2.x, verifique se o Java Runtime Environment (JRE) 8.0 está instalado. 

Se você usar o driver JDBC Amazon Redshift para autenticação de banco de dados, certifique-se de ter AWS SDK para Java 1.11.118 ou posterior em seu caminho de classe Java. Se você não tiver AWS SDK para Java instalado, baixe o arquivo ZIP com as bibliotecas dependentes de driver e driver compatíveis com JDBC 4.2 para o AWS SDK:
+ [Driver compatível com JDBC 4.2 versão 2.x e bibliotecas dependentes do driver AWS SDK](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.5/redshift-jdbc42-2.2.5.zip) 

  Este arquivo ZIP contém o driver compatível com JDBC 4.2 versão 2.x e arquivos de biblioteca dependentes do driver AWS SDK para Java 1.x. Descompacte os arquivos jar dependentes no mesmo local que o driver JDBC. Somente o driver JDBC precisa estar no CLASSPATH.

  Este arquivo ZIP não inclui o AWS SDK for Java 1.x. No entanto, ele inclui as bibliotecas dependnetes de driver 1.x AWS SDK for Java que são necessárias para autenticação de banco de dados do AWS Identity and Access Management (IAM).

  Use este driver JDBC do Amazon Redshift com o AWS SDK necessário para a autenticação do banco de dados do IAM.

  Para instalar o AWS SDK for Java 1.x, consulte [AWSSDK for Java 1.x](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/welcome.html) no *Guia do desenvolvedor do AWS SDK para Java*. 
+ [Driver compatível com JDBC 4.2 versão 2.x (sem o AWS SDK)](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.5/redshift-jdbc42-2.2.5.jar) 

Revise a licença do software JDBC versão 2.x e altere o arquivo de log: 
+ [Licença do driver JDBC versão 2.x](https://github.com/aws/amazon-redshift-jdbc-driver/blob/master/LICENSE) 
+ [Log de alteração do driver JDBC versão 2.x](https://github.com/aws/amazon-redshift-jdbc-driver/blob/master/CHANGELOG.md)

Os drivers JDBC versão 1.2.27.1051 e posteriores oferecem suporte a procedimentos armazenados do Amazon Redshift. Para obter mais informações, consulte [Como criar procedimentos armazenados no Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/stored-procedure-overview.html) no *Guia do desenvolvedor de banco de dados do Amazon Redshift*. 

# Instalar o driver JDBC do Amazon Redshift, versão 2.2
<a name="jdbc20-install-driver"></a>

Para instalar a versão 2.x do driver compatível com o Amazon Redshift JDBC 4.2 e as bibliotecas dependentes de driver para o AWS SDK, extraia os arquivos do arquivo ZIP para o diretório de sua preferência. 

Para instalar o driver compatível com o Amazon Redshift JDBC 4.2 versão 2.x (sem o AWS SDK), copie o arquivo JAR para o diretório de sua preferência.

Para acessar um armazenamento de dados do Amazon Redshift usando o driver JDBC do Amazon Redshift, você precisa executar a configuração conforme descrito a seguir.

**Topics**
+ [Referenciar as bibliotecas de driver JDBC](jdbc20-driver-libraries.md)
+ [Registrar a classe de driver](jdbc20-register-driver-class.md)

# Referenciar as bibliotecas de driver JDBC
<a name="jdbc20-driver-libraries"></a>

A aplicação JDBC ou código Java que você usa para se conectar aos seus dados deve acessar os arquivos JAR do driver. Na aplicação ou código, especifique todos os arquivos JAR extraídos do arquivo ZIP. 

## Usar o driver em uma aplicação JDBC
<a name="jdbc20-use-driver-jdbc-app"></a>

As aplicações JDBC geralmente fornecem um conjunto de opções de configuração para adicionar uma lista de arquivos de biblioteca de drivers. Use as opções fornecidas para incluir todos os arquivos JAR do arquivo ZIP como parte da configuração do driver na aplicação. Para obter mais informações, consulte a documentação de sua aplicação JDBC. 

## Usar o driver no código Java
<a name="jdbc20-use-driver-java-code"></a>

Você deve incluir todos os arquivos de biblioteca de driver no caminho da classe. Este é o caminho que o Java Runtime Environment procura por classes e outros arquivos de recursos. Para obter mais informações, consulte a documentação apropriada do Java SE para definir o caminho da classe para o seu sistema operacional. 
+ Windows: [https://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html](https://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html)
+ Linux e Solaris: [https://docs.oracle.com/javase/7/docs/technotes/tools/solaris/classpath.html](https://docs.oracle.com/javase/7/docs/technotes/tools/solaris/classpath.html)
+ macOS: o caminho padrão da classe macOS é o diretório no qual o driver JDBC está instalado.

# Registrar a classe de driver
<a name="jdbc20-register-driver-class"></a>

Certifique-se de registrar a classe apropriada para a sua aplicação. Use as seguintes classes para conectar o driver JDBC do Amazon Redshift aos armazenamentos de dados do Amazon Redshift:
+ `Driver` Classes estendem `java.sql.Driver`.
+ Classes `DataSource` estendem `javax.sql.DataSource` e `javax.sql.ConnectionPoolDataSource`.

O driver suporta os seguintes nomes de classe totalmente qualificados que são independentes da versão JDBC:
+ `com.amazon.redshift.jdbc.Driver`
+ `com.amazon.redshift.jdbc.DataSource`

O exemplo a seguir mostra como usar a classe DriverManager para estabelecer uma conexão para JDBC 4.2.

```
            private static Connection connectViaDM() throws Exception
{
Connection connection = null;
connection = DriverManager.getConnection(CONNECTION_URL);
return connection;
}
```

O exemplo a seguir mostra como usar a classe `DataSource` para estabelecer uma conexão.

```
 private static Connection connectViaDS() throws Exception
{
Connection connection = null;
11
Amazon Redshift JDBC Driver Installation and Configuration Guide
DataSource ds = new com.amazon.redshift.jdbc.DataSource
();
ds.setURL(CONNECTION_URL);
connection = ds.getConnection();
return connection;
}
```

# Obter o URL do JDBC
<a name="jdbc20-obtain-url"></a>

Antes de se conectar ao seu cluster Amazon Redshift a partir de uma ferramenta de cliente SQL, você precisa saber o URL do JDBC do seu cluster. O URL do JDBC tem o seguinte formato: `jdbc:redshift://endpoint:port/database`.

Os campos do formato anterior possuem os valores a seguir.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/jdbc20-obtain-url.html)

Este é um exemplo de URL do JDBC: `jdbc:redshift://examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com:5439/dev` 

Se os valores de URL contiverem qualquer um dos seguintes caracteres reservados de URI, eles deverão ser codificados em URL:
+  ; 
+  \$1 
+  \$1 
+  \$1 
+  [ 
+  ] 
+  & 
+  = 
+  ? 
+  um espaço vazio 

Por exemplo, se o valor `PWD` for `password:password`, um URL de conexão que usa esse valor seria assim:

`jdbc:redshift://redshift.company.us-west-1.redshift.amazonaws.com:9000/dev;UID=amazon;PWD=password%3Apassword`

Para obter informações sobre como obter sua conexão JDBC, consulte [Encontrar a string de conexão do cluster](connecting-connection-string.md). 

Se a conexão do computador cliente com o banco de dados falhar, você pode tentar solucionar os possíveis problemas. Para obter mais informações, consulte [Solução de problemas de conexão no Amazon Redshift](troubleshooting-connections.md). 

# Construir o URL de conexão
<a name="jdbc20-build-connection-url"></a>

Use o URL de conexão para fornecer informações de conexão ao armazenamento de dados que você está acessando. A seguir está o formato da URL de conexão do driver JDBC do Amazon Redshift versão 2.x. Aqui, [Host] é o endpoint do servidor Amazon Redshift e [Port] é o número da porta Transmission Control Protocol (TCP) que o servidor usa para atender solicitações de clientes.

```
jdbc:redshift://[Host]:[Port]
```

Segue-se o formato de um URL de ligação que especifica algumas definições opcionais.

```
jdbc:redshift://[Host]:[Port]/[database];[Property1]=[Value];
[Property2]=[Value];
```

Se os valores de URL contiverem qualquer um dos seguintes caracteres reservados de URI, eles deverão ser codificados em URL:
+  ; 
+  \$1 
+  \$1 
+  \$1 
+  [ 
+  ] 
+  & 
+  = 
+  ? 
+  um espaço vazio 

Por exemplo, se o valor `PWD` for `password:password`, um URL de conexão que usa esse valor seria assim:

`jdbc:redshift://redshift.company.us-west-1.redshift.amazonaws.com:9000/dev;UID=amazon;PWD=password%3Apassword`

Por exemplo, suponha que você queira se conectar à porta 9000 em um cluster do Amazon Redshift na região Oeste dos EUA (Norte da Califórnia) na AWS. Você também deseja acessar o banco de dados chamado `dev` e autenticar a conexão usando um nome de usuário e senha do banco de dados. Nesse caso, use o URL de conexão a seguir.

```
jdbc:redshift://redshift.company.us-west-1.redshift.amazonaws.com:9000/dev;UID=amazon;PWD=amazon
```

Você pode usar os seguintes caracteres para separar as opções de configuração do restante da string de URL:
+ ;
+ ?

Por exemplo, as strings de URL a seguir são equivalentes:

```
jdbc:redshift://my_host:5439/dev;ssl=true;defaultRowFetchSize=100
```

```
jdbc:redshift://my_host:5439/dev?ssl=true;defaultRowFetchSize=100
```

Você pode usar os seguintes caracteres para separar as opções de configuração umas das outras na string de URL:
+ ;
+ &

Por exemplo, as strings de URL a seguir são equivalentes:

```
jdbc:redshift://my_host:5439/dev;ssl=true;defaultRowFetchSize=100
```

```
jdbc:redshift://my_host:5439/dev;ssl=true&defaultRowFetchSize=100
```

O exemplo de URL a seguir especifica um nível de log de 6 e o caminho para os logs.

```
jdbc:redshift://redshift.amazonaws.com:5439/dev;DSILogLevel=6;LogPath=/home/user/logs;
```

Não duplique propriedades no URL de conexão.

Para obter uma lista completa das opções de configuração que você pode especificar, consulte [Opções para a configuração do driver JDBC versão 2.x](jdbc20-configuration-options.md). 

**nota**  
Ao se conectar, não use o endereço IP de um nó do cluster nem o endereço IP do endpoint da VPC. Sempre use o endpoint do Redshift para evitar interrupção desnecessária. A única exceção ao uso do URL do endpoint é quando você utiliza um nome de domínio personalizado. Para obter mais informações, consulte [Usar nome de domínio personalizado para conexões de clientes](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-connection-CNAME.html).

# Configurar uma conexão JDBC com o Apache Maven
<a name="configure-jdbc20-connection-with-maven"></a>

O Apache Maven é uma ferramenta de gerenciamento e compreensão de projetos de software. O AWS SDK para Java é compatível com os projetos do Apache Maven. Para obter mais informações, consulte [Usar o SDK com o Apache Maven](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-project-maven.html) no *Guia do desenvolvedor do AWS SDK para Java*. 

Se você usa o Apache Maven, pode configurar e construir seus projetos para usar um driver JDBC do Amazon Redshift para se conectar ao seu cluster do Amazon Redshift. Para fazer isso, adicione o driver JDBC como uma dependência no arquivo `pom.xml` do projeto. Se você usa o Maven para compilar um projeto e deseja usar uma conexão JDBC, siga as etapas da próxima seção. 

**Como configurar o driver JDBC como uma dependência do Maven**

1. Adicione o repositório Amazon ou o repositório Maven Central à seção de repositórios do arquivo `pom.xml`.
**nota**  
O URL exibido no exemplo de código a seguir retornará um erro se for usado em um navegador. Use este URL somente no contexto de um projeto Maven.

   Para conectar-se usando Secure Sockets Layer (SSL), adicione o repositório a seguir ao arquivo `pom.xml`.

   ```
   <repositories>
       <repository>
         <id>redshift</id>
         <url>https://s3.amazonaws.com/redshift-maven-repository/release</url>
       </repository>
   </repositories>
   ```

   Para um repositório Maven Central, adicione o seguinte ao arquivo `pom.xml`:

   ```
   <repositories>
       <repository>
         <id>redshift</id>
         <url>https://repo1.maven.org/maven2</url>
       </repository>
   </repositories>
   ```

1. Declare a versão do driver que deseja usar na seção de dependências do arquivo `pom.xml`.

   O Amazon Redshift oferece drivers para ferramentas compatíveis com a API JDBC 4.2. Para obter informações sobre a funcionalidade compatível com esses drivers, consulte [Baixe o driver JDBC do Amazon Redshift, versão 2.1](jdbc20-download-driver.md). 

   Substitua `driver-version` no exemplo a seguir com a versão do driver, por exemplo `2.1.0.1`. Para um driver compatível com JDBC 4.2, use o seguinte: 

   ```
   <dependency>
      <groupId>com.amazon.redshift</groupId>
      <artifactId>redshift-jdbc42</artifactId>
      <version>driver-version</version>
   </dependency>
   ```

   O nome da classe deste driver é `com.amazon.redshift.Driver`.

Os drivers do Amazon Redshift Maven precisam das dependências opcionais a seguir quando você usa a autenticação de banco de dados do IAM. 

```
<dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-core</artifactId>
      <version>1.12.23</version>
      <scope>runtime</scope>
      <optional>true</optional>
</dependency>
    <dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-redshift</artifactId>
      <version>1.12.23</version>
      <scope>runtime</scope>
      <optional>true</optional>
</dependency>
<dependency>
      <groupId>com.amazonaws</groupId>
      <artifactId>aws-java-sdk-sts</artifactId>
      <version>1.12.23</version>
      <scope>runtime</scope>
      <optional>true</optional>
</dependency>
```

Para atualizar ou alterar o driver JDBC do Amazon Redshift para a versão mais recente, primeiro modifique a seção de versão da dependência para a versão mais recente do driver. Limpe seu projeto com o Maven Clean Plugin, conforme mostrado a seguir. 

```
mvn clean
```

# Configurar a autenticação e o SSL
<a name="jdbc20-configure-authentication-ssl"></a>

Para proteger os dados contra acesso não autorizado, os armazenamentos de dados do Amazon Redshift exigem que todas as conexões sejam autenticadas usando credenciais do usuário. Alguns armazenamentos de dados também exigem conexões a serem feitas através do protocolo Secure Sockets Layer (SSL) com ou sem autenticação unidirecional.

O driver JDBC do Amazon Redshift versão 2.x fornece suporte completo a esses protocolos de autenticação. 

A versão SSL que o driver suporta depende da versão JVM que você está usando. Para obter informações sobre as versões SSL compatíveis com cada versão do Java, consulte [Diagnosticar TLS, SSL e HTTPS](https://blogs.oracle.com/java-platform-group/diagnosing-tls,-ssl,-and-https) no Blog de gerenciamento de produtos do grupo de plataformas Java. 

A versão SSL usada para a conexão é a versão mais alta aceita pelo driver e pelo servidor, que é determinada no momento da conexão.

Configure o driver JDBC versão 2.x do Amazon Redshift para autenticar a conexão de acordo com os requisitos de segurança do servidor do Redshift ao qual você está se conectando. 

Você deve sempre fornecer seu nome de usuário e senha do Redshift para autenticar a conexão. Se o SSL estiver habilitado e for necessário no servidor, também poderá ser necessário configurar o driver para se conectar por meio do SSL. Você deve sempre fornecer seu nome de usuário e senha do Amazon Redshift para autenticar a conexão. ... 

Você fornece as informações de configuração para o driver no URL de conexão. Para obter mais informações sobre a sintaxe do URL de conexão, consulte [Construir o URL de conexão](jdbc20-build-connection-url.md). 

*SSL* indica TLS/SSL, ambos Transport Layer Security e Secure Sockets Layer. O driver suporta versões padrão do setor de TLS/SSL. 

## Configurar a autenticação do IAM
<a name="jdbc20-configure-iam-authentication"></a>

Se você estiver se conectando a um servidor do Amazon Redshift usando a autenticação do IAM, defina as propriedades a seguir como parte da cadeia de conexão da fonte de dados. 

 Para obter mais informações sobre a autenticação do IAM, consulte [Gerenciamento de Identidade e Acesso no Amazon Redshift](redshift-iam-authentication-access-control.md).

Para usar a autenticação do IAM, use um dos seguintes formatos de string de conexão:


| String de conexão | Descrição | 
| --- | --- | 
|  `jdbc:redshift:iam:// [host]:[port]/[db]`  |  Uma string de conexão regular. O driver infere o ClusterID e a região do host.  | 
|  `jdbc:redshift:iam:// [cluster-id]: [region]/[db]`  |  O driver recupera informações do host, dado o ClusterID e a Região.  | 
|  `jdbc:redshift:iam:// [host]/[db]`  |  O driver usa como padrão a porta 5439 e infere ClusterID e Região do host. Dependendo da porta selecionada ao criar, modificar ou migrar o cluster, permita o acesso à porta selecionada.   | 

## Especificar perfis
<a name="jdbc20-aws-credentials-profiles"></a>

Se você estiver usando a autenticação do IAM, poderá especificar quaisquer propriedades de conexão adicionais obrigatórias ou opcionais sob um nome de perfil. Ao fazer isso, você pode evitar colocar certas informações diretamente na cadeia de conexão. Você especifica o nome do perfil na cadeia de conexão usando a propriedade Perfil. 

Os perfis podem ser adicionados ao arquivo de credenciais AWS. O local padrão para esse arquivo é .: `~/.aws/credentials` 

Você pode alterar o valor padrão, definindo o caminho na seguinte variável de ambiente: `AWS_CREDENTIAL_PROFILES_FILE` 

 Para obter mais informações sobre perfis, consulte [Trabalhar com credenciais da AWS](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html) no *AWS SDK para Java*. 

## Usar credenciais de perfil da instância
<a name="jdbc20-instance-profile-credentials"></a>

Se você estiver executando uma aplicação em uma instância do Amazon EC2 associada a uma função do IAM, você poderá se conectar usando as credenciais do perfil da instância. 

Para fazer isso, use um dos formatos de string de conexão do IAM na tabela anterior e defina a propriedade de conexão DbUser com o nome de usuário do Amazon Redshift que você está usando para se conectar. 

Para obter mais informações sobre perfis de instância, consulte [Gerenciamento de acesso](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) no *Manual do usuário do IAM*. 

## Usar provedores de credenciais.
<a name="jdbc20-aws-credentials-provider"></a>

O driver também oferece suporte a plugins de provedores de credenciais dos seguintes serviços: 
+ Centro de Identidade do AWS IAM
+ Serviço de Federação do Active Directory (AD FS)
+ Serviço JSON Web Tokens (JWT)
+ Serviço Microsoft Azure Active Directory (AD) e navegador e serviço Microsoft Azure Active Directory (AD)
+ Serviço Okta
+ Serviço PingFederate 
+ Navegador SAML para serviços SAML como Okta, Ping ou ADFS

Se você usar um desses serviços, o URL de conexão precisará especificar as seguintes propriedades: 
+ **Plugin\$1Name** — O caminho de classe totalmente qualificado para sua classe de plug-in do provedor de credenciais.
+ **IdP\$1Host:** — O host do serviço que você está usando para autenticar no Amazon Redshift.
+ **IdP\$1Port** — A porta na qual o host do serviço de autenticação escuta. Não é necessário para o Okta.
+ **Usuário**: nome do usuário do servidor idp\$1host.
+ **Senha**: a senha associada ao nome do usuário idp\$1host.
+ **DbUser**: o nome de usuário do Amazon Redshift que você está usando para se conectar.
+ **SSL\$1Insecure** — Indica se o certificado do servidor IDP deve ser verificado.
+ **Client\$1ID**: o ID do cliente associado ao nome de usuário no portal do Azure AD. Usado somente para o Azure AD.
+ **Client\$1Secret** — O segredo do cliente associado ao ID do cliente no portal Azure AD. Usado somente para o Azure AD.
+ **IdP\$1Tenant** — O ID de locatário do Azure AD para sua aplicação Amazon Redshift. Usado somente para o Azure AD.
+ **App\$1ID** — O ID do aplicativo Okta para sua aplicação Amazon Redshift. Usado apenas para o Okta.
+ **App\$1Name** — O nome da aplicação Okta opcional para sua aplicação Amazon Redshift. Usado apenas para o Okta.
+ **Partner\$1SPID** — O valor SPID de parceiro opcional (ID do provedor de serviços). Usado somente para o PingFederate.
+ **Idc\$1Region**: a Região da AWS onde a instância do Centro de Identidade do AWS IAM está localizada. Usado somente para o Centro de Identidade do AWS IAM.
+ **Issuer\$1Url**: o endpoint da instância do servidor do Centro de Identidade do AWS IAM. Usado somente para o Centro de Identidade do AWS IAM.

Se você estiver usando um plug-in de navegador para um desses serviços, o URL de conexão também pode incluir: 
+ **Login\$1URL** — O URL do recurso no site do provedor de identidades ao usar o Security Assertion Markup Language )SAML) ou os serviços do Azure AD por meio de um plug-in do navegador. Esse parâmetro é necessário se você estiver usando um plug-in do navegador.
+ **Listen\$1Port**: a porta que o driver usa para obter a resposta SAML do provedor de identidades ao usar os serviços SAML, Azure AD ou Centro de Identidade do AWS IAM por meio de um plug-in de navegador.
+ **IdP\$1Response\$1Timeout**: a quantidade de tempo, em segundos, que o driver aguarda pela resposta SAML do provedor de identidades ao usar os serviços SAML, Azure AD ou Centro de Identidade do AWS IAM por meio de um plug-in de navegador.

Para obter mais informações sobre as propriedades de string de conexão, consulte [Opções para a configuração do driver JDBC versão 2.x](jdbc20-configuration-options.md). 

# Usar somente nome de usuário e senha
<a name="jdbc20-authentication-username-password"></a>

Se o servidor ao qual você está se conectando não usar SSL, só será necessário fornecer seu nome de usuário e senha do Redshift para autenticar a conexão. 

**Como configurar a autenticação usando apenas o nome de usuário e a senha do Redshift**

1. Defina a propriedade `UID` como seu nome de usuário do Redshift para acessar o servidor do Amazon Redshift.

1. Defina a propriedade PWD como a senha correspondente ao seu nome de usuário do Redshift.

# Usar SSL sem verificação de identidade
<a name="jdbc20-use-ssl-without-identity-verification"></a>

Se o servidor ao qual você está se conectando usar SSL, mas não exigir verificação de identidade, você poderá configurar o driver para usar uma fábrica SSL não validada. 

**Para configurar uma conexão SSL sem verificação de identidade**

1. Defina a propriedade `UID` como seu nome de usuário do Redshift para acessar o servidor do Amazon Redshift.

1. Defina a propriedade `PWD` como a senha correspondente ao seu nome de usuário do Redshift.

1. Defina a propriedade `SSLFactory` como `com.amazon.redshift.ssl.NonValidatingFactory`.

# Usar autenticação SSL unidirecional
<a name="jdbc20-use-one-way-SSL-authentication"></a>

Se o servidor ao qual você está se conectando usar SSL e tiver um certificado, você poderá configurar o driver para verificar a identidade do servidor usando a autenticação unidirecional. 

A autenticação unidirecional requer um certificado SSL assinado e confiável para verificar a identidade do servidor. Você pode configurar o driver para usar um certificado específico ou acessar um TrustStore que contém o certificado apropriado. Se você não especificar um certificado ou TrustStore, o driver usará o Java TrustStore padrão (normalmente `jssecacerts` ou `cacerts`). 

**Para configurar a autenticação SSL unidirecional**

1. Defina a propriedade UID como seu nome de usuário do Redshift para acessar o servidor do Amazon Redshift.

1. Defina a propriedade PWD como a senha correspondente ao seu nome de usuário do Redshift.

1. Defina a propriedade SSL como true.

1. Defina a propriedade SSLRootCert como o local do certificado CA raiz.

1. Se você não estiver usando um dos Java TrustStores padrão, execute uma das seguintes ações:
   + Para especificar um certificado de servidor, defina a propriedade SSLRootCert como o caminho completo do certificado.
   + Para especificar um TrustStore, faça o seguinte:

     1. Utilize o programa keytool para adicionar o certificado de servidor à TrustStore que pretende utilizar.

     1. Especifique a TrustStore e a senha a serem usadas ao iniciar a aplicação Java usando o driver. Por exemplo:

        ```
        -Djavax.net.ssl.trustStore=[TrustStoreName]
        -Djavax.net.ssl.trustStorePassword=[TrustStorePassword]
        -Djavax.net.ssl.trustStoreType=[TrustStoreType]
        ```

1. Escolha uma:
   + Para validar o certificado, defina a propriedade SSLMode como verify-ca.
   + Para validar o certificado e verificar o nome do host no certificado, defina a propriedade SSLMode como verify-full.

# Configurar o registro em log da
<a name="jdbc20-configuring-logging"></a>

Você pode ativar o login no driver para ajudar no diagnóstico de problemas.

Você pode registrar as informações do driver usando os seguintes métodos:
+ Para salvar informações registradas em arquivos.log, consulte [Usar arquivos de log](jdbc20-using-log-files.md).
+ Para enviar informações registradas em log para o LogStream ou LogWriter especificado no DriverManager, consulte [Usar LogStream ou LogWriter](jdbc20-logstream-option.md). 

Você fornece as informações de configuração para o driver no URL de conexão. Para obter mais informações sobre a sintaxe do URL de conexão, consulte [Construir o URL de conexão](jdbc20-build-connection-url.md).

# Usar arquivos de log
<a name="jdbc20-using-log-files"></a>

Ative o registro somente por tempo suficiente para capturar um problema. O registro em log diminui a performance e pode consumir uma grande quantidade de espaço em disco. 

Defina a chave LogLevel no URL de conexão para ativar o registro em logs e especifique a quantidade de detalhes incluídos nos arquivos de log. A tabela a seguir lista os níveis de registro fornecidos pelo driver JDBC versão 2.x do Amazon Redshift, em ordem de menos detalhado para mais detalhado. 


| Valor LogLevel | Descrição | 
| --- | --- | 
|  1  |  Registre eventos de erros graves que farão com que o driver aborte.  | 
|  2  |  Registre eventos de erro que podem permitir que o driver continue em execução.  | 
|  3  |  Registre eventos que podem resultar em um erro se a ação não for executada. Esse nível de registro em log e os níveis de registro em log acima dele também registram as consultas do usuário.  | 
|  4  |  Registre informações gerais que descrevem o andamento do driver.  | 
|  5  |  Registre informações detalhadas que são úteis para depurar o driver.  | 
|  6  |  Registre todas as atividades do driver.  | 

**Para configurar o registro em log que usa arquivos de log**

1. Defina a propriedade LogLevel para o nível desejado de informações a serem incluídas nos arquivos de log.

1. Defina a propriedade LogPath com o caminho completo para a pasta onde deseja salvar os arquivos de log. 

   Por exemplo, o seguinte URL de conexão habilita o nível de log 3 e salva os arquivos de log na pasta C:\$1temp: `jdbc:redshift://redshift.company.us-west- 1.redshift.amazonaws.com:9000/Default;DSILogLevel=3;LogPath=C:\temp`

1. Para garantir que as novas configurações entrem em vigor, reinicie a aplicação JDBC e reconecte-se ao servidor.

   O driver JDBC do Amazon Redshift produz os seguintes arquivos de log no local especificado na propriedade LogPath:
   +  redshift\$1jdbc.log que registra a atividade do driver que não é específica para uma conexão.
   + Arquivo de log redshift\$1jdbc\$1connection\$1[Number]. para cada conexão feita com o banco de dados, onde [Number] é um número que identifica cada arquivo de log. Este arquivo registra a atividade do driver que é específica para a conexão.

Se o valor LogPath for inválido, o driver enviará as informações registradas para o fluxo de saída padrão (`System.out`)

# Usar LogStream ou LogWriter
<a name="jdbc20-logstream-option"></a>

Ative o registro somente por tempo suficiente para capturar um problema. O registro em log diminui a performance e pode consumir uma grande quantidade de espaço em disco. 

Defina a chave LogLevel no URL de conexão para ativar o registro em log e especifique a quantidade de detalhes enviados para o LogStream ou LogWriter especificado no DriverManager. 

**Para ativar o registro em log que usa o LogStream ou LogWriter:**

1. Para configurar o driver para registrar informações gerais que descrevem o andamento do driver, defina a propriedade LogLevel como 1 ou INFO.

1. Para garantir que as novas configurações entrem em vigor, reinicie a aplicação JDBC e reconecte-se ao servidor.

# Conversões de tipos de dados
<a name="jdbc20-data-type-mapping"></a>

O driver JDBC versão 2.x do Amazon Redshift é compatível com muitos formatos de dados comuns, convertendo entre tipos de dados do Amazon Redshift, SQL e Java.

A tabela a seguir lista os mapeamentos de tipo de dados compatíveis.


| Tipo do Amazon Redshift | Tipo SQL | Tipo Java | 
| --- | --- | --- | 
|  BIGINT  |  SQL\$1BIGINT  |  Longo  | 
|  BOOLEAN  |  SQL\$1BIT  |  Booleano  | 
|  CHAR  |  SQL\$1CHAR  |  String  | 
|  DATE  |  SQL\$1TYPE\$1DATE  |  java.sql.Date  | 
|  DECIMAL  |  SQL\$1NUMERIC  |  BigDecimal  | 
|  DOUBLE PRECISION  |  SQL\$1DOUBLE  |  Duplo  | 
|  GEOMETRY  |  SQL\$1 LONGVARBINARY  |  byte[]  | 
|  INTEGER  |  SQL\$1INTEGER  |  Inteiro  | 
|  OID  |  SQL\$1BIGINT  |  Longo  | 
|  SUPER  |  SQL\$1LONGVARCHAR  |  String  | 
|  REAL  |  SQL\$1REAL  |  Float  | 
|  SMALLINT  |  SQL\$1SMALLINT  |  Short  | 
|  TEXT  |  SQL\$1VARCHAR  |  String  | 
|  TIME  |  SQL\$1TYPE\$1TIME  |  java.sql.Time  | 
|  TIMETZ  |  SQL\$1TYPE\$1TIME  |  java.sql.Time  | 
|  TIMESTAMP  |  SQL\$1TYPE\$1 TIMESTAMP  |  java.sql.Timestamp  | 
|  TIMESTAMPTZ  |  SQL\$1TYPE\$1 TIMESTAMP  |  java.sql.Timestamp  | 
|  VARCHAR  |  SQL\$1VARCHAR  |  String  | 

# Usando suporte a instruções preparadas
<a name="jdbc20-prepared-statement-support"></a>

O driver JDBC do Amazon Redshift é compatível com instruções preparadas. Você pode usar instruções preparadas para melhorar a performance de consultas parametrizadas que precisam ser executadas várias vezes durante a mesma conexão.

Uma *instrução preparada* é uma instrução SQL que é compilada no lado do servidor, mas não é executada imediatamente. A instrução compilada é armazenada no servidor como um objeto PreparedStatement até que você feche o objeto ou a conexão. Enquanto esse objeto existe, você pode executar a instrução preparada tantas vezes quantas forem necessárias usando diferentes valores de parâmetro, sem ter que compilar a instrução novamente. Essa sobrecarga reduzida permite que o conjunto de consultas seja executado mais rapidamente.

Para obter mais informações sobre instruções preparadas, consulte “Usando instruções preparadas” no [Tutorial básico do JDBC Basics da Oracle](https://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html).

Você pode preparar uma instrução que contenha várias consultas. Por exemplo, a seguinte instrução preparada contém duas consultas INSERT:

```
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO
MyTable VALUES (1, 'abc'); INSERT INTO CompanyTable VALUES
(1, 'abc');");
```

Tenha cuidado para que essas consultas não dependam dos resultados de outras consultas que são especificadas dentro da mesma instrução preparada. Como as consultas não são executadas durante a etapa de preparação, os resultados ainda não foram retornados e não estão disponíveis para outras consultas na mesma instrução preparada.

Por exemplo, a seguinte instrução preparada, que cria uma tabela e, em seguida, insere valores nessa tabela recém-criada, não é permitida:

```
PreparedStatement pstmt = conn.prepareStatement("CREATE
TABLE MyTable(col1 int, col2 varchar); INSERT INTO myTable
VALUES (1, 'abc');");
```

Se você tentar preparar essa instrução, o servidor retorna um erro informando que a tabela de destino (MyTable) ainda não existe. A consulta CREATE deve ser executada antes que a consulta INSERT possa ser preparada.

# Diferenças entre as versões 2.2 e 1.x do driver JDBC
<a name="jdbc20-jdbc10-driver-differences"></a>

Esta seção descreve as diferenças nas informações retornadas pelas versões 2.2 e 1.x do driver JDBC. O driver JDBC versão 1.x foi descontinuado.

A tabela a seguir lista as informações DatabaseMetadata retornadas pelas funções GetDatabaseProductName() e getDatabaseProductVersion() para cada versão do driver JDBC. O driver JDBC versão 2.2 obtém os valores ao estabelecer a conexão. O driver JDBC versão 1.x obtém os valores como resultado de uma consulta.


| Versão do driver JDBC | Resultado getDatabaseProductName() | Resultado getDatabaseProductVersion() | 
| --- | --- | --- | 
|  2.2  |  Redshift  |  8.0.2  | 
|  1.x  |  PostgreSQL  |  08.00.0002  | 

A tabela a seguir lista as informações DatabaseMetadata retornadas pela função getTypeInfo para cada versão do driver JDBC. 


| Versão do driver JDBC | Resultado do getTypeInfo | 
| --- | --- | 
|  2.2  |  Consistente com tipos de dados do Redshift  | 
|  1.x  |  Consistente com tipos de dados do PostgreSQL  | 

# Criar arquivos de inicialização (.ini) para o driver JDBC versão 2.x
<a name="jdbc20-ini-file"></a>

Com os arquivos de inicialização (.ini) para o driver JDBC versão 2.x do Amazon Redshift , você pode especificar parâmetros de configuração no nível do sistema. Por exemplo, os parâmetros de autenticação IdP federados podem variar para cada aplicação. O arquivo .ini fornece um local comum para clientes SQL obterem os parâmetros de configuração necessários. 

Você pode criar um arquivo de inicialização (.ini) do driver JDBC versão 2.x que contém opções de configuração para clientes SQL. O nome padrão do arquivo é `rsjdbc.ini`. O driver JDBC versão 2.x verifica o arquivo.ini nos seguintes locais, listados em ordem de precedência:
+ `IniFile`Parâmetro no URL de conexão ou na caixa de diálogo de propriedade de conexão do cliente SQL. Certifique-se de que o parâmetro `IniFile` contém o caminho completo para o arquivo .ini, incluindo o nome do arquivo. Para obter mais informações sobre o parâmetro `IniFile`, consulte [iniFile](jdbc20-configuration-options.md#jdbc20-inifile-option). Se o parâmetro `IniFile` especifica incorretamente o local do arquivo.ini, um erro é exibido.
+ Variáveis de ambiente como AMAZON\$1REDSHIFT\$1JDBC\$1INI\$1FILE com o caminho completo, incluindo o nome do arquivo. Você pode usar `rsjdbc.ini` ou especificar um nome de arquivo. Se a variável de ambiente AMAZON\$1REDSHIFT\$1JDBC\$1INI\$1FILE especificar incorretamente o local do arquivo.ini, um erro será exibido.
+ Diretório onde o arquivo JAR do driver está localizado.
+ Diretório inicial do usuário.
+ Diretório temporário do sistema.

Você pode organizar o arquivo.ini em seções, por exemplo [DRIVER]. Cada seção contém pares de chave-valor que especificam vários parâmetros de conexão. Você pode usar o parâmetro `IniSection` para especificar uma seção no arquivo.ini. Para obter mais informações sobre o parâmetro `IniSection`, consulte [IniSection](jdbc20-configuration-options.md#jdbc20-inisection-option). 

Segue-se um exemplo do formato de arquivo.ini, com seções para [DRIVER], [DEV], [QA] e [PROD]. A seção [DRIVER] pode ser aplicada a qualquer conexão.

```
[DRIVER]
key1=val1
key2=val2

[DEV]
key1=val1
key2=val2

[QA]
key1=val1
key2=val2

[PROD]
key1=val1
key2=val2
```

O driver JDBC versão 2.x carrega parâmetros de configuração dos seguintes locais, listados em ordem de precedência:
+ Parâmetros de configuração padrão no código da aplicação.
+ [DRIVER] do arquivo.ini, se incluído.
+ Parâmetros de configuração de seção personalizada, se a `IniSection` é fornecida no URL de conexão ou na caixa de diálogo de propriedade de conexão do cliente SQL.
+ Propriedades do objeto de propriedade de conexão especificado na chamada `getConnection`.
+ Parâmetros de configuração especificados no URL de conexão.

# Opções para a configuração do driver JDBC versão 2.x
<a name="jdbc20-configuration-options"></a>

A seguir, você pode encontrar descrições para as opções que podem ser especificadas para a versão 2.2 do driver JDBC do Amazon Redshift. As opções não diferenciam letras maiúsculas de minúsculas.

Você pode definir propriedades de configuração usando o URL de conexão. Para obter mais informações, consulte [Construir o URL de conexão](jdbc20-build-connection-url.md).

**Topics**
+ [AccessKeyID](#jdbc20-accesskeyid-option)
+ [AllowDBuserOverride](#jdbc20-allowdbuseroverride-option)
+ [App\$1ID](#jdbc20-app-id-option)
+ [App\$1Name](#jdbc20-app-name-option)
+ [ApplicationName](#jdbc20-applicationname-option)
+ [AuthProfile](#jdbc20-authprofile-option)
+ [AutoCreate](#jdbc20-autocreate-option)
+ [Client\$1ID](#jdbc20-client_id-option)
+ [Client\$1Secret](#jdbc20-client_secret-option)
+ [ClusterID](#jdbc20-clusterid-option)
+ [Compactação](#jdbc20-compression-option)
+ [connectTimeout](#jdbc20-connecttimeout-option)
+ [connectionTimezone](#jdbc20-connecttimezone-option)
+ [databaseMetadataCurrentDbOnly](#jdbc20-databasemetadatacurrentdbonly-option)
+ [DbUser](#jdbc20-dbuser-option)
+ [DbGroups](#jdbc20-dbgroups-option)
+ [DBNAME](#jdbc20-dbname-option)
+ [defaultRowFetchSize](#jdbc20-defaultrowfetchsize-option)
+ [DisableIsValidQuery](#jdbc20-disableisvalidquery-option)
+ [enableFetchRingBuffer](#jdbc20-enablefetchringbuffer-option)
+ [enableMultiSqlSupport](#jdbc20-enablemultisqlsupport-option)
+ [fetchRingBufferSize](#jdbc20-fetchringbuffersize-option)
+ [ForceLowercase](#jdbc20-forcelowercase-option)
+ [groupFederation](#jdbc20-groupFederation-option)
+ [HOST](#jdbc20-host-option)
+ [IAMDisableCache](#jdbc20-iamdisablecache-option)
+ [IAMDuration](#jdbc20-iamduration-option)
+ [Idc\$1Client\$1Display\$1Name](#jdbc20-idc_client_display_name)
+ [Idc\$1Region](#jdbc20-idc_region)
+ [IdP\$1Host](#jdbc20-idp_host-option)
+ [IdP\$1Partition](#jdbc20-idp_partition-option)
+ [IdP\$1Port](#jdbc20-idp_port-option)
+ [IdP\$1Tenant](#jdbc20-idp_tenant-option)
+ [IdP\$1Response\$1Timeout](#jdbc20-idp_response_timeout-option)
+ [iniFile](#jdbc20-inifile-option)
+ [IniSection](#jdbc20-inisection-option)
+ [isServerless](#jdbc20-isserverless-option)
+ [Issuer\$1Url](#jdbc20-issuer-url)
+ [Listen\$1Port](#jdbc20-listen-port)
+ [Login\$1URL](#jdbc20-login_url-option)
+ [loginTimeout](#jdbc20-logintimeout-option)
+ [loginToRp](#jdbc20-logintorp-option)
+ [LogLevel](#jdbc20-loglevel-option)
+ [LogPath](#jdbc20-logpath-option)
+ [OverrideSchemaPatternType](#jdbc20-override-schema-pattern-type)
+ [Partner\$1SPID](#jdbc20-partner_spid-option)
+ [Senha](#jdbc20-password-option)
+ [Plugin\$1Name](#jdbc20-plugin_name-option)
+ [PORT](#jdbc20-port-option)
+ [Preferred\$1Role](#jdbc20-preferred_role-option)
+ [Perfil](#jdbc20-profile-option)
+ [PWD](#jdbc20-pwd-option)
+ [queryGroup](#jdbc20-querygroup-option)
+ [readOnly](#jdbc20-readonly-option)
+ [Região](#jdbc20-region-option)
+ [reWriteBatchedInserts](#jdbc20-rewritebatchedinserts-option)
+ [reWriteBatchedInsertsSize](#jdbc20-rewritebatchedinsertssize-option)
+ [roleArn](#jdbc20-rolearn-option)
+ [roleSessionName](#jdbc20-roleaessionname-option)
+ [scope](#jdbc20-scope-option)
+ [SecretAccessKey](#jdbc20-secretaccesskey-option)
+ [SessionToken](#jdbc20-sessiontoken-option)
+ [serverlessAcctId](#jdbc20-serverlessacctid-option)
+ [serverlessWorkGroup](#jdbc20-serverlessworkgroup-option)
+ [socketFactory](#jdbc20-socketfactory-option)
+ [socketTimeout](#jdbc20-sockettimeout-option)
+ [SSL](#jdbc20-ssl-option)
+ [SSL\$1Insecure](#jdbc20-ssl_insecure-option)
+ [SSLCert](#jdbc20-sslcert-option)
+ [SSLFactory](#jdbc20-sslfactory-option)
+ [SSLkey](#jdbc20-sslkey-option)
+ [SSLMode](#jdbc20-sslmode-option)
+ [SSLPassword](#jdbc20-sslpassword-option)
+ [SSLRootCert](#jdbc20-sslrootcert-option)
+ [StsEndpointUrl](#jdbc20-stsendpointurl-option)
+ [tcpKeepAlive](#jdbc20-tcpkeepalive-option)
+ [token](#jdbc20-token-option)
+ [token\$1type](#jdbc20-token-type-option)
+ [UID](#jdbc20-uid-option)
+ [Usuário](#jdbc20-user-option)
+ [webIdentityToken](#jdbc20-webidentitytoken-option)

## AccessKeyID
<a name="jdbc20-accesskeyid-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

É possível especificar esse parâmetro para inserir a chave de acesso do IAM para o usuário ou o perfil. Normalmente, você pode localizar a chave observando e string existente ou perfil de usuário. Se você especificar esse parâmetro, também deverá especificar o parâmetro `SecretAccessKey`. Se for transmitido no URL de JDBC, o AccessKeyID deverá ser codificado por URL.

Esse parâmetro é opcional.

## AllowDBuserOverride
<a name="jdbc20-allowdbuseroverride-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados** – String

Esta opção especifica se o driver usa o valor `DbUser` a partir da declaração SAML ou o valor especificado na propriedade de conexão `DbUser` no URL de conexão. 

Esse parâmetro é opcional.

**1**  
O driver usa o valor `DbUser` da declaração SAML.  
Se a declaração SAML não especificar um valor para `DBUser`, o driver usa o valor especificado na propriedade de conexão `DBUser`. Se a propriedade de conexão também não especificar um valor, o driver usará o valor especificado no perfil de conexão.

**0**  
O driver usa o valor `DBUser` especificado no valor de propriedade de conexão. `DBUser`.  
Se a conexão `DBUser` não especificar um valor, o driver usará o valor especificado no perfil de conexão. Se o perfil de conexão também não especificar um valor, o driver usará o valor da declaração SAML.

## App\$1ID
<a name="jdbc20-app-id-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O ID exclusivo fornecido pela OKTA associado à sua aplicação Amazon Redshift. 

Este parâmetro é necessário se autenticar através do serviço Okta.

## App\$1Name
<a name="jdbc20-app-name-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome da aplicação Okta que você usa para autenticar a conexão com o Amazon Redshift. 

Esse parâmetro é opcional.

## ApplicationName
<a name="jdbc20-applicationname-option"></a>
+ **Valor padrão**: null
+ **Tipo de dados** – String

O nome da aplicação a ser passado ao Amazon Redshift para fins de auditoria. 

Esse parâmetro é opcional.

## AuthProfile
<a name="jdbc20-authprofile-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome do perfil de autenticação a ser usado para conexão com o Amazon Redshift. 

Esse parâmetro é opcional.

## AutoCreate
<a name="jdbc20-autocreate-option"></a>
+ **Valor padrão**: false
+ **Tipo de dados**: booleano

Esta opção especifica se o driver faz com que um novo usuário seja criado quando o usuário especificado não existe. 

Esse parâmetro é opcional.

**verdadeiro**  
Se o usuário especificado por `DBUser` ou ID exclusivo (UID) não existir, um novo usuário com esse nome será criado.

**false**  
O driver não faz com que novos usuários sejam criados. Se o usuário especificado não existir, a autenticação falhará.

## Client\$1ID
<a name="jdbc20-client_id-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O ID do cliente a ser usado ao autenticar a conexão usando o serviço Azure AD. 

Esse parâmetro é necessário se autenticar por meio do serviço Azure AD.

## Client\$1Secret
<a name="jdbc20-client_secret-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O Segredo do cliente a ser usado ao autenticar a conexão usando o serviço Azure AD. 

Esse parâmetro é necessário se autenticar por meio do serviço Azure AD.

## ClusterID
<a name="jdbc20-clusterid-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome do cluster do Amazon Redshift ao qual você quer se conectar. O driver tenta detectar esse parâmetro a partir de um determinado host. Se você estiver usando um Network Load Balancer (NLB) e se conectando via IAM, o driver não conseguirá detectá-lo, por isso é possível configurá-lo usando essa opção de conexão. 

Esse parâmetro é opcional.

## Compactação
<a name="jdbc20-compression-option"></a>
+ **Valor padrão**: desativado
+ **Tipo de dados** – String

O método de compactação usado na comunicação via protocolo com fio entre o servidor do Amazon Redshift e o cliente ou o driver.

Esse parâmetro é opcional.

Especifique os seguintes valores:
+ **lz4**

  Define o método de compactação usado na comunicação via protocolo com fio com o Amazon Redshift como lz4.
+ **off**

  Não usa a compactação na comunicação via protocolo com fio com o Amazon Redshift.

## connectTimeout
<a name="jdbc20-connecttimeout-option"></a>
+ **Valor padrão** – 10
+ **Tipo de dados**: inteiro

O valor de tempo limite a ser usado para operações de conexão de soquete. Se o tempo necessário para estabelecer uma conexão do Amazon Redshift exceder esse valor, a conexão será considerada indisponível. O tempo limite é especificado em segundos. O valor 0 significa que nenhum tempo limite foi especificado.

Esse parâmetro é opcional.

## connectionTimezone
<a name="jdbc20-connecttimezone-option"></a>
+ **Valor padrão**: LOCAL
+ **Tipo de dados** – String

O fuso horário no nível da sessão.

Esse parâmetro é opcional.

Especifique os seguintes valores:

**LOCAL**  
Configura o fuso horário no nível da sessão para o fuso horário JVM LOCAL.

**SERVER**  
Configura o fuso horário no nível da sessão de acordo com o fuso horário definido para o usuário no servidor Amazon Redshift. Você pode configurar fusos horários no nível da sessão para usuários com o seguinte comando:  

```
ALTER USER
[...]
SET TIMEZONE TO [...];
```

## databaseMetadataCurrentDbOnly
<a name="jdbc20-databasemetadatacurrentdbonly-option"></a>
+ **Valor padrão**: true
+ **Tipo de dados**: booleano

Esta opção especifica se a API de metadados recupera dados de todos os bancos de dados acessíveis ou somente do banco de dados conectado. 

Esse parâmetro é opcional.

Especifique os seguintes valores:

**verdadeiro**  
A aplicação recupera metadados de um único banco de dados.

**false**  
A aplicação recupera metadados de todos os bancos de dados acessíveis.

## DbUser
<a name="jdbc20-dbuser-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O ID de usuário a ser usado com sua conta do Amazon Redshift. Você pode usar um ID que não existe no momento se você tiver habilitado a propriedade AutoCreate. 

Esse parâmetro é opcional.

## DbGroups
<a name="jdbc20-dbgroups-option"></a>
+ **Valor padrão** – PUBLIC
+ **Tipo de dados** – String

Uma lista separada por vírgulas de nomes de grupos de bancos de dados existentes que `DBUser` ingressa à sessão atual. 

Esse parâmetro é opcional.

## DBNAME
<a name="jdbc20-dbname-option"></a>
+ **Valor padrão**: null
+ **Tipo de dados** – String

É o nome do banco de dados ao qual se conectar. Você pode usar essa opção para especificar o nome do banco de dados na URL da conexão JDBC. 

Esse parâmetro é obrigatório. Você deve especificar o nome do banco de dados, na URL da conexão ou nas propriedades de conexão da aplicação cliente.

## defaultRowFetchSize
<a name="jdbc20-defaultrowfetchsize-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: inteiro

Esta opção especifica um valor padrão para getFetchSize. 

Esse parâmetro é opcional.

Especifique os seguintes valores:

**0**  
Obtém todas as linhas em uma única operação.

**Inteiro positivo**  
Número de linhas a serem obtidas do banco de dados para cada iteração de busca do ResultSet.

## DisableIsValidQuery
<a name="jdbc20-disableisvalidquery-option"></a>
+ **Valor padrão** – False
+ **Tipo de dados**: booleano

Esta opção especifica se o driver envia uma nova consulta de banco de dados ao usar o método Connection.isValid() para determinar se a conexão de banco de dados está ativa. 

Esse parâmetro é opcional.

**verdadeiro**  
O driver não envia uma consulta ao usar Connection.isValid() para determinar se a conexão de banco de dados está ativa. Isso pode fazer com que o driver identifique incorretamente a conexão de banco de dados como ativa se o servidor de banco de dados foi encerrado inesperadamente.

**false**  
O driver envia uma consulta ao usar Connection.isValid() para determinar se a conexão de banco de dados está ativa.

## enableFetchRingBuffer
<a name="jdbc20-enablefetchringbuffer-option"></a>
+ **Valor padrão**: true
+ **Tipo de dados**: booleano

Esta opção especifica que o driver obtém linhas usando um buffer de anel em um thread separado. O parâmetro fetchRingBufferSize especifica o tamanho do buffer do anel. 

O buffer em anel implementa o gerenciamento automático de memória no JDBC para evitar erros de falta de memória (OOM) durante as operações de recuperação de dados. O buffer em anel monitora o tamanho real dos dados armazenados em buffer em tempo real, garantindo que o uso total da memória pelo driver permaneça dentro dos limites definidos. Quando a capacidade do buffer é atingida, o driver pausa as operações de busca de dados, evitando o estouro da memória sem exigir intervenção manual. Essa proteção integrada elimina erros de OOM automaticamente, sem a necessidade de configuração dos usuários.

Se uma transação detectar uma instrução que contém vários comandos SQL separados por pontos e vírgulas, o buffer circular de busca dessa transação será definido como false. O valor de enableFetchRingBuffer não muda. 

Esse parâmetro é opcional.

**nota**  
Quando o buffer em anel está desabilitado e o tamanho da busca não está configurado corretamente, podem ocorrer problemas de falta de memória (OOM). Para acessar mais informações sobre como configurar o tamanho da busca, consulte [aqui](https://docs.aws.amazon.com/redshift/latest/dg/set-the-JDBC-fetch-size-parameter.html).

## enableMultiSqlSupport
<a name="jdbc20-enablemultisqlsupport-option"></a>
+ **Valor padrão**: true
+ **Tipo de dados**: booleano

Esta opção especifica se deseja processar vários comandos SQL separados por ponto-e-vírgula em uma instrução. 

Esse parâmetro é opcional.

Especifique os seguintes valores:

**verdadeiro**  
O driver processa vários comandos SQL, separados por ponto-e-vírgula, em um objeto de instrução.

**false**  
O driver retorna um erro para vários comandos SQL em uma única instrução.

## fetchRingBufferSize
<a name="jdbc20-fetchringbuffersize-option"></a>
+ **Valor padrão** – 1G
+ **Tipo de dados** – String

Esta opção especifica o tamanho do buffer de anel usado ao buscar o conjunto de resultados. Você pode especificar um tamanho em bytes, por exemplo, 1K para 1 KB, 5000 para 5.000 bytes, 1M para 1 MB, 1G para 1 GB e assim por diante. Você também pode especificar uma porcentagem de memória de heap. O driver para de buscar linhas ao atingir o limite. A busca é retomada quando a aplicação lê linhas e libera espaço no buffer de anel. 

Esse parâmetro é opcional.

## ForceLowercase
<a name="jdbc20-forcelowercase-option"></a>
+ **Valor padrão**: false
+ **Tipo de dados**: booleano

Esta opção especifica se o driver coloca em minúsculas todos os grupos de banco de dados (DbGroups) enviados do provedor de identidades para o Amazon Redshift ao usar a autenticação única. 

Esse parâmetro é opcional.

**verdadeiro**  
O driver coloca em minúsculas todos os grupos de banco de dados que são enviados do provedor de identidades.

**false**  
O driver não altera grupos de banco de dados.

## groupFederation
<a name="jdbc20-groupFederation-option"></a>
+ **Valor padrão**: false
+ **Tipo de dados**: booleano

Essa opção especifica se grupos de IDP do Amazon Redshift serão usados ou não. Isso é compatível com a API GetClusterCredentialsV2. 

Esse parâmetro é opcional.

**verdadeiro**  
Use grupos de provedores de identidade (IDP) do Amazon Redshift.

**false**  
Use a API STS e GetClusterCredentials para federação de usuários e especifique explicitamente DbGroups para a conexão.

## HOST
<a name="jdbc20-host-option"></a>
+ **Valor padrão**: null
+ **Tipo de dados** – String

O nome de host do servidor do Amazon Redshift ao qual se conectar. Você pode usar essa opção para especificar o nome de host na URL da conexão JDBC. 

Esse parâmetro é obrigatório. Você deve especificar o nome do host, na URL da conexão ou nas propriedades de conexão da aplicação cliente.

## IAMDisableCache
<a name="jdbc20-iamdisablecache-option"></a>
+ **Valor padrão**: false
+ **Tipo de dados**: booleano

Essa opção especifica se as credenciais do IAM são armazenadas em cache.

Esse parâmetro é opcional.

**verdadeiro**  
As credenciais do IAM não são armazenadas em cache.

**false**  
As credenciais do IAM são armazenadas em cache. Isso melhora a performance quando solicitações para o API Gateway são limitadas, por exemplo.

## IAMDuration
<a name="jdbc20-iamduration-option"></a>
+ **Valor padrão** – 900
+ **Tipo de dados**: inteiro

O período de tempo, em segundos, até que as credenciais temporárias do IAM expirem. 
+ **Valor mínimo** – 900
+ **Valor máximo ** – 3,600

Esse parâmetro é opcional.

## Idc\$1Client\$1Display\$1Name
<a name="jdbc20-idc_client_display_name"></a>
+ **Valor padrão**: driver JDBC do Amazon Redshift
+ **Tipo de dados** – String

O nome de exibição a ser usado para o cliente que está usando o BrowserIdcAuthPlugin.

Esse parâmetro é opcional.

## Idc\$1Region
<a name="jdbc20-idc_region"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

A região AWS onde a instância do IAM Identity Center está localizada.

Esse parâmetro só é necessário durante a autenticação usando `BrowserIdcAuthPlugin` na opção de configuração plugin\$1name.

## IdP\$1Host
<a name="jdbc20-idp_host-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O host IdP (provedor de identidades) que você está usando para autenticar no Amazon Redshift. Isso pode ser especificado na string de conexão ou em um perfil. 

Esse parâmetro é opcional.

## IdP\$1Partition
<a name="jdbc20-idp_partition-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

Especifica a partição na nuvem em que o provedor de identidades (IdP) está configurado. Isso determina a qual endpoint de autenticação do IdP o driver se conecta.

Se esse parâmetro for deixado em branco, o driver usará como padrão a partição comercial. Os valores possíveis são:
+  `us-gov`: use este valor se seu IdP estiver configurado no Azure Government. Por exemplo, o Azure AD Government usa o endpoint `login.microsoftonline.us`.
+  `cn`: use este valor se seu IdP estiver configurado na partição de nuvem da China. Por exemplo, o Azure AD China usa o endpoint `login.chinacloudapi.cn`. 

Esse parâmetro é opcional.

## IdP\$1Port
<a name="jdbc20-idp_port-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

A porta usada por um IdP (provedor de identidades). Você pode especificar a porta na string da conexão ou em um perfil. A porta padrão é 5439. Dependendo da porta selecionada ao criar, modificar ou migrar o cluster, permita o acesso à porta selecionada. 

Esse parâmetro é opcional.

## IdP\$1Tenant
<a name="jdbc20-idp_tenant-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O ID de locatário do Azure AD para sua aplicação Amazon Redshift. 

Esse parâmetro é necessário se autenticar por meio do serviço Azure AD.

## IdP\$1Response\$1Timeout
<a name="jdbc20-idp_response_timeout-option"></a>
+ **Valor padrão** – 120
+ **Tipo de dados**: inteiro

A quantidade de tempo, em segundos, que o driver aguarda pela resposta SAML do provedor de identidades ao usar os serviços SAML ou Azure AD por meio de um plug-in de navegador. 

Esse parâmetro é opcional.

## iniFile
<a name="jdbc20-inifile-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O caminho completo do arquivo .ini, incluindo o nome do arquivo. Por exemplo:

```
IniFile="C:\tools\rsjdbc.ini"
```

Para obter informações sobre o arquivo .ini, consulte [Criar arquivos de inicialização (.ini) para o driver JDBC versão 2.x](jdbc20-ini-file.md).

Esse parâmetro é opcional.

## IniSection
<a name="jdbc20-inisection-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome de uma seção no arquivo.ini que contém as opções de configuração. Para obter informações sobre o arquivo .ini, consulte [Criar arquivos de inicialização (.ini) para o driver JDBC versão 2.x](jdbc20-ini-file.md). 

O exemplo a seguir especifica a seção [Prod] do arquivo.ini:

```
IniSection="Prod"
```

Esse parâmetro é opcional.

## isServerless
<a name="jdbc20-isserverless-option"></a>
+ **Valor padrão**: false
+ **Tipo de dados**: booleano

Essa opção especifica se o host do endpoint do Amazon Redshift é uma instância com tecnologia sem servidor. O driver tenta detectar esse parâmetro a partir de um determinado host. Se você estiver usando um Network Load Balancer (NLB), o driver não conseguirá detectá-lo, então é possível configurá-lo aqui. 

Esse parâmetro é opcional.

**verdadeiro**  
O host do endpoint do Amazon Redshift é uma instância com tecnologia sem servidor.

**false**  
O host do endpoint do Amazon Redshift é um cluster provisionado.

## Issuer\$1Url
<a name="jdbc20-issuer-url"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

Aponta para o endpoint da instância do servidor do Centro de Identidade do AWS IAM. 

Esse parâmetro só é necessário durante a autenticação usando `BrowserIdcAuthPlugin` na opção de configuração plugin\$1name.

## Listen\$1Port
<a name="jdbc20-listen-port"></a>
+ **Valor padrão** – 7890
+ **Tipo de dados**: inteiro

A porta que o driver usa para receber a resposta SAML do provedor de identidades ou o código de autorização ao usar os serviços SAML, Azure AD ou Centro de Identidade do AWS IAM por meio de um plug-in do navegador.

Esse parâmetro é opcional.

## Login\$1URL
<a name="jdbc20-login_url-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

A URL do recurso no site do provedor de identidades ao usar os serviços SAML ou Azure AD por meio de um plug-in do navegador. 

Esse parâmetro é necessário se autenticar com os serviços SAML ou Azure AD por meio de um plug-in de navegador.

## loginTimeout
<a name="jdbc20-logintimeout-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: inteiro

O número de segundos a aguardar antes de atingir o tempo limite ao conectar e autenticar no servidor. Se o tempo para estabelecer a conexão for maior do que esse limite, a conexão é cancelada. 

Quando esta propriedade é definida como 0, as conexões não atingem o tempo limite.

Esse parâmetro é opcional.

## loginToRp
<a name="jdbc20-logintorp-option"></a>
+ **Valor padrão** – `urn:amazon:webservices`
+ **Tipo de dados** – String

A relação de confiança de parte confiável que você deseja usar para o tipo de autenticação do AD FS. 

Esse parâmetro é opcional.

## LogLevel
<a name="jdbc20-loglevel-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: inteiro

Use essa propriedade para ativar ou desativar o registro em logs no driver e especificar a quantidade de detalhes incluídos nos arquivos de log. 

Habilite o registro em log somente o tempo suficiente para capturar um problema. O registro em log diminui a performance e pode consumir uma grande quantidade de espaço em disco.

Esse parâmetro é opcional.

Defina o parâmetro com um dos seguintes valores:

**0**  
Desative todos os registros em log.

**1**  
Habilita o registro em logs no nível FATAL, que registra eventos de erro muito graves que levarão o driver a anular.

**2**  
Habilita o registro em logs no nível ERROR, que registra eventos de erro que ainda permitem que o driver continue sendo executado.

**3**  
Habilite o log no nível WARNING, que registra eventos que podem resultar em um erro se a ação não for executada.

**4**  
Habilita o registro em logs no nível INFO, que registra informações gerais que descrevem o progresso do driver.

**5**  
Habilita o registro em logs no nível DEBUG, que registra informações detalhadas que sejam úteis para depurar o driver.

**6**  
Habilita o registro em log no nível TRACE, que registra todas as atividades do driver.

Quando o registro em log está habilitado, o driver produz os seguintes arquivos de log no local especificado na propriedade `LogPath`:
+ ** `redshift_jdbc.log`** – Arquivo que registra a atividade do driver que não é específica para uma conexão.
+ **`redshift_jdbc_connection_[Number].log`** — Arquivo para cada conexão feita com o banco de dados, onde `[Number]` é um número que distingue cada arquivo de log dos outros. Este arquivo registra a atividade do driver que é específica para a conexão. 

Se o valor LogPath for inválido, o driver envia as informações registradas para o fluxo de saída padrão, `System.out`.

## LogPath
<a name="jdbc20-logpath-option"></a>
+ **Valor padrão** – O diretório de trabalho atual.
+ **Tipo de dados** – String

O caminho completo para a pasta onde o driver salva arquivos de log quando a propriedade DSILogLevel está habilitada. 

Para ter certeza de que o URL de conexão é compatível com todas as aplicações JDBC, recomendamos que você escape as barras invertidas (\$1) no caminho do arquivo digitando outra barra invertida.

Esse parâmetro é opcional.

## OverrideSchemaPatternType
<a name="jdbc20-override-schema-pattern-type"></a>
+ **Valor padrão**: null
+ **Tipo de dados**: inteiro

Esta opção especifica se o tipo de consulta usado em chamadas de getTables deve ser substituído.

**0**  
Nenhuma consulta universal de esquema

**1**  
Consulta de esquema local

**2**  
Consulta de esquema externo

Esse parâmetro é opcional.

## Partner\$1SPID
<a name="jdbc20-partner_spid-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O valor SPID (ID do provedor de serviços) do parceiro a ser usado ao autenticar a conexão usando o serviço PingFederate. 

Esse parâmetro é opcional.

## Senha
<a name="jdbc20-password-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

Ao se conectar usando a autenticação do IAM por meio de um IDP, essa é a senha do servidor IDP\$1Host. Ao usar a autenticação padrão, isso pode ser usado para a senha do banco de dados do Amazon Redshift em vez de PWD. 

Esse parâmetro é opcional.

## Plugin\$1Name
<a name="jdbc20-plugin_name-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome de classe totalmente qualificado para implementar um plugin de provedor de credenciais específico. 

Esse parâmetro é opcional.

Algumas opções compatíveis estão listadas:
+ **`AdfsCredentialsProvider`** – Serviço de Federação do Active Directory.
+ **`AzureCredentialsProvider`** – Serviço Microsoft Azure Active Directory (AD).
+ **`BasicJwtCredentialsProvider`** – Serviço JSON Web Tokens (JWT)
+ **`BasicSamlCredentialsProvider`** – credenciais de Security Assertion Markup Language (SAML) que você pode usar com muitos provedores de serviços SAML.
+ **`BrowserAzureCredentialsProvider`** – navegador do Serviço Microsoft Azure Active Directory (AD).
+ **`BrowserAzureOAuth2CredentialsProvider` ** – navegador do Serviço Microsoft Azure Active Directory (AD) para autenticação nativa.
+ **`BrowserIdcAuthPlugin`**: um plug-in de autorização que usa o Centro de Identidade do AWS IAM.
+ **`BrowserSamlCredentialsProvider`** – navegador SAML para serviços SAML como Okta, Ping ou ADFS.
+ **`IdpTokenAuthPlugin`**: um plug-in de autorização que aceita um token do Centro de Identidade do AWS IAM ou tokens de identidade baseados em JSON (JWT) do OpenID Connect (OIDC) de qualquer provedor de identidades da web vinculado ao Centro de Identidade do AWS IAM.
+ **`OktaCredentialsProvider`** – serviço do Okta.
+ **`PingCredentialsProvider`** – serviço do PingFederate.

## PORT
<a name="jdbc20-port-option"></a>
+ **Valor padrão**: null
+ **Tipo de dados**: inteiro

A porta do servidor do Amazon Redshift ao qual se conectar. Você pode usar essa opção para especificar a porta na URL da conexão JDBC. 

Esse parâmetro é opcional.

## Preferred\$1Role
<a name="jdbc20-preferred_role-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

A função do IAM que você deseja assumir durante a conexão com o Amazon Redshift. 

Esse parâmetro é opcional.

## Perfil
<a name="jdbc20-profile-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome do perfil a ser usado para autenticação do IAM. Este perfil contém quaisquer propriedades de conexão adicionais não especificadas na cadeia de conexão. 

Esse parâmetro é opcional.

## PWD
<a name="jdbc20-pwd-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

A senha correspondente ao nome de usuário do Amazon Redshift que você forneceu usando o UID da propriedade. 

Esse parâmetro é opcional.

## queryGroup
<a name="jdbc20-querygroup-option"></a>
+ **Valor padrão**: null
+ **Tipo de dados** – String

Esta opção atribui uma consulta a uma fila em tempo de execução atribuindo sua consulta ao grupo de consulta apropriado. O grupo de consulta está definido para a sessão. Todas as consultas que são executadas na conexão pertencem a esse grupo de consultas. 

Esse parâmetro é opcional.

## readOnly
<a name="jdbc20-readonly-option"></a>
+ **Valor padrão**: false
+ **Tipo de dados**: booleano

Essa propriedade especifica se o driver está em modo somente leitura. 

Esse parâmetro é opcional.

**verdadeiro**  
A conexão está no modo somente leitura e não pode gravar no armazenamento de dados.

**false**  
A conexão não está no modo somente leitura e pode gravar no armazenamento de dados.

## Região
<a name="jdbc20-region-option"></a>
+ **Valor padrão**: null
+ **Tipo de dados** – String

Esta opção especifica a opção da região da AWS em que o cluster está localizado. Se você especificar a opção StsEndPoint, a opção Região será ignorada. A operação de API `GetClusterCredentials` do Redshift também usa a opção Região. 

Esse parâmetro é opcional.

## reWriteBatchedInserts
<a name="jdbc20-rewritebatchedinserts-option"></a>
+ **Valor padrão**: false
+ **Tipo de dados**: booleano

Esta opção permite a otimização para reescrever e combinar instruções INSERT compatíveis em lotes. 

Esse parâmetro é opcional.

## reWriteBatchedInsertsSize
<a name="jdbc20-rewritebatchedinsertssize-option"></a>
+ **Valor padrão** – 128
+ **Tipo de dados**: inteiro

Esta opção permite a otimização para reescrever e combinar instruções INSERT compatíveis em lotes. Este valor deve aumentar exponencialmente na potência de 2. 

Esse parâmetro é opcional.

## roleArn
<a name="jdbc20-rolearn-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome do recurso da Amazon (ARN) da função. Certifique-se de especificar esse parâmetro ao especificar BasicJwtCredentialsProvider para a opção Plugin\$1Name. Especifique o ARN no seguinte formato: 

`arn:partition:service:region:account-id:resource-id`

Esse parâmetro será necessário se você especificar BasicJwtCredentialsProvider para a opção Plugin\$1Name.

## roleSessionName
<a name="jdbc20-roleaessionname-option"></a>
+ **Valor padrão**: jwt\$1redshift\$1session
+ **Tipo de dados** – String

Um identificador para a sessão de função assumida. Normalmente, você passa o nome ou identificador que está associado ao usuário da aplicação. As credenciais de segurança temporárias que o aplicativo usa estão associadas a esse usuário. É possível especificar esse parâmetro quando você especificar BasicJwtCredentialsProvider para a opção Plugin\$1Name. 

Esse parâmetro é opcional.

## scope
<a name="jdbc20-scope-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

Uma lista separada por espaços de escopos com os quais o usuário pode consentir. Você especifica esse parâmetro para que sua aplicação do Microsoft Azure possa obter consentimento para APIs que você deseja chamar. É possível especificar esse parâmetro ao especificar BrowserAzureOAuth2CredentialsProvider para a opção Plugin\$1Name. 

Esse parâmetro é obrigatório para o plug-in BrowserAzureOAuth2CredentialsProvider.

## SecretAccessKey
<a name="jdbc20-secretaccesskey-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

A chave de acesso do IAM para o usuário ou função. Se for especificado, AccessKeyID também deve ser especificado. Se for transmitido no URL de JDBC, o SecretAccessKey deverá ser codificado por URL. 

Esse parâmetro é opcional.

## SessionToken
<a name="jdbc20-sessiontoken-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O token temporário de sessão do IAM associado à função do IAM que você está usando para autenticar. Se for passado no URL de JDBC, o token de sessão temporário do IAM deverá ser codificado por URL. 

Esse parâmetro é opcional.

## serverlessAcctId
<a name="jdbc20-serverlessacctid-option"></a>
+ **Valor padrão**: null
+ **Tipo de dados** – String

O ID da conta do Amazon Redshift Serverless. O driver tenta detectar esse parâmetro a partir de um determinado host. Se você estiver usando um Network Load Balancer (NLB), o driver não conseguirá detectá-lo, então é possível configurá-lo aqui. 

Esse parâmetro é opcional.

## serverlessWorkGroup
<a name="jdbc20-serverlessworkgroup-option"></a>
+ **Valor padrão**: null
+ **Tipo de dados** – String

O nome do grupo de trabalho do Amazon Redshift Serverless. O driver tenta detectar esse parâmetro a partir de um determinado host. Se você estiver usando um Network Load Balancer (NLB), o driver não conseguirá detectá-lo, então é possível configurá-lo aqui. 

Esse parâmetro é opcional.

## socketFactory
<a name="jdbc20-socketfactory-option"></a>
+ **Valor padrão**: null
+ **Tipo de dados** – String

Esta opção especifica uma fábrica de soquetes para criação de soquetes. 

Esse parâmetro é opcional.

## socketTimeout
<a name="jdbc20-sockettimeout-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: inteiro

O número de segundos de espera nas operações de leitura de um soquete antes de se atingir o tempo limite. Se a operação demorar mais do que esse limite, a conexão será fechada. Quando esta propriedade é definida como 0, a conexão não atinge o tempo limite. 

Esse parâmetro é opcional.

## SSL
<a name="jdbc20-ssl-option"></a>
+ **Valor padrão**: TRUE
+ **Tipo de dados** – String

Use esta propriedade para ativar ou desativar o SSL para a conexão. 

Esse parâmetro é opcional.

Especifique os seguintes valores:

**TRUE**  
O driver se conecta ao servidor por meio de SSL.

**FALSE**  
O driver se conecta ao servidor sem usar SSL. Essa opção não é compatível com a autenticação do IAM.

Você também pode configurar a propriedade AuthMech.

## SSL\$1Insecure
<a name="jdbc20-ssl_insecure-option"></a>
+ **Valor padrão**: true
+ **Tipo de dados** – String

Esta propriedade indica se o certificado de servidor de hosts IDP deve ser verificado.

Esse parâmetro é opcional.

Especifique os seguintes valores:

**verdadeiro**  
O driver não verifica a autenticidade do certificado do servidor IDP.

**false**  
O driver verifica a autenticidade do certificado do servidor IDP.

## SSLCert
<a name="jdbc20-sslcert-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O caminho completo de um arquivo .pem ou .crt que contém certificados CA confiáveis adicionais para verificar a instância do servidor Amazon Redshift do quando o SSL for usado. 

Este parâmetro é necessário se SSLKey for especificado.

## SSLFactory
<a name="jdbc20-sslfactory-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

A fábrica SSL a ser usada ao se conectar ao servidor por meio de TLS/SSL sem usar um certificado de servidor. 

## SSLkey
<a name="jdbc20-sslkey-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O caminho completo do arquivo .der que contém o arquivo de chave PKCS8 para verificar os certificados especificados em SSLCert. 

Este parâmetro é necessário se SSLCert for especificado.

## SSLMode
<a name="jdbc20-sslmode-option"></a>
+ **Valor padrão** – verify-ca
+ **Tipo de dados** – String

Use essa propriedade para especificar como o driver valida certificados quando TLS/SSL está habilitado. 

Esse parâmetro é opcional.

Especifique os seguintes valores:

**verify-ca**  
O driver verifica se o certificado vem de uma autoridade de certificação (CA) confiável.

**verify-full**  
O controlador verifica se o certificado vem de uma AC fidedigna e se o nome de host no certificado corresponde ao nome de host especificado na URL de ligação.

## SSLPassword
<a name="jdbc20-sslpassword-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados** – String

A senha para o arquivo de chave criptografada especificado em SSLKey. 

Esse parâmetro é necessário se SSLKey for especificado e o arquivo de chave for criptografado.

## SSLRootCert
<a name="jdbc20-sslrootcert-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O caminho completo de um arquivo .pem ou .crt que contém o certificado CA raiz que verificará a instância do Amazon Redshift Server do quando o SSL for usado. 

## StsEndpointUrl
<a name="jdbc20-stsendpointurl-option"></a>
+ **Valor padrão**: null
+ **Tipo de dados** – String

É possível especificar um endpoint AWS Security Token Service (AWS STS). Se você especificar essa opção, a opção Região será ignorada. Você só pode especificar um protocolo seguro (HTTPS) para esse endpoint. 

## tcpKeepAlive
<a name="jdbc20-tcpkeepalive-option"></a>
+ **Valor padrão**: TRUE
+ **Tipo de dados** – String

Use essa propriedade para ativar ou desativar keepalives TCP. 

Esse parâmetro é opcional.

Especifique os seguintes valores:

**TRUE**  
O driver usa keepalives TCP para evitar que o tempo limite das conexões se esgote.

**FALSE**  
O driver não usa keepalives TCP.

## token
<a name="jdbc20-token-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O Centro de Identidade do AWS IAM forneceu um token de acesso ou um token web JSON (JWT) do OpenID Connect (OIDC) fornecido por um provedor de identidades da web vinculado ao Centro de Identidade do AWS IAM. A aplicação deve gerar esse token autenticando o usuário da aplicação com o Centro de Identidade do AWS IAM ou um provedor de identidades vinculado ao Centro de Identidade do AWS IAM. 

Esse parâmetro funciona com `IdpTokenAuthPlugin`.

## token\$1type
<a name="jdbc20-token-type-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O tipo de token que está sendo usado no `IdpTokenAuthPlugin`.

Especifique os seguintes valores:

**ACCESS\$1TOKEN**  
Insira se você usar um token de acesso fornecido pelo Centro de Identidade do AWS IAM.

**EXT\$1JWT**  
Insira se você usar um token web JSON (JWT) do OpenID Connect (OIDC) fornecido por um provedor de identidades baseado na web integrado ao Centro de Identidade do AWS IAM.

Esse parâmetro funciona com `IdpTokenAuthPlugin`.

## UID
<a name="jdbc20-uid-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome de usuário do banco de dados que você usa para acessar o banco de dados.

Esse parâmetro é obrigatório.

## Usuário
<a name="jdbc20-user-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

Ao se conectar usando a autenticação do IAM por meio de um IdP, esse é o nome de usuário do servidor idp\$1host. Ao usar a autenticação padrão, você pode usá-lo como nome de usuário do banco de dados do Amazon Redshift. 

Esse parâmetro é opcional.

## webIdentityToken
<a name="jdbc20-webidentitytoken-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O token de acesso OAuth 2.1 ou token OpenID Connect ID fornecido pelo provedor de identidades. Sua aplicação deve obter esse token autenticando o usuário da sua aplicação com um provedor de identidades da web. Certifique-se de especificar esse parâmetro ao especificar BasicJwtCredentialsProvider para a opção Plugin\$1Name. 

Esse parâmetro será necessário se você especificar BasicJwtCredentialsProvider para a opção Plugin\$1Name.

# Versões anteriores do driver JDBC versão 2.x
<a name="jdbc20-previous-driver-version-20"></a>

Baixe uma versão anterior do driver JDBC versão 2.x do Amazon Redshift somente se sua ferramenta exigir uma versão específica do driver. 

Estes são os drivers anteriores da versão 2.x do driver JDBC compatíveis com JDBC 4.2:
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.4/redshift-jdbc42-2.2.4.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.4/redshift-jdbc42-2.2.4.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.3/redshift-jdbc42-2.2.3.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.3/redshift-jdbc42-2.2.3.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.2/redshift-jdbc42-2.2.2.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.2/redshift-jdbc42-2.2.2.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.1/redshift-jdbc42-2.2.1.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.1/redshift-jdbc42-2.2.1.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.0/redshift-jdbc42-2.2.0.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.2.0/redshift-jdbc42-2.2.0.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.34/redshift-jdbc42-2.1.0.34.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.34/redshift-jdbc42-2.1.0.34.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.33/redshift-jdbc42-2.1.0.33.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.33/redshift-jdbc42-2.1.0.33.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.32/redshift-jdbc42-2.1.0.32.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.32/redshift-jdbc42-2.1.0.32.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.30/redshift-jdbc42-2.1.0.30.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.30/redshift-jdbc42-2.1.0.30.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.29/redshift-jdbc42-2.1.0.29.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.29/redshift-jdbc42-2.1.0.29.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.28/redshift-jdbc42-2.1.0.28.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.28/redshift-jdbc42-2.1.0.28.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.26/redshift-jdbc42-2.1.0.26.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.26/redshift-jdbc42-2.1.0.26.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.25/redshift-jdbc42-2.1.0.25.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.25/redshift-jdbc42-2.1.0.25.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.24/redshift-jdbc42-2.1.0.24.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.24/redshift-jdbc42-2.1.0.24.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.23/redshift-jdbc42-2.1.0.23.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.23/redshift-jdbc42-2.1.0.23.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.22/redshift-jdbc42-2.1.0.22.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.22/redshift-jdbc42-2.1.0.22.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.21/redshift-jdbc42-2.1.0.21.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.21/redshift-jdbc42-2.1.0.21.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.20/redshift-jdbc42-2.1.0.20.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.20/redshift-jdbc42-2.1.0.20.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.19/redshift-jdbc42-2.1.0.19.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.19/redshift-jdbc42-2.1.0.19.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.18/redshift-jdbc42-2.1.0.18.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.18/redshift-jdbc42-2.1.0.18.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.17/redshift-jdbc42-2.1.0.17.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.17/redshift-jdbc42-2.1.0.17.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.16/redshift-jdbc42-2.1.0.16.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.16/redshift-jdbc42-2.1.0.16.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.15/redshift-jdbc42-2.1.0.15.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.15/redshift-jdbc42-2.1.0.15.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.14/redshift-jdbc42-2.1.0.14.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.14/redshift-jdbc42-2.1.0.14.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.13/redshift-jdbc42-2.1.0.13.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.13/redshift-jdbc42-2.1.0.13.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.12/redshift-jdbc42-2.1.0.12.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.12/redshift-jdbc42-2.1.0.12.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.11/redshift-jdbc42-2.1.0.11.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.11/redshift-jdbc42-2.1.0.11.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.10/redshift-jdbc42-2.1.0.10.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.10/redshift-jdbc42-2.1.0.10.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.9/redshift-jdbc42-2.1.0.9.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.9/redshift-jdbc42-2.1.0.9.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.8/redshift-jdbc42-2.1.0.8.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.8/redshift-jdbc42-2.1.0.8.zip) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.7/redshift-jdbc42-2.1.0.7.zip](https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/2.1.0.7/redshift-jdbc42-2.1.0.7.zip) 

# Conector Python do Amazon Redshift
<a name="python-redshift-driver"></a>

Ao usar o conector Amazon Redshift para Python, é possível integrar o trabalho com [o AWS SDK para Python (Boto3)](https://github.com/boto/boto3) e também pandas e Python numéricos (NumPy). Para obter mais informações, consulte o [repositório de pandas no GitHub](https://github.com/pandas-dev/pandas). Para obter mais informações sobre o NumPy, consulte o [repositório do NumPy no GitHub](https://github.com/numpy/numpy). 

O conector Python do Amazon Redshift oferece uma solução de código aberto. É possível navegar pelo código-fonte, solicitar aprimoramentos, relatar problemas e fornecer contribuições. 

Para usar o conector Python do Amazon Redshift, verifique se tem o Python versão 3.6 ou posterior. Para obter mais informações, consulte o [Contrato de licença do driver do Amazon Redshift Python](https://github.com/aws/amazon-redshift-python-driver/blob/master/LICENSE). 

O conector Python do Amazon Redshift oferece:
+ AWS Identity and Access ManagementAutenticação do (IAM). Para obter mais informações, consulte [Gerenciamento de Identidade e Acesso no Amazon Redshift](redshift-iam-authentication-access-control.md).
+ Autenticação do provedor de identidade usando acesso à API federada. O acesso à API federada é compatível com provedores de identidade corporativa, tais como:
  + Azure AD. Para obter mais informações, consulte a publicação no blog AWS Big Data [Federate Amazon Redshift access with Microsoft Azure AD single sign-on](https://aws.amazon.com/blogs/big-data/federate-amazon-redshift-access-with-microsoft-azure-ad-single-sign-on/).
  + Serviços de Federação do Active Directory. Para obter mais informações, consulte a publicação no blog AWS Big Data [Federate access to your Amazon Redshift cluster with Active Directory Federation Services (AD FS): Part 1](https://aws.amazon.com/blogs/big-data/federate-access-to-your-amazon-redshift-cluster-with-active-directory-federation-services-ad-fs-part-1/). 
  + Okta. Para obter mais informações, consulte a publicação no blog AWS Big Data [Federate Amazon Redshift access with Okta as an identity provider](https://aws.amazon.com/blogs/big-data/federate-amazon-redshift-access-with-okta-as-an-identity-provider/).
  + PingFederate. Para obter mais informações, consulte o site do [PingFederate](https://www.pingidentity.com/en/software/pingfederate.html).
  + JumpCloud. Para obter mais informações, consulte o [site do JumpCloud](https://jumpcloud.com/).
+ Tipo de dados do Amazon Redshift.

O conector Python do Amazon Redshift implementa o Python Database API Specification 2.0. Para obter mais informações, consulte [PEP 249—Python Database API Specification v2.0](https://www.python.org/dev/peps/pep-0249/) no site da Python.

**Topics**
+ [Instalar o conector Python do Amazon Redshift](python-driver-install.md)
+ [Opções de configuração para o conector Python do Amazon Redshift](python-configuration-options.md)
+ [Importar o conector Python](python-start-import.md)
+ [Integrar o conector Python ao NumPy](python-connect-integrate-numpy.md)
+ [Integrar o conector Python a pandas](python-connect-integrate-pandas.md)
+ [Usar plugins do provedor de identidade](python-connect-identity-provider-plugins.md)
+ [Exemplos de uso do conector Python do Amazon Redshift](python-connect-examples.md)
+ [Referência de API para o conector Python do Amazon Redshift](python-api-reference.md)

# Instalar o conector Python do Amazon Redshift
<a name="python-driver-install"></a>

Utilize qualquer um dos métodos a seguir para instalar o conector Python do Amazon Redshift:
+ Python Package Index (PyPI)
+ Conda
+ Clonar o repositório do GitHub

## Instalar o conector Python pelo PyPI
<a name="python-pip-install-pypi"></a>

Para instalar o conector Python so Python Package Index (PyPI), você pode usar o pip. Para fazer isso, execute o comando a seguir.

```
>>> pip install redshift_connector
```

É possível instalar o conector em um ambiente virtual. Para fazer isso, execute o comando a seguir.

```
>>> pip install redshift_connector
```

Opcionalmente, você pode instalar pandas e NumPy com o conector.

```
>>> pip install 'redshift_connector[full]'
```

Para obter mais informações sobre o pip, consulte o [site do pip](https://pip.pypa.io/en/stable/).

## Instalar o conector Python pelo Conda
<a name="python-pip-install-from-conda"></a>

Você pode instalar o conector Python pelo Anaconda.org.

```
>>>conda install -c conda-forge redshift_connector
```

## Instalar o conector Python clonando o repositório GitHub da AWS
<a name="python-pip-install-from-source"></a>

Para instalar o conector Python a partir da origem, clone o repositório GitHub da AWS. Depois de instalar o Python e o virtualenv, configure o ambiente e instale as dependências necessárias executando os comandos a seguir.

```
$ git clone https://github.com/aws/amazon-redshift-python-driver.git
$ cd amazon-redshift-python-driver
$ virtualenv venv
$ . venv/bin/activate
$ python -m pip install -r requirements.txt
$ python -m pip install -e .
$ python -m pip install redshift_connector
```

# Opções de configuração para o conector Python do Amazon Redshift
<a name="python-configuration-options"></a>

A seguir, você encontra descrições para as opções que podem ser especificadas para conector Python do Amazon Redshift. As opções abaixo se aplicam à versão mais recente do conector disponível, a menos que especificado de outra forma.

## access\$1key\$1id
<a name="python-access-key-id-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O ID de chave de acesso da função do IAM ou o usuário do IAM configurado para autenticação do banco de dados do IAM. 

Esse parâmetro é opcional.

## allow\$1db\$1user\$1override
<a name="python-allow-db-user-override-option"></a>
+ **Valor padrão**: false
+ **Tipo de dados**: booliano

Verdadeiro  
Especifica que o conector usa o valor `DbUser` da declaração Security Assertion Markup Language (SAML).

Falso  
Especifica que o valor no parâmetro de conexão `DbUser` é usado.

Esse parâmetro é opcional.

## app\$1name
<a name="python-app-name-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O nome da aplicação do provedor de identidade (IdP) usado para autenticação. 

Esse parâmetro é opcional.

## application\$1name
<a name="python-application_name-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O nome da aplicação a ser passado ao Amazon Redshift para fins de auditoria. O nome da aplicação que fornecido aparece na coluna “application\$1name” da tabela [SYS\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/SYS_CONNECTION_LOG.html). Isso ajuda a rastrear e solucionar problemas de fontes de conexão ao depurar problemas.

Esse parâmetro é opcional.

## auth\$1profile
<a name="python-auth-profile-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O nome de um perfil de autenticação do Amazon Redshift com propriedades de conexão como JSON. Para obter mais informações sobre como nomear parâmetros de conexão, consulte a classe `RedshiftProperty`. A classe `RedshiftProperty` armazena parâmetros de conexão fornecidos pelo usuário final e, se aplicável, gerados durante o processo de autenticação do IAM (por exemplo, credenciais temporárias do IAM). Para obter mais informações, consulte a [classe RedShiftProperty](https://github.com/aws/amazon-redshift-python-driver/blob/master/redshift_connector/redshift_property.py#L9). 

Esse parâmetro é opcional.

## auto\$1create
<a name="python-auto-create-option"></a>
+ **Valor padrão**: false
+ **Tipo de dados**: booliano

Um valor que indica se é necessário criar o usuário, caso o usuário não exista. 

Esse parâmetro é opcional.

## client\$1id
<a name="python-client-id-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O ID do cliente do Azure IdP. 

Esse parâmetro é opcional.

## client\$1secret
<a name="python-client-secret-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O segredo do cliente do Azure IdP. 

Esse parâmetro é opcional.

## cluster\$1identifier
<a name="python-cluster-identifier-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O identificador de clusters do cluster do Amazon Redshift. 

Esse parâmetro é opcional.

## credentials\$1provider
<a name="python-credential-provider-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O IdP usado para autenticação com o Amazon Redshift. Estes são valores válidos: 
+ `AdfsCredentialsProvider`
+ `AzureCredentialsProvider`
+ `BrowserAzureCredentialsProvider`
+ `BrowserAzureOAuth2CredentialsProvider`
+ `BrowserIdcAuthPlugin`: um plug-in de autorização que usa o Centro de Identidade do AWS IAM.
+ `BrowserSamlCredentialsProvider`
+ AWS: um plug-in de autorização que aceita um token do Centro de Identidade do AWS IAM ou tokens de identidade baseados em JSON (JWT) do OpenID Connect (OIDC) de qualquer provedor de identidades da web vinculado ao Centro de Identidade do `IdpTokenAuthPlugin` IAM.
+ `PingCredentialsProvider`
+ `OktaCredentialsProvider`

Esse parâmetro é opcional.

## banco de dados
<a name="python-database-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O nome do banco de dados ao qual deseja se conectar. 

Esse parâmetro é obrigatório.

## database\$1metadata\$1current\$1db\$1only
<a name="python-database-metadata-current-db-only-option"></a>
+ **Valor padrão**: true
+ **Tipo de dados**: booliano

Um valor que indica se uma aplicação oferece suporte a catálogos de unidades de compartilhamento de dados de vários bancos de dados. O valor padrão True indica que a aplicação não oferece suporte a catálogos de unidades de compartilhamento de dados de vários bancos de dados para compatibilidade com versões anteriores. 

Esse parâmetro é opcional.

## db\$1groups
<a name="python-db-groups-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

Uma lista separada por vírgulas de nomes de grupos de bancos de dados existentes que o usuário indicou pelo DbUser ingressa à sessão atual. 

Esse parâmetro é opcional.

## db\$1user
<a name="python-db-user-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O ID de usuário a ser usado com o Amazon Redshift. 

Esse parâmetro é opcional.

## endpoint\$1url
<a name="python-endpoint-url-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

A URL do endpoint do Amazon Redshift. Essa opção é apenas para uso interno da AWS. 

Esse parâmetro é opcional.

## group\$1federation
<a name="python-group-federation-option"></a>
+ **Valor padrão**: false
+ **Tipo de dados**: booliano

Essa opção especifica se grupos de IDP do Amazon Redshift serão usados ou não.

Esse parâmetro é opcional.

**true**  
Use grupos de provedores de identidade (IDP) do Amazon Redshift.

**false**  
Use a API STS e GetClusterCredentials para federação de usuários e especifique explicitamente os **db\$1groups** para a conexão.

## host
<a name="python-host-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O nome de host do cluster do Amazon Redshift. 

Esse parâmetro é opcional.

## iam
<a name="python-iam-option"></a>
+ **Valor padrão**: false
+ **Tipo de dados**: booliano

A autenticação do IAM está habilitada. 

Esse parâmetro é obrigatório.

## iam\$1disable\$1cache
<a name="python-iam-disable-cache-option"></a>
+ **Valor padrão**: false
+ **Tipo de dados**: booliano

Essa opção especifica se as credenciais do IAM são armazenadas em cache. Por padrão, as credenciais do IAM são armazenadas em cache. Isso melhora a performance quando solicitações para o API Gateway têm controle de utilização. 

Esse parâmetro é opcional.

## idc\$1client\$1display\$1name
<a name="python-idc_client_display_name-option"></a>
+ **Valor padrão**: conector Python do Amazon Redshift
+ **Tipo de dados**: string

O nome de exibição a ser usado para o cliente que está usando o BrowserIdcAuthPlugin.

Esse parâmetro é opcional.

## idc\$1region
<a name="python-idc_region"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

A região da AWS onde a instância do Centro de Identidade do AWS IAM está localizada.

Esse parâmetro só é necessário durante a autenticação usando `BrowserIdcAuthPlugin` na opção de configuração credentials\$1provider.

## idp\$1partition
<a name="python-idp_partition-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

Especifica a partição na nuvem em que o provedor de identidades (IdP) está configurado. Isso determina a qual endpoint de autenticação do IdP o driver se conecta.

Se esse parâmetro for deixado em branco, o driver usará como padrão a partição comercial. Os valores possíveis são:
+  `us-gov`: use este valor se seu IdP estiver configurado no Azure Government. Por exemplo, o Azure AD Government usa o endpoint `login.microsoftonline.us`.
+  `cn`: use este valor se seu IdP estiver configurado na partição de nuvem da China. Por exemplo, o Azure AD China usa o endpoint `login.chinacloudapi.cn`. 

Esse parâmetro é opcional.

## idpPort
<a name="python-idp-port-option"></a>
+ **Valor padrão** – 7890
+ **Tipo de dados**: inteiro

A porta de escuta para a qual o IdP envia a declaração SAML. 

Esse parâmetro é obrigatório.

## idp\$1response\$1timeout
<a name="python-idp-response-timeout-option"></a>
+ **Valor padrão** – 120
+ **Tipo de dados**: inteiro

O tempo limite para recuperar a declaração SAML do IdP. 

Esse parâmetro é obrigatório.

## idp\$1tenant
<a name="python-idp-tenant-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O IdP locatário. 

Esse parâmetro é opcional.

## issuer\$1url
<a name="python-issuer_url"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

 Aponta para o endpoint da instância do servidor do Centro de Identidade do AWS IAM. 

Esse parâmetro só é necessário durante a autenticação usando `BrowserIdcAuthPlugin` na opção de configuração credentials\$1provider.

## listen\$1port
<a name="python-listen-port-option"></a>
+ **Valor padrão** – 7890
+ **Tipo de dados**: inteiro

A porta que o driver usa para receber a resposta SAML do provedor de identidades ou o código de autorização ao usar os serviços SAML, Azure AD ou Centro de Identidade do AWS IAM por meio de um plug-in do navegador.

Esse parâmetro é opcional.

## login\$1url
<a name="python-login-url-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O URL de autenticação única para o IdP. 

Esse parâmetro é opcional.

## max\$1prepared\$1statations
<a name="python-max-prepared-statements-option"></a>
+ **Valor padrão** – 1000
+ **Tipo de dados**: inteiro

O número máximo de instruções preparadas que serão armazenadas em cache simultaneamente. Definir esse parâmetro como 0 desabilita o mecanismo de cache. A inserção de um número negativo para esse parâmetro o define como o valor padrão. 

Esse parâmetro é opcional.

## numeric\$1to\$1float
<a name="python-numeric-to-float-option"></a>
+ **Valor padrão**: false
+ **Tipo de dados**: booliano

Essa opção especifica se o conector converte valores do tipo dados numéricos de decimal.Decimal para float. Por padrão, o conector recebe valores do tipo dados numéricos como decimal.Decimal e não os converte. 

Não recomendamos habilitar numeric\$1to\$1float para casos de uso que exigem precisão, pois os resultados podem ser arredondados. 

Para obter mais informações sobre decimal.Decimal e as compensações entre ele e float, consulte [decimal — Aritmética de ponto fixo decimal e ponto flutuante](https://docs.python.org/3/library/decimal.html) no site do Python. 

Esse parâmetro é opcional.

## partner\$1sp\$1id
<a name="python-partner-sp-id-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O ID do Partner SP usado para autenticação com Ping. 

Esse parâmetro é opcional.

## password
<a name="python-password-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

A senha a ser usada para autenticação. 

Esse parâmetro é opcional.

## porta
<a name="python-port-option"></a>
+ **Valor padrão** – 5439
+ **Tipo de dados**: inteiro

O número da porta do cluster Amazon Redshift. 

Esse parâmetro é obrigatório.

## preferred\$1role
<a name="python-preferred-role-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

A função do IAM preferencial para a conexão atual. 

Esse parâmetro é opcional.

## principal\$1arn
<a name="python-principal-arn-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O nome do recurso da Amazon (ARN) do usuário ou perfil do IAM para o qual você está gerando uma política. É recomendável anexar uma política a um perfil e, depois, anexar o perfil ao usuário, para acesso. 

Esse parâmetro é opcional.

## perfil
<a name="python-profile-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O nome de um perfil em um arquivo de credenciais da AWS que contém credenciais da AWS. 

Esse parâmetro é opcional.

## provider\$1name
<a name="python-provider_name-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O nome do provedor de autenticação nativa do Redshift. 

Esse parâmetro é opcional.

## region
<a name="python-region-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

A Região da AWS onde o cluster está localizado. 

Esse parâmetro é opcional.

## role\$1arn
<a name="python-role-arn-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O nome do recurso da Amazon (ARN) da função que o autor da chamada deve assumir. Esse parâmetro é usado pelo provedor indicado por `JwtCredentialsProvider`. 

Para o provedor `JwtCredentialsProvider`, esse parâmetro é obrigatório. Senão, esse parâmetro é opcional.

## role\$1session\$1name
<a name="python-role-session-name-option"></a>
+ **Valor padrão**: jwt\$1redshift\$1session
+ **Tipo de dados**: string

Um identificador para a sessão de função assumida. Normalmente, você passa o nome ou identificador que está associado ao usuário que está usando a aplicação. As credenciais de segurança temporárias que o aplicativo usa estão associadas a esse usuário. Esse parâmetro é usado pelo provedor indicado por `JwtCredentialsProvider`. 

Esse parâmetro é opcional.

## scope
<a name="python-scope-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

Uma lista separada por espaços de escopos com os quais o usuário pode consentir. Você especifica esse parâmetro para que sua aplicação possa obter consentimento para APIs que você deseja chamar. É possível estipular esse parâmetro ao especificar BrowserAzureOAuth2CredentialsProvider para a opção credentials\$1provider.

Esse parâmetro é obrigatório para o plug-in BrowserAzureOAuth2CredentialsProvider.

## secret\$1access\$1key\$1id
<a name="python-secret-access-key-id-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

A chave de acesso secreta da função do IAM ou o usuário configurado para autenticação do banco de dados do IAM. 

Esse parâmetro é opcional.

## session\$1token
<a name="python-session-token-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O ID de chave de acesso da função do IAM ou o usuário do IAM configurado para autenticação do banco de dados do IAM. Esse parâmetro será necessário se as credenciais temporárias da AWS estiverem em uso. 

Esse parâmetro é opcional.

## serverless\$1acct\$1id
<a name="python-serverless-acct-id-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O ID da conta do Amazon Redshift Serverless.

Esse parâmetro é opcional.

## serverless\$1work\$1group
<a name="python-serverless-work-group-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O nome do grupo de trabalho do Amazon Redshift Serverless.

Esse parâmetro é opcional.

## ssl
<a name="python-ssl-option"></a>
+ **Valor padrão**: true
+ **Tipo de dados**: booliano

O Secure Sockets Layer (SSL) está habilitado. 

Esse parâmetro é obrigatório.

## ssl\$1insecure
<a name="python-ssl-insecure-option"></a>
+ **Valor padrão**: false
+ **Tipo de dados**: booliano

Um valor que especifica se é necessário desabilitar a verificação do certificado SSL do servidor do host do IdP. Ao definir esse parâmetro como True, a verificação do certificado SSL do servidor do host do IdP será desabilitada. Recomendamos que você mantenha o valor padrão False em ambientes de produção.

Esse parâmetro é opcional.

## sslmode
<a name="python-sslmode-option"></a>
+ **Valor padrão**: verify-ca
+ **Tipo de dados**: string

A segurança da conexão com o Amazon Redshift. Você pode especificar qualquer um destes valores: 
+ verify-ca
+ verify-full

Esse parâmetro é obrigatório.

## tcp\$1keepalive
<a name="python-tcp_keepalive-option"></a>
+ **Valor padrão**: true
+ **Tipo de dados**: booliano

Se deseja usar keepalives de TCP para evitar que as conexões expirem. Especifique os seguintes valores:
+ True: o driver usará keepalives de TCP para evitar que o tempo limite das conexões se esgote.
+ False: o driver não usa keepalives de TCP.

Esse parâmetro é opcional.

## tcp\$1keepalive\$1count
<a name="python-tcp_keepalive_count-option"></a>
+ **Valor-padrão**: nenhum
+ **Tipo de dados**: inteiro

O número de sondagens não confirmadas a serem enviadas antes de considerar a conexão inativa. Por exemplo, definir o valor como 3 significa que o driver enviará 3 pacotes de keepalive sem resposta antes de determinar que a conexão não está mais ativa.

Se esse parâmetro não for especificado, o Amazon Redshift usará o valor padrão do sistema.

Esse parâmetro é opcional.

## tcp\$1keepalive\$1interval
<a name="python-tcp_keepalive_interval-option"></a>
+ **Valor-padrão**: nenhum
+ **Tipo de dados**: inteiro

O intervalo, em segundos, entre as sondagens de keepalive subsequentes, caso o driver não tenha recebido a confirmação da sondagem anterior. Se você especificar esse parâmetro, ele deve ser um inteiro positivo.

Se esse parâmetro não for especificado, o Amazon Redshift usará o valor padrão do sistema.

Esse parâmetro é opcional.

## tcp\$1keepalive\$1idle
<a name="python-tcp_keepalive_idle-option"></a>
+ **Valor-padrão**: nenhum
+ **Tipo de dados**: inteiro

A duração da inatividade, em segundos, após a qual o driver envia a primeira sondagem de keepalive. Por exemplo, definir o valor como 120 significa que o driver aguardará 2 minutos de inatividade antes de enviar o primeiro pacote de keepalive. Se você especificar esse parâmetro, ele deve ser um inteiro positivo. 

Se esse parâmetro não for especificado, o Amazon Redshift usará o valor padrão do sistema.

Esse parâmetro é opcional.

## timeout
<a name="python-timeout-option"></a>
+ **Valor-padrão**: nenhum
+ **Tipo de dados**: inteiro

O número de segundos antes de a conexão com o servidor atingir o tempo limite. 

Esse parâmetro é opcional.

## token
<a name="python-token-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O Centro de Identidade do AWS IAM forneceu um token de acesso ou um token web JSON (JWT) do OpenID Connect (OIDC) fornecido por um provedor de identidades da web vinculado ao Centro de Identidade do AWS IAM. A aplicação deve gerar esse token autenticando o usuário da aplicação com o Centro de Identidade do AWS IAM ou um provedor de identidades vinculado ao Centro de Identidade do AWS IAM. 

Esse parâmetro funciona com `IdpTokenAuthPlugin`.

## token\$1type
<a name="python-token_type-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O tipo de token que está sendo usado no `IdpTokenAuthPlugin`.

Especifique os seguintes valores:

**ACCESS\$1TOKEN**  
Insira se você usar um token de acesso fornecido pelo Centro de Identidade do AWS IAM.

**EXT\$1JWT**  
Insira se você usar um token web JSON (JWT) do OpenID Connect (OIDC) fornecido por um provedor de identidades baseado na web integrado ao Centro de Identidade do AWS IAM.

Esse parâmetro funciona com `IdpTokenAuthPlugin`.

## usuário
<a name="python-user-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O nome do usuário a ser usado para autorização. 

Esse parâmetro é opcional.

## web\$1identity\$1token
<a name="python-web-identity-token-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O token de acesso OAuth 2.0 ou token OpenID Connect ID fornecido pelo provedor de identidade. Verifique se sua aplicação obtém esse token autenticando o usuário que está usando a aplicação com um provedor de identidade da Web. O provedor indicado por `JwtCredentialsProvider` usa este parâmetro. 

Para o provedor `JwtCredentialsProvider`, esse parâmetro é obrigatório. Senão, esse parâmetro é opcional.

# Importar o conector Python
<a name="python-start-import"></a>

Para importar o conector Python, execute o comando a seguir.

```
>>> import redshift_connector
```

Para se conectar a um cluster do Amazon Redshift usando credenciais da AWS, execute o comando a seguir.

```
conn = redshift_connector.connect(
    host='examplecluster.abc123xyz789.us-west-1.redshift.amazonaws.com',
    port=5439,
    database='dev',
    user='awsuser',
    password='my_password'
 )
```

# Integrar o conector Python ao NumPy
<a name="python-connect-integrate-numpy"></a>

A seguir, veja um exemplo de integração do conector Python ao NumPy.

```
>>>  import numpy
#Connect to the cluster
>>> import redshift_connector
>>> conn = redshift_connector.connect(
     host='examplecluster.abc123xyz789.us-west-1.redshift.amazonaws.com',
     port=5439,
     database='dev',
     user='awsuser',
     password='my_password'
  )
  
# Create a Cursor object
>>> cursor = conn.cursor()

# Query and receive result set            
cursor.execute("select * from book")

result: numpy.ndarray = cursor.fetch_numpy_array()
print(result)
```

Veja os resultados a seguir.

```
[['One Hundred Years of Solitude' 'Gabriel García Márquez']
['A Brief History of Time' 'Stephen Hawking']]
```

# Integrar o conector Python a pandas
<a name="python-connect-integrate-pandas"></a>

A seguir, veja um exemplo de integração do conector Python a pandas.

```
>>> import pandas

#Connect to the cluster
>>> import redshift_connector
>>> conn = redshift_connector.connect(
     host='examplecluster.abc123xyz789.us-west-1.redshift.amazonaws.com',
     port=5439,
     database='dev',
     user='awsuser',
     password='my_password'
  )
  
# Create a Cursor object
>>> cursor = conn.cursor()

# Query and receive result set
cursor.execute("select * from book")
result: pandas.DataFrame = cursor.fetch_dataframe()
print(result)
```

# Usar plugins do provedor de identidade
<a name="python-connect-identity-provider-plugins"></a>

Para obter informações gerais sobre como usar plugins do provedor de identidade, consulte [Opções para fornecer credenciais do IAM](options-for-providing-iam-credentials.md). Para obter mais informações sobre o gerenciamento de identidades do IAM, incluindo práticas recomendadas para perfis do IAM, consulte [Gerenciamento de Identidade e Acesso no Amazon Redshift](redshift-iam-authentication-access-control.md).

## Autenticação com o plugin do provedor de identidade ADFS
<a name="python-connect-identity-provider-active-dir"></a>

Veja a seguir um exemplo de uso do plugin do provedor de identidade do Serviço de Federação do Active Directory (ADFS) para autenticar um usuário que se conecta a um banco de dados do Amazon Redshift.

```
>>> con = redshift_connector.connect(
    iam=True,
    database='dev',
    host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
    cluster_identifier='my-testing-cluster',
    credentials_provider='AdfsCredentialsProvider',
    user='brooke@myadfshostname.com',
    password='Hunter2',
    idp_host='myadfshostname.com'
)
```

## Autenticação com o plugin do provedor de identidade do Azure
<a name="python-connect-identity-provider-azure"></a>

Veja a seguir um exemplo de autenticação com o plugin do provedor de identidade do Azure. Você pode criar valores para um `client_id` e `client_secret` para uma aplicação Azure Enterprise, conforme mostrado a seguir. 

```
>>>  con = redshift_connector.connect(
    iam=True,
    database='dev',
    host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
    cluster_identifier='my-testing-cluster',
    credentials_provider='AzureCredentialsProvider',
    user='brooke@myazure.org',
    password='Hunter2',
    idp_tenant='my_idp_tenant',
    client_id='my_client_id',
    client_secret='my_client_secret',
    preferred_role='arn:aws:iam:123:role/DataScientist'
)
```

## Autenticação com o plugin do provedor de identidades do Centro de Identidade do AWS IAM
<a name="python-connect-identity-provider-aws-idc"></a>

 Veja a seguir um exemplo de autenticação com o plugin do provedor de identidades do Centro de Identidade do AWS IAM. 

```
with redshift_connector.connect(
credentials_provider='BrowserIdcAuthPlugin',
host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
database='dev',
idc_region='us-east-1',
issuer_url='https://identitycenter.amazonaws.com/ssoins-790723ebe09c86f9',
idp_response_timeout=60,
listen_port=8100,
idc_client_display_name='Test Display Name',
# port value of 5439 is specified by default
)
```

## Autenticação com o plugin do provedor de identidade do Azure Browser
<a name="python-connect-identity-provider-azure-browser"></a>

Veja a seguir um exemplo de uso do plugin do provedor de identidade do Azure Browser para autenticar um usuário que se conecta a um banco de dados do Amazon Redshift.

A autenticação multifator ocorre no navegador, no qual as credenciais de login são fornecidas pelo usuário.

```
>>>con = redshift_connector.connect(
    iam=True,
    database='dev',
    host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
    cluster_identifier='my-testing-cluster',
    credentials_provider='BrowserAzureCredentialsProvider',
    idp_tenant='my_idp_tenant',
    client_id='my_client_id',
)
```

## Autenticação com o plugin do provedor de identidade Okta
<a name="python-connect-identity-provider-okta"></a>

Veja a seguir um exemplo de autenticação com o plugin do provedor de identidade do Okta. Você pode obter os valores para `idp_host`, `app_id` e `app_name` pela aplicação Okta.

```
>>> con = redshift_connector.connect(
    iam=True,
    database='dev',
    host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
    cluster_identifier='my-testing-cluster',
    credentials_provider='OktaCredentialsProvider',
    user='brooke@myazure.org',
    password='hunter2',
    idp_host='my_idp_host',
    app_id='my_first_appetizer',
    app_name='dinner_party'
)
```

## Autenticação com JumpCloud com um plugin genérico de provedor de identidade de navegador SAML
<a name="python-connect-identity-provider-jumpcloud"></a>

Veja a seguir um exemplo de uso do JumpCloud com um plugin genérico de provedor de identidade de navegador SAML para autenticação.

O parâmetro password é obrigatório. Porém, não é necessário inserir esse parâmetro, pois a autenticação multifator ocorre no navegador.

```
>>> con = redshift_connector.connect(
    iam=True,
    database='dev',
    host='my-testing-cluster.abc.us-east-2.redshift.amazonaws.com',
    cluster_identifier='my-testing-cluster',
    credentials_provider='BrowserSamlCredentialsProvider',
    user='brooke@myjumpcloud.org',
    password='',
    login_url='https://sso.jumpcloud.com/saml2/plustwo_melody'
)
```

# Exemplos de uso do conector Python do Amazon Redshift
<a name="python-connect-examples"></a>

Veja a seguir exemplos de como usar o conector Python do Amazon Redshift. Para executá-los, primeiro instale o conector Python. Para obter mais informações sobre a instalação do conector Python do Amazon Redshift, consulte [Instalar o conector Python do Amazon Redshift](python-driver-install.md). Para obter mais informações sobre as opções de configuração que você pode usar com o conector Python, consulte [Opções de configuração para o conector Python do Amazon Redshift](python-configuration-options.md).

**Topics**
+ [Conectar-se a um cluster do Amazon Redshift e consultá-lo usando credenciais da AWS](#python-connect-cluster)
+ [Habilitar o autocommit](#python-connect-enable-autocommit)
+ [Configurar o estilo de parâmetro do cursor](#python-connect-config-paramstyle)
+ [Usar COPY para copiar dados de um bucket do Amazon S3 e UNLOAD para gravar dados nele](#python-connect-copy-unload-s3)

## Conectar-se a um cluster do Amazon Redshift e consultá-lo usando credenciais da AWS
<a name="python-connect-cluster"></a>

O exemplo a seguir mostra como você se conecta com um cluster do Amazon Redshift usando credenciais da AWS, consulta uma tabela e recupera os resultados da consulta.

```
#Connect to the cluster
>>> import redshift_connector
>>> conn = redshift_connector.connect(
     host='examplecluster.abc123xyz789.us-west-1.redshift.amazonaws.com',
     database='dev',
     port=5439,
     user='awsuser',
     password='my_password'
  )
  
# Create a Cursor object
>>> cursor = conn.cursor()

# Query a table using the Cursor
>>> cursor.execute("select * from book")
                
#Retrieve the query result set
>>> result: tuple = cursor.fetchall()
>>> print(result)
 >> (['One Hundred Years of Solitude', 'Gabriel García Márquez'], ['A Brief History of Time', 'Stephen Hawking'])
```

## Habilitar o autocommit
<a name="python-connect-enable-autocommit"></a>

A propriedade autocommit é desativada por padrão, conforme a Python Database API Specification. Use os comandos a seguir para ativar a propriedade autocommit da conexão depois de executar um comando de reversão para garantir que uma transação não esteja em andamento.

```
#Connect to the cluster
>>> import redshift_connector
>>> conn = redshift_connector.connect(...)

# Run a rollback command
>>>  conn.rollback()

# Turn on autocommit
>>>  conn.autocommit = True
>>>  conn.run("VACUUM")

# Turn off autocommit
>>>  conn.autocommit = False
```

## Configurar o estilo de parâmetro do cursor
<a name="python-connect-config-paramstyle"></a>

O estilo de parâmetro de um cursor pode ser modificado por meio de cursor.paramstyle. O estilo de parâmetro padrão usado é `format`. Os valores válidos para o estilo de parâmetro são `qmark`, `numeric`, `named`, `format` e `pyformat`.

Veja a seguir exemplos do uso de vários estilos de parâmetros para transmitir parâmetros para um exemplo de instrução SQL.

```
# qmark
redshift_connector.paramstyle = 'qmark'
sql = 'insert into foo(bar, jar) VALUES(?, ?)'
cursor.execute(sql, (1, "hello world"))

# numeric
redshift_connector.paramstyle = 'numeric'
sql = 'insert into foo(bar, jar) VALUES(:1, :2)'
cursor.execute(sql, (1, "hello world"))

# named
redshift_connector.paramstyle = 'named'
sql = 'insert into foo(bar, jar) VALUES(:p1, :p2)'
cursor.execute(sql, {"p1":1, "p2":"hello world"})

# format
redshift_connector.paramstyle = 'format'
sql = 'insert into foo(bar, jar) VALUES(%s, %s)'
cursor.execute(sql, (1, "hello world"))

# pyformat
redshift_connector.paramstyle = 'pyformat'
sql = 'insert into foo(bar, jar) VALUES(%(bar)s, %(jar)s)'
cursor.execute(sql, {"bar": 1, "jar": "hello world"})
```

## Usar COPY para copiar dados de um bucket do Amazon S3 e UNLOAD para gravar dados nele
<a name="python-connect-copy-unload-s3"></a>

O exemplo a seguir mostra como copiar dados de um bucket do Amazon S3 para uma tabela e descarregar dessa tabela de volta no bucket.

Um arquivo de texto chamado `category_csv.txt`, que contém os dados a seguir, é carregado em um bucket do Amazon S3.

```
12,Shows,Musicals,Musical theatre
13,Shows,Plays,"All ""non-musical"" theatre"
14,Shows,Opera,"All opera, light, and ""rock"" opera"
15,Concerts,Classical,"All symphony, concerto, and choir concerts"
```

Veja a seguir um exemplo do código Python, que primeiro se conecta ao banco de dados do Amazon Redshift. Em seguida, cria uma tabela chamada `category` e copia os dados CSV do bucket do S3 para a tabela.

```
#Connect to the cluster and create a Cursor
>>> import redshift_connector
>>> with redshift_connector.connect(...) as conn:
>>> with conn.cursor() as cursor:

#Create an empty table
>>>     cursor.execute("create table category (catid int, cargroup varchar, catname varchar, catdesc varchar)")

#Use COPY to copy the contents of the S3 bucket into the empty table 
>>>     cursor.execute("copy category from 's3://testing/category_csv.txt' iam_role 'arn:aws:iam::123:role/RedshiftCopyUnload' csv;")

#Retrieve the contents of the table
>>>     cursor.execute("select * from category")
>>>     print(cursor.fetchall())

#Use UNLOAD to copy the contents of the table into the S3 bucket
>>>     cursor.execute("unload ('select * from category') to 's3://testing/unloaded_category_csv.txt'  iam_role 'arn:aws:iam::123:role/RedshiftCopyUnload' csv;")

#Retrieve the contents of the bucket
>>>     print(cursor.fetchall())
 >> ([12, 'Shows', 'Musicals', 'Musical theatre'], [13, 'Shows', 'Plays', 'All "non-musical" theatre'], [14, 'Shows', 'Opera', 'All opera, light, and "rock" opera'], [15, 'Concerts', 'Classical', 'All symphony, concerto, and choir concerts'])
```

Se você não definiu `autocommit` como true, confirme com `conn.commit()` depois de executar as instruções `execute()`.

Os dados são descarregados no arquivo `unloaded_category_csv.text0000_part00` no bucket do S3, com o seguinte conteúdo:

```
12,Shows,Musicals,Musical theatre
13,Shows,Plays,"All ""non-musical"" theatre"
14,Shows,Opera,"All opera, light, and ""rock"" opera"
15,Concerts,Classical,"All symphony, concerto, and choir concerts"
```

# Referência de API para o conector Python do Amazon Redshift
<a name="python-api-reference"></a>

A seguir, você encontrará uma descrição das operações de API do conector Python do Amazon Redshift.

## redshift\$1connector
<a name="python-api-redshift_connector"></a>

A seguir, você encontrará uma descrição da operação de API `redshift_connector`.

`connect(user, database, password[, port, …])`  
Estabelece uma conexão com um cluster do Amazon Redshift. Essa função valida a entrada do usuário, autentica opcionalmente usando um plugin do provedor de identidade e cria um objeto de conexão.

`apilevel`  
O nível DBAPI compatível, atualmente “2.0".

`paramstyle``str(object=’’) -> str str(bytes_or_buffer[, encoding[, errors]]) -> str`  
O estilo de parâmetro da API do banco de dados a ser usado globalmente.

## Conexão
<a name="python-api-connection"></a>

A seguir, você encontrará uma descrição das operações de API de conexão para o conector Python do Amazon Redshift.

`__init__(user, password, database[, host, …])`  
Inicializa um objeto de conexão bruta.

`cursor`  
Cria um objeto cursor vinculado a essa conexão.

`commit`  
Confirma a transação de banco de dados atual.

`rollback`  
Reverte a transação de banco de dados atual.

`close`  
Encerra a conexão com o banco de dados.

`execute(cursor, operation, vals)`  
Executa os comandos SQL especificados. Você pode fornecer os parâmetros como uma sequência ou como um mapeamento, conforme o valor de `redshift_connector.paramstyle`.

`run(sql[, stream])`  
Executa os comandos SQL especificados. Se preferir, você também pode fornecer um fluxo a ser usado com o comando COPY.

`xid(format_id, global_transaction_id, …)`  
Crie um ID de transação. Somente o parâmetro `global_transaction_id` é usado em postgres. O format\$1id e o branch\$1qualifier não são usados em postgres. O `global_transaction_id` pode ser qualquer identificador de string compatível com postgres que retorne uma tupla (`format_id`, `global_transaction_id`, `branch_qualifier`).

`tpc_begin(xid)`  
Inicia uma transação TPC com um ID de transação `xid` consistindo em um ID de formato, ID de transação global e qualificador de ramificação. 

`tpc_prepare`  
Executa a primeira fase de uma transação iniciada com .tpc\$1begin.

`tpc_commit([xid])`  
Quando chamado sem argumentos, o .tpc\$1commit confirma uma transação TPC previamente preparada com .tpc\$1prepare().

`tpc_rollback([xid])`  
Quando chamado sem argumentos, o .tpc\$1rollback reverte uma transação TPC.

`tpc_recover`  
Retorna uma lista de IDs de transação pendentes adequadas para uso com .tpc\$1commit(xid) ou .tpc\$1rollback(xid).

## Cursor
<a name="python-api-cursor"></a>

A seguir, você encontrará uma descrição da operação de API de cursor.

`__init__(connection[, paramstyle])`  
Inicializa um objeto cursor bruto.

`insert_data_bulk(filename, table_name, parameter_indices, column_names, delimiter, batch_size)`  
Executa uma instrução INSERT em massa.

`execute(operation[, args, stream, …])`  
Executa uma operação de banco de dados.

`executemany(operation, param_sets)`  
Prepara uma operação de banco de dados e a executa para todas as sequências de parâmetros ou mapeamentos fornecidos.

`fetchone`  
Busca a próxima linha de um conjunto de resultados de consulta.

`fetchmany([num])`  
Busca o próximo conjunto de linhas de um resultado da consulta.

`fetchall`  
Busca todas as linhas restantes de um resultado da consulta.

`close`  
Encerra o cursor agora. 

`__iter__`  
É possível iterar um objeto de cursor para recuperar as linhas de uma consulta.

`fetch_dataframe([num])`  
Retorna um dataframe dos últimos resultados da consulta.

`write_dataframe(df, table)`  
Grava o mesmo dataframe de estrutura em um banco de dados do Amazon Redshift.

`fetch_numpy_array([num])`  
Retorna uma matriz NumPy dos últimos resultados da consulta.

`get_catalogs`  
O Amazon Redshift não oferece suporte a vários catálogos a partir de uma única conexão. O Amazon Redshift retorna somente o catálogo atual.

`get_tables([catalog, schema_pattern, …])`  
Retorna as tabelas públicas exclusivas que são definidas pelo usuário dentro do sistema.

`get_columns([catalog, schema_pattern, …])`  
Retorna uma lista de todas as colunas de uma tabela específica em um banco de dados do Amazon Redshift.

## Plugin AdfsCredentialsProvider
<a name="python-adfs-credentials-plugin"></a>

Veja a seguir a sintaxe da operação de API do plugin AdfsCredentialsProvider do conector Python do Amazon Redshift. 

```
redshift_connector.plugin.AdfsCredentialsProvider()
```

## Plugin AzureCredentialsProvider
<a name="python-azure-credentials-plugin"></a>

Veja a seguir a sintaxe da operação de API do plugin AzureCredentialsProvider do conector Python do Amazon Redshift.

```
redshift_connector.plugin.AzureCredentialsProvider()
```

## Plugin BrowserAzureCredentialsProvider
<a name="python-browser-azure-credentials-plugin"></a>

Veja a seguir a sintaxe da operação de API do plugin BrowserAzureCredentialsProvider do conector Python do Amazon Redshift.

```
redshift_connector.plugin.BrowserAzureCredentialsProvider()
```

## Plugin BrowserSamlCredentialsProvider
<a name="python-browser-saml-credentials-plugin"></a>

Veja a seguir a sintaxe da operação de API do plugin BrowserSamlCredentialsProvider do conector Python do Amazon Redshift.

```
redshift_connector.plugin.BrowserSamlCredentialsProvider()
```

## Plugin OktaCredentialsProvider
<a name="python-okta-credentials-plugin"></a>

Veja a seguir a sintaxe da operação de API do plugin OktaCredentialsProvider do conector Python do Amazon Redshift.

```
redshift_connector.plugin.OktaCredentialsProvider()
```

## Plugin PingCredentialsProvider
<a name="python-ping-credentials-plugin"></a>

Veja a seguir a sintaxe da operação de API do plugin PingCredentialsProvider do conector Python do Amazon Redshift.

```
redshift_connector.plugin.PingCredentialsProvider()
```

## Plugin SamlCredentialsProvider
<a name="python-saml-credentials-plugin"></a>

Veja a seguir a sintaxe da operação de API do plugin SamlCredentialsProvider do conector Python do Amazon Redshift.

```
redshift_connector.plugin.SamlCredentialsProvider()
```

# Integração do Amazon Redshift para o Apache Spark
<a name="spark-redshift-connector"></a>

 O [Apache Spark](https://aws.amazon.com/emr/features/spark/) é um modelo de programação e estrutura de processamento distribuído que ajuda você a realizar machine learning, processamento de fluxo ou análises de gráficos. Semelhante ao Apache Hadoop, o Spark é um sistema de processamento distribuído de código-fonte aberto comumente utilizado para workloads de big data. O Spark tem um mecanismo de execução otimizado de gráfico acíclico direcionado (DAG) e armazena ativamente os dados na memória. Isso pode aumentar a performance, especialmente para determinados algoritmos e consultas interativas. 

 Essa integração fornece um conector do Spark que você pode usar para criar aplicações do Apache Spark que leem e gravam dados no Amazon Redshift e no Amazon Redshift Serverless. Essas aplicações não comprometem a performance nem a consistência transacional dos dados. Essa integração é incluída automaticamente no [Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/) e [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/), portanto você pode executar imediatamente trabalhos do Apache Spark que acessam e carregam dados no Amazon Redshift como parte de seus pipelines de ingestão e transformação de dados. 

No momento, é possível usar as versões 3.3.x, 3.4.x, 3.5.x e 4.0.0 do Spark com essa integração.

 Essa integração fornece o seguinte: 
+  AWS Identity and Access ManagementAutenticação do (IAM). Para obter mais informações, consulte [Gerenciamento de identidade e acesso no Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html). 
+ Aplicação de predicados e consultas para melhorar a performance.
+  Tipo de dados do Amazon Redshift. 
+ Conectividade com o Amazon Redshift e o Amazon Redshift Serverless.

## Considerações e limitações ao usar o conector do Spark
<a name="spark-redshift-connector-considerations"></a>
+  O URI de tempdir aponta para uma localização do Amazon S3. Esse diretório temporário não é limpo automaticamente e pode incorrer custos adicionais. Recomendamos usar as [políticas de ciclo de vida do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) no *Guia do usuário do Amazon Simple Storage Service* para definir as regras de retenção para o bucket do Amazon S3. 
+  Por padrão, as cópias entre o Amazon S3 e o Redshift não funcionam se o bucket do S3 e o cluster do Redshift estiverem em regiões da AWS diferentes. Para usar regiões da AWS separadas, defina o parâmetro `tempdir_region` como a região do bucket do S3 usado para `tempdir`.
+ Gravações entre regiões entre o S3 e o Redshift ao gravar dados do Parquet usando o parâmetro `tempformat`.
+ Recomendamos usar a [criptografia no lado do servidor do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) para criptografar os buckets do Amazon S3 usados. 
+ Recomendamos [bloquear o acesso público aos buckets do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html). 
+  Recomendamos que o cluster do Amazon Redshift não esteja acessível ao público. 
+  Recomendamos ativar o [registro em log de auditoria do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/db-auditing.html). 
+  Recomendamos ativar a [criptografia em repouso do Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/security-server-side-encryption.html). 
+  Recomendamos ativar SSL para a conexão JDBC do Spark no Amazon EMR ao Amazon Redshift. 
+ Recomendamos transmitir um perfil do IAM usando o parâmetro `aws_iam_role` para o parâmetro de autenticação do Amazon Redshift.

# Autenticação com o conector do Spark
<a name="redshift-spark-connector-authentication"></a>

O diagrama a seguir descreve a autenticação entre o Amazon S3, o Amazon Redshift, o driver do Spark e os executores do Spark.

![\[Este é um diagrama da autenticação do conector do Spark.\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/images/spark-connector-authentication.png)


## Autenticação entre Redshift e Spark
<a name="redshift-spark-authentication"></a>

 Você pode usar o driver JDBC versão 2.x fornecido pelo Amazon Redshift para se conectar ao Amazon Redshift com o conector do Spark especificando as credenciais de login. Para usar o IAM, [configure o URL do JDBC para usar a autenticação do IAM](https://docs.aws.amazon.com/redshift/latest/mgmt/generating-iam-credentials-configure-jdbc-odbc.html). Para se conectar a um cluster do Redshift pelo Amazon EMR ou AWS Glue, certifique-se de que seu perfil do IAM tenha as permissões necessárias para recuperar credenciais temporárias do IAM. A lista a seguir descreve todas as permissões que seu perfil do IAM precisa para recuperar credenciais e executar operações do Amazon S3. 
+ [ Redshift:GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/APIReference/API_GetClusterCredentials.html) (para clusters provisionados do Redshift)
+ [ Redshift:DescribeClusters](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusters.html) (para clusters provisionados do Redshift)
+ [Redshift:GetWorkgroup](https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_GetWorkgroup.html) (para grupos de trabalho do Amazon Redshift sem servidor)
+ [ Redshift:GetCredentials](https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_GetCredentials.html) (para grupos de trabalho do Amazon Redshift Serverless)
+ [s3:ListBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html)
+ [ s3:GetBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetBucket.html)
+ [ s3:GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
+ [ s3:PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
+ [ s3:GetBucketLifecycleConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html)

 Para acessar mais informações sobre GetClusterCredentials, consulte [Políticas do IAM para GetClusterCredentials](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html#redshift-policy-resources.getclustercredentials-resources). 

Você também deve garantir que o Amazon Redshift possa assumir o perfil do IAM durante as operações `COPY` e `UNLOAD`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "redshift.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Se você estiver usando o driver JDBC mais recente, o driver gerenciará automaticamente a transição de um certificado autoassinado do Amazon Redshift para um certificado do ACM. No entanto, você deve [especificar as opções de SSL para o URL de JDBC](https://docs.aws.amazon.com/redshift/latest/mgmt/jdbc20-configuration-options.html#jdbc20-ssl-option). 

 Veja a seguir um exemplo de como especificar o URL do driver JDBC e `aws_iam_role` para se conectar ao Amazon Redshift. 

```
df.write \
  .format("io.github.spark_redshift_community.spark.redshift ") \
  .option("url", "jdbc:redshift:iam://<the-rest-of-the-connection-string>") \
  .option("dbtable", "<your-table-name>") \
  .option("tempdir", "s3a://<your-bucket>/<your-directory-path>") \
  .option("aws_iam_role", "<your-aws-role-arn>") \
  .mode("error") \
  .save()
```

## Autenticação entre Amazon S3 e Spark
<a name="spark-s3-authentication"></a>

 Se você estiver usando um perfil do IAM para realizar a autenticação entre Spark e Amazon S3, use um dos métodos a seguir: 
+ O AWS SDK para Java tentará encontrar credenciais da AWS automaticamente usando a cadeia de provedores de credenciais padrão implementada pela classe DefaultAWSCredentialsProviderChain. Para obter mais informações, consulte [Utilização da cadeia de fornecedores de credenciais padrão](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html#credentials-default).
+ Você pode especificar chaves da AWS usando as [propriedades de configuração do Hadoop](https://github.com/apache/hadoop/blob/trunk/hadoop-tools/hadoop-aws/src/site/markdown/tools/hadoop-aws/index.md). Por exemplo, se sua configuração de `tempdir` apontar para um sistema de arquivos `s3n://`, defina as propriedades `fs.s3n.awsAccessKeyId` e `fs.s3n.awsSecretAccessKey` em um arquivo de configuração XML do Hadoop ou chame `sc.hadoopConfiguration.set()` para alterar a configuração global do Hadoop do Spark.

Por exemplo, se estiver usando o sistema de arquivos s3n, adicione:

```
sc.hadoopConfiguration.set("fs.s3n.awsAccessKeyId", "YOUR_KEY_ID")
sc.hadoopConfiguration.set("fs.s3n.awsSecretAccessKey", "YOUR_SECRET_ACCESS_KEY")
```

Para o sistema de arquivos s3a, adicione:

```
sc.hadoopConfiguration.set("fs.s3a.access.key", "YOUR_KEY_ID")
sc.hadoopConfiguration.set("fs.s3a.secret.key", "YOUR_SECRET_ACCESS_KEY")
```

Se estiver usando o Python, use as seguintes operações:

```
sc._jsc.hadoopConfiguration().set("fs.s3n.awsAccessKeyId", "YOUR_KEY_ID")
sc._jsc.hadoopConfiguration().set("fs.s3n.awsSecretAccessKey", "YOUR_SECRET_ACCESS_KEY")
```
+ Codifique as chaves de autenticação no URL de `tempdir`. Por exemplo, o URI `s3n://ACCESSKEY:SECRETKEY@bucket/path/to/temp/dir` codifica o par de chaves (`ACCESSKEY`, `SECRETKEY`).

## Autenticação entre Redshift e Amazon S3
<a name="redshift-s3-authentication"></a>

 Se você estiver usando os comandos COPY e UNLOAD em sua consulta, também deverá conceder ao Amazon S3 acesso ao Amazon Redshift para executar consultas em seu nome. Para fazer isso, primeiro [autorize o Amazon Redshift a acessar outros serviços da AWS](https://docs.aws.amazon.com/redshift/latest/mgmt/authorizing-redshift-service.html), depois autorize as [operações COPY e UNLOAD usando perfis do IAM](https://docs.aws.amazon.com/redshift/latest/mgmt/copy-unload-iam-role.html). 

Como prática recomendada, anexe políticas de permissões a um perfil do IAM e, depois, atribua-as a usuários e grupos, conforme necessário. Para obter mais informações, consulte [Gerenciamento de identidade e acesso no Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html).

## Integração com AWS Secrets Manager
<a name="redshift-secrets-manager-authentication"></a>

Você pode recuperar suas credenciais de nome de usuário e senha do Redshift de um segredo armazenado no AWS Secrets Manager. Para fornecer automaticamente as credenciais do Redshift, use o parâmetro `secret.id`. Para obter mais informações sobre como criar um segredo de credenciais do Redshift, consulte [Criar um segredo do banco de dados do AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_database_secret.html).

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/redshift-spark-connector-authentication.html)

**nota**  
 Confirmação: esta documentação contém exemplos de código e linguagem desenvolvidos pela [Apache Software Foundation](http://www.apache.org/) e licenciados sob a [licença Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0). 

# Melhorias de performance com aplicação
<a name="spark-redshift-connector-pushdown"></a>

 O conector do Spark realiza automaticamente a aplicação de predicados e consultas para otimizar a performance. Esse suporte significa que, se você estiver usando uma função compatível em sua consulta, o conector do Spark transformará a função em uma consulta SQL e executará a consulta no Amazon Redshift. Essa otimização resulta em menos dados sendo recuperados, para que o Apache Spark possa processar menos dados e ter melhor performance. Por padrão, a aplicação é ativada automaticamente. Para desativá-la, defina `autopushdown` como false. 

```
import sqlContext.implicits._val 
 sample= sqlContext.read
    .format("io.github.spark_redshift_community.spark.redshift")
    .option("url",jdbcURL )
    .option("tempdir", tempS3Dir)
    .option("dbtable", "event")
    .option("autopushdown", "false")
    .load()
```

 As funções a seguir são compatíveis com a aplicação. Se você estiver usando uma função que não está nessa lista, o conector do Spark executará a função no Spark no lugar do Amazon Redshift, resultando em uma performance não otimizada. Para obter uma lista completa das funções no Spark, consulte [Funções integradas](https://spark.apache.org/docs/latest/api/sql/index.html). 
+ Funções de agregação
  + avg
  + contagem
  + max
  + min
  + soma
  + stddev\$1samp
  + stddev\$1pop
  + var\$1samp
  + var\$1pop
+ Operadores booleanos
  + em
  + isnull
  + isnotnull
  + contém
  + endswith
  + startswith
+ Operadores lógicos
  + and
  + ou
  + not (ou \$1)
+ Funções matemáticas
  + \$1
  + -
  + \$1
  + /
  + - (unário)
  + abs
  + acos
  + asin
  + atan
  + ceil
  + cos
  + exp
  + floor
  + greatest
  + least
  + log10
  + pi
  + pow
  + round
  + sin
  + sqrt
  + tan
+ Funções diversas
  + cast
  + coalesce
  + decimal
  + se
  + em
+ Operadores relacionais
  + \$1=
  + =
  + >
  + >=
  + <
  + <=
+ Funções de string
  + ascii
  + lpad
  + rpad
  + translate
  + upper
  + lower
  + length
  + trim
  + ltrim
  + rtrim
  + like
  + substring
  + concat
+ Funções de data e hora
  + add\$1months
  + date
  + date\$1add
  + date\$1sub
  + date\$1trunc
  + timestamp
  + trunc
+ Operadores matemáticos
  + CheckOverflow
  + PromotePrecision
+ Operações relacionais
  + Aliases (por exemplo, AS)
  + CaseWhen
  + Distinto
  + InSet
  + Junções e junções cruzadas
  + Limites
  + Unions, union all
  + ScalarSubquery
  + Sorts (crescente e decrescente)
  + UnscaledValue

# Outras opções de configuração
<a name="spark-redshift-connector-other-config"></a>

Nesta página, você encontra descrições sobre as opções que podem ser especificadas para o conector Amazon Redshift Spark.

## Tamanho máximo das colunas de string
<a name="spark-redshift-connector-other-config-max-size"></a>

O Redshift cria colunas de string como colunas de texto ao criar tabelas, que são armazenadas como VARCHAR(256). Se você quiser colunas que ofereçam suporte a tamanhos maiores, poderá usar maxlength para especificar o comprimento máximo das colunas de string. Veja a seguir um exemplo de como especificar `maxlength`. 

```
columnLengthMap.foreach { case (colName, length) =>
  val metadata = new MetadataBuilder().putLong("maxlength", length).build()
  df = df.withColumn(colName, df(colName).as(colName, metadata))
}
```

## Tipo de coluna
<a name="spark-redshift-connector-other-config-column-type"></a>

Para definir um tipo de coluna, use o campo `redshift_type`.

```
columnTypeMap.foreach { case (colName, colType) =>
  val metadata = new MetadataBuilder().putString("redshift_type", colType).build()
  df = df.withColumn(colName, df(colName).as(colName, metadata))
}
```

## Codificação de compactação de uma coluna
<a name="spark-redshift-connector-other-config-compression-encoding"></a>

 Para usar uma codificação de compressão específica em uma coluna, use o campo de codificação. Para obter uma lista completa das codificações de compressão compatíveis, consulte [Codificações de compressão](https://docs.aws.amazon.com/redshift/latest/dg/c_Compression_encodings.html). 

## Descrição de uma coluna
<a name="spark-redshift-connector-other-config-description"></a>

Para definir uma descrição, use o campo `description`.

## Autenticação entre Redshift e Amazon S3
<a name="spark-redshift-connector-other-config-unload-as-text"></a>

 Por padrão, o resultado é descarregado no Amazon S3 no formato parquet. Para descarregar o resultado como um arquivo de texto delimitado por barras, especifique a opção a seguir. 

```
.option("unload_s3_format", "TEXT")
```

## Instruções de pushdown
<a name="spark-redshift-connector-other-config-lazy-pushdown"></a>

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/spark-redshift-connector-other-config.html)

## Parâmetros do conector
<a name="spark-redshift-connector-other-config-spark-parameters"></a>

O mapa de parâmetros ou `OPTIONS` no Spark SQL é compatível com as seguintes configurações.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/spark-redshift-connector-other-config.html)

**nota**  
 Confirmação: esta documentação contém exemplos de código e linguagem desenvolvidos pela [Apache Software Foundation](http://www.apache.org/) e licenciados sob a [licença Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0). 

# Tipos de dados compatíveis
<a name="spark-redshift-connector-data-types"></a>

Os seguintes tipos de dados no Amazon Redshift são compatíveis com o conector do Spark. Para obter uma lista completa dos tipos de dados compatíveis no Amazon Redshift, consulte [Tipos de dados](https://docs.aws.amazon.com//redshift/latest/dg/c_Supported_data_types.html). Se um tipo de dado não está na tabela abaixo, ele não é compatível com o conector do Spark.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/spark-redshift-connector-data-types.html)

## Tipos de dados complexos
<a name="spark-redshift-connector-complex-data-types"></a>

 É possível usar o conector Spark para ler e gravar tipos de dados complexos do Spark, como `ArrayType`, `MapType` e `StructType` de e para as colunas do tipo de dados SUPER do Redshift. Se você fornecer um esquema durante uma operação de leitura, os dados na coluna serão convertidos em seus tipos complexos correspondentes no Spark, incluindo qualquer tipo aninhado. Além disso, se `autopushdown` estiver habilitado, a projeção de atributos aninhados, valores de mapas e índices de matriz será enviada ao Redshift para que toda a estrutura de dados aninhada não precise mais ser descarregada ao acessar apenas uma parte dos dados. 

Quando você grava DataFrames pelo conector, qualquer coluna do tipo `MapType`(usando `StringType`) `StructType` ou `ArrayType` é gravada em uma coluna de tipo de dados SUPER do Redshift. Ao escrever essas estruturas de dados aninhadas, o parâmetro `tempformat` deve ser do tipo `CSV`, `CSV GZIP` ou `PARQUET`. Usar `AVRO` causará uma exceção. Gravar uma estrutura de dados `MapType` que tem um tipo de chave diferente de `StringType` também causará uma exceção. 

### StructType
<a name="spark-redshift-connector-complex-data-types-examples-structtype"></a>

O exemplo a seguir demonstra como criar uma tabela com um tipo de dados SUPER que contém uma estrutura.

```
create table contains_super (a super);
```

Depois, é possível usar o conector para consultar um campo `StringType` `hello` da coluna `a` de SUPER na tabela usando um esquema como no exemplo a seguir.

```
import org.apache.spark.sql.types._

val sc = // existing SparkContext
val sqlContext = new SQLContext(sc)

val schema = StructType(StructField("a", StructType(StructField("hello", StringType) ::Nil)) :: Nil)

val helloDF = sqlContext.read
.format("io.github.spark_redshift_community.spark.redshift")
.option("url", jdbcURL )
.option("tempdir", tempS3Dir)
.option("dbtable", "contains_super")
.schema(schema)
.load().selectExpr("a.hello")
```

O exemplo a seguir demonstra como escrever uma estrutura na coluna `a`.

```
import org.apache.spark.sql.types._
import org.apache.spark.sql._

val sc = // existing SparkContext
val sqlContext = new SQLContext(sc)

val schema = StructType(StructField("a", StructType(StructField("hello", StringType) ::Nil)) :: Nil)
val data = sc.parallelize(Seq(Row(Row("world"))))
val mydf = sqlContext.createDataFrame(data, schema)

mydf.write.format("io.github.spark_redshift_community.spark.redshift").
option("url", jdbcUrl).
option("dbtable", tableName).
option("tempdir", tempS3Dir).
option("tempformat", "CSV").
mode(SaveMode.Append).save
```

### MapType
<a name="spark-redshift-connector-complex-data-types-examples-maptype"></a>

Se você preferir usar um `MapType` para representar seus dados, poderá usar uma estrutura de dados `MapType` no esquema e recuperar o valor correspondente a uma chave no mapa. Observe que todas as chaves na estrutura de dados `MapType` deve ser do tipo String e todos os valores devem ser do mesmo tipo, como int. 

O exemplo a seguir demonstra como obter o valor da chave `hello` na coluna `a`.

```
import org.apache.spark.sql.types._

val sc = // existing SparkContext
val sqlContext = new SQLContext(sc)

val schema = StructType(StructField("a", MapType(StringType, IntegerType))::Nil)

val helloDF = sqlContext.read
    .format("io.github.spark_redshift_community.spark.redshift")
    .option("url", jdbcURL )
    .option("tempdir", tempS3Dir)
    .option("dbtable", "contains_super")
    .schema(schema)
    .load().selectExpr("a['hello']")
```

### ArrayType
<a name="spark-redshift-connector-complex-data-types-examples-arraytype"></a>

Se a coluna contiver uma matriz em vez de uma estrutura, você poderá usar o conector para consultar o primeiro elemento na matriz.

```
import org.apache.spark.sql.types._

val sc = // existing SparkContext
val sqlContext = new SQLContext(sc)

val schema = StructType(StructField("a", ArrayType(IntegerType)):: Nil)

val helloDF = sqlContext.read
    .format("io.github.spark_redshift_community.spark.redshift")
    .option("url", jdbcURL )
    .option("tempdir", tempS3Dir)
    .option("dbtable", "contains_super")
    .schema(schema)
    .load().selectExpr("a[0]")
```

### Limitações
<a name="spark-redshift-connector-complex-data-types-limitations"></a>

O uso de tipos de dados complexos com o conector do Spark tem as seguintes limitações:
+ Todos os nomes de campos de estrutura aninhados e chaves de mapa devem estar em letras minúsculas. Se estiver consultando nomes de campos complexos com letras maiúsculas, uma solução alternativa é tentar omitir o esquema e usar a função `from_json` do Spark para converter a string retornada localmente.
+ Qualquer campo de mapa usado em operações de leitura ou gravação precisa ter apenas chaves `StringType`.
+ Somente `CSV`, `CSV GZIP` e `PARQUET ` são valores de formato temporário compatíveis para gravar tipos complexos no Redshift. Tentar usar `AVRO ` lançará uma exceção.

# Configurar uma conexão para o driver ODBC versão 2.x para o Amazon Redshift
<a name="odbc20-install"></a>

Você pode usar uma conexão ODBC para se conectar ao seu cluster Amazon Redshift a partir de muitas ferramentas e aplicações de cliente SQL de terceiros. Se sua ferramenta cliente oferece suporte ao JDBC, é possível optar por usar esse tipo de conexão em vez de usar o ODBC, devido à facilidade de configuração que o JDBC oferece. No entanto, se sua ferramenta cliente não for compatível com JDBC, siga as etapas nesta seção para configurar uma conexão ODBC em seu computador cliente ou instância do Amazon EC2.

O Amazon Redshift fornece drivers ODBC de 64 bits para sistemas operacionais Linux, Windows e Mac. Os drivers ODBC de 32 bits foram descontinuados. Outras atualizações de drivers ODBC de 32bits não serão lançadas, exceto para patches de segurança urgentes.

Para obter as informações mais recentes sobre as alterações do driver ODBC, consulte o [log de alterações](https://github.com/aws/amazon-redshift-odbc-driver/blob/master/CHANGELOG.md).

**Topics**
+ [Obter o URL do ODBC](odbc20-getting-url.md)
+ [Usar um driver ODBC do Amazon Redshift no Microsoft Windows](odbc20-install-config-win.md)
+ [Usar um driver ODBC do Amazon Redshift no Linux](odbc20-install-config-linux.md)
+ [Usar um driver ODBC do Amazon Redshift no Apple macOS](odbc20-install-config-mac.md)
+ [Métodos de autenticação](odbc20-authentication-ssl.md)
+ [Conversões de tipos de dados](odbc20-converting-data-types.md)
+ [Opções do driver ODBC](odbc20-configuration-options.md)
+ [Versões anteriores do driver ODBC](odbc20-previous-versions.md)

# Obter o URL do ODBC
<a name="odbc20-getting-url"></a>

O Amazon Redshift exibe o URL do ODBC para o cluster no console do Amazon Redshift. Este URL contém as informações necessárias para a configuração da conexão entre o computador cliente e o banco de dados.

O URL do ODBC tem o seguinte formato: 

```
Driver={driver}; Server=endpoint_host; Database=database_name; UID=user_name; PWD=password; Port=port_number
```

Os campos do formato anterior possuem os seguintes valores:


| Campo | Valor | 
| --- | --- | 
| Driver | O nome do driver ODBC de 64 bits a ser usado: Amazon Redshift ODBC Driver (x64) (Driver ODBC do Amazon Redshift (x64)) | 
| Server | O host do endpoint do cluster Amazon Redshift. | 
| Database | O banco de dados que você criou para o cluster. | 
| UID | O nome do usuário de uma conta de usuário de banco de dados que tem a permissão para se conectar ao banco de dados. Embora esse valor seja uma permissão de nível de banco de dados, não uma permissão de nível de cluster, é possível usar a conta de usuário administrador do Redshift que você configurou quando iniciou o cluster. | 
| PWD | A senha da conta de usuário de banco de dados para se conectar ao banco de dados. | 
| Port | O número da porta usado quando você iniciou o cluster. Se você tem um firewall, certifique-se de que essa porta está aberta para uso. | 

Este é um exemplo de URL de ODBC: 

```
Driver={Amazon Redshift ODBC Driver (x64)}; Server=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com; Database=dev; UID=adminuser; PWD=insert_your_admin_user_password_here; Port=5439
```

Para obter informações sobre onde encontrar o URL do ODBC, consulte [Encontrar a string de conexão do cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/configuring-connections.html#connecting-connection-string). 

# Usar um driver ODBC do Amazon Redshift no Microsoft Windows
<a name="odbc20-install-config-win"></a>

Você deve instalar o driver ODBC do Amazon Redshift em computadores clientes que tenham acesso um data warehouse do Amazon Redshift. Para cada computador onde o driver é instalado, os seguintes requisitos mínimos do sistema devem ser atendidos: 
+ Direitos de administrador na máquina. 
+ A máquina atende aos seguintes requisitos do sistema:
  + Um dos seguintes sistemas operacionais:
    + Windows 10 ou 8.1.
    + Windows Server 2019, 2016 ou 2012.
  + 100 MB de espaço em disco disponível.
  + Visual C\$1\$1 redistribuível para Visual Studio 2015 para Windows de 64 bits instalado. É possível baixar o pacote de instalação em [Baixe o Visual C\$1\$1 redistribuível para Visual Studio 2022](https://visualstudio.microsoft.com/downloads/#microsoft-visual-c-redistributable-for-visual-studio-2022) no site da Microsoft.

# Baixar e instalar o driver ODBC do Amazon Redshift
<a name="odbc20-install-win"></a>

Use o procedimento a seguir para baixar e instalar os drivers ODBC do Amazon Redshift para sistemas operacionais Windows. Use apenas um driver diferente se estiver executando uma aplicação de terceiros certificada para uso com o Amazon Redshift e que exija um driver específico.

Para baixar e instalar o driver ODBC: 

1. Baixe o seguinte driver: [Driver ODBC de 64 bits versão 2.1.15.0](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.15.0/AmazonRedshiftODBC64-2.1.15.0.msi) 

   O nome desse driver é **Amazon Redshift ODBC Driver (x64)**.

1. Analise a [licença do driver ODBC do Amazon Redshift versão 2.x](https://github.com/aws/amazon-redshift-odbc-driver/blob/master/LICENSE).

1. Clique duas vezes no arquivo .msi e, em seguida, siga os passos do assistente para instalar o driver.

# Criação de uma entrada de DSN do sistema para uma conexão ODBC
<a name="odbc20-dsn-win"></a>

Depois de baixar e instalar o driver ODBC, adicione uma entrada de nome de origem dos dados (DSN) ao computador cliente ou instância do Amazon EC2. As ferramentas de cliente SQL podem usar essa fonte de dados para se conectar ao banco de dados do Amazon Redshift. 

Recomendamos a criação de um DSN de sistema em vez de um DSN de usuário. Algumas aplicações podem carregar dados usando uma conta de usuário de banco de dados diferente e podem não conseguir detectar DSNs de usuário criados em outra conta de usuário de banco de dados.

**nota**  
Para realizar a autenticação usando as credenciais do AWS Identity and Access Management (IAM) ou do provedor de identidades (IdP), serão necessárias etapas adicionais. Para obter mais informações, consulte [ Configurar uma conexão JDBC ou ODBC para usar credenciais do IAM](https://docs.aws.amazon.com/redshift/latest/mgmt/generating-iam-credentials-configure-jdbc-odbc.html).

Crie uma entrada de DSN de sistema para uma conexão ODBC:

1. No menu **Start** (Iniciar), abra "Fontes de dados ODBC". Escolha **ODBC Data sources** (Fontes de dados ODBC).

   Certifique-se de escolher o Administrador de origem dos dados ODBC que tem a mesma quantidade de bits da aplicação cliente que você está usando para se conectar ao Amazon Redshift. 

1. Em **ODBC Data Source Administrator** (Administrador de fonte de dados ODBC), escolha a guia **Driver** e localize a seguinte pasta do driver: **Amazon Redshift ODBC Driver (x64)** (Driver ODBC do Amazon Redshift (x64)).

1. Selecione a guia **DSN de sistema** a fim de configurar o driver para todos os usuários no computador, ou a guia **DSN de usuário** a fim de configurar o driver apenas para sua conta de usuário de banco de dados.

1. Escolha **Adicionar**. A janela **Create New Data Source** é exibida.

1. Escolha o **Amazon Redshift ODBC driver (x64)** (Driver ODBC do Amazon Redshift (x64)) e, em seguida, escolha **Finish** (Concluir). A janela **Configuração de DSN do driver ODBC do Amazon Redshift** é exibida.

1. Na seção **Connection Settings** (Configurações de conexão), insira as seguintes informações: 
   + 

**Nome da fonte de dados**  
 Insira um nome para a fonte de dados. Por exemplo, se você seguiu o *Guia de conceitos básicos do Amazon Redshift*, pode digitar `exampleclusterdsn` para facilitar a lembrança do cluster que associa a este DSN. 
   + 

**Servidor**  
 Especifique o host de endpoint do cluster do Amazon Redshift. Você pode encontrar essas informações no console do Amazon Redshift na página de detalhes do cluster. Para obter mais informações, consulte [Configurar conexões no Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/configuring-connections.html). 
   + 

**Porta**  
 Insira o número da porta que o banco de dados usa. Dependendo da porta selecionada ao criar, modificar ou migrar o cluster, permita o acesso à porta selecionada. 
   + 

**Banco de dados**  
 Insira o nome do banco de dados do Amazon Redshift. Se você iniciou o cluster sem especificar um nome de banco de dados, insira `dev`. Caso contrário, use o nome escolhido durante o processo de inicialização. Se você seguiu o *Guia de conceitos básicos do Amazon Redshift*, insira `dev`. 

1. Na seção **Authentication** (Autenticação), especifique as opções de configuração para configurar a autenticação padrão ou do IAM. 

1. Escolha **SSL Options** (Opções SSL) e especifique um valor para o seguinte:
   + 

**Modos de autenticação**  
Escolha um modo para tratar o Secure Sockets Layer (SSL). Em um ambiente de teste, você pode usar `prefer`. No entanto, para ambientes de produção e quando um intercâmbio de dados seguro for necessário, use `verify-ca` ou `verify-full`.
   + 

**TLS mín.**  
Opcionalmente, escolha a versão mínima do TLS/SSL que o driver permite que o datastore use para criptografar conexões. Por exemplo, se você especificar TLS 1.2, não será possível usar o TLS 1.1 para criptografar conexões. A versão padrão é TLS 1.2.

1.  Na guia **Proxy**, especifique qualquer configuração de conexão proxy. 

1. Na guia **Cursor**, especifique opções sobre como retornar os resultados de consultas ao aplicativo ou ferramenta do cliente SQL. 

1. Em **Opções avançadas**, especifique valores para `logLevel`, `logPath`, `compression` e outras opções. 

1. Escolha **Testar**. Se o computador cliente puder se conectar ao banco de dados Amazon Redshift, a seguinte mensagem será exibida: **Connection successful** (Conexão bem-sucedida). Se a conexão do computador cliente com o banco de dados falhar, você poderá solucionar os possíveis problemas gerando um arquivo de log e entrando em contato com o suporte da AWS. Para obter informações sobre como gerar logs, consulte (LINK). 

1.  Escolha **OK**. 

# Usar um driver ODBC do Amazon Redshift no Linux
<a name="odbc20-install-config-linux"></a>

Você deve instalar o driver ODBC do Amazon Redshift em computadores clientes que tenham acesso um data warehouse do Amazon Redshift. Para cada computador onde o driver é instalado, os seguintes requisitos mínimos do sistema devem ser atendidos: 
+ Acesso root na máquina.
+ Uma das distribuições seguintes:
  + Red Hat® Enterprise Linux® (RHEL) 8 ou posterior
  + CentOS 8 ou posterior
+ 150 MB de espaço em disco disponível.
+ unixODBC 2.2.14 ou posterior.
+ glibc 2.26 ou posterior.

# Baixar e instalar o driver ODBC do Amazon Redshift
<a name="odbc20-install-linux"></a>

Para baixar e instalar o driver ODBC do Amazon Redshift versão 2.x para Linux:

1.  Baixe o seguinte driver: 
   + [Driver RPM X86 de 64 bits versão 2.1.15.0](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.15.0/AmazonRedshiftODBC-64-bit-2.1.15.0.x86_64.rpm) 
   + [Driver RPM ARM de 64 bits versão 2.1.15.0](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.15.0/AmazonRedshiftODBC-64-bit-2.1.15.0.aarch64.rpm) 
**nota**  
Os drivers ODBC de 32 bits foram descontinuados. Outras atualizações não serão lançadas, exceto para patches de segurança urgentes.

1.  Navegue até o local onde você salvou o download do pacote e execute um dos comandos a seguir. Use o comando que corresponde a sua distribuição do Linux. 

   Em sistemas operacionais RHEL e CentOS, execute o seguinte comando:

   ```
   yum --nogpgcheck localinstall RPMFileName
   ```

   Substitua `RPMFileName` pelo nome do arquivo de pacote do RPM. Por exemplo, o comando a seguir demonstra a instalação do driver de 64 bits:

   ```
   yum --nogpgcheck localinstall AmazonRedshiftODBC-64-bit-2.x.xx.xxxx.x86_64.rpm
   ```

# Usar um gerenciador de driver ODBC para configurar o driver ODBC
<a name="odbc20-config-linux"></a>

No Linux, utilize o gerenciador de driver ODBC para configurar as definições de conexão ODBC. Os gerenciadores de driver ODBC usam arquivos de configuração para definir e configurar as fontes de dados e os drivers ODBC. O gerenciador de driver ODBC a ser usado dependerá do sistema operacional em uso.

## Configuração do driver ODBC usando o gerenciador de driver unixODBC
<a name="odbc20-config-unixodbc-linux"></a>

Os arquivos a seguir são necessários para configurar o driver ODBC do Amazon Redshift: 
+ ` amazon.redshiftodbc.ini `
+ ` odbc.ini `
+ ` odbcinst.ini `

 Se você fez a instalação no local padrão, o arquivo de configuração do `amazon.redshiftodbc.ini` estará localizado em `/opt/amazon/redshiftodbcx64`.

 Além disso, em `/opt/amazon/redshiftodbcx64`, é possível encontrar exemplos de arquivos `odbc.ini` e `odbcinst.ini`. Você pode usar esses arquivos como exemplos para configurar o driver ODBC do Amazon Redshift e o nome da origem dos dados (DSN).

 Não é recomendado o uso do diretório de instalação do driver ODBC do Amazon Redshift para os arquivos de configuração. Os arquivos de exemplo do diretório instalado devem ser usados somente para servir de modelo. Se você reinstalar o driver ODBC do Amazon Redshift posteriormente ou atualizar para uma versão mais recente, o diretório de instalação será substituído. Você perderá todas as alterações feitas nos arquivos do diretório de instalação.

 Para evitar isso, copie o arquivo `amazon.redshiftodbc.ini` para um diretório diferente do diretório de instalação. Se você copiar esse arquivo no diretório base do usuário, adicione um ponto (.) ao início do nome do arquivo para torná-lo um arquivo oculto.

 Para os arquivos `odbc.ini` e `odbcinst.ini`, use os arquivos de configuração do diretório inicial do usuário ou crie versões em um outro diretório. Por padrão, os sistemas operacionais Linux devem ter um arquivo `odbc.ini` e um `odbcinst.ini` no diretório inicial do usuário (`/home/$USER` ou `~/.`). Esses arquivos padrão são arquivos ocultos, o que é indicado pelo ponto (.) na frente do nome de cada arquivo. Esses arquivos são exibidos somente ao usar o sinalizador `-a` para listar o conteúdo do diretório.

 Qualquer que seja a opção escolhida para os arquivos `odbc.ini` e `odbcinst.ini`, modifique os arquivos para adicionar as informações do driver e da configuração de DSN. Se você criar arquivos, também precisará definir as variáveis do ambiente para especificar onde esses arquivos de configuração estão localizados.

 Por padrão, os gerenciadores de driver ODBC são configurados para usar versões ocultas dos arquivos de configuração `odbc.ini` e `odbcinst.ini` (chamados `.odbc.ini` e `.odbcinst.ini`) localizadas no diretório inicial. Eles também são configurados para usar o arquivo `amazon.redshiftodbc.ini` do diretório de instalação do driver. Se você armazenar esses arquivos de configuração em outro lugar, defina as variáveis de ambiente descritas a seguir para que o gerenciador de driver possa localizar os arquivos.

 Se você estiver usando o unixODBC, faça o seguinte: 
+  Defina `ODBCINI` para o caminho completo e o nome de arquivo do arquivo `odbc.ini`. 
+  Defina `ODBCSYSINI` para o caminho completo do diretório que contém o arquivo `odbcinst.ini`. 
+  Defina `AMAZONREDSHIFTODBCINI` para o caminho completo e o nome de arquivo do arquivo `amazon.redshiftodbc.ini`. 

Veja a seguir um exemplo de definição das variáveis acima:

```
export ODBCINI=/usr/local/odbc/odbc.ini 
export ODBCSYSINI=/usr/local/odbc 
export AMAZONREDSHIFTODBCINI=/etc/amazon.redshiftodbc.ini
```

## Configuração de uma conexão usando um nome de fonte de dados (DSN) no Linux
<a name="odbc20-dsn-linux"></a>

Ao conectar-se ao datastore usando um nome da fonte de dados (DSN), configure o arquivo `odbc.ini` para definir nomes de fonte de dados (DSNs). Defina as propriedades no arquivo `odbc.ini` para criar um DSN que especifique as informações de conexão para o armazenamento de dados.

Use o seguinte formato nos sistemas operacionais Linux:

```
[ODBC Data Sources]
driver_name=dsn_name

[dsn_name]
Driver=path/driver_file
Host=cluster_endpoint
Port=port_number
Database=database_name
locale=locale
```

O exemplo a seguir mostra a configuração do `odbc.ini` com driver ODBC de 64 bits em sistemas operacionais Linux.

```
[ODBC Data Sources]
Amazon_Redshift_x64=Amazon Redshift ODBC Driver (x64)

[Amazon_Redshift_x64]
Driver=/opt/amazon/redshiftodbcx64/librsodbc64.so
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932Database=dev
locale=en-US
```

## Configurar uma conexão sem um DSN no Linux
<a name="odbc20-no-dsn-linux"></a>

 Para se conectar ao armazenamento de dados por meio de uma conexão que não tenha um DSN, defina o driver no arquivo `odbcinst.ini`. Depois, forneça uma string de conexão sem DSN no aplicativo.

Use o seguinte formato nos sistemas operacionais Linux:

```
[ODBC Drivers]
driver_name=Installed
...
                            
[driver_name]
Description=driver_description
Driver=path/driver_file
    
...
```

O exemplo a seguir mostra a configuração do `odbcinst.ini` com driver ODBC de 64 bits em sistemas operacionais Linux.

```
[ODBC Drivers]
Amazon Redshift ODBC Driver (x64)=Installed

[Amazon Redshift ODBC Driver (x64)]
Description=Amazon Redshift ODBC Driver (64-bit)
Driver=/opt/amazon/redshiftodbcx64/librsodbc64.so
```

# Usar um driver ODBC do Amazon Redshift no Apple macOS
<a name="odbc20-install-config-mac"></a>

Você deve instalar o driver ODBC do Amazon Redshift em computadores clientes que tenham acesso um data warehouse do Amazon Redshift. Para cada computador onde o driver é instalado, estes são os requisitos mínimos: 
+ Acesso root na máquina. 
+ Requisitos do sistema Apple macOS:
  + É necessária uma versão de 64 bits do Apple macOS versão 11.7 ou posterior (como Apple macOS Big Sur, Monterey, Ventura ou posterior). O driver ODBC do Redshift só comporta aplicações cliente de 64 bits.
  + 150 MB de espaço em disco disponível.
  + O driver comporta aplicações criadas com iODBC 3.52.9\$1 ou unixODBC 2.3.7\$1.

# Baixar e instalar o driver ODBC do Amazon Redshift
<a name="odbc20-install-mac"></a>

Use o procedimento a seguir para baixar e instalar o driver ODBC do Amazon Redshift no Apple macOS. Use apenas um driver diferente se estiver executando uma aplicação de terceiros certificada para uso com o Amazon Redshift e que exija um driver específico.

Para baixar e instalar o driver ODBC: 

1. Baixe o seguinte driver: [Driver ODBC de 64 bits versão 2.1.15.0](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.15.0/AmazonRedshiftODBC-64-bit.2.1.15.0.universal.pkg) 

   Esse driver comporta arquiteturas x86\$164 e arm64. O nome desse driver é **Amazon Redshift ODBC Driver (x64)**.

1. Analise a [licença do driver ODBC do Amazon Redshift versão 2.x](https://github.com/aws/amazon-redshift-odbc-driver/blob/master/LICENSE).

1. Clique duas vezes no arquivo .pkg e, depois, siga os passos do assistente para instalar o driver. Como alternativa, você pode executar o seguinte comando:

   ```
   sudo installer -pkg PKGFileName -target /
   ```

   Substitua `PKGFileName` pelo nome do arquivo de pacote pkg. Por exemplo, o comando a seguir demonstra a instalação do driver de 64 bits:

   ```
   sudo installer -pkg ./AmazonRedshiftODBC-64-bit.X.X.XX.X.universal.pkg -target /
   ```

# Usar um gerenciador de driver ODBC para configurar o driver ODBC
<a name="odbc20-config-mac"></a>

No Mac, utilize o gerenciador de driver ODBC para configurar as definições de conexão ODBC. Os gerenciadores de driver ODBC usam arquivos de configuração para definir e configurar as fontes de dados e os drivers ODBC. O gerenciador de driver ODBC a ser usado dependerá do sistema operacional em uso.

## Configurar o driver ODBC usando o gerenciador de driver iODBC ou unixODBC
<a name="odbc20-config-iodbc-mac"></a>

Os arquivos a seguir são necessários para configurar o driver ODBC do Amazon Redshift: 
+ ` amazon.redshiftodbc.ini `
+ ` odbc.ini `
+ ` odbcinst.ini `

 Se você fez a instalação no local padrão, o arquivo de configuração do `amazon.redshiftodbc.ini` estará localizado em `/opt/amazon/redshiftodbcx64`.

 Além disso, em `/opt/amazon/redshiftodbcx64`, é possível encontrar exemplos de arquivos `odbc.ini` e `odbcinst.ini`. Você pode usar esses arquivos como exemplos para configurar o driver ODBC do Amazon Redshift e o nome da origem dos dados (DSN). Os arquivos de exemplo do diretório instalado devem ser usados somente para servir de modelo.

 Não é recomendado o uso do diretório de instalação do driver ODBC do Amazon Redshift para os arquivos de configuração. Se você reinstalar o driver ODBC do Amazon Redshift posteriormente ou atualizar para uma versão mais recente, o diretório de instalação será substituído. Você perderá todas as alterações feitas nos arquivos do diretório de instalação.

 Para evitar isso, copie os arquivos `odbc.ini`, `odbcinst.ini` e `amazon.redshiftodbc.ini` para um diretório diferente do diretório de instalação. Se você copiar esses arquivos no diretório base do usuário, adicione um ponto (.) ao início deles para ocultá-los.

 Modifique os arquivos para adicionar informações de configuração do DSN. Se você criar arquivos, também precisará definir as variáveis do ambiente para especificar onde esses arquivos de configuração estão localizados.

Veja a seguir um exemplo de como definir as variáveis de ambiente:

```
export ODBCINI=/Library/ODBC/odbc.ini
export ODBCSYSINI=/Library/ODBC
export ODBCINSTINI=${ODBCSYSINI}/odbcinst.ini
```

Para aplicações de linha de comandos: adicione os comandos de exportação ao seu arquivo de inicialização do shell (por exemplo, `~/.bash_profile` ou `~/.zshrc`). 

Para a versão compatível do gerenciador de drivers, veja [aqui](https://docs.aws.amazon.com/redshift/latest/mgmt/odbc20-install-config-mac.html). 

### Configurar uma conexão usando um nome de fonte de dados (DSN) no Apple macOS
<a name="odbc20-dsn-mac"></a>

Ao conectar-se ao datastore usando um nome da fonte de dados (DSN), configure o arquivo `odbc.ini` para definir nomes de fonte de dados (DSNs). Defina as propriedades no arquivo `odbc.ini` para criar um DSN que especifique as informações de conexão para o data warehouse Redshift.

No Apple macOS, use o seguinte formato:

```
[ODBC Data Sources]
driver_name=dsn_name

[dsn_name]
Driver=path/driver_file
Host=cluster_endpoint
Port=port_number
Database=database_name
locale=locale
```

O exemplo a seguir mostra a configuração de `odbc.ini` com driver ODBC de 64 bits no Apple macOS.

```
[ODBC Data Sources]
Amazon_Redshift_x64=Amazon Redshift ODBC Driver (x64)

[Amazon_Redshift_x64]
Driver=/opt/amazon/redshiftodbcx64/librsodbc64.dylib
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932
Database=dev
locale=en-US
```

### Configurar uma conexão sem um DSN no Apple macOS
<a name="odbc20-no-dsn-mac"></a>

 Para se conectar ao data warehouse Redshift por meio de uma conexão que não tenha um DSN, defina o driver no arquivo `odbcinst.ini`. Depois, forneça uma string de conexão sem DSN no aplicativo.

No Apple macOS, use o seguinte formato:

```
[ODBC Drivers]
driver_name=Installed
...
                            
[driver_name]
Description=driver_description
Driver=path/driver_file
    
...
```

O exemplo a seguir mostra a configuração de `odbcinst.ini` com driver ODBC de 64 bits no Apple macOS.

```
[ODBC Drivers]
Amazon Redshift ODBC Driver (x64)=Installed

[Amazon Redshift ODBC Driver (x64)]
Description=Amazon Redshift ODBC Driver (64-bit)
Driver=/opt/amazon/redshiftodbcx64/librsodbc64.dylib
```

# Métodos de autenticação
<a name="odbc20-authentication-ssl"></a>

Para proteger os dados contra acesso não autorizado, os armazenamentos de dados do Amazon Redshift exigem que todas as conexões sejam autenticadas usando credenciais do usuário.

A seguinte tabela ilustra as opções de conexão necessárias e opcionais para cada método de autenticação que pode ser usado para se conectar ao driver ODBC do Amazon Redshift versão 2.x:


| Método de autenticação | Obrigatório | Opcional | 
| --- | --- | --- | 
|  Standard  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |   | 
|  Perfil do IAM  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** e **Region** (Região) deverão ser definidos em **Host** se eles não estiverem definidos separadamente.    | 
|  Credenciais do IAM  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** e **Region** (Região) deverão ser definidos em **Host** se eles não estiverem definidos separadamente.    | 
|  AD FS  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** e **Region** (Região) deverão ser definidos em **Host** se eles não estiverem definidos separadamente.    | 
|  Azure AD  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** e **Region** (Região) deverão ser definidos em **Host** se eles não estiverem definidos separadamente.    | 
|  JWT  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)  | 
|  Okta  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** e **Region** (Região) deverão ser definidos em **Host** se eles não estiverem definidos separadamente.    | 
|  Ping Federate  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** e **Region** (Região) deverão ser definidos em **Host** se eles não estiverem definidos separadamente.    | 
|  Azure AD do navegador  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** e **Region** (Região) deverão ser definidos em **Host** se eles não estiverem definidos separadamente.    | 
|  SAML do navegador  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** e **Region** (Região) deverão ser definidos em **Host** se eles não estiverem definidos separadamente.    | 
|  Perfil de autorização  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |   | 
|  Azure AD OAUTH2 do navegador  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)   **ClusterID** e **Region** (Região) deverão ser definidos em **Host** se eles não estiverem definidos separadamente.    | 
|  Centro de Identidade do AWS IAM  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/odbc20-authentication-ssl.html)  | 

## Utilização de um serviço de credenciais externas
<a name="odbc20-authentication-external"></a>

Além do suporte interno para AD FS, Azure AD e Okta, a versão Windows do driver ODBC do Amazon Redshift também é compatível com outros serviços de credenciais. O driver pode autenticar conexões usando qualquer plug-in de provedor de credenciais baseado em SAML de sua escolha. 

Como configurar um serviço de credenciais externas no Windows:

1. Crie um perfil do IAM que especifique o plug-in do provedor de credenciais e outros parâmetros de autenticação conforme necessário. O perfil deve ser codificado em ASCII e deve conter o seguinte par de valores-chave, em que `PluginPath` é o caminho completo para o aplicativo do plugin: 

   ```
   plugin_name = PluginPath
   ```

   Por exemplo:

   ```
   plugin_name = C:\Users\kjson\myapp\CredServiceApp.exe 
   ```

   Para obter informações sobre como criar um perfil, consulte [Usar um perfil de configuração](https://docs.aws.amazon.com/redshift/latest/mgmt/options-for-providing-iam-credentials.html#using-configuration-profile) no Guia de gerenciamento de clusters do Amazon Redshift.

1. Configure o driver para usar esse perfil. O driver detecta e usa as configurações de autenticação especificadas no perfil.

# Conversões de tipos de dados
<a name="odbc20-converting-data-types"></a>

O driver ODBC do Amazon Redshift versão 2.x é compatível com muitos formatos de dados comuns, convertendo entre tipos de dados do Amazon Redshift, SQL e Java.

A tabela a seguir lista os mapeamentos de tipo de dados compatíveis.


| Tipo do Amazon Redshift | Tipo SQL | 
| --- | --- | 
|  BIGINT  |  SQL\$1BIGINT  | 
|  BOOLEAN  |  SQL\$1BIT  | 
|  CHAR  |  SQL\$1CHAR  | 
|  DATE  |  SQL\$1TYPE\$1DATE  | 
|  DECIMAL  |  SQL\$1NUMERIC  | 
|  DOUBLE PRECISION  |  SQL\$1DOUBLE  | 
|  GEOGRAPHY  |  SQL\$1 LONGVARBINARY  | 
|  GEOMETRY  |  SQL\$1 LONGVARBINARY  | 
|  INTEGER  |  SQL\$1INTEGER  | 
|  REAL  |  SQL\$1REAL  | 
|  SMALLINT  |  SQL\$1SMALLINT  | 
|  SUPER  |  SQL\$1LONGVARCHAR  | 
|  TEXT  |  SQL\$1LONGVARCHAR  | 
|  TIME  |  SQL\$1TYPE\$1TIME  | 
|  TIMETZ  |  SQL\$1TYPE\$1TIME  | 
|  TIMESTAMP  |  SQL\$1TYPE\$1 TIMESTAMP  | 
|  TIMESTAMPTZ  |  SQL\$1TYPE\$1 TIMESTAMP  | 
|  VARBYTE  |  SQL\$1LONGVARBINARY  | 
|  VARCHAR  |  SQL\$1VARCHAR  | 

# Opções do driver ODBC
<a name="odbc20-configuration-options"></a>

É possível usar opções de configuração de driver para controlar o comportamento do driver ODBC Amazon Redshift. As opções do driver não diferenciam letras maiúsculas de minúsculas.

No Microsoft Windows, você normalmente define as opções de driver ao configurar um nome de fonte de dados (DSN). Também é possível definir as opções de driver na string de conexão estabelecendo a conexão de forma programática ou adicionando/alterando as chaves de registro em `HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\your_DSN`.

No Linux, defina as opções de configuração do driver nos arquivos `odbc.ini` e `amazon.redshiftodbc.ini`. As opções de configuração definidas em um arquivo `amazon.redshiftodbc.ini` aplicam-se a todas as conexões. Em contrapartida, as opções de configuração definidas em um arquivo `odbc.ini` são específicas de uma conexão. As opções de configuração definidas em `odbc.ini` têm precedência sobre as opções de configuração definidas em `amazon.redshiftodbc.ini`.

Veja a seguir descrições para as opções que podem ser especificadas para o driver ODBC do Amazon Redshift versão 2.x:

## AccessKeyID
<a name="odbc20-accesskeyid-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

 A chave de acesso do IAM para o usuário ou função. Se definir esse parâmetro, você também deverá especificar **SecretAccessKey**.

Esse parâmetro é opcional.

## app\$1id
<a name="odbc20-app-id-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O ID exclusivo fornecido pela OKTA associado à sua aplicação Amazon Redshift.

Esse parâmetro é opcional.

## ApplicationName
<a name="odbc20-application_name-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: string

O nome da aplicação a ser passado ao Amazon Redshift para fins de auditoria. O nome da aplicação que fornecido aparece na coluna “application\$1name” da tabela [SYS\$1CONNECTION\$1LOG](https://docs.aws.amazon.com/redshift/latest/dg/SYS_CONNECTION_LOG.html). Isso ajuda a rastrear e solucionar problemas de fontes de conexão ao depurar problemas.

Esse parâmetro é opcional.

## app\$1name
<a name="odbc20-app-name-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome da aplicação Okta que você usa para autenticar a conexão com o Amazon Redshift.

Esse parâmetro é opcional.

## AuthProfile
<a name="odbc20-authprofile-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O perfil de autenticação usado para gerenciar as configurações de conexão. Se definir esse parâmetro, você também deverá configurar **AccessKeyID** e **SecretAccessKey**. 

Esse parâmetro é opcional.

## AuthType
<a name="odbc20-authtype-option"></a>
+ **Valor padrão**: padrão
+ **Tipo de dados** – String

Esta opção especifica o modo de autenticação que o driver usa quando você configura um DSN usando a caixa de diálogo ODBC Driver DSN Setup (Configuração de DSN do driver ODBC) do Amazon Redshift: 
+  Padrão: autenticação padrão usando seu nome de usuário e senha do Amazon Redshift. 
+  Perfil da AWS: autenticação do IAM usando um perfil.
+  Credenciais do IAM da AWS: autenticação do IAM usando credenciais do IAM. 
+  Provedor de identidades: AD FS: autenticação do IAM usando os Serviços de Federação do Active Directory (AD FS). 
+  Provedor de identidades (plug-in de autenticação): um plug-in de autorização que aceita um token do Centro de Identidade do AWS IAM ou tokens de identidade baseados em JSON (JWT) do OpenID Connect (OIDC) de qualquer provedor de identidades da web vinculado ao Centro de Identidade do AWS IAM.
+  Provedor de identidades: Azure AD: autenticação do IAM usando um portal do Azure AD. 
+  Provedor de identidades: JWT: autenticação do IAM usando um JSON Web Token (JWT). 
+  Provedor de identidades: Okta: autenticação do IAM usando Okta. 
+  Provedor de identidade: PingFederate: autenticação do IAM usando PingFederate. 

Essa opção está disponível somente quando você configura um DSN usando a caixa de diálogo ODBC Driver DSN Setup (Configuração de DSN do driver ODBC) do Amazon Redshift no driver do Windows. Quando você configura uma conexão usando uma string de conexão ou uma máquina que não seja Windows, o driver determina automaticamente se deve usar Padrão, Perfil da AWS ou Autenticação de Credenciais de IAM da AWS com base em suas credenciais especificadas. Para usar um provedor de identidades, você deve configurar a propriedade **plugin\$1name**. 

Esse parâmetro é obrigatório.

## AutoCreate
<a name="odbc20-autocreate-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: booleano

Um booleano especificando se o driver cria um novo usuário quando o usuário especificado não existe. 
+  1 \$1 TRUE: se o usuário especificado pelo **UID** não existir, o driver criará um novo usuário. 
+  0 \$1 FALSE: o driver não criará um novo usuário. Se o usuário especificado não existir, a autenticação falhará. 

Esse parâmetro é opcional.

## CaFile
<a name="odbc20-cafile-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O caminho do arquivo para o arquivo de certificado da CA usado para algumas formas de autenticação do IAM. 

 Esse parâmetro está disponível apenas no Linux.

Esse parâmetro é opcional.

## client\$1id
<a name="odbc20-client-id-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O ID do cliente associado ao aplicativo Amazon Redshift no Azure AD. 

Esse parâmetro é necessário se autenticar por meio do serviço Azure AD.

## client\$1 secret
<a name="odbc20-client-secret-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

 A chave secreta associada à sua aplicação Amazon Redshift no Azure AD. 

Esse parâmetro é necessário se autenticar por meio do serviço Azure AD.

## ClusterId
<a name="odbc20-clusterid-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome do cluster do Amazon Redshift ao qual você deseja se conectar. Ele é usado para autenticação do IAM. O ID do cluster não está especificado no parâmetro **Server** (Servidor).

Esse parâmetro é opcional.

## compression
<a name="odbc20-compression-option"></a>
+ **Valor padrão**: desativado
+ **Tipo de dados** – String

O método de compactação usado na comunicação via protocolo com fio entre o servidor do Amazon Redshift e o cliente ou o driver.

Especifique os seguintes valores:
+ lz4: define o método de compactação usado na comunicação via protocolo com fio com o Amazon Redshift como `lz4`. 
+ zstd: define o método de compactação usado na comunicação via protocolo com fio com o Amazon Redshift como `zstd`. 
+  off: não usa a compactação na comunicação via protocolo com fio com o Amazon Redshift. 

Esse parâmetro é opcional.

## Banco de dados
<a name="odbc20-database-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome do banco de dados do Amazon Redshift que você deseja acessar.

Esse parâmetro é obrigatório.

## DatabaseMetadataCurrentDbOnly
<a name="odbc20-database-metadata-option"></a>
+ **Valor padrão** – 1
+ **Tipo de dados**: booleano

Um booleano especificando se o driver retorna metadados de vários bancos de dados e clusters.
+ 1 \$1 TRUE: o driver só retorna metadados do banco de dados atual. 
+  0 \$1 FALSE. O driver retorna metadados de vários bancos de dados e clusters do Amazon Redshift. 

Esse parâmetro é opcional.

## dbgroups\$1filter
<a name="odbc20-dbgroups-filter-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

A expressão regular que você pode especificar para filtrar DbGroups recebidos da resposta SAML para o Amazon Redshift ao usar os tipos de autenticação Azure, Azure do navegador e SAML do navegador. 

Esse parâmetro é opcional.

## Driver
<a name="odbc20-driver-option"></a>
+ **Valor padrão** - Driver ODBC do Amazon Redshift (x64)
+ **Tipo de dados** – String

O nome do driver. O único valor com suporte é **Driver ODBC do Amazon Redshift (x64)**.

Esse parâmetro será obrigatório se você não configurar o **DSN**.

## DSN
<a name="odbc20-dsn-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome da fonte de dados do driver. O aplicativo especifica o DSN na API SQLDriverConnect.

Esse parâmetro será obrigatório se você não configurar o **Driver**.

## EndpointUrl
<a name="odbc20-endpointurl-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O endpoint substituto usado para se comunicar com o Amazon Redshift Coral Service para autenticação do IAM.

Esse parâmetro é opcional.

## ForceLowercase
<a name="odbc20-forcelowercase-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: booleano

Um booliano que especifica se o driver coloca em letras minúsculas todos os DbGroups enviados do provedor de identidades para o Amazon Redshift ao usar a autenticação única. 
+  1 \$1 TRUE: o driver coloca em letras minúsculas todos os DbGroups que são enviados do provedor de identidades. 
+  0 \$1 FALSE: o driver não altera os DbGroups. 

Esse parâmetro é opcional.

## group\$1federation
<a name="odbc20-group-federation-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: booleano

Um booliano que especifica se a API `getClusterCredentialsWithIAM` é usada para obter credenciais temporárias de cluster em clusters provisionados. Essa opção permite que os usuários do IAM se integrem aos perfis do banco de dados do Redshift em clusters provisionados. Essa opção não se aplica a namespaces do Redshift sem servidor.
+  1 \$1 TRUE: o driver usa a API `getClusterCredentialsWithIAM` para obter credenciais temporárias de cluster em clusters provisionados. 
+  0 \$1 FALSE: o driver usa a API `getClusterCredentials` padrão para obter credenciais temporárias de cluster em clusters provisionados. 

Esse parâmetro é opcional.

## https\$1proxy\$1host
<a name="odbc20-https-proxy-host-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome do host ou endereço IP do servidor de proxy por meio do qual você deseja transmitir processos de autenticação do IAM.

Esse parâmetro é opcional.

## https\$1proxy\$1password
<a name="odbc20-https-proxy-password-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

A senha que você utiliza para acessar o servidor proxy. Ele é usado para autenticação do IAM.

Esse parâmetro é opcional.

## https://proxy\$1port
<a name="odbc20-https-proxy-port-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: inteiro

O número da porta que o servidor proxy usa para escutar as conexões do cliente. Ele é usado para autenticação do IAM.

Esse parâmetro é opcional.

## https\$1proxy\$1username
<a name="odbc20-https-proxy-username-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome de usuário que você usa para acessar o servidor de proxy. Ele é usado para autenticação do IAM.

Esse parâmetro é opcional.

## IAM
<a name="odbc20-iam-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: booleano

Um booleano especificando se o driver usa um método de autenticação do IAM para autenticar a conexão. 
+  1 \$1 TRUE: o driver usa um dos métodos de autenticação do IAM (usando uma chave de acesso e um par de chaves secretas, um perfil ou um serviço de credenciais). 
+  0 \$1 FALSE. O driver usa autenticação padrão (usando o nome de usuário e a senha do banco de dados). 

Esse parâmetro é opcional.

## idc\$1client\$1display\$1name
<a name="odbc20-idc_client_display_name-option"></a>
+ **Valor padrão**: driver ODBC do Amazon Redshift
+ **Tipo de dados** – String

O nome de exibição a ser usado para o cliente que está usando o BrowserIdcAuthPlugin.

Esse parâmetro é opcional.

## idc\$1region
<a name="odbc20-idc_region"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

A região da AWS onde a instância do Centro de Identidade do AWS IAM está localizada.

Esse parâmetro só é necessário durante a autenticação usando `BrowserIdcAuthPlugin` na opção de configuração plugin\$1name.

## idp\$1host
<a name="odbc20-idp-host-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O host IdP (provedor de identidades) que você está usando para autenticar no Amazon Redshift.

Esse parâmetro é opcional.

## idp\$1port
<a name="odbc20-idp-port-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: inteiro

A porta para um IdP (provedor de identidades) que você está usando para autenticar no Amazon Redshift. Dependendo da porta selecionada ao criar, modificar ou migrar o cluster, permita o acesso à porta selecionada. 

Esse parâmetro é opcional.

## idp\$1response\$1timeout
<a name="odbc20-idp-response-timeout-option"></a>
+ **Valor padrão** – 120
+ **Tipo de dados**: inteiro

Quantos segundos o driver aguarda pela resposta SAML do provedor de identidades ao usar os serviços SAML ou Azure AD por meio de um plug-in de navegador. 

Esse parâmetro é opcional.

## idp\$1tenant
<a name="odbc20-idp-tenant-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

 O ID do locatário Azure AD associado à sua aplicação Amazon Redshift.

Esse parâmetro é necessário se autenticar por meio do serviço Azure AD.

## idp\$1partition
<a name="odbc20-idp-partition-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

Especifica a partição na nuvem em que o provedor de identidades (IdP) está configurado. Isso determina a qual endpoint de autenticação do IdP o driver se conecta.

Se esse parâmetro for deixado em branco, o driver usará como padrão a partição comercial. Os valores possíveis são:
+ `us-gov`: use este valor se seu IdP estiver configurado no Azure Government. Por exemplo, o Azure AD Government usa o endpoint `login.microsoftonline.us`.
+ `cn`: use este valor se seu IdP estiver configurado na partição de nuvem da China. Por exemplo, o Azure AD China usa o endpoint `login.chinacloudapi.cn`.

Esse parâmetro é opcional.

## idp\$1use\$1https\$1proxy
<a name="odbc20-idp-use-https-proxy-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: booleano

Um booleano especificando se o driver passa os processos de autenticação para provedores de identidade (IdP) por meio de um servidor de proxy. 
+  1 \$1 TRUE: o driver transmite processos de autenticação do IdP por meio de um servidor de proxy. 
+  0 \$1 FALSE. O driver não transmite processos de autenticação do IdP por meio de um servidor de proxy. 

Esse parâmetro é opcional.

## InstanceProfile
<a name="odbc20-instanceprofile-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: booleano

Um booleano especificando se o driver usa o perfil de instância do Amazon EC2, quando configurado, para usar um perfil para autenticação.
+  1 \$1 TRUE: o driver usa o perfil de instância do Amazon EC2. 
+  0 \$1 FALSE. Em vez disso, o driver usa o perfil de funções encadeadas especificado pela opção Nome do perfil (**Profile** (Perfil)). 

Esse parâmetro é opcional.

## issuer\$1url
<a name="odbc20-issuer_url"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

 Aponta para o endpoint da instância do servidor do Centro de Identidade do AWS IAM. 

Esse parâmetro só é necessário durante a autenticação usando `BrowserIdcAuthPlugin` na opção de configuração plugin\$1name.

## KeepAlive
<a name="odbc20-keepalive-option"></a>
+ **Valor padrão** – 1
+ **Tipo de dados**: booleano

Um booleano que especifica se o driver usa keepalives TCP para evitar que o tempo limite das conexões se esgote.
+  1 \$1 TRUE: o driver usa keepalives TCP para evitar que o tempo limite das conexões se esgote. 
+  0 \$1 FALSE. O driver não usa keepalives TCP. 

Esse parâmetro é opcional.

## KeepAliveCount
<a name="odbc20-keepalivecount-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: inteiro

O número de pacotes de keepalive de TCP que podem ser perdidos antes que a conexão seja considerada interrompida. Quando esse parâmetro está definido como 0, o driver usa o sistema padrão para essa configuração. 

Esse parâmetro é opcional.

## KeepAliveInterval
<a name="odbc20-keepaliveinterval-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: inteiro

O número de segundos entre cada retransmissão de keepalive de TCP. Quando esse parâmetro está definido como 0, o driver usa o sistema padrão para essa configuração. 

Esse parâmetro é opcional.

## KeepAliveTime
<a name="odbc20-keepalivetime-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: inteiro

O número de segundos de inatividade antes que o driver envie um pacote de manutenções de atividade de TCP. Quando esse parâmetro está definido como 0, o driver usa o sistema padrão para essa configuração. 

Esse parâmetro é opcional.

## listen\$1port
<a name="odbc20-listen-port-option"></a>
+ **Valor padrão** – 7890
+ **Tipo de dados**: inteiro

A porta que o driver usa para receber a resposta SAML do provedor de identidades ou o código de autorização ao usar os serviços SAML, Azure AD ou Centro de Identidade do AWS IAM por meio de um plug-in do navegador.

Esse parâmetro é opcional.

## login\$1url
<a name="odbc20-login-url-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

A URL do recurso no site do provedor de identidades ao usar o plug-in SAML de navegador genérico.

Esse parâmetro é necessário se autenticar com os serviços SAML ou Azure AD por meio de um plug-in de navegador.

## loginToRp
<a name="odbc20-logintorp-option"></a>
+ **Valor padrão** - urn:amazon:webservices
+ **Tipo de dados** – String

A relação de confiança de parte confiável que você deseja usar para o tipo de autenticação do AD FS.

Essa string é opcional.

## LogLevel
<a name="odbc20-loglevel-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: inteiro

Use essa propriedade para habilitar ou desabilitar o registro em log no driver e especificar a quantidade de detalhes incluídos nos arquivos de log. Recomendamos que você ative o registro em log apenas por tempo suficiente para capturar um problema, pois o registro em log diminui o desempenho e pode consumir uma grande quantidade de espaço em disco.

 Define a propriedade com um dos seguintes valores:
+  0: OFF. Desative todos os registros em log. 
+  1: ERROR. Registra em log eventos de erro que podem permitir que o driver continue em execução mas produza um erro. 
+  2: API\$1CALL. Registra em log chamadas de função da API ODBC com valores de argumento de função. 
+  3: INFO. Registra em log informações gerais que descrevem o andamento do driver. 
+  4: MSG\$1PROTOCOL. Registra em log informações detalhadas do protocolo de mensagens do driver. 
+  5: DEBUG. Registra em log todas as atividades do driver 
+  6: DEBUG\$1APPEND. Continue anexando registros em log para todas as atividades do driver. 

Quando o registro em log está habilitado, o driver produz os seguintes arquivos de log no local especificado na propriedade **LogPath**: 
+  Um arquivo `redshift_odbc.log.1` que registra em log a atividade do driver que ocorre durante o handshake de uma conexão. 
+  Um arquivo `redshift_odbc.log` para todas as atividades do driver depois que uma conexão é estabelecida com o banco de dados. 

Esse parâmetro é opcional.

## LogPath
<a name="odbc20-logpath-option"></a>
+ **Valor padrão** - O diretório TEMP específico do sistema operacional
+ **Tipo de dados** – String

O caminho completo para a pasta onde o driver salva arquivos de log quando **LogLevel** é maior que 0.

Esse parâmetro é opcional.

## Min\$1TLS
<a name="odbc20-min-tls-option"></a>
+ **Valor padrão** – 1.2
+ **Tipo de dados** – String

 A versão mínima do TLS/SSL que o driver permite que o datastore use para criptografar conexões. Por exemplo, se o TLS 1.2 for especificado, não será possível usar o TLS 1.1 para criptografar conexões.

Min\$1TLS aceita os seguintes valores:
+  1.0: A conexão deve usar pelo menos TLS 1.0. 
+  1.1: A conexão deve usar pelo menos TLS 1.1. 
+  1.2: A conexão deve usar pelo menos TLS 1.2. 

Esse parâmetro é opcional.

## partner\$1spid
<a name="odbc20-partner-spid-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O valor SPID (ID do provedor de serviços) do parceiro a ser usado ao autenticar a conexão usando o serviço PingFederate.

Esse parâmetro é opcional.

## Senha \$1 PWS
<a name="odbc20-password-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

A senha correspondente ao nome de usuário do banco de dados que você forneceu no campo Usuário (**UID** \$1 **Usuário** \$1 **LogonID**). 

Esse parâmetro é opcional.

## plugin\$1name
<a name="odbc20-plugin-name-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome do plug-in do provedor de credenciais que você deseja usar para autenticação. 

 Os valores a seguir são aceitos: 
+  `ADFS`: use os serviços de federação do Active Directory para autenticação. 
+  `AzureAD`: use o Serviço Microsoft Azure Active Directory (AD) para autenticação. 
+  `BrowserAzureAD`: use um plug-in de navegador para o Serviço Microsoft Azure Active Directory (AD) para autenticação. 
+  `BrowserIdcAuthPlugin `: um plug-in de autorização que usa o Centro de Identidade do AWS IAM. 
+  `BrowserSAML`: use um plug-in do navegador para serviços SAML como Okta ou Ping para autenticação. 
+  `IdpTokenAuthPlugin`: um plug-in de autorização que aceita um token do Centro de Identidade do AWS IAM ou tokens de identidade baseados em JSON (JWT) do OpenID Connect (OIDC) de qualquer provedor de identidades da web vinculado ao Centro de Identidade do AWS IAM. 
+  `JWT`: use um JSON Web Token (JWT) para autenticação. 
+  `Ping`: use o serviço PingFederate para autenticação. 
+  `Okta`: use o serviço Okta para autenticação. 

Esse parâmetro é opcional.

## Porta \$1 PortNumber
<a name="odbc20-port-option"></a>
+ **Valor padrão** – 5439
+ **Tipo de dados**: inteiro

O número da porta TCP que o servidor Amazon Redshift usa para escutar as conexões do cliente. 

Esse parâmetro é opcional.

## preferred\$1role
<a name="odbc20-preferred-role-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

A função que você deseja assumir durante a conexão com o Amazon Redshift. Ele é usado para autenticação do IAM.

Esse parâmetro é opcional.

## Perfil
<a name="odbc20-profile-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome do perfil da AWS de usuário usado para autenticar no Amazon Redshift.
+  Se o parâmetro Use Instance Profile (a propriedade **InstanceProfile**) for definido como 1 \$1 TRUE, essa configuração terá precedência e o driver usará o perfil de instância do Amazon EC2. 
+  O local padrão do arquivo de credenciais que contém perfis é `~/.aws/Credentials`. O ambiente `AWS_SHARED_CREDENTIALS_FILE` pode ser usado para apontar para um arquivo de credenciais diferente. 

Esse parâmetro é opcional.

## provider\$1name
<a name="odbc20-provider-name-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O provedor de autenticação criado pelo usuário usando a consulta CREATE IDENTITY PROVIDER. Ele é usado na autenticação nativa do Amazon Redshift.

Esse parâmetro é opcional.

## ProxyHost
<a name="odbc20-proxyhost-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome do host ou endereço IP do servidor de proxy ao qual você quer se conectar.

Esse parâmetro é opcional.

## ProxyPort
<a name="odbc20-proxyport-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados**: inteiro

O número da porta que o servidor proxy usa para escutar as conexões do cliente.

Esse parâmetro é opcional.

## ProxyPwd
<a name="odbc20-proxypwd-option"></a>
+ **Versão padrão do driver ODBC anterior**: nenhuma.
+ **Tipo de dados** – String

A senha que você utiliza para acessar o servidor proxy. 

Esse parâmetro é opcional.

## ProxyUid
<a name="odbc20-proxyuid-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome de usuário que você usa para acessar o servidor de proxy.

Esse parâmetro é opcional.

## ReadOnly
<a name="odbc20-readonly-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: booleano

Um booleano especificando se o driver está em modo somente leitura. 
+  1 \$1 TRUE: a conexão está no modo somente leitura e não pode gravar no datastore. 
+  0 \$1 FALSE: a conexão não está no modo somente leitura e pode gravar no datastore. 

Esse parâmetro é opcional.

## region
<a name="odbc20-region-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

Substitua AWS pela região em que seu cluster está localizado. 

Esse parâmetro é opcional.

## SecretAccessKey
<a name="odbc20-secretaccesskey-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

 A chave secreta do IAM para o usuário ou função. Se definir esse parâmetro, você também deverá configurar **AccessKeyID**. 

Esse parâmetro é opcional.

## SessionToken
<a name="odbc20-sessiontoken-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

 O token temporário de sessão do IAM associado ao perfil do IAM que você está usando para autenticar. 

Esse parâmetro é opcional.

## Servidor \$1 HostName \$1 Host
<a name="odbc20-server-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O servidor do endpoint para conectar-se.

Esse parâmetro é obrigatório.

## ssl\$1insecure
<a name="odbc20-ssl-insecure-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: booleano

Um booleano especificando se o driver verifica a autenticidade do certificado do servidor IdP.
+  1 \$1 TRUE: o driver não verifica a autenticidade do certificado do servidor IDP. 
+  0 \$1 FALSE: o driver verifica a autenticidade do certificado do servidor idP. 

Esse parâmetro é opcional.

## SSLMode
<a name="odbc20-sslmode-option"></a>
+ **Valor padrão** – `verify-ca`
+ **Tipo de dados** – String

O modo de verificação do certificado SSL para usar ao se conectar ao Amazon Redshift. Os seguintes valores são possíveis: 
+  `verify-full`: Conectar somente usando SSL, uma autoridade de certificação confiável e um nome de servidor que corresponda ao certificado. 
+  `verify-ca`: Conectar somente usando SSL e uma autoridade de certificação confiável. 
+  `require`: Conectar somente usando SSL. 
+  `prefer`: Conectar usando SSL, se disponível. Caso contrário, conectar sem usar SSL. 
+  `allow`: por padrão, conectar sem usar SSL. Se o servidor exigir conexões SSL, use SSL. 
+  `disable`: Conectar sem usar SSL. 

Esse parâmetro é opcional.

## StsConnectionTimeout
<a name="odbc20-stsconnectiontimeout-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: inteiro

O tempo máximo de espera para conexões do IAM, em segundos. Se definido como 0 ou não especificado, o driver espera 60 segundos para cada chamada AWS STS. 

Esse parâmetro é opcional.

## StsEndpointUrl
<a name="odbc20-stsendpointurl-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

Essa opção especifica o endpoint de substituição usado para se comunicar com o AWS Security Token Service (AWS STS). 

Esse parâmetro é opcional.

## token
<a name="jdbc20-token-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O Centro de Identidade do AWS IAM forneceu um token de acesso ou um token web JSON (JWT) do OpenID Connect (OIDC) fornecido por um provedor de identidades da web vinculado ao Centro de Identidade do AWS IAM. A aplicação deve gerar esse token autenticando o usuário da aplicação com o Centro de Identidade do AWS IAM ou um provedor de identidades vinculado ao Centro de Identidade do AWS IAM. 

Esse parâmetro funciona com `IdpTokenAuthPlugin`.

## token\$1type
<a name="jdbc20-token-type-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O tipo de token que está sendo usado no `IdpTokenAuthPlugin`.

Especifique os seguintes valores:

**ACCESS\$1TOKEN**  
Insira se você usar um token de acesso fornecido pelo Centro de Identidade do AWS IAM.

**EXT\$1JWT**  
Insira se você usar um token web JSON (JWT) do OpenID Connect (OIDC) fornecido por um provedor de identidades baseado na web integrado ao Centro de Identidade do AWS IAM.

Esse parâmetro funciona com `IdpTokenAuthPlugin`.

## UID \$1 Usuário \$1 LogonID
<a name="odbc20-uid-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O nome de usuário que você usa para acessar o servidor do Amazon Redshift.

Esse parâmetro será necessário se você usar autenticação de banco de dados.

## UseUnicode
<a name="odbc20-useunicode-option"></a>
+ **Valor padrão** – 0
+ **Tipo de dados**: booleano

Um valor booliano especificando se o driver exibe dados do Redshift como tipos Unicode ou SQL regulares.
+  1 \$1 TRUE: o driver exibe o tipo SQL amplo para o tipo de dados do caractere. 
  + SQL\$1WCHAR é exibido em vez de SQL\$1CHAR.
  + SQL\$1WVARCHAR é exibido em vez de SQL\$1VARCHAR.
  + SQL\$1WLONGVARCHAR é exibido em vez de SQL\$1LONGVARCHAR.
+  0 \$1 FALSE: o driver exibe o tipo SQL normal para o tipo de dados do caractere. 
  + SQL\$1CHAR é exibido em vez de SQL\$1WCHAR.
  + SQL\$1VARCHAR é exibido em vez de SQL\$1WVARCHAR.
  + SQL\$1LONGVARCHAR é exibido em vez de SQL\$1WLONGVARCHAR.

Esse parâmetro é opcional. Só está disponível nas versões 2.1.15 e posteriores do driver.

## web\$1identity\$1token
<a name="odbc20-web-identity-token-option"></a>
+ **Valor padrão**: nenhum
+ **Tipo de dados** – String

O token OAUTH fornecido pelo provedor de identidades. Ele é usado no plugin JWT.

Esse parâmetro será necessário se você definir o parâmetro **plugin\$1name** como BasicJwtCredentialsProvider.

# Versões anteriores do driver ODBC
<a name="odbc20-previous-versions"></a>

Baixe uma versão anterior do driver ODBC versão 2.x do Amazon Redshift somente se sua ferramenta exigir uma versão específica do driver. 

## Usar versões anteriores do driver ODBC para o Microsoft Windows
<a name="odbc20-previous-versions-windows"></a>

A seguir estão as versões 2.x anteriores do driver ODBC do Amazon Redshift para Microsoft Windows: 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC64-2.1.14.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC64-2.1.14.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC64-2.1.13.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC64-2.1.13.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC64-2.1.12.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC64-2.1.12.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC64-2.1.11.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC64-2.1.11.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.10.0/AmazonRedshiftODBC64-2.1.10.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.10.0/AmazonRedshiftODBC64-2.1.10.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC64-2.1.9.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC64-2.1.9.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC64-2.1.9.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC64-2.1.9.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.8.0/AmazonRedshiftODBC64-2.1.8.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.8.0/AmazonRedshiftODBC64-2.1.8.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.7.0/AmazonRedshiftODBC64-2.1.7.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.7.0/AmazonRedshiftODBC64-2.1.7.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.6.0/AmazonRedshiftODBC64-2.1.6.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.6.0/AmazonRedshiftODBC64-2.1.6.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.4.0/AmazonRedshiftODBC64-2.1.4.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.4.0/AmazonRedshiftODBC64-2.1.4.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.3.0/AmazonRedshiftODBC64-2.1.3.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.3.0/AmazonRedshiftODBC64-2.1.3.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.2.0/AmazonRedshiftODBC64-2.1.2.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.2.0/AmazonRedshiftODBC64-2.1.2.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.1.0/AmazonRedshiftODBC64-2.1.1.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.1.0/AmazonRedshiftODBC64-2.1.1.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.0.0/AmazonRedshiftODBC64-2.1.0.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.0.0/AmazonRedshiftODBC64-2.1.0.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.1.0/AmazonRedshiftODBC64-2.0.1.0.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.1.0/AmazonRedshiftODBC64-2.0.1.0.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.11/AmazonRedshiftODBC64-2.0.0.11.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.11/AmazonRedshiftODBC64-2.0.0.11.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.9/AmazonRedshiftODBC64-2.0.0.9.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.9/AmazonRedshiftODBC64-2.0.0.9.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.8/AmazonRedshiftODBC64-2.0.0.8.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.8/AmazonRedshiftODBC64-2.0.0.8.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.7/AmazonRedshiftODBC64-2.0.0.7.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.7/AmazonRedshiftODBC64-2.0.0.7.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.6/AmazonRedshiftODBC64-2.0.0.6.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.6/AmazonRedshiftODBC64-2.0.0.6.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.5/AmazonRedshiftODBC64-2.0.0.5.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.5/AmazonRedshiftODBC64-2.0.0.5.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.3/AmazonRedshiftODBC64-2.0.0.3.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.3/AmazonRedshiftODBC64-2.0.0.3.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.1/AmazonRedshiftODBC64-2.0.0.1.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.1/AmazonRedshiftODBC64-2.0.0.1.msi) 

## Usar versões anteriores do driver ODBC para Linux
<a name="odbc20-previous-versions-linux"></a>

A seguir estão as versões 2.x anteriores do driver ODBC do Amazon Redshift para Linux: 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit-2.1.14.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit-2.1.14.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit-2.1.14.0.aarch64.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit-2.1.14.0.aarch64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit-2.1.13.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit-2.1.13.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit-2.1.13.0.aarch64.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit-2.1.13.0.aarch64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit-2.1.12.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit-2.1.12.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit-2.1.12.0.aarch64.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit-2.1.12.0.aarch64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC-64-bit-2.1.11.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC-64-bit-2.1.11.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC-64-bit-2.1.11.0.aarch64.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.11.0/AmazonRedshiftODBC-64-bit-2.1.11.0.aarch64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.10.0/AmazonRedshiftODBC-64-bit-2.1.10.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.10.0/AmazonRedshiftODBC-64-bit-2.1.10.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC-64-bit-2.1.9.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.9.0/AmazonRedshiftODBC-64-bit-2.1.9.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.8.0/AmazonRedshiftODBC-64-bit-2.1.8.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.8.0/AmazonRedshiftODBC-64-bit-2.1.8.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.7.0/AmazonRedshiftODBC-64-bit-2.1.7.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.7.0/AmazonRedshiftODBC-64-bit-2.1.7.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.6.0/AmazonRedshiftODBC-64-bit-2.1.6.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.6.0/AmazonRedshiftODBC-64-bit-2.1.6.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.4.0/AmazonRedshiftODBC-64-bit-2.1.4.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.4.0/AmazonRedshiftODBC-64-bit-2.1.4.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.3.0/AmazonRedshiftODBC-64-bit-2.1.3.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.3.0/AmazonRedshiftODBC-64-bit-2.1.3.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.2.0/AmazonRedshiftODBC-64-bit-2.1.2.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.2.0/AmazonRedshiftODBC-64-bit-2.1.2.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.1.0/AmazonRedshiftODBC-64-bit-2.1.1.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.1.0/AmazonRedshiftODBC-64-bit-2.1.1.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.0.0/AmazonRedshiftODBC-64-bit-2.1.0.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.0.0/AmazonRedshiftODBC-64-bit-2.1.0.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.1.0/AmazonRedshiftODBC-64-bit-2.0.1.0.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.1.0/AmazonRedshiftODBC-64-bit-2.0.1.0.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.11/AmazonRedshiftODBC-64-bit-2.0.0.11.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.11/AmazonRedshiftODBC-64-bit-2.0.0.11.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.9/AmazonRedshiftODBC-64-bit-2.0.0.9.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.9/AmazonRedshiftODBC-64-bit-2.0.0.9.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.8/AmazonRedshiftODBC-64-bit-2.0.0.8.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.8/AmazonRedshiftODBC-64-bit-2.0.0.8.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.7/AmazonRedshiftODBC-64-bit-2.0.0.7.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.7/AmazonRedshiftODBC-64-bit-2.0.0.7.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.6/AmazonRedshiftODBC-64-bit-2.0.0.6.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.6/AmazonRedshiftODBC-64-bit-2.0.0.6.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.5/AmazonRedshiftODBC-64-bit-2.0.0.5.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.5/AmazonRedshiftODBC-64-bit-2.0.0.5.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.3/AmazonRedshiftODBC-64-bit-2.0.0.3.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.3/AmazonRedshiftODBC-64-bit-2.0.0.3.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.1/AmazonRedshiftODBC-64-bit-2.0.0.1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.0.0.1/AmazonRedshiftODBC-64-bit-2.0.0.1.x86_64.rpm) 

## Usar versões anteriores do driver ODBC para Apple macOS
<a name="odbc20-previous-versions-mac"></a>

Veja a seguir as versões anteriores do driver ODBC do Amazon Redshift para Apple macOS: 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit.2.1.14.0.universal.pkg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.14.0/AmazonRedshiftODBC-64-bit.2.1.14.0.universal.pkg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit.2.1.13.0.universal.pkg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.13.0/AmazonRedshiftODBC-64-bit.2.1.13.0.universal.pkg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit.2.1.12.0.universal.pkg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/2.1.12.0/AmazonRedshiftODBC-64-bit.2.1.12.0.universal.pkg) 

# Configurar a conexão de um driver ODBC versão 1.x
<a name="configure-odbc-connection"></a>

Você pode usar uma conexão ODBC para se conectar ao seu cluster Amazon Redshift a partir de muitas ferramentas e aplicações de cliente SQL de terceiros. Para fazer isso, configure a conexão em seu computador cliente ou instância do Amazon EC2. Se sua ferramenta cliente oferece suporte ao JDBC, você pode optar por usar esse tipo de conexão em vez de usar o ODBC, devido à facilidade de configuração que o JDBC oferece. Contudo, se sua ferramenta cliente não oferece suporte ao JDBC, siga as etapas nesta seção para configurar uma conexão ODBC. 

O Amazon Redshift fornece drivers ODBC 64 bits para sistemas operacionais Linux, Windows e macOS X. Os drivers ODBC de 32 bits foram descontinuados. Outras atualizações não serão lançadas, exceto para patches de segurança urgentes. 

Para obter as informações mais recentes sobre a funcionalidade e os pré-requisitos do driver ODBC, consulte as [Notas de release do driver ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Release+Notes.pdf). 

Para obter informações sobre a instalação e a configuração de drivers ODBC do Amazon Redshift, consulte [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

**Topics**
+ [Obter o URL do ODBC](obtain-odbc-url.md)
+ [Usar um driver ODBC do Amazon Redshift no Microsoft Windows](install-odbc-driver-windows.md)
+ [Usar um driver ODBC do Amazon Redshift no Linux](install-odbc-driver-linux.md)
+ [Usar um driver ODBC do Amazon Redshift no macOS X](install-odbc-driver-mac.md)
+ [Opções do driver ODBC](configure-odbc-options.md)
+ [Versões anteriores do driver ODBC](odbc-previous-versions.md)

# Obter o URL do ODBC
<a name="obtain-odbc-url"></a>

O Amazon Redshift exibe o URL do ODBC para o cluster no console do Amazon Redshift. Este URL contém as informações para a configuração da conexão entre o computador cliente e o banco de dados.

 O URL do ODBC tem o seguinte formato: `Driver={driver};Server=endpoint;Database=database_name;UID=user_name;PWD=password;Port=port_number` 

Os campos do formato mostrado anteriormente têm os seguintes valores.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/obtain-odbc-url.html)

 Os campos nas tabelas anteriores podem conter os seguintes caracteres especiais:

```
[]{}(),;?*=!@ 
```

 Se você usar esses caracteres especiais, deverá colocar o valor entre chaves. Por exemplo, o valor de senha `Your;password123` em uma string de conexão é representado como `PWD={Your;password123};`. 

 Como os pares `Field=value` são separados por ponto e vírgula, a combinação de `}` e `;` com qualquer número de espaços entre eles é considerada o fim de um par `Field={value};`. Recomendamos que você evite a sequência `};` nos valores de campo. Por exemplo, se você definir o valor da senha como `PWD={This is a passwor} ;d};`, sua senha será `This is a passwor} ;` e o URL apresentará um erro. 

Veja a seguir um exemplo de URL de ODBC.

```
Driver={Amazon Redshift (x64)};
                    Server=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com;
                    Database=dev; 
                    UID=adminuser;
                    PWD=insert_your_admin_user_password_here;
                    Port=5439
```

Para obter informações sobre como obter sua conexão ODBC, consulte [Encontrar a string de conexão do cluster](connecting-connection-string.md). 

# Usar um driver ODBC do Amazon Redshift no Microsoft Windows
<a name="install-odbc-driver-windows"></a>

Você instala o driver ODBC do Amazon Redshift em computadores clientes que acessam um data warehouse do Amazon Redshift. Cada computador onde o driver é instalado deve atender a uma lista de requisitos mínimos do sistema. Para obter informações sobre os requisitos mínimos do sistema, consulte o [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

**Topics**
+ [Baixar e instalar o driver ODBC do Amazon Redshift](odbc-driver-windows-how-to-install.md)
+ [Criação de uma entrada de DSN do sistema para uma conexão ODBC](create-dsn-odbc-windows.md)

# Baixar e instalar o driver ODBC do Amazon Redshift
<a name="odbc-driver-windows-how-to-install"></a>

Use o procedimento a seguir para baixar os drivers ODBC do Amazon Redshift para sistemas operacionais Windows. Use apenas um driver diferente desses se estiver executando uma aplicação de terceiros certificado para uso com o Amazon Redshift e que requer um driver específico. 

**Para instalar o driver ODBC do**

1. Baixe uma das versões a seguir, dependendo da arquitetura de sistema usada pela aplicação ou pela ferramenta do cliente SQL: 
   + [Driver ODBC de 64 bits versão 1.6.3](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/AmazonRedshiftODBC64-1.6.3.1008.msi) 

     O nome deste driver é Amazon Redshift (x64).
   + [Driver ODBC de 32 bits versão 1.4.52](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC32-1.4.52.1000.msi) 

     O nome deste driver é Amazon Redshift (x86). Os drivers ODBC de 32 bits foram descontinuados. Outras atualizações não serão lançadas, exceto para patches de segurança urgentes.
**nota**  
Baixe o pacote MSI que correspondente à arquitetura de sistema da ferramenta do cliente ou do aplicativo SQL. Por exemplo, se a ferramenta do cliente SQL é de 64 bits, instale o driver de 64 bits.

    Depois, baixe e revise o [Acordo de licença do driver ODBC e JDBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/Amazon+Redshift+ODBC+and+JDBC+Driver+License+Agreement.pdf). 

1.  Clique duas vezes no arquivo .msi e, em seguida, siga os passos do assistente para instalar o driver. 

# Criação de uma entrada de DSN do sistema para uma conexão ODBC
<a name="create-dsn-odbc-windows"></a>

Depois de baixar e instalar o driver ODBC, adicione uma entrada de nome de origem dos dados (DSN) ao computador cliente ou instância do Amazon EC2. As ferramentas de cliente SQL usam essa origem dos dados para se conectar ao banco de dados do Amazon Redshift. 

Recomendamos a criação de um DSN de sistema em vez de um DSN de usuário. Alguns aplicativos carregam os dados usando uma conta de usuário diferente. Esses aplicativos podem não conseguir detectar DSNs de usuário criados em outra conta de usuário.

**nota**  
Para realizar a autenticação usando as credenciais do AWS Identity and Access Management (IAM) ou do provedor de identidades (IdP), serão necessárias etapas adicionais. Para obter mais informações, consulte [Etapa 5: configurar uma conexão JDBC ou ODBC para usar credenciais do IAM](generating-iam-credentials-steps.md#generating-iam-credentials-configure-jdbc-odbc).

Para obter informações sobre como criar uma entrada DSN do sistema, consulte o [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

**Como criar uma entrada de DSN de sistema para uma conexão ODBC no Windows**

1. No menu **Iniciar**, abra **Fontes de dados ODBC**.

   Certifique-se de escolher o Administrador de origem dos dados ODBC que tem a mesma quantidade de bits da aplicação cliente que você está usando para se conectar ao Amazon Redshift.

1. Em **ODBC Data Source Administrator** (Administrador de origem dos dados ODBC), escolha a guia **Drivers** e localize a pasta do driver:
   + **Driver ODBC do Amazon Redshift (64 bits)**
   + **Driver ODBC do Amazon Redshift (32 bits)**

1.  Selecione a guia **DSN de Sistema** a fim de configurar o driver para todos os usuários no computador, ou a guia **DSN de Usuário** a fim de configurar o driver apenas para sua conta de usuário. 

1.  Escolha **Adicionar**. A janela **Create New Data Source** é exibida. 

1.  Escolha o driver ODBC do **Amazon Redshift** e, em seguida, escolha **Concluir**. A janela **Configuração de DSN do driver ODBC do Amazon Redshift** é exibida.

1. Em **Connection Settings**, insira as seguintes informações:
<a name="rs-mgmt-dsn"></a>
**Nome da fonte de dados**  
Insira um nome para a fonte de dados. Use um nome qualquer para identificar a fonte de dados posteriormente, quando você criar a conexão com o cluster. Por exemplo, se você seguiu o *Guia de conceitos básicos do Amazon Redshift*, pode digitar `exampleclusterdsn` para facilitar a lembrança do cluster que associa a este DSN.
<a name="rs-mgmt-server"></a>
**Servidor**  
Especifique o endpoint do cluster do Amazon Redshift. Você pode encontrar essas informações no console do Amazon Redshift na página de detalhes do cluster. Para obter mais informações, consulte [Configurar conexões no Amazon Redshift](configuring-connections.md).
<a name="rs-mgmt-port"></a>
**Porta**  
Insira o número da porta que o banco de dados usa. Use a porta que foi configurada para o cluster quando ele foi iniciado ou modificado.
<a name="rs-mgmt-database"></a>
**Banco de dados**  
Insira o nome do banco de dados do Amazon Redshift. Se você iniciou o cluster sem especificar um nome de banco de dados, insira `dev`. Caso contrário, use o nome escolhido durante o processo de inicialização. Se você seguiu o *Guia de conceitos básicos do Amazon Redshift*, insira `dev`.

1. Em **Autenticação**, especifique as opções de configuração para definir autenticação padrão ou do IAM. Para obter informações sobre as opções de autenticação, consulte “Configurar a autenticação no Windows” no *Guia de instalação e configuração do conector ODBC Amazon Redshift*. 

1. Em **SSL Settings**, especifique um valor para:
<a name="rs-mgmt-ssl-authentication"></a>
**Autenticação SSL**  
Escolha um modo para tratar o Secure Sockets Layer (SSL). Em um ambiente de teste, você pode usar `prefer`. No entanto, para ambientes de produção e quando um intercâmbio de dados seguro for necessário, use `verify-ca` ou `verify-full`. Para obter mais informações sobre como usar SSL no Windows, consulte "Configurando a verificação SSL no Windows" no *Guia de instalação e configuração do conector ODBC Amazon Redshift*. 

1. Em **Opções Adicionais**, especifique opções sobre como retornar os resultados de consultas ao aplicativo ou ferramenta do cliente SQL. Para obter mais informações, consulte "Configurando opções adicionais no Windows" no *Guia de instalação e configuração do conector ODBC Amazon Redshift*. 

1. Em **Opções de Log**, especifique valores para a opção de registro em log. Para obter mais informações, consulte "Configurando opções de registro em log no Windows" no *Guia de instalação e configuração do conector ODBC Amazon Redshift*. 

   Escolha **OK**.

1. Em **Opções de Tipo de Dados**, especifique valores para os tipos de dados. Para obter mais informações, consulte "Configurando opções de tipo de dados no Windows" no *Guia de instalação e configuração do conector ODBC Amazon Redshift*. 

   Escolha **OK**.

1. Escolha **Testar**. Se o computador cliente puder se conectar ao banco de dados Amazon Redshift, você verá a seguinte mensagem: **Conexão bem-sucedida**. 

    Se a conexão do computador cliente com o banco de dados falhar, você pode tentar solucionar os possíveis problemas. Para obter mais informações, consulte [Solução de problemas de conexão no Amazon Redshift](troubleshooting-connections.md). 

1. Configure manutenções de atividade de TCP no Windows para impedir que as conexões atinjam o tempo limite. Para obter informações sobre como configurar keepalives TCP no Windows, consulte o *Guia de instalação e configuração do conector ODBC Amazon Redshift*.

1. Para ajudar na solução de problemas, configure o registro em log. Para obter informações sobre como configurar o registro em log no Windows, consulte o *Guia de instalação e configuração do conector ODBC Amazon Redshift*. 

# Usar um driver ODBC do Amazon Redshift no Linux
<a name="install-odbc-driver-linux"></a>

Você instala o driver ODBC do Amazon Redshift em computadores clientes que acessam um data warehouse do Amazon Redshift. Cada computador onde o driver é instalado deve atender a uma lista de requisitos mínimos do sistema. Para obter informações sobre os requisitos mínimos do sistema, consulte o [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

**Topics**
+ [Baixar e instalar o driver ODBC do Amazon Redshift](odbc-driver-linux-how-to-install.md)
+ [Usar um gerenciador de driver ODBC para configurar o driver](odbc-driver-configure-linux.md)

# Baixar e instalar o driver ODBC do Amazon Redshift
<a name="odbc-driver-linux-how-to-install"></a>

Siga as etapas nesta seção para baixar e instalar os drivers ODBC do Amazon Redshift em uma distribuição Linux compatível. O processo de instalação instala os arquivos de driver nos seguintes diretórios: 
+ `/opt/amazon/redshiftodbc/lib/64` (para o driver de 64 bits)
+ `/opt/amazon/redshiftodbc/ErrorMessages`
+ `/opt/amazon/redshiftodbc/Setup`
+  `/opt/amazon/redshiftodbc/lib/32` (para o driver de 32 bits)<a name="rs-mgmt-install-odbc-drivers-linux"></a>

**Para instalar o driver ODBC do Amazon Redshift**

1. Baixe uma das versões a seguir, dependendo da arquitetura de sistema usada pela aplicação ou pela ferramenta do cliente SQL: 
   + [Driver RPM de 64 bits versão 1.6.3](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/AmazonRedshiftODBC-64-bit-1.6.3.1008-1.x86_64.rpm) 
   + [Driver Debian de 64 bits versão 1.6.3](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/AmazonRedshiftODBC-64-bit-1.6.3.1008-1.x86_64.deb) 
   + [Driver RPM de 64 bits versão 1.5.52](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-32-bit-1.4.52.1000-1.i686.rpm) 

   O nome de cada um desses drivers é driver ODBC do Amazon Redshift. Os drivers ODBC de 32 bits foram descontinuados. Outras atualizações não serão lançadas, exceto para patches de segurança urgentes.
**nota**  
Baixe o pacote que correspondente à arquitetura de sistema da ferramenta do cliente ou do aplicativo SQL. Por exemplo, se a ferramenta do cliente é de 64 bits, instale um driver de 64 bits.

    Depois, baixe e revise o [Acordo de licença do driver ODBC e JDBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/Amazon+Redshift+ODBC+and+JDBC+Driver+License+Agreement.pdf). 

1. Navegue até o local onde você salvou o download do pacote e execute um dos comandos a seguir. Use o comando que corresponde a sua distribuição do Linux. 
   + Em sistemas operacionais RHEL e CentOS , execute o comando a seguir.

     ```
     yum -nogpgcheck localinstall RPMFileName
     ```

     Substitua *`RPMFileName`* pelo nome do arquivo de pacote do RPM. Por exemplo, o comando a seguir demonstra a instalação do driver de 64 bits.

     ```
     yum -nogpgcheck localinstall AmazonRedshiftODBC-64-bit-1.x.xx.xxxx-x.x86_64.rpm
     ```
   + Em SLES, execute o comando a seguir.

     ```
     zypper install RPMFileName
     ```

     Substitua *`RPMFileName`* pelo nome do arquivo de pacote do RPM. Por exemplo, o comando a seguir demonstra a instalação do driver de 64 bits.

     ```
     zypper install AmazonRedshiftODBC-1.x.x.xxxx-x.x86_64.rpm
     ```
   + Em Debian, execute o comando a seguir.

     ```
     sudo apt install ./DEBFileName.deb
     ```

     Substitua `DEBFileName.deb` pelo nome do arquivo de pacote do Debian. Por exemplo, o comando a seguir demonstra a instalação do driver de 64 bits.

     ```
     sudo apt install ./AmazonRedshiftODBC-1.x.x.xxxx-x.x86_64.deb
     ```

**Importante**  
Quando você tiver concluído a instalação dos drivers, configure-os para usar no sistema. Para obter mais informações sobre a configuração de drivers, consulte [Usar um gerenciador de driver ODBC para configurar o driverUsar um gerenciador de driver ODBC para configurar o driver](odbc-driver-configure-linux.md).

# Usar um gerenciador de driver ODBC para configurar o driver
<a name="odbc-driver-configure-linux"></a>

Nos sistemas operacionais Linux, utilize o gerenciador de driver ODBC para configurar as definições de conexão ODBC. Os gerenciadores de driver ODBC usam arquivos de configuração para definir e configurar as fontes de dados e os drivers ODBC. O gerenciador de driver ODBC a ser usado dependerá do sistema operacional em uso. Para Linux, é o gerenciador de drivers unixODBC.

Para ter mais informações sobre os gerenciadores de driver ODBC com suporte para configurar os drivers ODBC do Amazon Redshift, consulte [Usar um driver ODBC do Amazon Redshift no LinuxUsar um driver ODBC no Linux](install-odbc-driver-linux.md) para sistemas operacionais Linux. Consulte também “Especificar gerenciadores de drivers ODBC em máquinas que não utilizam Windows” no [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). .

Três arquivos são necessários para configurar o driver ODBC do Amazon Redshift: `amazon.redshiftodbc.ini`, `odbc.ini` e `odbcinst.ini`.

Se você fez a instalação no local padrão, o arquivo de configuração `amazon.redshiftodbc.ini` estará localizado em um dos seguintes diretórios:
+ `/opt/amazon/redshiftodbc/lib/64` (para o driver de 64 bits em sistemas operacionais Linux)
+ `/opt/amazon/redshiftodbc/lib/32` (para o driver de 32 bits em sistemas operacionais Linux)

Além disso, em `/opt/amazon/redshiftodbc/Setup` no Linux, há os arquivos de exemplo `odbc.ini` e `odbcinst.ini`. Você pode usar esses arquivos como exemplos para configurar o driver ODBC do Amazon Redshift e o nome da origem dos dados (DSN).

Não é recomendado o uso do diretório de instalação do driver ODBC do Amazon Redshift para os arquivos de configuração. Os arquivos de exemplo do diretório `Setup` devem ser usados somente para servir de modelo. Se você reinstalar o driver ODBC do Amazon Redshift posteriormente ou atualizar para uma versão mais recente, o diretório de instalação será substituído. Você perderá todas as alterações que fez nesses arquivos.

Para evitar isso, copie o arquivo `amazon.redshiftodbc.ini` para um diretório diferente do diretório de instalação. Se você copiar esse arquivo no diretório base do usuário, adicione um ponto (.) ao início do nome do arquivo para torná-lo um arquivo oculto.

Para os arquivos `odbc.ini` e `odbcinst.ini`, use os arquivos de configuração do diretório inicial do usuário ou crie versões em um outro diretório. Por padrão, os sistemas operacionais Linux devem ter os arquivos `odbc.ini` e `odbcinst.ini` no diretório inicial do usuário (`/home/$USER` ou `~/`). Esses arquivos padrão são arquivos ocultos, o que é indicado pelo ponto (.) na frente do nome de cada arquivo. Esses arquivos são exibidos somente ao usar o sinalizador `-a` para listar o conteúdo do diretório.

Qualquer que seja a opção escolhida para os arquivos `odbc.ini` e `odbcinst.ini`, modifique os arquivos para adicionar as informações do driver e da configuração de DSN. Se você criar arquivos, também precisará definir as variáveis do ambiente para especificar onde esses arquivos de configuração estão localizados. 

Por padrão, os gerenciadores de driver ODBC são configurados para usar versões ocultas dos arquivos de configuração `odbc.ini` e `odbcinst.ini` (chamados `odbc.ini` e `odbcinst.ini`) localizadas no diretório inicial. Eles também são configurados para usar o arquivo `amazon.redshiftodbc.ini` na subpasta `/lib` do diretório de instalação do driver. Se você armazenar esses arquivos de configuração em outro lugar, defina as variáveis de ambiente descritas a seguir para que o gerenciador de driver possa localizar os arquivos. Para obter mais informações, consulte “Especificar os locais dos arquivos de configuração do driver” no [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). . 

## Criar um nome de fonte de dados em sistemas operacionais Linux
<a name="configure-odbc-ini-file"></a>

 Ao conectar-se ao armazenamento de dados usando um nome da fonte de dados (DSN), configure o arquivo `odbc.ini` para definir DSNs. Defina as propriedades no arquivo `odbc.ini` para criar um DSN que especifique as informações de conexão para o armazenamento de dados.

Para obter informações sobre como configurar o arquivo `odbc.ini`, consulte “Criar um nome da fonte de dados em uma máquina que não usa Windows” no [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf) . 

 Use o formato a seguir em sistemas operacionais Linux.

```
[ODBC Data Sources]
driver_name=dsn_name

[dsn_name]
Driver=path/driver_file

Host=cluster_endpoint
Port=port_number
Database=database_name
locale=locale
```

O exemplo a seguir mostra a configuração do odbc.ini com driver ODBC de 64 bits em sistemas operacionais Linux.

```
[ODBC Data Sources]
Amazon_Redshift_x64=Amazon Redshift (x64)

[Amazon Redshift (x64)]
Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932
Database=dev
locale=en-US
```

O exemplo a seguir mostra a configuração do odbc.ini com driver ODBC de 32 bits em sistemas operacionais Linux.

```
[ODBC Data Sources]
Amazon_Redshift_x32=Amazon Redshift (x86)

[Amazon Redshift (x86)]
Driver=/opt/amazon/redshiftodbc/lib/32/libamazonredshiftodbc32.so
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932
Database=dev
locale=en-US
```

## Configurar uma conexão sem DSN em sistemas operacionais Linux
<a name="configure-odbcinst-ini-file"></a>

Para se conectar ao armazenamento de dados por meio de uma conexão que não tenha um DSN, defina o driver no arquivo `odbcinst.ini`. Depois, forneça uma string de conexão sem DSN no aplicativo.

Para obter informações sobre como configurar o arquivo `odbcinst.ini` nesse caso, consulte “Configurar uma conexão sem DSN em uma máquina que não usa Windows” no [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). . 

Use o formato a seguir em sistemas operacionais Linux.

```
[ODBC Drivers]
driver_name=Installed
...
                            
[driver_name]
Description=driver_description
Driver=path/driver_file
    
...
```

O exemplo a seguir mostra a configuração do `odbcinst.ini` para o driver de 64 bits instalados em diretórios padrão em sistemas operacionais Linux.

```
[ODBC Drivers]
Amazon Redshift (x64)=Installed

[Amazon Redshift (x64)]
Description=Amazon Redshift ODBC Driver (64-bit)
Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so
```

O exemplo a seguir mostra a configuração do `odbcinst.ini` para o driver de 32 bits instalados em diretórios padrão em sistemas operacionais Linux.

```
[ODBC Drivers]
Amazon Redshift (x86)=Installed

[Amazon Redshift (x86)]
Description=Amazon Redshift ODBC Driver (32-bit)
Driver=/opt/amazon/redshiftodbc/lib/32/libamazonredshiftodbc32.so
```

## Configurar variáveis de ambiente
<a name="rs-mgmt-config-global-env-variables"></a>

Use o gerenciador de driver ODBC correto para carregar o driver correto. Para isso, defina a variável de ambiente do caminho da biblioteca. Para obter mais informações, consulte “Especificar gerenciadores de driver ODBC em máquinas que não usam Windows” no [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). .

Por padrão, os gerenciadores de driver ODBC são configurados para usar versões ocultas dos arquivos de configuração `odbc.ini` e `odbcinst.ini` (chamados `odbc.ini` e `odbcinst.ini`) localizadas no diretório inicial. Eles também são configurados para usar o arquivo `amazon.redshiftodbc.ini` na subpasta `/lib` do diretório de instalação do driver. Se você armazenar esses arquivos de configuração em outro lugar, defina as variáveis de ambiente para que o gerenciador de driver possa localizar os arquivos. Para obter mais informações, consulte "Especificando os locais dos arquivos de configuração do driver" no *Guia de instalação e configuração do conector ODBC Amazon Redshift*. 

## Configurar recursos de conexão
<a name="connection-config-features"></a>

Você pode configurar os seguintes recursos de conexão para a configuração ODBC:
+ Configure o driver ODBC para fornecer credenciais e autenticar a conexão com o banco de dados do Amazon Redshift.
+ Configure o driver ODBC para se conectar a um soquete habilitado com Secure Sockets Layer (SSL), se você estiver se conectando a um servidor Amazon Redshift que tenha SSL habilitado.
+ Configure o driver ODBC para se conectar ao Amazon Redshift por meio de um servidor proxy.
+ Configure o driver ODBC para usar um modo de processamento de consultas a fim de impedir que as consultas consumam muita memória.
+ Configure o driver ODBC para transmitir processos de autenticação do IAM por meio de um servidor de proxy.
+ Configure o driver ODBC para usar manutenções de atividade de TCP a fim de impedir que as conexões atinjam o tempo limite.

Para obter informações sobre esses recursos de conexão, consulte o [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

# Usar um driver ODBC do Amazon Redshift no macOS X
<a name="install-odbc-driver-mac"></a>

Você instala o driver em computadores clientes que acessam um data warehouse do Amazon Redshift. Cada computador onde o driver é instalado deve atender a uma lista de requisitos mínimos do sistema. Para obter informações sobre os requisitos mínimos do sistema, consulte o [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

**Topics**
+ [Baixar e instalar o driver ODBC do Amazon Redshift](odbc-driver-mac-how-to-install.md)
+ [Usar um gerenciador de driver ODBC para configurar o driver](odbc-driver-configure-mac.md)

# Baixar e instalar o driver ODBC do Amazon Redshift
<a name="odbc-driver-mac-how-to-install"></a>

Siga as etapas nesta seção para baixar e instalar o driver ODBC do Amazon Redshift em uma versão compatível do macOS X. O processo de instalação instala os arquivos do driver nos seguintes diretórios: 
+ `/opt/amazon/redshift/lib/universal`
+ `/opt/amazon/redshift/ErrorMessages`
+ `/opt/amazon/redshift/Setup`<a name="rs-mgmt-install-odbc-drivers-mac"></a>

**Para instalar o driver ODBC do Amazon Redshift no macOS X**

1. Para instalar o driver ODBC do Amazon Redshift no macOS X, baixe o [driver macOS versão 1.6.3](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/AmazonRedshiftODBC-64-bit.1.6.3.1008.universal.pkg). 

   Depois, baixe e revise o [Acordo de licença do driver ODBC e JDBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/Amazon+Redshift+ODBC+and+JDBC+Driver+License+Agreement.pdf). 

1. Clique duas vezes em **AmazonRedshiftODBC.pkg** para executar o instalador.

1. Siga as etapas no instalador para concluir o processo de instalação do driver. Para executar a instalação, aceite os termos do acordo de licença.

**Importante**  
Quando você tiver concluído a instalação do driver, configure-o para usar no sistema. Para obter mais informações sobre a configuração de drivers, consulte [Usar um gerenciador de driver ODBC para configurar o driverUsar um gerenciador de driver ODBC para configurar o driver](odbc-driver-configure-mac.md).

# Usar um gerenciador de driver ODBC para configurar o driver
<a name="odbc-driver-configure-mac"></a>

Nos sistemas operacionais macOS X, utilize o gerenciador de driver ODBC para configurar as definições de conexão ODBC. Os gerenciadores de driver ODBC usam arquivos de configuração para definir e configurar as fontes de dados e os drivers ODBC. O gerenciador de driver ODBC a ser usado dependerá do sistema operacional em uso. Para um sistema operacional macOS X, é o gerenciador de driver iODBC.

Para ter mais informações sobre os gerenciadores de driver ODBC com suporte para configurar os drivers ODBC do Amazon Redshift, consulte [Usar um driver ODBC do Amazon Redshift no macOS XUsar um driver ODBC no macOS X](install-odbc-driver-mac.md) para sistemas operacionais macOS X. Consulte também “Especificar gerenciadores de drivers ODBC em máquinas que não utilizam Windows” no [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). .

Três arquivos são necessários para configurar o driver ODBC do Amazon Redshift: `amazon.redshiftodbc.ini`, `odbc.ini` e `odbcinst.ini`.

Se você fez a instalação no local padrão, o arquivo de configuração do `amazon.redshiftodbc.ini` estará localizado em `/opt/amazon/redshift/lib`.

Além disso, em `/opt/amazon/redshift/Setup` no macOS X, há os arquivos de exemplo `odbc.ini` e `odbcinst.ini`. Você pode usar esses arquivos como exemplos para configurar o driver ODBC do Amazon Redshift e o nome da origem dos dados (DSN).

Não é recomendado o uso do diretório de instalação do driver ODBC do Amazon Redshift para os arquivos de configuração. Os arquivos de exemplo do diretório `Setup` devem ser usados somente para servir de modelo. Se você reinstalar o driver ODBC do Amazon Redshift posteriormente ou atualizar para uma versão mais recente, o diretório de instalação será substituído. Você perderá todas as alterações que fez nesses arquivos.

Para evitar isso, copie o arquivo `amazon.redshiftodbc.ini` para um diretório diferente do diretório de instalação. Se você copiar esse arquivo no diretório base do usuário, adicione um ponto (.) ao início do nome do arquivo para torná-lo um arquivo oculto.

Para os arquivos `odbc.ini` e `odbcinst.ini`, use os arquivos de configuração do diretório inicial do usuário ou crie versões em um outro diretório. Por padrão, os sistemas operacionais macOS X devem ter os arquivos `odbc.ini` e `odbcinst.ini` no diretório inicial do usuário (`/home/$USER` ou `~/`). Esses arquivos padrão são arquivos ocultos, o que é indicado pelo ponto (.) na frente do nome de cada arquivo. Esses arquivos são exibidos somente ao usar o sinalizador `-a` para listar o conteúdo do diretório.

Qualquer que seja a opção escolhida para os arquivos `odbc.ini` e `odbcinst.ini`, modifique os arquivos para adicionar as informações do driver e da configuração de DSN. Se você criar arquivos, também precisará definir as variáveis do ambiente para especificar onde esses arquivos de configuração estão localizados. 

Por padrão, os gerenciadores de driver ODBC são configurados para usar versões ocultas dos arquivos de configuração `odbc.ini` e `odbcinst.ini` (chamados `odbc.ini` e `odbcinst.ini`) localizadas no diretório inicial. Eles também são configurados para usar o arquivo `amazon.redshiftodbc.ini` na subpasta `/lib` do diretório de instalação do driver. Se você armazenar esses arquivos de configuração em outro lugar, defina as variáveis de ambiente descritas a seguir para que o gerenciador de driver possa localizar os arquivos. Para obter mais informações, consulte “Especificar os locais dos arquivos de configuração do driver” no [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). . 

## Criar um nome da fonte de dados em sistemas operacionais macOS X
<a name="configure-odbc-ini-file"></a>

 Ao conectar-se ao armazenamento de dados usando um nome da fonte de dados (DSN), configure o arquivo `odbc.ini` para definir DSNs. Defina as propriedades no arquivo `odbc.ini` para criar um DSN que especifique as informações de conexão para o armazenamento de dados.

Para obter informações sobre como configurar o arquivo `odbc.ini`, consulte “Criar um nome da fonte de dados em uma máquina que não usa Windows” no [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf) . 

Use o formato a seguir em sistemas operacionais macOS X.

```
[ODBC Data Sources]
driver_name=dsn_name

[dsn_name]
Driver=path/lib/amazonredshiftodbc.dylib

Host=cluster_endpoint
Port=port_number
Database=database_name
locale=locale
```

 O exemplo a seguir mostra a configuração do `odbc.ini` em sistemas operacionais macOS X.

```
[ODBC Data Sources]
Amazon_Redshift_dylib=Amazon Redshift DSN for macOS X

[Amazon Redshift DSN for macOS X]
Driver=/opt/amazon/redshift/lib/amazonredshiftodbc.dylib
Host=examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com
Port=5932
Database=dev
locale=en-US
```

## Configurar uma conexão sem DSN em sistemas operacionais macOS X
<a name="configure-odbcinst-ini-file"></a>

Para se conectar ao armazenamento de dados por meio de uma conexão que não tenha um DSN, defina o driver no arquivo `odbcinst.ini`. Depois, forneça uma string de conexão sem DSN no aplicativo.

Para obter informações sobre como configurar o arquivo `odbcinst.ini` nesse caso, consulte “Configurar uma conexão sem DSN em uma máquina que não usa Windows” no [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). .

Use o formato a seguir em sistemas operacionais macOS X.

```
[ODBC Drivers]
driver_name=Installed
...
                            
[driver_name]
Description=driver_description
Driver=path/lib/amazonredshiftodbc.dylib
    
...
```

O exemplo a seguir mostra a configuração do `odbcinst.ini` para o driver instalado no diretório padrão em sistemas operacionais macOS X.

```
[ODBC Drivers]
Amazon RedshiftODBC DSN=Installed

[Amazon RedshiftODBC DSN]
Description=Amazon Redshift ODBC Driver for macOS X
Driver=/opt/amazon/redshift/lib/amazonredshiftodbc.dylib
```

## Configurar variáveis de ambiente
<a name="rs-mgmt-config-global-env-variables"></a>

Use o gerenciador de driver ODBC correto para carregar o driver correto. Para isso, defina a variável de ambiente do caminho da biblioteca. Para obter mais informações, consulte “Especificar gerenciadores de driver ODBC em máquinas que não usam Windows” no [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). .

Por padrão, os gerenciadores de driver ODBC são configurados para usar versões ocultas dos arquivos de configuração `odbc.ini` e `odbcinst.ini` (chamados `odbc.ini` e `odbcinst.ini`) localizadas no diretório inicial. Eles também são configurados para usar o arquivo `amazon.redshiftodbc.ini` na subpasta `/lib` do diretório de instalação do driver. Se você armazenar esses arquivos de configuração em outro lugar, defina as variáveis de ambiente para que o gerenciador de driver possa localizar os arquivos. Para obter mais informações, consulte "Especificando os locais dos arquivos de configuração do driver" no *Guia de instalação e configuração do conector ODBC Amazon Redshift*. 

## Configurar recursos de conexão
<a name="connection-config-features"></a>

Você pode configurar os seguintes recursos de conexão para a configuração ODBC:
+ Configure o driver ODBC para fornecer credenciais e autenticar a conexão com o banco de dados do Amazon Redshift.
+ Configure o driver ODBC para se conectar a um soquete habilitado com Secure Sockets Layer (SSL), se você estiver se conectando a um servidor Amazon Redshift que tenha SSL habilitado.
+ Configure o driver ODBC para se conectar ao Amazon Redshift por meio de um servidor proxy.
+ Configure o driver ODBC para usar um modo de processamento de consultas a fim de impedir que as consultas consumam muita memória.
+ Configure o driver ODBC para transmitir processos de autenticação do IAM por meio de um servidor de proxy.
+ Configure o driver ODBC para usar manutenções de atividade de TCP a fim de impedir que as conexões atinjam o tempo limite.

Para obter informações sobre esses recursos de conexão, consulte o [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

# Opções do driver ODBC
<a name="configure-odbc-options"></a>

Você pode usar opções de configuração para controlar o comportamento do driver ODBC Amazon Redshift.

No Microsoft Windows, você normalmente define as opções de driver ao configurar um nome de fonte de dados (DSN). Também é possível definir as opções de driver na string de conexão estabelecendo a conexão de forma programática ou adicionando/alterando as chaves de registro em `HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\your_DSN`. Para obter mais informações sobre a configuração de um DSN, consulte [Usar um driver ODBC do Amazon Redshift no Microsoft Windows](install-odbc-driver-windows.md).

No macOS X, defina as opções de configuração do driver nos arquivos `odbc.ini` e `amazon.redshiftodbc.ini`, conforme descrito em [Usar um gerenciador de driver ODBC para configurar o driverUsar um gerenciador de driver ODBC para configurar o driver](odbc-driver-configure-mac.md). As opções de configuração definidas em um arquivo `amazon.redshiftodbc.ini` aplicam-se a todas as conexões. Em contrapartida, as opções de configuração definidas em um arquivo `odbc.ini` são específicas de uma conexão. As opções de configuração definidas em `odbc.ini` têm precedência sobre as opções de configuração definidas em `amazon.redshiftodbc.ini`.

Para obter informações sobre como definir as opções de configuração do driver ODBC, consulte o [Guia de instalação e configuração do conector ODBC do Amazon Redshift](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1008/Amazon+Redshift+ODBC+Connector+Install+Guide.pdf). 

# Versões anteriores do driver ODBC
<a name="odbc-previous-versions"></a>

Baixe uma versão anterior do driver ODBC do Amazon Redshift apenas se sua ferramenta exigir uma versão específica do driver. 

## Versões anteriores do driver ODBC para Windows
<a name="odbc-previous-versions-windows"></a>

Estes são os drivers de 64 bits: 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC64-1.6.3.1006.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC64-1.6.3.1006.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC64-1.6.1.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC64-1.6.1.1000.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC64-1.5.20.1024.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC64-1.5.20.1024.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC64-1.5.16.1019.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC64-1.5.16.1019.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC64-1.5.9.1011.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC64-1.5.9.1011.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC64-1.5.7.1007.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC64-1.5.7.1007.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC64-1.4.65.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC64-1.4.65.1000.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC64-1.4.62.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC64-1.4.62.1000.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC64-1.4.59.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC64-1.4.59.1000.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC64-1.4.56.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC64-1.4.56.1000.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.53.1000/AmazonRedshiftODBC64-1.4.53.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.53.1000/AmazonRedshiftODBC64-1.4.53.1000.msi) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC64-1.4.52.1000.msi](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC64-1.4.52.1000.msi) 

Os drivers de 32 bits são descontinuados e as versões anteriores não são compatíveis.

## Versões anteriores do driver ODBC para Linux
<a name="odbc-previous-versions-linux"></a>

Estas são as versões do driver de 64 bits: 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC-64-bit-1.6.3.1006-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC-64-bit-1.6.3.1006-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC-64-bit-1.6.1.1000-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC-64-bit-1.6.1.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-64-bit-1.5.20.1024-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-64-bit-1.5.20.1024-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC-64-bit-1.5.16.1019-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC-64-bit-1.5.16.1019-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC-64-bit-1.5.9.1011-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC-64-bit-1.5.9.1011-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC-64-bit-1.5.7.1007-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC-64-bit-1.5.7.1007-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC-64-bit-1.4.65.1000-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC-64-bit-1.4.65.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC-64-bit-1.4.62.1000-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC-64-bit-1.4.62.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-64-bit-1.4.59.1000-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-64-bit-1.4.59.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-64-bit-1.4.59.1000-1.x86\$164.deb](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-64-bit-1.4.59.1000-1.x86_64.deb) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-64-bit-1.4.56.1000-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-64-bit-1.4.56.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-64-bit-1.4.56.1000-1.x86\$164.deb](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-64-bit-1.4.56.1000-1.x86_64.deb) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-64-bit-1.4.52.1000-1.x86\$164.rpm](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-64-bit-1.4.52.1000-1.x86_64.rpm) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-64-bit-1.4.52.1000-1.x86\$164.deb](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-64-bit-1.4.52.1000-1.x86_64.deb) 

Os drivers de 32 bits são descontinuados e as versões anteriores não são compatíveis.

## Versões anteriores do driver ODBC para macOS X
<a name="odbc-previous-versions-mac"></a>

A seguir estão as versões do driver ODBC do Amazon Redshift para macOS X: 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC-64-bit.1.6.3.1006.universal.pkg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.3.1006/AmazonRedshiftODBC-64-bit.1.6.3.1006.universal.pkg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC-64-bit.1.6.1.1000.universal.pkg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.6.1.1000/AmazonRedshiftODBC-64-bit.1.6.1.1000.universal.pkg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-1.5.20.1024.arm64.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-1.5.20.1024.arm64.dmg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-1.5.20.1024.x86\$164.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.20.1024/AmazonRedshiftODBC-1.5.20.1024.x86_64.dmg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC-1.5.16.1019.x86\$164.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.16.1019/AmazonRedshiftODBC-1.5.16.1019.x86_64.dmg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC-1.5.9.1011.x86\$164.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedshiftODBC-1.5.9.1011.x86_64.dmg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC-1.5.7.1007.x86\$164.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.7.1007/AmazonRedshiftODBC-1.5.7.1007.x86_64.dmg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC-1.4.65.1000.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.65.1000/AmazonRedshiftODBC-1.4.65.1000.dmg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC-1.4.62.1000.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.62.1000/AmazonRedshiftODBC-1.4.62.1000.dmg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-1.4.59.1000.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.59.1000/AmazonRedshiftODBC-1.4.59.1000.dmg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-1.4.56.1000.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.56.1000/AmazonRedshiftODBC-1.4.56.1000.dmg) 
+ [https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-1.4.52.1000.dmg](https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.4.52.1000/AmazonRedshiftODBC-1.4.52.1000.dmg) 

# Configurar as opções de segurança para conexões
<a name="connecting-ssl-support"></a>

O Amazon Redshift oferece suporte a conexões Secure Sockets Layer (SSL) para criptografar dados e certificados do servidor para validar o certificado do servidor ao qual o cliente se conecta. 

## SSL
<a name="connect-using-ssl"></a>

Para oferecer suporte a conexões SSL, o Amazon Redshift cria e instala um certificado SSL emitido [AWS Certificate Manager (ACM)](https://aws.amazon.com/certificate-manager/) em cada cluster. Os certificados ACM são publicamente confiáveis pela maioria dos sistemas operacionais, navegadores da Web e clientes. Poderá ser necessário baixar um pacote de certificados, caso seus clientes ou aplicações SQL se conectarem ao Amazon Redshift usando SSL com a opção de conexão `sslmode` definida como `require`, `verify-ca` ou `verify-full`. Se o cliente precisar de um certificado, o Amazon Redshift fornecerá um certificado de pacote da seguinte forma:
+ Baixe o pacote em [https://s3.amazonaws.com/redshift-downloads/amazon-trust-ca-bundle.crt](https://s3.amazonaws.com/redshift-downloads/amazon-trust-ca-bundle.crt). 
  + O número de soma de verificação MD5 esperado é 418dea9b6d5d5de7a8f1ac42e164cdcf.
  + O número da soma de verificação sha256 é 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550.

  Não use o pacote de certificados anterior localizado em `https://s3.amazonaws.com/redshift-downloads/redshift-ca-bundle.crt`. 
+  Na Região da AWS da China, baixe o pacote de [https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/amazon-trust-ca-bundle.crt](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/amazon-trust-ca-bundle.crt). 
  + O número de soma de verificação MD5 esperado é 418dea9b6d5d5de7a8f1ac42e164cdcf.
  + O número da soma de verificação sha256 é 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550.

  Não use os pacotes de certificados anteriores localizados em `https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/redshift-ca-bundle.crt` e `https://s3---cn-north-1.amazonaws.com.rproxy.govskope.us.cn/redshift-downloads-cn/redshift-ssl-ca-cert.pem`

**Importante**  
O Amazon Redshift mudou a maneira como os certificados SSL são gerenciados. Talvez seja necessário atualizar os certificados CA raiz confiáveis atuais para continuar se conectando aos clusters por meio de SSL. Para obter mais informações, consulte [Transição para certificados ACM das conexões SSL](connecting-transitioning-to-acm-certs.md).

Por padrão, os bancos de dados de cluster aceitam tanto as conexões SSL quanto as que não utilizam SSL. Para configurar seu cluster para solicitar uma conexão SSL, configure o parâmetro `require_SSL` como `true` no parameter group que está associado ao cluster. 

O Amazon Redshift oferece suporte a um modo SSL compatível com Federal Information Processing Standard (FIPS) 140-2. O modo SSL compatível com a FIPS está desativado por padrão. 

**Importante**  
Habilite o modo SSL compatível com FIPS somente se o sistema precisar ser compatível com FIPS.

Para habilitar o modo SSL compatível com FIPS, defina os parâmetros `use_fips_ssl` e `require_SSL` como `true` no grupo de parâmetros que está associado ao cluster do Amazon Redshift ou ao grupo de trabalho do Redshift sem servidor. Para ter informações sobre como modificar um grupo de parâmetros em um cluster, consulte [Grupos de parâmetros do Amazon Redshift](working-with-parameter-groups.md). Para ter informações sobre como modificar um grupo de parâmetros, consulte [Configurar uma conexão SSL compatível com FIPS com o Amazon Redshift sem servidor](serverless-connecting.md#serverless_secure-fips-ssl). 

 O Amazon Redshift oferece suporte ao protocolo de acordo de chave Elliptic Curve Diffie—Hellman Ephemeral (ECDHE). Com o ECDHE, o cliente e o servidor têm, cada um, um par de chaves públicas/privadas de curva elíptica que é usado para estabelecer um segredo compartilhado através de um canal inseguro. Não é necessário configurar nada no Amazon Redshift para habilitar o ECDHE. Se você se conectar a partir de uma ferramenta de cliente SQL que usa ECDHE para criptografar a comunicação entre o cliente e o servidor, o Amazon Redshift usa a lista de cifras fornecida para fazer a conexão apropriada. Para obter mais informações, consulte [Elliptic curve diffie—hellman](https://en.wikipedia.org/wiki/Elliptic_curve_Diffie%E2%80%93Hellman) na Wikipedia e [Cifras](https://www.openssl.org/) no site do OpenSSL. 

## SSL e certificados de CA de confiança no ODBC
<a name="connecting-ssl-support-odbc"></a>

Se você estabelecer a conexão usando os drivers ODBC mais recentes do Amazon Redshift (versão 1.3.7.1000 ou posterior), ignore esta seção. Para baixar os drivers mais recentes, consulte [Configurar uma conexão para o driver ODBC versão 2.x para o Amazon Redshift](odbc20-install.md). 

Talvez seja necessário atualizar os certificados CA raiz confiáveis atuais para continuar se conectando aos clusters por meio de SSL. Para obter mais informações, consulte [SSL](#connect-using-ssl).

Você pode verificar se o certificado baixado corresponde ao número de checksum MD5 esperado. Para isso, você pode usar o programa Md5sum em sistemas operacionais Linux ou outra ferramenta em sistemas operacionais Windows e macOS X.

 Os DSNs do ODBC contêm uma configuração `sslmode` que determina como lidar com a criptografia para conexões de cliente e verificação de certificado de servidor. O Amazon Redshift oferece suporte ao seguinte valores `sslmode` da conexão do cliente: 
+ `disable`

  O SSL é desabilitado e a conexão não é criptografada.
+ `allow`

  O SSL será usado se o servidor exigir.
+ `prefer`

  O SSL será usado se o servidor for compatível. O Amazon Redshift oferece suporte ao SSL, portanto, o SSL é usado quando você define `sslmode` como `prefer`.
+ `require`

  O SSL é necessário.
+ `verify-ca`

  O SSL deve ser usado e o certificado de servidor deve ser verificado.
+ `verify-full`

  O SSL deve ser usado. O certificado de servidor deve ser verificado, e o nome do host do servidor deve corresponder ao nome do host atribuído no certificado. 

É possível determinar se o SSL é usado, e se os certificados do servidor são verificados em uma conexão entre o cliente e o servidor. Para fazer isso, você precisa revisar a configuração `sslmode` do ODBC DSN no cliente e a configuração `require_SSL` do cluster do Amazon Redshift no servidor. A tabela a seguir descreve o resultado da criptografia para várias combinações de configuração de clientes e servidores: 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/connecting-ssl-support.html)

### Conexão usando o certificado de servidor com o ODBC no Microsoft Windows
<a name="connecting-ssl-support-odbc-with-cert"></a>

 Se você deseja se conectar ao seu cluster usando SSL e o certificado do servidor, primeiro baixe o certificado para o seu computador cliente ou instância do Amazon EC2. Depois, configure o DSN do ODBC. 

1.  Baixe o pacote de autoridade de certificação do Amazon Redshift para o seu computador cliente na pasta `lib` no diretório de instalação do driver e salve o arquivo como `root.crt`. Para baixar as informações, consulte [SSL](#connect-using-ssl).

1.  Abra **ODBC Data Source Administrator** e adicione ou edite a entrada de DSN do sistema para a conexão ODBC. Em **SSL Mode**, selecione `verify-full`, a menos que você use um alias DNS. Se você usa um alias DNS, selecione `verify-ca`. Em seguida, escolha **Salvar**. 

    Para obter mais informações sobre a configuração do DSN do ODBC, consulte [Configurar uma conexão para o driver ODBC versão 2.x para o Amazon Redshift](odbc20-install.md). 

## SSL e certificados de servidor em Java
<a name="connecting-ssl-support-java"></a>

O SSL fornece uma camada de segurança criptografando os dados transferidos entre o cliente e o cluster. Usar um certificado de servidor fornece uma camada extra de segurança, validando que o cluster é um cluster do Amazon Redshift. Para isso, ele verifica o certificado de servidor que é instalado automaticamente em todos os clusters provisionados. Para obter mais informações sobre como usar certificados de servidor com o JDBC, acesse [Configuração do cliente](https://jdbc.postgresql.org/documentation/ssl/#configuring-the-client) na documentação do PostgreSQL.

### Conexão por meio de certificados CA confiáveis em Java
<a name="connecting-ssl-support-java-with-cert"></a>

**Importante**  
O Amazon Redshift mudou a maneira como os certificados SSL são gerenciados. Talvez seja necessário atualizar os certificados CA raiz confiáveis atuais para continuar se conectando aos clusters por meio de SSL. Para obter mais informações, consulte [SSL](#connect-using-ssl).

**Para se conectar por meio de certificados CA confiáveis**

Você pode usar o arquivo `redshift-keytool.jar` para importar certificados CA no pacote de autoridade de certificação do Amazon Redshift para um Java TrustStore ou seu TrustStore privado.

1. Se você usa a opção `-Djavax.net.ssl.trustStore` de linha de comando Java, remova-a da linha de comando, se possível.

1. Baixe o [redshift-keytool.jar](https://s3.amazonaws.com/redshift-downloads/redshift-keytool.jar).

1. Execute um destes procedimentos:
   + Para importar o pacote de autoridade de certificação do Amazon Redshift para um Java TrustStore, execute o comando a seguir. 

     ```
     java -jar redshift-keytool.jar -s
     ```
   + Para importar o pacote de autoridade de certificação do Amazon Redshift para o seu TrustStore privado, execute o seguinte comando: 

     ```
     java -jar redshift-keytool.jar -k <your_private_trust_store> -p <keystore_password> 
     ```

# Transição para certificados ACM das conexões SSL
<a name="connecting-transitioning-to-acm-certs"></a>

O Amazon Redshift está substituindo os certificados SSL em seus clusters por certificados [AWS Certificate Manager (ACM)](https://aws.amazon.com/certificate-manager/) emitidos. O ACM é uma autoridade de certificação pública confiável pela maioria dos sistemas atuais. Talvez seja necessário atualizar os certificados CA raiz confiáveis atuais para continuar se conectando aos clusters por meio de SSL. 

Essa alteração afetará você somente se todas as condições a seguir forem aplicáveis:
+  Os clientes ou os aplicativos SQL se conectam aos clusters do Amazon Redshift usando o SSL com a opção de conexão `sslMode` definida como a opção de configuração `require`, `verify-ca` ou `verify-full`. 
+ Você não está usando os drivers ODBC ou JDBC do Amazon Redshift ou usa os drivers do Amazon Redshift anteriores ao ODBC versão 1.3.7.1000 ou JDBC versão 1.2.8.1005. 

Se essa mudança afetar você nas regiões comerciais do Amazon Redshift, você deverá atualizar seus certificados CA raiz de confiança atuais antes de 23 de outubro de 2017. O Amazon Redshift fará a transição dos clusters para que usem certificados ACM até 23 de outubro de 2017. A alteração afetará muito pouco ou não afetará a performance ou a disponibilidade do cluster.

Se essa mudança afetar você nas regiões AWS GovCloud (US) (EUA), você deverá atualizar seus certificados CA raiz de confiança atuais antes de 1° de abril de 2020 para evitar a interrupção do serviço. A partir desta data, os clientes que se conectam a clusters Amazon Redshift usando conexões criptografadas SSL precisam de uma autoridade de certificação (CA) confiável adicional. Os clientes usam autoridades de certificação confiáveis para confirmar a identidade do cluster Amazon Redshift quando se conectam a ele. É necessário que você atualize os clientes e aplicativos SQL para usar um pacote de certificados atualizado que inclui a nova CA confiável. 

**Importante**  
Nas regiões da China em 5 de janeiro de 2021, o Amazon Redshift substituirá os certificados SSL nos clusters pelos certificados AWS Certificate Manager (ACM) emitidos. Se essa alteração afetar você na região China (Pequim) ou China (Ningxia), será necessário atualizar os certificados CA raiz de confiança atuais antes de 5 de janeiro de 2021 para evitar a interrupção do serviço. A partir desta data, os clientes que se conectam a clusters Amazon Redshift usando conexões criptografadas SSL precisam de uma autoridade de certificação (CA) confiável adicional. Os clientes usam autoridades de certificação confiáveis para confirmar a identidade do cluster Amazon Redshift quando se conectam a ele. É necessário que você atualize os clientes e aplicativos SQL para usar um pacote de certificados atualizado que inclui a nova CA confiável.
+ [Uso dos drivers ODBC ou JDBC mais recentes do Amazon Redshift](#connecting-transitioning-to-acm-latest-odbc-jdbc)
+ [Uso dos drivers ODBC ou JDBC mais antigos do Amazon Redshift](#connecting-transitioning-to-acm-earlier-odbc-jdbc)
+ [Uso de outros tipos de conexão SSL](#connecting-transitioning-to-acm-other-ssl-types)

## Uso dos drivers ODBC ou JDBC mais recentes do Amazon Redshift
<a name="connecting-transitioning-to-acm-latest-odbc-jdbc"></a>

O método preferencial é usar os drivers ODBC ou JDBC mais recentes do Amazon Redshift. Os drivers do Amazon Redshift a partir da versão ODBC 1.3.7.1000 e da versão JDBC 1.2.8.1005 gerenciam automaticamente a transição de um certificado autoassinado do Amazon Redshift para um certificado ACM. Para baixar os drivers mais recentes, consulte [Configurar uma conexão para o driver JDBC versão 2.x para o Amazon Redshift](jdbc20-install.md). 

Se você usar o driver JDBC mais recente do Amazon Redshift, é recomendável não usar `-Djavax.net.ssl.trustStore` nas opções da JVM. Se você precisar usar `-Djavax.net.ssl.trustStore`, importe o pacote da autoridade de certificação do Redshift para a truststore indicada. Para baixar as informações, consulte [SSL](connecting-ssl-support.md#connect-using-ssl). Para obter mais informações, consulte [Importar o pacote de autoridade de certificação do Amazon Redshift para um TrustStore](#importing-the-acm-bundle-to-truststore).

## Uso dos drivers ODBC ou JDBC mais antigos do Amazon Redshift
<a name="connecting-transitioning-to-acm-earlier-odbc-jdbc"></a>
+ Se o DSN ODBC for configurado com `SSLCertPath`, substitua o arquivo de certificado no caminho especificado.
+ Se `SSLCertPath` não for definido, substitua o arquivo de certificado `root.crt` no local da DLL do driver. 

Se você deve usar um driver JDBC do Amazon Redshift antes da versão 1.2.8.1005, siga um destes procedimentos:
+ Se a string de conexão JDBC usar a opção `sslCert`, remova a opção `sslCert`. Depois, importe o pacote da autoridade de certificação do Redshift para a Java TrustStore. Para baixar as informações, consulte [SSL](connecting-ssl-support.md#connect-using-ssl). Para obter mais informações, consulte [Importar o pacote de autoridade de certificação do Amazon Redshift para um TrustStore](#importing-the-acm-bundle-to-truststore). 
+ Se você usa a opção `-Djavax.net.ssl.trustStore` de linha de comando Java, remova-a da linha de comando, se possível. Depois, importe o pacote da autoridade de certificação do Redshift para a Java TrustStore. Para baixar as informações, consulte [SSL](connecting-ssl-support.md#connect-using-ssl). Para obter mais informações, consulte [Importar o pacote de autoridade de certificação do Amazon Redshift para um TrustStore](#importing-the-acm-bundle-to-truststore).

### Importar o pacote de autoridade de certificação do Amazon Redshift para um TrustStore
<a name="importing-the-acm-bundle-to-truststore"></a>

Você pode usar `redshift-keytool.jar` para importar certificados CA no pacote de autoridade de certificação do Amazon Redshift para um Java TrustStore ou seu truststore privado.

**Para importar o pacote de autoridade de certificação do Amazon Redshift para um TrustStore**

1. Baixe o [redshift-keytool.jar](https://s3.amazonaws.com/redshift-downloads/redshift-keytool.jar).

1. Execute um destes procedimentos:
   + Para importar o pacote de autoridade de certificação do Amazon Redshift para um Java TrustStore, execute o comando a seguir. 

     ```
     java -jar redshift-keytool.jar -s
     ```
   + Para importar o pacote de autoridade de certificação do Amazon Redshift para o seu TrustStore privado, execute o seguinte comando: 

     ```
     java -jar redshift-keytool.jar -k <your_private_trust_store> -p <keystore_password> 
     ```

## Uso de outros tipos de conexão SSL
<a name="connecting-transitioning-to-acm-other-ssl-types"></a>

Siga as etapas nesta seção se você se conectar usando um dos itens a seguir:
+  Driver ODBC de código aberto 
+  Driver JDBC de código aberto 
+  A interface de linha de comando [Amazon Redshift RSQL](https://docs.aws.amazon.com/redshift/latest/mgmt/rsql-query-tool.html) 
+  Qualquer vinculação de linguagem baseada em libpq, como psycopg2 (Python) e ruby-pg (Ruby) 

**Para usar certificados ACM com outros tipos de conexão SSL:**

1.  Baixe o pacote de autoridade de certificação do Amazon Redshift. Para baixar as informações, consulte [SSL](connecting-ssl-support.md#connect-using-ssl).

1. Insira os certificados do pacote em seu arquivo `root.crt`. 
   + Nos sistemas operacionais Linux e macOS X, o arquivo é `~/.postgresql/root.crt`.
   + No Microsoft Windows, o arquivo é `%APPDATA%\postgresql\root.crt`.

# Conexão de código e ferramentas clientes
<a name="connecting-via-client-tools"></a>

O Amazon Redshift fornece o editor de consultas v2 do Amazon Redshift para conexão a clusters e grupos de trabalho. Para obter mais informações, consulte [Consultar um banco de dados usando o Editor de Consultas V2Consultar um banco de dados usando o editor de consultas v2 do Amazon Redshift](query-editor-v2.md).

Esta seção fornece algumas opções de ferramentas de terceiros para conexão. Além disso, ela descreve como estabelecer a conexão com o cluster por meio de programação. 

**Topics**
+ [Conectar-se com o Amazon Redshift RSQL](rsql-query-tool.md)
+ [Conectar-se a um cluster com o Amazon Redshift RSQL](rsql-query-tool-starting-tool-connection.md)
+ [Metacomandos do Amazon Redshift RSQL](rsql-query-tool-commands.md)
+ [Variáveis do Amazon Redshift RSQL](rsql-query-tool-variables.md)
+ [Códigos de erro Amazon Redshift RSQL](rsql-query-tool-error-codes.md)
+ [Variáveis de ambiente do Amazon Redshift RSQL](rsql-query-tool-environment-variables.md)

# Conectar-se com o Amazon Redshift RSQL
<a name="rsql-query-tool"></a>

 O Amazon Redshift RSQL é um cliente de linha de comando para interagir com clusters e bancos de dados do Amazon Redshift. Você pode se conectar a um cluster do Amazon Redshift, descrever objetos de banco de dados, consultar dados e visualizar resultados de consulta em vários formatos de saída. 

 O Amazon Redshift RSQL oferece suporte aos recursos da ferramenta da linha de comando psql PostgreSQL com um conjunto adicional de recursos específicos para o Amazon Redshift. Incluindo o seguinte: 
+ É possível usar a autenticação única utilizando AD FS, PingIdentity, Okta, Azure ADm ou outros provedores de identidades baseados em SAML/JWT. Você também pode usar provedores de identidade SAML baseados em navegador para autenticação multifator (MFA).
+ É possível descrever propriedades ou atributos de objetos do Amazon Redshift, como chaves de distribuição de tabela, chaves de classificação de tabela, visualizações de vinculação tardia (LBVs) e views materializadas. Você também pode descrever propriedades ou atributos de tabelas externas em um catálogo do AWS Glue ou Apache Hive Metastore, bancos de dados externos no Amazon RDS for PostgreSQL, Amazon Aurora edição compatível com PostgreSQL, RDS para MySQL (pré-visualização) e Amazon Aurora edição compatível com MySQL (pré-visualização) e tabelas compartilhadas usando o compartilhamento de dados do Amazon Redshift.
+ Você também pode usar comandos de fluxo de controle aprimorados, como `IF` (`\ELSEIF`, `\ELSE,` `\ENDIF`), `\GOTO` e `\LABEL`.

 Com o modo em lote do Amazon Redshift RSQL, que executa um script passado como um parâmetro de entrada, é póssível executar scripts que contenham SQL e lógica de negócios complexa. Se você tiver data warehouses on-premises autogerenciados, poderá usar o Amazon Redshift RSQL para substituir scripts existentes de extração, transformação, carregamento (ETL) e automação, como scripts Teradata BTEQ. Usar o RSQL ajuda você a evitar a reimplementação manual de scripts em uma linguagem processual. 

 O Amazon Redshift RSQL está disponível para sistemas operacionais Linux, Windows e macOS X. 

Para relatar problemas com o Amazon Redshift RSQL, escreva para redshift-rsql-support@amazon.com.

**Topics**
+ [Conceitos básicos do Amazon Redshift RSQL](rsql-query-tool-getting-started.md)
+ [Log de alterações do Amazon Redshift RSQL](rsql-query-tool-changelog.md)

# Conceitos básicos do Amazon Redshift RSQL
<a name="rsql-query-tool-getting-started"></a>

Instale o Amazon Redshift RSQL em um computador com sistema operacional Linux, macOS ou Microsoft Windows.

## Baixar o RSQL
<a name="rsql-query-tool-download"></a>
+ RPM de 64 bits do Linux: [RSQL versão 1.1.2](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.2/AmazonRedshiftRsql-1.1.2.rhel.x86_64.rpm) 
  + Chave de assinatura de artefato Linux: [chave](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.2/AmazonRedshiftRsql-1.1.2-certificate.pem) 
  + Hash assinado por artefato Linux: [hash](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.2/AmazonRedshiftRsql-1.1.2-signature.bin) 
+ Mac OS 64 bits PKG: [RSQL Versão 1.1.2](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.2/AmazonRedshiftRsql-1.1.2.universal.pkg) 
+ MSI de 64 bits do Windows: [RSQL versão 1.1.2](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.2/AmazonRedshiftRsql-1.1.2.x86_64.msi) 

Veja o log de alterações e os downloads das versões anteriores em [Log de alterações do Amazon Redshift RSQL](rsql-query-tool-changelog.md).

## Instalar o RSQL para Linux
<a name="rsql-query-tool-linux-install"></a>

Siga as etapas abaixo para instalar o RSQL para Linux.

1. Instale o driver com o seguinte comando:

   ```
   sudo yum install unixODBC
   ```

1. Instale o driver ODBC: [Baixar e instalar o driver ODBC do Amazon RedshiftBaixar e instalar o driver ODBC](odbc20-install-linux.md).

1. Copie o arquivo ini para o diretório inicial:

   ```
   cp /opt/amazon/redshiftodbcx64/odbc.ini ~/.odbc.ini
   ```

1. Defina as variáveis de ambiente para apontar ao local do arquivo:

   ```
   export ODBCINI=~/.odbc.ini
   export ODBCSYSINI=/opt/amazon/redshiftodbcx64/
   export AMAZONREDSHIFTODBCINI=/opt/amazon/redshiftodbcx64/amazon.redshiftodbc.ini
   ```

1. Agora é possível instalar o RSQL executando o comando a seguir.

   ```
   sudo rpm -i AmazonRedshiftRsql-<version>.rhel.x86_64.rpm
   ```

## Instalar o RSQL para Mac
<a name="rsql-query-tool-mac-install"></a>

Siga as etapas abaixo para instalar o RSQL para Mac OSX.

1. Instale o driver com o seguinte comando:

   ```
   brew install unixodbc --build-from-source
   ```

1. Instale o driver ODBC: [Baixar e instalar o driver ODBC do Amazon RedshiftBaixar e instalar o driver ODBC](odbc-driver-mac-how-to-install.md).

1. Copie o arquivo ini para o diretório inicial:

   ```
   cp /opt/amazon/redshift/Setup/odbc.ini ~/.odbc.ini
   ```

1. Defina as variáveis de ambiente para apontar ao local do arquivo:

   ```
   export ODBCINI=~/.odbc.ini
   export ODBCSYSINI=/opt/amazon/redshift/Setup
   export AMAZONREDSHIFTODBCINI=/opt/amazon/redshift/lib/amazon.redshiftodbc.ini
   ```

1. Defina `DYLD_LIBRARY_PATH` para a localização do seu libodbc.dylib se não estiver em `/usr/local/lib`.

   ```
   export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/lib
   ```

1. Clique duas vezes no arquivo pkg para executar o instalador.

1. Siga as etapas do instalador para concluir a instalação. Concorde com os termos do contrato de licença.

## Instalar o RSQL para Windows
<a name="rsql-query-tool-windows-install"></a>

Siga as etapas abaixo para instalar o RSQL para Windows.

1. Instale o driver ODBC: [Baixar e instalar o driver ODBC do Amazon RedshiftBaixar e instalar o driver ODBC](odbc-driver-windows-how-to-install.md).

1. Clique duas vezes no arquivo de download do RSQL para executar o instalador e siga as solicitações para concluir a instalação.

# Log de alterações do Amazon Redshift RSQL
<a name="rsql-query-tool-changelog"></a>

*1.1.2 (2025-12-11)*

Correções de bugs
+ Correção de um bug que causava falhas nos comandos\$1 goto e\$1 label.
+ Correção de um bug que impedia o RSQL de imprimir valores de variáveis quando as variáveis estavam entre aspas.
+ Correção de um bug que causava falhas no RSQL quando os resultados da consulta excediam o tamanho do parâmetro ODBC DSN Fetch enquanto UseDeclareFetch era habilitado.
+ Correção de um problema em que várias páginas de resultados eram exibidas ao mesmo tempo, mesmo que o pager era ativado.
+ Correção de um bug que provocava falhas no RSQL quando as consultas falhavam nos blocos de transações.

*1.1.1 (20-11-2025)*

Correções de bugs
+ Correção de um problema em que o RSQL analisava consultas incorretamente ao usar o sinalizador -c. Essa correção se aplica a todas as plataformas.
+ Corrija um bug no Mac que impedia os usuários de usar o comando \$1s no RSQL.

*1.1.0 (2025-11-11)*

Correções de bugs
+ Solução de um problema de vazamento de memória que estava causando falhas inesperadas no rSQL.
+ Remoção da dependência do OpenSSL do RSQL.
+ Correção de conflitos de vinculação com instalações libpq/psql no mesmo ambiente.
+ Melhoria da compatibilidade de plataforma para Amazon Linux 2023, Windows e macOS.
+ Correção de um problema em que a saída era truncada ao exceder o tamanho de exibição atual.

*1.0.8 (2023-06-19)*

Correções de bugs
+ Corrigido um problema em que a saída era truncada com os comandos SHOW.
+ Adicionado suporte a \$1de para descrever fluxos externos do Kinesis e tópicos do Kafka.

*1.0.7 (22/03/2023)*

Correções de bugs
+ Correção de um problema em que o RSQL não conseguia descrever visões materializadas.
+ Correção do erro de permissão negada em stl\$1connection\$1log ao usar o Amazon Redshift sem servidor.
+ Correção de um problema em que o RSQL processava rótulos \$1GOTO incorretamente.
+ Correção de um problema em que mensagens SSL eram impressas no modo silencioso.
+ Correção de um problema de exibição de caracteres aleatórios ao descrever procedimentos armazenados.
+ Correção de um problema de impressão de mensagens ERROR/INFO duplicadas.

Novo
+ O RSQL agora recebe informações de SSL diretamente do driver ODBC.



*1.0.6 (21/02/2023)*

Correções de bugs
+ Correção de um problema em que \$1d gerava um erro (sintaxe de entrada inválida para inteiro: “xid”) no patch 1.0.46086 (P173) do Redshift.

Novo
+ Renomeação dos arquivos de instalação para refletir a arquitetura compatível.



*1.0.5 (2022-06-27)*

Correções de bugs
+ Envia mensagens de erro SQL para erro padrão (stderr).
+ Corrigido o problema com os códigos de saída ao usar ON\$1ERROR\$1STOP. Os scripts agora terminam depois de encontrar um erro e retornam os códigos de saída corretos.
+ Maxerror agora não diferencia maiúsculas de minúsculas.

Novo
+ Inclusão de suporte ao driver ODBC 2.x.



*1.0.4 (19-03-2022)*
+ Adicione suporte para a variável de ambiente RSPASSWORD. Defina uma senha para se conectar ao Amazon Redshift. Por exemplo, `export RSPASSWORD=TestPassw0rd`.



*1.0.3 (2021-12-08)*

Correções de bugs
+ Caixa de diálogo pop-up corrigida ao usar `\c` ou `\logon` para alternar entre bancos de dados no sistema operacional Windows.
+ Corrigida a falha ao verificar informações ssl.



## Versões anteriores do Amazon Redshift RSQL
<a name="rsql-query-tool-changelog-legacy-versions"></a>

Escolha um dos links para baixar a versão do Amazon Redshift RSQL de que você precisa, com base em seu sistema operacional.

**RPM de 64 bits do Linux**
+ [RSQL versão 1.1.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.1/AmazonRedshiftRsql-1.1.1.rhel.x86_64.rpm)
+ [RSQL versão 1.1.0](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.0/AmazonRedshiftRsql-1.1.0.rhel.x86_64.rpm)
+ [RSQL versão 1.0.8](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.8/AmazonRedshiftRsql-1.0.8.x86_64.rpm)
+ [RSQL versão 1.0.7](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.7/AmazonRedshiftRsql-1.0.7.x86_64.rpm)
+ [RSQL versão 1.0.6](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.6/AmazonRedshiftRsql-1.0.6.x86_64.rpm)
+ [RSQL versão 1.0.5](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.5/AmazonRedshiftRsql-1.0.5-1.x86_64.rpm)
+ [RSQL versão 1.0.4](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.4/AmazonRedshiftRsql-1.0.4-1.x86_64.rpm)
+ [RSQL versão 1.0.3](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.3/AmazonRedshiftRsql-1.0.3-1.x86_64.rpm)
+ [RSQL versão 1.0.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.1/AmazonRedshiftRsql-1.0.1-1.x86_64.rpm)

**Mac OS 64 bits DMG/PKG**
+ [RSQL versão 1.1.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.1/AmazonRedshiftRsql-1.1.1.universal.pkg)
+ [RSQL versão 1.1.0](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.0/AmazonRedshiftRsql-1.1.0.universal.pkg)
+ [RSQL versão 1.0.8](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.8/AmazonRedshiftRsql-1.0.8.x86_64.dmg)
+ [RSQL versão 1.0.7](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.7/AmazonRedshiftRsql-1.0.7.x86_64.dmg)
+ [RSQL versão 1.0.6](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.6/AmazonRedshiftRsql-1.0.6.x86_64.dmg)
+ [RSQL versão 1.0.5](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.5/AmazonRedshiftRsql-1.0.5.dmg)
+ [RSQL versão 1.0.4](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.4/AmazonRedshiftRsql-1.0.4.dmg)
+ [RSQL versão 1.0.3](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.3/AmazonRedshiftRsql-1.0.3.dmg)
+ [RSQL versão 1.0.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.1/AmazonRedshiftRsql-1.0.1.dmg)

**MSI de 64 bits do Windows**
+ [RSQL versão 1.1.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.1/AmazonRedshiftRsql-1.1.1.x86_64.msi)
+ [RSQL versão 1.1.0](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.1.0/AmazonRedshiftRsql-1.1.0.x86_64.msi)
+ [RSQL versão 1.0.8](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.8/AmazonRedshiftRsql-1.0.8.x86_64.msi)
+ [RSQL versão 1.0.7](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.7/AmazonRedshiftRsql-1.0.7.x86_64.msi)
+ [RSQL versão 1.0.6](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.6/AmazonRedshiftRsql-1.0.6.x86_64.msi)
+ [RSQL versão 1.0.5](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.5/AmazonRedshiftRsql-1.0.5.msi)
+ [RSQL versão 1.0.4](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.4/AmazonRedshiftRsql-1.0.4.msi)
+ [RSQL versão 1.0.3](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.3/AmazonRedshiftRsql-1.0.3.msi)
+ [RSQL versão 1.0.1](https://s3.amazonaws.com/redshift-downloads/amazon-redshift-rsql/1.0.1/AmazonRedshiftRsql-1.0.1.msi)

# Conectar-se a um cluster com o Amazon Redshift RSQL
<a name="rsql-query-tool-starting-tool-connection"></a>

Com o Amazon Redshift, você pode se conectar e interagir com um cluster usando o RSQL. Essa é uma ferramenta de linha de comandos que oferece uma forma segura para consultar dados, criar objetos de banco de dados e gerenciar clusters do Amazon Redshift. As seções a seguir orientam você pelas etapas para estabelecer uma conexão com seu cluster usando o RSQL com e sem um nome de fonte de dados (DSN).

## Conectar-se sem um DSN
<a name="rsql-query-tool-starting-tool-connection-dsn-less-example"></a>

1. No console do Amazon Redshift, escolha o cluster ao qual você deseja se conectar e anote o endpoint, o banco de dados e a porta.

1. No prompt de comando, especifique as informações de conexão usando os parâmetros de linha de comando.

   ```
   rsql -h <endpoint> -U <username> -d <databasename> -p <port>
   ```

    Aqui, o seguinte se aplica: 
   +  *<endpoint>* é o **Endpoint** que você registrou na etapa anterior.
   +  *<username>* é o nome do usuário com as permissões para a conexão com o cluster.
   +  *<databasename>* é o **Nome do banco de dados** que você registrou na etapa anterior.
   +  *<port>* é a **porta** que você registrou na etapa anterior. *<port>* é um parâmetro opcional.

   Veja a seguir um exemplo.

   ```
   rsql -h testcluster.example.amazonaws.com -U user1 -d dev -p 5439
   ```

1.  No prompt da senha, digite a senha do usuário *<username>*.

   Uma resposta de conexão bem-sucedida tem a aparência a seguir.

   ```
   % rsql -h testcluster.example.com -d dev -U user1 -p 5349
   Password for user user1:
   DSN-less Connected
   DBMS Name: Amazon Redshift
   Driver Name: Amazon Redshift ODBC Driver
   Driver Version: 1.4.27.1000
   Rsql Version: 1.0.1
   Redshift Version: 1.0.29306
   Type "help" for help.
   
   (testcluster) user1@dev=#
   ```

O comando para conectar tem os mesmos parâmetros no Linux, Mac OS e Windows.

## Conectar-se com um DSN
<a name="rsql-query-tool-starting-tool-connection-dsn-example"></a>

É possível conectar o RSQL ao Amazon Redshift usando um DSN para simplificar a organização das propriedades de conexão. Este tópico inclui instruções para instalação do driver ODBC e descrições das propriedades do DSN.

### Usar uma conexão DSN com uma senha
<a name="rsql-query-tool-starting-tool-connection-dsn-example-password"></a>

Veja a seguir um exemplo de uma configuração de conexão DSN que usa uma senha. O padrão `<path to driver>` para Mac OSX é `/opt/amazon/redshift/lib/libamazonredshiftodbc.dylib` e para Linux é `/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so`.

```
[testuser]
Driver=/opt/amazon/redshiftodbc/lib/64/libamazonredshiftodbc64.so
SSLMode=verify-ca
Min_TLS=1.2
boolsaschar=0
Host=<server endpoint>
Port=<database port>
Database=<dbname>
UID=<username>
PWD=<password>
sslmode=prefer
```

A saída a seguir é resultado de uma conexão bem-sucedida.

```
% rsql -D testuser
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) user1@dev=#
```

### Usar o DSN de autenticação única
<a name="rsql-query-tool-starting-tool-connection-dsn"></a>

Você pode configurar um DSN para autenticação única. Veja a seguir um exemplo de configuração de conexão DSN que usa autenticação única do Okta.

```
[testokta]
Driver=<path to driver>
SSLMode=verify-ca
Min_TLS=1.2
boolsaschar=0
Host=<server endpoint>
clusterid=<cluster id>
region=<region name>
Database=<dbname>
locale=en-US
iam=1
plugin_name=<plugin name>
uid=<okta username>
pwd=<okta password>
idp_host=<idp endpoint>
app_id=<app id>
app_name=<app name>
preferred_role=<role arn>
```

Exemplo de saída de uma conexão bem-sucedida.

```
% rsql -D testokta 
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) user1@dev=#
```

Veja a seguir o exemplo de uma configuração de conexão DSN que usa autenticação única do Azure.

```
[testazure]
Driver=<path to driver>
SSLMode=verify-ca
Min_TLS=1.2
boolsaschar=0
Host=<server endpoint>
Port=<cluster port>
clusterid=<cluster id>
region=<region name>
Database=<dbname>
locale=en-us
iam=1
plugin_name=<plugin name>
uid=<azure username>
pwd=<azure password>
idp_tenant=<Azure idp tenant uuid>
client_id=<Azure idp client uuid>
client_secret=<Azure idp client secret>
```

### Usar uma conexão DSN com um perfil do IAM
<a name="rsql-query-tool-starting-tool-connection-dsn-iam"></a>

Você pode se conectar ao Amazon Redshift usando seu perfil do IAM configurado. O perfil do IAM deve ter privilégios para chamar `GetClusterCredentials`. O exemplo a seguir mostra as propriedades DSN a serem usadas. Os parâmetros `ClusterID` e `Region` são obrigatórios somente se o `Host` não for um endpoint fornecido pela Amazon, como `examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com`.

```
[testiam]
Driver=Default
Host=testcluster.example.com
Database=dev
DbUser=testuser
ClusterID=rsqltestcluster
Region=us-east-1
IAM=1
Profile=default
```

O valor da chave `Profile` é o perfil nomeado que você escolhe a partir de suas credenciais AWS da CLI. Esse exemplo mostra as credenciais do perfil chamado `default`.

```
$ cat .aws/credentials
[default]
aws_access_key_id = ASIAIOSFODNN7EXAMPLE 
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```

Veja a seguir a resposta da conexão.

```
$ rsql -D testiam
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) testuser@dev=>
```

### Usar uma conexão DSN com um perfil da instância
<a name="rsql-query-tool-starting-tool-connection-dsn-instance"></a>

Você pode se conectar ao Amazon Redshift usando seu perfil de instância do Amazon EC2. O perfil da instância deve ter privilégios para chamar `GetClusterCredentials`. Veja o exemplo abaixo para saber quais propriedades DSN serão usadas. Os parâmetros `ClusterID` e `Region` são obrigatórios somente se o `Host` não for um endpoint fornecido pela Amazon, como `examplecluster.abc123xyz789.us-west-2.redshift.amazonaws.com`.

```
[testinstanceprofile]
Driver=Default
Host=testcluster.example.com
Database=dev
DbUser=testuser
ClusterID=rsqltestcluster
Region=us-east-1
IAM=1
Instanceprofile=1
```

Veja a seguir a resposta da conexão.

```
$ rsql -D testinstanceprofile
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306
Type "help" for help.

(testcluster) testuser@dev=>
```

### Uso de uma conexão DSN com a cadeia de fornecedores de credenciais padrão
<a name="rsql-query-tool-starting-tool-connection-dsn-provider-chain"></a>

Para se conectar usando a cadeia de provedores de credenciais padrão, especifique apenas a propriedade do IAM, e o Amazon Redshift RSQL tentará adquirir credenciais na ordem descrita em [Trabalho com credenciais da AWS](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html) no SDK da AWS para Java. Pelo menos um dos provedores da cadeia deve ter a permissão `GetClusterCredentials`. Isso é útil para se conectar a partir de contêineres ECS, por exemplo.

```
[iamcredentials]
Driver=Default
Host=testcluster.example.com
Database=dev
DbUser=testuser
ClusterID=rsqltestcluster
Region=us-east-1
IAM=1
```

# Metacomandos do Amazon Redshift RSQL
<a name="rsql-query-tool-commands"></a>

Os metacomandos do Amazon Redshift RSQL retornam registros informativos sobre bancos de dados ou sobre objetos específicos do banco de dados. Os resultados podem incluir várias colunas e metadados. Outros comandos executam ações específicas. Esses comandos são precedidos por uma barra invertida.

## \$1d[S\$1]
<a name="rsql-query-tool-describe-d"></a>

 Lista tabelas criadas pelo usuário local, visualizações regulares, visualizações de vinculação tardia e visões materializadas.`\dS ` também lista tabelas e visualizações, como `\d`, mas os objetos do sistema são incluídos nos registros retornados. O `+` resulta na coluna de metadados adicionais `description` para todos os objetos listados. A seguir, veja exemplos de registros retornados como resultado do comando. 

```
List of relations
 schema |   name    | type  |  owner  
--------+-----------+-------+---------
 public | category  | table | awsuser
 public | date      | table | awsuser
 public | event     | table | awsuser
 public | listing   | table | awsuser
 public | sales     | table | awsuser
 public | users     | table | awsuser
 public | venue     | table | awsuser
(7 rows)
```

## \$1d[S\$1] NAME
<a name="rsql-query-tool-describe-s-plus-named"></a>

Descreve uma tabela, uma visualização ou um índice. Inclui os nomes e tipos de colunas. Fornece também o diststyle, a configuração de backup, a data de criação (tabelas criadas após outubro de 2018) e restrições. Por exemplo, `\dS+ sample` retorna propriedades do objeto. Anexar `S+` resulta em colunas adicionais incluídas nos registros retornados.

```
Table "public.sample"
 Column |            Type             |   Collation    | Nullable | Default Value | Encoding  | DistKey | SortKey
--------+-----------------------------+----------------+----------+---------------+-----------+---------+---------
 col1   | smallint                    |                | NO       |               | none      | t       | 1
 col2   | character(100)              | case_sensitive | YES      |               | none      | f       | 2
 col3   | character varying(100)      | case_sensitive | YES      |               | text32k   | f       | 3
 col4   | timestamp without time zone |                | YES      |               | runlength | f       | 0
 col5   | super                       |                | YES      |               | zstd      | f       | 0
 col6   | bigint                      |                | YES      |               | az64      | f       | 0

Diststyle: KEY
Backup: YES
Created: 2021-07-20 19:47:27.997045
Unique Constraints:
    "sample_pkey" PRIMARY KEY (col1)
    "sample_col2_key" UNIQUE (col2)
Foreign-key constraints:
    "sample_col2_fkey" FOREIGN KEY (col2) REFERENCES lineitem(l_orderkey)
```

O estilo de distribuição, ou *Diststyle*, da tabela pode ser KEY, AUTO, EVEN ou ALL.

*Backup* indica se o backup da tabela é feito quando se obtém um snapshot. Os valores válidos são `YES` ou `NO`.

*Created* (Criado) é o carimbo de data/hora para quando a tabela é criada. A data de criação não está disponível para tabelas do Amazon Redshift criadas antes de novembro de 2018. As tabelas criadas antes desta data exibem n/a (não disponível). 

*Unique Constraints* (Restrições exclusivas) lista restrições de chave exclusivas e primárias na tabela.

*Foreign-key constraints* (Restrições de chave estrangeira) lista restrições de chave estrangeira na tabela.

## \$1dC[\$1] [PATTERN]
<a name="rsql-query-tool-describe-dc"></a>

Lista conversões. Inclui o tipo de origem, o tipo de destino e se a conversão está implícita.

Veja a seguir um subconjunto de resultados de `\dC+`.

```
List of casts
         source type         |         target type         |      function       |   implicit?   | description 
-----------------------------+-----------------------------+---------------------+---------------+-------------
 "char"                      | character                   | bpchar              | in assignment | 
 "char"                      | character varying           | text                | in assignment | 
 "char"                      | integer                     | int4                | no            | 
 "char"                      | text                        | text                | yes           | 
 "path"                      | point                       | point               | no            | 
 "path"                      | polygon                     | polygon             | in assignment | 
 abstime                     | date                        | date                | in assignment | 
 abstime                     | integer                     | (binary coercible)  | no            | 
 abstime                     | time without time zone      | time                | in assignment | 
 abstime                     | timestamp with time zone    | timestamptz         | yes           | 
 abstime                     | timestamp without time zone | timestamp           | yes           | 
 bigint                      | bit                         | bit                 | no            | 
 bigint                      | boolean                     | bool                | yes           | 
 bigint                      | character                   | bpchar              | in assignment | 
 bigint                      | character varying           | text                | in assignment | 
 bigint                      | double precision            | float8              | yes           | 
 bigint                      | integer                     | int4                | in assignment | 
 bigint                      | numeric                     | numeric             | yes           | 
 bigint                      | oid                         | oid                 | yes           | 
 bigint                      | real                        | float4              | yes           | 
 bigint                      | regclass                    | oid                 | yes           | 
 bigint                      | regoper                     | oid                 | yes           | 
 bigint                      | regoperator                 | oid                 | yes           | 
 bigint                      | regproc                     | oid                 | yes           | 
 bigint                      | regprocedure                | oid                 | yes           | 
 bigint                      | regtype                     | oid                 | yes           | 
 bigint                      | smallint                    | int2                | in assignment | 
 bigint                      | super                       | int8_partiql        | in assignment |
```

## \$1dd[S] [PATTERN]
<a name="rsql-query-tool-describe-dds"></a>

Mostra descrições de objetos que não são exibidas em outro lugar.

## \$1de
<a name="rsql-query-tool-describe-de"></a>

Lista tabelas externas. Isso inclui tabelas no AWS Glue Data Catalog e no Hive Metastore e tabelas federadas de unidade de compartilhamento de dados do Amazon RDS/Aurora MySQL, Amazon RDS/Aurora PostgreSQL e Amazon Redshift.

## \$1de NAME
<a name="rsql-query-tool-describe-de-name"></a>

Descreve uma tabela externa.

A consulta de exemplo a seguir mostra uma tabela externa do AWS Glue.

```
# \de spectrum.lineitem
                            Glue External table "spectrum.lineitem"
     Column      | External Type | Redshift Type | Position | Partition Key | Nullable
-----------------+---------------+---------------+----------+---------------+----------
 l_orderkey      | bigint        | bigint        | 1        | 0             |
 l_partkey       | bigint        | bigint        | 2        | 0             |
 l_suppkey       | int           | int           | 3        | 0             |
 l_linenumber    | int           | int           | 4        | 0             |
 l_quantity      | decimal(12,2) | decimal(12,2) | 5        | 0             |
 l_extendedprice | decimal(12,2) | decimal(12,2) | 6        | 0             |
 l_discount      | decimal(12,2) | decimal(12,2) | 7        | 0             |
 l_tax           | decimal(12,2) | decimal(12,2) | 8        | 0             |
 l_returnflag    | char(1)       | char(1)       | 9        | 0             |
 l_linestatus    | char(1)       | char(1)       | 10       | 0             |
 l_shipdate      | date          | date          | 11       | 0             |
 l_commitdate    | date          | date          | 12       | 0             |
 l_receiptdate   | date          | date          | 13       | 0             |
 l_shipinstruct  | char(25)      | char(25)      | 14       | 0             |
 l_shipmode      | char(10)      | char(10)      | 15       | 0             |
 l_comment       | varchar(44)   | varchar(44)   | 16       | 0             |

Location: s3://redshiftbucket/kfhose2019/12/31
Input_format: org.apache.hadoop.mapred.TextInputFormat
Output_format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
Serialization_lib: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Serde_parameters: {"field.delim":"|","serialization.format":"|"}
Parameters: {"EXTERNAL":"TRUE","numRows":"178196721475","transient_lastDdlTime":"1577771873"}
```

Uma tabela Hive Metastore.

```
# \de emr.lineitem
                     Hive Metastore External Table "emr.lineitem"
     Column      | External Type | Redshift Type | Position | Partition Key | Nullable
-----------------+---------------+---------------+----------+---------------+----------
 l_orderkey      | bigint        | bigint        | 1        | 0             |
 l_partkey       | bigint        | bigint        | 2        | 0             |
 l_suppkey       | int           | int           | 3        | 0             |
 l_linenumber    | int           | int           | 4        | 0             |
 l_quantity      | decimal(12,2) | decimal(12,2) | 5        | 0             |
 l_extendedprice | decimal(12,2) | decimal(12,2) | 6        | 0             |
 l_discount      | decimal(12,2) | decimal(12,2) | 7        | 0             |
 l_tax           | decimal(12,2) | decimal(12,2) | 8        | 0             |
 l_returnflag    | char(1)       | char(1)       | 9        | 0             |
 l_linestatus    | char(1)       | char(1)       | 10       | 0             |
 l_commitdate    | date          | date          | 11       | 0             |
 l_receiptdate   | date          | date          | 12       | 0             |
 l_shipinstruct  | char(25)      | char(25)      | 13       | 0             |
 l_shipmode      | char(10)      | char(10)      | 14       | 0             |
 l_comment       | varchar(44)   | varchar(44)   | 15       | 0             |
 l_shipdate      | date          | date          | 16       | 1             |

Location: s3://redshiftbucket/cetas
Input_format: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat
Output_format: org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat
Serialization_lib: org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe
Serde_parameters: {"serialization.format":"1"}
Parameters: {"EXTERNAL":"TRUE", "numRows":"4307207", "transient_lastDdlTime":"1626990007"}
```

Tabela externa do PostgreSQL.

```
# \de pgrsql.alltypes
                                Postgres Federated Table "pgrsql.alltypes"
 Column |        External Type        |        Redshift Type        | Position | Partition Key | Nullable
--------+-----------------------------+-----------------------------+----------+---------------+----------
 col1   | bigint                      | bigint                      | 1        | 0             |
 col2   | bigint                      | bigint                      | 2        | 0             |
 col5   | boolean                     | boolean                     | 3        | 0             |
 col6   | box                         | varchar(65535)              | 4        | 0             |
 col7   | bytea                       | varchar(65535)              | 5        | 0             |
 col8   | character(10)               | character(10)               | 6        | 0             |
 col9   | character varying(10)       | character varying(10)       | 7        | 0             |
 col10  | cidr                        | varchar(65535)              | 8        | 0             |
 col11  | circle                      | varchar(65535)              | 9        | 0             |
 col12  | date                        | date                        | 10       | 0             |
 col13  | double precision            | double precision            | 11       | 0             |
 col14  | inet                        | varchar(65535)              | 12       | 0             |
 col15  | integer                     | integer                     | 13       | 0             |
 col16  | interval                    | varchar(65535)              | 14       | 0             |
 col17  | json                        | varchar(65535)              | 15       | 0             |
 col18  | jsonb                       | varchar(65535)              | 16       | 0             |
 col19  | line                        | varchar(65535)              | 17       | 0             |
 col20  | lseg                        | varchar(65535)              | 18       | 0             |
 col21  | macaddr                     | varchar(65535)              | 19       | 0             |
 col22  | macaddr8                    | varchar(65535)              | 20       | 0             |
 col23  | money                       | varchar(65535)              | 21       | 0             |
 col24  | numeric                     | numeric(38,20)              | 22       | 0             |
 col25  | path                        | varchar(65535)              | 23       | 0             |
 col26  | pg_lsn                      | varchar(65535)              | 24       | 0             |
 col28  | point                       | varchar(65535)              | 25       | 0             |
 col29  | polygon                     | varchar(65535)              | 26       | 0             |
 col30  | real                        | real                        | 27       | 0             |
 col31  | smallint                    | smallint                    | 28       | 0             |
 col32  | smallint                    | smallint                    | 29       | 0             |
 col33  | integer                     | integer                     | 30       | 0             |
 col34  | text                        | varchar(65535)              | 31       | 0             |
 col35  | time without time zone      | varchar(65535)              | 32       | 0             |
 col36  | time with time zone         | varchar(65535)              | 33       | 0             |
 col37  | timestamp without time zone | timestamp without time zone | 34       | 0             |
 col38  | timestamp with time zone    | timestamp with time zone    | 35       | 0             |
 col39  | tsquery                     | varchar(65535)              | 36       | 0             |
 col40  | tsvector                    | varchar(65535)              | 37       | 0             |
 col41  | txid_snapshot               | varchar(65535)              | 38       | 0             |
 col42  | uuid                        | varchar(65535)              | 39       | 0             |
 col43  | xml                         | varchar(65535)              | 40       | 0             |
```

## \$1df[anptw][S\$1] [PATTERN]
<a name="rsql-query-tool-df"></a>

 Lista funções de vários tipos. O comando `\df`, por exemplo, retorna uma lista de funções. Os resultados incluem propriedades como nome, tipo de dados retornado, privilégios de acesso e outros metadados. Os tipos de função podem incluir acionadores, procedimentos armazenados, funções da janela e outros tipos. Quando você acrescenta `S+` ao comando, por exemplo `\dfantS+`, colunas de metadados adicionais são incluídas, como `owner`, `security` e `access privileges`. 

## \$1dL[S\$1] [PATTERN]
<a name="rsql-query-tool-describe-dl"></a>

 Lista dados sobre linguagens processuais associadas ao banco de dados. As informações incluem o nome, como plpgsql, e outros metadados, que incluem confiabilidade, privilégios de acesso e descrição. A chamada de amostra é, por exemplo, `\dLS+`, que lista linguagens e suas propriedades. Quando você acrescenta `S+` ao comando, colunas de metadados adicionais são incluídas, como `call handler` e `access privileges`. 

Exemplos de resultados:

```
List of languages
   name    | trusted | internal language |      call handler       |                         validator                          | access privileges |          description           
-----------+---------+-------------------+-------------------------+------------------------------------------------------------+-------------------+--------------------------------
 c         | f       | t                 | -                       | fmgr_c_validator(oid)                                      |                   | Dynamically-loaded C functions
 exfunc    | f       | f                 | exfunc_call_handler()   | -                                                          | rdsdb=U/rdsdb     | 
 internal  | f       | t                 | -                       | fmgr_internal_validator(oid)                               |                   | Built-in functions
 mlfunc    | f       | f                 | mlfunc_call_handler()   | -                                                          | rdsdb=U/rdsdb     | 
 plpgsql   | t       | f                 | plpgsql_call_handler()  | plpgsql_validator(oid)                                     |                   | 
 plpythonu | f       | f                 | plpython_call_handler() | plpython_compiler(cstring,cstring,cstring,cstring,cstring) | rdsdb=U/rdsdb     | 
 sql       | t       | t                 | -                       | fmgr_sql_validator(oid)                                    | =U/rdsdb          | SQL-language functions
```

## \$1dm[S\$1] [PATTERN]
<a name="rsql-query-tool-describe-dm"></a>

 Lista visões materializadas. Por exemplo, `\dmS+` lista visões materializadas e suas propriedades. Quando você acrescenta `S+` ao comando, colunas de metadados adicionais são incluídas. 

## \$1dn[S\$1] [PATTERN]
<a name="rsql-query-tool-describe-dn"></a>

 Lista os esquemas. Quando você acrescenta `S+` ao comando, por exemplo `\dnS+`, colunas de metadados adicionais são incluídas, como `description` e `access privileges`. 

## \$1dp [PATTERN]
<a name="rsql-query-tool-describe-dp"></a>

 Lista os privilégios de acesso à tabela, visualização e sequência. 

## \$1dt[S\$1] [PATTERN]
<a name="rsql-query-tool-describe-dt"></a>

 Lista tabelas. Quando você acrescenta `S+` ao comando, por exemplo `\dtS+`, colunas de metadados adicionais são incluídas, como `description`, neste caso. 

## \$1du
<a name="rsql-query-tool-describe-du"></a>

 Lista os usuários do banco de dados. Inclui o nome e suas funções, como superusuário, e atributos. 

## \$1dv[S\$1] [PATTERN]
<a name="rsql-query-tool-describe-dv"></a>

 Lista as visualizações. Inclui esquema, tipo e proprietário dos dados. Quando você acrescenta `S+` ao comando, por exemplo `\dvS+`, colunas de metadados adicionais são incluídas. 

## \$1H
<a name="rsql-query-tool-describe-h"></a>

 Ativa a saída HTML. Isso é útil para retornar rapidamente resultados formatados. Por exemplo, `select * from sales; \H` retorna resultados da tabela de vendas, em HTML. Para voltar aos resultados tabulares, use `\q` ou quiet. 

## \$1i
<a name="rsql-query-tool-describe-i"></a>

 Executa comandos de um arquivo. Por exemplo, supondo que você tenha rsql\$1steps.sql em seu diretório de trabalho, o seguinte executa os comandos no arquivo: `\i rsql_steps.sql`. 

## \$1l[\$1] [PATTERN]
<a name="rsql-query-tool-describe-l"></a>

 Lista bancos de dados. Inclui proprietário, codificação e outras informações. 

## \$1q
<a name="rsql-query-tool-describe-q"></a>

 O encerramento, ou comando `\q`, faz logoff das sessões do banco de dados e fecha o RSQL. 

## \$1sv[\$1] VIEWNAME
<a name="rsql-query-tool-describe-sv-name"></a>

 Exibe a definição de uma visualização. 

## \$1timing
<a name="rsql-query-tool-describe-timing"></a>

 Mostra o tempo de execução, de uma consulta, por exemplo. 

## \$1z [PATTERN]
<a name="rsql-query-tool-describe-z"></a>

 A mesma saída que \$1dp. 

## \$1?
<a name="rsql-query-tool-help"></a>

 Exibe informações de ajuda. O parâmetro opcional especifica o item a ser explicado. 

## \$1EXIT
<a name="rsql-query-tool-flow-control-exit"></a>

 Faz logoff de todas as sessões de banco de dados e fecha o Amazon Redshift RSQL. Além disso, é possível especificar um código de saída opcional. Por exemplo, `\EXIT 15` fechará o terminal RSQL do Amazon Redshift e retornará o código de saída 15.

O exemplo a seguir mostra a saída de uma conexão e saída do RSQL.

```
% rsql -D testuser
DSN Connected
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.34.1000
Rsql Version: 1.0.1
Redshift Version: 1.0.29306 
Type "help" for help.

(testcluster) user1@dev=# \exit 15

% echo $?
15
```

## \$1EXPORT
<a name="rsql-query-tool-export"></a>

 Especifica o nome de um arquivo de exportação que o RSQL usa para armazenar informações de banco de dados retornadas por uma instrução SQL SELECT subsequente.

export\$101.sql

```
\export report file='E:\\accounts.out'
\rset rformat off
\rset width 1500
\rset heading "General Title"
\rset titledashes on
select * from td_dwh.accounts;
\export reset
```

Resultado no console

```
Rformat is off.
Target width is 1500.
Heading is set to: General Title
Titledashes is on.
(exported 40 rows)
```

## \$1LOGON
<a name="rsql-query-tool-flow-control-logon"></a>

 Conecta-se a um banco de dados. É possível especificar parâmetros de conexão usando a sintaxe posicional ou como uma cadeia de conexão.

A sintaxe de comando é a seguinte: `\logon {[DBNAME|- USERNAME|- HOST|- PORT|- [PASSWORD]] | conninfo}`

`DBNAME` é o nome do banco de dados ao qual se conectar. `USERNAME` é nome de usuário ao qual se conectar. O `HOST` padrão é `localhost`. O `PORT` padrão é `5439`.

Quando um nome de host é especificado em um comando `\LOGON`, ele se torna o nome de host padrão para outros comandos `\LOGON`. Para alterar o nome do host padrão, especifique um novo `HOST` em outro comando `\LOGON`.

A seguir, veja um exemplo de saída do comando `\LOGON` para `user1`.

```
(testcluster) user1@redshiftdb=# \logon dev
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
You are now connected to database "dev" as user "user1".
(testcluster) user1@dev=#
```

Exemplo de saída para *user2*.

```
(testcluster) user1@dev=# \logon dev user2 testcluster2.example.com
Password for user user2: 
DBMS Name: Amazon Redshift
Driver Name: Amazon Redshift ODBC Driver
Driver Version: 1.4.27.1000
Rsql Version: 1.0.1
You are now connected to database "dev" as user "user2" on host "testcluster2.example.com" at port "5439".
(testcluster2) user2@dev=#
```

## \$1REMARK
<a name="rsql-query-tool-flow-control-remark"></a>

 Uma extensão do comando `\echo`. `\REMARK` imprime a string especificada no fluxo de saída. `\REMARK ` estende `\echo` adicionando a capacidade de dividir a saída em linhas separadas.

O exemplo a seguir mostra a saída do comando.

```
(testcluster) user1@dev=# \remark 'hello//world'
hello
world
```

## \$1RSET
<a name="rsql-query-tool-rset"></a>

O comando `\rset` define parâmetros e variáveis de comando. O `\rset` tem um modo interativo e um modo em lote. Ele não é compatível com opções como opções bash, por exemplo, *-x*, nem com argumentos, por exemplo *--<arg>*.

Ele define variáveis, como as seguintes:
+ ERRORLEVEL
+ HEADING e RTITLE
+ RFORMAT
+ MAXERROR
+ TITLEDASHES
+ WIDTH

O exemplo a seguir especifica um cabeçalho.

```
\rset heading "Winter Sales Report"
```

Você pode encontrar mais exemplos de como usar `\rset`, nos tópicos sobre [Variáveis do Amazon Redshift RSQL](rsql-query-tool-variables.md). 

## \$1RUN
<a name="rsql-query-tool-flow-control-run"></a>

 Executa o script Amazon Redshift RSQL contido no arquivo especificado. `\RUN` estende o comando `\i` adicionando uma opção para ignorar linhas de cabeçalho de um arquivo.

Se o nome do arquivo contiver uma vírgula, ponto e vírgula ou espaço, coloque-o entre aspas simples. Além disso, se o nome do arquivo for procedido de texto, coloque-o entre aspas. Em UNIX, os nomes dos arquivos diferenciam letras maiúsculas de minúsculas. No Windows, os nomes de arquivos não diferenciam maiúsculas de minúsculas.

O exemplo a seguir mostra a saída do comando.

```
(testcluster) user1@dev=# \! cat test.sql
select count(*) as lineitem_cnt from lineitem;
select count(*) as customer_cnt from customer;
select count(*) as orders_cnt from orders;



(testcluster) user1@dev=# \run file=test.sql
 lineitem_cnt
--------------
      4307207
(1 row)

 customer_cnt
--------------
     37796166
(1 row)

 orders_cnt
------------
          0
(1 row)


(testcluster) user1@dev=# \run file=test.sql skip=2
2 records skipped in RUN file.
 orders_cnt
------------
          0
(1 row)
```

## \$1OS
<a name="rsql-query-tool-flow-control-os"></a>

 Um alias para o `\!` comando. `\OS` executa o comando do sistema operacional que é passado como um parâmetro. O controle retorna ao Amazon Redshift RSQL após a execução do comando. Por exemplo, você pode executar este comando para imprimir a data e hora atual do sistema e retornar ao terminal RSQL: `\os date`.

```
(testcluster) user1@dev=# \os date
Tue Sep 7 20:47:54 UTC 2021
```

## \$1GOTO
<a name="rsql-query-tool-flow-control-goto"></a>

 Um novo comando para o Amazon Redshift RSQL. `\GOTO` ignora todos os comandos intervenientes e retoma o processamento no `\LABEL` especificado. O `\LABEL` deve ser uma referência de encaminhamento. Não é possível pular para um `\LABEL` que preceda lexicamente o `\GOTO`.

Veja a seguir um exemplo de saída.

```
(testcluster) user1@dev=# \! cat test.sql
select count(*) as cnt from lineitem \gset
select :cnt as cnt;
\if :cnt > 100
    \goto LABELB
\endif

\label LABELA
\remark 'this is label LABELA'
\label LABELB
\remark 'this is label LABELB'


(testcluster) user1@dev=# \i test.sql
   cnt
---------
 4307207
(1 row)

\label LABELA ignored
\label LABELB processed
this is label LABELB
```

## \$1LABEL
<a name="rsql-query-tool-flow-control-label"></a>

 Um novo comando para o Amazon Redshift RSQL. `\LABEL` estabelece um ponto de entrada para executar o programa, como o destino para um comando `\GOTO`.

O exemplo a seguir exibe a saída do comando.

```
(testcluster) user1@dev=# \! cat test.sql
select count(*) from lineitem limit 5;
\goto LABELB
\remark "this step was skipped by goto label";
\label LABELA
\remark 'this is label LABELA'
\label LABELB
\remark 'this is label LABELB'



(testcluster) user1@dev=# \i testgoto.sql
  count
 4307193
(1 row)

\label LABELA ignored
\label LABELB processed
this is label LABELB
```

## \$1IF (\$1ELSEIF, \$1ELSE, \$1ENDIF)
<a name="rsql-query-tool-flow-control-if"></a>

 `\IF` e comandos relacionados executam condicionalmente partes do script de entrada. Uma extensão do comando PSQL `\if` (`\elif`, `\else`, `\endif`). `\IF` e `\ELSEIF` oferecem suporte a expressões boolianas, inclusive condições `AND`, `OR` e `NOT`. 

O exemplo a seguir exibe a saída dos comandos.

```
(testcluster) user1@dev=# \! cat test.sql
SELECT query FROM stv_inflight LIMIT 1 \gset
select :query as query;
\if :query > 1000000
    \remark 'Query id is greater than 1000000'
\elseif :query = 1000000
    \remark 'Query id is equal than 1000000'
\else
    \remark 'Query id is less than 1000000'
\endif


(testcluster) user1@dev=# \i test.sql 
 query
--------
 994803
(1 row)
 
Query id is less than 1000000
```

Use `ERRORCODE` em sua lógica de ramificação.

```
\if :'ERRORCODE' = '00000'
    \remark 'The statement was executed without error'
\else
    \remark :LAST_ERROR_MESSAGE
\endif
```

Use `\GOTO` dentro de um bloco `\IF` para controlar como o código será executado.

# Variáveis do Amazon Redshift RSQL
<a name="rsql-query-tool-variables"></a>

 Algumas palavras-chave funcionam como variáveis no RSQL. Você pode definir cada uma delas para um valor específico ou redefinir o valor. A maioria está definida com `\rset`, que tem um modo interativo e um modo em lote. Os comandos podem ser definidos em minúsculas ou maiúsculas.

## ACTIVITYCOUNT
<a name="rsql-query-tool-activitycount"></a>

 Indica o número de linhas afetadas pela última solicitação enviada. Para uma solicitação de retorno de dados, esse é o número de linhas retornadas ao RSQL do banco de dados. O valor é 0 ou um inteiro positivo. O valor máximo é 18.446.744.073.709.551.615. 

 A variável especialmente tratada `ACTIVITYCOUNT` é semelhante à variável `ROW_COUNT`. Porém, `ROW_COUNT` não informa à aplicação cliente a quantidade de linhas afetadas na conclusão do comando para `SELECT`, `COPY` ou `UNLOAD`. Mas `ACTIVITYCOUNT` o faz. 

activitycount\$101.sql:

```
select viewname, schemaname
from pg_views
where schemaname = 'not_existing_schema';
\if :ACTIVITYCOUNT = 0
\remark 'views do not exist'
\endif
```

Resultado no console:

```
viewname | schemaname
----------+------------
(0 rows)

views do not exist
```

## ERRORLEVEL
<a name="rsql-query-tool-describe-rset-errorlevel"></a>

Atribui aos erros níveis de gravidade. Use os níveis de gravidade para determinar um curso de ação. Se o comando `ERRORLEVEL` não foi usado, seu valor é `ON` por padrão.

errorlevel\$101.sql:

```
\rset errorlevel 42P01 severity 0

select * from tbl;

select 1 as col;

\echo exit
\quit
```

Resultado no console:

```
Errorlevel is on.
rsql: ERROR: relation "tbl" does not exist
(1 row)

col
1

exit
```

## HEADING e RTITLE
<a name="rsql-query-tool-describe-rset-heading-rtitle"></a>

Permite que os usuários especifiquem um cabeçalho que aparece no início de um relatório. O cabeçalho especificado pelo comando `RSET RTITLE` inclui automaticamente a data atual do sistema do computador cliente.

Conteúdo de rset\$1heading\$1rtitle\$102.rsql:

```
\remark Starting...
\rset rtitle "Marketing Department||Confidential//Third Quarter//Chicago"
\rset width 70
\rset rformat on
select * from rsql_test.tbl_currency order by id limit 2;
\exit
\remark Finishing...
```

Resultado no console:

```
Starting...
Rtitle is set to: &DATE||Marketing Department||Confidential//Third Quarter//Chicago (Changes will take effect after RFORMAT is
switched ON)
Target width is 70.
Rformat is on.
09/11/20       Marketing       Department Confidential
                  Third Quarter
                     Chicago
id  | bankid  | name |      start_date
100 |       1 | USD | 2020-09-11 10:51:39.106905
110 |       1 | EUR | 2020-09-11 10:51:39.106905
(2 rows)

Press any key to continue . . .
```

## MAXERROR
<a name="rsql-query-tool-describe-rset-maxerror"></a>

designa um nível máximo de gravidade de erro além do qual o RSQL termina o processamento do trabalho. Os códigos de retorno são valores inteiros que o RSQL retorna ao sistema operacional cliente após a conclusão de cada trabalho ou tarefa. O valor do código de retorno indica o status de conclusão do trabalho ou tarefa. Se um script contiver uma instrução que produza um nível de gravidade de erro maior que o valor `maxerror` designado, o RSQL sai imediatamente. Portanto, para que o RSQL saia em um nível de gravidade de erro 8, use `RSET MAXERROR 7`.

Conteúdo de maxerror\$101.sql:

```
\rset maxerror 0
                        
select 1 as col;

\quit
```

Resultado no console:

```
Maxerror is default.
(1 row)

col
1
```

## RFORMAT
<a name="rsql-query-tool-describe-rset-heading-rformat"></a>

Permite que os usuários especifiquem se as configurações serão aplicadas para os comandos de formatação.

Conteúdo rset\$1rformat.rsql:

```
\remark Starting...
\pset border 2
\pset format wrapped
\pset expanded on
\pset title 'Great Title'
select * from rsql_test.tbl_long where id = 500;
\rset rformat
select * from rsql_test.tbl_long where id = 500;
\rset rformat off
select * from rsql_test.tbl_long where id = 500;
\rset rformat on
select * from rsql_test.tbl_long where id = 500;
\exit
\remark Finishing...
```

Resultado no console:

```
Starting...
Border style is 2. (Changes will take effect after RFORMAT is switched ON)
Output format is wrapped. (Changes will take effect after RFORMAT is switched ON)
Expanded display is on. (Changes will take effect after RFORMAT is switched ON)
Title is "Great Title". (Changes will take effect after RFORMAT is switched ON)
id  |                                                             long_string
500 | In general, the higher the number the more borders and lines the tables will have, but details depend on the particular
format.
(1 row)

Rformat is on.
Great Title
+-[ RECORD 1 ]+----------------------------------------------------------------------------------------------------------------------
-----------+
| id           | 500
|
| long_string | In general, the higher the number the more borders and lines the tables will have, but details depend on the
particular format. |
+-------------+----------------------------------------------------------------------------------------------------------------------
-----------+

Rformat is off.
id  |                                                             long_string
500 | In general, the higher the number the more borders and lines the tables will have, but details depend on the particular format.
(1 row)

Rformat is on.
Great Title
+-[ RECORD 1 ]+----------------------------------------------------------------------------------------------------------------------
-----------+
| id           | 500
|
| long_string | In general, the higher the number the more borders and lines the tables will have, but details depend on the
particular format. |
+-------------+----------------------------------------------------------------------------------------------------------------------
-----------+
Press any key to continue . . .
```

## ROW\$1COUNT
<a name="rsql-query-tool-describe-rset-row_count"></a>

Obtém o número de registros afetados pela consulta anterior. Geralmente é usado para conferir um resultado, como no seguinte fragmento de código:

```
SET result = ROW_COUNT;

IF result = 0
...
```

## TITLEDASHES
<a name="rsql-query-tool-describe-rset-heading-titledashes"></a>

Esse controle permite que os usuários especifiquem se uma linha de caracteres de traço deve ser impressa acima dos dados de colunas retornados para instruções SQL.

Exemplo:

```
\rset titledashes on
select dept_no, emp_no, salary from rsql_test.EMPLOYEE
where dept_no = 100;
\rset titledashes off
select dept_no, emp_no, salary from rsql_test.EMPLOYEE
where dept_no = 100;
```

Resultado no console:

```
dept_no      emp_no          salary
----------- ----------- --------------------
100         1000346        1300.00
100         1000245        5000.00
100         1000262        2450.00

dept_no     emp_no         salary
100         1000346        1300.00
100         1000245        5000.00
100         1000262        2450.00
```

## WIDTH
<a name="rsql-query-tool-describe-rset-heading-width"></a>

Define o formato de saída como empacotado e especifica a largura de destino para cada linha em um relatório. Sem um parâmetro, ele retorna as configurações atuais para o formato e a largura do destino.

Conteúdo rset\$1width\$101.rsql:

```
\echo Starting...
\rset width
\rset width 50
\rset width
\quit
\echo Finishing...
```

Resultado no console:

```
Starting...
Target width is 75.
Target width is 50.
Target width is 50.
Press any key to continue . . .
```

Exemplo com parâmetro:

```
\echo Starting...
\rset rformat on
\pset format wrapped
select * from rsql_test.tbl_long where id = 500;
\rset width 50
select * from rsql_test.tbl_long where id = 500;
\quit
\echo Finishing...
```

Resultado no console:

```
Starting...
Rformat is on.
Output format is wrapped.
id  |                                          long_string
500 | In general, the higher the number the more borders and lines the ta.
    |.bles will have, but details depend on the particular format.
(1 row)

Target width is 50.
id  |                                          long_string
500 | In general, the higher the number the more.
    |. borders and lines the tables will have, b.
    |.ut details depend on the particular format.
    |..
(1 row)
Press any key to continue . . .
```

# Códigos de erro Amazon Redshift RSQL
<a name="rsql-query-tool-error-codes"></a>

Mensagens de sucesso, avisos e exceções:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/rsql-query-tool-error-codes.html)

Exceções de dados:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/rsql-query-tool-error-codes.html)

Violações de restrição de integridade:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/rsql-query-tool-error-codes.html)

# Variáveis de ambiente do Amazon Redshift RSQL
<a name="rsql-query-tool-environment-variables"></a>

 O Amazon Redshift RSQL pode usar variáveis de ambiente para selecionar valores de parâmetros padrão. 

## RSPASSWORD
<a name="rsql-query-tool-rspassword"></a>

**Importante**  
Não recomendamos usar essa variável de ambiente por motivos de segurança, pois alguns sistemas operacionais permitem que usuários não administrativos vejam variáveis de ambiente de processo.

 Define a senha do Amazon Redshift RSQL para usar na conexão com o Amazon Redshift. Essa variável de ambiente requer o Amazon Redshift RSQL 1.0.4 ou posterior. 

 O RSQL prioriza o RSPASSWORD caso esteja definido. Se o RSPASSWORD não estiver definido e você estiver se conectando usando um DSN, o RSQL usará a senha dos parâmetros do arquivo DSN. Por fim, se o RSPASSWORD não estiver definido e você não estiver usando um DSN, o RSQL exibirá uma solicitação de senha depois de tentar se conectar. 

Veja a seguir um exemplo de como definir um RSPASSWORD:

```
export RSPASSWORD=TestPassw0rd
```

# Usar um perfil de autenticação para se conectar ao Amazon Redshift
<a name="connecting-with-authentication-profiles"></a>

Se você tiver muitas conexões com o Amazon Redshift, poderá ser difícil gerenciar as configurações para todas elas. Muitas vezes, cada conexão JDBC ou ODBC usa opções de configuração específicas. Com um perfil de autenticação, você pode armazenar opções de conexão juntas. Dessa forma, seus usuários podem escolher um perfil para se conectar e evitar o gerenciamento de configurações para opções individuais. Os perfis podem ser aplicados a vários cenários e tipos de usuário.

Depois de criar um perfil de autenticação, os usuários podem adicionar o perfil pronto para uso a uma cadeia de conexão. Com isso, eles podem se conectar ao Amazon Redshift com as configurações corretas para cada função e caso de uso.

Para obter informações de API do Amazon Redshift, consulte [CreateAuthenticationProfile](https://docs.aws.amazon.com/redshift/latest/APIReference/redshift-api.pdf#API_CreateAuthenticationProfile). 

# Criar um perfil de autenticação
<a name="connecting-with-authentication-profiles-creating"></a>

Com o AWS CLI, você cria um perfil de autenticação com o comando `create-authentication-profile`. Isso pressupõe que você tenha um cluster do Amazon Redshift existente e um banco de dados existente. Suas credenciais devem ter permissão para se conectar ao banco de dados do Amazon Redshift e direitos para buscar o perfil de autenticação. Forneça as opções de configuração como uma string JSON ou referencie um arquivo que contenha sua string JSON. 

```
create-authentication-profile --authentication-profile-name<value: String> --authentication-profile-content<value: String>
```

 O exemplo a seguir cria um perfil chamado `ExampleProfileName`. Aqui, você pode adicionar chaves e valores que definem o nome do cluster e outras configurações de opção, como uma string JSON. 

```
create-authentication-profile --authentication-profile-name "ExampleProfileName" --authentication-profile-content "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}"
}
```

 Esse comando cria o perfil com as configurações JSON especificadas. Retorna-se o seguinte resultado, indicando que o perfil foi criado. 

 `{"AuthenticationProfileName": "ExampleProfileName", "AuthenticationProfileContent": "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}" } ` 

## Limitações e cotas para criar um perfil de autenticação
<a name="connecting-with-authentication-profiles-limitations"></a>

Cada cliente tem uma cota de dez (10) perfis de autenticação.

Podem ocorrer alguns erros com perfis de autenticação. Por exemplo, se você criar um novo perfil com um nome existente ou se exceder sua cota de perfil. Para obter mais informações, consulte [CreateAuthenticationProfile](https://docs.aws.amazon.com/redshift/latest/APIReference/redshift-api.pdf#API_CreateAuthenticationProfile). 

Não é possível armazenar determinadas chaves e valores de opção para cadeias de conexão JDBC, ODBC e Python no repositório de perfis de autenticação: 
+ `AccessKeyID`
+ `access_key_id`
+ `SecretAccessKey`
+ `secret_access_key_id`
+ `PWD`
+ `Password`
+ `password`

Não é possível armazenar a chave ou o valor `AuthProfile` no repositório de perfis, para cadeias de conexão JDBC ou ODBC. Para conexões Python, não é possível armazenar `auth_profile`. 

Os perfis de autenticação são armazenados no Amazon DynamoDB e gerenciados pela AWS.

# Conectar-se a um perfil de autenticação
<a name="connecting-with-authentication-profiles-using"></a>

Depois de criar um perfil de autenticação, é possível incluir o nome do perfil como uma opção de conexão para o JDBC versão 2.0 `AuthProfile`. Usar essa opção de conexão recupera as configurações armazenadas.

```
jdbc:redshift:iam://endpoint:port/database?AuthProfile=<Profile-Name>&AccessKeyID=<Caller-Access-Key>&SecretAccessKey=<Caller-Secret-Key>
```

Este é um exemplo de string URL do JDBC.

```
jdbc:redshift:iam://examplecluster:us-west-2/dev?AuthProfile="ExampleProfile"&AccessKeyID="AKIAIOSFODNN7EXAMPLE"&SecretAccessKey="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
```

Especifique `AccessKeyID` e `SecretAccessKey` na URL do JDBC, juntamente com o nome do perfil de autenticação.

Também é possível separar as opções de configuração com delimitadores de ponto e vírgula, como no exemplo a seguir, que inclui opções para registro em log.

```
jdbc:redshift:iam://my_redshift_end_point:5439/dev?LogLevel=6;LogPath=/tmp;AuthProfile=my_profile;AccessKeyID="AKIAIOSFODNN7EXAMPLE";SecretAccessKey="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
```

**nota**  
 Não acrescente informações confidenciais ao perfil de autenticação. Por exemplo, não armazene um valor `AccessKeyID` ou `SecretAccessKey` em um perfil de autenticação. O repositório de perfis de autenticação tem regras para proibir o armazenamento de chaves secretas. Você receberá um erro, caso tente armazenar uma chave e um valor associados a informações confidenciais. 

# Obter perfis de autenticação
<a name="connecting-with-authentication-profiles-getting"></a>

Para listar perfis de autenticação existentes, chame o comando a seguir.

```
describe-authentication-profiles --authentication-profile-name <value: String>
```

O exemplo a seguir mostra dois perfis recuperados. Se você não especificar um nome de perfil, todos os perfis serão retornados.

`{ "AuthenticationProfiles": [ { "AuthenticationProfileName": "testProfile1", "AuthenticationProfileContent": "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}" }, { "AuthenticationProfileName": "testProfile2", "AuthenticationProfileContent": "{\"AllowDBUserOverride\":\"1\",\"Client_ID\":\"ExampleClientID\",\"App_ID\":\"ExampleAppID\",\"AutoCreate\":false,\"enableFetchRingBuffer\":true,\"databaseMetadataCurrentDbOnly\":true}" } ] } `

# Solução de problemas de conexão no Amazon Redshift
<a name="troubleshooting-connections"></a>

 Se você está com problemas na conexão de uma ferramenta do cliente SQL com o seu cluster, existem várias coisas que pode verificar para reduzir o número de possibilidades para o motivo do problema. Se você estiver usando o SSL ou certificados de servidor, remova essa complexidade antes de tentar solucionar o problema de conexão. Você poderá adicioná-los de volta quando tiver encontrado uma solução. Para obter mais informações, consulte [Configurar as opções de segurança para conexões](connecting-ssl-support.md). 

Para ter informações sobre mudanças de comportamento na funcionalidade do Amazon Redshift que podem afetar sua aplicação, consulte [Mudanças de comportamento no Amazon Redshift](behavior-changes.md).

**Importante**  
O Amazon Redshift mudou a maneira como os certificados SSL são gerenciados. Se você tiver problemas para se conectar usando o SSL, talvez seja necessário atualizar os certificados CA raiz confiáveis. Para obter mais informações, consulte [Transição para certificados ACM das conexões SSL](connecting-transitioning-to-acm-certs.md).

 A seção a seguir apresenta algumas mensagens de erro de exemplo e possíveis soluções para os problemas de conexão. Como diferentes ferramentas do cliente SQL geram diferentes mensagens de erro, essa não é uma lista completa, mas deve ser um bom ponto de partida para a solução de problemas. 

## Conectar-se de fora do Amazon EC2 e confrontar-se com um problema de tempo limite do firewall
<a name="connecting-firewall-guidance"></a>



 A conexão do cliente com o banco de dados parece estar travada ou ter expirado por exceder o tempo limite ao executar consultas longas, como um comando de COPY. Nesse caso, você pode observar que o console do Amazon Redshift exibe que a consulta foi concluída, mas a própria ferramenta do cliente ainda parece estar executando a consulta. Os resultados da consulta podem estar ausentes ou incompletos, dependendo de quando a conexão foi interrompida. 

### Soluções possíveis:
<a name="connecting-firewall-guidance.Solutions"></a>

Esse problema ocorre quando você se conecta ao Amazon Redshift de uma máquina que não seja uma instância do Amazon EC2. Nesse caso, as conexões são encerradas por um componente intermediário de rede, como um firewall, após um período de inatividade. Esse é um comportamento típico que ocorre ao fazer logon em uma rede virtual privada (VPN) ou na rede local. 

Para evitar essas limitações de tempo, recomendamos as seguintes alterações:
+ Aumente os valores do sistema no cliente que controlam os tempos limite de TCP/IP. Faça essas alterações no computador que está sendo usado para se conectar ao cluster. O período limite deve ser ajustado para o cliente e a rede. Para obter mais informações, consulte [Alteração das configurações de tempo limite de TCP/IP](#connecting-firewall-guidance.change-tcpip-settings).
+ Opcionalmente, defina o comportamento de manutenção de atividade no nível do DSN. Para obter mais informações, consulte [Alteração das configurações de tempo limite do DSN](#connecting-firewall-guidance.change-dsn-settings).

### Alteração das configurações de tempo limite de TCP/IP
<a name="connecting-firewall-guidance.change-tcpip-settings"></a>

Para alterar as configurações de tempo limite de TCP/IP, configure essas definições de acordo com o sistema operacional usado para a conexão com o cluster. 
+ Linux - Se o seu cliente estiver executando no Linux, execute o seguinte comando como usuário root para alterar as configurações de tempo limite da sessão atual: 

  ```
  /sbin/sysctl -w net.ipv4.tcp_keepalive_time=200 net.ipv4.tcp_keepalive_intvl=200 net.ipv4.tcp_keepalive_probes=5
  ```

  Para manter as configurações, crie ou altere o arquivo `/etc/sysctl.conf` com os seguintes valores e, em seguida, reinicialize o sistema. 

  ```
  net.ipv4.tcp_keepalive_time=200
  net.ipv4.tcp_keepalive_intvl=200
  net.ipv4.tcp_keepalive_probes=5
  ```
+ Windows - Se o seu cliente for executado no Windows, edite os valores para as seguintes configurações de registro em HKEY\$1LOCAL\$1MACHINE\$1SYSTEM\$1CurrentControlSet\$1Services\$1Tcpip\$1Parameters\$1: 
  + KeepAliveTime: 30000
  + KeepAliveInterval: 1000
  + TcpMaxDataRetransmissions: 10

  Essas configurações usam o tipo de dados DWORD. Se elas não existem no caminho do registro, você pode criar as configurações e especificar esses valores recomendados. Para obter mais informações sobre como editar o registro do Windows, consulte a documentação do Windows. 

  Após configurar esses valores, reinicie seu computador para que as alterações sejam implementadas. 

 
+ Mac - Se o seu cliente estiver sendo executado em um Mac, execute os seguintes comandos para alterar as configurações de tempo limite da sessão atual: 

  ```
  sudo sysctl net.inet.tcp.keepintvl=200000
  sudo sysctl net.inet.tcp.keepidle=200000
  sudo sysctl net.inet.tcp.keepinit=200000
  sudo sysctl net.inet.tcp.always_keepalive=1
  ```

  Para manter as configurações, crie ou altere o arquivo `/etc/sysctl.conf` com os seguintes valores: 

  ```
  net.inet.tcp.keepidle=200000
  net.inet.tcp.keepintvl=200000
  net.inet.tcp.keepinit=200000
  net.inet.tcp.always_keepalive=1
  ```

  Reinicie seu computador e, em seguida, execute os seguintes comandos para verificar se os valores estão definidos. 

  ```
  sysctl net.inet.tcp.keepidle
  sysctl net.inet.tcp.keepintvl
  sysctl net.inet.tcp.keepinit
  sysctl net.inet.tcp.always_keepalive
  ```

### Alteração das configurações de tempo limite do DSN
<a name="connecting-firewall-guidance.change-dsn-settings"></a>

Você pode definir o comportamento de manutenção de atividade no nível do DSN, se desejar. Para isso, adicione ou modifique os seguintes parâmetros no arquivo odbc.ini: 

**KeepAlivesCount**  
O número de pacotes de keepalive de TCP que podem ser perdidos antes que a conexão seja considerada interrompida.

**KeepAlivesIdle**  
O número de segundos de inatividade antes que o driver envie um pacote de manutenções de atividade de TCP.

**KeepAlivesInterval**  
O número de segundos entre cada retransmissão de keepalive de TCP.

Se esses parâmetros não existem, ou se estão com o valor 0, o sistema usa os parâmetros de manutenção de atividade especificados para TCP/IP a fim de determinar o comportamento de manutenção de atividade do DSN. No Windows, os parâmetros de TCP/IP podem ser encontrados no registro em `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\`. No Linux e no macOS, os parâmetros de TCP/IP podem ser encontrados no arquivo sysctl.conf. 

## A conexão é recusada ou falha
<a name="connecting-refusal-failure-issues"></a>

Quando sua conexão for recusada ou falhar, você poderá receber um erro semelhante a um dos seguintes:
+ "Falha ao estabelecer uma conexão com *<endpoint>*."
+ “Não foi possível conectar-se ao servidor: a conexão expirou por exceder o tempo limite. O servidor está sendo executado no host *'<endpoint>'* e aceitando as conexões TCP/IP na porta *'<port>'*?"
+ "A conexão foi recusada. Certifique-se de que o nome do host e da porta estão corretos e o postmaster está aceitando conexões de TCP/IP.”

### Soluções possíveis:
<a name="connecting-refusal-failure-issues.Solutions"></a>

Geralmente, quando você recebe uma mensagem de erro indicando que não foi possível estabelecer uma conexão, o problema é relacionado à permissão de acesso ao cluster ou ao tráfego de rede que está chegando ao cluster. 

Para se conectar ao cluster de uma ferramenta de cliente fora da rede em que o cluster está, adicione uma regra de entrada ao grupo de segurança do cluster. A configuração da regra depende da criação do cluster do Amazon Redshift em uma nuvem privada virtual (VPC):
+ Se você criou o cluster do Amazon Redshift em uma nuvem privada virtual (VPC) com base no Amazon VPC, adicione uma regra de entrada ao grupo de segurança da VPC no endereço CIDR/IP no Amazon VPC. Para obter mais informações sobre a configuração de grupos de segurança da VPC para o cluster e opções acessíveis ao público geral, consulte [Recursos do Redshift em uma VPC](managing-clusters-vpc.md).
+  Se você criou seu cluster do Amazon Redshift fora de um VPC, adicione o endereço CIDR/endereço IP ao grupo de segurança do cluster no Amazon Redshift. Para obter mais informações sobre a configuração de grupos de segurança de clusters, consulte [Grupos de segurança do Amazon Redshift](security-network-isolation.md#working-with-security-groups).

Se você tentar se conectar ao cluster de uma ferramenta cliente que executa uma instância do Amazon EC2, deverá também adicionar uma regra de entrada. Nesse caso, adicione uma regra ao grupo de segurança do cluster. A regra deve especificar o grupo de segurança do Amazon EC2 associado à instância do Amazon EC2 da ferramenta cliente.

 Em alguns casos, pode haver uma camada entre o cliente e o servidor, como um firewall. Nesses casos, verifique se o firewall aceita conexões de entrada pela porta que foi configurada para o cluster. 

## O cliente e o driver são incompatíveis
<a name="connecting-architecture-mismatch"></a>

 Se o cliente e o driver forem incompatíveis, você poderá receber o seguinte erro: “O DSN especificado contém uma incompatibilidade de arquitetura entre o driver e a aplicação”. 

### Soluções possíveis:
<a name="connecting-architecture-mismatch.Solutions"></a>

 Quando você recebe uma mensagem de erro de incompatibilidade de arquiteturas ao tentar estabelecer uma conexão, isso significa que a ferramenta do cliente e o driver são incompatíveis. Isso ocorre porque as arquiteturas de sistema não correspondem. Por exemplo, isso pode ocorrer se você tiver uma ferramenta do cliente de 32 bits mas instalou uma versão do driver para 64 bits. Em algumas ocasiões, as ferramentas do cliente de 64 bits podem usar drivers de 32 bits, mas não é possível usar aplicativos de 32 bits com drivers de 64 bits. Certifique-se de que o driver e a ferramenta do cliente estão usando a mesma versão de arquitetura de sistema. 

## As consultas parecem travar e, às vezes, não se comunicam com o cluster
<a name="connecting-drop-issues"></a>

Você está tendo um problema com a conclusão das consultas, onde as consultas parecem estar em execução mas travam na ferramenta do cliente SQL. Às vezes, as consultas não aparecem no cluster, como nas tabelas do sistema ou no console do Amazon Redshift. 

### Soluções possíveis:
<a name="connecting-drop-issues.Solutions"></a>

 Esse problema pode ocorrer devido à perda de pacotes. Nesse caso, há uma diferença no tamanho da unidade de transmissão máxima (MTU) no caminho da rede entre dois hosts de IP (Internet Protocol). O tamanho de MTU determina o tamanho máximo, em bytes, de um pacote que pode ser transferido em um quadro Ethernet através de uma conexão de rede. Na AWS, alguns tipos de instância do Amazon EC2 oferecem suporte a um MTU de 1500 (frames Ethernet v2) e outros tipos de instância oferecem suporte a um MTU de 9001 (frames jumbo TCP/IP). 

 Para evitar problemas que podem ocorrer com as diferenças de tamanho de MTU, recomendamos a execução de uma das ações a seguir: 
+ Se o seu cluster usa a plataforma EC2-VPC, configure o grupo de segurança Amazon VPC com uma regra de entrada personalizada de protocolo de mensagem de controle da Internet (ICMP) que retorna `Destination Unreachable`. Assim, a mensagem instrui o host de origem a usar o menor tamanho de MTU no caminho de rede. Para obter mais detalhes sobre essa abordagem, consulte [Configuração de grupos de segurança para permitir o "destino inacessível" do ICMP](#configure-custom-icmp). 
+ Se o cluster usa a plataforma EC2-Classic, ou se você não pode permitir a regra de entrada do ICMP, desabilite os quadros jumbo de TCP/IP para que os quadros de Ethernet v2 sejam usados. Para obter mais detalhes sobre essa abordagem, consulte [Configuração da MTU de uma instância](#set-mtu).

### Configuração de grupos de segurança para permitir o "destino inacessível" do ICMP
<a name="configure-custom-icmp"></a>

 Quando há alguma diferença no tamanho de MTU da rede entre dois hosts, em primeiro lugar certifique-se de que suas configurações de rede não estão obstruindo a descoberta de MTU do caminho (PMTUD). A PMTUD permite que o host de recepção responda ao host de origem com a seguinte mensagem de ICMP: `Destination Unreachable: fragmentation needed and DF set (ICMP Type 3, Code 4)`. Essa mensagem instrui o host de origem a usar o menor tamanho de MTU no caminho de rede para enviar novamente a solicitação. Sem essa negociação, a perda de pacotes pode ocorrer porque a solicitação é muito grande para o host aceitar. Para obter mais informações sobre a mensagem do ICMP, acesse [RFC792](http://tools.ietf.org/html/rfc792) no website *Internet Engineering Task Force (IETF)*. 

 Se você não configurar explicitamente esta regra de entrada ICMP para seu grupo de segurança do Amazon VPC, PMTUD será bloqueado. Na AWS, grupos de segurança são firewalls virtuais que especificam regras para o tráfego de entrada e saída de uma instância. Para obter informações sobre o grupo de segurança de cluster do Amazon Redshift, consulte [Grupos de segurança do Amazon Redshift](security-network-isolation.md#working-with-security-groups). Para clusters que usam a plataforma EC2-VPC, o Amazon Redshift usa grupos de segurança da VPC para permitir ou negar o tráfego para o cluster. Por padrão, os grupos de segurança são bloqueados e negam todo o tráfego de entrada. Consulte informações sobre como definir regras de entrada e saída para instâncias EC2-Classic ou EC2-VPC em [Differences between instances in EC2-Classic and a VPC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-classic-platform.html#ec2_classic_platform) no *Guia do usuário do Amazon EC2*.

 Para obter mais informações sobre como adicionar regras aos grupos de segurança da VPC, consulte [Grupos de segurança da VPC](managing-vpc-security-groups.md). Consulte mais informações sobre as configurações específicas de PMTUD exigidas nessa regra em [Path MTU Discovery](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/network_mtu.html#path_mtu_discovery) no *Guia do usuário do Amazon EC2*. 

### Configuração da MTU de uma instância
<a name="set-mtu"></a>

Em alguns casos, o cluster pode usar a plataforma EC2-Classic ou você não pode permitir a regra ICMP personalizada para tráfego de entrada. Nesses casos, é recomendado que você ajuste o MTU para 1500 na interface de rede (NIC) das instâncias do EC2 a partir das quais você se conecta ao cluster do Amazon Redshift. Esse ajuste desabilita os quadros enormes de TCP/IP para garantir que as conexões usem consistentemente o mesmo tamanho de pacote. No entanto, essa opção reduz totalmente o throughput máximo da rede para a instância, não apenas para conexões com o Amazon Redshift. Para ter mais informações, consulte os procedimentos a seguir. <a name="set-mtu-win-os"></a>

**Para definir a MTU em um sistema operacional Microsoft Windows**

Se o cliente é executado em um sistema operacional Microsoft Windows, você pode revisar e definir o valor da MTU para o adaptador de Ethernet usando o comando `netsh`. 

1. Execute o comando a seguir para determinar o valor atual da MTU: 

   ```
   netsh interface ipv4 show subinterfaces
   ```

1.  Revise o valor `MTU` para o adaptador `Ethernet` na saída. 

1. Se o valor não for `1500`, execute o seguinte comando para defini-lo: 

   ```
   netsh interface ipv4 set subinterface "Ethernet" mtu=1500 store=persistent
   ```

   Após configurar esse valor, reinicie seu computador para que as alterações sejam implementadas.<a name="set-mtu-linux-os"></a>

**Para definir a MTU em um sistema operacional Linux**

 Se o cliente é executado em um sistema operacional Linux, você pode revisar e definir o valor da MTU usando o comando `ip`. 

1. Execute o comando a seguir para determinar o valor atual da MTU: 

   ```
   $ ip link show eth0
   ```

1. Revise o valor da `mtu` na saída. 

1. Se o valor não for `1500`, execute o seguinte comando para defini-lo: 

   ```
   $ sudo ip link set dev eth0 mtu 1500
   ```<a name="set-mtu-mac-os"></a>

**Para definir a MTU em um sistema operacional Mac**
+ Siga as instruções no site de suporte do macOS sobre `How to change the MTU for troubleshooting purposes`. Para obter mais informações, pesquise o [site de suporte](https://support.apple.com). 

## Como configurar o parâmetro JDBC para o tamanho da busca
<a name="jdbc_fetch_size"></a>

Por padrão, o driver JDBC do Redshift usa um buffer em anel para gerenciar a memória com eficiência e evitar erros de falta de memória. O parâmetro de tamanho da busca só é aplicável quando o buffer em anel está explicitamente desabilitado. Para acessar mais informações, consulte [link](https://docs.aws.amazon.com/redshift/latest/mgmt/jdbc20-configuration-options.html#jdbc20-enablefetchringbuffer-option). Nessa configuração, você deve definir o tamanho da busca para controlar quantas linhas são recuperadas em cada lote.

Use o parâmetro de tamanho da busca quando:
+ Você precisa de controle refinado sobre lotes baseados em linhas.
+ Trabalhar com aplicações legadas que exigem um comportamento tradicional de tamanho da busca

Por padrão, quando o buffer em anel está desabilitado, o driver JDBC coleta todos os resultados de uma consulta de uma só vez. As consultas que exibem grandes conjuntos de resultados podem consumir memória excessiva. Para recuperar conjuntos de resultados em lote em vez de todos de uma vez, defina o parâmetro de tamanho da busca JDBC em sua aplicação.

**nota**  
O tamanho de busca não é compatível com ODBC.

Para obter uma melhor performance, defina o tamanho de busca como o maior valor que não resulte em erros de falta de memória. Um valor menor de tamanho de busca resulta em mais viagens do servidor, o que prolonga os tempos de execução. O servidor reserva recursos, incluindo a vaga de consulta WLM e memória associada, até que o cliente recupere todo o conjunto de resultados ou até que a consulta seja cancelada. Quando você ajusta o tamanho de busca adequadamente, esses recursos são liberados mais rapidamente, disponibilizando-os para outras consultas.

**nota**  
Se você precisar extrair grandes conjuntos de dados, recomendamos o uso de uma instrução [UNLOAD](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html) para transferir os dados ao Amazon S3. Quando você usa UNLOAD, os nós de computação funcionam em paralelo para acelerar a transferência de dados.

Para obter mais informações sobre a configuração do parâmetro JDBC para o tamanho de busca, acesse [Obtenção de resultados com base em um cursor](https://jdbc.postgresql.org/documentation/query/#getting-results-based-on-a-cursor) na documentação do PostgreSQL.