私は、Postgresのダンプ(pg_dump)をフォーマットして、JDBC接続を使ってそれをインポートできるようにしようとしています。 pg_dumpは、改行を含むテキストフィールドを改行付きのテキストとしてエクスポートします。後でJDBCを使用してインポートしようとすると、行末に達し、その文は失敗します。Postgresのダンプで改行を削除する
ダンプを取ってsed
を通過させてすべての改行をエスケープすると、1行に1つのINSERT
文が表示されます。問題は、すべての改行を削除できないだけですが、が一致しないすべての改行を削除できることです。);\nINSERT INTO
です。これを行う簡単な方法はありますか?
更新: サンプルは次のようになります。
INSERT INTO sometable (123, And here goes some text
with
newlines
in
it', 'some more fields');
と私が探している結果は、このようなものである:各INSERT
文が上になるように
INSERT INTO sometable (123, And here goes some text\nwith\nnewlines\nin\nit', 'some more fields');
文字列の改行をエスケープした1行。
問題の説明は非常に混乱しています。サンプル 'ダンプ'と、最終出力として必要なもの(前または後の行だけ)を表示できますか?がんばろう。 – shellter
サンプルを追加して、私が探しているものを表示しました。 – cdecker
SQLパーサを変更する方が、複数の行にまたがる文字リテラルに対処できるようにする方がよいでしょう。 –