PostgreSQL データベースをデータポータルに接続して、データを可視化して分析できます。PostgreSQL コネクタを使用して、データをインタラクティブなダッシュボードとレポートに変換します。その後、データベースに直接アクセスできないチームや関係者と分析情報を共有できます。
サポート対象のバージョン
データポータルの動作検証は、次の PostgreSQL バージョンで実施されています。
- 9.6
- 10
- 11
- 12
- 13
- 14
サポートされるバージョンの使用で問題が発生した場合は、データポータル コミュニティでお知らせください。Issue Tracker で機能に関するリクエストの追加や投票を行うこともできます。
PostgreSQL への接続方法
PostgreSQL コネクタは PostgreSQL JDBC ドライバを使用して、データポータルのデータソースを単一の PostgreSQL データベース テーブル、またはユーザーが指定したカスタムクエリに接続します。
PostgreSQL データベースに接続する手順は次のとおりです。
- データポータルにログインします。
- データポータルのホームページで、[ 作成] をクリックして、[データソース] を選択します。
- PostgreSQL コネクタを選択します。
- 接続オプションのいずれかを使用して、データベースへのアクセス権を構成します。
- [AUTHENTICATE] をクリックします。そのデータベース内のテーブルのリストが表示されます。
- リストからテーブルを選択するか、カスタムクエリを入力します。
- [接続] をクリックします。
これで、指定したテーブルのすべての列をレポートの中でフィールドとして使えるようになります。
接続オプション
ホスト名または IP アドレスを使用して接続する
接続パネルで、[基本] を選択します。接続の詳細を入力します。
- ホスト名または IP アドレス
- ポート(省略可)
- データベース
- ユーザー名
- パスワード
JDBC URL を使用して接続する
接続パネルで、[JDBC URL] を選択します。接続の詳細を入力します。
- JDBC URL
例
jdbc:postgresql://HOSTNAME[:PORT]/DATABASE
- ユーザー名
- パスワード
IPv6 リテラル アドレスを使用して接続するには、アドレスを角かっこで囲みます。次に例を示します。jdbc:postgresql://[2001:db8:1:1:1:1:1:1]/your_db
SSL を使用して接続する
データポータルでは、TLS(Transport Layer Security)プロトコル(TLS 1.2)を使用して、サーバーへの接続を保護(暗号化)できます。TLS は SSL(セキュア ソケット レイヤ)とも呼ばれます。
保護された接続を使用するには、[SSL を有効にする] をオンにして、SSL 設定ファイルを指定します。
クライアント認証を使用して接続する
[クライアント認証を有効にする] チェックボックスをオンにすると、データベースにアクセスする際に、必要に応じてクライアントの秘密鍵とクライアント証明書をアップロードできます。
詳しくは、PostgreSQL の安全な接続をご覧ください。
カスタムクエリ
1 つの表に接続する代わりに、SQL クエリを指定するには [カスタムクエリ] オプションを選択します。データポータルでは、データベースに対するクエリが生成されると、このカスタム SQL を内部 SELECT ステートメントとして使用します。
カスタム SQL クエリに含めることができるステートメントは 1 つのみです。たとえば以下は、複数の SQL ステートメントが含まれるため機能しません。
DECLARE cost_per_tb_in_dollar FLOAT64 DEFAULT 4.2;
SELECT total_bytes_billed / (1024 * 1024))* cost_per_tb_in_dollar)/(1024*1024))) FROM billing-table;
データポータルのクエリは 3 ~ 5 分後にタイムアウトする場合があります。カスタムクエリがタイムアウトした場合は、次の方法で問題を解決してみてください。
- 実行速度を上げるために、クエリを簡素化します。
- データベースでクエリを実行し、結果を別のテーブルに保存してからデータソース内の新しいテーブルを接続します。
サポートされるデータタイプ
PostgreSQL コネクタは、次のデータ型をサポートしています。
- 数値
- 文字
- ブール値
- 日時(時間隔を除く)
データポータルでサポートされていないタイプの列については、フィールドが作成されません。
詳しくは、PostgreSQL のデータ型をご覧ください。
ファイアウォールとデータベースへのアクセス
データポータルがファイアウォールの内側にあるデータベースに接続してクエリを実行できるようにするには、次のいずれかの IP アドレスへのアクセスを可能にする必要があります。また、これらのアドレスからのトラフィックを受け入れるようにデータベースを設定する必要があります。詳しい手順については、該当するデータベースの各ドキュメントをご覧ください。
IP アドレス
次のアドレスは、データポータルのグローバル インフラストラクチャ用に予約されています。
142.251.74.0/232001:4860:4807::/48(省略可、IPv6 をサポートするプラットフォームの場合)
データポータル Pro サブスクリプションでデータ所在地を有効にしている場合は、代わりに次のアドレスを使用します。
142.251.56.0/242001:4860:4815::/48(省略可、IPv6 をサポートするプラットフォームの場合)
PostgreSQL コネクタを使用する場合は、次のネットワークの制限事項に注意してください。
データポータルは、Cloud SQL の PostgreSQL へのプライベート IP 接続をサポートしていません。
PostgreSQL コネクタは、Cloud SQL PostgreSQL インスタンスへの接続時に Cloud SQL Proxy を使用しません。Cloud SQL PostgreSQL インスタンスに接続する場合は、リストに記載されている IP を承認済みネットワーク リストに追加する必要があります。Cloud SQL のドキュメントをご覧ください。
PostgreSQL コネクタに関する制限事項
AlloyDB は認証局(CA)証明書のエクスポートをサポートしていないため、SSL 経由で AlloyDB データソースに接続することはできません。
publicスキーマ以外のテーブルの選択はサポートされていません。ただし、[カスタムクエリ] オプションを選択して、任意のスキーマのテーブルを含むクエリを作成することは可能です。このコネクタを使用すると、1 クエリあたり最大 15 万行のクエリを実行できます。この上限値を超えたデータは切り捨てられます。
列見出し(フィールド名)には ASCII 文字のみを使用する必要があります。ASCII 以外の文字はサポートされていません。
トラブルシューティング
一般的なエラー メッセージとその解決方法については、データポータルのトラブルシューティング ガイドをご覧ください。