Postgres Bulk Indsats

Postgres Bulk Indsats



En bulkinsert er en proces, der tilføjer flere rækker af data til en tabel i en enkelt operation. Dette kan være meget hurtigere end at indsætte en række ad gangen, især når der er tale om store mængder data.

Den mest almindelige metode til at udføre en masseindsættelse i PostgreSQL er COPY-kommandoen, som kan tage data fra en fil eller standardinput og indsætte dem i en tabel. COPY-kommandoen kræver, at dataene skal være i et bestemt format, normalt en CSV- eller tekstfil.

Lad os undersøge, hvordan man bruger denne kommando til at udføre en masseindsættelse i PostgreSQL.







PostgreSQL Bulk Insert

Lad os undersøge trinene til at udføre en masseindsættelse i PostgreSQL.



Forbered dine data

Før du udfører en masseindsættelse, skal du sikre dig, at måldataene er i det passende format. Vi anbefaler, at du konfigurerer dine data i CSV eller TSV. Du kan strukturere måldataene i rækker og kolonner, som er adskilt af kommaer eller tabulatorer.



Opret forbindelse til PostgreSQL

Forbind derefter til din PostgreSQL-database ved hjælp af din ønskede klient. Til denne tutorial bruger vi PSQL-værktøjet for brugervenlighed og universel adgang.





$ psql -I postgres -d < databasenavn >

For eksempel kan du køre følgende forespørgsel for at bruge databasen user_information:

$ psql -I postgres -d user_information

Hvis du ikke har måldatabasen, kan du oprette den ved hjælp af CREATE DATABASE-kommandoen:



OPRET DATABASE < db_navn >

Opret en tabel

Dernæst skal vi sikre, at den tabel, hvor vi ønsker at indsætte data, findes. Tabelstrukturen skal matche datastrukturen inklusive de understøttede datatyper.

Hvis tabellen ikke eksisterer, kan du bruge kommandoen CREATE TABLE:

OPRET TABEL netværk_brugere (
id SERIEPRIMÆR NØGLE,
brugernavn VARCHAR ( 255 ) IKKE NULL,
ip_adresse INET,
mac_adresse MACADDR,
mime TEKST
) ;

Den givne kommando skal oprette en tabel kaldet 'netværksbrugere' med kolonnerne id, brugernavn, ip_adresse, mac_adresse og mime.

Når tabellen er klar, kan vi indlæse dataene i PostgreSQL-tabellen. Igen er det godt at sikre, at datafilen er tilgængelig fra den maskine, hvor serveren kører.

Udfør Bulk Insert

Dernæst kan vi bruge COPY-kommandoen til at indlæse dataene fra filen i databasetabellen. Kommandosyntaksen er som følger:

COPY tabelnavn ( kolonne 1, kolonne 2, kolonne 3 )
FRA 'sti/til/data_fil'
MED ( FORMAT csv | tekst, AFGRÆNSNING 'afgrænser' , HEADER ) ;

Du kan angive formatet (CSV eller tekst), det afgrænsningstegn, der bruges i din fil (f.eks. ',' for CSV, '\t' for TSV), og om din fil indeholder en overskriftsrække.

For at kopiere dataene til tabellen 'network_users' kan vi for eksempel køre kommandoen som følger:

kopier netværksbrugere ( id , brugernavn, ip_adresse, mac_adresse, mime ) fra 'netværksbrugere.
csv'
med ( format csv, afgrænsning ',' , header ) ;

Dette tillader PostgreSQL at indlæse dataene fra filen i tabellen. Du kan kontrollere, om indsættelsen er vellykket, ved at forespørge på dataene i tabellen.

PostgreSQL Bulk Indsæt PgAdmin

Vi kan også bruge en grafisk grænseflade, som pgAdmin giver til at importere en datafil.

Start med at starte pgAdmin og opret forbindelse til din PostgreSQL-database ved at angive de nødvendige forbindelsesdetaljer.

Find derefter bordet, hvor du ønsker at udføre en masseindsættelse. Du kan finde dine databaser og tabeller i browserpanelet.

Højreklik på tabellen og vælg 'Importer/Eksporter'.

I 'Import/Export'-guiden skal du vælge 'Import'-indstillingen og vælge datakildetypen. For eksempel kan du importere en forespørgsel eller udklipsholderen fra en fil.

I det næste trin skal du angive filoplysningerne for masseindsættelsen. Vælg filformatet (CSV, TSV, for at angive stien til din datafil, og indstil den afgrænsning, der bruges i filen.

Når du er tilfreds med dine filimportindstillinger, skal du klikke på 'Ok' for at starte importprocessen. Du bør se processtatus i nederste højre rude.

Du kan kontrollere, om importen er vellykket, ved at åbne forespørgselsværktøjet og køre forespørgslen:

VÆLG * FRA netværksbrugere;

Produktion :

Konklusion

Vi undersøgte, hvordan man bruger PSQL og pgAdmin til at udføre en masseindsættelse fra en ekstern datafil til en PostgreSQL-databasetabel.