Ana içeriğe geç Tamamlayıcı içeriğe geç

PostgreSQL

Bu bölümde, PostgreSQL Hedef bağlayıcısı kullanılarak bir PostgreSQL hedefine bağlantının nasıl yapılandırılacağı açıklanmaktadır. PostgreSQL sadece çoğaltma görevlerinde hedef olarak kullanılabilir. Bir PostgreSQL hedefine bağlanmadan önce veritabanındaki Gerekli izinler öğesini yapılandırmanız gerekir. PostgreSQL'e Veri Hareketi ağ geçidi üzerinden bağlanıyorsanız Sürücü kurulumu bölümünde açıklandığı gibi sürücüyü de yüklemeniz gerekir.

PostgreSQL bağlayıcısını kullanırken dikkat edilmesi gereken hususlar ve sınırlamalar hakkında bilgi için bkz. Sınırlamalar ve dikkate alınacak noktalar.

Bağlantı özelliklerini ayarlama

Bu bölümde kullanılabilen bağlantı özellikleri anlatılmaktadır. Tüm özellikler, aksi belirtilmedikçe gereklidir.

Veri hedefi

  • Veri ağ geçidi: PostgreSQL hedefine bağlantıyı test etmek için kullanılacak Veri Hareketi ağ geçidi öğesini seçin. Bu, veri kaynağına erişmek için kullanılan ağ geçidiyle aynı olmalıdır.

    Bilgi notu
    • Veri Hareketi ağ geçidi 2023.5.10 veya üstünü gerektirir.
    • Veri Hareketi ağ geçidi makinesine de uygun sürücüyü yüklemeniz gerekir. Ayrıntılar için aşağıdaki Sürücü kurulumu öğesine bakın.

  • Bulut sağlayıcı: Aşağıdakilerden uygun olan birini seçin:

      • Şirket içinde PostgreSQL
      • Amazon Aurora
      • Azure Database for PostgreSQL - Flexible Server.
    • Amazon RDS for PostgreSQL için.

      • Google Cloud SQL for PostgreSQL
      • Google Cloud AlloyDB for PostgreSQL
    • Microsoft Azure Database for PostgreSQL için.

  • Ana bilgisayar: PostgreSQL veritabanının yüklü olduğu bilgisayarın IP adresi veya konak adı.

  • Bağlantı noktası: Veri tabanına bağlanırken kullanılacak bağlantı noktası. Varsayılan: 5432.

Hesap özellikleri

Kullanıcı Adı ve Parola: PostgreSQL Server veritabanına erişim yetkisi olan bir kullanıcının kullanıcı adı ve parolası.

Veritabanı özellikleri

  • Veritabanı adı: Bir veritabanını belirtmek için kullanabileceğiniz iki yöntem vardır:

    • 1. Yöntem - Bir listeden seç: Veritabanı yükle'ye tıklayın ve ardından bir veritabanı seçin.
    • 2. Yöntem - Manuel olarak: Veritabanı adını manuel olarak gir'i seçin ve ardından veritabanı adını girin.
  • SSL Modu: Şunlardan birini seçin:
    • disable - Yalnızca bir soyadı ve parola kullanarak bağlan.
    • allow - Sunucu tarafından istenirse şifreli bir bağlantı kurar.
    • prefer - Bu varsayılan ayardır. Sunucu şifreli bağlantıları destekliyorsa şifreli bir bağlantı kurar; şifreli bir bağlantı kurulamıyorsa şifresiz bağlantıya geri döner.
    • require - Sunucu şifreli bağlantıları destekliyorsa şifreli bir bağlantı kurar. Şifreli bir bağlantı kurulamıyorsa bağlantı denemesi başarısız olur.
    • verify-ca - Gerekli'ye benzer, ancak yapılandırılmış CA sertifikalarına göre sunucu Sertifika Yetkilisi (CA) sertifikasını da doğrular. Eşleşen bir CA sertifikası bulunamazsa, bağlantı denemesi başarısız olur.
    • verify-full - CA'yı Doğrula'ya benzer, ancak sunucuya bağlanmak için istemcinin (yani Veri Hareketi ağ geçidi) kullandığı konak adını sunucunun istemciye gönderdiği sertifikadaki kimliğe göre denetleyerek konak adı kimlik doğrulaması da gerçekleştirir. İstemci, bağlanmak için kullandığı konak adı sunucu sertifikasındaki Ortak Ad değeri ile eşleşiyor mu, denetler. Eşleşme olmazsa bağlantı başarısız olur.
  • Güvenilen sertifika: PEM formatındaki istemci sertifikası dosyasını veren Sertifika Yetkilisi (CA).
  • İstemci sertifikası: Sunucu tarafından istemci sertifikasını yükleyin.
  • İstemci sertifikası anahtarı: PEM formatındaki istemci özel anahtar dosyası.
  • CRL: CRL sertifikası. Bu dosya sertifika yetkilileri tarafından iptal edilen sertifikaları içerir. Sunucunun sertifikası bu listede varsa, bağlantı başarısız olur.
  • SSL sıkıştırması: Şifrelenemeden önce verileri sıkıştırmak için bu seçeneği işaretleyin.
  • Maks. dosya boyutu (KB): PostgreSQL hedef veri tabanına yüklenmeden önce bir CSV dosyasının maksimum boyutunu (KB cinsinden) seçin veya yazın. Varsayılan değer 32000 KB'tır.

