【error】postgresql relation does not exist
最近刚刚使用postgresql遇到很多问题。 postgresql relation does not exist使用postgresql 查询 AAA 数据表时,提示 postgresql relation does not exist ,可是 SELECT tablename FROM pg_tables;
AAA 表是存在的,好奇怪。 搜索之后发现,是因为引号的问题。PostgreSQL本身大小写不敏感,如果你要新建一个大写字母的表,必须使用引号,同样如果你要查询也必须加引号。 select * from "AAA";
以下来自:http://blog.csdn.net/dream20nn/article/details/51790106 最近开发一个WEB的ETL工具需要用到不同的数据源。第一次用POSTGRESQL发现一个双引号引发的问题: 实际上传统的SQL都是不区分大小写的,所以只要DDL和DLL按照传统(不使用双引号)的方式操作数据库对象不会有任何问题。问题出在如果表是通过PostgreSQL的pgAdmin III 工具创建的话,缺省是按照有双引号的方式创建对象的,所以DLL里面必须也要按照有双引号的方式使用。但是这种写法不是标准的,如果是通过一些通用库函数访问数据库的话,会不被支持。 建议: 1.不推荐使用pgAdmin III这个工具创建数据库对象。还是应该手工编写DDL语句。 2.不推荐在DDL里用双引号的方式创建区分大小写的对象。 3.PostgreSQL给出的建议是SQL的key word用大写,其他的名称全部使用小写。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |