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)。
答案 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服务。
抱歉我的英文。
答案 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本身有关...),我会尽快做到的得到一些空余时间。