Dahili özellikler

Dahili özellikler özel kullanım durumları içindir ve bu nedenle diyalog penceresinde gösterilmez. Bunları yalnızca Qlik Desteği tarafından talimat verildiği takdirde kullanmalısınız.

Gerektiği takdirde özellik eklemek veya kaldırmak için alanların sağındaki Yeni oluştur ve İptal düğmelerini kullanın.

Ad

Bağlantının görünen adı.

Önkoşullar

Gerekli izinler

Bağlayıcı ayarlarında belirtilen kullanıcı, PostgreSQL veri tabanında kayıtlı bir kullanıcı olmalıdır.

Buna ek olarak aşağıdaki ayrıcalıklar verilmelidir:

  • Oturum açabilir
  • Veri tabanı oluşturma
Bilgi notuHedef şema veri tabanında zaten mevcutsa "Veri tabanı oluşturma" ayrıcalığı gerekli değildir.

Sürücü kurulumu

driver öğesini, sürücü yükleme yardımcı programını kullanarak (önerilir) veya manuel olarak yükleyebilirsiniz. Manuel yükleme, nadir görülen şekilde sürücü yükleme yardımcı programında bir sorunla karşılaşmanız durumunda denenmelidir.

Sürücüyü yüklemek için sürücü yükleme yardımcı programı kullanma

Bu bölümde, gerekli driver öğesinin nasıl yükleneceği açıklanmıştır. Sürece, gerekli driver öğesini otomatik olarak indirecek, yükleyecek ve yapılandıracak bir komut dosyası çalıştırma işlemi dahildir. Gerektiğinde driver öğesini güncellemek ve kaldırmak için de komut dosyaları çalıştırabilirsiniz.

  • Python 3.6 veya daha yeni bir sürümünün Veri Hareketi ağ geçidi sunucusunda yüklü olduğundan emin olun.

    Python, çoğu Linux dağıtımında önceden yüklenmiş şekilde sunulur. Aşağıdaki komutu çalıştırarak sisteminizde yüklü olan Python sürümünü öğrenebilirsiniz:

    python3 --version

driver öğesini indirip yüklemek için:

  1. Veri Hareketi ağ geçidi makinesinde, çalışan dizini şu şekilde değiştirin:

    opt/qlik/gateway/movement/drivers/bin

  2. Şu komutu çalıştırın:

    Söz Dizimi:

    ./install postgres

    driver yüklenemiyorsa (erişim kısıtlamaları veya teknik sorunlar nedeniyle) driver öğesini nereden indireceğiniz ve Veri Hareketi ağ geçidi makinesinde nereye kopyalayacağınız konusunda size talimat veren bir mesaj görünür. Bu işlemi yaptıktan sonra install postgres komutunu tekrar çalıştırın.

    Aksi durumda, driver öğesinin EULA'sı görünür.

  3. Şunlardan birini yapın:

    • EULA'da yavaşça gezinmek için [Enter] tuşuna tekrar tekrar basın.
    • EULA'da hızlı bir şekilde gezinmek için Boşluk tuşuna tekrar tekrar basın.
    • Lisans metninden çıkmak ve EULA kabul seçeneklerine ulaşmak için q tuşuna basın.
  4. Şunlardan birini yapın:

    • EULA'yı kabul etmek ve yükleme işlemini başlatmak için "y" yazıp [Enter] tuşuna basın.
    • EULA'yı reddetmek ve yükleme işleminden çıkmak için "n" yazıp [Enter] tuşuna basın.
    • EULA'yı tekrar görüntülemek için "v" yazıp [Enter] tuşuna basın.

  5. driver yüklenir.

