You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法查询存储Hive元数据的Postgres 9.2中NOTIFICATION_LOG表问题

解决Postgres中Hive元数据表NOTIFICATION_LOG查询报错问题

直接解决方案

执行查询时用双引号包裹大写表名:

select * from "NOTIFICATION_LOG";

问题原因

PostgreSQL默认会将未加双引号的标识符(表名、列名等)自动转换为小写处理。你的NOTIFICATION_LOG表是用大写名称创建的,当你执行不带双引号的select * from NOTIFICATION_LOG;时,Postgres会将表名转为notification_log去查找,而这个小写名称的表并不存在,因此触发"relation does not exist"错误。

而information_schema.columns中存储的是表名的原始大小写,所以通过该视图能匹配到表的记录。

验证步骤

可以查询Postgres系统表确认表的真实名称:

SELECT tablename FROM pg_tables WHERE schemaname = 'public';

如果结果中显示的是大写的NOTIFICATION_LOG,即可确认必须通过双引号来引用该表。

内容的提问来源于stack exchange,提问作者Aso'K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 12:05:31