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 版本不相容。
針對 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