Sağlanan driver öğesini yüklemeden önce driver öğesinin eski sürümlerini kaldırmak istiyorsanız güncelleme komutunu çalıştırın.

driver öğesini indirip güncellemek için:

  1. Veri Hareketi ağ geçidi makinesinde, çalışan dizini şu şekilde değiştirin:

    opt/qlik/gateway/movement/drivers/bin

  2. Şu komutu çalıştırın:

    Söz Dizimi:

    ./update postgres

    driver yüklenemiyorsa (erişim kısıtlamaları veya teknik sorunlar nedeniyle) driver öğesini nereden indireceğiniz ve Veri Hareketi ağ geçidi makinesinde nereye kopyalayacağınız konusunda size talimat veren bir mesaj görünür. Bu işlemi yaptıktan sonra update postgres komutunu tekrar çalıştırın.

    Aksi durumda, driver öğesinin EULA'sı görünür.

  3. Şunlardan birini yapın:

    • EULA'da yavaşça gezinmek için [Enter] tuşuna tekrar tekrar basın.
    • EULA'da hızlı bir şekilde gezinmek için Boşluk tuşuna tekrar tekrar basın.
    • Lisans metninden çıkmak ve EULA kabul seçeneklerine ulaşmak için q tuşuna basın.
  4. Şunlardan birini yapın:

    • EULA'yı kabul etmek ve yükleme işlemini başlatmak için "y" yazıp [Enter] tuşuna basın.
    • EULA'yı reddetmek ve yükleme işleminden çıkmak için "n" yazıp [Enter] tuşuna basın.
    • EULA'yı baştan incelemek için "v" yazıp [Enter] tuşuna basın.
  5. Eski driver kaldırılacak ve yeni driver yüklenecektir.

driver öğesini kaldırmak istiyorsanız kaldırma komutunu çalıştırın.

driver öğesini kaldırmak için:

  1. Bu bağlayıcıyı kullanmak için yapılandırılan tüm görevleri durdurun.

  2. Veri Hareketi ağ geçidi makinesinde, çalışan dizini şu şekilde değiştirin:

    opt/qlik/gateway/movement/drivers/bin

  3. Şu komutu çalıştırın:

    Söz Dizimi:

    ./uninstall postgres

    driver kaldırılacaktır.

Sürücüleri ve kitaplıkları manuel olarak yükleme

driver öğesini manuel olarak yüklemeyi yalnızca otomatik sürücü yükleme başarıyla tamamlanmadığında denemelisiniz.

Veri Hareketi ağ geçidi yüklendikten sonra aşağıdaki RPM dosyalarını indirin. Dosyaların doğrudan indirme bağlantılarını /opt/qlik/gateway/movement/drivers/manifests/postgres.yamliçinde binary-artifacts altında bulabilirsiniz. İndirme tamamlandığında dosyaları Veri Hareketi ağ geçidi makinesine kopyalayın.

Veri Hareketi ağ geçidi uygulaması Red Hat 9.x üzerine yüklendiğinde:

  • postgresql<version>-libs-<version>PGDG.rhel9.x86_64.rpm
  • postgresql<version>-<version>PGDG.rhel9.x86_64.rpm
  • postgresql<version>-odbc-<version>PGDG.rhel9.x86_64.

Veri Hareketi ağ geçidi uygulaması Red Hat 8.x üzerine yüklendiğinde:

  • postgresql<version>-libs-<version>PGDG.rhel8.x86_64.rpm
  • postgresql<version>-<version>PGDG.rhel8.x86_64.rpm
  • postgresql<version>-odbc-<version>PGDG.rhel8.x86_64.rpm

 

