

# Configurações de grupo de parâmetros de cluster de banco de dados para o Babelfish
<a name="babelfish-configuration"></a>

Ao criar um cluster de banco de dados do Aurora PostgreSQL e escolher **Turn on Babelfish** (Ativar Babelfish), um grupo de parâmetros de cluster de banco de dados é criado para você automaticamente ao escolher **Create new** (Criar). Esse grupo de parâmetros de cluster de banco de dados é baseado no grupo de parâmetros de cluster de banco de dados do Aurora PostgreSQL para a versão do Aurora PostgreSQL escolhida para a instalação, por exemplo, o Aurora PostgreSQL versão 14. Ele é nomeado usando o seguinte padrão geral: 

```
custom-aurora-postgresql14-babelfish-compat-3
```

Você pode alterar as configurações a seguir durante o processo de criação do cluster, mas algumas delas não podem ser alteradas depois de armazenadas no grupo de parâmetros personalizado, então escolha com cuidado:
+ Banco de dados único ou vários bancos de dados
+ Localidade de agrupamentos padrão
+ Nome do agrupamento
+ Grupo de parâmetros de banco de dados

Para usar um grupo de parâmetros de cluster de banco de dados do Aurora PostgreSQL versão 13 ou superior, edite o grupo e defina o parâmetro `babelfish_status` como `on`. Especifique todas as opções do Babelfish antes de criar o cluster do Aurora PostgreSQL. Para saber mais, consulte [Grupos de parâmetros para Amazon Aurora](USER_WorkingWithParamGroups.md).

Os parâmetros a seguir controlam as preferências do Babelfish. Salvo indicação em contrário na Descrição, os parâmetros podem ser modificados. O valor padrão está incluído na descrição. Para ver os valores permitidos para qualquer parâmetro, faça o seguinte: 

**nota**  
Ao associar um novo grupo de parâmetros de banco de dados a uma instância de banco de dados, os parâmetros estáticos e dinâmicos modificados serão aplicados somente após a reinicialização da instância de banco de dados. No entanto, se você modificar parâmetros dinâmicos no grupo de parâmetros de banco de dados depois de associá-lo à instância de banco de dados, essas alterações serão aplicadas imediatamente sem uma reinicialização.

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

1. Escolha **Parameter groups** (Grupos de parâmetros) no menu de navegação.

1. Escolha o grupo de parâmetros do cluster de banco de dados `default.aurora-postgresql14` na lista.

1. Insira o nome de um parâmetro no campo de pesquisa. Por exemplo, insira `babelfishpg_tsql.default_locale` no campo de pesquisa para exibir esse parâmetro e seu valor padrão e configurações permitidas. 
**nota**  
Os bancos de dados globais do Babelfish para Aurora PostgreSQL funcionarão em regiões secundárias somente se os parâmetros a seguir estiverem ativados nessas regiões.


