CREATE STATISTICS + Table Inheritance = ERROR: tuple already updatedby self
| От | David Marcin |
|---|---|
| Тема | CREATE STATISTICS + Table Inheritance = ERROR: tuple already updatedby self |
| Дата | |
| Msg-id | CAAnLQFF6cd1vQHm3hrc_h4nmC4rHhAPFeQnQVCMxSt5KevRHzA@mail.gmail.com обсуждение исходный текст |
| Ответы |
Re: CREATE STATISTICS + Table Inheritance = ERROR: tuple alreadyupdated by self
|
| Список | 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
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
test=> DROP TABLE test1_child;
DROP TABLE
test=> ANALYZE test1;
ANALYZE
В списке pgsql-bugs по дате отправления: