Re: BUG #12752: Regression in ALTER TABLE RENAME COLUMN

From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: gianni(dot)ciolli(at)2ndquadrant(dot)it, pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #12752: Regression in ALTER TABLE RENAME COLUMN
Date: 2015-02-09 17:57:12
Message-ID: 20150209175712.GE3391@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Tom Lane wrote:
> gianni(dot)ciolli(at)2ndquadrant(dot)it writes:
> > It appears that the bug discussed here has regressed since 9.1:
>
> > http://www.postgresql.org/message-id/200110121753.f9CHrnl10542@candle.pha.pa.us
>
> We gave up trying to make index column names match the underlying table in
> 9.0; so no currently supported PG release does what you wish, and it's
> unlikely that any future one will either. (This is called out as an
> incompatibility in the 9.0 release notes, FWIW.)

I think it's misleading that we name index columns following table
columns in the first place .. IMO it would be better to use some dummy
name, like the ones we assign to dropped columns. That would be far
less tempting for tool writers.

> > Context information: the bug breaks Londiste, which uses
> > pg_attribute.attname to match columns on the primary key index with the
> > corrisponding columns on the table.
> > I found the bug after a customer reported Londiste issues on a table whose
> > primary key had been renamed.
>
> Sorry, but that's a Londiste bug not a Postgres bug.

The fix most likely involves using indkey to join table columns to index
columns in Londiste's internal queries.

--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Gianni Ciolli 2015-02-09 23:37:15 Re: BUG #12752: Regression in ALTER TABLE RENAME COLUMN
Previous Message Tom Lane 2015-02-09 17:49:38 Re: BUG #12752: Regression in ALTER TABLE RENAME COLUMN