仕様と根拠
文字列の作り方
PostgreSQL の文字列定数は単一引用符で囲み、値の中の単一引用符は 2 つ重ねて書きます(ドキュメント 4.1.2.1)。標準の設定ではバックスラッシュは普通の文字で、特別な意味を持ちません。コード 0 の文字は文字列定数に入れられないため、見つけるとエラーにします。
列名・表名の作り方
引用符なしの名前は小文字に畳まれ、二重引用符で囲んだ名前は大文字小文字を区別します(4.1.1)。小文字の英数字と下線だけの名前はそのまま、ほかは二重引用符で囲み、名前の中の二重引用符は 2 つ重ねます。付録 C の予約語(ORDER・USER・TABLE など)は引用符なしでは列名にできないため、必ず囲みます。
数値・空欄の扱い
0 と 1〜9 で始まる整数、小数点以下がある数、指数つきの数は 4.1.2.6 の数値定数の形なので引用符なしで出力します。007 のように先頭が 0 の値は桁を失わないよう文字列にします。空欄は NULL か空文字列を選べます。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| PostgreSQL ドキュメント 4.1 字句構造(識別子・文字列定数・数値定数) | 2026年10月28日 | 4.1.1 識別子・4.1.2.1 文字列定数・4.1.2.6 数値定数(PostgreSQL License) |
| PostgreSQL ドキュメント 付録 C SQL キーワード | 2026年10月28日 | 予約語は引用符なしで列名・表名にできない |
| RFC 4180 Common Format and MIME Type for Comma-Separated Values (CSV) Files | 2026年10月28日 | 2 節の 4〜7(各行の値の数・二重引用符の囲みと "" のエスケープ) |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- 文を作るだけで、データベースへ実行も検証もしません。列の型(日付・真偽値など)に合うかは判定せず、数字以外は文字列として書きます。
- 数値は -12 や 3.5 や 1e3 の形だけを数値にします。1. や .5 や +1 のような書き方は安全側で文字列として出力します。
- PostgreSQL の標準の設定(standard_conforming_strings が on)を前提にします。off の環境ではバックスラッシュの意味が変わるため、そのまま実行しないでください。
- 行ごとの値の数が見出しと違う行は INSERT に含めません。引用符の付け忘れを直してから作り直してください。
ご利用にあたって
- 出力した文は、本番のデータベースへ実行する前にテスト用の環境で確かめてください。表の定義(列の型・制約)に合わない値は実行時に失敗します。
- ツール内の予約語の一覧は PostgreSQL 18 のドキュメントにもとづきます。バージョンによって予約語が異なる場合は、念のため二重引用符で囲んでください。