sql >> Database >  >> RDS >> PostgreSQL

Hoe een groot XML-bestand (~ 10 GB) in PostgreSQL te importeren?

  1. Converteer XML-bestand naar CSV-bestand. Splits het bij het converteren ook in delen van 100 Mb-1 Gb voor eenvoudiger batchen.

  2. Maak de tabel met kolommen die u in het CSV-bestand hebt gedefinieerd.

  3. Upload de bestanden naar Postgres met COPY command.Het is de snelste manier om een ​​grote hoeveelheid gegevens te uploaden die ik ken.BTW, het zou ook vanuit Java kunnen worden gedaan, met CopyManager klasse.

Afhankelijk van het soort zoekopdrachten dat u gaat uitvoeren, wilt u indexen maken:

  1. Het zal het meest tijdrovende onderdeel zijn. U kunt echter wel CREATE INDEX GELIJKTIJDIG gebruiken . Hiermee kunt u met uw tabel werken terwijl de index op de achtergrond wordt gemaakt.

  2. Als u het importproces herhaalt en de tabel en indexen al hebt gemaakt, laat u de indexen vallen voordat u het COPY-commando geeft en maakt u ze later opnieuw. Het zal u veel tijd besparen.

  3. Als u nog steeds niet tevreden bent met de snelheid van uw zoekopdrachten of de snelheid van het maken van indexen, is het misschien een goed idee om Clickhouse in plaats van. Het hangt echter af van het soort zoekopdrachten dat u uitvoert.




  1. Initialiseer Postgres db in Docker Compose

  2. Ignition verbinden met Microsoft Access

  3. Django kan MySQLdb python-module niet vinden

  4. ActiveRecord / Rails laten gebruiken werkelijke mysql TIMESTAMP-kolommen