Re: pg_attribute.attnum - wrong column ordinal?

From: Konstantin Izmailov <pgfizm(at)gmail(dot)com>
To: Greg Stark <gsstark(at)mit(dot)edu>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: pg_attribute.attnum - wrong column ordinal?
Date: 2009-11-25 02:00:20
Message-ID: 72746b5e0911241800k49a769a2yf9d9f59a43861667@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers

Greg,
this is brilliant - thank you very much!

Is "partition by" compatible to PostgreSQL 8.0/8.2? I could not find
compatibility information. It works fine with PG 8.3/8.4 and Greenplum 3.3
thou.

Konstantin

On Tue, Nov 24, 2009 at 6:30 PM, Greg Stark <gsstark(at)mit(dot)edu> wrote:

> On Wed, Nov 25, 2009 at 1:03 AM, Konstantin Izmailov <pgfizm(at)gmail(dot)com>
> wrote:
>
> > My question: can pg_attribute.attnum be used to determine the sequential
> > ordinal positions of columns in a table? What is a right way to get the
> > ordinal numbers?
>
> You could use something like:
>
> row_number() over (partition by T.schemaname,T.viewname order by
> attnum) as "ORDINAL_POSITION"
>
> If you just stick this in there in place of attnum it'll cause an
> extra sort. It should be possible with enough clever rearranging of
> the query to do the whole query with a single sort since that's the
> same sort order that the results are ordered in.
>
> Incidentally you probably want UNION ALL rather than UNION in the
> original query.
>
> --
> greg
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Scott Marlowe 2009-11-25 02:19:12 Re: Processing Delay
Previous Message Greg Stark 2009-11-25 01:30:28 Re: pg_attribute.attnum - wrong column ordinal?

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2009-11-25 02:10:28 Re: Hot standby and removing VACUUM FULL
Previous Message KaiGai Kohei 2009-11-25 01:52:04 Re: SE-PgSQL patch review