

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Specifica dei parametri del database
<a name="USER_ParamValuesRef"></a>

I tipi di parametri database comprendono:
+ Numero intero
+ Boolean
+ Stringa
+ Long
+ Doppio
+ Timestamp
+ Oggetto di altri tipi di dati definiti
+ Array di valori di tipo integer, booleano, string, long, double, timestamp o oggetto

È inoltre possibile specificare parametri interi e booleani utilizzando espressioni, formule e funzioni. 

Per il motore Oracle, è possibile utilizzare la formula `DBInstanceClassHugePagesDefault` per specificare un parametro database booleano. Per informazioni, consulta [Variabili di formula dei parametri database](#USER_FormulaVariables). 

Per il motore PostgreSQL, per specificare un parametro database booleano puoi utilizzare un'espressione. Per informazioni, consulta [Espressioni dei parametri database booleani](#USER_ParamBooleanExpressions).

**Contents**
+ [Formule dei parametri database](#USER_ParamFormulas)
  + [Variabili di formula dei parametri database](#USER_FormulaVariables)
  + [Operatori delle formule dei parametri database](#USER_FormulaOperators)
+ [Funzioni dei parametri database](#USER_ParamFunctions)
+ [Espressioni dei parametri database booleani](#USER_ParamBooleanExpressions)
+ [Espressioni di log di parametri database](#USER_ParamLogExpressions)
+ [Esempi di valori dei parametri database](#USER_ParamValueExamples)

## Formule dei parametri database
<a name="USER_ParamFormulas"></a>

Una formula per un parametro database è un'espressione che restituisce un valore intero o un valore booleano. L'espressione va racchiusa tra parentesi graffe: \$1\$1. Puoi utilizzare una formula per un valore di parametro database o come argomento per una funzione di parametro database.

**Sintassi**  

```
{FormulaVariable}
{FormulaVariable*Integer}
{FormulaVariable*Integer/Integer}
{FormulaVariable/Integer}
```

### Variabili di formula dei parametri database
<a name="USER_FormulaVariables"></a>

Ogni variabile di formula restituisce un valore intero o booleano. I nomi delle variabili fanno distinzione tra maiuscole e minuscole.

*AllocatedStorage*  
Restituisce un numero intero che rappresenta la dimensione, in byte, del volume di dati.

*DBInstanceClassHugePagesDefault*  
Restituisce un valore booleano. Al momento, è supportata solo per i motori Oracle.  
Per ulteriori informazioni, consulta [Attivazione di HugePages per un'istanza RDS per Oracle](Oracle.Concepts.HugePages.md).

*DBInstanceClassMemory*  
Restituisce un numero intero per il numero di byte di memoria disponibili per il processo del database. Questo numero viene calcolato internamente a partire dalla quantità totale di memoria per la classe di istanza database. Da questo valore, il calcolo sottrae la memoria riservata al sistema operativo e ai processi RDS che gestiscono l'istanza. Pertanto, il numero è sempre leggermente inferiore alle figure di memoria mostrate nelle tabelle della classe di istanza in [Classi di istanze DB ](Concepts.DBInstanceClass.md). Il valore esatto dipende da una combinazione di fattori: come classe di istanza, motore di database e se si applica a un'istanza RDS o a un'istanza che fa parte di un cluster Aurora. 

*DBInstanceVCPU*  
Restituisce un numero intero che rappresenta il numero di unità di elaborazione centrali virtuali (vCPU) utilizzate da Amazon RDS per gestire l'istanza.

*EndPointPort*  
Restituisce un numero intero che rappresenta la porta utilizzata durante la connessione all'istanza database.

*TrueIfReplica*  
Restituisce `1` se l'istanza database è una replica di lettura e `0` in caso contrario. Questo è il valore predefinito per il parametro `read_only` in MySQL.

### Operatori delle formule dei parametri database
<a name="USER_FormulaOperators"></a>

Le formule dei parametri database supportano due operatori, di divisione e di moltiplicazione.

*Operatore di divisione: /*  
Divide il dividendo per il divisore, restituendo un quoziente intero. I decimali nel quoziente vengono troncati, non arrotondati.  
Sintassi  

```
dividend / divisor
```
Gli argomenti del dividendo e del divisore devono essere espressioni intere.

*Operatore di moltiplicazione: \$1*  
Moltiplica le espressioni, restituendone il prodotto. I decimali nelle espressioni vengono troncati, non arrotondati.  
Sintassi  

```
expression * expression
```
Entrambe le espressioni devono essere valori interi.

## Funzioni dei parametri database
<a name="USER_ParamFunctions"></a>

Puoi specificare gli argomenti delle funzioni dei parametri database come numeri interi o formule. Ogni funzione deve avere almeno un argomento. Specifica più argomenti come elenco separato da virgole. L'elenco non può includere membri vuoti, come *argomento1*,,*argomento3*. I nomi di funzione non fanno distinzione tra maiuscole e minuscole.

*IF*  
Restituisce un argomento.  
Al momento, è supportata solo per i motori Oracle e l'unico primo argomento supportato è `{DBInstanceClassHugePagesDefault}`. Per ulteriori informazioni, consulta [Attivazione di HugePages per un'istanza RDS per Oracle](Oracle.Concepts.HugePages.md).  
Sintassi  

```
IF(argument1, argument2, argument3)
```
Restituisce il secondo argomento se il primo argomento restituisce true. In caso contrario, restituisce il terzo argomento.

*GREATEST*  
Restituisce il valore più grande da un elenco di valori interi o formule di parametro.  
Sintassi  

```
GREATEST(argument1, argument2,...argumentn)
```
Restituisce un integer.

*LEAST*  
Restituisce il valore più piccolo da un elenco di valori interi o formule di parametro.  
Sintassi  

```
LEAST(argument1, argument2,...argumentn)
```
Restituisce un integer.

*SUM*  
Aggiunge i valori delle formule di parametro o dei numeri interi specificati.  
Sintassi  

```
SUM(argument1, argument2,...argumentn)
```
Restituisce un integer.

## Espressioni dei parametri database booleani
<a name="USER_ParamBooleanExpressions"></a>

Un'espressione di parametro database booleano viene risolta in un valore booleano 1 o 0. L’espressione è racchiusa tra virgolette.

**Nota**  
Le espressioni dei parametri database booleani sono supportate solo per il motore PostgreSQL.

**Sintassi**  

```
"expression operator expression"
```
Entrambe le espressioni devono essere risolte in numeri interi. Un'espressione può essere la seguente:  
+ Costante intera
+ Formula di parametro database
+ Funzione di parametro database
+ Variabile di parametro database

Le espressioni dei parametri database booleani supportano i seguenti operatori di disuguaglianza:

*L'operatore maggiore di: >*  
Sintassi  

```
"expression > expression"
```

*L'operatore minore di: <*  
Sintassi  

```
"expression < expression"
```

* Gli operatori maggiore o uguale: >=, =>*  
Sintassi  

```
"expression >= expression"
"expression => expression"
```

*Gli operatori minore o uguale: <=, =<*  
Sintassi  

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

**Example utilizzo di un'espressione del parametro database booleano**  
Nell'esempio di espressione del parametro database booleano seguente viene confrontato il risultato di una formula di parametro con un numero intero per modificare il parametro database booleano `wal_compression` per un'istanza database PostgreSQL. L'espressione del parametro confronta il numero di vCPU con il valore 2. Se il numero di vCPU è maggiore di 2, il parametro database `wal_compression` è impostato su true.  

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

## Espressioni di log di parametri database
<a name="USER_ParamLogExpressions"></a>

Puoi impostare un valore del parametro database intero in una espressione di log. L'espressione va racchiusa tra parentesi graffe: \$1\$1. Ad esempio:

```
{log(DBInstanceClassMemory/8187281418)*1000}
```

La funzione `log` rappresenta la base di log 2. In questo esempio viene utilizzato anche la variabile di formula `DBInstanceClassMemory`. Per informazioni, consulta [Variabili di formula dei parametri database](#USER_FormulaVariables). 

**Nota**  
Al momento, non puoi specificare il parametro `innodb_log_file_size` MySQL con un valore diverso da un numero intero.

## Esempi di valori dei parametri database
<a name="USER_ParamValueExamples"></a>

Questi esempi illustrano l'utilizzo di formule, funzioni ed espressioni per i valori dei parametri database.

**avvertimento**  
L'impostazione errata dei parametri in un gruppo di parametri database può avere effetti negativi non intenzionali. Questi potrebbero includere prestazioni ridotte e instabilità del sistema. Presta sempre attenzione quando modifichi i parametri database ed esegui il backup dei dati prima di modificare il gruppo di parametri database. Prova le modifiche del gruppo di parametri in istanze database di test create tramite ripristini point-in-time prima di applicare queste modifiche alle istanze database di produzione. 

**Example utilizzando la funzione del parametro database GREATEST**  
È possibile specificare la funzione `GREATEST` in un parametro del processo Oracle. Usala per impostare il numero di processi utente su un valore maggiore di 80 o `DBInstanceClassMemory` diviso per 9.868.951.  

```
GREATEST({DBInstanceClassMemory/9868951},80)
```

**Example utilizzando la funzione di parametro database LEAST**  
È possibile specificare la funzione `LEAST` in in valore del parametro `max_binlog_cache_size` MySQL. Usalo per impostare la dimensione massima della cache che una transazione può utilizzare in un'istanza MySQL su un valore minore di 1 MB o `DBInstanceClass`/256.  

```
LEAST({DBInstanceClassMemory/256},10485760)
```