Cum putem declara mai multe partiții într-o singură declarație în Postgres

0

Problema

Putem crea mai multe partiții într-o singură declarație în Oracle, dar cum putem pune în aplicare aceeași în PostgreSQL.

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

Cel mai bun răspuns

1

Simplu: de a rula mai multe CREATE TABLE declarații într-un singur DO declarație:

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

Dar nu văd de ce este atât de important să o fac cu o singură instrucțiune SQL.

2021-11-24 06:46:07
0

Un echivalent nu există în PostgreSQL. Din cauza cum se implementează un sistem de separare, ar fi nevoie să creați mai multe mese simultan. Va trebui să creați un tabel partiționat și în loc de specificarea partițiilor sale și limitele atunci și acolo, și veți avea nevoie pentru a crea fiecare partiție ca un tabel separat, cu specificarea partiție limitele pentru fiecare.

Ca întotdeauna, există mult mai mult pentru ea, dar mai jos este menit să fie o procedură simplificată ia pe acest subiect: în Oracle tabelul de partiții sunt o modalitate de a împărți original, prima-clasa de masă "sub capota" și în cadrul structurii sale interne, în timp ce în PostgreSQL e invers - este partiții care sunt de sine stătătoare, prima-clasa de mese și tabel partiționat doar link-uri-le împreună. Din aceasta cauza, o partiție nu poate exista pe cont propriu în Oracle și de a fi detașat, în mod individual referire sau legat, și de obicei trebuie să treacă prin tabel partiționat pentru a interacționa cu partiții. În PostgreSQL, pentru cea mai mare parte puteți lucra cu partiții ca mese regulate, și tabel partiționat nu prea merge fără ele, acționând ca un gol de vedere.

2021-11-24 07:24:59

În alte limbi

Această pagină este în alte limbi

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