Veri Hareketi ağ geçidi sunucusunda bir kabuk istemi açıp şunu yapın:

  1. Veri Hareketi ağ geçidi hizmetini durdurun:

    sudo systemctl stop repagent

  2. İsteğe bağlı olarak hizmetin durduğunu doğrulayın:

    sudo systemctl status repagent

    Durum aşağıdaki gibi olmalıdır:

    Active: inactive (dead) since <timestamp> ago

  3. RPM dosyalarını yükleyin.

  4. <Veri Hareketi ağ geçidi-Yukleme-Dizini>/bin dizinine geçin.

  5. Sürücü konumunu site_arep_login.sh dosyasına aşağıdaki gibi kopyalayın:

    echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib:/usr/lib64:/usr/pgsql-<version>/lib" >> site_arep_login.sh

    Bu, sürücüyü "LD_LIBRARY_PATH" değişkenine ekler ve site_arep_login.sh dosyasında sürücü konumunu günceller.

  6. İsteğe bağlı olarak sürücü konumunun kopyalandığını doğrulayın:

    cat site_arep_login.sh
  7. /etc/odbcinst.ini dosyasının aşağıdaki örnekteki gibi PostgreSQL için bir giriş içerdiğinden emin olun:

    [PostgreSQL]

    Description = PostgreSQL ODBC driver

    Driver = /usr/pgsql-13/lib/psqlodbc.so

    Setup = /usr/pgsql-13/lib/psqlodbcw.so

    UsageCount = 1

  8. Veri Hareketi ağ geçidi hizmetini başlatın:

    sudo systemctl start repagent

  9. İsteğe bağlı olarak hizmetin başladığını doğrulayın:

    sudo systemctl status repagent

    Durum aşağıdaki gibi olmalıdır:

    Active: active (running) since <timestamp> ago

Sınırlamalar ve dikkate alınacak noktalar

Çoğaltma hedefi olarak PostgreSQL kullanılırken aşağıdaki kısıtlamalar uygulanır:

  • Çoğaltılmış kayıtlar içeren Birincil Anahtar/Benzersiz Dizin bulunmayan tablolarda UPDATE ve DELETE işlemleri desteklenmez. Bu tablolarda yapılan değişiklikler hedefteki tüm kayıtları etkileyecektir.
  • Anahtarda LOB sütunu bulunan tablolar, Toplu İyileştirme Uygulama modunda desteklenmez. Bir VARBINARY sütunu kaynak tablo anahtarı olarak kullanıldığında hedefte BYTEA sütunu oluşturulur. Bu, Toplu İyileştirme Uygulama modunda öngörülemez davranışlara neden olur. Geçici bir çözüm olarak SQLite HEX işlevini kullanarak VARBINARY öğesini VARCHAR öğesine dönüştürmenizi öneririz.

Veri türleri

Yerel veri türü bilgileri korunur ve veri kümesi görünümlerinde Yerel veri türü sütununda görüntülenir. Sütun görünür değilse veri kümesi görünümünün sütun seçicisini açmanız ve Yerel veri türü sütununu seçmeniz gerekir.

Veri türleri
Qlik Cloud Veri Türleri PostgreSQL veri türleri

BOOL

BOOL

BYTES

BYTEA

DATE

DATE

TIME

TIME

DATETIME

Ölçek => 0 ve =< 6 ise o zaman:

TIMESTAMP

Ölçek => 7 ve =< 12 o zaman:

VARCHAR (37)

INT1

SMALLINT

INT2

SMALLINT

INT4

INTEGER

INT8

BIGINT

NUMERIC

DECIMAL (P, S)

REAL4

FLOAT4

REAL8

FLOAT8

STRING

Uzunluk 1 - 21845 ise:

VARCHAR (Bayt Cinsinden Uzunluk = STRING değeri üçle çarpılır)

Uzunluk 21846 - 2147483647 ise:

VARCHAR (65535)

UINT1

SMALLINT

UINT2

INTEGER

UINT4

BIGINT

UINT8

BIGINT

WSTRING

Uzunluk 1 - 21845 ise:

VARCHAR (Bayt Cinsinden Uzunluk = WSTRING değeri üçle çarpılır)

Uzunluk 21846 - 2147483647 ise:

VARCHAR (65535)

BLOB

BYTEA

NCLOB

TEXT

CLOB

TEXT

Bir PostgreSQL kaynağından çoğaltırken veri türleri

Bir PostgreSQL kaynağından çoğaltırken hedef tablo, kullanıcı tarafından tanımlanan veya PostGIS veri türleri içeren sütunlar dışında tüm sütunlar için aynı veri türleriyle oluşturulacaktır. Böyle durumlarda veri türü, hedefte "değişen karakter" olarak oluşturulacaktır.

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!