BUG #18468: CREATE TABLE ... LIKE leaves orphaned column reference in extended statistics

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: exclusion(at)gmail(dot)com
Subject: BUG #18468: CREATE TABLE ... LIKE leaves orphaned column reference in extended statistics
Date: 2024-05-15 11:00:01
Message-ID: 18468-f5add190e3fa5902@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 18468
Logged by: Alexander Lakhin
Email address: exclusion(at)gmail(dot)com
PostgreSQL version: 16.3
Operating system: Ubuntu 22.04
Description:

The following script:
CREATE TABLE t0 (a int, c text, b text);
CREATE STATISTICS ext_stat ON (a || b) FROM t0;
ALTER TABLE t0 DROP COLUMN c;
CREATE TABLE t1 (LIKE t0 INCLUDING ALL);

produces an invalid statistics definition:
\d+ t1
ERROR: invalid attnum 3 for relation "t1"

SELECT stxname, stxexprs FROM pg_statistic_ext;
ext_stat | ({OPEXPR :opno 2780 ... {VAR :varno 1 :varattno 3 ...
t1_expr_stat | ({OPEXPR :opno 2780 ... {VAR :varno 1 :varattno 3 ...

Though an index definition transferred correctly:
CREATE TABLE t0 (a int, c text, b text);
CREATE INDEX t_idx ON t0((a || b));
ALTER TABLE t0 DROP COLUMN c;
CREATE TABLE t1 (LIKE t0 INCLUDING ALL);
\d+ t1
...
Indexes:
"t1_expr_idx" btree ((a || b))

SELECT relname, indexprs FROM pg_index, pg_class WHERE indexrelid = oid
AND relname = 't1_expr_idx';
t1_expr_idx | ({OPEXPR :opno 2780 ... {VAR :varno 1 :varattno 2 ...

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message David Rowley 2024-05-15 11:39:35 Re: BUG #18466: Wrong row estimate for nested loop
Previous Message Etsuro Fujita 2024-05-15 09:41:20 Re: BUG #18467: postgres_fdw (deparser) ignores LimitOption