

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à.

# Configurazione di Aurora PostgreSQL per l’inoltro di scrittura locale
<a name="aurora-postgresql-write-forwarding-configuring"></a>

 Le seguenti sezioni descrivono come abilitare l’inoltro di scrittura locale per il cluster di database Amazon Aurora PostgreSQL, come configurare i livelli di coerenza e come gestire le transazioni con l’inoltro di scrittura locale. 

## Abilitazione dell'inoltro di scrittura locale
<a name="aurora-postgresql-write-forwarding-enabling"></a>

 Per impostazione predefinita, l’inoltro di scrittura locale non è abilitato per i cluster di database Aurora PostgreSQL. Abilitare l'inoltro di scrittura locale a livello di cluster, non a livello di istanza. 

### Console
<a name="aurora-postgresql-write-forwarding-enabling.CON"></a>

 Usando la Console di gestione AWS, seleziona la casella di controllo **Attiva l'inoltro di scrittura locale** in **Inoltro di scrittura di repliche di lettura** quando si crea o si modifica un cluster database. 

### AWS CLI
<a name="aurora-postgresql-write-forwarding-enabling.CLI"></a>

 Per abilitare l’inoltro di scrittura locale con la AWS CLI, utilizzare l’opzione `--enable-local-write-forwarding`. Questa opzione funziona quando si crea un nuovo cluster database secondario tramite il comando `create-db-cluster`. Inoltre, funziona quando si modifica un cluster database esistente tramite il comando `modify-db-cluster`. È possibile disabilitare l’inoltro di scrittura locale mediante l’opzione `--no-enable-local-write-forwarding` con questi stessi comandi dell’interfaccia della riga di comando. 

 Nell’esempio seguente viene creato un cluster di database Aurora PostgreSQL con l’inoltro di scrittura locale abilitato. 

```
                        aws rds create-db-cluster \
                        --db-cluster-identifier write-forwarding-test-cluster \
                        --enable-local-write-forwarding \
                        --engine aurora-postgresql \
                        --engine-version 16.4 \
                        --master-username myuser \
                        --master-user-password mypassword \
                        --backup-retention 1
```

 Vengono quindi create istanze database di scrittura e lettura in modo da poter utilizzare l'inoltro di scrittura. Per ulteriori informazioni, consulta [Creazione di un cluster database Amazon Aurora](Aurora.CreateInstance.md).

### API RDS
<a name="aurora-postgresql-write-forwarding-enabling.API"></a>

 Per abilitare l’inoltro di scrittura locale con l’API Amazon RDS, impostare il parametro `EnableLocalWriteForwarding` su `true`. Questo parametro funziona quando si crea un nuovo cluster database secondario utilizzando l'operazione `CreateDBCluster`. Funziona anche quando si modifica un cluster database esistente utilizzando l'operazione `ModifyDBCluster`. È possibile disabilitare l’inoltro di scrittura locale impostando il parametro `EnableLocalWriteForwarding` su `false`. 

### Abilitazione dell’inoltro di scrittura locale per le sessioni di database
<a name="aurora-postgresql-write-forwarding-enabling-session"></a>

 Il parametro `apg_write_forward.consistency_mode` è un parametro database e un parametro del cluster database che abilita l'inoltro di scrittura. È possibile specificare `SESSION`, `EVENTUAL`, `GLOBAL` o `OFF` per il livello di coerenza di lettura. Per ulteriori informazioni sui livelli di coerenza, consulta [Coerenza e isolamento per l’inoltro di scrittura locale in Aurora PostgreSQL](#aurora-postgresql-write-forwarding-isolation). 

 A questo parametro si applicano le seguenti regole: 
+ Il valore predefinito è `SESSION`.
+  L’inoltro di scrittura locale è disponibile solo se `apg_write_forward.consistency_mode` è impostato su `EVENTUAL`, `SESSION` o `GLOBAL`. Questo parametro è rilevante solo nelle istanze di lettura di cluster di database con l’inoltro di scrittura locale abilitato. 
+ L’impostazione del valore su `OFF` disabilita l’inoltro di scrittura locale nella sessione. 

## Coerenza e isolamento per l’inoltro di scrittura locale in Aurora PostgreSQL
<a name="aurora-postgresql-write-forwarding-isolation"></a>

