LoadLibrary
通常、このエラー メッセージは、Windows API呼び出しによって生成される誤解を招くものです。それが実際に意味することは、次のようなものです。
読み込み中のエラー: 依存関係の DLLがplpython2.dll
見つかりませんpython27.dll
PATH
plpython2.dll
しかし代わりに、Windows はロードできなかったのは自分自身であるかのように振る舞います。
これが問題かどうかはlib
、PostgreSQL インストールのディレクトリでplpython2.dll
. そこにあるのにこのエラーが発生する場合は、Python ランタイムが不足しています。plpython2.dll
まったくない場合は、PostgreSQL のインストールに plpython2 がありません。これは、私がパッケージング チームで提起しているものです。
あるのに読み込まれない場合plpython2.dll
は、PostgreSQL のバージョンに一致する Python ランタイムをインストールする必要があります。PostgreSQL のコンパイルに使用されたものと同じ Python メジャー バージョンである必要があります。たとえば、PostgreSQL のコンパイルに Python 2.7 が使用された場合、Python 2.6 では plpython を実行できません。
必要なランタイムのインストールがインストーラーによって自動化されていればいいのですが、現時点ではそうではありません。また、適切に文書化されていません。これについては、パッケージング チームに相談します。インストールする正しいランタイムは、インストール ディレクトリ内に文書化されています。このディレクトリには、[スタート] メニューの[PostgresSQL 9.3] -> [ドキュメント] -> [インストール ノートdoc\installation-notes.html
]からもアクセスできます。 .
「インストール ノート」ファイルにこの情報がない古いリリースの場合、必要な Python のバージョンがわからない場合は、depends.exe
(依存関係ウォーカー)を使用して、どの Python DLL にリンクされているかを確認できます。同じアーキテクチャの Python も必要です。64 ビットの PostgreSQL をインストールする場合は、64 ビットの Python などが必要です。
PostgreSQL 9.3 パッケージには Python 27 が必要です。したがって、 http://python.org/から Python 2.7 をダウンロードしてください (ActiveState ではなく、必ずしも互換性があるとは限りません)。インストーラーによってPython が に追加されていることを確認しPATH
ます (インストーラーを実行するときのオプションです)。その後、PostgreSQL を再起動してから再試行してください。
次の方法で Python のインストールを自動化できます。
start /wait msiexec /i python-2.7.3.amd64.msi /qb /passive TARGETDIR=%SystemDrive%\Python27_x64 ALLUSERS=1
はpython-2.7.3.amd64.msi
、インストールした Python バイナリのファイル名で、64 ビット バージョンを にインストールしていますC:\Python27_x64
。必要に応じて調整します。