Postgres Bulk Insert

Postgres Bulk Insert



Skupno umetanje je proces koji dodaje više redaka podataka u tablicu u jednoj operaciji. To može biti mnogo brže od umetanja jednog po jednog retka, posebno kada se radi o velikim količinama podataka.

Najčešća metoda izvođenja skupnog umetanja u PostgreSQL je naredba COPY koja može uzeti podatke iz datoteke ili standardnog unosa i umetnuti ih u tablicu. Naredba COPY zahtijeva da podaci budu u određenom formatu, obično CSV ili tekstualnoj datoteci.

Istražimo kako koristiti ovu naredbu za izvođenje skupnog umetanja u PostgreSQL.







PostgreSQL skupno umetanje

Istražimo korake za izvođenje skupnog umetanja u PostgreSQL.



Pripremite svoje podatke

Prije izvođenja skupnog umetanja, provjerite jesu li ciljni podaci u odgovarajućem formatu. Preporučujemo da svoje podatke konfigurirate u CSV ili TSV. Ciljne podatke možete strukturirati u retke i stupce koji su odvojeni zarezima ili tabulatorima.



Spojite se na PostgreSQL

Zatim se spojite na svoju PostgreSQL bazu podataka pomoću željenog klijenta. Za ovaj vodič koristimo uslužni program PSQL za jednostavno korištenje i univerzalni pristup.





$ psql -U postgres -d < naziv_baze podataka >

Na primjer, možete pokrenuti sljedeći upit za korištenje baze podataka user_information:

$ psql -U postgres -d informacije o korisniku

Ako nemate ciljnu bazu podataka, možete je kreirati pomoću naredbe CREATE DATABASE:



STVARANJE BAZE PODATAKA < db_name >

Napravi tablicu

Zatim moramo osigurati da tablica u koju želimo umetnuti podatke postoji. Struktura tablice mora odgovarati strukturi podataka uključujući podržane tipove podataka.

Ako tablica ne postoji, možete koristiti naredbu CREATE TABLE:

STVARANJE TABLICE network_users (
iskaznica SERIJSKI PRIMARNI KLJUČ,
korisničko ime VARCHAR ( 255 ) NIJE NULL,
ip_adresa INET,
mac_adresa MACADDR,
mimičar TEKST
) ;

Dana naredba trebala bi stvoriti tablicu pod nazivom “network_users” sa stupcima id, username, ip_address, mac_address i mime.

Nakon što je tablica spremna, možemo učitati podatke u PostgreSQL tablicu. Opet, dobro je osigurati da je podatkovna datoteka dostupna sa stroja na kojem se izvodi poslužitelj.

Izvršite skupno umetanje

Zatim možemo upotrijebiti naredbu COPY za učitavanje podataka iz datoteke u tablicu baze podataka. Sintaksa naredbe je sljedeća:

KOPIRAJ table_name ( stupac1, stupac2, stupac3 )
IZ 'put/do/datoteke_podataka'
S ( FORMAT csv | tekst, DELIMITER 'razdjelnik' , ZAGLAVLJE ) ;

Možete odrediti format (CSV ili tekstualni), graničnik koji se koristi u vašoj datoteci (npr., ',' za CSV, '\t' za TSV) i uključuje li vaša datoteka redak zaglavlja.

Na primjer, da kopiramo podatke u tablicu “network_users”, možemo pokrenuti naredbu na sljedeći način:

kopiraj network_users ( iskaznica , korisničko ime, ip_adresa, mac_adresa, mime ) iz 'mrežni_korisnici.
csv'
s ( format csv, graničnik ',' , Zaglavlje ) ;

To omogućuje PostgreSQL-u da učita podatke iz datoteke u tablicu. Možete provjeriti je li umetanje uspješno upitom podataka u tablici.

PostgreSQL Bulk Insert PgAdmin

Također možemo koristiti grafičko sučelje koje nudi pgAdmin za uvoz podatkovne datoteke.

Započnite pokretanjem pgAdmin-a i povežite se s vašom PostgreSQL bazom podataka pružanjem potrebnih pojedinosti o povezivanju.

Zatim pronađite tablicu u kojoj želite izvršiti skupno umetanje. Svoje baze podataka i tablice možete pronaći na ploči preglednika.

Kliknite desnom tipkom miša na tablicu i odaberite 'Uvoz/izvoz'.

U čarobnjaku “Uvoz/izvoz” odaberite opciju “Uvoz” i odaberite vrstu izvora podataka. Na primjer, možete uvesti upit ili međuspremnik iz datoteke.

U sljedećem koraku navedite pojedinosti datoteke za skupno umetanje. Odaberite format datoteke (CSV, TSV, da navedete put do vaše podatkovne datoteke i postavite razgraničivač koji se koristi u datoteci.

Kada budete zadovoljni opcijama uvoza datoteke, kliknite 'U redu' za početak procesa uvoza. Trebali biste vidjeti status procesa u donjem desnom oknu.

Možete provjeriti je li uvoz uspješan otvaranjem Alata za upite i pokretanjem upita:

IZABERI * FROM network_users;

Izlaz :

Zaključak

Istražili smo kako koristiti PSQL i pgAdmin za izvođenje skupnog umetanja iz vanjske podatkovne datoteke u tablicu baze podataka PostgreSQL.