Postgresにデータをインポートする3つの方法


データなしのデータベースは何ですか?Postgresはファイルからデータをインポートするための複数のオプションを提供します.あなたはCOPY コマンド、バックアップ、またはCSVの負荷からの復元SQL GUI tool . どのメソッドが最速で、最も簡単にセットアップとどのようにデータが存在するかに依存します.

方法1 : postgresにコピーコマンドを使う


The COPY command テキスト、CSV、またはバイナリ形式のデータにアクセスする場合はPostgresにデータをインポートできます.例えば、COPY TO コマンドはテーブルの内容をファイルに出力します.また、COPY FROM コマンドをファイルからテーブルに読み込むコマンドです.The file mentioned in the COPY コマンドはPostgresユーザーがアクセス可能でなければならず、Postgresサーバの観点から指定する必要があります.
このコマンドは、SELECTクエリを使用してデータをテーブルに読み込むこともできます.また、全体のテーブルの代わりにデータを挿入する列のリストを指定することができます.成功した場合、コピーコマンドは結果として、コマンドによって挿入された行の数を示す書式コピーカウントを出力します.
テキストとCSVファイル形式で区切り文字を指定できます.しかし、あなたの入力がCSVであるならば、それはDivimiterオプションでCSV形式を使うほうがよいですTEXT format CSV形式は一般的に受け入れられたCSVエスケープメカニズムに準拠しているので.対照的に、テキスト形式はPostgres固有のエスケープ規則に従います.
見たいCOPY コマンドインアクション?以下の手順に従ってください.最初のステップはCREATE TABLE テーブルを作成するコマンド.
CREATE TABLE customer(
id serial,
first_name VARCHAR(50),
last_name VARCHAR(50),
email VARCHAR(50)
);
上記のコマンドはcustomer つの列を持つテーブル.CSVファイルを以下の形式で作成します.Excelまたは他のスプレッドシートタイプのプログラムでこれを行うことができます.
シリアル
ファーストネーム
ラストネーム
電子メール
1
ジョン
マイケル
[email protected]
2
マルイ
桶屋
[email protected]
3
シェルドン
桶屋
[email protected]
保存するcustomers.csv を終了します.コピーコマンドを使用してデータをcustomer 表.
COPY customer FROM '/home/data/customer.csv' DELIMITER ',' CSV HEADER;
シリアルカラムの読み込みをスキップしたい場合はfirst_name , last_name , and email 代わりに以下のコマンドを使用できます.
COPY customer(first_name,last_name,email) FROM '/home/data/customers1.csv' DELIMITER ',' CSV HEADER;
The COPY コマンドには、動作をカスタマイズするためのオプションパラメータがたくさんあります.重要なもののいくつかを以下に示します.

  • Quote :データ値をクォートするために使用する文字を指定します.

  • null : null値を表す文字を指定します.

  • escape :クォート文字として使用されている文字をエスケープする文字を指定します.

  • encoding :ファイルのエンコーディングを記述するために使用します.何も記載されていない場合、デフォルトではクライアントエンコーディングです.
  • このdocumentation link コピーコマンドのパラメータについてもっと知りましょう.

    方法2 : psqlを使用したバックアップファイルからの復元


    Postgresにデータをインポートするもう一つの方法はpsql コマンド.このメソッドは、入力ファイルがプレーンテキストファイルの場合に使用されます.SQL形式.このコマンドはデータのバックアップを復元するために最も便利です.
    それを試してみましょう.まず、以下のコマンドを実行して作成したテーブルのバックアップを作成します.
    pg_dump -d postgres -t customer > /tmp/customer.sql
    
    Postgresがバックアップを行うために使用したフォルダにアクセスできるようにします.さて、このテーブルを復元するには、以下のコマンドを使います.
    psql -d postgres < /tmp/customer.sql
    
    バックアップファイル形式が.sql と他の形式.tar ), あなたはpg_restore コマンドをバックアップを復元します.その場合、以下のコマンドを使用してバックアップを作成します.
    pg_dump -d postgres -t customer -F t  > /tmp/customer.tar
    
    バックアップを復元するには、次の手順に従います.
    pg_restore -d postgres -t customer /tmp/customer.tar
    
    ヴィオラ-あなたのデータがインポートされます!シェルコマンドを使用してPostgresテーブルにデータをインポートすることについて明確になったので、3番目の、より簡単なオプションをチェックしてください.

    方法3 : Postgresクライアントを使用してテーブルを作成し、CVSをインポートする


    テーブルを作成してデータをインポートするには、arcType UIを使用するだけで数回クリックします.最初にダウンロードArctype データベースを接続します.あなたは次のことができますdatabase connection guide arctypeをPostgresデータベースに接続する方法についてのステップバイステップの手順.また、ドキュメントに従うことができますhere クイックスタートチュートリアル.
    したら、すべての設定を選択し、“テーブル”を左ナビゲーションペインでクリックし、3つのドットの検索バーに近いをクリックします.

    絹篩で篩うたようImport CSV CSVファイルのデータをテーブルに確認します.をクリックします

    テーブルの名前とテーブルを作成するスキーマを入力します.をクリックします

    それはthats!これで正常にarctypeにcsvファイルをインポートしました.

    結論


    これでPostgresにデータをインポートできる方法がいくつか見られました.強力なDBMSとして、Postgresはオプションを提供します.例えば、COPY コマンドpg_restore GUIなしでデータをインポートするには.ArcTypeを使用して、ユーザーインターフェイスを介してテーブルをインポートするだけで数回クリックできます.から選択するすべてのこれらのオプションを使用すると、ちょうどあなたのために最適です決定する必要があります.グッドラック!