PostgreSQL
概要
項目 | 説明 |
---|---|
リリース状態 | 一般提供 |
プロダクツ | エクセル Power BI (セマンティック モデル) Power BI (データフロー) Fabric (データフロー Gen2) Power Apps (データフロー) Dynamics 365 Customer Insights Analysis Services (分析サービス) |
サポートされている認証の種類 | データベース (ユーザー名/パスワード) |
関数リファレンス ドキュメント | PostgreSQL.Database |
手記
一部の機能は 1 つの製品に存在する可能性がありますが、展開スケジュールとホスト固有の機能のため、他の製品には存在しない場合があります。
前提 条件
2019 年 12 月以降、Power BI Desktop には NpgSQL が付属しており、追加のインストールは必要ありません。 2024 年 10 月のリリース時点では、NpgSQL 4.0.17 が含まれているバージョンです。 GAC インストールは、既定の Power BI Desktop で提供されているバージョンをオーバーライドします。 更新は、Power BI サービスのクラウド経由とオンプレミス データ ゲートウェイ経由の両方でサポートされます。 オンプレミスデータ ゲートウェイなしで Power BI サービスからデータを更新するには、Azure 上の Power BI サービスからの直接接続を許可する方法で PostgreSQL をホストする必要があります。 これは、Microsoft Azure でホストされている PostgreSQL でネイティブにサポートされています。 その他のホスティング環境については、インターネットから直接アクセスするための PostgreSQL の構成について、ホスティング プロバイダーに問い合わせてください。 PostgreSQL がインターネットから直接アクセスできないように構成されている場合 (セキュリティに推奨)、更新にはオンプレミスデータ ゲートウェイを使用する必要があります。 Power BI サービスでは NpgSQL 4.0.17 が使用され、オンプレミスの更新では NpgSQL のローカル インストール (使用可能な場合) が使用され、それ以外の場合は NpgSQL 4.0.17 が使用されます。
2019 年 12 月より前にリリースされた Power BI Desktop バージョンの場合は、ローカル コンピューターに NpgSQL プロバイダーをインストールする必要があります。 NpgSQL プロバイダーをインストールするには、
NpgSQL 4.0.17 をお勧めします。 .NET バージョンの互換性がないため、NpgSQL 4.1 以降は機能しません。
GAC インストールが選択された Npgsql インストーラー
Power Apps の場合は、ローカル コンピューターに NpgSQL プロバイダーをインストールする必要があります。 NpgSQL プロバイダーをインストールするには、
サポートされている機能
- 輸入
- DirectQuery (Power BI セマンティック モデル)
- 詳細オプション
- コマンドのタイムアウト (分)
- ネイティブ SQL ステートメント
- リレーションシップ列
- 完全階層を使用して移動する
Power Query Desktop から PostgreSQL データベースに接続する
一致する Npgsql プロバイダーがインストールされたら、PostgreSQL データベースに接続できます。 接続を確立するには、次の手順を実行します。
コネクタの選択で PostgreSQL データベース オプションを選択します。
表示される PostgreSQL データベース ダイアログで、サーバーとデータベースの名前を指定します。
Power BI での PostgreSQL 接続ビルダー
インポート または DirectQuery データ接続モードを選択します。 このデータベースに初めて接続する場合は、Database 認証の種類の [ユーザー名の] ボックスと [パスワード] ボックスに PostgreSQL 資格情報を入力します。 認証設定を適用するレベルを選択します。 次に、[接続] を選択します。
認証方法の使用方法の詳細については、「データ ソースを使用した認証」を参照してください。
手記
接続が暗号化されていない場合は、次のメッセージが表示されます。
暗号化されていない接続を使用してデータベースに接続するには、[OK] を選択します。または、データベース エンジンへの暗号化接続の有効化の手順に従って、PostgreSQL データベースへの暗号化接続を設定します。
ナビゲーターで、目的のデータベース情報を選択し、データを読み込むには [読み込み ] を選択するか、Power Query エディターでデータの変換を続けるには [データ変換 ] を選択します。
Power Query Online から PostgreSQL データベースに接続する
接続を確立するには、次の手順を実行します。
コネクタの選択で PostgreSQL データベース オプションを選択します。
表示される PostgreSQL データベース ダイアログで、サーバーとデータベースの名前を指定します。
PostgreSQL接続ビルダーを
使用するオンプレミス データ ゲートウェイの名前を選択します。
基本 認証の種類を選択し、[ユーザー名の ] ボックスと [パスワード] ボックスに PostgreSQL 資格情報入力します。 接続が暗号化されていない場合は、[Use Encrypted Connection]\(暗号化された接続を使用する\) をオフにします。
[次 を選択してデータベースに接続します。
ナビゲーターで、必要なデータを選択し、次に [データの変換] を選択して、Power Query エディターでデータを変換します。
詳細オプションを使用して接続する
Power Query Desktop には、必要に応じてクエリに追加できる一連の高度なオプションが用意されています。
次の表に、Power Query Desktop で設定できるすべての詳細オプションを示します。
詳細オプション | 説明 |
---|---|
コマンドのタイムアウト (分) | 接続の継続時間が 10 分 (既定のタイムアウト) を超える場合は、別の値を分単位で入力して、接続を長く開いたままにすることができます。 このオプションは、Power Query Desktop でのみ使用できます。 |
SQL ステートメント | 詳細については、「ネイティブ データベース クエリを使用してデータベースからデータをインポートする」を参照してください。 |
リレーションシップ列を含める | オンの場合は、他のテーブルとのリレーションシップを持つ可能性のある列が含まれます。 このボックスがオフの場合、これらの列は表示されません。 |
完全階層を使用して移動する | オンにすると、ナビゲーターには、接続先のデータベース内のテーブルの完全な階層が表示されます。 オフにすると、列と行にデータが含まれるテーブルのみがナビゲーターに表示されます。 |
必要な詳細オプションを選択したら、Power Query Desktop [OK] を選択して PostgreSQL データベースに接続します。
ネイティブ クエリ フォールディング
既定では、ネイティブ クエリ フォールディングが有効になっています。 通常の Import または Direct Query ロジックに従って、折りたたみ可能な操作がネイティブ クエリの上に適用されます。 ネイティブ クエリ フォールディングは、Value.NativeQuery()に存在する省略可能なパラメーターには適用されません。
まれに、ネイティブ クエリ フォールディングを有効にしても折りたたみが機能しない場合は、無効にすることができます。 ネイティブ クエリ フォールディングを無効にするには、高度なエディターで Value.NativeQuery() の false
に EnableFolding
フラグを設定します。
サンプル: Value.NativeQuery(target as any, query, null, [EnableFolding=false])
トラブルシューティング
ネイティブ クエリによって次のエラーがスローされる場合があります。
We cannot fold on top of this native query. Please modify the native query or remove the 'EnableFolding' option.
基本的なトラブルシューティングの手順は、Value.NativeQuery() のクエリが、その周囲に limit 1
句を含む同じエラーをスローするかどうかを確認することです。
select * from (query) _ limit 1