Pessoal, Estou tentando usar uma estrategia de particionamento, porem, nao estou obtendo exito.
postgresql 9.1 tenho uma tabela que quero particionar em 10 tabelas -> tabela0, tabela1, tabela2,... e tabela9. a ideia é usar um range por "mod" a coluna seria um inteiro com o id do cliente. Criei o check das tabelas filhos assim tabela0 "cliente_historico0_clihclioid_check" CHECK ((clihclioid % 10) = 0) tabela1 "cliente_historico1_clihclioid_check" CHECK ((clihclioid % 10) = 1) tabela2 "cliente_historico2_clihclioid_check" CHECK ((clihclioid % 10) = 2) .... A gravacao esta OK, porem, nao esta surtindo efeito no "SELECT" EX: desenvolvimento=# EXPLAIN SELECT * from cliente_historico where clihclioid=61312 ; QUERY PLAN ------------------------------------------------------------------------------------------------------------------------- Result (cost=0.00..162.61 rows=30 width=96) -> Append (cost=0.00..162.61 rows=30 width=96) -> Index Scan using cliente_historico_clihclioid_idx on cliente_historico (cost=0.00..11.09 rows=2 width=141) Index Cond: (clihclioid = 61312) -> Bitmap Heap Scan on cliente_historico0 cliente_historico (cost=4.27..11.38 rows=3 width=93) Recheck Cond: (clihclioid = 61312) -> Bitmap Index Scan on cliente_historico0_clihclioid_idx (cost=0.00..4.27 rows=3 width=0) Index Cond: (clihclioid = 61312) -> Bitmap Heap Scan on cliente_historico1 cliente_historico (cost=4.27..11.38 rows=3 width=93) Recheck Cond: (clihclioid = 61312) -> Bitmap Index Scan on cliente_historico1_clihclioid_idx (cost=0.00..4.27 rows=3 width=0) Index Cond: (clihclioid = 61312) -> Seq Scan on cliente_historico2 cliente_historico (cost=0.00..1.01 rows=1 width=94) Filter: (clihclioid = 61312) -> Seq Scan on cliente_historico3 cliente_historico (cost=0.00..18.25 rows=3 width=93) Filter: (clihclioid = 61312) -> Seq Scan on cliente_historico4 cliente_historico (cost=0.00..18.25 rows=3 width=93) Filter: (clihclioid = 61312) -> Seq Scan on cliente_historico5 cliente_historico (cost=0.00..18.25 rows=3 width=93) Filter: (clihclioid = 61312) -> Seq Scan on cliente_historico6 cliente_historico (cost=0.00..18.25 rows=3 width=93) Filter: (clihclioid = 61312) -> Seq Scan on cliente_historico7 cliente_historico (cost=0.00..18.25 rows=3 width=93) Filter: (clihclioid = 61312) -> Seq Scan on cliente_historico8 cliente_historico (cost=0.00..18.25 rows=3 width=93) Filter: (clihclioid = 61312) -> Seq Scan on cliente_historico9 cliente_historico (cost=0.00..18.25 rows=3 width=93) Filter: (clihclioid = 6131 Esta me parecendo que isso na da certo para esse tipo de criterio, alguem poderia me ajudar?
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral