오류: "/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것은 잘 이해가 되지 않습니다. 어떤 프로그램을 다시 컴파일해야 합니까? 포스트그레SQL?

이것은 며칠 동안 나를 미치게 만들었고 나는 구석에 빠졌습니다. 어떤 도움이라도 대단히 감사하겠습니다!

답변1

오류는 다음 위치에 있습니다.hstore공유 라이브러리이므로 아마도 GLIBC 버전으로 컴파일해야 하는 유일한 라이브러리일 것입니다. 귀하의 postgres 패키지에 포함된 것은 분명히 버전 2.14로 컴파일된 반면 귀하의 패키지는 2.17입니다.

일반적으로 hstore더 높은 수준의 버전에 만족해야 하지만, 검사는 "2.14 이상" 대신 "2.14와 동일"로 확인됩니다.

기사PostgreSQL 기능 하이라이트:hstorehstore소스 코드에서 라이브러리를 설치하는 방법을 설명합니다 .

소스 코드를 다운로드하고 코어를 설치한 후 다음 명령을 수행합니다.

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".)

나는 따라 갔다Postgres 업그레이드에 대한 Arch Wiki 지침, 그리고 즉시 실행되었습니다.

답변3

최신 hstore.so를 얻으십시오. 따라서 실행 중인 시스템에 비해 오래된 것입니다. 아니면 접착을 위한 compat-glibc 패키지를 찾아보세요.

관련 정보