PostgreSQL无法加载库未知错误14001

时间:2012-01-09 12:48:40

标签: sql database postgresql postgresql-9.1

CREATE FUNCTION uuid_generate_v1()
RETURNS uuid
AS '$libdir/uuid-ossp', 'uuid_generate_v1'
VOLATILE STRICT LANGUAGE C;

运行此脚本时出现此错误。 这个错误意味着什么,我该如何纠正它? Postgres用户可以完全访问postgresql文件夹。 我还试图在真正的Windows 2003 Server机器上运行它,结果相同。

库位于'C:\ PostgreSQL \ 9.1 \ lib \ uuid-ossp.dll'

postgresql-9.1.2-1,WindowsXP SP3(VirtualBox)。

3 个答案:

答案 0 :(得分:3)

感谢上帝,问题已经解决了。

来自postgres 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。

有必要在postgresql文件夹中为组'用户'设置写权限,以便在某些Windows XP系统中正确使用postgresql服务。

抱歉我的英文。

外部链接: Side-by-side screwupDependency Walker

答案 1 :(得分:1)

遇到postgresql-9.0.6的这个问题,我们通过使用来自here的修补uuid库从官方postgresql发行版重新编译uuid-ossp扩展来解决它(我想你也应该自己构建这个库) )。

应该注意的是,这是在正版Windows上执行的,而盗版版本没有这个问题。

答案 2 :(得分: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(正如微软所说,包含2.0和3.0的更新)并且无需触及Postgres安装即可使用!

我很想尝试在VM上安装它(过去我遇到了同样的问题,但我认为这与VM本身有关...),我会尽快做到的得到一些空余时间。