Em 13-08-2012 08:35, jorge sanfelice escreveu: > 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"
O planejador de consultas do PostgreSQL só é capaz de avaliar bem o uso de partições usando igualdades simples (= > <). Infelizmente, o uso de funções na restrição das tabelas não permite ao planejador otimizar o plano de execução. Como seu particionamento é fixo, faça condições de restrição usando as igualdades simples e você terá êxito. []s Flavio Henrique A. Gurgel Consultor e Instrutor 4Linux Tel: +55-11-2125-4747 www.4linux.com.br _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral