Postgresql 42P17错误

Postgresql 42P17错误,postgresql,Postgresql,我在博士后考试中犯了一个我不明白的错误 SQL状态为42P17(表示“对象定义无效”) 错误是 选择规则的目标列表中的条目太多 有人能更准确地向我解释如何获取此错误以解决它吗?只有在您尝试在选择上创建时才会引发此错误。。。对选择列表比表中列列表长的表执行规则: CREATE TABLE lord(id integer NOT NULL, val text NOT NULL); CREATE RULE "_RETURN" AS ON SELECT TO lord DO INSTEAD SE

我在博士后考试中犯了一个我不明白的错误

SQL状态为42P17(表示“对象定义无效”)

错误是

选择规则的目标列表中的条目太多

有人能更准确地向我解释如何获取此错误以解决它吗?

只有在您尝试在选择上创建
时才会引发此错误。。。对选择列表比表中列列表长的表执行规则:

CREATE TABLE lord(id integer NOT NULL, val text NOT NULL);

CREATE RULE "_RETURN" AS ON SELECT TO lord DO INSTEAD
   SELECT 1 AS id, 'value' AS val, 42 AS extra;

ERROR:  SELECT rule's target list has too many entries

感谢您的帮助,我只是直接创建了一个视图,而不是表和规则。很好用

请回答您的问题并添加产生错误的查询(或代码)(不要将代码放入注释中)。我无法在此处发布我的查询,但我只想知道何时会发生此错误。结果表中的列数在postgresql中受到限制?我看不到SQL状态和错误消息之间的联系。