錯誤:無法載入函式庫“/usr/lib64/pgsql/hstore.so”:/lib64/libc.so.6:找不到版本“GLIBC_2.14”

錯誤:無法載入函式庫“/usr/lib64/pgsql/hstore.so”:/lib64/libc.so.6:找不到版本“GLIBC_2.14”

我正在嘗試在 Amazon Linux AMI 上運行的 PostgreSQL 資料庫上啟用 hstore。我已經克服了很多障礙,最後遇到了這個我無法克服的錯誤:

ERROR:  could not load library "/usr/lib64/pgsql/hstore.so": /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/lib64/pgsql/hstore.so)

我跑去ldd --version獲取我的 GLIBC 版本,它回來了ldd (GNU libc) 2.17

我遇到的唯一解決方案建議

  1. Running yum update,這沒有多大意義,因為我的系統似乎正在運行比所需版本更新的版本。

  2. 根據您系統上的版本重新編譯程序glibc,我不太明白。我需要重新編譯什麼程式? PostgreSQL?

這幾天來一直讓我發瘋,我已經陷入了困境。任何幫助是極大的讚賞!

答案1

錯誤是在hstore共享庫,因此它可能是唯一需要使用您的 GLIBC 版本進行編譯的庫。你的postgres套件中包含的顯然是用2.14版本編譯的,而你的是2.17版本。

通常hstore應該對更高級別的版本感到滿意,但它所做的檢查顯然是“等於2.14”而不是“大於或等於2.14”。

文章PostgreSQL 功能亮點:hstore描述如何hstore從原始碼安裝該庫:

下載原始程式碼並安裝核心後,執行以下命令。

cd $PG_SOURCE_ROOT
cd contrib/hstore
make install

此時所有與hstore相關的程式庫和檔案都安裝在$INSTALL_FOLDER/share/extension中。

$ ls $INSTALL_FOLDER/share/extension
hstore--1.0--1.1.sql  hstore--1.1.sql  hstore--unpackaged--1.0.sql  hstore.control

然後連接到您的 Postgres 伺服器並使用 CREATE EXTENSION 命令完成 hstore 安裝。

postgres=# CREATE EXTENSION hstore;
CREATE EXTENSION
postgres=# \dx hstore
                         List of installed extensions
   Name  | Version | Schema |                   Description                    
--------+---------+--------+--------------------------------------------------
 hstore | 1.1     | public | data type for storing sets of (key, value) pairs
(1 row)

使用 psql 用戶端,「\dx」允許檢查伺服器上已安裝的擴充功能清單。

答案2

我在 Manjaro Linux(Arch 的一個分支)上運行,將 Postgres 從版本 10 升級到 11 後,我得到了這個。

(這條路對我來說略有不同。我得到:could not load library "/usr/lib/postgresql/hstore.so"。)

我跟著arch wiki 有關升級 postgres 的說明,並立即啟動並運行。

答案3

取得較新的 hstore。或嘗試找到一個 compat-glibc 包進行黏合。

相關內容