Postgres Bulk Insert

Postgres Bulk Insert



Груповото вмъкване е процес, който добавя множество редове от данни към таблица в една операция. Това може да бъде много по-бързо от вмъкването на един ред наведнъж, особено когато се работи с големи количества данни.

Най-често срещаният метод за извършване на групово вмъкване в PostgreSQL е командата COPY, която може да вземе данните от файл или стандартен вход и да ги вмъкне в таблица. Командата COPY изисква данните да са в определен формат, обикновено CSV или текстов файл.

Нека проучим как да използваме тази команда за извършване на групово вмъкване в PostgreSQL.







Групово вмъкване на PostgreSQL

Нека проучим стъпките за извършване на групово вмъкване в PostgreSQL.



Подгответе вашите данни

Преди да извършите групово вмъкване, уверете се, че целевите данни са в подходящия формат. Препоръчваме ви да конфигурирате вашите данни в CSV или TSV. Можете да структурирате целевите данни в редове и колони, които са разделени със запетаи или раздели.



Свържете се с PostgreSQL

След това се свържете с вашата база данни PostgreSQL, като използвате желания клиент. За този урок използваме помощната програма PSQL за лесна употреба и универсален достъп.





$ psql -IN postgres < име_база_данни >

Например, можете да изпълните следната заявка, за да използвате базата данни user_information:

$ psql -IN postgres потребителска_информация

Ако нямате целевата база данни, можете да я създадете с помощта на командата CREATE DATABASE:



СЪЗДАВАНЕ НА БАЗА ДАННИ < db_name >

Създаване на таблица

След това трябва да се уверим, че таблицата, в която искаме да вмъкнем данните, съществува. Структурата на таблицата трябва да съответства на структурата на данните, включително поддържаните типове данни.

Ако таблицата не съществува, можете да използвате командата CREATE TABLE:

СЪЗДАВАТЕ ТАБЛИЦА network_users (
документ за самоличност ПЪРВИЧЕН СЕРИЕН КЛЮЧ,
потребителско име VARCHAR ( 255 ) НЕ NULL,
ip_address INET,
mac_address MACADDR,
пантомима ТЕКСТ
) ;

Дадената команда трябва да създаде таблица, наречена „network_users“ с колони id, username, ip_address, mac_address и mime.

След като таблицата е готова, можем да заредим данните в таблицата на PostgreSQL. Отново, добре е да се гарантира, че файлът с данни е достъпен от машината, на която работи сървърът.

Изпълнете груповото вмъкване

След това можем да използваме командата COPY, за да заредим данните от файла в таблицата на базата данни. Синтаксисът на командата е както следва:

КОПИРАНЕ име на таблица ( колона1, колона2, колона3 )
ОТ 'път/до/файл_с_данни'
СЪС ( ФОРМАТ csv | текст, DELIMITER разделител , ЗАГЛАВКА ) ;

Можете да посочите формата (CSV или текст), разделителя, използван във вашия файл (напр. „,“ за CSV, „\t“ за TSV) и дали вашият файл включва заглавен ред.

Например, за да копираме данните в таблицата „network_users“, можем да изпълним командата, както следва:

копиране network_users ( документ за самоличност , потребителско име, ip_address, mac_address, mime ) от 'мрежови_потребители.
csv'
с ( формат csv, разделител ',' , заглавка ) ;

Това позволява на PostgreSQL да зареди данните от файла в таблицата. Можете да проверите дали вмъкването е успешно, като направите заявка за данните в таблицата.

PostgreSQL групово вмъкване на PgAdmin

Можем също да използваме графичен интерфейс, който pgAdmin предоставя, за да импортираме файл с данни.

Започнете, като стартирате pgAdmin и се свържете с вашата база данни PostgreSQL, като предоставите необходимите подробности за връзката.

След това намерете таблицата, където искате да извършите групово вмъкване. Можете да намерите вашите бази данни и таблици в панела на браузъра.

Щракнете с десния бутон върху таблицата и изберете „Импортиране/Експортиране“.

В съветника „Импортиране/Експортиране“ изберете опцията „Импортиране“ и изберете типа източник на данни. Например, можете да импортирате заявка или клипборда от файл.

В следващата стъпка предоставете подробностите за файла за груповото вмъкване. Изберете файловия формат (CSV, TSV, за да посочите пътя до вашия файл с данни и задайте разделителя, който се използва във файла.

След като сте доволни от вашите опции за импортиране на файлове, щракнете върху „Ok“, за да започнете процеса на импортиране. Трябва да видите състоянието на процеса в долния десен прозорец.

Можете да проверите дали импортирането е успешно, като отворите инструмента за заявки и изпълните заявката:

ИЗБЕРЕТЕ * ОТ network_users;

Изход :

Заключение

Разгледахме как да използваме PSQL и pgAdmin за извършване на групово вмъкване от външен файл с данни в таблица на база данни на PostgreSQL.