Postgres の一括挿入

Postgres No Yi Kuo Cha Ru



一括挿入は、1 回の操作で複数行のデータをテーブルに追加するプロセスです。これは、特に大量のデータを扱う場合に、一度に 1 行ずつ挿入するよりもはるかに高速です。

PostgreSQL で一括挿入を実行する最も一般的な方法は、ファイルまたは標準入力からデータを取得してテーブルに挿入できる COPY コマンドです。 COPY コマンドでは、データが特定の形式 (通常は CSV またはテキスト ファイル) である必要があります。

このコマンドを使用して PostgreSQL で一括挿入を実行する方法を見てみましょう。







PostgreSQLの一括挿入

PostgreSQL で一括挿入を実行する手順を見てみましょう。



データを準備する

一括挿入を実行する前に、ターゲット データが適切な形式であることを確認してください。データは CSV または TSV で構成することをお勧めします。ターゲット データは、カンマまたはタブで区切られた行と列で構成できます。



PostgreSQLに接続する

次に、目的のクライアントを使用して PostgreSQL データベースに接続します。このチュートリアルでは、使いやすさとユニバーサル アクセスのために PSQL ユーティリティを使用します。





$ psql -の ポストグレ -d < データベース名 >

たとえば、次のクエリを実行して user_information データベースを使用できます。

$ psql -の ポストグレ -d ユーザー情報

ターゲット データベースがない場合は、CREATE DATABASE コマンドを使用して作成できます。



データベースの作成 < データベース名 >

テーブルを作成する

次に、データを挿入するテーブルが存在することを確認する必要があります。テーブル構造は、サポートされるデータ型を含むデータ構造と一致する必要があります。

テーブルが存在しない場合は、CREATE TABLE コマンドを使用できます。

CREATE TABLE network_users (
ID シリアル主キー、
ユーザー名 VARCHAR ( 255 ) NULL ではありません。
ip_address INET、
mac_address MACADDR、
マイムテキスト
) ;

指定されたコマンドは、id、username、ip_address、mac_address、および mime 列を含む「network_users」というテーブルを作成する必要があります。

テーブルの準備ができたら、PostgreSQL テーブルにデータをロードできます。繰り返しますが、サーバーが実行されているマシンからデータ ファイルにアクセスできることを確認することをお勧めします。

一括挿入を実行する

次に、COPY コマンドを使用して、ファイルからデータベース テーブルにデータをロードします。コマンドの構文は次のとおりです。

COPY テーブル名 ( 列1、列2、列3 )
から 'パス/への/データファイル'
( フォーマット csv | テキスト、区切り文字 'デリミタ' 、ヘッダー ) ;

形式 (CSV またはテキスト)、ファイルで使用される区切り文字 (CSV の場合は「,」、TSV の場合は「\t」など)、ファイルにヘッダー行が含まれるかどうかを指定できます。

たとえば、データを「network_users」テーブルにコピーするには、次のようにコマンドを実行します。

network_users をコピー ( ID 、ユーザー名、ip_address、mac_address、mime ) から 'ネットワークユーザー。
csv'
( CSV形式、区切り文字 「、」 、ヘッダー ) ;

これにより、PostgreSQL はファイルからテーブルにデータをロードできるようになります。テーブル内のデータをクエリすることで、挿入が成功したかどうかを確認できます。

PostgreSQL 一括挿入 PgAdmin

pgAdmin が提供するグラフィカル インターフェイスを使用してデータ ファイルをインポートすることもできます。

まず pgAdmin を起動し、必要な接続の詳細を指定して PostgreSQL データベースに接続します。

次に、一括挿入を実行するテーブルを見つけます。データベースとテーブルはブラウザ パネルで見つけることができます。

テーブルを右クリックし、「インポート/エクスポート」を選択します。

「インポート/エクスポート」ウィザードで、「インポート」オプションを選択し、データ ソースの種類を選択します。たとえば、ファイルからクエリまたはクリップボードをインポートできます。

次のステップでは、一括挿入のファイルの詳細を指定します。ファイル形式 (CSV、TSV) を選択してデータ ファイルへのパスを指定し、ファイル内で使用される区切り文字を設定します。

ファイルのインポート オプションに満足したら、[OK] をクリックしてインポート プロセスを開始します。右下のペインにプロセスのステータスが表示されるはずです。

インポートが成功したかどうかを確認するには、クエリ ツールを開いてクエリを実行します。

選択する * ネットワークユーザーから;

出力 :

結論

PSQL と pgAdmin を使用して、外部データ ファイルから PostgreSQL データベース テーブルへの一括挿入を実行する方法を検討しました。