로컬 컴퓨터에서 dblink 확장 프로그램을 만들려고합니다.라이브러리 dblink, postgresql을로드 할 수 없습니다.
저는 PSQL 9.2.4를 사용하고 있습니다. 나는 make를 실행하고 postgres를 설치하기 위해 설치를했다. contrib 폴더에 들어가서 make를 실행하고 dblink 디렉토리에 설치합니다.
dblink는 pg_available_extensions 테이블에 나열되어 있습니다.
그러나 CREATE EXTENSION을 실행하면 dblink; 데이터베이스에서 다음과 같은 오류가 발생합니다.
ERROR: could not load library "/usr/local/pgsql/lib/dblink.so": dlopen(/usr/local/pgsql/lib/dblink.so, 10): Symbol not found: _MemoryContextSwitchTo
Referenced from: /usr/local/pgsql/lib/dblink.so
Expected in: /usr/local/pgsql/bin/postgres
in /usr/local/pgsql/lib/dblink.so
잘 모르겠습니다. 나는 이것에 아주 새롭다. 감사.
솔루션은 그래서 난 내 컴퓨터에 포스트 그레스의 두 가지 버전이 있고 그들은 충돌했다. 내가 버전 중 하나를 제거하지만 simplying 디렉토리를 삭제. 모두 잘 맞습니다.
외장으로 설치 한 것과 다른 PostgreSQL에 대해 컴파일되었습니다. 컴파일 할 때'USE_PGXS'를 사용했을 가능성이 있습니까? 다른 버전이 설치되어 있다면 그렇게 할 수 있습니다. –
솔루션을 답변으로 게시 한 다음 받아 들여야합니다. :) – carols10cents