Especificación de parámetros de base de datos
Los tipos de parámetros de base de datos incluyen lo siguiente:
Entero
Booleano
Cadena
Largo
Doble
Timestamp
Objeto de otros tipos de datos definidos
Matriz de valores de tipo entero, booleano, en cadena, largos, dobles, temporales o de objeto
También puede especificar parámetros de enteros y booleanos mediante expresiones, fórmulas y funciones.
Para el motor de Oracle, puede utilizar la variable de la fórmula DBInstanceClassHugePagesDefault
para especificar un parámetro de base de datos booleano. Consulte Variables de las fórmulas de parámetros de base de datos.
Para el motor PostgreSQL, puede utilizar una expresión para especificar un parámetro de base de datos booleano. Consulte Expresiones de parámetros de base de datos booleanos.
Contenido
Fórmulas de parámetros de base de datos
Una fórmula de parámetros de base de datos es una expresión que da como resultado un valor entero o un valor booleano. Se encierra la expresión entre llaves: {}. Puede especificar fórmulas para el valor de un parámetro de base de datos o como argumento de una función de parámetro de base de datos.
- Sintaxis
-
{FormulaVariable} {FormulaVariable*Integer} {FormulaVariable*Integer/Integer} {FormulaVariable/Integer}
Variables de las fórmulas de parámetros de base de datos
Cada variable de la fórmula devuelve un entero o un valor booleano. Los nombres de las variables distinguen entre mayúsculas y minúsculas.
- AllocatedStorage
-
Devuelve un entero que representa el tamaño, en bytes, del volumen de datos.
- DBInstanceClassHugePagesDefault
-
Devuelve un valor booleano. Actualmente solo se admite para los motores de Oracle.
Para obtener más información, consulte Activación de páginas de gran tamaño para una instancia de RDS para Oracle.
- DBInstanceClassMemory
-
Devuelve un entero del número de bytes de memoria disponibles para el proceso de base de datos. Este número se calcula internamente. Para ello, comienza con la cantidad total de memoria de la clase de instancia de base de datos. De esto, el cálculo resta la memoria reservada del sistema operativo y los procesos de RDS que administran la instancia. Por lo tanto, el número siempre es un poco inferior al de las cifras de memoria que se muestran en las tablas de clases de instancia en Clases de instancia de base de datos de . El valor exacto depende de una combinación de factores. Estos incluyen la clase de instancia, motor de base de datos y de si aplica a una instancia de RDS o a una instancia que forme parte de un clúster de Aurora.
- DBInstanceVCPU
-
Devuelve un entero que representa el número de unidades de procesamiento centrales virtuales (vCPU) utilizadas por Amazon RDS para administrar la instancia.
- EndPointPort
-
Devuelve un entero que representa el puerto utilizado al conectarse a la instancia de base de datos.
- TrueIfReplica
-
Devuelve
1
si la instancia de base de datos es una réplica de lectura y0
si no lo es. Es el valor predeterminado del parámetroread_only
en MySQL.
Operadores de las fórmulas de parámetros de base de datos
Las fórmulas de parámetros de base de datos admiten dos operadores: división y multiplicación.
- Operador de división: /
-
Divide el dividendo entre el divisor, y devuelve un cociente entero. Los decimales del cociente se truncan, no se redondean.
Sintaxis
dividend / divisor
Los argumentos del dividendo y el divisor deben ser expresiones enteras.
- Operador de multiplicación: *
-
Multiplica las expresiones, devolviendo el producto de las expresiones. Los decimales de las expresiones se truncan, no se redondean.
Sintaxis
expression * expression
Las dos expresiones deben dar como resultado valores enteros.
Funciones de parámetros de base de datos
Los argumentos de las funciones de parámetro de base de datos se especifican como enteros o fórmulas. Cada función debe tener un argumento como mínimo. Especifique varios argumentos como una lista separada por comas. La lista no puede tener ningún miembro vacío; por ejemplo, argument1,,argument3. Los nombres de las funciones no distinguen entre mayúsculas y minúsculas.
- IF
-
Devuelve un argumento.
Actualmente solo se admite para los motores de Oracle y el único primer argumento admitido es
{DBInstanceClassHugePagesDefault}
. Para obtener más información, consulte Activación de páginas de gran tamaño para una instancia de RDS para Oracle.Sintaxis
IF(argument1, argument2, argument3)
Devuelve el segundo argumento si el primer argumento da como resultado true. En caso contrario, devuelve el tercer argumento.
- GREATEST
-
Devuelve el valor más grande de una lista de números enteros o fórmulas de parámetros.
Sintaxis
GREATEST(argument1, argument2,...argumentn)
Devuelve un número entero.
- LEAST
-
Devuelve el valor más pequeño de una lista de números enteros o fórmulas de parámetros.
Sintaxis
LEAST(argument1, argument2,...argumentn)
Devuelve un número entero.
- SUM
-
Suma los valores de los números enteros o fórmulas de parámetros especificados.
Sintaxis
SUM(argument1, argument2,...argumentn)
Devuelve un número entero.
Expresiones de parámetros de base de datos booleanos
Una expresión de parámetro de base de datos booleano se resuelve en un valor booleano de 1 o 0. La expresión se proporciona entre comillas.
nota
Las expresiones de parámetros de base de datos booleanos solo son compatibles con el motor PostgreSQL.
- Sintaxis
-
"expression operator expression"
Ambas expresiones deben resolverse en enteros. Una expresión puede ser la siguiente:
-
Una constante entera
-
Fórmulas de parámetros de base de datos
-
Funciones de parámetros de base de datos
-
Variable de parámetros de base de datos
-
Las expresiones de parámetro de base de datos booleano admiten los siguientes operadores de desigualdad:
- El operador mayor que: >
-
Sintaxis
"expression > expression"
- El operador menor que: <
-
Sintaxis
"expression < expression"
- Los operadores mayor que o igual a: >=, =>
-
Sintaxis
"expression >= expression" "expression => expression"
- Los operadores menor que o igual a: <=, =<
-
Sintaxis
"expression <= expression" "expression =< expression"
ejemplo uso de una expresión de parámetro de base de datos booleano
En el siguiente ejemplo de expresión de parámetro de base de datos booleano se compara el resultado de una fórmula de parámetro con un entero. Lo hace para modificar el parámetro wal_compression
de base de datos booleano de una instancia de base de datos de PostgreSQL. La expresión de parámetro compara el número de vCPU con el valor 2. Si el número de vCPU es mayor que 2, entonces el parámetro de la base de datos wal_compression
se establece en verdadero.
aws rds modify-db-parameter-group --db-parameter-group-name
group-name
\ --parameters "ParameterName=wal_compression,ParameterValue=\"{DBInstanceVCPU} > 2\" "
Expresiones de registro de parámetros de base de datos
Puede establecer un valor de parámetro de base de datos entero en una expresión de registro. Se encierra la expresión entre llaves: {}. Por ejemplo:
{log(DBInstanceClassMemory/8187281418)*1000}
La función log
representa la base de registro 2. En este ejemplo también se utiliza la variable de fórmula DBInstanceClassMemory
. Consulte Variables de las fórmulas de parámetros de base de datos.
nota
Actualmente, no puede especificar el parámetro innodb_log_file_size
de MySQL con ningún valor que no sea un número entero.
Ejemplos de valores de los parámetros de base de datos
Estos ejemplos muestran el uso de fórmulas, funciones y expresiones para los valores de los parámetros de base de datos.
aviso
Establecer parámetros incorrectamente en un grupo de parámetros de base de datos puede tener efectos adversos no deseados. Estos pueden incluir el rendimiento degradado y la inestabilidad del sistema. Tenga cuidado siempre que modifique los parámetros de base de datos y haga una copia de seguridad de los datos antes de modificar el grupo de parámetros de base de datos. Pruebe los cambios de los grupos de parámetros en instancias de bases de datos de prueba, creadas mediante restauraciones a un momento dado, antes de aplicar dichos cambios de grupo de parámetros a las instancias de bases de datos de producción.
ejemplo utilizando la función de parámetro de base de datos GREATEST
Puede especificar la función GREATEST
en un parámetro de procesos Oracle. Utilícelo para establecer el número de procesos de usuario en el mayor de 80 o DBInstanceClassMemory
dividido por 9 868 951.
GREATEST({DBInstanceClassMemory/9868951},80)
ejemplo uso de la función de parámetro de base de datos LEAST
Puede especificar la función LEAST
en un valor de parámetro de MySQL max_binlog_cache_size
. Utilícelo para establecer el tamaño máximo de caché que una transacción puede usar en una instancia de MySQL, con un mínimo de 1 MB o DBInstanceClass
/256.
LEAST({DBInstanceClassMemory/256},10485760)