共用方式為


PostgreSQL

總結

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

注意

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

先決條件

自 2019 年 12 月起,Power BI Desktop 已包含適用於 PostgreSQL 連接器的 Npgsql 提供者,因此不需要進行額外的安裝。 從 2024 年 10 月版本開始,它會納入 Npgsql 4.0.17 版。 獨立的 Npgsql GAC 安裝將會取代此預設版本。

PostgreSQL 連接器支援雲端連線,並且可透過 VNet 資料閘道或本地部署資料閘道來實現。 自 2025 年 6 月版本以來,內部部署數據閘道包含 Npgsql 提供者,因此不需要額外的安裝。 個別的 Npgsql GAC 安裝將會覆寫此預設版本。

針對 2019 年 12 月之前發行的 Power BI Desktop 版本,以及 2025 年 6 月之前發行的內部部署數據閘道,您必須在本機電腦上安裝 Npgsql 提供者,才能使用 PostgreSQL 連接器。 若要安裝 Npgsql 提供者,請移至 4.0.17 版的版本 頁面 ,下載並執行 .msi 檔案。 提供者架構(32 位或64位)必須符合您想要使用連接器的產品架構。 安裝時,請確定您選取 [Npgsql GAC 安裝],以確保 Npgsql 本身已新增至您的電腦。 Npgsql 4.1 及更新版本不受支持,因為 .NET 版本不相容。

已選取 GAC 安裝選項之 Npgsql 安裝程式的截圖。

支援的功能

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

從 Power Query Desktop 連線到 PostgreSQL 資料庫

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

  1. 選取連接器選取範圍中的 PostgreSQL資料庫 選項。 如需詳細資訊,請移至 取得數據的位置

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

    Power BI 中 PostgreSQL 連線產生器的螢幕快照。

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

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

    您輸入 PostgreSQL 使用者名稱和密碼之驗證對話框的螢幕快照。

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

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

    Azure SQL 資料庫加密支援對話框的螢幕快照。

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

  6. [導覽器] 中,選取您想要的資料庫資訊,然後選取 [ 載入 ] 以載入資料或 [轉換數據 ] 以繼續在 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 語句 如需詳細資訊,請移至 使用原生資料庫查詢從資料庫匯入資料
包含關聯性欄位 如果勾選,則包含可能關聯到其他數據表的欄。 如果清除此方塊,就不會顯示這些資料欄。
使用完整階層導航 如果選取此選項,導覽窗格會顯示您正在連線的資料庫中資料表的完全階層結構。 在清除後,導覽器將只顯示包含數據的表格。

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

原生查詢折疊

預設情況下,會啟用原生查詢折疊。 能夠折疊的操作會依照一般的匯入或直接查詢邏輯,應用在原生查詢之上。 原生查詢折疊不適用於 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