pgAdminIIIでのテーブル作成時メモ

テーブル作成時、テーブル名や項目名を大文字で定義すると作成時のSQL

CREATE TABLE "SAMPLE_TABLE"
(
"ID" integer NOT NULL,
"NAME" character varying(10)
)
WITHOUT OIDS;
ALTER TABLE "SAMPLE_TABLE" OWNER TO xxxxxx;

ってな感じになり、項目名(ここではテーブル名「SAMPLE_TABLE」、項目名「ID」「NAME」)がダブルクォートで囲まれてしまう。

そうなると、扱うSQL

CREATE TABLE "SAMPLE_TABLE"
SELECT "ID","NAME" FROM "SAMPLE_TABLE";

みたいにダブルクォートで囲まないと認識してくれない。(少なくともpgAdminIII上では)
※ERROR: 42P01: relation "" does not exist"とエラーになってしまう。

なので、作成する際は全部小文字でOK。作成されるSQLに余計なダブルクォートが付与されなくなり、SQLでのアクセスも大文字/小文字問題無く行ける。


CREATE TABLE sample_table
(
id integer NOT NULL,
name character varying(10),
CONSTRAINT sample_table_pkey PRIMARY KEY (id)
)
WITHOUT OIDS;
ALTER TABLE sample_table OWNER TO xxxxxxx;

テーブル作成時、ついつい大文字で作成してしまいこの件に何度かぶち当たってたのでメモに残してみました…。