sql >> データベース >  >> RDS >> PostgreSQL

ヘッダー付きのcsvファイルからPostgreSQLでテーブルを自動的に作成できますか?

    csvファイルからPostgresにテーブルをインポートする非常に優れたツールがあります。これはpgfutterと呼ばれるコマンドラインツールです(Windows、Linuxなどのバイナリを使用)。その大きな利点の1つは、属性/列名も認識することです。

    ツールの使い方は簡単です。たとえば、myCSVfile.csvをインポートする場合 :

    pgfutter --db "myDatabase" --port "5432" --user "postgres" --pw "mySecretPassword" csv myCSVfile.csv
    

    これにより、テーブル(myCSVfileと呼ばれます)が作成されます )csvファイルのヘッダーから取得した列名を使用します。さらに、データ型は既存のデータから識別されます。

    いくつかの注意事項:コマンドpgfutter 使用するバイナリによって異なります。例: pgfutter_windows_amd64.exeの可能性があります (このコマンドを頻繁に使用する場合は、名前を変更してください)。上記のコマンドは、コマンドラインウィンドウで実行する必要があります(たとえば、Windowsではcmdを実行します pgfutterを確認します アクセス可能です)。別のテーブル名を使用する場合は、--table "myTable"を追加します。;特定のデータベーススキーマを選択するには、--schema "mySchema" 。外部データベースにアクセスする場合は、--host "myHostDomain"を使用します 。

    pgfutterのより複雑な例 myFileをインポートするには myTableに これは:

    pgfutter --host "localhost" --port "5432" --db "myDB" --schema "public" --table "myTable" --user "postgres" --pw "myPwd" csv myFile.csv
    

    ほとんどの場合、インポート後にいくつかのデータ型(テキストから数値)を変更します:

    alter table myTable
      alter column myColumn type numeric
        using (trim(myColumn)::numeric)
    


    1. データベース設計101

    2. 条件付きINSERTからIDを取得

    3. アクセス255列の制限の回避策

    4. GET_FORMAT()の例– MySQL