Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation de la COPY commande avec la base de données Aurora Postgre SQL Limitless
Vous pouvez utiliser la fonctionnalité \ copypsql
utilitaire pour importer et exporter des données dans la base de données Aurora Postgre SQL Limitless.
Utilisation de la COPY commande pour charger des données dans la base de données Aurora Postgre SQL Limitless
La base de données Aurora Postgre SQL Limitless est compatible avec la fonctionnalité \ copypsql
utilitaire d'importation de données.
Dans Limitless Database comme dans Aurora PostgreSQL, les éléments suivants ne sont pas pris en charge :
-
SSHAccès direct aux instances de base de données : vous ne pouvez pas copier un fichier de données (au format .csv, par exemple) sur l'hôte de l'instance de base de données et l'exécuter
COPY
à partir du fichier. -
Utilisation de fichiers locaux sur l'instance de base de données : utilisez
COPY ... FROM STDIN
etCOPY ... TO STDOUT
.
La COPY
commande de Postgre SQL comporte des options permettant de travailler avec des fichiers locaux (FROM/TO
) et de transmettre des données via une connexion entre le client et le serveur (STDIN/STDOUT
). Pour plus d'informations, consultez COPY
La \copy
commande de l'SQLpsql
utilitaire Postgre fonctionne avec les fichiers locaux de l'ordinateur sur lequel vous exécutez le psql
client. Il invoque la COPY ... FROM STDOUT
commande COPY ... FROM STDIN
ou correspondante sur le serveur distant (par exemple, Limitless Database) auquel vous vous connectez. Il lit les données du fichier local STDIN
ou y écritSTDOUT
.
Fractionnement des données en plusieurs fichiers
Les données sont stockées sur plusieurs partitions dans la base de données Aurora Postgre SQL Limitless. Pour accélérer le chargement des données en utilisant\copy
, vous pouvez diviser vos données en plusieurs fichiers. Importez ensuite indépendamment pour chaque fichier de données en exécutant des \copy
commandes distinctes en parallèle.
Par exemple, vous avez un fichier de données d'entrée au CSV format de 3 millions de lignes à importer. Vous pouvez diviser le fichier en plusieurs parties contenant chacune 200 000 lignes (15 parties) :
split -l200000 data.csv data_ --additional-suffix=.csv -d
Cela entraîne le transfert de data_00.csv
fichiersdata_14.csv
. Vous pouvez ensuite importer des données à l'aide de 15 \copy
commandes parallèles, par exemple :
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
Grâce à cette technique, la même quantité de données est importée environ 10 fois plus rapidement qu'avec une seule \copy
commande.
Utilisation de la COPY commande pour copier les données de la base de données Limitless dans un fichier
Vous pouvez utiliser la commande \ copy
postgres_limitless=> \copy test_table TO '/tmp/test_table.csv' DELIMITER ',' CSV HEADER;