| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Karsten Hilbert <Karsten(dot)Hilbert(at)gmx(dot)net> |
| Cc: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org |
| Subject: | Re: backend crash on DELETE, reproducible locally |
| Date: | 2018-11-03 03:56:58 |
| Message-ID: | 32192.1541217418@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general pgsql-hackers |
Karsten Hilbert <Karsten(dot)Hilbert(at)gmx(dot)net> writes:
> On Thu, Nov 01, 2018 at 11:43:56AM -0400, Tom Lane wrote:
>> Yeah, apparently we've passed a null OLD tuple to an RI_FKey_cascade_del
>> trigger, which surely shouldn't happen. It'd be interesting to look at
>> the set of triggers on this table. I don't entirely trust psql's \d
>> to show us reality if there's something screwed up about the triggers,
>> so in addition to \d output, could we see
>> select * from pg_trigger where tgrelid = 'ref.auto_hint'::regclass;
> [ pretty normal-looking trigger entries ]
I was feeling baffled about this, but it suddenly occurs to me that maybe
the bug fixed in 040a1df61/372102b81 explains this. If the particular
tuple you're trying to delete predates the last ALTER TABLE ADD COLUMN
operation on the table, then this bug would result in t_self getting
set to "invalid", which'd cause AfterTriggerSaveEvent to save "ate_ctid1"
as "invalid", which'd lead to a null tuple getting passed when the trigger
eventually gets invoked.
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Eisentraut | 2018-11-03 08:48:09 | Re: Problem with stored procedure and nested transactions |
| Previous Message | Aleš Zelený | 2018-11-03 01:22:03 | Logical replication hangs up. |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Amit Kapila | 2018-11-03 04:00:47 | Re: zheap: a new storage format for PostgreSQL |
| Previous Message | Tom Lane | 2018-11-03 03:07:31 | Re: pgbench -M option can be specified more than once |