CREATE STATISTICS + Table Inheritance = ERROR: tuple already updated by self

From: David Marcin <david(dot)marcin(at)coinbase(dot)com>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: CREATE STATISTICS + Table Inheritance = ERROR: tuple already updated by self
Date: 2019-06-20 01:07:32
Message-ID: CAAnLQFF6cd1vQHm3hrc_h4nmC4rHhAPFeQnQVCMxSt5KevRHzA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

When trying to use CREATE STATISTICS on a table with child tables, the
table can no longer be analyzed -- it exits with "ERROR: tuple already
updated by self". I don't see any indication on
https://www.postgresql.org/docs/11/sql-createstatistics.html that it should
not work with table inheritance.

Steps to reproduce:
test=> CREATE TABLE test1 (id uuid PRIMARY KEY, dependent_id uuid);
CREATE TABLE
test=> INSERT INTO test1 (id, dependent_id) VALUES (uuid_generate_v4(),
uuid_generate_v4()), (uuid_generate_v4(), uuid_generate_v4());
INSERT 0 2
test=> CREATE STATISTICS test1_stats ON id, dependent_id FROM test1;
CREATE STATISTICS
test=> ANALYZE test1;
ANALYZE
test=> CREATE TABLE test1_child () INHERITS (test1);
CREATE TABLE
test=> ANALYZE test1;
ERROR: tuple already updated by self

Dropping the child table fixes the issue:
test=> DROP TABLE test1_child;
DROP TABLE
test=> ANALYZE test1;
ANALYZE

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2019-06-20 01:49:58 BUG #15861: jsonb exists query retuning inconsistent results
Previous Message Alvaro Herrera 2019-06-20 00:36:44 Re: BUG #15724: Can't create foreign table as partition