I think you could use a rule to add the mod() condition automatically. " this is great idea
But the problem is i did not accomplish to find a way to change query like
partitioning=# select * from mainlog where sel=22;
to
partitioning=# select * from mainlog where sel=22 and mod(sel,6)=4;
"on select" rules just creates views, dont routes the queries. I cant use tirggers for selects. Is there exists a way of changing select query before query plan generated?
Any ideas?
I am very appreciative for your answers and interest.
Thanks
--- On Mon, 3/30/09, Harald Fuchs <hari.fuchs@gmail.com> wrote:
From: Harald Fuchs <hari.fuchs@gmail.com> Subject: Re: [ADMIN] Partitionin with check functions To: pgsql-admin@postgresql.org Date: Monday, March 30, 2009, 4:08 PM
> In particular, a constraint like "sel=123" is *not* going to lead the > planner to draw any conclusions about the value of "mod(sel,6)". > Now, if you'd written "WHERE mod(sel,6)=3", I think it would draw > the right conclusions.
Yes, it does. It might be worthwile to use
WHERE sel=123 AND mod(sel,6)=3
I think you could use a rule to add the mod() condition automatically.