The following bug has been logged online:
Bug reference: 5989
Logged by: Marko Tiikkaja
Email address: marko.tiikkaja@2ndquadrant.com
PostgreSQL version: git master
Operating system: Linux
Description: Assertion failure on UPDATE of big value
Details:
Test case:
=# create table foo(a int[]);
CREATE TABLE
=# insert into foo select array(select i from generate_series(1,10000) i);
INSERT 0 1
=# update foo set a = a||1;
TRAP: FailedAssertion("!(((bool) (((void*)(&(newTuple->t_self)) != ((void
*)0)) && ((&(newTuple->t_self))->ip_posid != 0))))", File: "predicate.c",
Line: 2282)
The assertion only seems to trigger if the array is big enough to be
TOASTed, but I didn't debug further to see if that's really the case.