

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 del comando COPY con Aurora PostgreSQL Limitless Database
<a name="limitless-load.copy"></a>

Puoi utilizzare la funzionalità[\$1copy](https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMANDS-COPY) nell’utilità `psql` per importare ed esportare dati in Aurora PostgreSQL Limitless Database.

## Utilizzo del comando COPY per caricare dati in Aurora PostgreSQL Limitless Database
<a name="limitless-load.copy-to"></a>

Aurora PostgreSQL Limitless Database è compatibile con la funzionalità [\$1copy](https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMANDS-COPY) nell’utilità `psql` per l’importazione dei dati.

In Limitless Database come in Aurora PostgreSQL, quanto segue non è supportato:
+ Accesso SSH diretto alle istanze database: non puoi copiare un file di dati (ad esempio in formato .csv) sull’host dell’istanza database ed eseguire `COPY` dal file.
+ Utilizzo di file locali sull’istanza database: utilizza `COPY ... FROM STDIN` e `COPY ... TO STDOUT`.

Il comando `COPY` in PostgreSQL offre opzioni per lavorare con file locali (`FROM/TO`) e trasmettere dati utilizzando una connessione tra il client e il server (`STDIN/STDOUT`). Per ulteriori informazioni, consulta [COPY](https://www.postgresql.org/docs/current/sql-copy.html) nella documentazione di PostgreSQL.

Il comando `\copy` nell’utilità `psql` PostgreSQL funziona con i file locali sul computer in cui viene eseguito il client `psql`. Invoca il rispettivo comando `COPY ... FROM STDIN` o `COPY ... FROM STDOUT` sul server remoto (ad esempio, Limitless Database) a cui effettui la connessione. Legge i dati dal file locale verso `STDIN` o li scrive da `STDOUT`.

### Divisione dei dati in più file
<a name="limitless-load.copy-split"></a>

I dati vengono archiviati su più shard in Aurora PostgreSQL Limitless Database. Per velocizzare il caricamento dei dati utilizzando `\copy`, puoi suddividere i dati in più file. Quindi importa in modo indipendente ogni file indipendentemente eseguendo comandi `\copy` separati in parallelo.

Ad esempio, hai un file di dati di input in formato CSV con 3 milioni di righe da importare. Puoi dividere il file in blocchi contenenti ciascuno 200.000 righe (15 blocchi):

```
split -l200000 data.csv data_ --additional-suffix=.csv -d
```

Questo genera i file da `data_00.csv` fino a `data_14.csv`. Quindi, puoi importare i dati utilizzando 15 comandi `\copy` paralleli, ad esempio:

```
psql -h dbcluster.limitless-111122223333.aws-region.rds.amazonaws.com -U username -c "\copy test_table from '/tmp/data_00.csv';" postgres_limitless &
psql -h dbcluster.limitless-111122223333.aws-region.rds.amazonaws.com -U username -c "\copy test_table FROM '/tmp/data_01.csv';" postgres_limitless &
...
psql -h dbcluster.limitless-111122223333.aws-region.rds.amazonaws.com -U username -c "\copy test_table FROM '/tmp/data_13.csv';" postgres_limitless &
psql -h dbcluster.limitless-111122223333.aws-region.rds.amazonaws.com -U username -c "\copy test_table FROM '/tmp/data_14.csv';" postgres_limitless
```

Utilizzando questa tecnica, la stessa quantità di dati viene importata circa 10 volte più velocemente rispetto all’utilizzo di un singolo comando `\copy`.

## Utilizzo del comando COPY per copiare dati di Limitless Database in un file
<a name="limitless-load.copy-from"></a>

Puoi utilizzare il comando[\$1copy](https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMANDS-COPY) per copiare dati da una tabella di Limitless in un file, come mostrato nell’esempio seguente:

```
postgres_limitless=> \copy test_table TO '/tmp/test_table.csv' DELIMITER ',' CSV HEADER;
```