| Parameter | Descrição | Aplicar tipo | É modificável | 
| --- | --- | --- | --- | 
| babelfishpg\_tsql.apg\_enable\_correlated\_scalar\_transform | Permite que o planejador transforme a subconsulta escalar correlacionada no Babelfish. (Padrão: ativado) (Permitido: ativado, desativado)  | dinâmico | true | 
| babelfishpg\_tsql.apg\_enable\_subquery\_cache | Permite o uso de cache para subconsultas escalares correlacionadas. (Padrão: ativado) (Permitido: ativado, desativado)  | dinâmico | true | 
| babelfishpg\_tds.tds\_default\_numeric\_scale | Define a escala padrão do tipo numérico a ser enviada nos metadados da coluna TDS se o mecanismo não especificar uma. (Padrão: 8) (Permitido: 0 a 38)  | dinâmico | true | 
| babelfishpg\_tds.tds\_default\_numeric\_precision | Um valor inteiro que define a precisão padrão do tipo numérico a ser enviada nos metadados da coluna do TDS se o mecanismo não especificar uma. (Padrão: 38) (Permitido: 1 a 38) | dinâmico | true | 
| babelfishpg\_tds.tds\_default\_packet\_size | Um valor inteiro que define o tamanho do pacote padrão para conectar clientes do SQL Server. (Padrão: 4096) (Permitido: 512 a 32767) | dinâmico | true | 
| babelfishpg\_tds.tds\_default\_protocol\_version | Um valor inteiro que define uma versão padrão do protocolo TDS para conectar clientes. (Padrão: DEFAULT) (Permitido: TDSv7.0, TDSv7.1, TDSv7.1.1, TDSv7.2, TDSv7.3A, TDSv7.3B, TDSv7.4, DEFAULT) | dinâmico | true | 
| babelfishpg\_tds.default\_server\_name | Uma string que identifica o nome padrão do servidor do Babelfish. (Padrão: Microsoft SQL Server) (Permitido: null) | dinâmico | true | 
| babelfishpg\_tds.tds\_debug\_log\_level | Um valor inteiro que define o nível de registro em log no TDS; 0 desativa o registro em log. (Padrão: 1) (Permitido: 0, 1, 2, 3) | dinâmico | true | 
| babelfishpg\_tds.listen\_addresses | Uma string que define o nome do host ou um ou mais endereços IP nos quais ouvir o TDS. Esse parâmetro não pode ser modificado após a criação do cluster de banco de dados do Babelfish. (Padrão: \*) (Permitido: null)  | – | false | 
| babelfishpg\_tds.port | Um valor inteiro que especifica a porta TCP utilizada para solicitações na sintaxe do SQL Server. (Padrão: 1433) (Permitido: 1 a 65535) | estático | true | 
| babelfishpg\_tds.tds\_ssl\_encrypt | Um valor booliano que ativa (0) ou desativa (1) a criptografia de dados que atravessam a porta do ouvinte do TDS. Para obter informações detalhadas sobre como utilizar o SSL para conexões de cliente, consulte [Configurações SSL e conexões do cliente do Babelfish](#babelfish-ssl). (Padrão: 0) (Permitido: 0, 1) | dinâmico | true | 
| babelfishpg\_tds.tds\_ssl\_max\_protocol\_version | Uma string que especifica a versão mais alta do protocolo SSL/TLS a ser utilizada na sessão do TDS. (Padrão: “TLSv1.2”) (Permitido: “TLSv1”, “TLSv1.1”, “TLSv1.2”) | dinâmico | true | 
| babelfishpg\_tds.tds\_ssl\_min\_protocol\_version | Uma string que especifica a versão mínima do protocolo SSL/TLS a ser utilizada na sessão do TDS. (Padrão: “TLSv1.2” do Aurora PostgreSQL versão 16, “TLSv1.1” para versões anteriores ao Aurora PostgreSQL versão 16) (Permitido: “TLSv1”, “TLSv1.1”, “TLSv1.2”). | dinâmico | true | 
| babelfishpg\_tds.unix\_socket\_directories | Uma string que identifica o diretório de soquetes Unix do servidor do TDS. Esse parâmetro não pode ser modificado após a criação do cluster de banco de dados do Babelfish. (Padrão: /tmp) (Permitido: null) | – | false | 
| babelfishpg\_tds.unix\_socket\_group | Uma string que identifica o grupo de soquetes Unix do servidor do TDS. Esse parâmetro não pode ser modificado após a criação do cluster de banco de dados do Babelfish. (Padrão: rdsdb) (Permitido: null) | – | false | 
| babelfishpg\_tsql.default\_locale | Uma string que especifica a localidade padrão usada para agrupamentos do Babelfish. A localidade padrão é apenas a localidade e não inclui qualificadores.<br />Defina esse parâmetro ao provisionar um cluster de banco de dados do Babelfish. Depois que o cluster de banco de dados for provisionado, as alterações nesse parâmetro serão ignoradas. (Padrão: en\_US) (Permitido: consulte [tabelas](babelfish-collations.md))  | estático | true | 
| babelfishpg\_tsql.migration\_mode | Uma lista não modificável que especifica a compatibilidade com bancos de dados de usuário único ou vários usuários. Defina esse parâmetro ao provisionar um cluster de banco de dados do Babelfish. Após o provisionamento do cluster de banco de dados, não é possível modificar o valor desse parâmetro. (Padrão: multi-db do Aurora PostgreSQL versão 16, single-db para versões anteriores à versão 16 do Aurora PostgreSQL) (Permitidos: single-db, multi-db, null) | estático | true | 
| babelfishpg\_tsql.server\_collation\_name | A string que especifica o nome do agrupamento utilizado para ações em nível de servidor. Defina esse parâmetro ao provisionar um cluster de banco de dados do Babelfish. Após o provisionamento do cluster de banco de dados, não modifique o valor desse parâmetro. (Padrão: bbf\_unicode\_general\_ci\_as) (Permitido: consulte [tabelas](babelfish-collations.md)) | estático | true | 
| babelfishpg\_tsql.version | Uma string que define a saída da variável @@VERSION. Não modifique esse valor para clusters de bancos de dados Aurora PostgreSQL. (Padrão: null) (Permitido: padrão) | dinâmico | true | 
| rds.babelfish\_status | Uma string que define o estado da funcionalidade do Babelfish. Quando esse parâmetro está definido como `datatypesonly`, o Babelfish está desativado, mas os tipos de dados do SQL Server ainda estão disponíveis. (Padrão: desativado) (Permitido: ativado, desativado, datatypesonly) | estático | true | 
| unix\_socket\_permissions | Um número inteiro que define as permissões de soquete Unix do servidor do TDS. Esse parâmetro não pode ser modificado após a criação do cluster de banco de dados do Babelfish. (Padrão: 0700) (Permitido: 0 a 511) | – | false | 

## Configurações SSL e conexões do cliente do Babelfish
<a name="babelfish-ssl"></a>

Para exigir conexões SSL/TLS com o cluster de bancos de dados do Babelfish para Aurora PostgreSQL, use o parâmetro `rds.force_ssl`.
+ Para exigir conexões SSL/TLS, defina o valor do parâmetro `rds.force_ssl` como 1 (ativado).
+ Para desativar as conexões SSL/TLS obrigatórias, defina o valor do parâmetro `rds.force_ssl` como 0 (desativado).

O valor padrão desse parâmetro depende da versão do Aurora PostgreSQL:
+ Para o Aurora PostgreSQL versões 17 e posteriores: o valor padrão é 1 (ativado).
+ Para o Aurora PostgreSQL versões 16 e posteriores: o valor padrão é 0 (desativado).

**nota**  
Quando você realiza uma atualização de versão principal do Aurora PostgreSQL versão 16 ou anterior para a versão 17 ou posterior, o valor padrão do parâmetro muda de 0 (desativado) para 1 (ativado). Essa alteração pode causar falhas de conectividade em aplicações que não estão configuradas para SSL. Você pode reverter para o comportamento padrão anterior definindo esse parâmetro como 0 (desativado).

Para obter detalhes específicos do driver, consulte [Conectar-se a um cluster de banco de dados do Babelfish](babelfish-connect.md).

Quando um cliente se conecta à porta do TDS (`1433` padrão), o Babelfish compara a configuração do Secure Sockets Layer (SSL) enviada durante o handshake do cliente com a configuração do parâmetro SSL do Babelfish (`tds_ssl_encrypt`). O Babelfish então determina se uma conexão é permitida. Em caso positivo, o comportamento de criptografia pode ser aplicado ou não, dependendo das configurações de parâmetros e do suporte à criptografia oferecido pelo cliente.

A seguinte tabela mostra como o Babelfish se comporta para cada combinação.


| Configuração SSL do cliente | Configuração SSL do Babelfish | rds.force\_ssl | Conexão permitida? | Valor retornado ao cliente | 
| --- | --- | --- | --- | --- | 
| ENCRYPT\_ON | Any | Any | Permitido, a conexão inteira é criptografada | ENCRYPT\_ON | 
| ENCRYPT\_OFF | tds\_ssl\_encrypt=1 | Any | Permitido, a conexão inteira é criptografada | ENCRYPT\_REQ | 
| ENCRYPT\_OFF | tds\_ssl\_encrypt=0 | rds.force\_ssl=0 | Permitida, o pacote de login é criptografado | ENCRYPT\_OFF | 
| ENCRYPT\_OFF | tds\_ssl\_encrypt=0 | rds.force\_ssl=1 | Não, conexão encerrada | ENCRYPT\_OFF | 
| ENCRYPT\_NOT\_SUP | tds\_ssl\_encrypt=0 | rds.force\_ssl=0 | Sim | ENCRYPT\_NOT\_SUP | 
| ENCRYPT\_NOT\_SUP | tds\_ssl\_encrypt=1 | Any | Não, conexão encerrada  | ENCRYPT\_REQ | 
| ENCRYPT\_NOT\_SUP | tds\_ssl\_encrypt=0 | rds.force\_ssl=1 | Não, conexão encerrada | ENCRYPT\_NOT\_SUP | 
| ENCRYPT\_CLIENT\_CERT | Any | Any | Não, conexão encerrada | Sem suporte | 