PostgreSQLCOPY FROM
は怪しげなデータを処理するように設計されておらず、非常に厳密です。危険なデータの許容範囲はほとんどサポートされていません。
この提案されたパッチが PostgreSQL 9.3 に含まれる可能性があるとして数日前に投稿されるのを見るまでは、追加することにほとんど関心がないと思っていました。このパッチは断固として拒否されましたが、このアイデアに関心があることを示しています。スレッドを読んでください。
制約のないすべてのフィールドを持つCOPY FROM
ステージングTEMPORARY
テーブルに入ることが可能な場合があります。text
次に、そこから SQL を使用してデータをマッサージできます。ただし、SQLが少なくとも整形式で規則的である場合にのみ機能し、あなたのようには聞こえません。
データがクリーンでない場合は、適切なスクリプト言語のスクリプトを使用して前処理する必要があります。
そのスクリプトを持っています:
- PostgreSQL と
INSERT
行に接続します。
- PostgreSQL に接続し、スクリプト言語の Pg API を使用して
COPY
行を入力します。また
- できるきれいなCSVを書き出す
COPY FROM
これにはPython のcsv
モジュールが便利です。好きな言語を使用できます。perl、python、php、Java、C、何でも。
あなたが熱狂的だったなら、あなたがそれを読んだときにデータを挿入してクリーンアップすることで、それをPL/Perlu
またはに書き込むことができます。PL/Pythonu
私は気にしません。