如何將 LibreOffice Base 連接到 PostgreSQL 資料庫

LibreOffice Base 可以作為現有 PostgreSQL 資料庫的前端,因此您可以瀏覽表格、建立查詢以及建立表單或報表,而無需將資料移至嵌入式 Base 資料庫。對於大多數目前安裝,最簡潔的方法是使用 LibreOffice 的直接 PostgreSQL 連線。如果您的環境需要 Java 驅動程式或直接連接器不可用,JDBC 仍然可以作為備用方案。

範例場景:假設有一個名為 Northwind Field Services 的小型維運團隊。其 PostgreSQL 伺服器包含一個名為 `<database_name>` 的資料庫sales_ops。這個資料庫運行在 `<path_to_database_name>` db.example.internal,監聽連接埠 `<port_name> 5432`,團隊擁有一個名為 `<role_name>` 的唯讀角色analyst_ro。此範例為虛構,僅用於說明設定決策如何相互契合。

以下步驟遵循 LibreOffice 目前關於 PostgreSQL 和 JDBC 連線的說明文件以及 PostgreSQL 的最新伺服器文件。截至 2026 年 10 月,LibreOffice 將 26.8.0 列為最新分支,將 26.2.6 列為較為成熟的上一個分支;標籤或按鈕的具體位置可能因作業系統和版本而略有不同。有關最新說明,請參閱LibreOffice 官方發行說明和LibreOffice PostgreSQL 連線說明文件。

開始之前:收集四個連結價值觀

通常情況下,您需要從 PostgreSQL 管理員那裡取得以下四個資訊:

  • 資料庫名稱,例如sales_ops。
  • 伺服器名稱或 IP 位址,例如db.example.internal。
  • 端口,5432除非管理員更改過。
  • PostgreSQL 登入及其驗證方法或密碼。

不要想當然地認為接受本地 PostgreSQL 連線的伺服器也會接受來自其他電腦的 LibreOffice 連線。 PostgreSQLlisten_addresses控制哪些網路介面接受 TCP/IP 連接,同時也控制哪些客戶端位址、資料庫、使用者和驗證方法被允許。 PostgreSQL 在其連線設定和用戶端身份驗證文件pg_hba.conf中對這兩種行為都有詳細說明。

步驟 1:開啟 Base 並選擇現有的 PostgreSQL 資料庫

啟動 LibreOffice Base 並建立一個新的 Base 資料庫文件。在資料庫精靈中,選擇「連接到現有資料庫」,然後選擇PostgreSQL作為資料庫類型。 LibreOffice 的資料庫精靈明確支援將 Base 文件連接到現有資料庫,而不是建立新的嵌入式資料庫。

LibreOffice 基礎資料庫精靈,已選擇“連接到現有資料庫”,並將 PostgreSQL 選為資料庫類型

標題:資料庫精靈設定為連接到現有的 PostgreSQL 資料庫,而不是建立新的嵌入式資料庫。

以 Northwind Field Services 為例,這表示 Base 將儲存連線資訊和 Base 物件(例如查詢、表單和報表),而實際的業務表則保留在 PostgreSQL 中。

步驟 2:輸入資料庫名稱、伺服器和連接埠

在 PostgreSQL 連線頁面上,輸入管理員提供的資料庫名稱、伺服器和連接埠。在運行範例中,這些值分別為sales_ops、db.example.internal和5432。

LibreOffice Base PostgreSQL 連線頁面顯示資料庫名稱 sales_ops、伺服器 db.example.internal 和連接埠 5432

圖註:PostgreSQL 直接連接頁面,包含範例資料庫名稱、伺服器和預設 PostgreSQL 連接埠。

LibreOffice 還允許使用 PostgreSQL 特有的連接字串,而無需填寫基本欄位。官方說明文件中提供了類似 ` <connection-string> dbname=MyDatabase host=myHost port=5432` 和 ` <connection-string>` 的表單postgresql://myHost:port/MyDatabase。當管理員提供額外的驅動程式特定參數時,此功能非常有用。 LibreOffice 指出,此連接字串中的 `<connection-string>`user=和`<connection-string> password=` 值將被忽略,身份驗證將在連接時請求。

步驟 3:輸入 PostgreSQL 使用者並測試連接

輸入要從 Base 使用的 PostgreSQL 角色。如果目的是產生報表或進行分析,通常使用唯讀或最小權限帳戶比資料庫擁有者或超級使用者帳戶更安全。在本例中,角色為analyst_ro。

LibreOffice Base 使用者驗證頁面顯示 Analyst_ro 和成功的連線測試結果

圖註:已設定身份驗證,使用範例只讀角色,連線測試報告成功。

在儲存 Base 文件之前,請使用「測試連線」功能。測試成功表明 Base 可以連接到伺服器並使用提供的角色進行身份驗證。但這並不能證明該角色擁有讀取您預期使用的所有表的權限,因此連線建立後仍需檢查表的可見性。

