【发布时间】:2014-12-25 04:59:13
【问题描述】:
我在使用 PostgreSQL 9.3 和使用 qoutes 创建的表时遇到了这个奇怪的问题。例如,如果我使用 qoutes 创建一个表:
create table "TEST" ("Col1" bigint);
该表已正确创建,当在 pgAdminIII 的 SQL 窗格中查看时,我可以看到引号被保留。但是当我查询数据库以查找所有可用表的列表时(使用下面的查询),我看到结果不包含表名周围的引号。
select table_schema, table_name from information_schema.tables where not table_schema='pg_catalog' and not table_schema='information_schema';
由于表是用引号创建的,我不能直接使用从上述查询返回的表名,因为它没有加引号并在标题中发布错误。
我可以尝试在所有查询中用引号将表名括起来,但我不确定它是否会一直有效。我正在寻找一种方法来获取结果中用引号引起来的表名列表。
我在列名方面也遇到了同样的问题,但我希望如果我能找到表名问题的解决方案,类似的解决方案也适用于列名。
【问题讨论】:
标签: sql postgresql postgis quoted-identifier