Najpogostejši način izvajanja množičnega vstavljanja v PostgreSQL je ukaz COPY, ki lahko vzame podatke iz datoteke ali standardnega vnosa in jih vstavi v tabelo. Ukaz COPY zahteva, da so podatki v določenem formatu, običajno v CSV ali besedilni datoteki.
Raziščimo, kako uporabiti ta ukaz za množično vstavljanje v PostgreSQL.
PostgreSQL Bulk Insert
Raziščimo korake za izvedbo množičnega vstavljanja v PostgreSQL.
Pripravite svoje podatke
Pred izvedbo množičnega vstavljanja se prepričajte, da so ciljni podatki v ustrezni obliki. Priporočamo, da svoje podatke konfigurirate v CSV ali TSV. Ciljne podatke lahko strukturirate v vrsticah in stolpcih, ki so ločeni z vejicami ali zavihki.
Povežite se s PostgreSQL
Nato se povežite z bazo podatkov PostgreSQL z želenim odjemalcem. Za to vadnico uporabljamo pripomoček PSQL za enostavno uporabo in univerzalni dostop.
$ psql -IN postgres -d < ime_baze podatkov >
Na primer, lahko zaženete naslednjo poizvedbo za uporabo baze podatkov user_information:
$ psql -IN postgres -d uporabniške_informacijeČe nimate ciljne baze podatkov, jo lahko ustvarite z ukazom CREATE DATABASE:
USTVARITE BAZO PODATKOV < db_name >
Ustvari tabelo
Nato moramo zagotoviti, da tabela, kamor želimo vstaviti podatke, obstaja. Struktura tabele se mora ujemati s strukturo podatkov, vključno s podprtimi tipi podatkov.
Če tabela ne obstaja, lahko uporabite ukaz CREATE TABLE:
USTVARI TABELO network_users (id SERIJSKI PRIMARNI KLJUČ,
uporabniško ime VARCHAR ( 255 ) NI NULL,
ip_naslov INET,
mac_address MACADDR,
mime BESEDILO
) ;
Podani ukaz bi moral ustvariti tabelo z imenom »network_users« s stolpci id, username, ip_address, mac_address in mime.
Ko je tabela pripravljena, lahko naložimo podatke v tabelo PostgreSQL. Še enkrat, dobro je zagotoviti, da je podatkovna datoteka dostopna z računalnika, kjer se izvaja strežnik.
Izvedite množično vstavljanje
Nato lahko z ukazom COPY naložimo podatke iz datoteke v tabelo baze podatkov. Sintaksa ukaza je naslednja:
KOPIRAJ ime_tabele ( stolpec1, stolpec2, stolpec3 )OD 'pot/do/podatkovne_datoteke'
Z ( FORMAT csv | besedilo, DELIMITER 'delimiter' , GLAVA ) ;
Določite lahko obliko (CSV ali besedilo), ločilo, uporabljeno v vaši datoteki (npr. ',' za CSV, '\t' za TSV) in ali vaša datoteka vključuje naslovno vrstico.
Če želite na primer kopirati podatke v tabelo »network_users«, lahko zaženemo ukaz na naslednji način:
kopiraj network_users ( id , uporabniško ime, ip_address, mac_address, mime ) od 'omrežni_uporabniki.csv' z ( oblika csv, ločilo ',' , glava ) ;
To omogoča PostgreSQL, da naloži podatke iz datoteke v tabelo. Če je vstavljanje uspešno, lahko preverite s poizvedbo po podatkih v tabeli.
PostgreSQL Bulk Insert PgAdmin
Za uvoz podatkovne datoteke lahko uporabimo tudi grafični vmesnik, ki ga ponuja pgAdmin.
Začnite z zagonom pgAdmin in se povežite z vašo zbirko podatkov PostgreSQL tako, da zagotovite potrebne podrobnosti o povezavi.
Nato poiščite tabelo, kjer želite izvesti množično vstavljanje. Podatkovne baze in tabele najdete na plošči brskalnika.
Z desno miškino tipko kliknite tabelo in izberite »Uvoz/Izvoz«.
V čarovniku »Uvozi/izvozi« izberite možnost »Uvozi« in izberite vrsto vira podatkov. Na primer, lahko uvozite poizvedbo ali odložišče iz datoteke.
V naslednjem koraku navedite podrobnosti datoteke za množično vstavljanje. Izberite obliko datoteke (CSV, TSV, da določite pot do podatkovne datoteke in nastavite ločilo, ki se uporablja v datoteki.
Ko ste zadovoljni z možnostmi uvoza datoteke, kliknite »V redu«, da začnete postopek uvoza. V spodnjem desnem podoknu bi morali videti stanje postopka.
Če je uvoz uspešen, lahko preverite tako, da odprete orodje za poizvedovanje in zaženete poizvedbo:
IZBERI * FROM network_users;Izhod :
Zaključek
Raziskali smo, kako uporabiti PSQL in pgAdmin za množično vstavljanje iz zunanje podatkovne datoteke v tabelo baze podatkov PostgreSQL.