Re: BUG #16087: Segmentation fault on ALTER TABLE

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #16087: Segmentation fault on ALTER TABLE
Дата
Msg-id 23031.1572362774@sss.pgh.pa.us
обсуждение исходный текст
Ответ на BUG #16087: Segmentation fault on ALTER TABLE  (PG Bug reporting form <noreply@postgresql.org>)
Список pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes:
> Running ALTER TABLE with both ALTER COLUMN and ADD COLUMN causes a database
> segfault. It happens constantly on version 12 and doesn't reproduce on
> version 11 and 10.
> Attaching here a set of commands (and their output) to help reproducing the
> issue ($ means start of a command).

> $ create table "users" (id bigint not null generated by default as identity,
> age int not null, primary key(id));
> $ insert into users (age) values(1);
> $ alter table "users" alter column "age" type bigint, add column "nickname"
> text;

Thanks for the report!  I failed to reproduce a crash here, but I think
that means that the bug is already fixed.  It looks like this probably
matches this recent commit:

Author: Andres Freund <andres@anarazel.de>
Branch: master [93765bd95] 2019-10-09 22:00:50 -0700
Branch: REL_12_STABLE [f224c7c11] 2019-10-09 22:13:48 -0700

    Fix table rewrites that include a column without a default.
    
    In c2fe139c201c I made ATRewriteTable() use tuple slots. Unfortunately
    I did not notice that columns can be added in a rewrite that do not
    have a default, when another column is added/altered requiring one.
    
    Initialize columns to NULL again, and add tests.
    
    Bug: #16038
    Reported-By: anonymous
    Author: Andres Freund
    Discussion: https://postgr.es/m/16038-5c974541f2bf6749@postgresql.org
    Backpatch: 12, where the bug was introduced in c2fe139c201c

            regards, tom lane



В списке pgsql-bugs по дате отправления:

Предыдущее
От: PG Bug reporting form
Дата:
Сообщение: BUG #16087: Segmentation fault on ALTER TABLE
Следующее
От: PG Bug reporting form
Дата:
Сообщение: BUG #16088: Multiple foreigh keys created on "ALTER TABLE" command