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é \ copypsqlutilitaire 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é \ copypsqlutilitaire 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 STDINetCOPY ... 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'SQLpsqlutilitaire 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;