

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

# Migliore gestione della memoria in Aurora PostgreSQL
<a name="AuroraPostgreSQL.BestPractices.memory.management"></a>

Aurora PostgreSQL ora include funzionalità avanzate di gestione della memoria per ottimizzare le prestazioni e la resilienza del database con carichi di lavoro diversi. Questi miglioramenti aiutano Aurora PostgreSQL a mantenere disponibilità e reattività costanti, anche durante i periodi di elevata richiesta di memoria.

Questa funzionalità è disponibile e abilitata per impostazione predefinita nelle seguenti versioni di Aurora PostgreSQL per le istanze con provisioning:
+ 15.3 e tutte le versioni secondarie successive
+ 14.8 e versioni secondarie successive
+ 13.11 e versioni secondarie successive
+ 12.15 e versioni secondarie successive
+ 11.20 e versioni secondarie successive

Questa funzionalità è disponibile e abilitata per impostazione predefinita nelle seguenti versioni di Aurora PostgreSQL per le istanze Aurora Serverless:
+ 16.3 e tutte le versioni secondarie successive
+ 15.7 e tutte le versioni secondarie successive
+ 14.12 e versioni secondarie successive
+ 13.15 e versioni secondarie successive

 Quando i carichi di lavoro dei clienti utilizzano tutta la memoria libera disponibile, il sistema operativo può riavviare il database per proteggere le risorse, con conseguente indisponibilità temporanea. I nuovi miglioramenti alla gestione della memoria in Aurora PostgreSQL annullano in modo proattivo determinate transazioni quando il sistema subisce un’elevata pressione della memoria, contribuendo a mantenere la stabilità del database. 

Le funzionalità principali di una migliore gestione della memoria sono le seguenti:
+ Annullamento delle transazioni del database che richiedono più memoria quando il sistema sta raggiungendo un carico critico della memoria.
+ Si dice che il sistema sia sottoposto a un carico critico della memoria quando esaurisce tutta la memoria fisica e sta per esaurire lo spazio di scambio. In queste circostanze, qualsiasi transazione che richiede memoria verrà annullata nel tentativo di ridurre immediatamente il carico della memoria nell'istanza database. 
+ Le utilità di avvio di PostgreSQL essenziali e i worker in background come i worker autovacuum sono sempre protetti.

## Gestione dei parametri di gestione della memoria
<a name="AuroraPostgreSQL.BestPractices.memory.management.configuring"></a>

**Per attivare la gestione della memoria**  
Questa funzionalità è attivata per impostazione predefinita. Viene visualizzato un messaggio di errore, come quello illustrato nell'esempio seguente, quando una transazione viene annullata a causa di memoria insufficiente.

```
ERROR: out of memory Detail: Failed on request of size 16777216.
```

**Per disattivare la gestione della memoria**  
Per disattivare questa funzionalità, connettersi al cluster di database Aurora PostgreSQL con psql e utilizzare l’istruzione SET per i valori dei parametri come indicato di seguito.

**Nota**  
È consigliabile mantenere abilitata la gestione della memoria. Questo aiuta a prevenire potenziali out-of-memory errori che possono portare al riavvio del database indotto dal carico di lavoro a causa dell'esaurimento della memoria. 

La tabella seguente mostra come disattivare la funzionalità di gestione della memoria per le diverse versioni di Aurora PostgreSQL:


| Versioni di Aurora PostgreSQL | Parametro | Predefinita | Comando per disattivare la gestione della memoria a livello di sessione | 
| --- | --- | --- | --- | 
| 11.20, 11.21, 12.15, 12.16, 13.11, 13.12, 14.8, 14.9, 15.3, 15.4 | `rds.memory_allocation_guard` | `false` | `SET rds.memory_allocation_guard = true;` | 
| 12.17, 13.13, 14.10, 15.5 e versioni successive | `rds.enable_memory_management` | `true` | `SET rds.enable_memory_management = false;` | 

**Nota**  
Il parametro `rds.memory_allocation_guard` è obsoleto in Aurora PostgreSQL 12.17, 13.13, 14.10, 15.5 e versioni successive.

Impostando i valori di questi parametri nel gruppo di parametri del cluster di database si impedisce l’annullamento delle query. Per ulteriori informazioni sui gruppi di parametri del cluster di database, consulta [Gruppi di parametri per Amazon Aurora](USER_WorkingWithParamGroups.md).

## Limitazione
<a name="AuroraPostgreSQL.BestPractices.memory.management.limitations"></a>
+ Questa funzionalità non è supportata nella classe di istanze db.t3.medium.