Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Postgres 7奇怪的错误_Sql_Postgresql - Fatal编程技术网

Sql Postgres 7奇怪的错误

Sql Postgres 7奇怪的错误,sql,postgresql,Sql,Postgresql,我在SQL 7.4.27 DB上运行了一个更新脚本。我添加了一些约束并更改了一些列值。 脚本太长,无法在这里发布 查询提供了以下错误: ERROR: could not find trigger 96099812 ********** Error ********** ERROR: could not find trigger 96099812 SQL state: XX000 我从哪里开始寻找解决方案?错误消息没有给我任何帮助。7.4(直到8.2 IIRC,还没有在发行说明中再次

我在SQL 7.4.27 DB上运行了一个更新脚本。我添加了一些约束并更改了一些列值。 脚本太长,无法在这里发布

查询提供了以下错误:

    ERROR:  could not find trigger 96099812
********** Error **********

ERROR: could not find trigger 96099812
SQL state: XX000
我从哪里开始寻找解决方案?错误消息没有给我任何帮助。

7.4(直到8.2 IIRC,还没有在发行说明中再次检查)在PL/PgSQL中存在一些计划无效问题。它将准备一个计划,然后运行缓存的计划,即使DDL已经运行,但这会导致计划失去意义

这是我第一个怀疑这种问题的人,但很难确定——直到2003年底7.4发布之后,我才真正开始使用PostgreSQL。是的,那是十年前的事了


我会在
pg_trigger
中查看条目是否存在,但如果没有看到您运行的代码,我无法告诉您它的缺席意味着什么。

您确定版本7.4吗?它已经下线好几年了。要做的第一件事:备份!备份完成了。。。这个版本肯定是正确的。我知道这个过时的问题,但我的手在这里被绑住了。我个人认为,我会在其他地方找到不那么绑的地方。。。最终,他们将运行旧的虚拟硬件来运行旧的操作系统来运行旧的Pg版本。我曾经在那里工作过(1983年的业务平台,2012年我离开公司时仍在运行),我向你保证,你等待升级的时间越长,你为自己挖的洞就越深。无法承受停机时间?你永远也买不起它,而且将来可能比现在还少。这只会变得更难。开始查看
pg_trigger
——这个数字可能就是触发器条目的OID。该表应该有它调用的函数的OID-跟随它到
pg\u proc
。要么是有人手动入侵了系统目录,要么是磁盘损坏,要么是遇到了bug(7.4的哪个版本?)。给自己几个小时来解决这个问题。