iDempiere ERP 是使用 PostgreSQL 資料庫來做為儲存資料用。

如果是預設安裝的 PostgreSQL ,連線採 UNIX Sockets 的方式,等於說對該主機外的連線都是封閉的,相對安全。

但卡在如果有要遠端連線操作或是避開終端機指令模式操作的話,就要處理一下這塊權限問題。

純粹是希望有介面來使用資料庫的話,我個人是使用 phpPgAdmin ,本身伺服器預設就是常用的 PHP 網站環境,把 PHP 與 PostgreSQL 連線的 extension pgsql 安裝上後使用這套工具就很方便。

若是希望本機端能夠透過 IP 位置與帳號密碼來連線的話,就要去改一下資料庫設定。

網路上比較多的教學都是兩個步驟,先把 PostgreSQL 監聽的位置改成「*」,但我在 10 這版中測試預設都不用設定且一樣是以 localhost 為主,然後是修改 /etc/postgresql/10/main/pg_hba.conf 檔案來進行設定連線規則。(10為安裝的 PostgreSQL 版本號,為變動的目錄)

pg_hba.conf 這檔案中記載著連線方式的資訊,也不難懂。

pg_hba.conf 資訊

主要設定就六個參數一行:

  1. 決定連線的方式(對外開放使用 host

    "local" is a Unix-domain socket, "host" is either a plain or SSL-encrypted TCP/IP socket, "hostssl" is an SSL-encrypted TCP/IP socket, and "hostnossl" is a plain TCP/IP socket.

  2. 指定資料庫(沒要指定、全開放就是 all

  3. 指定使用者(沒要指定、全開放就是 all

  4. 接受連線的位置,使用 IP 網段寫法註記(0.0.0.0/0

  5. 連線驗證方式(帳號密碼做法設定為 md5

    METHOD can be "trust", "reject", "md5", "password", "scram-sha-256", "gss", "sspi", "ident", "peer", "pam", "ldap", "radius" or "cert". Note that "password" sends passwords in clear text; "md5" or "scram-sha-256" are preferred since they send encrypted passwords.

  6. 其他設定選項的欄位(毋須填寫)

設定好後輸入指令: service postgresql restart ,重新啟動資料庫。

然後開啟桌面版本的連線工具測試看看吧!

PS: 如果你是在 Mac OS 或 Windows 作業系統下安裝 pgAdmin 工具來連線的話,應該都是使用包裝成 Web App 的版本。 尤其在 Mac 下開啟了後還真找不到地方離開,需要使用終端機 kill 掉行程,搜尋指令為 ps aux | grep 'pgAdmin' ,找到正在執行的程序編號下指令 kill 程序編號 關閉。

Facebook 外掛功能


Share:

作者: Chun

資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[//////////____30%_________]