Especificação de parâmetros de banco de dados - Amazon Relational Database Service

Especificação de parâmetros de banco de dados

Os tipos de parâmetros de banco de dados incluem os seguintes:

  • Inteiro

  • Booliano

  • String

  • Longo

  • Double

  • Timestamp

  • Objeto de outros tipos de dados definidos

  • Matriz de valores do tipo integer, boolean, string, long, double, timestamp ou object

Você também pode especificar parâmetros inteiros e booleanos usando expressões, fórmulas e funções.

Para o mecanismo do Oracle, você pode usar a variável de fórmula DBInstanceClassHugePagesDefault para especificar um parâmetro de banco de dados booleano. Consulte Variáveis de fórmulas de parâmetros de banco de dados.

Para o mecanismo do PostgreSQL, você pode usar uma expressão para especificar um parâmetro de banco de dados booleano. Consulte Expressões de parâmetro de banco de dados booleanas.

Fórmulas de parâmetros de banco de dados

Uma fórmula de parâmetro de banco de dados é uma expressão resolvida como um valor inteiro ou booliano. A expressão é delimitada por chaves: {}. você pode usar uma fórmula para um valor de parâmetro de banco de dados ou como um argumento para uma função de parâmetro de banco de dados.

Sintaxe
{FormulaVariable} {FormulaVariable*Integer} {FormulaVariable*Integer/Integer} {FormulaVariable/Integer}

Variáveis de fórmulas de parâmetros de banco de dados

Cada variável de fórmula retorna um inteiro ou um valor booliano. Os nomes das variáveis diferenciam maiúsculas de minúsculas.

AllocatedStorage

Retorna um inteiro que representa o tamanho, em bytes, do volume de dados.

DBInstanceClassHugePagesDefault

Retorna um valor Booliano. Atualmente, é compatível apenas com os mecanismos do Oracle.

Para obter mais informações, consulte Ativar o HugePages para uma instância do RDS para Oracle.

DBInstanceClassMemory

Retorna um número inteiro para o número de bytes de memória disponíveis para o processo do banco de dados. Esse número é calculado internamente começando com a quantidade total de memória para a classe de instância de banco de dados. A partir disso, o cálculo subtrai a memória reservada para o sistema operacional e os processos do RDS que gerenciam a instância. Portanto, o número é sempre um pouco menor do que as figuras de memória mostradas nas tabelas de classe de instância em Classes de instância de banco de dados do . O valor exato depende de uma combinação de fatores. São eles classe de instância, mecanismo de banco de dados e se ele se aplica a uma instância do RDS ou a uma instância que faça parte de um cluster do Aurora.

DBInstanceVCPU

Retorna um número inteiro representando a quantidade de unidades de processamento centrais virtuais (vCPUs) usadas pelo Amazon RDS para gerenciar a instância.

EndPointPort

Retorna um inteiro representando a porta usada ao se conectar à instância de banco de dados.

Réplica TrueIF

Retorna 1 se a instância de banco de dados é uma réplica de leitura e 0 se não é. Esse é o valor padrão do read_only parâmetro no .

Operadores de fórmulas de parâmetros de banco de dados

Fórmulas de parâmetros de banco de dados que oferecem suporte a dois operadores: divisão e multiplicação.

Operador de divisão: /

Divide o dividendo pelo divisor, retornando um quociente inteiro. Casas decimais no quociente são truncadas, não arredondadas.

Sintaxe

dividend / divisor

Os argumentos de dividendo e divisor devem ser expressões de inteiros.

Operador de multiplicação: *

Multiplica as expressões, retornando seu produto. As casas decimais nas expressões são truncadas, e não arredondadas.

Sintaxe

expression * expression

Ambas as expressões devem ser números inteiros.

Funções de parâmetros de banco de dados

Você especifica os argumentos das funções de parâmetro de banco de dados como inteiros ou fórmulas. Cada função deve ter pelo menos um argumento. Especifique vários argumentos como uma lista separada por vírgulas. A lista não pode ter membros vazios, como argument1,,argument3. Nomes de função não diferenciam maiúsculas de minúsculas.

IF

Retorna um argumento.

Atualmente, é compatível apenas com mecanismos do Oracle e o único primeiro argumento compatível é {DBInstanceClassHugePagesDefault}. Para obter mais informações, consulte Ativar o HugePages para uma instância do RDS para Oracle.

Sintaxe

IF(argument1, argument2, argument3)

