PostgreSQL データベースコネクタ
カテゴリ: データベースコネクタ
はじめに
本資料は、mindzieDataDesigner コネクタを PostgreSQL データベースに接続するための設定方法を説明するために作成されました。mindzieDataDesigner は mindzieStudio がデータベーステーブルをプロセスマイニングイベントログに変換するために使用するETLツールです。本資料の目的は、接続文字列の作成および必要に応じてファイアウォールのポート開放を支援することです。
概要
PostgreSQL コネクタは、Npgsql データプロバイダーを使用して PostgreSQL データベースに高性能接続を提供します。このコネクタは高度な PostgreSQL 機能をサポートしており、プロセスマイニングで一般的な分析処理に最適化されています。
システム要件
- データベースシステム: PostgreSQL 10以降(PostgreSQL 15以上推奨)
- クラウド対応: Amazon RDS for PostgreSQL、Azure Database for PostgreSQL、Google Cloud SQL
- プラットフォーム対応: Windows、Linux、macOS
- 依存関係: Npgsql .NET データプロバイダー - コネクタに含まれています
接続文字列の形式
基本形式
Host=hostname;Port=5432;Database=database_name;Username=username;Password=password;
接続パラメータ
| パラメータ | 説明 | 必須 | 例 |
|---|---|---|---|
Host または Server |
PostgreSQLサーバーホスト名 | はい | postgres.company.com |
Port |
サーバーポート番号 | いいえ | 5432(デフォルト) |
Database |
データベース名 | はい | process_mining |
Username または User ID |
PostgreSQLユーザー名 | はい | mindzie_user |
Password |
PostgreSQLパスワード | はい | SecurePassword123 |
Timeout |
接続タイムアウト(秒) | いいえ | 30 |
Command Timeout |
コマンドタイムアウト(秒) | いいえ | 600 |
Pooling |
コネクションプーリングの有効化 | いいえ | true |
Minimum Pool Size |
最小プール接続数 | いいえ | 1 |
Maximum Pool Size |
最大プール接続数 | いいえ | 100 |
SSL Mode |
SSL接続モード | いいえ | Prefer |
Trust Server Certificate |
SSL証明書の信頼 | いいえ | false |
接続例
ローカル PostgreSQL
Host=localhost;Port=5432;Database=process_mining;Username=mindzie_user;Password=password;
SSL付きリモート 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;
プール設定付き接続
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;
トラブルシューティング
よくある接続問題
「Connection refused」 エラー
- PostgreSQL が稼働中か確認:
systemctl status postgresql - サーバーホスト名とポート番号を確認
- ファイアウォールおよびネットワーク接続を確認
- PostgreSQL が接続を受け入れているか確認:
listen_addressesをチェック
「Authentication failed」 エラー
- ユーザー名とパスワードが正しいか確認
- pg_hba.conf の認証設定を確認
- ユーザーが存在するか確認: psql で
\du - 認証方法(md5、scram-sha-256)を確認
「Database does not exist」 エラー
- データベース名を確認: psql で
\l - ユーザーに CONNECT 権限があるか確認
- データベース名の正確なスペル(大文字小文字)を確認
SSL 接続の問題
- PostgreSQL の SSL 設定を確認
- Require モード使用時は SSL証明書を検証
- 自動SSL交渉には SSL Mode=Prefer を使用
- Trust Server Certificate 設定を確認
クラウド固有の設定
Amazon RDS PostgreSQL
- RDS エンドポイントをホスト名に使用
- ネットワークアクセスのためセキュリティグループを設定
- データ保護のためSSL接続を有効化
Azure Database for PostgreSQL
- 完全修飾サーバー名を使用
- シングルサーバーの場合はユーザー名に @servername を含める
- クライアントアクセス用にファイアウォールルールを設定
- 接続セキュリティ機能を有効化
mindzie サーバーアクセス: セキュリティ強化のため、ファイアウォールを設定して mindzie サーバーの特定IPアドレスのみ接続を許可することが可能です。ご利用の mindzie サーバーの現在のIPアドレスについては mindzie サポートにお問い合わせください。
Google Cloud SQL PostgreSQL
- 許可ネットワーク設定または Cloud SQL Proxy を使用
- セキュリティを確保するため SSL証明書を有効化
- 強化されたセキュリティのためプライベートIPを使用
関連情報
- 公式ドキュメント: PostgreSQL Documentation
- Npgsql プロバイダー: Npgsql Documentation
- パフォーマンスチューニング: PostgreSQL Performance Tips
- セキュリティ: PostgreSQL Security
💡 ヒント: PostgreSQL のウィンドウ関数やCTEなどの高度な分析関数を活用することで、複雑なプロセスマイニングクエリをデータベース上で直接実行し、パフォーマンス向上が期待できます。