如果測試失敗,請保留完整的錯誤訊息。諸如 `<error_name>` no pg_hba.conf entry、password authentication failed`<error_name> user does not exist`、`<error_name>` 或 ` <error_name>` 之類的錯誤database does not exist有不同的原因。 PostgreSQL 的身份驗證故障排除頁面解釋了這些錯誤訊息,並建議在客戶端錯誤不足以排查問題時檢查伺服器日誌。

步驟 4:儲存基礎資料庫文檔

測試通過後,選擇是否將資料庫註冊到 LibreOffice,以及是否立即開啟進行編輯。當其他 LibreOffice 元件需要按名稱引用資料來源時,註冊非常有用。然後按一下「完成」並將基礎文件儲存為.odb文件。

LibreOffice Base 儲存並繼續頁面,已選擇資料庫註冊並開啟編輯選項

圖註:精靈的最後一個頁面可以註冊 PostgreSQL 資料來源並開啟已儲存的 Base 文件進行編輯。

在此配置中,該.odb檔案並非 PostgreSQL 資料庫的副本。請將其視為 LibreOffice 端的資料庫文檔,其中包含連接定義和基礎物件。如果將該.odb檔案移至另一台計算機,則該計算機仍然需要網路連接、有效的憑證以及任何必需的驅動程式或憑證。

步驟五:確認預期表格可見

開啟已儲存的 Base 文件並選擇「表」。您應該會看到 PostgreSQL 角色被允許存取的物件。在範例中,預期表格可能包括 `<table>`、`<table>` customers、orders` products<table>` 和`<table> order_items`。

LibreOffice Base 表格視圖列出了客戶、訂單、產品、訂單項目和類別。

標題:基本表視圖是檢查已連接的 PostgreSQL 角色是否可以看到預期模式物件的第一個實際步驟。

如果連線成功但表缺失,這通常不再是網路問題。請檢查 PostgreSQL 角色的權限、模式可見度和模式搜尋路徑。在自行更改權限之前,請先詢問資料庫管理員該帳戶應該查看哪些模式和物件。

步驟 6:在建立表單或報表之前執行一個小型唯讀查詢

在創建更大的基礎解決方案之前,先對一個小表執行一個簡單的唯讀查詢。例如:

SELECT customer_id, full_name, city
FROM customers
ORDER BY full_name;
LibreOffice Base SQL 查詢編輯器顯示了一個 SELECT 語句和傳回的五個客戶行

標題:在 Base 中可以看到 PostgreSQL 表之後,一個簡單的 SELECT 查詢是有用的功能檢查。

這不僅驗證了初步連線測試,還檢查了 Base 是否能夠透過連線執行 SQL,角色是否能夠讀取目標對象,以及傳回的行是否可在 Base 查詢介面中使用。SELECT如果要驗證生產資料庫,請從語句開始。除非您的存取權限要求明確包含插入、更新或刪除真實記錄的操作,否則請勿透過這些操作進行測試。

步驟 7:當資料庫策略要求加密時配置 TLS

對於遠端資料庫或生產資料庫,請遵循組織機構的 TLS 要求,不要想當然地認為未加密的連線是可以接受的。 PostgreSQL 在伺服器啟用 SSL 後支援加密的用戶端/伺服器連接,管理員可以在設定中設定 SSL 相關的主機規則pg_hba.conf。權威的設定詳情請參閱 PostgreSQL 的SSL/TLS 文件。

LibreOffice 的 PostgreSQL 直接連接接受驅動程式特定的連接參數,但並非所有 PostgreSQL 連線參數都由 LibreOffice 驅動程式管理器處理。如果您需要憑證驗證、用戶端憑證或特定政策的 SSL 模式,請與資料庫管理員確認準確的連線字串,並參考您已安裝版本的 LibreOffice 文件。切勿隨意複製通用的 Internet 連接字串,以免造成安全隱患。

LibreOffice Base PostgreSQL 連線錯誤,提示主機缺少 pg_hba.conf 條目且 SSL 已關閉。

標題:提及 pg_hba.conf 和 SSL 狀態的驗證錯誤指向伺服器端連線策略,而不僅僅是基本文件名稱拼字錯誤。

步驟 8:僅在需要 Java 驅動程式路徑時才使用 JDBC

如果您的環境中無法直接連接 PostgreSQL,或管理員明確指定使用 JDBC,Base 可以透過 JDBC 驅動程式進行連線。這種方式需要額外的 Java 和驅動程式設置,因此最好將其視為一種可選方案,而不是每個 PostgreSQL 連接的必要條件。

請僅從pgJDBC 官方網站下載 PostgreSQL JDBC 驅動程式。 pgJDBC 文件指出,驅動程式 JAR 檔案必須位於 Java 類別路徑中。 LibreOffice 的 JDBC 可協助文件引導使用者在「工具」>「選項」>「LibreOffice」>「進階」>「類路徑」中新增驅動程式路徑,然後重新啟動 LibreOffice。

LibreOffice 進階選項顯示已啟用 Java,並且已將 PostgreSQL JDBC JAR 新增至類別路徑。

說明:JDBC 回退需要 Java 執行時間環境以及 LibreOffice 類別路徑上的 PostgreSQL JDBC JAR。

