我已经将一个SQL转储导入名为Test的数据库中,现在当我尝试描述该表时,由于关系没有退出,它会给我一个错误。但是当我在information_schema.columns上执行相同的操作时,我得到了结果。修改或选择操作也会因同样的错误而失败。
# \connect Test
Password for user postgres:
psql (8.4.18)
You are now connected to database "Test".
Test=# \d
List of relations
Schema | Name | Type | Owner
--------+-----------------------+----------+----------
. . .
public | TESTEMP | table | postgres
. . .
Test-# \d+ TestEmp;
Did not find any relation named "Test".
Test=# select column_name from INFORMATION_SCHEMA.COLUMNS where table_name = 'TestEmp';
column_name
--------------------
lastname
firstname
Test=# alter table TestEmp Add column "PerEmp" BOOLEAN DEFAULT FALSE;
ERROR: relation "testemp" does not exist
Test=# select * from TestEmp;
ERROR: relation "testemp" does not exist
LINE 1: select * from testemp;
^
MediaService=#
有关为何报告这些错误的任何想法。
答案 0 :(得分:0)
解决。似乎表是使用带引号的字符串创建的,因为它会区分大小写。所以我在下面做了一个没有任何错误的表格。
#\d+ "TESTEMP"
Table "public.TESTEMP"
Column | Type | Modifiers
--------------------+-----------------------------+-----------
. . .
将此问题留待将来使用。