Tableau からPostgreSQL にOData フィードとして接続する方法

加藤龍彦
加藤龍彦
デジタルマーケティング
API Server を使用して、BI ツールTableau からPostgreSQL のデータに接続する方法をわかりやすく説明します。



CData API Server は、PostgreSQL JDBC Driver(またはほかの250を超える ADO.NET Providers)と組み合わせることでOData Web サービスとしてPostgreSQL を提供します。この記事では、API Server を使用してBI ツールTableau にPostgreSQL への接続を提供する方法について説明します。

API Server の設定

以下のリンクからAPI Server の無償トライアルをスタートしたら、セキュアなPostgreSQL OData サービスを作成していきましょう。

PostgreSQL への接続

Tableau からPostgreSQL のデータを操作するには、まずPostgreSQL への接続を作成・設定します。

  1. API Server にログインして、「Connections」をクリック、さらに「接続を追加」をクリックします。 接続を追加
  2. 「接続を追加」をクリックして、データソースがAPI Server に事前にインストールされている場合は、一覧から「PostgreSQL」を選択します。
  3. 事前にインストールされていない場合は、コネクタを追加していきます。コネクタ追加の手順は以下の記事にまとめてありますので、ご確認ください。
    CData コネクタの追加方法はこちら >>
  4. それでは、PostgreSQL への接続設定を行っていきましょう! 接続設定
  5. PostgreSQL への接続には、Server、Port(デフォルトは5432)、Database、およびUser、Password のプロパティを設定します。Database プロパティが設定されない場合には、User のデフォルトデータベースに接続します。

    パスワード方式によるSSH 接続

    パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。

    • User: PostgreSQL のユーザ
    • Password: PostgreSQL のパスワード
    • Database: PostgreSQL の接続先データベース
    • Server: PostgreSQL のサーバー
    • Port: PostgreSQL のポート
    • UserSSH: "true"
    • SSHAuthMode: "Password"
    • SSHPort: SSH のポート
    • SSHServer: SSH サーバー
    • SSHUser: SSH ユーザー
    • SSHPassword: SSH パスワード

    接続文字列形式では以下のようになります。

    User=admin;Password=adminpassword;Database=test;Server=postgresql-server;Port=5432;UseSSH=true;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;

    公開鍵認証方式によるSSH 接続

    公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。

    • User: PostgreSQL のユーザ
    • Password: PostgreSQL のパスワード
    • Database: PostgreSQL の接続先データベース
    • Server: PostgreSQL のサーバー
    • Port: PostgreSQL のポート
    • UserSSH: "true"
    • SSHAuthMode: "Public_Key"
    • SSHClientCertType: キーストアの種類
    • SSHPort: SSH のポート
    • SSHServer: SSH サーバー
    • SSHUser: SSH ユーザー
    • SSHClientCert: 秘密鍵ファイルのパス

    接続文字列形式では以下のようになります。

    User=admin;Password=adminpassword;Database=test;Server=PostgreSQL-server;Port=5432;UseSSH=true;SSHClientCertType=PEMKEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem;
  6. 接続情報の入力が完了したら、「保存およびテスト」をクリックします。

PostgreSQL への接続には、Server、Port(デフォルトは5432)、Database、およびUser、Password のプロパティを設定します。Database プロパティが設定されない場合には、User のデフォルトデータベースに接続します。

パスワード方式によるSSH 接続

パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。

  • User: PostgreSQL のユーザ
  • Password: PostgreSQL のパスワード
  • Database: PostgreSQL の接続先データベース
  • Server: PostgreSQL のサーバー
  • Port: PostgreSQL のポート
  • UserSSH: "true"
  • SSHAuthMode: "Password"
  • SSHPort: SSH のポート
  • SSHServer: SSH サーバー
  • SSHUser: SSH ユーザー
  • SSHPassword: SSH パスワード

接続文字列形式では以下のようになります。

User=admin;Password=adminpassword;Database=test;Server=postgresql-server;Port=5432;UseSSH=true;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;

公開鍵認証方式によるSSH 接続

公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。

  • User: PostgreSQL のユーザ
  • Password: PostgreSQL のパスワード
  • Database: PostgreSQL の接続先データベース
  • Server: PostgreSQL のサーバー
  • Port: PostgreSQL のポート
  • UserSSH: "true"
  • SSHAuthMode: "Public_Key"
  • SSHClientCertType: キーストアの種類
  • SSHPort: SSH のポート
  • SSHServer: SSH サーバー
  • SSHUser: SSH ユーザー
  • SSHClientCert: 秘密鍵ファイルのパス

接続文字列形式では以下のようになります。

User=admin;Password=adminpassword;Database=test;Server=PostgreSQL-server;Port=5432;UseSSH=true;SSHClientCertType=PEMKEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem;

API Server のユーザー設定

次に、API Server 経由でPostgreSQL にアクセスするユーザーを作成します。「Users」ページでユーザーを追加・設定できます。やってみましょう。

  1. 「Users」ページで ユーザーを追加をクリックすると、「ユーザーを追加」ポップアップが開きます。
  2. 次に、「ロール」、「ユーザー名」、「権限」プロパティを設定し、「ユーザーを追加」をクリックします。
  3. その後、ユーザーの認証トークンが生成されます。各ユーザーの認証トークンとその他の情報は「Users」ページで確認できます。

PostgreSQL 用のAPI エンドポイントの作成

ユーザーを作成したら、PostgreSQL のデータ用のAPI エンドポイントを作成していきます。

  1. まず、「API」ページに移動し、 「 テーブルを追加」をクリックします。
  2. アクセスしたい接続を選択し、次へをクリックします。
  3. 接続を選択した状態で、各テーブルを選択して確認をクリックすることでエンドポイントを作成します。

OData のエンドポイントを取得

以上でPostgreSQL への接続を設定してユーザーを作成し、API Server でPostgreSQL データのAPI を追加しました。これで、OData 形式のPostgreSQL データをREST API で利用できます。API Server の「API」ページから、API のエンドポイントを表示およびコピーできます。

PostgreSQL のデータ可視化を作成する

それでは、PostgreSQL のデータを使用した可視化を作成していきましょう。

  1. Tableau で「データ接続」を選択します。「On a server」セクションで「OData」をクリックします。

    An OData data source, in the 'On a server' section in the 'Connect to data' wizard in Tableau.
  2. 表示されるウィザードで、API Server のOData エンドポイントのURL を入力します。OData エントリのURL にアクセスするテーブルの名前を追加します。例:

            https://your-server/api.rsc/Orders
          
  3. 「Use a Username and Password」オプションを選択し、API Server にアクセスできるユーザーのユーザー名とパスワードを入力します。 The URL of the OData endpoint of the API Server and the username and password (authtoken) of an API Server user.
  4. Tableau は、API Server によって公開されるテーブルメタデータを使用してディメンションカラムとメタデータカラムを検出します。

    Columns organized into dimensions and measures in Tableau.(Salesforce is shown.)
  5. PostgreSQL のデータを表示するには、ダッシュボードの「Data」セクションでテーブル名の下を右クリックし、「View Data」オプションを選択します。 PostgreSQL のデータがTableau に表示されます。

    A grid of data in Tableau.(Salesforce is shown.)

はじめる準備はできましたか?

詳細はこちら、または無料トライアルにお申し込みください:

CData API Server お問い合わせ