Re: BUG #16758: create temporary table with the same name loses defaults, indexes
От | Tom Lane |
---|---|
Тема | Re: BUG #16758: create temporary table with the same name loses defaults, indexes |
Дата | |
Msg-id | 1396479.1606838336@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | BUG #16758: create temporary table with the same name loses defaults, indexes (PG Bug reporting form <noreply@postgresql.org>) |
Список | pgsql-bugs |
PG Bug reporting form <noreply@postgresql.org> writes: > 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); Hm, interesting. Without having dug into the code, I bet what is happening is that after creating pg_temp.xx, the LIKE code is looking to see "what indexes exist on table xx?", to which the answer is "none" because it finds pg_temp.xx. We need to nail down the schema in which xx is sought for that step. As a workaround, you could nail down the schema manually: create temporary table xx (like public.xx including DEFAULTS including CONSTRAINTS including INDEXES); The ordering of these operations got rearranged recently to fix some other bugs, so it doesn't surprise me if it used to work differently. regards, tom lane
В списке pgsql-bugs по дате отправления: