2012-01-09 1 views
3
CREATE FUNCTION uuid_generate_v1() 
RETURNS uuid 
AS '$libdir/uuid-ossp', 'uuid_generate_v1' 
VOLATILE STRICT LANGUAGE C; 

이 스크립트를 실행하면이 오류가 발생합니다. 이 오류는 무엇을 의미하며 어떻게 해결할 수 있습니까? Postgres 사용자는 postgresql 폴더에 대한 모든 권한을가집니다. 동일한 결과를 가진 실제 Windows 2003 Server 컴퓨터에서도 실행하려고했습니다.PostgreSQL에서 라이브러리 알 수없는 오류를로드하지 못했습니다. 14001

라이브러리에있는 'C : \ PostgreSQL의 \ 9.1 \ lib 디렉토리의 \의 UUID-ossp.dll'PostgreSQL을-9.1.2-1

, 지금 WindowsXP SP3 (VirtualBox를).

+0

당신이 UUID-ossp.dll (설치의 lib 디렉토리 하위 디렉토리에 있어야합니다)이 있습니까? – filiprem

+1

그 windows 특정 문제, 어떤 사람들은 말 : 제거, 모든 postgres 파일을 제거, postgres 계정을 제거하고 다시 설치 – filiprem

답변

3

하나님이 문제를 해결해 주셔서 감사합니다.

postgres 9.2의 Uuid-ossp에는 MSVCRT.DLL v7.0.2600.5512가 필요합니다. Microsoft Visual C++ 2008 재배포 가능 패키지를 Windows \ WinSxS에 설치 한 후에 x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375와 같은 이름의이 라이브러리에 대한 매니페스트 및 정책을 설치해야합니다. 그 후 uuid-ossp 라이브러리가 올바르게로드됩니다. postgresql은이 라이브러리를 포함하지 않는 Microsoft Visual C++ 2010 재배포 가능 패키지를 설치합니다.

일부 Windows XP 시스템에서는 올바른 postgresql 서비스 작업을 위해 그룹 'users'에 대해 postgresql 폴더에 대한 쓰기 권한을 설정해야합니다.

영어로 죄송합니다.

외부 링크 : Side-by-side screwup, Dependency Walker

1

postgresql-9.0.6에서이 문제가 발생하여 우리는 here에서 패치 된 uuid 라이브러리를 사용하여 공식 postgresql 배포판에서 uuid-ossp 확장을 다시 컴파일하여 해결했습니다.이 라이브러리는 직접 빌드해야한다고 생각합니다.

정품 Windows에서이 작업이 수행되었지만 불법 복제 된 버전에는이 문제가 발생하지 않습니다.

1

Windows XP SP3 및 Windows 2003 Standard에 .NET 4 기반 응용 프로그램을 설치하면 같은 문제가 발생합니다. 다른 Windows XP SP3에는 문제가 없었습니다. 그래서 문제는 구성에 관한 것이라고 생각했습니다. 작업 기계에 .NET 1.x, 2.0, 3.0, 3.5 및 4가 설치되어있는 것으로 나타났습니다. 작동하지 않는 기계는 단지 1.x와 4만을 가지고있었습니다.

.Net 3.5 (Microsoft에서 말하는 바와 같이 2.0 및 3.0 용 업데이트가 포함되어 있음)가 설치되어 Postgres를 설치하지 않고도 작동했습니다!

VM에 설치하려고하는 것이 궁금합니다. (예전에 같은 문제가 있었지만 VM 자체와 관련이 있다고 생각했습니다 ...) 즉시 나는 여가 시간을 갖는다.

관련 문제