Tüm Ürünler
Search
Belge Merkezi

Hologres:Extensions

Son Güncelleme:Oct 06, 2026

Hologres, veritabanınıza vektör hesaplama ve coğrafi analizden izin yönetimi ve veri maskelemeye kadar çeşitli özel yetenekler kazandıran yerleşik bir uzantı kümesini destekler. Bu sayfada desteklenen tüm uzantılar listelenmekte ve bunların nasıl yükleneceği, görüntüleneceği ve kaldırılacağı açıklanmaktadır.

Desteklenen uzantılar | Uzantı yükleme | Yüklenen uzantıları görüntüleme | Uzantı kaldırma | SSS

Sınırlamalar

  • Bir uzantı, veritabanı başına yalnızca tek bir ad alanına yüklenebilir. Örneğin, bir uzantıyı varsayılan ad alanına yüklemek, aynı veritabanındaki başka bir ad alanına yüklemenizi engeller.

  • Uzantının veritabanındaki tüm ad alanlarında kullanılabilir olması için pg_catalog sistem ad alanına yükleyin. Herhangi bir ad alanı belirtilmezse uzantı varsayılan olarak public ad alanına yüklenir.

  • Yalnızca Superuser izinlerine sahip hesaplar uzantı yükleyebilir veya kaldırabilir.

  • Şu anda yalnızca yerleşik sistem uzantıları desteklenmektedir. Özel veya harici uzantılar yüklenemez.

Desteklenen uzantılar

Uzantı Açıklama Ad alanı kısıtlaması Yükleme komutu
spm, slpm Basit İzin Modeli'ni (SPM) veya şema düzeyinde Basit İzin Modeli'ni (SLPM) etkinleştirir. Bkz. SPM Kullanma ve SLPM Kullanma. Varsayılan olarak hologres ad alanına yüklenir. Ad alanı değiştirilemez. CREATE EXTENSION IF NOT EXISTS spm;
hive_compatible get_json_object() işlevini ekler. Bkz. JSON işlevleri. pg_catalog ad alanına yüklenmelidir. CREATE EXTENSION IF NOT EXISTS hive_compatible SCHEMA pg_catalog;
hologres_fdw Veritabanları arası sorguları etkinleştirir (Beta). Bkz. Veritabanları arası sorgular. Yalnızca özel örnekler. pg_catalog ad alanına yüklenmelidir. CREATE EXTENSION IF NOT EXISTS hologres_fdw SCHEMA pg_catalog;
dlf_fdw DLF (Data Lake Formation) aracılığıyla OSS verilerini okur. Bkz. DLF tabanlı OSS veri göllerine erişimi hızlandırma. pg_catalog ad alanına yüklenmelidir. CREATE EXTENSION IF NOT EXISTS dlf_fdw SCHEMA pg_catalog;
proxima Proxima vektör hesaplamayı etkinleştirir. Bkz. Proxima vektör hesaplama. Yalnızca özel örnekler. pg_catalog ad alanına yüklenmelidir. CREATE EXTENSION IF NOT EXISTS proxima SCHEMA pg_catalog;
flow_analysis Kullanıcı segmentasyonu ve huni analizi işlevlerini ekler. Bkz. Huni işlevleri ve Kullanıcı segmentasyonu işlevleri. Varsayılan olarak public ad alanına yüklenir. Yalnızca public ad alanına yüklenebilir. CREATE EXTENSION IF NOT EXISTS flow_analysis;
roaringbitmap Roaring Bitmap (RB) işlevlerini ekler. Bkz. RoaringBitmap işlevleri. Yalnızca özel örnekler. Varsayılan olarak public ad alanına yüklenir. Yalnızca public ad alanına yüklenebilir. CREATE EXTENSION IF NOT EXISTS roaringbitmap;
hg_binlog Hologres Binlog verilerini tüketmeyi etkinleştirir. Bkz. JDBC kullanarak Hologres Binlog verilerini tüketme. Yalnızca özel örnekler. Varsayılan olarak hologres ad alanına yüklenir. Ad alanı değiştirilemez. CREATE EXTENSION IF NOT EXISTS hg_binlog;
postgis PostGIS coğrafi işlevlerini ekler. Bkz. PostGIS coğrafi işlevleri. Yalnızca özel örnekler. pg_catalog ad alanına yüklenmelidir. CREATE EXTENSION IF NOT EXISTS postgis SCHEMA pg_catalog;
clickhouse Geçiş için ClickHouse ile uyumlu işlevler ekler. Bkz. ClickHouse'tan veri aktarma. Yalnızca özel örnekler. Varsayılan olarak public ad alanına yüklenir. Yalnızca public ad alanına yüklenebilir. CREATE EXTENSION IF NOT EXISTS clickhouse;
pgcrypto GEN_RANDOM_UUID işlevini ekler. Bkz. Rastgele veri işlevleri. pg_catalog ad alanına yüklenmelidir. CREATE EXTENSION IF NOT EXISTS pgcrypto SCHEMA pg_catalog;
bsi Bit Slice Index (BSI) işlevlerini ekler. Bkz. BSI işlevleri. Varsayılan olarak public ad alanına yüklenir. Yalnızca public ad alanına yüklenebilir. CREATE EXTENSION IF NOT EXISTS bsi;
hg_anon Veri maskelemeyi etkinleştirir. Bkz. Veri maskeleme. Yalnızca pg_catalog ad alanına yüklenebilir. CREATE EXTENSION IF NOT EXISTS hg_anon SCHEMA pg_catalog;
mysql_compatible MySQL ile uyumlu işlevler ekler. Bkz. MySQL ile uyumlu işlevler. Varsayılan olarak hologres ad alanına yüklenir. Ad alanı değiştirilemez. CREATE EXTENSION IF NOT EXISTS mysql_compatible;

