Den vanligaste metoden för att utföra en massinsättning i PostgreSQL är kommandot COPY som kan ta data från en fil eller standardinmatning och infoga den i en tabell. Kommandot COPY kräver att data ska vara i ett specifikt format, vanligtvis en CSV- eller textfil.
Låt oss utforska hur man använder det här kommandot för att utföra en bulkinfogning i PostgreSQL.
PostgreSQL Bulk Insert
Låt oss utforska stegen för att utföra en bulkinsert i PostgreSQL.
Förbered dina data
Innan du utför en massinsättning, se till att måldata är i lämpligt format. Vi rekommenderar att du konfigurerar dina data i CSV eller TSV. Du kan strukturera måldata i rader och kolumner som är åtskilda med kommatecken eller tabb.
Anslut till PostgreSQL
Anslut sedan till din PostgreSQL-databas med din önskade klient. För den här handledningen använder vi PSQL-verktyget för enkel användning och universell åtkomst.
$ psql -I postgres -d < Databas namn >
Du kan till exempel köra följande fråga för att använda databasen user_information:
$ psql -I postgres -d användar informationOm du inte har måldatabasen kan du skapa den med kommandot CREATE DATABASE:
SKAPA DATABAS < db_name >
Skapa en tabell
Därefter måste vi se till att tabellen där vi vill infoga data finns. Tabellstrukturen måste matcha datastrukturen inklusive de datatyper som stöds.
Om tabellen inte finns kan du använda kommandot CREATE TABLE:
CREATE TABLE network_users (id SERIAL PRIMÄR NYCKEL,
användarnamn VARCHAR ( 255 ) INTE NULL,
ip_adress INET,
mac_adress MACADDR,
mima TEXT
) ;
Det givna kommandot ska skapa en tabell som heter 'nätverksanvändare' med kolumnerna id, användarnamn, ip_address, mac_address och mime.
När tabellen är klar kan vi ladda data till PostgreSQL-tabellen. Återigen är det bra att se till att datafilen är tillgänglig från maskinen där servern körs.
Utför Bulk Insert
Därefter kan vi använda kommandot COPY för att ladda data från filen till databastabellen. Kommandosyntaxen är som följer:
COPY tabellnamn ( kolumn1, kolumn2, kolumn3 )FRÅN 'sökväg/till/datafil'
MED ( FORMAT csv | text, AVGRÄNSNING 'avgränsare' , HUVUD ) ;
Du kan ange formatet (CSV eller text), avgränsaren som används i din fil (t.ex. ',' för CSV, '\t' för TSV) och om din fil innehåller en rubrikrad.
Till exempel, för att kopiera data till tabellen 'network_users', kan vi köra kommandot enligt följande:
kopiera nätverksanvändare ( id , användarnamn, ip_adress, mac_adress, mime ) från 'nätverksanvändare.csv' med ( format csv, avgränsare ',' , rubrik ) ;
Detta gör att PostgreSQL kan ladda data från filen till tabellen. Du kan verifiera om infogningen lyckades genom att fråga efter data i tabellen.
PostgreSQL Bulk Infoga PgAdmin
Vi kan också använda ett grafiskt gränssnitt som pgAdmin tillhandahåller för att importera en datafil.
Börja med att starta pgAdmin och anslut till din PostgreSQL-databas genom att ange nödvändiga anslutningsdetaljer.
Leta sedan upp tabellen där du vill utföra en massinsättning. Du kan hitta dina databaser och tabeller i webbläsarpanelen.
Högerklicka på tabellen och välj 'Importera/exportera'.
I guiden 'Importera/Exportera', välj alternativet 'Importera' och välj datakällans typ. Du kan till exempel importera en fråga eller urklipp från en fil.
I nästa steg anger du filinformationen för massinlägget. Välj filformat (CSV, TSV, för att ange sökvägen till din datafil och ställ in avgränsaren som används i filen.
När du är nöjd med dina filimportalternativ, klicka på 'Ok' för att starta importprocessen. Du bör se processstatus i den nedre högra rutan.
Du kan verifiera om importen lyckas genom att öppna frågeverktyget och köra frågan:
VÄLJ * FRÅN nätverksanvändare;Produktion :
Slutsats
Vi undersökte hur man använder PSQL och pgAdmin för att utföra en massinsättning från en extern datafil till en PostgreSQL-databastabell.