Como podemos declarar múltiplas partições em um único extrato no Postgres

0

Pergunta

Podemos criar várias partições em uma única instrução em Oracle, mas como podemos implementar o mesmo no PostgreSQL.

oracle partitioning postgresql sql
2021-11-24 04:44:10
2

Melhor resposta

1

Simples: executar vários CREATE TABLE instruções em um único DO instrução:

DO
'BEGIN
   CREATE TABLE IF NOT EXISTS part1 PARTITION OF tab FOR VALUES IN (1);
   CREATE TABLE IF NOT EXISTS part2 PARTITION OF tab FOR VALUES IN (2);
   CREATE TABLE IF NOT EXISTS part3 PARTITION OF tab FOR VALUES IN (3);
END';

Mas eu não vejo por que ele é tão importante para você fizer com uma única instrução SQL.

2021-11-24 06:46:07
0

Um equivalente não existe no PostgreSQL. Devido à forma como ele implementa a sua particionamento do sistema, seria necessário que você crie várias tabelas de uma vez. Você terá que criar uma tabela particionada e em vez de especificar as partições e limites ali e então, você vai precisar para criar cada partição como uma tabela separada, especificando a partição de limites para cada um.

Como sempre, há muito mais para ele, mas o abaixo destina-se a ser um sistema simplificado de tomar sobre o tema: no Oracle tabela de partições são uma forma de dividir o original, de primeira classe do quadro "sob o capô" e dentro de sua estrutura interna, enquanto que no PostgreSQL é o contrário - é a partições que são o autônomo, o primeiro-tabelas de classe e a tabela de partição de apenas liga-los juntos. Devido a isso, uma partição não pode existir em Oracle e ser desanexado, referenciadas individualmente ou vinculados, e, normalmente, você precisa ir através de uma tabela particionada para interagir com as suas partições. No PostgreSQL, para a maior parte, você pode trabalhar com as partições como mesas regulares, e a tabela particionada realmente não funciona sem eles, agindo como um modo de exibição vazio.

2021-11-24 07:24:59

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................