Tüm Ürünler
Search
Belge Merkezi

Hologres:CREATE SCHEMA

Son Güncelleme:Oct 06, 2026

Şemalar, bir Hologres veritabanı içindeki tabloları düzenleyerek birden fazla kullanıcının veya uygulamanın birbirini etkilemeden aynı veritabanını paylaşmasına olanak tanır.

Çalışma biçimi

Hologres PostgreSQL ile uyumludur ve şema davranışı PostgreSQL standardını izler. Şemalar, tablo adresleme yapısını database.table biçiminden database.schema.table biçimine değiştirir; bu sayede farklı şemalardaki tablolar veya veri türleri çakışma olmadan aynı ada sahip olabilir.

Her Hologres veritabanında varsayılan olarak public adlı bir şema bulunur. Açıkça bir şema adı belirtilmeden oluşturulan tablolar public şemasında saklanır.

Aşağıdaki şekil, bir Hologres örneğindeki nesne hiyerarşisini gösterir.

Hologres instance object hierarchy

Hologres şu anda aşağıdakileri destekler:

  • Şema oluşturma

  • Şema yeniden adlandırma

  • Bir şema içinde tablo oluşturma

Söz dizimi

CREATE SCHEMA schema_name;

Şema oluşturma

  1. Şemayı oluşturun.

    CREATE SCHEMA schemaname;--Create a schema.
  2. Yeni şemaya geçin ve bu şema içinde bir tablo oluşturun.

    SET search_path TO schemaname;--Switch to the target schema.
    CREATE TABLE blink_demo (id text); --Create a table in the target schema.
  3. Etkin şemanın değiştiğini doğrulayın.

    SELECT CURRENT_SCHEMA();--View the current schema.

    Sorgu schemaname değerini döndürür; bu da geçişin başarılı olduğunu gösterir.

Bir tablonun hangi şemaya ait olduğunu kontrol etmek için terminalde aşağıdaki komutu çalıştırın:

\d tablename; --View the schema to which the target table belongs. This statement applies only to the terminal.

Şemalar arasında tablo oluşturma

search_path değerini değiştirmeden belirli bir şemada tablo oluşturmak için tablo adının önüne şema adını ekleyin: schema.table.

Public şemasında tablo oluşturma:

CREATE TABLE public.mytest (
  name text,
  id INT);

Public şemasına bağlıyken başka bir şemada tablo oluşturma:

SET search_path TO public;
CREATE TABLE my_schema.mytest (
  name text,
  id INT,
  age INT
);

Şema depolama boyutunu görüntüleme

Bir şemadaki tüm tabloların toplam depolama boyutunu görüntülemek için aşağıdaki sorguyu çalıştırın:

SELECT table_schema, pg_size_pretty(SUM(pg_relation_size(quote_ident(table_schema) || '.' || quote_ident(table_name))::decimal)) AS schema_size
FROM information_schema.tables
WHERE table_schema = '<schema_name>'--Replace <schema_name> with the name of your schema.
GROUP BY table_schema;