仕様と根拠
どの値を読み取るか
列名のリスト(省略可)と、VALUES の複数行を読みます。文字列は '' を引用符 1 文字に戻し、E'…' は \t・\n などを展開します。数値・TRUE・FALSE・NULL・DEFAULT はそのまま扱います(INSERT 文書・4.1.2 節)。
CSV への書き出し
カンマ・二重引用符・改行を含む値は二重引用符で囲み、中の二重引用符は 2 つ重ねます(RFC 4180)。NULL は CSV で空文字列と区別できないため、既定では空欄にして情報で知らせます。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| PostgreSQL 18 ドキュメント INSERT | 2026年10月28日 | 構文(列リスト・複数行 VALUES・DEFAULT VALUES・問い合わせ形式・ON CONFLICT) |
| PostgreSQL 18 ドキュメント 4.1 字句構造 | 2026年10月28日 | 4.1.2.1(文字列)・4.1.2.2(E 文字列) |
| RFC 4180 CSV の書式 | 2026年10月28日 | 2 節(引用符で囲む条件・二重引用符の重ね書き) |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- リテラルの値だけを読みます。関数呼び出し・計算式・型変換(::)を含む値と、INSERT ... SELECT・DEFAULT VALUES は判定不能で、その欄は空にします。
- 列名のリストを省略した INSERT は、見出しを col1・col2 … にします。実際の列名は表の定義がないと分かりません。
- 表または列の並びが最初の INSERT と違う文は、1 つの CSV にできないため含めません。
- 改行は LF(\n)で出力します。RFC 4180 は CRLF ですが、多くの表計算ソフトは LF も読み込めます。
ご利用にあたって
- 結果は字句の読み取りにもとづく確認で、実際のデータベースでの解釈を保証するものではありません。
- ドキュメントは PostgreSQL License で公開されています。このサイトはその内容を要約して参照しており、転載はしていません。