PostgreSQL
在此文章
總結
先決條件
支援的功能
從 Power Query Desktop 連線到 PostgreSQL 資料庫
從 Power Query Online 連線到 PostgreSQL 資料庫
使用進階選項進行連線
原生查詢折疊
故障排除
顯示其他 4 個
展開表格
項目
描述
發行狀態
正式運作
產品
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 版本不相容。
針對 Power Apps,您必須在本機電腦上安裝 NpgSQL 提供者。 若要安裝 NpgSQL 提供者,請前往 版本頁面 ,然後下載相關版本。
下載並執行安裝程式 (NpgSQL-[版本號碼].msi) 檔案 。 請確定您選取 NpgSQL GAC 安裝,並在完成時重新啟動電腦,讓此安裝生效。
進口
DirectQuery (Power BI 語意模型)
進階選項
命令逾時時間(分鐘)
原生 SQL 語句
關係欄位
使用完整階層導航
從 Power Query Desktop 連線到 PostgreSQL 資料庫
安裝相符的 Npgsql 提供者之後,您就可以連線到 PostgreSQL 資料庫。 若要進行連線,請執行下列步驟:
在連接器選項中選取 PostgreSQL 資料庫 選項。
在出現的 PostgreSQL 資料庫 對話方塊中,提供伺服器和資料庫的名稱。
請選擇資料連線模式:匯入 或 DirectQuery 。
如果這是您第一次連線到此資料庫,請在 [用戶名稱] 中輸入 PostgreSQL 認證,然後在 [資料庫] 驗證類型的 [密碼] 方塊中輸入您的 PostgreSQL 認證。 選取要套用驗證設定的層級。 然後選取 [Connect ]。
如需有關驗證方法的詳細資訊,請參閱 與資料來源驗證 。
選取 [確定] 以使用未加密的連線來連接到資料庫,或遵循 啟用加密連線到資料庫引擎 的指示,設定加密的 PostgreSQL 資料庫連線。
在 Navigator 中,選取您想要的資料庫資訊,然後選取 [載入 ] 以載入數據,或 轉換數據 ,以繼續在 Power Query 編輯器中轉換數據。
從 Power Query Online 連線到 PostgreSQL 資料庫
若要進行連線,請執行下列步驟:
在連接器選擇中選取 PostgreSQL 資料庫 選項。
在出現的 PostgreSQL 資料庫 對話方塊中,提供伺服器和資料庫的名稱。
選取您想要使用的內部部署數據閘道名稱。
選取 [基本驗證種類 ],然後在 [用戶名稱 ] 和 [密碼 ] 方塊中輸入 PostgreSQL 認證。
如果您的連線未加密,請清除 使用加密連線 。
選取 下一步 以連線到資料庫。
在 Navigator 中,選取您需要的數據,然後選取 轉換數據 ,以便在 Power Query 編輯器中轉換數據。
Power Query Desktop 提供一組進階選項,您可以視需要新增至查詢。
下表列出您可以在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