PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Por que não pode criar tabela de particionamento


"Particionamento de tabela declarativo", que é o particionamento como um recurso de primeira classe do DBMS com sua própria sintaxe, foi adicionado no PostgreSQL 10 .

Nas versões anteriores, você pode obter o mesmo efeito com um pouco mais de esforço usando "herança de tabela". Há uma página no manual descrevendo como fazer isso manualmente , resumido como:
  1. Crie a tabela "mestre", da qual todas as partições serão herdadas.
  2. Crie várias tabelas "filhas" que herdam da tabela mestre.
  3. Adicione restrições de tabela às tabelas de partição para definir os valores de chave permitidos em cada partição.
  4. Para cada partição, crie um índice na(s) coluna(s) de chave, bem como quaisquer outros índices que desejar.
  5. Opcionalmente, defina um gatilho ou regra para redirecionar os dados inseridos na tabela mestra para a partição apropriada.
  6. Certifique-se de que o parâmetro de configuração constraint_exclusion não esteja desabilitado em postgresql.conf. Se for, as consultas não serão otimizadas como desejado.

Para facilitar, se você não puder atualizar para a versão 10, use uma extensão como pg_partman que oferece funções adicionais para configurar e gerenciar conjuntos de partições.