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.
Sumário
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 e0
se não é. Esse é o valor padrão doread_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)