¿Cómo podemos declarar varias particiones en una sola instrucción en Postgres

0

Pregunta

Podemos crear varias particiones en una sola instrucción en Oracle, pero, ¿cómo se puede implementar la misma en PostgreSQL.

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

Mejor respuesta

1

Sencillo: ejecutar varios CREATE TABLE declaraciones en una sola DO declaración:

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';

Pero no veo por qué es tan importante lo haces con una única instrucción SQL.

2021-11-24 06:46:07
0

Un equivalente no existe en PostgreSQL. Debido a cómo se implementa su sistema de tabiques, sería necesario crear varias tablas a la vez. Usted tendrá que crear la tabla con particiones y en lugar de especificar sus particiones y límites a la derecha allí y entonces, usted necesita para crear cada una de las particiones como una tabla separada, especificando la partición de los límites para cada uno.

Como siempre, hay mucho más a ella, pero el de abajo está destinado a ser una versión simplificada de la toma sobre el tema: en Oracle tabla de particiones son una forma de dividir el original, de primera clase de la tabla "bajo el capó", y dentro de su estructura interna, mientras que en PostgreSQL es al revés - es las particiones que son independientes, de primera clase, las tablas y las particiones de la tabla con sólo vincula juntos. Debido a esto, una partición no puede existir solo en Oracle y ser separado, individualmente o con referencia a vinculados, y que normalmente se necesita para ir a través de la tabla con particiones para interactuar con sus particiones. En PostgreSQL, para la mayor parte usted puede trabajar con las particiones como mesas regulares, y la tabla con particiones en realidad no funciona sin ellos, actuando como una vista vacía.

2021-11-24 07:24:59

En otros idiomas

Esta página está en otros idiomas

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