È possibile controllare il grado di coerenza di lettura in una replica di lettura. È possibile regolare il livello di coerenza di lettura per garantire che tutte le operazioni di scrittura inoltrate dalla sessione siano visibili nella replica di lettura prima di qualsiasi query successiva. Inoltre, è possibile utilizzare questa impostazione per garantire che le query sulla replica di lettura visualizzino sempre gli aggiornamenti più recenti dall’istanza database di scrittura. Ciò si verifica anche per quelli inviati da altre sessioni o altri cluster. Per specificare questo tipo di comportamento per l'applicazione, scegli il valore appropriato per il parametro a livello di sessione `apg_write_forward.consistency_mode`. Il parametro `apg_write_forward.consistency_mode` ha effetto solo sulle repliche di lettura in cui è abilitato l’inoltro di scrittura locale.

**Nota**  
Per il parametro `apg_write_forward.consistency_mode`, è possibile specificare i valori `SESSION`, `EVENTUAL`, `GLOBAL` o `OFF`. Per impostazione predefinita, il valore è impostato su `SESSION`. L’impostazione del valore su `OFF` disabilita l’inoltro di scrittura.

Aumentando il livello di coerenza, l’applicazione attende più tempo per la propagazione delle modifiche alle repliche di lettura. È possibile scegliere in che modo bilanciare i tempi di risposta rapidi e la piena disponibilità delle modifiche apportate in altre posizioni prima dell’esecuzione delle query.

Ogni impostazione della modalità di coerenza disponibile, produce un effetto come descritto di seguito:
+ `SESSION`: una sessione in una replica di lettura che utilizza l’inoltro di scrittura locale vede i risultati di tutte le modifiche apportate a tale sessione. Le modifiche sono visibili indipendentemente dal fatto che la transazione sia stata impegnata. Se necessario, la query attende che i risultati delle operazioni di scrittura inoltrate vengano replicati nell’istanza database di lettura corrente. Non attende i risultati aggiornati delle operazioni di scrittura eseguite in altre sessioni all’interno del cluster di database corrente. 
+ `EVENTUAL`: una sessione in una replica di lettura che utilizza l’inoltro di scrittura locale potrebbe vedere dati leggermente obsoleti a causa del ritardo di replica. I risultati delle operazioni di scrittura nella stessa sessione non sono visibili finché l’operazione di scrittura non viene eseguita sull’istanza database di scrittura e replicata nella replica di lettura. La query non attende la disponibilità dei risultati aggiornati. Pertanto, potrebbe recuperare i dati meno recenti o i dati aggiornati, a seconda della tempistica delle istruzioni e della quantità di ritardo di replica. 
+ `GLOBAL`: una sessione in una replica di lettura vede le modifiche apportate da quella sessione. Vede inoltre tutte le modifiche richieste sia dall’istanza database di scrittura che da altre repliche di lettura. Ogni query potrebbe attendere un periodo che varia a seconda della quantità di ritardo della sessione. La query procede quando la replica di lettura viene aggiornata con tutti i dati richiesti dall’istanza database di scrittura, a partire dall’inizio della query. 
**Nota**  
La modalità di coerenza globale influisce sulla latenza delle query eseguite all’interno di una sessione, comportando un’attesa anche quando la sessione non ha inviato alcuna query di scrittura.
+ `OFF`: l’inoltro di scrittura locale è disabilitato.

Nelle sessioni che utilizzano l'inoltro di scrittura, è possibile utilizzare solo i livelli di isolamento `REPEATABLE READ` e `READ COMMITTED`. Tuttavia, il livello di isolamento `SERIALIZABLE` non è supportato.

 Per ulteriori informazioni su tutti i parametri coinvolti nell'inoltro di scrittura, consulta [Impostazioni predefinite dei parametri per l’inoltro di scrittura](aurora-postgresql-write-forwarding-understanding.md#aurora-postgresql-write-forwarding-params).

## Modalità di accesso alle transazioni con inoltro di scrittura
<a name="aurora-postgresql-write-forwarding-txns"></a>

Se la modalità di accesso alle transazioni è in sola lettura, l’inoltro di scrittura locale non viene utilizzato. È possibile impostare l’accesso in modalità di sola lettura e scrittura mentre si è connessi a un cluster di database e a una sessione con l’inoltro di scrittura locale abilitato.

Per ulteriori informazioni sulle modalità di accesso alle transazioni, consultare [SET TRANSACTION](https://www.postgresql.org/docs/current/sql-set-transaction.html).