Обсуждение: BUG #12746: Backward compatibility is broken 9.2: pg_stat_activity.procpid renamed to pid

Поиск
Список
Период
Сортировка

BUG #12746: Backward compatibility is broken 9.2: pg_stat_activity.procpid renamed to pid

От
nad2000@gmail.com
Дата:
The following bug has been logged on the website:

Bug reference:      12746
Logged by:          Rad Cirskis
Email address:      nad2000@gmail.com
PostgreSQL version: 9.2.0
Operating system:   Linux
Description:

I run an app that should support both 9.0 and 9.4. I found that at 9.2 the
pg_stat_activity column porcpid was renamed to pid. It broke the app. To
solve it I had to introduce conditional querying for different versions.
I don't think it's right time to do any aesthetically motivated changes at
this stage.

Re: BUG #12746: Backward compatibility is broken 9.2: pg_stat_activity.procpid renamed to pid

От
Marko Tiikkaja
Дата:
On 2015-02-08 23:43, nad2000@gmail.com wrote:
> I run an app that should support both 9.0 and 9.4. I found that at 9.2 the
> pg_stat_activity column porcpid was renamed to pid. It broke the app. To
> solve it I had to introduce conditional querying for different versions.
> I don't think it's right time to do any aesthetically motivated changes at
> this stage.

9.2 was released over two years ago.  I think it was a mistake to rename
it, but it's a bit too late object.  Renaming it back to "procpid"
wouldn't help anyone.


.m

Re: BUG #12746: Backward compatibility is broken 9.2: pg_stat_activity.procpid renamed to pid

От
Andres Freund
Дата:
On 2015-02-08 23:46:43 +0100, Marko Tiikkaja wrote:
> On 2015-02-08 23:43, nad2000@gmail.com wrote:
> >I run an app that should support both 9.0 and 9.4. I found that at 9.2 the
> >pg_stat_activity column porcpid was renamed to pid. It broke the app. To
> >solve it I had to introduce conditional querying for different versions.
> >I don't think it's right time to do any aesthetically motivated changes at
> >this stage.

What do you mean with "at this stage"? 9.2 was a new major release, and
we don't guarantee compatibilities between major releases.

> 9.2 was released over two years ago.  I think it was a mistake to rename it,
> but it's a bit too late object.  Renaming it back to "procpid" wouldn't help
> anyone.

I agree that it wasn't a good idea and that it's too late to change it
now.

Greetings,

Andres Freund

--
 Andres Freund                       http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

Re: BUG #12746: Backward compatibility is broken 9.2: pg_stat_activity.procpid renamed to pid

От
Tom Lane
Дата:
nad2000@gmail.com writes:
> I run an app that should support both 9.0 and 9.4. I found that at 9.2 the
> pg_stat_activity column porcpid was renamed to pid. It broke the app. To
> solve it I had to introduce conditional querying for different versions.
> I don't think it's right time to do any aesthetically motivated changes at
> this stage.

The commit log entry about that provides a bit of context:


commit 4f42b546fd87a80be30c53a0f2c897acb826ad52
Author: Magnus Hagander <magnus@hagander.net>
Date:   Thu Jan 19 14:19:20 2012 +0100

    Separate state from query string in pg_stat_activity

    This separates the state (running/idle/idleintransaction etc) into
    it's own field ("state"), and leaves the query field containing just
    query text.

    The query text will now mean "current query" when a query is running
    and "last query" in other states. Accordingly,the field has been
    renamed from current_query to query.

    Since backwards compatibility was broken anyway to make that, the procpid
    field has also been renamed to pid - along with the same field in
    pg_stat_replication for consistency.

    Scott Mead and Magnus Hagander, review work from Greg Smith


Basically the point being that you're going to need some version
conditionality *anyway* in pretty much any app using this view.

In any case, as Marko noted, you're about three years too late to complain
about this.  We're certainly not changing back now.

            regards, tom lane