全体の問題は引用符自体である可能性があります。同様の問題が発生しました。これは、CREATETABLEステートメントの列名を引用符で囲んだことが原因でした。空白の問題はなく、引用符だけが問題を引き起こしていることに注意してください。
コラムは呼ばれたように見えましanID
たが、実際にはと呼ばれていました"anID"
。引用符は通常のクエリには表示されないため、検出が困難でした(このpostgresの新人の場合)。これはpostgres9.4.1にあります
詳細:
与えpostgres=# SELECT * FROM test;
た:
anID | value
------+-------
1 | hello
2 | baz
3 | foo (3 rows)
しかし、最初の列だけを選択しようとするとSELECT anID FROM test;
、エラーが発生しました。
ERROR: column "anid" does not exist
LINE 1: SELECT anID FROM test;
^
列名を見ただけでは役に立ちませんでした。
postgres=# \d test;
Table "public.test"
Column | Type | Modifiers
--------+-------------------+-----------
anID | integer | not null
value | character varying |
Indexes:
"PK on ID" PRIMARY KEY, btree ("anID")
しかし、pgAdminでは、列名をクリックしてSQLペインを見ると、次のように表示されます。
ALTER TABLE test ADD COLUMN "anID" integer;
ALTER TABLE test ALTER COLUMN "anID" SET NOT NULL;
そして、見よ、列名の周りに定足数がある。したがって、最終的には正常にpostgres=# select "anID" FROM test;
機能します。
anID
------
1
2
3
(3 rows)
同じ道徳、引用符を使用しないでください。