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 "
なので、作成する際は全部小文字で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;
テーブル作成時、ついつい大文字で作成してしまいこの件に何度かぶち当たってたのでメモに残してみました…。