このトピックでは、psql CLI クライアントで \copy コマンドを実行して、ローカルコンピューターからAnalyticDB for PostgreSQL インスタンスにテキストファイルをインポートする方法について説明します。
使用上の注意点
\copy コマンドは、コーディネーターノードを使用してデータを順番に書き込むため、大量のデータを並行してインポートする場合は使用できません。大量のデータを並行してインポートする場合は、Object Storage Service (OSS) に基づくデータインポートの方法を使用してください。OSS によるデータインポートする方法については、「外部テーブルを使用して OSS からデータをインポートする」をご参照ください。
\copy と COPY の比較
共通点:
両方の構文は同じです。構文の詳細については、「COPY」をご参照ください。
相違点:
\copy は psql で使用され、COPY はデータベースで使用されます。
\copy は FILE、STDIN、および STDOUT ファイルの管理に使用できますが、COPY は STDIN および STDOUT ファイルの管理にのみ使用できます。
説明FILE ファイルを変更するには SUPERUSER 権限が必要ですが、AnalyticDB for PostgreSQLではこの権限はサポートされていません。
構文
以下に、\copy コマンドを実行して AnalyticDB for PostgreSQL インスタンスにデータをインポートする方法の例を示します。
\COPY table [(column [, ...])] FROM {'file' | STDIN}
[ [WITH]
[OIDS]
[HEADER]
[DELIMITER [ AS ] 'delimiter']
[NULL [ AS ] 'null string']
[ESCAPE [ AS ] 'escape' | 'OFF']
[NEWLINE [ AS ] 'LF' | 'CR' | 'CRLF']
[CSV [QUOTE [ AS ] 'quote']
[FORCE NOT NULL column [, ...]]
[FILL MISSING FIELDS]
[[LOG ERRORS [INTO error_table] [KEEP]
SEGMENT REJECT LIMIT count [ROWS | PERCENT] ]CopyIn メソッドがカプセル化された Java Database Connectivity (JDBC) を使用して AnalyticDB for PostgreSQL において COPY 文を実行することが可能です。CopyIn の詳細については、「Interface CopyIn」をご参照ください。
例
\COPY test1 FROM '/path/to/localfile';