Re: some points for FAQ - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: some points for FAQ
Date
Msg-id 200710092054.l99Ks7m17061@momjian.us
Whole thread Raw
In response to Re: some points for FAQ  ("Pavel Stehule" <pavel.stehule@gmail.com>)
Responses Re: some points for FAQ
List pgsql-hackers
Pavel Stehule wrote:
> 2007/10/9, Bruce Momjian <bruce@momjian.us>:
> > Pavel Stehule wrote:
> > > 4.1)
> > >
> > >  To SELECT a random row, use:
> > >     SELECT col
> > >     FROM tab
> > >     ORDER BY random()
> > >     LIMIT 1;
> > >
> > > + On bigger tables this solution is slow. Please, find smarter
> > > solution on network.
> > >
> >
> > Well, give me a better example that works.
> 
> Better universal solution doesn't exist. Exists only unelegant
> solutions - but mutch faster.
> 
> SELECT id, ...
>    FROM data
>   WHERE id = ANY(ARRAY(
>                        SELECT (random()*:max_id)::int
>                           FROM generate_series(1,20)))
>   LIMIT 1;
> 
> max_id is host variable ~ real max id + some
> 
> -- fast solution if id is PK of data

Right.  We really only want general solutions in the FAQ.


> > > 4.19)
> > >
> > > + most of problems with invalid OIDs in cache are solved in PostgreSQL
> > > 8.3. Please remeber, so every replanning of SQL statements needs time.
> > > Write your application, they can exist without cache invalidation.
> >
> > Agreed.  Item removed.
> >
> 
> Cache invalidation isn't 100% protection before this error message.
> With specific using of EXECUTE statement, you can get this message
> too. But all temp tables related problems are solved.

OK, let's see how many bug reports we get and we can always re-add it.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://postgres.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


pgsql-hackers by date:

Previous
From: "Pavel Stehule"
Date:
Subject: Re: some points for FAQ
Next
From: Dave Page
Date:
Subject: Re: Skytools committed without hackers discussion/review