

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwenden des COPY-Befehls in Aurora PostgreSQL Limitless Database
<a name="limitless-load.copy"></a>

Sie können die Funktion[\$1copy](https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMANDS-COPY) im Dienstprogramm `psql` verwenden, um Daten in und aus Aurora PostgreSQL Limitless Database zu importieren und zu exportieren.

## Verwenden des COPY-Befehls, um Daten in Aurora PostgreSQL Limitless Database zu laden
<a name="limitless-load.copy-to"></a>

Aurora PostgreSQL Limitless Database ist mit der [\$1copy](https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMANDS-COPY)-Funktionalität im Dienstprogramm `psql` zum Importieren von Daten kompatibel.

In Limitless Database wird wie in Aurora PostgreSQL Folgendes nicht unterstützt:
+ Direkter SSH-Zugriff auf DB-Instances: Sie können eine Datendatei (z. B. im CSV-Format) nicht auf den DB-Instance-Host kopieren und `COPY` von der Datei aus ausführen.
+ Lokale Dateien auf der DB-Instance verwenden: Verwenden Sie `COPY ... FROM STDIN` und `COPY ... TO STDOUT`.

Der `COPY`-Befehl in PostgreSQL bietet Optionen für die Arbeit mit lokalen Dateien (`FROM/TO`) und die Übertragung von Daten über eine Verbindung zwischen dem Client und dem Server (`STDIN/STDOUT`). Weitere Informationen finden Sie unter [COPY](https://www.postgresql.org/docs/current/sql-copy.html) in der PostgreSQL-Dokumentation.

Der `\copy`-Befehl im PostgreSQL-Dienstprogramm `psql` funktioniert mit lokalen Dateien auf dem Computer, auf dem Sie den `psql`-Client ausführen. Er ruft den entsprechenden `COPY ... FROM STDIN`- oder `COPY ... FROM STDOUT`-Befehl auf dem Remote-Server (z. B. Limitless Database) auf, zu dem Sie eine Verbindung herstellen. Er liest Daten aus der lokalen Datei in `STDIN` ein oder schreibt an sie aus `STDOUT`.

### Unterteilen von Daten in mehrere Dateien
<a name="limitless-load.copy-split"></a>

Daten werden auf mehreren Shards in Aurora PostgreSQL Limitless Database gespeichert. Um das Laden von Daten mit `\copy` zu beschleunigen, können Sie Ihre Daten in mehrere Dateien unterteilen. Importieren Sie Daten dann unabhängig für jede Datendatei, indem Sie separate `\copy`-Befehle parallel ausführen.

Sie haben beispielsweise eine Eingabedatendatei im CSV-Format mit 3 Millionen zu importierenden Zeilen. Sie können die Datei in Blöcke aufteilen, die jeweils 200 000 Zeilen (15 Blöcke) enthalten:

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

Dies führt zu Dateien von `data_00.csv` bis `data_14.csv`. Anschließend können Sie Daten mit 15 parallelen `\copy`-Befehlen importieren, zum Beispiel:

```
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
```

Mit dieser Technik wird dieselbe Datenmenge etwa zehnmal schneller importiert als mit einem einzigen `\copy`-Befehl.

## Kopieren von Limitless-Database-Daten in eine Datei mit dem COPY-Befehl
<a name="limitless-load.copy-from"></a>

Sie können den Befehl [\$1copy](https://www.postgresql.org/docs/current/app-psql.html#APP-PSQL-META-COMMANDS-COPY) verwenden, um Daten aus einer Limitless-Tabelle in eine Datei zu kopieren, wie im folgenden Beispiel gezeigt:

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