PostgreSQL无法加载库未知错误14001

时间:2021-11-19 10:40:43
CREATE FUNCTION uuid_generate_v1()
RETURNS uuid
AS '$libdir/uuid-ossp', 'uuid_generate_v1'
VOLATILE STRICT LANGUAGE C;

I get this error when I run this script. What does this error mean and how can I rectify it? Postgres user has full access to postgresql folder. I also tried to run it on a real Windows 2003 Server machine with the same result.

当我运行这个脚本时,会得到这个错误。这个错误是什么意思?我如何纠正它?Postgres用户可以完全访问postgresql文件夹。我还尝试在真正的Windows 2003服务器上运行它,得到了相同的结果。

library resides in 'C:\PostgreSQL\9.1\lib\uuid-ossp.dll'

图书馆位于C:\ PostgreSQL \ 9.1 \ lib \ uuid-ossp.dll '

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

postgresql-9.1.2-1,视窗xp SP3(VirtualBox)。

3 个解决方案

#1


3  

Thank God the problem has solved.

谢天谢地,问题解决了。

Uuid-ossp from postgres 9.2 requires MSVCRT.DLL v7.0.2600.5512. It needs to install Microsoft Visual C++ 2008 Redistributable Package after that in Windows\WinSxS should be manifests and policies for this library with names like x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375. After that uuid-ossp library loads correctly. Whereas postgresql installs Microsoft Visual C++ 2010 Redistributable Package which doesn't contain this library.

来自postgres 9.2的Uuid-ossp需要MSVCRT。DLL v7.0.2600.5512。在Windows\WinSxS中,需要安装Microsoft Visual c++ 2008再分发包,并使用x86_microsoft.vc90.crt_1fc8b3b9a1e3b_9.0.21022.8_x -ww_d08d0375这样的名称来显示和策略。在uid-ossp库加载正确之后。而postgresql安装Microsoft Visual c++ 2010可再分发包,它不包含这个库。

It is necessary to set write permissions on postgresql folder for group 'users' for correct work of postgresql service in some Windows XP systems.

在某些Windows XP系统中,必须为“用户”设置postgresql文件夹上的写权限,以确保postgresql服务的正确工作。

Sorry for my English.

对不起,我的英语。

External links: Side-by-side screwup, Dependency Walker

外部链接:并排搞砸,依赖搜索

#2


1  

Having encountered this problem with postgresql-9.0.6, we solved it by recompiling uuid-ossp extension from the official postgresql distribution using a patched uuid library from here (I suppose you should build this library by yourself too).

在遇到postgresql-9.0.6这个问题之后,我们通过使用一个经过补丁的uuid库从官方postgresql发行版重新编译uid-ossp扩展(我认为您也应该自己构建这个库)来解决这个问题。

It should be noted that this has been performed on genuine Windows, while pirated versions do not have this problem.

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

#3


1  

Had the same problem today, installing a .NET 4 based application both on a Windows XP SP3 and Windows 2003 Standard. On another Windows XP SP3 I had no issues. So I thought that the problem was about configuration. I found that the working machine had .NET 1.x, 2.0, 3.0, 3.5 and 4 installed. The not-working machines had only 1.x and 4, instead.

今天也遇到了同样的问题,在Windows XP SP3和Windows 2003标准上都安装了基于。net 4的应用程序。在另一个Windows XP SP3上,我没有任何问题。所以我认为问题是关于构型的。我发现工作机器有。net 1。安装了x, 2.0, 3.0, 3.5和4。不工作的机器只有1台。相反,x和4。

Installed .Net 3.5 (that, as Microsoft says, contains updates for both 2.0 and 3.0) and it worked, without touching the Postgres install!

安装了。net 3.5(正如微软所说,它同时包含了2.0和3.0的更新),并且运行良好,而没有安装Postgres !

I'm curious to try to install it on a VM (I had the same problem, in the past, but I thought it was something involved with the VM itself...), I'll do as soon as I get some spare time.

我很想把它安装到一个VM上(我以前也遇到过同样的问题,但是我认为它与VM本身有关…),我一有空就会去做。

#1


3  

Thank God the problem has solved.

谢天谢地,问题解决了。

Uuid-ossp from postgres 9.2 requires MSVCRT.DLL v7.0.2600.5512. It needs to install Microsoft Visual C++ 2008 Redistributable Package after that in Windows\WinSxS should be manifests and policies for this library with names like x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375. After that uuid-ossp library loads correctly. Whereas postgresql installs Microsoft Visual C++ 2010 Redistributable Package which doesn't contain this library.

来自postgres 9.2的Uuid-ossp需要MSVCRT。DLL v7.0.2600.5512。在Windows\WinSxS中,需要安装Microsoft Visual c++ 2008再分发包,并使用x86_microsoft.vc90.crt_1fc8b3b9a1e3b_9.0.21022.8_x -ww_d08d0375这样的名称来显示和策略。在uid-ossp库加载正确之后。而postgresql安装Microsoft Visual c++ 2010可再分发包,它不包含这个库。

It is necessary to set write permissions on postgresql folder for group 'users' for correct work of postgresql service in some Windows XP systems.

在某些Windows XP系统中,必须为“用户”设置postgresql文件夹上的写权限,以确保postgresql服务的正确工作。

Sorry for my English.

对不起,我的英语。

External links: Side-by-side screwup, Dependency Walker

外部链接:并排搞砸,依赖搜索

#2


1  

Having encountered this problem with postgresql-9.0.6, we solved it by recompiling uuid-ossp extension from the official postgresql distribution using a patched uuid library from here (I suppose you should build this library by yourself too).

在遇到postgresql-9.0.6这个问题之后,我们通过使用一个经过补丁的uuid库从官方postgresql发行版重新编译uid-ossp扩展(我认为您也应该自己构建这个库)来解决这个问题。

It should be noted that this has been performed on genuine Windows, while pirated versions do not have this problem.

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

#3


1  

Had the same problem today, installing a .NET 4 based application both on a Windows XP SP3 and Windows 2003 Standard. On another Windows XP SP3 I had no issues. So I thought that the problem was about configuration. I found that the working machine had .NET 1.x, 2.0, 3.0, 3.5 and 4 installed. The not-working machines had only 1.x and 4, instead.

今天也遇到了同样的问题,在Windows XP SP3和Windows 2003标准上都安装了基于。net 4的应用程序。在另一个Windows XP SP3上,我没有任何问题。所以我认为问题是关于构型的。我发现工作机器有。net 1。安装了x, 2.0, 3.0, 3.5和4。不工作的机器只有1台。相反,x和4。

Installed .Net 3.5 (that, as Microsoft says, contains updates for both 2.0 and 3.0) and it worked, without touching the Postgres install!

安装了。net 3.5(正如微软所说,它同时包含了2.0和3.0的更新),并且运行良好,而没有安装Postgres !

I'm curious to try to install it on a VM (I had the same problem, in the past, but I thought it was something involved with the VM itself...), I'll do as soon as I get some spare time.

我很想把它安装到一个VM上(我以前也遇到过同样的问题,但是我认为它与VM本身有关…),我一有空就会去做。