Spécification des paramètres de base de données - Amazon Relational Database Service

Spécification des paramètres de base de données

Les types de paramètres de base de données sont les suivants :

  • Entier

  • Booléen

  • Chaîne

  • Long

  • Double

  • Horodatage

  • Objet d'autres types de données définis

  • Tableau de valeurs de type entier, booléen, chaîne, long, double, horodatage ou objet

Vous pouvez également spécifier des paramètres entiers et booléens au moyen d'expressions, de formules et de fonctions.

Pour le moteur Oracle, vous pouvez utiliser la variable de formule DBInstanceClassHugePagesDefault pour spécifier un paramètre de base de données booléen. Voir Variables de formule de paramètre de bases de données.

Pour le moteur PostgreSQL, vous pouvez utiliser une expression pour spécifier un paramètre de base de données booléen. Voir Expressions de paramètre de base de données booléennes.

Des formules de paramètre de bases de données

Une formule de paramètre de base de données est une expression qui se réduit à une valeur entière ou booléenne. Vous insérez l'expression entre des accolades : {}. Vous pouvez utiliser une formule pour une valeur de paramètre de base de données ou en tant qu'argument pour une fonction de paramètre de base de données.

Syntaxe
{FormulaVariable} {FormulaVariable*Integer} {FormulaVariable*Integer/Integer} {FormulaVariable/Integer}

Variables de formule de paramètre de bases de données

Chaque variable de formule renvoie une valeur entière ou booléenne. Les noms des variables sont sensibles à la casse.

AllocatedStorage

Renvoie un entier qui représente la taille du volume de données en octets.

DBInstanceClassHugePagesDefault

Renvoie une valeur booléenne. Actuellement, la prise en charge ne concerne que les moteurs Oracle.

Pour plus d'informations, consultez Activation de HugePages pour une instance RDS for Oracle.

DBInstanceClassMemory

Renvoie un entier correspondant au nombre d'octets de mémoire disponibles pour le processus de base de données. Ce nombre est calculé en interne, en commençant par la quantité totale de mémoire pour la classe d'instance de base de données. Le calcul en soustrait la mémoire réservée au système d'exploitation et aux processus RDS qui gèrent l'instance. Par conséquent, ce nombre est toujours légèrement inférieur aux chiffres de mémoire affichés dans les tables de classes d'instance dans Classes d'instances de base de données . La valeur exacte dépend d'une combinaison de facteurs. Ils incluent la classe d'instance, le moteur de base de données, et si elle s'applique à une instance RDS ou à une instance faisant partie d'un cluster Aurora.

DBInstanceVCPU

Renvoie un entier qui représente le nombre d'unités de traitement centralisées virtuelles (vCPU) utilisées par Amazon RDS for gérer l'instance. Actuellement, la prise en charge ne concerne que le moteur PostgreSQL.

EndPointPort

Renvoie un entier qui représente le port utilisé lors de la connexion à l'instance de base de données.

Opérateurs de formule de paramètre de bases de données

Les formules de paramètre DB prennent en charge deux opérateurs : division et multiplication.

Opérateur de division : /

Divise le dividende par le diviseur, en renvoyant un quotient entier. Les décimales dans le quotient sont tronquées, pas arrondies.

Syntaxe

dividend / divisor

Les arguments de dividende et de diviseur doivent être des expressions entières.

Opérateur de multiplication : *

Multiplie les expressions, affichant ainsi le résultat des expressions. Les décimales dans les expressions sont tronquées, pas arrondies.

Syntaxe

expression * expression

Les deux expressions doivent être des entiers.

Fonctions de paramètre de bases de données

Vous spécifiez les arguments des fonctions de paramètres de base de données sous la forme d'entiers ou de formules. Chaque fonction doit avoir au moins un argument. Spécifiez plusieurs arguments sous la forme d'une liste séparée par des virgules. Cette liste ne peut pas contenir de membres vides, tels que argument1,,argument3. Les noms de fonctions ne sont pas sensibles à la casse.

IF

Renvoie un argument.

Actuellement, la prise en charge ne concerne que les moteurs Oracle et est le seul premier argument pris en charg {DBInstanceClassHugePagesDefault}. Pour plus d'informations, consultez Activation de HugePages pour une instance RDS for Oracle.

Syntaxe

IF(argument1, argument2, argument3)

Renvoie le deuxième argument si le premier a la valeur true. Sinon, renvoie le troisième argument.

