

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

# Utilizzo di un database PostgreSQL come destinazione per migrazioni di dati omogenee in AWS DMS
<a name="dm-data-providers-target-postgresql"></a>

Puoi utilizzare un database PostgreSQL come destinazione per migrazioni di dati omogenee in AWS DMS.

AWS DMS richiede determinate autorizzazioni per migrare i dati nel database Amazon RDS for PostgreSQL o Amazon Aurora PostgreSQL di destinazione. Usa lo script seguente per creare un utente del database con le autorizzazioni necessarie nel tuo database PostgreSQL di destinazione.

```
CREATE USER your_user WITH LOGIN PASSWORD 'your_password';
GRANT USAGE ON SCHEMA schema_name TO your_user;
GRANT CONNECT ON DATABASE db_name to your_user;
GRANT CREATE ON DATABASE db_name TO your_user;
GRANT CREATE ON SCHEMA schema_name TO your_user;
GRANT UPDATE, INSERT, SELECT, DELETE, TRUNCATE ON ALL TABLES IN SCHEMA schema_name TO your_user;
            #For "Full load and change data capture (CDC)" and "Change data capture (CDC)" data migrations, setting up logical replication requires rds_superuser privileges
GRANT rds_superuser TO your_user;
```

Nell'esempio precedente, sostituisci ciascuno con le tue informazioni. *user input placeholder*

Per attivare la replica logica per la destinazione RDS per PostgreSQL, imposta su 1 il parametro `rds.logical_replication` nel gruppo di parametri del database. Per rendere effettivo questo parametro statico è necessario il riavvio dell'istanza database o del cluster di database. Alcuni parametri sono statici e possono essere impostati solo all'avvio del server. AWS DMS ignora le modifiche alle relative voci nel gruppo di parametri DB fino al riavvio del server.

PostgreSQL utilizza i trigger per implementare i vincoli di chiave esterna. Durante la fase di pieno carico, AWS DMS carica ogni tabella una alla volta. Si consiglia di disattivare i vincoli di chiave esterna sul database di destinazione durante il pieno carico. A tale scopo, usa uno dei seguenti metodi:
+ Disattiva temporaneamente tutti i trigger dell'istanza e termina il pieno carico.
+ Modifica il valore del parametro `session_replication_role` in PostgreSQL.

  In qualsiasi momento, un trigger può trovarsi in uno dei seguenti stati: `origin`, `replica`, `always` o `disabled`. Quando imposti il parametro `session_replication_role` su `replica`, sono attivi solo i trigger nello stato `replica`. In caso contrario, i trigger rimangono inattivi.

## Limitazioni relative all'utilizzo di un database compatibile con PostgreSQL come destinazione per migrazioni di dati omogenee
<a name="dm-data-providers-target-postgresql-limitations"></a>

Quando si utilizza un database compatibile con PostgreSQL come destinazione per migrazioni di dati omogenee si applicano le seguenti limitazioni:
+ Il nome utente che usi per connetterti all'origine dati presenta le seguenti limitazioni:
  + Può contenere da 2 a 64 caratteri.
  + Non può includere spazi.
  + Può includere i seguenti caratteri: a-z, A-Z, 0-9, carattere di sottolineatura (\$1).
  + Deve iniziare con a-z o A-Z.
+ La password che usi per connetterti all'origine dati presenta le seguenti limitazioni:
  + Può contenere da 1 a 128 caratteri.
  + Non può contenere i seguenti caratteri: virgoletta singola ('), virgolette doppie ("), punto e virgola (;) o spazio.