On Thu, Feb 12, 2026 at 11:36 PM Matheus Alcantara <[email protected]> wrote: > > Hi, thanks for checking this. > > On Thu Feb 12, 2026 at 7:11 AM -03, Jim Jones wrote: > > Hi, > > > > While reviewing another patch[1] I saw that COMMENTS on tables are being > > ignored in CREATE TABLE LIKE: > > > > psql (18.1 (Debian 18.1-1.pgdg13+2)) > > Type "help" for help. > > > > postgres=# \pset null '(null)' > > Null display is "(null)". > > postgres=# CREATE TABLE t1 (id int, name text); > > COMMENT ON TABLE t1 IS 'table comment'; > > CREATE TABLE t2 (LIKE t1 INCLUDING ALL); > > CREATE TABLE t3 (LIKE t1 INCLUDING COMMENTS); > > > > SELECT > > obj_description('t1'::regclass, 'pg_class') AS t1_comment, > > obj_description('t2'::regclass, 'pg_class') AS t2_comment, > > obj_description('t3'::regclass, 'pg_class') AS t3_comment; > > CREATE TABLE > > COMMENT > > CREATE TABLE > > CREATE TABLE > > t1_comment | t2_comment | t3_comment > > ---------------+------------+------------ > > table comment | (null) | (null) > > (1 row) > > > > > > v1 attached attempts to fix it by expanding expandTableLikeClause() to > > retrieve and copy the table-level comment when the INCLUDING COMMENTS > > [ALL] option is specified: > > > > The patch fix the issue and it seems correct to me. > > This bug seems to also happen on 14.20: > postgres=# select version(); > version > ------------------------------------------------------------------------------------------------------------------------------ > PostgreSQL 14.20 (Homebrew) on aarch64-apple-darwin24.6.0, compiled by Apple > clang version 17.0.0 (clang-1700.4.4.1), 64-bit > (1 row) > > postgres=# CREATE TABLE t(a int, b text); > CREATE TABLE > postgres=# COMMENT ON TABLE t IS 'foo'; > COMMENT > postgres=# CREATE TABLE t2(LIKE t INCLUDING ALL); > CREATE TABLE > postgres=# SELECT obj_description('t'::regclass, 'pg_class') as t_comment, > obj_description('t2'::regclass, 'pg_class') AS t2_comment; > t_comment | t2_comment > -----------+------------ > foo | > (1 row) > > So I think that we need to backport.
The documentation [1] states that INCLUDING COMMENTS copies comments for the copied columns, constraints, and indexes. It does not mention copying comments on the table itself. Therefore, not copying table comments with INCLUDING COMMENTS does not appear to be a bug. That is, the proposed patch seems more like an improvement than a bug fix. Regards, [1] https://www.postgresql.org/docs/devel/sql-createtable.html#SQL-CREATETABLE-PARMS-LIKE-OPT-COMMENTS -- Fujii Masao
