我在使用 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';
由于该表是用引号创建的,因此我不能直接使用从上述查询返回的表名,因为它未加引号并在标题中发布错误。
我可以尝试在所有查询中用引号将表名括起来,但我不确定它是否会一直工作。我正在寻找一种方法来获取在结果中用引号引起来的表名列表。
我对列名也有同样的问题,但我希望如果我能找到表名问题的解决方案,类似的解决方案也适用于列名。