表の制約の行とコメントを含む定義
PRIMARY KEY や CHECK の行、コメント、文字列の中の user や select を含む定義です。これらを列名と取り違えないことを確かめる境界の例です。
入力
CREATE TABLE 文または列名の一覧
CREATE TABLE t ( a text DEFAULT 'select, user', -- user b int, /* order */ PRIMARY KEY (a), CONSTRAINT c CHECK (b > 0) );
入力の種類
CREATE TABLE 文(列の名前を読み取る)
結果
エラー 0 件・警告 0 件・情報 1 件
指摘(エラー・警告・情報)
- 情報 全体 予約語と衝突する名前は見つかりませんでした。非予約語(予約語表の「非予約語」)は引用符なしで列名にできます。
| 読んだ表 | 1 個 |
|---|---|
| 検査した名前 | 2 個 |
| 引用符なしで使えない名前 | 0 個 |
列名ごとの判定
| 番号 | 表 | 列名(入力どおり) | 区分 | 引用符なしで列名にできるか |
|---|---|---|---|---|
| 1 | t | a | 予約語ではない | できる |
| 2 | t | b | 予約語ではない | できる |
検算(この結果になる理由)
文字列 'select, user' とコメントの中の語は名前ではないので読み飛ばします。PRIMARY KEY と CONSTRAINT で始まる 2 行は表の制約で、列は a と b の 2 つです。どちらも予約語ではないため、指摘は予約語がないという情報 1 件だけです。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- 完全な SQL の構文解析はしません。CREATE TABLE の ( ) の中の列の並びだけを読み、CREATE TABLE AS SELECT や PARTITION OF などは判定不能と示します。
- ALTER TABLE ADD COLUMN や SELECT 文の中の別名は読みません。調べたい名前は「列名の一覧」で貼り付けてください。
- 判定の基準は PostgreSQL のドキュメント付録 C のキーワード表です。MySQL・SQL Server・Oracle など別の製品の予約語は判定しません。
- バージョンによって予約語は増減します。このツールの一覧はドキュメント(2026-10-28 に確認)にもとづくため、古いバージョンでは結果が異なる場合があります。
ご利用にあたって
- この判定は PostgreSQL の予約語だけを対象にしています。複数のデータベースで使う SQL では、それぞれの製品の予約語も確認してください。
- SQL の中身(表名・列名)に機密情報が含まれる場合も、入力はブラウザの外に出ません。結果をコピーして共有する際の取り扱いにはご注意ください。