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
Bağlayıcıyı yapılandırmak için aşağıdakileri yapın:
-
Bağlantılar'da Bağlantı oluştur'a tıklayın.
-
PostgreSQL hedef bağlayıcısını seçin ve ardından aşağıdaki ayarları sağlayın:
Veri hedefi
-
Veri ağ geçidi: Veri Hareketi ağ geçidi ile çalışırken PostgreSQL hedefine bağlantıyı test etmek için kullanılacak veri ağ geçidini 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 bu abonelik kademesiyle desteklenmediğinden bu alan, Qlik Talend Cloud Başlangıç Kılavuzu aboneliğiyle kullanılamaz.
-
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:
-
Hiçbiri - Şununla çalışırken seçin:
- Şirket içinde PostgreSQL
- Amazon Aurora
- Azure Database for PostgreSQL - Flexible Server
- Veri Hareketi ağ geçidi olmadan
-
Amazon RDS
Amazon RDS for PostgreSQL için.
-
Google Cloud - Şununla çalışırken seçin:
- Google Cloud SQL for PostgreSQL
- Google Cloud AlloyDB for PostgreSQL
-
Microsoft Azure
Microsoft Azure Database for PostgreSQL için.
-
-
Konak: 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 Qlik Talend Data Integration) 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 sertifika 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 ve 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
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.
Yüklemeyi hazırlama
-
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 uygulamasını yükleme
driver öğesini indirip yüklemek için:
-
Veri Hareketi ağ geçidi makinesinde, çalışan dizini şu şekilde değiştirin:
opt/qlik/gateway/movement/drivers/bin
-
Ş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.
-
Ş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.
-
Ş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.
driver yüklenir.
driver öğesini güncelleme
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:
-
Veri Hareketi ağ geçidi makinesinde, çalışan dizini şu şekilde değiştirin:
opt/qlik/gateway/movement/drivers/bin
-
Ş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.
-
Ş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.
-
Ş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.
Eski driver kaldırılacak ve yeni driver yüklenecektir.
driver öğesini kaldırma
driver öğesini kaldırmak istiyorsanız kaldırma komutunu çalıştırın.
driver öğesini kaldırmak için:
-
Bu bağlayıcıyı kullanmak için yapılandırılan tüm görevleri durdurun.
-
Veri Hareketi ağ geçidi makinesinde, çalışan dizini şu şekilde değiştirin:
opt/qlik/gateway/movement/drivers/bin
-
Ş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:
-
Veri Hareketi ağ geçidi hizmetini durdurun:
sudo systemctl stop repagent
-
İ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
-
RPM dosyalarını yükleyin.
-
<Veri Hareketi ağ geçidi-Yukleme-Dizini>/bin dizinine geçin.
-
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.
-
İsteğe bağlı olarak sürücü konumunun kopyalandığını doğrulayın:
cat site_arep_login.sh
-
/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
-
Veri Hareketi ağ geçidi hizmetini başlatın:
sudo systemctl start repagent
-
İ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.
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.