PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment importer un gros fichier XML (~ 10 Go) dans PostgreSQL

  1. Convertissez le fichier XML en fichier CSV. De plus, lors de la conversion, divisez-le en parties de 100 Mo à 1 Go pour faciliter le traitement par lots.

  2. Créez le tableau avec les colonnes que vous avez définies dans le fichier CSV.

  3. Téléchargez le ou les fichiers dans Postgres avec COPY command.C'est le moyen le plus rapide de télécharger une grande quantité de données que je connais.BTW, cela pourrait aussi être fait à partir de Java, avec CopyManager classe.

Selon le type de requêtes que vous effectuerez, vous aimerez créer des index :

  1. Ce sera la partie la plus chronophage. Cependant, vous pouvez utiliser CREATE INDEX CONCURRENTLY . Cela vous permettra de travailler avec votre table pendant que l'index est créé en arrière-plan.

  2. Si vous répétez le processus d'importation et que la table et les index ont déjà été créés, supprimez les index avant d'émettre la commande COPY et recréez-les ultérieurement. Cela vous fera gagner beaucoup de temps.

  3. Si vous n'êtes toujours pas satisfait de la vitesse de vos requêtes ou de la vitesse de création des index, ce sera peut-être une bonne idée d'utiliser Clickhouse Au lieu. Cependant, cela dépend du type de requêtes que vous effectuez.