Comment pouvons-nous déclarer plusieurs partitions en une seule instruction dans Postgres

0

La question

Nous pouvons créer plusieurs partitions en une seule instruction dans Oracle, mais comment pouvons-nous mettre la même dans PostgreSQL.

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

La meilleure réponse

1

Simple: exécuter plusieurs CREATE TABLE consolidés en un seul DO déclaration:

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

Mais je ne vois pas pourquoi il est si important pour vous de faire avec une seule instruction SQL.

2021-11-24 06:46:07
0

L'équivalent n'existe pas dans PostgreSQL. En raison de la façon dont il met en œuvre son système de partitionnement, elle aurait besoin de vous pour créer plusieurs tables à la fois. Vous devrez créer la table partitionnée et au lieu de spécifier ses partitions et les limites à droite et puis, vous aurez besoin pour créer chaque partition comme un tableau distinct, en précisant partition limites de chacun.

Comme toujours, il ya beaucoup plus à elle, mais le dessous est destiné à être simplifié prendre sur le sujet: l' Oracle de la table de partitions sont une manière de diviser l'origine, de première classe de la table "sous le capot" et au sein de sa structure interne, tandis que dans PostgreSQL, c'est l'inverse, c'est les partitions qui sont autonomes en première classe, des tables et la table partitionnée uniquement des liens entre eux. De ce fait, une partition ne peut pas exister sur son propre Oracle et d'être détachés, individuellement référencé ou lié à, et vous avez généralement besoin de passer par la table partitionnée pour interagir avec ses partitions. Dans PostgreSQL, pour la plupart, vous pouvez travailler avec les partitions comme des tables, et la table partitionnée ne fonctionne pas vraiment sans eux, agissant comme une vue vide.

2021-11-24 07:24:59

Dans d'autres langues

Cette page est dans d'autres langues

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