【问题标题】:PostgreSQL could not load a library. Unknown error 14001PostgreSQL 无法加载库。未知错误 14001
【发布时间】:2012-01-09 12:48:39
【问题描述】:
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)。

【问题讨论】:

  • 你有 uuid-ossp.dll(应该在你安装的 lib 子目录中)吗?
  • 这是windows特有的问题,有人说:卸载,删除所有postgres文件,删除postgres帐户,然后重新安装

标签: sql database postgresql postgresql-9.1


【解决方案1】:

感谢上帝,问题解决了。

PostgreSQL 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安装目录应该有users组的写权限才能在Windows XP下正常工作

【讨论】:

    【解决方案2】:

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

    需要注意的是,这已经在正版Windows上进行过,而盗版则没有这个问题。

    【讨论】:

      【解决方案3】:

      今天遇到同样的问题,在 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 本身有关的问题......),我会尽快安装找点空闲时间。

      【讨论】:

        猜你喜欢
        • 2020-07-19
        • 2015-06-23
        • 2018-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-15
        • 1970-01-01
        • 2011-11-21
        相关资源
        最近更新 更多