Postgres Bulk Insert

Postgres Bulk Insert



Množično vstavljanje je postopek, ki doda več vrstic podatkov v tabelo v eni operaciji. To je lahko veliko hitreje kot vstavljanje ene vrstice naenkrat, še posebej, če imate opravka z velikimi količinami podatkov.

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.