Windows

PostgreSQL 伺服器安裝 - 找不到或訪問 dll

  • November 10, 2016

當我嘗試安裝 postgresql-9.0.4-1-windows.exe 時,在安裝結束時出現錯誤。“… libintl-8.dll 未找到…”

安裝 PostgreSQL 伺服器時出錯

(與此執行緒相同:http ://forums.enterprisedb.com/posts/list/2526.page 直接連結: http://forums.enterprisedb.com/posts/downloadAttach/147.page;jsessionid= 43B371483530826B5E7EE9151F79279C

我發現的有關此錯誤的所有內容都表明 Windows 使用者帳戶存在權限問題,但我是以管理員身份登錄的。我嘗試將 PostgreSQL 伺服器與數據目錄一起安裝在預設磁碟 (D:\Apps) 以外的另一個磁碟上。數據目錄已創建並且相關的 dll (libintl-8.dll) 存在。

後果是無法啟動 PostgreSQL Windows 服務。

我不是 Windows 專家,所以我的問題有兩個:

  • 管理員可以減少導致此錯誤的權限嗎?
  • 除了特權之外,這個錯誤還有其他原因嗎?

提前感謝您的任何見解

正如您從螢幕截圖中看到的,這是與initdb,exe相關的問題,它創建/初始化新的數據庫集群。由於 PostgreSQL 文件保持不變:

initdb 必須以擁有伺服器程序的使用者身份執行,因為伺服器需要有權訪問 initdb 創建的文件和目錄。由於伺服器不能以 root 身份執行,因此您也不能以 root 身份執行 initdb。(實際上它會拒絕這樣做。)

根據安裝程序的文件,您的 .log 文件中應該有install-postgresql.log日誌文件%TEMP%,因此您可以獲得更多資訊(另外還有--debuglevel安裝程序選項,執行--help以查看更多描述)。

如果您在安裝過程中遇到任何問題,請檢查在 Linux 或 Mac OS X 上的 /tmp 或 Windows 上的 %TEMP% 中創建的日誌文件。該文件將被稱為 install-postgresql.log。日誌文件可能包含您在安裝期間指定的超級使用者密碼,在與任何人共享日誌之前應將其替換。

您是否使用預設的 postgres 超級使用者/服務帳戶?我不知道這是否有幫助,但是您嘗試在(乾淨)安裝之前通過(使用具有管理員權限的 cmd)將其刪除:

net user postgres /del

引用自:https://serverfault.com/questions/280341