GREATEST

Renvoie la plus grande valeur depuis une liste d'entiers ou de formules de paramètres.

Syntaxe

GREATEST(argument1, argument2,...argumentn)

Renvoie un entier.

LEAST

Renvoie la plus petite valeur depuis une liste d'entiers ou de formules de paramètres.

Syntaxe

LEAST(argument1, argument2,...argumentn)

Renvoie un entier.

SUM

Ajoute les valeurs des formules de paramètres ou d'entiers spécifiés.

Syntaxe

SUM(argument1, argument2,...argumentn)

Renvoie un entier.

Expressions de paramètre de base de données booléennes

Une expression de paramètre de base de données booléenne se réduit à une valeur booléenne de 1 ou 0. L'expression est insérée entre guillemets.

Note

Les expressions de paramètres de base de données booléennes ne sont prises en charge que pour le moteur PostgreSQL.

Syntaxe
"expression operator expression"

Les deux expressions doivent se réduire à des entiers. Une expression peut être l'un des éléments suivants :

  • Une constante entière

  • Une formule de paramètre de base de données

  • Une fonction de paramètre de base de données

  • Une variable de paramètre de base de données

Les expressions de paramètres de base de données booléennes prennent en charge les opérateurs d'inégalité suivants :

L'opérateur supérieur à : >

Syntaxe

"expression > expression"
L'opérateur inférieur à : <

Syntaxe

"expression < expression"
Les opérateurs supérieur ou égal à : >=, =>

Syntaxe

"expression >= expression" "expression => expression"
Les opérateurs inférieur ou égal à : <=, =<

Syntaxe

"expression <= expression" "expression =< expression"

Exemple utilisation d'une expression de paramètre de base de données booléenne

L'exemple d'expression de paramètre de base de données booléenne suivant compare le résultat d'une formule de paramètre à un entier. Il le fait pour modifier le paramètre de base de données booléen wal_compression d'une instance de base de données PostgreSQL. L'expression de paramètre compare le nombre de vCPU à la valeur 2. Si le nombre de VCPU est supérieur à 2, le paramètre de base de données wal_compression est alors défini à la valeur true.

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

Expressions de journal des paramètres de base de données

Vous pouvez définir une valeur de paramètre de base de données entier à une expression de journal. Vous insérez l'expression entre des accolades : {}. Exemples :

{log(DBInstanceClassMemory/8187281418)*1000}

La fonction log représente la base du journal 2. Cet exemple utilise également la variable de formule DBInstanceClassMemory. Voir Variables de formule de paramètre de bases de données.

Note

Pour le moment, vous ne pouvez pas spécifier le paramètre innodb_log_file_size MySQL avec une autre valeur qu'un entier.

Exemples de valeurs de paramètre de bases de données

Ces exemples montrent l'utilisation de formules, de fonctions et d'expressions pour les valeurs des paramètres de base de données.

Note

Les fonctions des paramètres de base de données sont actuellement prises en charge uniquement dans la console, mais pas dans l'interface de ligne de commande (CLI) AWS.

Avertissement

La définition incorrecte des paramètres d'un groupe de paramètres de base de données peut avoir des effets indésirables involontaires. Cela peut se manifester par une dégradation des performances et l'instabilité du système. Agissez avec prudence lorsque vous modifiez des paramètres de base de données et sauvegardez vos données avant de modifier votre groupe de paramètres de base de données. Testez les modifications d'un groupe de paramètres sur une instance de base de données test, créée en utilisant des restaurations à un moment donné, avant d'appliquer ces modifications à vos instances de base de données de production.

Exemple utilisation de la fonction de paramètre de base de données GREATEST

Vous pouvez spécifier la fonction GREATEST dans un paramètre de processus Oracle. Utilisez-la pour définir le nombre de processus utilisateur sur le plus grand des deux nombres : 80 ou DBInstanceClassMemory divisé par 9 868 951.

GREATEST({DBInstanceClassMemory/9868951},80)

Exemple utilisation de la fonction de paramètre de base de données LEAST

Vous pouvez spécifier la fonction LEAST dans une valeur de paramètre MySQL max_binlog_cache_size. Utilisez-la pour définir la taille de cache maximale qu'une transaction peut utiliser dans une instance MySQL à la moins élevée des valeurs suivantes : 1 Mo ou DBInstanceClass/256.

LEAST({DBInstanceClassMemory/256},10485760)