【问题标题】:PostgreSQL 9.6.1 extensions with Visual Studio 2015带有 Visual Studio 2015 的 PostgreSQL 9.6.1 扩展
【发布时间】:2016-11-02 20:38:37
【问题描述】:

我正在尝试将 POWA 添加到我的 PostgreSQL 安装中。为此,我必须添加一个名为 pg_stat_statements 的扩展。由于我在 Windows 平台上,我必须创建此扩展的 DLL 并将其添加到 PostgreSQL 的 lib 文件夹中。我按照link 中的教程进行操作。它适用于使用 Visual Studio 2010 的 PostgreSQL 9.3。但我使用的是 PostgreSQL 9.6.1 和 Visual Studio 2015。

我确信我没有错过该教程中的任何步骤。我已将编译模式设置为 C 并包含源文件路径。但是当我尝试构建我的项目时,我遇到了很多编译错误。

为什么我在包含所有必要的源文件后仍然出现错误?当我包含 pg_stat_statements.c 文件时,我得到更多错误?

我不熟悉 C/C++ 编码。请帮我解决这个问题。

【问题讨论】:

  • 您的包含路径看起来像是指向 Postgres 源代码。您应该使用随服务器安装的包含,例如在C:\Program Files\PostgreSQL\9.6\include.
  • @NickBarnes 不,我指向的是我的 PostgreSQL 安装目录,而不是源代码
  • REL9_6_1 目录不是标准 Postgres 安装的一部分。 F:\PostgreSQL\9.6\include 存在吗?
  • @NickBarnes 我在编译和安装代码时添加了 REL9_6_1 目录。那是我的安装路径。这有什么问题?

标签: c visual-studio postgresql postgresql-extensions


【解决方案1】:

pg_stat_statements 捆绑在 PostgreSQL 中。不需要自己编译。


更新:用户从源代码编译了 PostgreSQL。在这种情况下,pg_stat_statementscontrib/ 的一部分,并与其余的 contrib 工具一起编译。

【讨论】:

  • 不,pg_stat_statements 没有捆绑在 PostgreSQL 中。我们必须执行创建扩展命令来添加这个扩展。仅凭这一点对窗户来说还不够。我们必须将DLL添加到PostgreSQL的lib文件夹中
  • @user3112250:如果您使用了Windows installer,那么pg_stat_statements.dll 应该已经存在
  • 对,您仍然需要CREATE EXTENSION pg_stat_statements,但 DLL 应该已经存在。如果不是,您可能正在使用一些不可靠的 PostgreSQL 重新分发。
  • @CraigRinger 我没有使用 Windows 安装程序。我下载了git形式的代码并自己编译。当我执行创建扩展时,我收到一条错误消息:无法访问文件“$libdir/pg_stat_statements”:没有这样的文件或目录
  • 无论如何我必须编译 powa.c 文件才能添加 powa。因此我想解决那些编译错误
猜你喜欢
  • 2020-02-17
  • 1970-01-01
  • 1970-01-01
  • 2017-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-17
相关资源
最近更新 更多