最近 在pgadmin里面 编译一个greenplum过程时 ,出现一下错误:
ERROR: type "pg_catalog.int4" does not exist (seg79 gpsg14:40001 pid=18197)
DETAIL: compile of PL/pgsql function "p_fact_term_branch_sale_analysis_ng50_mon_lww" near line 5
********** 错误 **********
ERROR: type "pg_catalog.int4" does not exist (seg79 gpsg14:40001 pid=18197)
sql 状态: 42704
详细:compile of PL/pgsql function "p_fact_term_branch_sale_analysis_ng50_mon_lww" near line 5
第一次见这个错误,查了很长时间查不到原因 所以采用日志排错法 把和整型有关的变量 字段都删掉 一步步发现只要把整型的变量那块去掉就不报错。
就是
declare 里面的
vi_bcyc integer。
仔细看了看 又没发现这块有什么问题,搞了半天,最后旁边同事看了说 这是gp数据库早上发现的bug ;integer 类型 的系统元数据出了问题,所有带integer的过程都编译不了。
最后维护厂商反馈说是我们这边有人 在pgadmin工具里面 手动执行了 大批量insert 操作 失败后 ,回滚量大触发的bug。
原文链接:https://www.f2er.com/postgresql/194045.html