PostgreSQL

摘要

項目 說明
發行狀態 正式發行
產品 Excel
Power BI (語意模型)
Power BI (數據流)
網狀架構 (資料流 Gen2)
Power Apps (數據流)
Dynamics 365 Customer Insights
Analysis Services
支援的驗證類型 資料庫 (使用者名稱/密碼)
函式參考檔 PostgreSQL.Database

注意

某些功能可能會存在於一個產品中,但由於部署排程和主機特定功能,而不存在其他功能。

必要條件

自 2019 年 12 月版本起,NpgSQL 4.0.10 隨附於 Power BI Desktop,不需要額外的安裝。 GAC 安裝會覆寫 Power BI Desktop 所提供的版本,這會是預設值。 透過 Power BI 服務 中的雲端,以及透過內部部署數據閘道內部部署支援重新整理。 若要在沒有內部部署數據閘道的情況下,從 Power BI 服務 重新整理數據,PostgreSQL 必須以允許從 Azure 上的 Power BI 服務 直接連線的方式進行裝載。 這是 Microsoft Azure 中裝載的 PostgreSQL 原生支援。 如需其他裝載環境,請參閱您的裝載提供者,以設定PostgreSQL以從因特網直接存取。 如果已設定 PostgreSQL,使其無法直接從因特網存取(基於安全性建議),您必須使用內部部署數據閘道進行重新整理。 在 Power BI 服務 中,將會使用 NpgSQL 4.0.10,而內部部署重新整理會使用 NpgSQL 的本機安裝,如果有的話,則使用 NpgSQL 4.0.10。

針對 2019 年 12 月之前發行的 Power BI Desktop 版本,您必須在本機計算機上安裝 NpgSQL 提供者。 若要安裝 NpgSQL 提供者,請移至 發行頁面,搜尋 v4.0.10,然後下載並執行.msi檔案。 提供者架構(32 位或64位)必須符合您想要使用連接器的產品架構。 安裝時,請確定您選取 [NpgSQL GAC 安裝],以確保 NpgSQL 本身已新增至您的電腦。

我們建議 NpgSQL 4.0.10。 NpgSQL 4.1 和 up 無法運作,因為 .NET 版本不相容。

選取 [GAC 安裝] 的 Npgsql 安裝程式。

針對 Power Apps,您必須在本機電腦上安裝 NpgSQL 提供者。 若要安裝 NpgSQL 提供者,請移至 發行頁面 並下載相關版本。 下載並執行安裝程式 (NpgSQL-[版本號碼].msi) 檔案。 請確定您選取 NpgSQL GAC 安裝,並在完成時重新啟動電腦,讓此安裝生效。

支援的功能

  • Import
  • DirectQuery (Power BI 語意模型)
  • 進階選項
    • 以分鐘為單位的命令逾時
    • 原生 SQL 語句
    • 關聯性數據行
    • 使用完整階層架構巡覽

從 Power Query Desktop 連線 至 PostgreSQL 資料庫

安裝相符的 Npgsql 提供者之後,您就可以連線到 PostgreSQL 資料庫。 若要進行連線,請執行下列步驟:

  1. 選取 連接器選取範圍中的PostgreSQL資料庫 選項。

  2. 出現的 PostgreSQL 資料庫 對話框中,提供伺服器和資料庫的名稱。

    Power BI 中的 PostgreSQL 連線產生器。

  3. 選取 [匯] 或 [DirectQuery 數據連線模式]。

  4. 如果這是您第一次連線到此資料庫,請在 [資料庫驗證類型的用戶名稱] 和 [密碼] 方塊輸入 PostgreSQL 認證。 選取要套用驗證設定的層級。 然後選取 [連線]。

    輸入您的 PostgreSQL 使用者名稱和密碼。

    如需使用驗證方法的詳細資訊,請移至 使用數據源進行驗證。

    注意

    如果未加密連線,系統會提示您輸入下列訊息。

    Azure SQL 資料庫加密支援。

    選取 [確定] 以使用未加密的連線至資料庫,或遵循 [啟用對 資料庫引擎 加密連線] 中的指示,設定 PostgreSQL 資料庫的加密連線。

  5. [導覽器] 中,選取您想要的資料庫資訊,然後選取 [載入] 以載入資料或 [轉換數據] 繼續轉換 Power Query 編輯器 中的數據。

    Power Query Desktop Navigator 顯示 PostgreSQL 資料庫中的人力資源員工數據。

從 Power Query Online 連線 至 PostgreSQL 資料庫

若要進行連線,請執行下列步驟:

  1. 選取 連接器選取範圍中的PostgreSQL資料庫 選項。

  2. 出現的 PostgreSQL 資料庫 對話框中,提供伺服器和資料庫的名稱。

    Power Query Online 中的 PostgreSQL 連線產生器。

  3. 選取您想要使用的內部部署數據閘道名稱。

  4. 在 [用戶名稱] 和 [密碼] 方塊中,選取 [基本身份驗證種類] 並輸入 PostgreSQL 認證。

  5. 如果您的連線未加密,請清除 [使用加密 連線。

  6. 選取 [下一步 ] 以連線到資料庫。

  7. [導覽器] 中,選取您需要的數據,然後選取 [轉換數據] 以轉換 Power Query 編輯器 中的數據。

使用進階選項 連線

Power Query Desktop 提供一組進階選項,您可以視需要新增至查詢。

PostgreSQL 連線對話框中所包含的進階選項。

下表列出您可以在Power Query Desktop 中設定的所有進階選項。

進階選項 描述
以分鐘為單位的命令逾時 如果您的連線持續超過 10 分鐘(預設逾時),您可以在幾分鐘內輸入另一個值,讓連線保持開啟時間更長。 此選項僅適用於Power Query Desktop。
SQL statement 如需詳細資訊,請移至 使用原生資料庫查詢從資料庫匯入數據。
包含關聯性資料行 如果核取,則包含可能與其他數據表有關聯性的數據行。 如果清除此方塊,您就不會看到這些數據行。
使用完整階層架構巡覽 如果核取,導覽器會顯示您要連線之資料庫中數據表的完整階層。 如果清除,導覽器只會顯示其數據行和數據列包含數據的數據表。

選取所需的進階選項之後,請在Power Query Desktop 中選取 [ 確定 ],以連線到 PostgreSQL 資料庫。

原生查詢折疊

根據預設,會啟用原生查詢折疊。 能夠折疊的作業會根據一般匯入或直接查詢邏輯,在原生查詢之上套用。 原生查詢折疊不適用於 Value.NativeQuery()存在的選擇性參數。

在極少數情況下,折迭無法啟用原生查詢折疊,您可以將其停用。 若要停用原生查詢折疊,請將EnableFolding進階編輯器中的 Value.NativeQuery() 旗標設定為 false

範例: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