Re: [GENERAL] Another question about partitioning

2007-11-28 Thread Alex Vinogradovs
Yes, I enter query manually while testing. Here are explain plans :

for select count(*) from poll_3 where eid = 72333

Aggregate  (cost=34697.64..34697.65 rows=1 width=0)
  -  Seq Scan on poll_3  (cost=0.00..34650.40 rows=18893 width=0)
Filter: (eid = 72333)


for for select count(*) from poll where eid = 72333

Aggregate  (cost=320001.59..320001.60 rows=1 width=0)
  -  Append  (cost=0.00..319570.78 rows=172323 width=0)
-  Seq Scan on poll  (cost=0.00..27.50 rows=17 width=0)
  Filter: (eid = 72333)
-  Seq Scan on poll_0 poll  (cost=0.00..14348.85 rows=9014
width=0)
  Filter: (eid = 72333)
-  Seq Scan on poll_1 poll  (cost=0.00..34796.82 rows=18735
width=0)
  Filter: (eid = 72333)
-  Seq Scan on poll_2 poll  (cost=0.00..34993.84 rows=18527
width=0)
  Filter: (eid = 72333)
-  Seq Scan on poll_3 poll  (cost=0.00..34650.40 rows=18893
width=0)
  Filter: (eid = 72333)
-  Seq Scan on poll_4 poll  (cost=0.00..34230.55 rows=18099
width=0)
  Filter: (eid = 72333)
-  Seq Scan on poll_5 poll  (cost=0.00..34267.64 rows=17543
width=0)
  Filter: (eid = 72333)
-  Seq Scan on poll_6 poll  (cost=0.00..34469.73 rows=18719
width=0)
  Filter: (eid = 72333)
-  Seq Scan on poll_7 poll  (cost=0.00..33642.98 rows=17968
width=0)
  Filter: (eid = 72333)
-  Seq Scan on poll_8 poll  (cost=0.00..32199.15 rows=16480
width=0)
  Filter: (eid = 72333)
-  Seq Scan on poll_9 poll  (cost=0.00..31943.33 rows=18328
width=0)
  Filter: (eid = 72333)



On Tue, 2007-11-27 at 17:40 -0800, paul rivers wrote:
 Alex Vinogradovs wrote:
  Hello all,
 
 
  I have a table which is partitioned by range into 10 pieces with
  constraint exceptions. Constraint exceptions is enabled in server
  configuration too. For some reason, queries to the master table
  are still slower than direct queries against partitions. Is there
  any real reason for that, or I should look into misconfiguration ?
 
  Thanks!
 
 
  Best regards,
  Alex Vinogradovs

 Is that true even if you type the query yourself in psql and ensure that 
 the values for the partitioned columns are constants in the where 
 clause?  Can you post an explain of the sql?
 
 Paul
 

---(end of broadcast)---
TIP 2: Don't 'kill -9' the postmaster


Re: [GENERAL] Another question about partitioning

2007-11-28 Thread paul rivers

Alex Vinogradovs wrote:

Yes, I enter query manually while testing. Here are explain plans :

for select count(*) from poll_3 where eid = 72333

Aggregate  (cost=34697.64..34697.65 rows=1 width=0)
  -  Seq Scan on poll_3  (cost=0.00..34650.40 rows=18893 width=0)
Filter: (eid = 72333)


for for select count(*) from poll where eid = 72333

Aggregate  (cost=320001.59..320001.60 rows=1 width=0)
  -  Append  (cost=0.00..319570.78 rows=172323 width=0)
-  Seq Scan on poll  (cost=0.00..27.50 rows=17 width=0)
  Filter: (eid = 72333)
-  Seq Scan on poll_0 poll  (cost=0.00..14348.85 rows=9014
width=0)
  Filter: (eid = 72333)
-  Seq Scan on poll_1 poll  (cost=0.00..34796.82 rows=18735
width=0)
  Filter: (eid = 72333)
-  Seq Scan on poll_2 poll  (cost=0.00..34993.84 rows=18527
width=0)
  
Do you have appropriate check constraints defined on table poll?  Can 
you include a \d poll?


Also, what version is this?

