postgresql shell发起select操作报错ERROR: relation "tablename" does not exist

最近安装了一套clourdera manager,其中hive元数据保存在postgresql中,因为今天想看一下hive的元数据信息,就登录了psql,连接到hive元数据库,发起select操作,报错如下:

wpsDF9D.tmp

这个错误因为postgresql不像oracle那么智能,postgresql区分大小写,并且不识别大写表名称,将名称使用引号引起来就可以查询出结果了,如下:

wpsDFAD.tmp

天坑啊!看来需要好好学习postgresql了。

注意:mysql数据库对象名称也区分大小写,oracle数据库对象名称内部都是以大写方式存储,不过客户端发起小写方式访问表也识别,建议对于oracle的sql都以大写方式,避免了数据库本身解析sql的成本。

原文地址:https://www.cnblogs.com/wcwen1990/p/6769277.html