PostgreSQL 428C9: generated_always 报错 故障修复 远程处理
文档解释
“generated_always”错误指的是在PostgreSQL中给不允许修改的列设置值的情况,该错误一般可在副本中查看;
错误说明:
当某一列被定义为具有“GENERATED ALWAYS”选项时,就会发生“generated_always”错误。当插入或更新表时,PostgreSQL会假定该列不应该被用户更新,而且应该由PostgreSQL自行决定,如果用户确实更新该列,就会返回错误消息“generated always”。
常见案例
一个常见的情况是有一个列名为“created_date”,类型为timestamp with time zone,并具有“GENERATED ALWAYS AS CURRENT_TIMESTAMP”的列。在插入新行时,字段“created_date”的值是由PostgreSQL自动分配的,不允许用户更改,如果用户试图更改,则会导致“generated_always”错误。
解决方法:
要解决“generated_always”错误,最简单的方法就是不尝试更新/插入该列的值。更好的做法是将生成的值设置为空,而不是不尝试更新。例如,您可以使用设置“ created_date = null”而不是“ created_date = value”(value 是您要更新的任何值)。这样插入/更新操作就不会导致“generated_always”错误。
香港美国云服务器首选后浪云,2H2G首月10元开通。
后浪云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
版权声明:
作者:后浪云
链接:https://www.idc.net/help/40250/
文章版权归作者所有,未经允许请勿转载。
THE END