BUG #16758: create temporary table with the same name loses defaults, indexes - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #16758: create temporary table with the same name loses defaults, indexes
Date
Msg-id 16758-840e84a6cfab276d@postgresql.org
Whole thread Raw
Responses Re: BUG #16758: create temporary table with the same name loses defaults, indexes
Re: BUG #16758: create temporary table with the same name loses defaults, indexes
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      16758
Logged by:          Marc Boeren
Email address:      marc@guidance.nl
PostgreSQL version: 12.5
Operating system:   macOS / docker-debian / CentOR
Description:

In 12.5 (and later), in a clean, empty database (in this case the default
12.5 docker image), when I execute the following lines:

    create table xx (name text NOT NULL default '', PRIMARY KEY(name));

    create temporary table xx
        (like xx including DEFAULTS including CONSTRAINTS including
INDEXES);

    select c.relname, n.nspname
    from pg_namespace n
      join pg_class   c on n.oid=c.relnamespace
    where (c.relname LIKE 'x%') order by n.nspname, c.relname;

I get this:

    relname   nspname
    "xx"      "pg_temp_8"
    "xx"      "public"
    "xx_pkey" "public"

I expected the primary key to be copied too. Comparing the results from 12.4
(and earlier versions):

    relname   nspname
    "xx"      "pg_temp_8"
    "xx_pkey" "pg_temp_8"
    "xx"      "public"
    "xx_pkey" "public"

I couldn't find anything in the changelog for 12.5 that indicates it is
intentional. I checked against 13.1 too, same problem.
The actual table is a bit larger (about 100 fields, no relations) and loses
the primary key and all indexes and defaults since 12.5. The SQL above is
the shortest form that demonstrates the issue.

Thanks, Marc


pgsql-bugs by date:

Previous
From: PG Bug reporting form
Date:
Subject: BUG #16757: setting archive_timeout to 900 doesn't generate new wal files
Next
From: Marc Boeren
Date:
Subject: Re: BUG #16758: create temporary table with the same name loses defaults, indexes