PostgreSQL Veritabanı Bağlayıcısı

Kategori: Veritabanı Bağlayıcıları

Giriş

Bu belge, mindzieDataDesigner bağlayıcısını PostgreSQL veritabanına bağlamak için oluşturulmuştur. mindzieDataDesigner, mindzieStudio tarafından kullanılan ve veritabanı tablolarını süreç madenciliği olay kayıtlarına dönüştüren ETL aracıdır. Bu belgenin amacı, bağlantı dizesinin oluşturulmasına ve gerekiyorsa güvenlik duvarında portların açılmasına yardımcı olmaktır.

Genel Bakış

PostgreSQL bağlayıcısı, Npgsql veri sağlayıcısını kullanarak PostgreSQL veritabanlarına yüksek performanslı bağlantı sağlar. Bu bağlayıcı, gelişmiş PostgreSQL özelliklerini destekler ve süreç madenciliğinde yaygın olan analitik iş yükleri için optimize edilmiştir.

Sistem Gereksinimleri

  • Veritabanı Sistemi: PostgreSQL 10 veya sonrası (PostgreSQL 15+ önerilir)
  • Bulut Desteği: Amazon RDS for PostgreSQL, Azure Database for PostgreSQL, Google Cloud SQL
  • Platform Desteği: Windows, Linux, macOS
  • Bağımlılıklar: Npgsql .NET veri sağlayıcısı - bağlayıcı ile birlikte gelir

Bağlantı Dizesi Formatı

Temel Format

Host=hostname;Port=5432;Database=database_name;Username=username;Password=password;

Bağlantı Parametreleri

Parametre Açıklama Zorunlu Örnek
Host veya Server PostgreSQL sunucu ana bilgisayar adı Evet postgres.company.com
Port Sunucu port numarası Hayır 5432 (varsayılan)
Database Veritabanı adı Evet process_mining
Username veya User ID PostgreSQL kullanıcı adı Evet mindzie_user
Password PostgreSQL parolası Evet SecurePassword123
Timeout Bağlantı zaman aşımı (saniye) Hayır 30
Command Timeout Komut zaman aşımı (saniye) Hayır 600
Pooling Bağlantı havuzu kullanımı Hayır true
Minimum Pool Size Minimum havuz bağlantısı Hayır 1
Maximum Pool Size Maksimum havuz bağlantısı Hayır 100
SSL Mode SSL bağlantı modu Hayır Prefer
Trust Server Certificate SSL sertifikasına güven Hayır false

Bağlantı Örnekleri

Yerel PostgreSQL

Host=localhost;Port=5432;Database=process_mining;Username=mindzie_user;Password=password;

SSL ile Uzak PostgreSQL

Host=postgres.company.com;Port=5432;Database=process_mining;Username=mindzie_user;Password=SecurePassword123;SSL Mode=Require;

Amazon RDS PostgreSQL

Host=myinstance.123456789012.us-east-1.rds.amazonaws.com;Port=5432;Database=process_mining;Username=postgres;Password=RDSPassword123;SSL Mode=Require;

Azure Database for PostgreSQL

Host=myserver.postgres.database.azure.com;Port=5432;Database=process_mining;Username=mindzie@myserver;Password=AzurePassword123;SSL Mode=Require;

Havuz Ayarları ile Bağlantı

Host=postgres-server;Port=5432;Database=process_mining;Username=mindzie_user;Password=password;
Pooling=true;Minimum Pool Size=5;Maximum Pool Size=50;Timeout=30;

Sorun Giderme

Yaygın Bağlantı Sorunları

"Connection refused" Hatası

  • PostgreSQL’in çalıştığını doğrulayın: systemctl status postgresql
  • Sunucu ana bilgisayar adı ve port numarasını kontrol edin
  • Güvenlik duvarı ve ağ bağlantısını doğrulayın
  • PostgreSQL bağlantıları kabul ediyor mu kontrol edin: listen_addresses

"Authentication failed" Hatası

  • Kullanıcı adı ve parolanın doğru olduğunu doğrulayın
  • pg_hba.conf kimlik doğrulama yapılandırmasını kontrol edin
  • Kullanıcının varlığını kontrol edin: psql’de \du
  • Kimlik doğrulama yöntemini doğrulayın (md5, scram-sha-256)

"Database does not exist" Hatası

  • Veritabanı adını doğrulayın: psql’de \l
  • Kullanıcının veritabanına CONNECT yetkisi olup olmadığını kontrol edin
  • Veritabanı adının doğru yazıldığını (büyük/küçük harf duyarlılığı) kontrol edin

SSL Bağlantı Sorunları

  • PostgreSQL SSL yapılandırmasını kontrol edin
  • Require modunda SSL sertifikalarını doğrulayın
  • Otomatik SSL müzakeresi için SSL Mode=Prefer kullanın
  • Trust Server Certificate ayarını kontrol edin

Buluta Özel Yapılandırmalar

Amazon RDS PostgreSQL

  • Hostname olarak RDS uç noktasını kullanın
  • Ağ erişimi için güvenlik gruplarını yapılandırın
  • Veri koruması için SSL bağlantılarını etkinleştirin

Azure Database for PostgreSQL

  • Tam nitelikli sunucu adlarını kullanın
  • Tek sunucu için kullanıcı adına @servername ekleyin
  • İstemci erişimi için güvenlik duvarı kurallarını yapılandırın
  • Bağlantı güvenlik özelliklerini etkinleştirin

mindzie Sunucu Erişimi: Gelişmiş güvenlik için, güvenlik duvarınızı yalnızca mindzie sunucularından bağlantılara izin verecek şekilde yapılandırabilirsiniz; belirli IP adreslerini beyaz listeye alın. Kullandığınız mindzie sunucularının geçerli IP adreslerini almak için mindzie destek ile iletişime geçin.

Google Cloud SQL PostgreSQL

  • Yetkili ağları yapılandırın veya Cloud SQL Proxy kullanın
  • Güvenli bağlantılar için SSL sertifikalarını etkinleştirin
  • Gelişmiş güvenlik için özel IP kullanın

İlgili Bilgiler


💡 İpucu: Karmaşık süreç madenciliği sorguları için veritabanında doğrudan çalıştırılabilen pencere fonksiyonları ve CTE’ler gibi PostgreSQL’in gelişmiş analitik fonksiyonlarından yararlanın; böylece daha iyi performans elde edebilirsiniz.