From: | bricklen <bricklen(at)gmail(dot)com> |
---|---|
To: | Shaul Dar <shauldar(at)gmail(dot)com> |
Cc: | pgsql-performance(at)postgresql(dot)org |
Subject: | Re: Getting a random row |
Date: | 2009-10-14 00:21:10 |
Message-ID: | 33b743250910131721l6a4f6de4i24395ff76c5c416e@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance |
2009/10/13 Grzegorz Jaśkiewicz <gryzman(at)gmail(dot)com>:
>
>
> 2009/10/13 Shaul Dar <shauldar(at)gmail(dot)com>
>>
>> Sorry, I guess I wasn't clear.
>> I have an existing table in my DB, and it doesn't have a column with
>> serial values (actually it did originally, but due to later deletions of
>> about 2/3 of the rows the column now has "holes"). I realize I could add a
>> new serial column, but prefer not to change table + the new column would
>> also become nonconsecutive after further deletions. The nice thing about
>> Oracle's "rownum" is that it' a pseudo-column", not a real one, and AFAIK is
>> always valid.
>
> change the default of that column to use sequence.
> For instance, lookup CREATE SEQUENCE in manual, and ALTER TABLE .. SET
> DEFAULT ..
>
> for example of how it looks, just create table foo(a serial), and check its
> definition with \d+ foo
>
>
>
> --
> GJ
>
You could emulate rownum (aka rank) using a TEMPORARY sequence applied
to your result set.
http://www.postgresql.org/docs/8.3/interactive/sql-createsequence.html
Not sure if this is what you're after though?
From | Date | Subject | |
---|---|---|---|
Next Message | Scott Marlowe | 2009-10-14 01:18:30 | Re: Getting a random row |
Previous Message | Robert Haas | 2009-10-13 16:56:44 | Re: Getting a random row |