Retorna o segundo argumento se o primeiro argumento é avaliado como verdadeiro. Retorna o terceiro argumento, caso contrário.

GREATEST

Retorna o maior valor de uma lista de números inteiros ou fórmulas de parâmetros.

Sintaxe

GREATEST(argument1, argument2,...argumentn)

Retorna um número inteiro.

LEAST

Retorna o menor valor de uma lista de números inteiros ou fórmulas de parâmetros.

Sintaxe

LEAST(argument1, argument2,...argumentn)

Retorna um número inteiro.

SUM

Adiciona os valores dos números inteiros ou fórmulas de parâmetros especificados.

Sintaxe

SUM(argument1, argument2,...argumentn)

Retorna um número inteiro.

Expressões de parâmetro de banco de dados booleanas

Uma expressão de parâmetro de banco de dados booleana é resolvida como um valor booleano de 1 ou 0. A expressão é delimitada por aspas.

nota

Expressões de parâmetro de banco de dados booleanas são compatíveis apenas com o mecanismo do PostgreSQL.

Sintaxe
"expression operator expression"

Ambas as expressões devem ser resolvidas como inteiros. Uma expressão pode ser a seguinte:

  • Uma constante de inteiro

  • Fórmula de parâmetros de banco de dados

  • Função de parâmetros de banco de dados

  • Variável de parâmetro de banco de dados

As expressões de parâmetro de banco de dados booleanas suportam os seguintes operadores de desigualdade:

O operador maior que: >

Sintaxe

"expression > expression"
O operador menor que: <

Sintaxe

"expression < expression"
Os operadores maior que ou igual a: >=, =>

Sintaxe

"expression >= expression" "expression => expression"
Os operadores menor que ou igual a: <=, =<

Sintaxe

"expression <= expression" "expression =< expression"
exemplo usando uma expressão de parâmetro de banco de dados booleana

O seguinte exemplo de expressão de parâmetro de banco de dados booliana compara o resultado de uma fórmula de parâmetro com um valor inteiro. Ele faz isso para modificar o parâmetro de banco de dados booliano wal_compression para uma instância de banco de dados do PostgreSQL. A expressão do parâmetro compara o número de vCPUs com o valor 2. Se o número de vCPUs for maior que 2, então o parâmetro de banco de dados wal_compression é definido como true (verdadeiro).

aws rds modify-db-parameter-group --db-parameter-group-name group-name \ --parameters "ParameterName=wal_compression,ParameterValue=\"{DBInstanceVCPU} > 2\" "

Expressões de log de parâmetros de banco de dados

Você pode definir um valor de parâmetro de banco de dados inteiro como uma expressão de log. A expressão é delimitada por chaves: {}. Por exemplo:

{log(DBInstanceClassMemory/8187281418)*1000}

A função log representa a base de log 2. Esse exemplo também usa a variável de fórmula DBInstanceClassMemory. Consulte Variáveis de fórmulas de parâmetros de banco de dados.

nota

Atualmente, você não pode especificar o parâmetro innodb_log_file_size do MySQL com qualquer valor diferente de um inteiro.

Exemplos de valores de parâmetros de banco de dados

Esses exemplos mostram o uso de fórmulas, funções e expressões para os valores de parâmetros de banco de dados.

Atenção

Definir parâmetros indevidamente em um grupo de parâmetros de banco de dados pode ter efeitos adversos não intencionais. Estes podem incluir performance degradada e instabilidade do sistema. Sempre tenha cuidado ao modificar os parâmetros do banco de dados e faça backup dos seus dados antes de modificar seu grupo de parâmetros de banco de dados. Faça testes com alterações de grupos de parâmetros em instâncias de bancos de dados de teste, criadas usando restaurações pontuais, antes de aplicar essas alterações às suas instâncias de banco de dados de produção.

exemplo uso da função de parâmetros de banco de dados GREATEST (Maior)

Você pode especificar a função GREATEST em um parâmetro de processos do Oracle. Use-a para definir a quantidade de processos do usuário para o maior entre 80 ou DBInstanceClassMemory dividido por 9.868.951.

GREATEST({DBInstanceClassMemory/9868951},80)
exemplo uso da função de parâmetro de banco de dados LEAST (Menor)

Você pode especificar a função LEAST em um valor do parâmetro MySQL max_binlog_cache_size. Use-a para definir o tamanho máximo de cache que uma transação pode usar em uma instância MySQL para o menor entre 1 MB ou DBInstanceClass/256.

LEAST({DBInstanceClassMemory/256},10485760)