對於 PostgreSQL,pgJDBC 文件中URL的格式為`jdbc:postgresql://host:port/database <server_name> .jdbc:postgresql://db.example.internal:5432/sales_ops ...org.postgresql.Driver

快速故障排除表

症狀接下來最有用的檢查
連線被拒絕或逾時確認伺服器名稱、連接埠、防火牆路徑、PostgreSQL listen_addresses,以及伺服器是否正在監聽該介面。
no pg_hba.conf entry請管理員檢查符合的主機/資料庫/使用者規則,以及連線是否必須使用 SSL。
密碼驗證失敗驗證 PostgreSQL 角色和密碼;不要假設作業系統帳號名稱就是資料庫角色。
連接正常,但表格缺失檢查角色權限、模式可見性以及預期的模式/搜尋路徑。
無法載入 JDBC 驅動程式類確認 pgJDBC JAR 已新增至 LibreOffice 的類別路徑中,Java 已啟用,且 LibreOffice 已重新啟動。
在一台電腦上能用,在另一台電腦上就不行。比較 DNS/網路可達性、用戶端 IP 規則pg_hba.conf、憑證、本機 Java/JDBC 設定(如果使用)和已儲存的憑證。

一個成功的方案應該是什麼樣的

一個有用的成功標準不僅僅是「連接測試通過」。以 Northwind Field Services 為例,當 Base 文件能夠正常重新打開,帳戶analyst_ro只能看到預期的 PostgreSQL 對象,一個小的SELECT查詢能夠返回預期的行,並且連接滿足組織的加密和身份驗證要求時,設定才真正準備就緒。

如果基本查詢可以正常執行,但更複雜的 Base 表單或報表卻暴露出資料類型、效能或驅動程式方面的限制,那麼就不要再將此問題視為連線問題了。此時,請針對特定工作負載,比較直接使用 PostgreSQL 連接器和 JDBC 連接器,並測試真正重要的查詢或資料類型。連接方式應該服務於資料庫原則和您實際使用的 Base 功能,而不是成為最終目的。

留下評論

如何在 Microsoft Word 中移動圖片

如何在 Microsoft Word 中移動圖片

學習如何在 Word 中拖曳圖片、選擇文字環繞方式、將圖片與段落保持在一起或將其固定在頁面上,以及如何解決圖片無法移動的問題。

如何在 Excel 中插入複選框:兩種簡易方法

如何在 Excel 中插入複選框:兩種簡易方法

學習如何使用儲存格內工具在 Excel 中插入複選框,使用公式計算選取項目的數量,或在舊版桌面 Excel 中新增連結的表單控制項。

如何在 Excel 中自動填充字母:從 A 到 Z 及其他

如何在 Excel 中自動填充字母:從 A 到 Z 及其他

使用填充柄公式、SEQUENCE 或可重複使用的自訂清單在 Excel 中產生 A 到 Z、小寫字母或 Z 以上的標籤。

如何在 Excel 中新增刪除線:快捷鍵和逐步指南

如何在 Excel 中新增刪除線:快捷鍵和逐步指南

學習如何在 Windows、Mac 和網頁版 Excel 中新增刪除線、設定儲存格部分格式以及刪除線條而不刪除其值。

什麼是 Microsoft Access?它的資料庫工具是如何運作的?

什麼是 Microsoft Access?它的資料庫工具是如何運作的?

Microsoft Access 是一款 Windows 資料庫應用程序,用於儲存相關記錄、建立查詢、建立資料輸入表單和產生報表。了解它的工作原理以及適用場景。

如何在 Word 2010 中變更網格線高度和寬度

如何在 Word 2010 中變更網格線高度和寬度

了解如何在 Word 2010 中調整網格線高度和寬度、變更可見線頻率以及設定底層水平和垂直繪圖網格間距。

Office Outlook 2010 匯入和匯出:使用 PST 檔案移動數據

Office Outlook 2010 匯入和匯出:使用 PST 檔案移動數據

了解如何將 PST 檔案匯入 Outlook 2010 或匯出郵件、聯絡人、行事曆和任務。按照正確的選單操作,避免遺漏資料夾或重複文件。

使用 Nucleus Kernel 還原 Outlook PST 密碼

使用 Nucleus Kernel 還原 Outlook PST 密碼

使用 Kernel 的目前步驟還原忘記的 Outlook PST 密碼,包括如何識別正確的檔案、進行備份以及檢查工具的限制。

如何在 PowerPoint 幻燈片中插入網頁鏈接

如何在 PowerPoint 幻燈片中插入網頁鏈接

使用 LiveWeb 外掛程式將網站放置在 PowerPoint 投影片上,設定其大小和刷新行為,並在簡報前檢查相容性。

如何在 Word 2010 中變更預設字體和正文樣式

如何在 Word 2010 中變更預設字體和正文樣式

在 Word 2010 中設定預設字體、字號和文字效果,將選擇儲存到 Normal.dotm,然後修改 Normal 樣式以用於以後的文件。