Postgres Bulk Insert

Postgres Bulk Insert



O inserare în bloc este un proces care adaugă mai multe rânduri de date la un tabel într-o singură operație. Acest lucru poate fi mult mai rapid decât inserarea unui rând la un moment dat, mai ales atunci când aveți de-a face cu cantități mari de date.

Cea mai comună metodă de a efectua o inserare în bloc în PostgreSQL este comanda COPY care poate prelua datele dintr-un fișier sau intrare standard și le poate insera într-un tabel. Comanda COPY necesită ca datele să fie într-un format specific, de obicei un fișier CSV sau text.

Să explorăm cum să folosim această comandă pentru a efectua o inserare în bloc în PostgreSQL.







Inserare în bloc PostgreSQL

Să explorăm pașii pentru a efectua o inserare în bloc în PostgreSQL.



Pregătiți-vă datele

Înainte de a efectua o inserare în bloc, asigurați-vă că datele țintă sunt în formatul adecvat. Vă recomandăm să vă configurați datele în CSV sau TSV. Puteți structura datele țintă în rânduri și coloane care sunt separate prin virgule sau file.



Conectați-vă la PostgreSQL

Apoi, conectați-vă la baza de date PostgreSQL folosind clientul dorit. Pentru acest tutorial, folosim utilitarul PSQL pentru ușurință în utilizare și acces universal.





$ psql -ÎN postgres -d < numele bazei de date >

De exemplu, puteți rula următoarea interogare pentru a utiliza baza de date user_information:

$ psql -ÎN postgres -d informație_utilizator

Dacă nu aveți baza de date țintă, o puteți crea folosind comanda CREATE DATABASE:



CREAȚI BAZĂ DE DATE < db_name >

Creați un tabel

În continuare, trebuie să ne asigurăm că există tabelul în care dorim să inserăm datele. Structura tabelului trebuie să se potrivească cu structura de date, inclusiv cu tipurile de date acceptate.

Dacă tabelul nu există, puteți folosi comanda CREATE TABLE:

CREATE TABLE network_users (
id CHEIE PRIMARĂ DE SERIE,
nume de utilizator VARCHAR ( 255 ) NU NUL,
adresa_ip INET,
mac_address MACADDR,
mime TEXT
) ;

Comanda dată ar trebui să creeze un tabel numit „network_users” cu coloanele id, username, ip_address, mac_address și mime.

Odată ce tabelul este gata, putem încărca datele în tabelul PostgreSQL. Din nou, este bine să vă asigurați că fișierul de date este accesibil de pe mașina pe care rulează serverul.

Executați inserția în bloc

Apoi, putem folosi comanda COPY pentru a încărca datele din fișier în tabelul bazei de date. Sintaxa comenzii este următoarea:

COPIEAZĂ nume_tabel ( coloana1, coloana2, coloana3 )
DIN „cale/spre/fișier_date”
CU ( FORMAT csv | text, DELIMITER „delimitator” , ANTET ) ;

Puteți specifica formatul (CSV sau text), delimitatorul utilizat în fișierul dvs. (de exemplu, „,” pentru CSV, „\t” pentru TSV) și dacă fișierul include un rând de antet.

De exemplu, pentru a copia datele în tabelul „network_users”, putem rula comanda după cum urmează:

copiați network_users ( id , nume de utilizator, adresa_ip, adresa_mac, mime ) din „utilizatori_rețea”.
csv'
cu ( format csv, delimitator ',' , antet ) ;

Acest lucru permite PostgreSQL să încarce datele din fișier în tabel. Puteți verifica dacă inserarea a avut succes interogând datele din tabel.

PostgreSQL Bulk Insert PgAdmin

De asemenea, putem folosi o interfață grafică pe care pgAdmin o oferă pentru a importa un fișier de date.

Începeți prin a lansa pgAdmin și conectați-vă la baza dvs. de date PostgreSQL furnizând detaliile de conexiune necesare.

Apoi, localizați tabelul în care doriți să efectuați o inserare în vrac. Puteți găsi bazele de date și tabelele dvs. în panoul browserului.

Faceți clic dreapta pe tabel și selectați „Import/Export”.

În expertul „Import/Export”, alegeți opțiunea „Import” și selectați tipul sursei de date. De exemplu, puteți importa o interogare sau clipboard dintr-un fișier.

În pasul următor, furnizați detaliile fișierului pentru inserarea în bloc. Selectați formatul fișierului (CSV, TSV, pentru a specifica calea către fișierul dvs. de date și setați delimitatorul care este utilizat în fișier.

Odată mulțumit de opțiunile de importare a fișierelor, faceți clic pe „Ok” pentru a începe procesul de import. Ar trebui să vedeți starea procesului în panoul din dreapta jos.

Puteți verifica dacă importul a reușit deschizând Instrumentul de interogare și rulați interogarea:

SELECTAȚI * FROM network_users;

Ieșire :

Concluzie

Am explorat cum să folosim PSQL și pgAdmin pentru a efectua o inserare în bloc dintr-un fișier de date extern într-un tabel al bazei de date PostgreSQL.