共用方式為


PostgreSQL

總結

項目 描述
發行狀態 一般上市
產品 Excel
Power BI(語意模型)
Power BI(資料流程)
網狀架構 (資料流 Gen2)
Power Apps(資料流程)
Dynamics 365 Customer Insights
Analysis Services
支援的驗證類型 資料庫 (使用者名稱/密碼)
Microsoft account [Microsoft Entra ID]
函式參考檔 PostgreSQL.Database

注意

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

先決條件

自 2019 年 12 月起,Power BI Desktop 已包含 PostgreSQL 連接器的 Npgsql 提供者,免除了更多安裝的需求。 從 2024 年 10 月版本開始,它會納入 Npgsql 4.0.17 版。 單獨安裝的 Npgsql GAC 會覆蓋此預設版本。

PostgreSQL 連接器支援雲端連線,並透過虛擬網路資料閘道或本地資料閘道器進行。 自 2025 年 6 月版本以來,內部部署數據閘道包含 Npgsql 提供者,因此不需要額外的安裝。 單獨安裝的 Npgsql GAC 會覆蓋此預設版本。

對於 2019 年 12 月前發布的 Power BI 桌面版本及 2025 年 6 月前發布的本地資料閘道器,您必須在本地機器安裝 Npgsql 提供者,才能使用 PostgreSQL 連接器。 要安裝 Npgsql 提供者,請前往版本 4.0.17 的版本頁面 ,下載並執行 .msi 檔案。 提供者架構(32 位或64位)必須符合您想要使用連接器的產品架構。 安裝時,請確定您選取 [Npgsql GAC 安裝],以確保 Npgsql 本身已新增至您的電腦。 由於 .NET 版本不相容,NPGSQL 4.1 及以上版本不被支援。

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

支援的功能

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

從 Power Query Desktop 連接 PostgreSQL 資料庫

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

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

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

    Power BI 中 PostgreSQL 連線建置器的螢幕擷圖。

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

  4. 如果您第一次連線到此資料庫,請選取要使用的驗證類型,然後輸入您的認證。 可用的驗證類型如下:

    • 資料庫 (使用者名稱與密碼 )
    • Microsoft account [Microsoft Entra ID]

    如需驗證的詳細資訊,請前往 使用資料來源驗證

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

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

    Azure SQL資料庫加密支援對話框的截圖。

    選取 [確定 ] 以使用未加密的連線來連線到資料庫。 如果需要加密的連線,必須設定 PostgreSQL 伺服器以容納 SSL 連線(請移至 PostgreSQL 檔 以取得指引)。 完成後,您的電腦可能需要將 PostgreSQL 伺服器的 SSL 憑證安裝到其信任的根憑證授權機構中。

  6. Navigator 中,選擇你想要的資料庫資訊,然後選擇 Load來載入資料,或選擇 Transform Data繼續在Power Query編輯器中轉換資料。

    Power Query桌面導航器截圖,顯示 PostgreSQL 資料庫中人力資源員工資料。

從 Power Query Online 連接 PostgreSQL 資料庫

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

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

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

     Power Query Online 中 PostgreSQL 連線建構器的截圖。

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

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

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

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

  7. Navigator 中,選擇你需要的資料,然後選擇 Transform data 在Power Query編輯器中轉換資料。

使用進階選項進行連線

Power Query Desktop 提供一組進階選項,必要時可加入查詢中。

PostgreSQL 連線對話框中所含進階選項的螢幕快照。

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

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

選擇進階選項後,在 Power Query Desktop 中選擇 OK 以連接到 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