Hromadná vložka Postgres

Hromadna Vlozka Postgres



Hromadné vkladanie je proces, ktorý pridáva do tabuľky viacero riadkov údajov v jednej operácii. Môže to byť oveľa rýchlejšie ako vkladanie jedného riadka naraz, najmä pri práci s veľkým množstvom údajov.

Najbežnejšou metódou hromadného vkladania v PostgreSQL je príkaz COPY, ktorý dokáže prevziať údaje zo súboru alebo štandardného vstupu a vložiť ich do tabuľky. Príkaz COPY vyžaduje, aby boli údaje v špecifickom formáte, zvyčajne vo formáte CSV alebo textovom súbore.

Pozrime sa, ako použiť tento príkaz na hromadné vkladanie do PostgreSQL.







Hromadné vloženie PostgreSQL

Poďme preskúmať kroky na vykonanie hromadného vloženia v PostgreSQL.



Pripravte si údaje

Pred vykonaním hromadného vkladania sa uistite, že cieľové údaje sú vo vhodnom formáte. Odporúčame, aby ste svoje údaje nakonfigurovali vo formáte CSV alebo TSV. Cieľové údaje môžete štruktúrovať do riadkov a stĺpcov, ktoré sú oddelené čiarkami alebo tabulátormi.



Pripojte sa k PostgreSQL

Potom sa pripojte k databáze PostgreSQL pomocou požadovaného klienta. Pre tento tutoriál používame nástroj PSQL pre jednoduché použitie a univerzálny prístup.





$ psql -V postgres -d < názov_databázy >

Ak chcete použiť databázu user_information, môžete napríklad spustiť nasledujúci dotaz:

$ psql -V postgres -d user_information

Ak nemáte cieľovú databázu, môžete ju vytvoriť pomocou príkazu CREATE DATABASE:



VYTVORIŤ DATABÁZU < názov_db >

Vytvorte tabuľku

Ďalej sa musíme uistiť, že tabuľka, do ktorej chceme vložiť údaje, existuje. Štruktúra tabuľky musí zodpovedať štruktúre údajov vrátane podporovaných typov údajov.

Ak tabuľka neexistuje, môžete použiť príkaz CREATE TABLE:

CREATE TABLE network_users (
id SÉRIOVÝ PRIMÁRNY KĽÚČ,
užívateľské meno VARCHAR ( 255 ) NIE JE NULL,
ip_address INET,
mac_address MACADDR,
mimický TEXT
) ;

Daný príkaz by mal vytvoriť tabuľku s názvom „network_users“ so stĺpcami id, username, ip_address, mac_address a mime.

Keď je tabuľka pripravená, môžeme načítať údaje do tabuľky PostgreSQL. Opäť je dobré zabezpečiť, aby bol dátový súbor dostupný zo stroja, na ktorom beží server.

Vykonajte hromadné vkladanie

Ďalej môžeme použiť príkaz COPY na načítanie údajov zo súboru do databázovej tabuľky. Syntax príkazu je nasledovná:

COPY table_name ( stĺpec1, stĺpec2, stĺpec3 )
OD 'cesta/k/údajovému_súboru'
S ( FORMÁT csv | text, DELIMITER 'oddeľovač' , HEADER ) ;

Môžete určiť formát (CSV alebo text), oddeľovač použitý vo vašom súbore (napr. „,“ pre CSV, „\t“ pre TSV) a či váš súbor obsahuje riadok hlavičky.

Napríklad na skopírovanie údajov do tabuľky „users_network“ môžeme príkaz spustiť takto:

kopírovať network_users ( id , používateľské meno, ip_adresa, mac_adresa, mime ) od 'users_siete.
csv'
s ( formát csv, oddeľovač ',' , hlavička ) ;

To umožňuje PostgreSQL načítať údaje zo súboru do tabuľky. Úspešné vloženie môžete overiť dotazovaním na údaje v tabuľke.

Hromadné vloženie PostgreSQL PgAdmin

Na import dátového súboru môžeme použiť aj grafické rozhranie, ktoré pgAdmin poskytuje.

Začnite spustením pgAdmin a pripojte sa k svojej databáze PostgreSQL poskytnutím potrebných podrobností o pripojení.

Potom nájdite tabuľku, v ktorej chcete vykonať hromadné vkladanie. Svoje databázy a tabuľky nájdete na paneli prehliadača.

Kliknite pravým tlačidlom myši na tabuľku a vyberte „Import/Export“.

V sprievodcovi „Import/Export“ vyberte možnosť „Importovať“ a vyberte typ zdroja údajov. Môžete napríklad importovať dotaz alebo schránku zo súboru.

V ďalšom kroku zadajte podrobnosti o súbore pre hromadné vkladanie. Vyberte formát súboru (CSV, TSV, ak chcete zadať cestu k súboru s údajmi, a nastavte oddeľovač, ktorý sa používa v súbore.

Keď budete spokojní s možnosťami importu súboru, kliknutím na tlačidlo „OK“ spustite proces importu. V pravom dolnom paneli by ste mali vidieť stav procesu.

Úspešnosť importu môžete overiť otvorením nástroja Správca dopytov a spustením dotazu:

VYBRAŤ * FROM network_users;

Výkon :

Záver

Skúmali sme, ako používať PSQL a pgAdmin na hromadné vkladanie z externého dátového súboru do databázovej tabuľky PostgreSQL.