Uzantı yükleme

Bir uzantıyı pg_catalog ad alanına yüklemek, bunun veritabanındaki tüm ad alanlarında kullanılabilir olmasını sağlar. Uzantıyı başka bir ad alanına yüklerseniz işlevlerine yalnızca o ad alanının search_path değeri dahilinde erişilebilir.

Not

Bazı uzantılar yalnızca belirli bir ad alanına yüklenebilir. Yükleme komutunu çalıştırmadan önce yukarıdaki tabloda bulunan Schema constraint sütununu kontrol edin.

-- Requires Superuser permissions
CREATE EXTENSION IF NOT EXISTS <extension_name> SCHEMA <schema_name>;
Parametre Açıklama
extension_name Uzantının adı. Geçerli değerler için desteklenen uzantılar tablosuna bakın.
schema_name Uzantının yükleneceği ad alanı. Veritabanı genelinde kullanılabilirlik için pg_catalog kullanın. Belirtilmezse varsayılan olarak public değerini alır.

Örnek: postgis uzantısını pg_catalog ad alanına yükleyin:

CREATE EXTENSION IF NOT EXISTS postgis SCHEMA pg_catalog;

Geçerli veritabanındaki yüklenen uzantıları görüntüleme

Varsayılan olarak yüklenenler de dahil olmak üzere geçerli veritabanında yüklenen tüm uzantıları listelemek için aşağıdaki sorguyu çalıştırın:

SELECT
    e.extname AS "Name",
    e.extversion AS "Version",
    n.nspname AS "Schema",
    c.description AS "Description"
FROM
    pg_catalog.pg_extension e
    LEFT JOIN pg_catalog.pg_namespace n ON n.oid = e.extnamespace
    LEFT JOIN pg_catalog.pg_description c ON c.objoid = e.oid
        AND c.classoid = 'pg_catalog.pg_extension'::pg_catalog.regclass
    ORDER BY 1;

Uzantı kaldırma

Önemli

DROP EXTENSION <extension_name> CASCADE komutunu kullanmayın. CASCADE seçeneği, PostGIS, RoaringBitmap, Proxima, Binlog ve BSI verileri ile meta veriler, tablolar, görünümler ve sunucu verileri dahil olmak üzere uzantıya bağımlı tüm nesneleri siler.

-- Requires Superuser permissions
DROP EXTENSION <extension_name>;
Parametre Açıklama
extension_name Kaldırılacak uzantının adı. Geçerli değerler için desteklenen uzantılar tablosuna bakın.

Örnek: Ad alanları arasında bir uzantıyı sorgulama

roaringbitmap gibi bazı uzantılar yalnızca public ad alanına yüklenebilir. Tablonuz farklı bir ad alanında bulunuyorsa RB işlevini ad alanı ön eki olmadan çağırmak function xxx does not exist hatasıyla başarısız olur. Bu sorunu çözmek için işlevin önüne public. ekini getirin.

Aşağıdaki örnek sorunu ve çözümü göstermektedir.

  1. public dışı bir ad alanında tablo oluşturun ve verilerle doldurun.

    CREATE EXTENSION roaringbitmap;
    
    CREATE SCHEMA test;
    
    -- Create a table in the test schema
    CREATE TABLE test.t1 (
        id integer,
        bitmap roaringbitmap
    );
    
    -- Insert a bitmap from an array
    INSERT INTO test.t1
    SELECT 1, RB_BUILD(ARRAY[1, 2, 3, 4, 5, 6, 7, 8, 9, 200]);
    
    -- Insert a bitmap aggregated from a series
    INSERT INTO test.t1
    SELECT 2, RB_BUILD_AGG(e)
    FROM GENERATE_SERIES(1, 100) e;
  2. search_path değeri public olarak ayarlanmışken RB işlevini kullanarak sorgulama yapın. Sorgu başarılı olur.

    SELECT RB_OR(a.bitmap, b.bitmap)
    FROM (SELECT bitmap FROM test.t1 WHERE id = 1) AS a,
         (SELECT bitmap FROM test.t1 WHERE id = 2) AS b;
  3. search_path değerini test ad alanına değiştirin ve aynı sorguyu çalıştırın. Sorgu başarısız olur.

    SET search_path TO test;
    
    SELECT RB_OR(a.bitmap, b.bitmap)
    FROM (SELECT bitmap FROM test.t1 WHERE id = 1) AS a,
         (SELECT bitmap FROM test.t1 WHERE id = 2) AS b;
    -- ERROR: function rb_or(public.roaringbitmap, public.roaringbitmap) does not exist
  4. İşlevi doğru ad alanından çağırmak için önüne public. ekini getirin.

    SELECT public.RB_OR(a.bitmap, b.bitmap)
    FROM (SELECT bitmap FROM test.t1 WHERE id = 1) AS a,
         (SELECT bitmap FROM test.t1 WHERE id = 2) AS b;

SSS

Bir uzantı yanlış ad alanına yüklendi. Ad alanlarını değiştirdikten sonra işlevlerine erişilemiyor ve function xxx does not exist hatası döndürülüyor.

Bu durum, bir uzantı public ad alanına yüklendiğinde ancak etkin search_path artık public değerini içermediğinde meydana gelir. Uzantıyı CASCADE olmadan kaldırın ve ardından tüm ad alanlarından erişilebilir hale getirmek için pg_catalog ad alanına yeniden yükleyin:

DROP EXTENSION hologres_fdw;

CREATE EXTENSION IF NOT EXISTS hologres_fdw SCHEMA pg_catalog;