共用方式為


PostgreSQL

總結

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

注意

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

先決條件

自 2019 年 12 月起,Power BI Desktop 隨附 NpgSQL,不需要額外的安裝。 自 2024 年 10 月版本起,包含的版本是 NpgSQL 4.0.17。 GAC 安裝程序會覆寫 Power BI Desktop 所提供的版本,而該版本是預設設置。 支援重新整理功能的方式包括透過 Power BI 服務中的雲端,或是通過內部部署資料閘道來達成。 若要從沒有內部部署數據網關的 Power BI 服務重新整理數據,必須將 PostgreSQL 以允許從 Azure 上的 Power BI 服務直接連線的方式部署。 在 Microsoft Azure 上裝載的 PostgreSQL 原生支援此功能。 如需其他主機環境的資訊,請諮詢您的託管服務提供者,以了解有關配置您的 PostgreSQL 以便從互聯網直接訪問的資訊。 如果已設定 PostgreSQL,使其無法直接從因特網存取(基於安全性建議),您必須使用內部部署資料閘道進行更新。 在 Power BI 服務中,會使用 NpgSQL 4.0.17,而內部部署時的重新整理會使用本機安裝的 NpgSQL,如果沒有的話,則使用 NpgSQL 4.0.17。

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

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

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

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

支援的功能

  • 進口
  • DirectQuery (Power BI 語意模型)
  • 進階選項
    • 命令逾時時間(分鐘)
    • 原生 SQL 語句
    • 關係欄位
    • 使用完整階層導航

從 Power Query Desktop 連線到 PostgreSQL 資料庫

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

  1. 在連接器選項中選取 PostgreSQL 資料庫 選項。

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

    Power BI 中的 PostgreSQL 連線產生器。

  3. 請選擇資料連線模式:匯入DirectQuery

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

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

    如需有關驗證方法的詳細資訊,請參閱 與資料來源驗證

    注意

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

    Azure SQL 資料庫加密支援。

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

  5. Navigator中,選取您想要的資料庫資訊,然後選取 [載入] 以載入數據,或 轉換數據,以繼續在 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. Navigator中,選取您需要的數據,然後選取 轉換數據,以便在 Power Query 編輯器中轉換數據。

使用進階選項進行連線

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

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

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

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

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

原生查詢折疊

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

在極少數情況下,即使啟用了原生查詢折疊,折疊仍然無法正常運作,您可以將其停用。 若要停用原生查詢折疊,請在進階編輯器中將 Value.NativeQuery()EnableFolding 旗標設定為 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