Paul



---(end of broadcast)---
TIP 5: don't forget to increase your free space map settings


Re: [GENERAL] Another question about partitioning

2007-11-28 Thread paul rivers

paul rivers wrote:

Alex Vinogradovs wrote:

Yes, I enter query manually while testing. Here are explain plans :

for select count(*) from poll_3 where eid = 72333

Aggregate  (cost=34697.64..34697.65 rows=1 width=0)
  -  Seq Scan on poll_3  (cost=0.00..34650.40 rows=18893 width=0)
Filter: (eid = 72333)


for for select count(*) from poll where eid = 72333

Aggregate  (cost=320001.59..320001.60 rows=1 width=0)
  -  Append  (cost=0.00..319570.78 rows=172323 width=0)
-  Seq Scan on poll  (cost=0.00..27.50 rows=17 width=0)
  Filter: (eid = 72333)
-  Seq Scan on poll_0 poll  (cost=0.00..14348.85 rows=9014
width=0)
  Filter: (eid = 72333)
-  Seq Scan on poll_1 poll  (cost=0.00..34796.82 rows=18735
width=0)
  Filter: (eid = 72333)
-  Seq Scan on poll_2 poll  (cost=0.00..34993.84 rows=18527
width=0)
  
Do you have appropriate check constraints defined on table poll?  Can 
you include a \d poll?


Also, what version is this?

Paul



Sorry, I should have asked: do you have check constraints defined on all 
the child poll tables?  So, what's \d poll_3 look like, etc?  You've 
already said you're sure constraint exclusion is on, but you're also 
sure postmaster was restarted too?


Paul




---(end of broadcast)---
TIP 4: Have you searched our list archives?

  http://archives.postgresql.org/


[GENERAL] Another question about partitioning

2007-11-27 Thread Alex Vinogradovs
Hello all,


I have a table which is partitioned by range into 10 pieces with
constraint exceptions. Constraint exceptions is enabled in server
configuration too. For some reason, queries to the master table
are still slower than direct queries against partitions. Is there
any real reason for that, or I should look into misconfiguration ?

Thanks!


Best regards,
Alex Vinogradovs

---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

   http://www.postgresql.org/docs/faq


Re: [GENERAL] Another question about partitioning

2007-11-27 Thread Gregory Stark
Alex Vinogradovs [EMAIL PROTECTED] writes:

 Hello all,


 I have a table which is partitioned by range into 10 pieces with
 constraint exceptions. Constraint exceptions is enabled in server
 configuration too. For some reason, queries to the master table
 are still slower than direct queries against partitions. Is there
 any real reason for that, or I should look into misconfiguration ?

Well you have to look at the actual plans. Having to combine multiple
partitions does have some cost to it and does interfere somewhat in the
planner's ability to optimize plans so it might not be a win on individual
queries if they were not doing big scans of unnecessary data previously. 

You might also consider using partial indexes instead of partitioning if your
goal is just optimizing queries. The big advantage of partitioning is being
able to add and drop entire partitions effectively instantaneously.

-- 
  Gregory Stark
  EnterpriseDB  http://www.enterprisedb.com
  Ask me about EnterpriseDB's PostGIS support!

---(end of broadcast)---
TIP 1: if posting/reading through Usenet, please send an appropriate
   subscribe-nomail command to [EMAIL PROTECTED] so that your
   message can get through to the mailing list cleanly


Re: [GENERAL] Another question about partitioning

2007-11-27 Thread paul rivers

Alex Vinogradovs wrote:

Hello all,


I have a table which is partitioned by range into 10 pieces with
constraint exceptions. Constraint exceptions is enabled in server
configuration too. For some reason, queries to the master table
are still slower than direct queries against partitions. Is there
any real reason for that, or I should look into misconfiguration ?

Thanks!


Best regards,
Alex Vinogradovs
  
Is that true even if you type the query yourself in psql and ensure that 
the values for the partitioned columns are constants in the where 
clause?  Can you post an explain of the sql?


Paul


---(end of broadcast)---
TIP 3: Have you checked our extensive FAQ?

  http://www.postgresql.org/docs/faq