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
>
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? |
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 |