2012-01-09 18 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

のpostgresql-9.1.2-1、WindowsXPのSP3(VirtualBoxの):

ライブラリは、 '\ PostgreSQLの\ 9.1 \ libには\のUUID-ossp.dll C' に存在します。

+0

あなたはUUID-ossp.dll(インストールのlibサブディレクトリにする必要があります)しているのですか? – filiprem

+1

これはWindows固有の問題です。アンインストール、すべてのpostgresファイルの削除、postgresアカウントの削除、再インストール – filiprem

答えて

3

問題が解決しました。

postures 9.2のUuid-osspには、MSVCRT.DLL v7.0.2600.5512が必要です。 Microsoft Visual C++ 2008 Redistributable PackageをWindows \ WinSxSにインストールする必要があります。これは、x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375などの名前を持つこのライブラリのマニフェストとポリシーです。その後、uuid-osspライブラリが正しくロードされます。 postgresqlは、このライブラリを含まないMicrosoft Visual C++ 2010 Redistributable Packageをインストールします。

一部のWindows XPシステムでは、postgresqlサービスの正しい作業のためにグループ 'users'のpostgresqlフォルダへの書き込み権限を設定する必要があります。

私の英語のために申し訳ありません。

外部リンク: Side-by-side screwupDependency Walker

1

postgresql-9.0.6でこの問題が発生したので、公式のpostgresqlディストリビューションのuuid-ossp拡張を、hereからパッチを当てたuuidライブラリを使って再コンパイルして解決しました。

これは正規の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自体に関係するものだと思っていました...)、すぐにやります私は余裕を持っています。

関連する問題