Postgres'te tek bir ifadede birden çok bölümü nasıl bildirebiliriz

0

Soru

Oracle'da tek bir ifadede birden çok bölüm oluşturabiliriz, ancak Postgresql'de aynı şeyi nasıl uygulayabiliriz.

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

En iyi cevabı

1

Basit: birkaç tane çalıştırın CREATE TABLE tek bir ifadede ifadeler DO açıklama:

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

Ama bunu tek bir SQL ifadesiyle yapmanın neden bu kadar önemli olduğunu anlamıyorum.

2021-11-24 06:46:07
0

Postgresql'de eşdeğer yoktur. Bölümleme sistemini nasıl uyguladığı nedeniyle, aynı anda birden çok tablo oluşturmanızı gerektirir. Bölümlenmiş tabloyu oluşturmanız ve bölümlerini ve sınırlarını orada belirtmek yerine, her bölüm için bölüm sınırlarını belirterek her bölümü ayrı bir tablo olarak oluşturmanız gerekir.

Her zaman olduğu gibi, orada çok daha fazla ama aşağıda olmak istediğim bir basitleştirilmiş almak konu: Oracle tablo bölümleri vardır bir yolu bölmek için, orijinal, birinci sınıf masa altında "başlık" ve içinde kendi iç yapısı ise PostgreSQL kadar diğer taraftan - bu bölümleri vardır tek başına, birinci sınıf tablo ve tablo bölümlenmiş tek bağlantıları bir arada. Bu nedenle, bir bölüm Oracle'da kendi başına bulunamaz ve ayrılamaz, tek tek başvurulamaz veya bağlanamaz ve bölümleriyle etkileşimde bulunmak için genellikle bölümlenmiş tablodan geçmeniz gerekir. Postgresql'de çoğunlukla normal tablolar gibi bölümlerle çalışabilirsiniz ve bölümlenmiş tablo boş bir görünüm gibi davranarak onlarsız gerçekten çalışmaz.

2021-11-24 07:24:59

Diğer dillerde

Bu sayfa diğer dillerde

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