What is wrong ? - Mailing list pgsql-admin

From Abu Mushayeed
Subject What is wrong ?
Date
Msg-id 952896.9977.qm@web57101.mail.re3.yahoo.com
Whole thread Raw
Responses Re: What is wrong ?
List pgsql-admin
I have created a rule on a table as folows:
 
CREATE OR REPLACE RULE edw_item_avail_200606 AS
    ON INSERT TO edw_item_avail
   WHERE "substring"(new.amc_week_id::text, 1, 6) = '200606'::text DO INSTEAD  INSERT INTO mpartition.edw_item_avail_200308 (item_avail_key, prod_dim_id, amc_week_id, edw_prod_dim_id, zl_store_nbr, ticketed_retail, owned_retail, qty_sales_units, qty_return_units, qty_new_rcv_units, qty_rcv_adj_units, qty_transin_units, qty_transout_units, qty_inv_adj_units, qty_rtv_in_units, qty_rtv_out_units, qty_bal_units, qty_end_stk_units, qty_begin_stk_units, create_date, zl_divn_nbr)
  VALUES (new.item_avail_key, new.prod_dim_id, new.amc_week_id, new.edw_prod_dim_id, new.zl_store_nbr, new.ticketed_retail, new.owned_retail, new.qty_sales_units, new.qty_return_units, new.qty_new_rcv_units, new.qty_rcv_adj_units, new.qty_transin_units, new.qty_transout_units, new.qty_inv_adj_units, new.qty_rtv_in_units, new.qty_rtv_out_units, new.qty_bal_units, new.qty_end_stk_units, new.qty_begin_stk_units, new.create_date, new.zl_divn_nbr);
 
Now, when I issue the following query:
 
insert into edw_item_avail
select * from public."edw_item_avail_ORIG"
where  substring(amc_week_id::text,1,6) = 200606::text ;
 The explain is as follows:
 
Seq Scan on "edw_item_avail_ORIG"  (cost=0.00..705569.97 rows=81321 width=107)
  Filter: (("substring"((amc_week_id)::text, 1, 6) = '200606'::text) AND (("substring"((amc_week_id)::text, 1, 6) = '200606'::text) IS NOT TRUE))
Seq Scan on "edw_item_avail_ORIG"  (cost=0.00..705569.97 rows=409 width=107)
  Filter: (("substring"((amc_week_id)::text, 1, 6) = '200606'::text) AND ("substring"((amc_week_id)::text, 1, 6) = '200606'::text))
My problem is when I have more rules all are appended and it is taking a long time to move data from the "ORIG" table to the actually partitioned table. The partitioned table are based on substring(amc_week_id::text,1,6).
 
If someone can shed some light on this, it will be very helpful.
 
Thanks
Abu


Never Miss an Email
Stay connected with Yahoo! Mail on your mobile. Get started!

pgsql-admin by date:

Previous
From: Tom Lane
Date:
Subject: Re: rename a cluster
Next
From: Alvaro Herrera
Date:
Subject: Re: WAL files backup