Den vanligste metoden for å utføre en masseinnsetting i PostgreSQL er COPY-kommandoen som kan ta dataene fra en fil eller standardinndata og sette dem inn i en tabell. COPY-kommandoen krever at dataene skal være i et spesifikt format, vanligvis en CSV- eller tekstfil.
La oss utforske hvordan du bruker denne kommandoen til å utføre en masseinnsetting i PostgreSQL.
PostgreSQL Bulk Insert
La oss utforske trinnene for å utføre en masseinnsetting i PostgreSQL.
Forbered dine data
Før du utfører en masseinnsetting, sørg for at måldataene er i passende format. Vi anbefaler at du konfigurerer dataene dine i CSV eller TSV. Du kan strukturere måldataene i rader og kolonner som er atskilt med kommaer eller tabulatorer.
Koble til PostgreSQL
Koble deretter til PostgreSQL-databasen ved å bruke ønsket klient. For denne opplæringen bruker vi PSQL-verktøyet for enkel bruk og universell tilgang.
$ psql -I postgres -d < databasenavn >
Du kan for eksempel kjøre følgende spørring for å bruke databasen user_information:
$ psql -I postgres -d brukerinformasjonHvis du ikke har måldatabasen, kan du opprette den ved å bruke CREATE DATABASE-kommandoen:
LAG DATABASE < db_navn >
Lag en tabell
Deretter må vi sørge for at tabellen der vi ønsker å sette inn dataene eksisterer. Tabellstrukturen må samsvare med datastrukturen inkludert de støttede datatypene.
Hvis tabellen ikke eksisterer, kan du bruke CREATE TABLE-kommandoen:
CREATE TABLE network_users (id SERIELL PRIMÆR NØKKEL,
brukernavn VARCHAR ( 255 ) IKKE NULL,
ip_adresse INET,
mac_adresse MACADDR,
mime TEKST
) ;
Den gitte kommandoen skal lage en tabell kalt 'network_users' med id, brukernavn, ip_address, mac_address og mime-kolonnene.
Når tabellen er klar, kan vi laste dataene inn i PostgreSQL-tabellen. Igjen er det greit å sørge for at datafilen er tilgjengelig fra maskinen der serveren kjører.
Utfør masseinnlegget
Deretter kan vi bruke COPY-kommandoen til å laste dataene fra filen inn i databasetabellen. Kommandosyntaksen er som følger:
COPY tabellnavn ( kolonne1, kolonne2, kolonne3 )FRA 'bane/til/datafil'
MED ( FORMAT csv | tekst, DELIMITER 'avgrensning' , OVERSKRIFT ) ;
Du kan spesifisere formatet (CSV eller tekst), skilletegnet som brukes i filen (f.eks. ',' for CSV, '\t' for TSV), og om filen inneholder en overskriftsrad.
For eksempel, for å kopiere dataene til 'network_users'-tabellen, kan vi kjøre kommandoen som følger:
kopier nettverksbrukere ( id , brukernavn, ip_adresse, mac_adresse, mime ) fra 'nettverksbrukere.csv' med ( format csv, skilletegn ',' , Overskrift ) ;
Dette gjør at PostgreSQL kan laste dataene fra filen inn i tabellen. Du kan bekrefte om innsettingen er vellykket ved å spørre etter dataene i tabellen.
PostgreSQL Bulk Insert PgAdmin
Vi kan også bruke et grafisk grensesnitt som pgAdmin gir for å importere en datafil.
Start med å starte pgAdmin og koble til din PostgreSQL-database ved å oppgi de nødvendige tilkoblingsdetaljene.
Deretter finner du tabellen der du ønsker å utføre en masseinnsetting. Du kan finne databasene og tabellene i nettleserpanelet.
Høyreklikk på tabellen og velg 'Importer/eksporter'.
I «Import/Export»-veiviseren velger du «Import»-alternativet og velger datakildetypen. Du kan for eksempel importere en spørring eller utklippstavlen fra en fil.
I neste trinn oppgir du fildetaljene for masseinnlegget. Velg filformatet (CSV, TSV, for å spesifisere banen til datafilen din, og angi skilletegnet som brukes i filen.
Når du er fornøyd med filimporteringsalternativene dine, klikker du 'Ok' for å starte importprosessen. Du bør se prosessstatus nederst til høyre.
Du kan bekrefte om importen er vellykket ved å åpne spørreverktøyet og kjøre spørringen:
PLUKKE UT * FRA nettverksbrukere;Produksjon :
Konklusjon
Vi utforsket hvordan du bruker PSQL og pgAdmin til å utføre en masseinnsetting fra en ekstern datafil til en PostgreSQL-databasetabell.