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
- Resmi Dokümantasyon: PostgreSQL Documentation
- Npgsql Sağlayıcısı: Npgsql Documentation
- Performans Ayarı: PostgreSQL Performance Tips
- Güvenlik: PostgreSQL Security
💡 İ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.