Postgres Bulk Insert

Postgres Bulk Insert



Ang bulk insert ay isang proseso na nagdaragdag ng maraming row ng data sa isang table sa isang operasyon. Ito ay maaaring maging mas mabilis kaysa sa pagpasok ng isang hilera sa isang pagkakataon, lalo na kapag nakikitungo sa malaking halaga ng data.

Ang pinakakaraniwang paraan ng pagsasagawa ng bulk insert sa PostgreSQL ay ang COPY command na maaaring kumuha ng data mula sa isang file o standard input at ipasok ito sa isang table. Ang COPY command ay nangangailangan na ang data ay dapat nasa isang partikular na format, karaniwang isang CSV o text file.

Tuklasin natin kung paano gamitin ang command na ito para magsagawa ng bulk insert sa PostgreSQL.







PostgreSQL Bulk Insert

I-explore natin ang mga hakbang para magsagawa ng bulk insert sa PostgreSQL.



Ihanda ang Iyong Data

Bago magsagawa ng bulk insert, tiyaking nasa angkop na format ang target na data. Inirerekomenda namin na i-configure mo ang iyong data sa CSV o TSV. Maaari mong buuin ang target na data sa mga row at column na pinaghihiwalay ng mga kuwit o tab.



Kumonekta sa PostgreSQL

Susunod, kumonekta sa iyong database ng PostgreSQL gamit ang iyong gustong kliyente. Para sa tutorial na ito, ginagamit namin ang PSQL utility para sa kadalian ng paggamit at pangkalahatang pag-access.





$ psql -SA postgres -d < database_name >

Halimbawa, maaari mong patakbuhin ang sumusunod na query upang magamit ang database ng user_information:

$ psql -SA postgres -d user_information

Kung wala kang target na database, maaari mo itong gawin gamit ang CREATE DATABASE command:



GUMAWA NG DATABASE < db_name >

Gumawa ng Table

Susunod, kailangan naming tiyakin na ang talahanayan kung saan nais naming ipasok ang data ay umiiral. Dapat tumugma ang istraktura ng talahanayan sa istraktura ng data kasama ang mga sinusuportahang uri ng data.

Kung wala ang talahanayan, maaari mong gamitin ang command na CREATE TABLE:

GUMAWA NG TABLE network_users (
id SERIAL PRIMARY KEY,
username VARCHAR ( 255 ) HINDI NULL,
ip_address INET,
mac_address MACADDR,
mime TEXT
) ;

Ang ibinigay na utos ay dapat lumikha ng isang talahanayan na tinatawag na 'network_users' na may mga column ng id, username, ip_address, mac_address, at mime.

Kapag handa na ang talahanayan, maaari nating i-load ang data sa talahanayan ng PostgreSQL. Muli, magandang tiyakin na ang data file ay naa-access mula sa makina kung saan tumatakbo ang server.

Ipatupad ang Bulk Insert

Susunod, maaari naming gamitin ang COPY command para i-load ang data mula sa file papunta sa database table. Ang command syntax ay ang mga sumusunod:

COPY table_name ( column1, column2, column3 )
MULA SA 'path/to/data_file'
SA ( FORMAT csv | text, DELIMITER 'delimiter' , HEADER ) ;

Maaari mong tukuyin ang format (CSV o text), ang delimiter na ginamit sa iyong file (hal., ‘,’ para sa CSV, ‘\t’ para sa TSV), at kung ang iyong file ay may kasamang header row.

Halimbawa, upang kopyahin ang data sa talahanayan ng 'network_users', maaari naming patakbuhin ang command tulad ng sumusunod:

kopyahin ang network_users ( id , username, ip_address, mac_address, mime ) mula sa 'mga network_users.
csv'
kasama ( format na csv, delimiter ',' , header ) ;

Pinapayagan nito ang PostgreSQL na i-load ang data mula sa file papunta sa talahanayan. Maaari mong i-verify kung matagumpay ang insert sa pamamagitan ng pagtatanong sa data sa talahanayan.

PostgreSQL Bulk Insert PgAdmin

Maaari din kaming gumamit ng graphical na interface na ibinibigay ng pgAdmin para mag-import ng data file.

Magsimula sa pamamagitan ng paglulunsad ng pgAdmin at kumonekta sa iyong PostgreSQL database sa pamamagitan ng pagbibigay ng mga kinakailangang detalye ng koneksyon.

Susunod, hanapin ang talahanayan kung saan mo gustong magsagawa ng bulk insert. Mahahanap mo ang iyong mga database at talahanayan sa panel ng browser.

Mag-right-click sa talahanayan at piliin ang 'Import/Export'.

Sa wizard na “Import/Export,” piliin ang opsyong “Import” at piliin ang uri ng data source. Halimbawa, maaari kang mag-import ng query o ang clipboard mula sa isang file.

Sa susunod na hakbang, ibigay ang mga detalye ng file para sa bulk insert. Piliin ang format ng file (CSV, TSV, para tukuyin ang path sa iyong data file, at itakda ang delimiter na ginagamit sa file.

Kapag nasiyahan na sa iyong mga opsyon sa pag-import ng file, i-click ang 'Ok' upang simulan ang proseso ng pag-import. Dapat mong makita ang katayuan ng proseso sa kanang pane sa ibaba.

Maaari mong i-verify kung matagumpay ang pag-import sa pamamagitan ng pagbubukas ng Query Tool at patakbuhin ang query:

PUMILI * MULA sa network_users;

Output :

Konklusyon

Ginalugad namin kung paano gamitin ang PSQL at pgAdmin upang magsagawa ng maramihang pagpasok mula sa isang panlabas na file ng data sa isang talahanayan ng database ng PostgreSQL.