【问题标题】:dblink.sql is not present after postgresql-contrib installpostgresql-contrib 安装后 dblink.sql 不存在
【发布时间】:2012-08-22 07:36:58
【问题描述】:

在我在我的两个 Postgres 数据库上执行 dblink.sql 后不久,我就能够成功地将 postgresql-contrib 安装到我的一台服务器上。安装 postgresql-contrib 后,我在以下位置找到了 dblink.sql:

/usr/share/pgsql/contrib/dblink.sql

现在,我正在尝试在另一台服务器上做同样的事情。然而,在安装 postgresql-contrib 之后,我找不到任何 db.sql 实例。两台服务器都运行 CentOS 6.2 和 PostgreSQL 9.1,尽管第二台服务器上的 PostgreSQL 安装位于另一个目录中:

PGENGINE=/usr/pgsql-9.1/bin
PGPORT=5432
PGDATA=/var/lib/pgsql/9.1/data
PGLOG=/var/lib/pgsql/9.1/pgstartup.log

当我执行“定位 dblink”时,我收到以下信息:

[root@dev-postgres dblink]# locate dblink
/usr/lib/debug/usr/pgsql-9.1/lib/dblink.so.debug
/usr/pgsql-9.1/share/man/man3/dblink.3
/usr/pgsql-9.1/share/man/man3/dblink_build_sql_delete.3
/usr/pgsql-9.1/share/man/man3/dblink_build_sql_insert.3
/usr/pgsql-9.1/share/man/man3/dblink_build_sql_update.3
/usr/pgsql-9.1/share/man/man3/dblink_cancel_query.3
/usr/pgsql-9.1/share/man/man3/dblink_close.3
/usr/pgsql-9.1/share/man/man3/dblink_connect.3
/usr/pgsql-9.1/share/man/man3/dblink_connect_u.3
/usr/pgsql-9.1/share/man/man3/dblink_disconnect.3
/usr/pgsql-9.1/share/man/man3/dblink_error_message.3
/usr/pgsql-9.1/share/man/man3/dblink_exec.3
/usr/pgsql-9.1/share/man/man3/dblink_fetch.3
/usr/pgsql-9.1/share/man/man3/dblink_get_connections.3
/usr/pgsql-9.1/share/man/man3/dblink_get_notify.3
/usr/pgsql-9.1/share/man/man3/dblink_get_pkey.3
/usr/pgsql-9.1/share/man/man3/dblink_get_result.3
/usr/pgsql-9.1/share/man/man3/dblink_is_busy.3
/usr/pgsql-9.1/share/man/man3/dblink_open.3
/usr/pgsql-9.1/share/man/man3/dblink_send_query.3
/usr/src/debug/postgresql-9.1.4/contrib/dblink
/usr/src/debug/postgresql-9.1.4/contrib/dblink/dblink.c

...没有 dblink.sql。有谁知道我可以在这里做什么?我是否必须以某种方式构建 sql 文件?如果是这样,你知道我该怎么做吗?

谢谢!

【问题讨论】:

    标签: linux postgresql centos


    【解决方案1】:

    【讨论】:

    • 我在 /usr/pgsql-9.1/share/extension 中有 dblink--1.0.sql、dblink--unpackaged--1.0.sql 和 dblink.control - 这只是意味着我需要运行 CREATE EXTENSION dblink;在我的数据库上?我需要以某种方式将其指向那条路径吗?
    • 只需按照手册中的说明尝试 CREATE EXTENSION。它应该知道要运行哪些脚本。
    • 太好了,没有任何问题。感谢您的帮助!
    【解决方案2】:

    请注意,在 9.1 中向扩展系统的转变是一个非常需要的更改,但是对于实际上试图在依赖 contrib 模块的同时支持多个版本的 PostgreSQL 的人来说,这让很多人感到头疼。我们在 LedgerSMB 1.3 上为此苦苦挣扎了几个月。

    软件的主要版本之间可能会发生很多变化。我强烈建议在更新或假设一切都相同之前仔细遵循主要版本中的发行说明。这些是长而复杂的文档,但它们应该让您了解您将在哪里遇到问题以及您需要在哪里进一步检查新文档。如果您首先测试部署(总是一个好主意!),它还会让您更好地了解在哪里花费额外的精力进行测试。

    【讨论】:

      猜你喜欢
      • 2015-06-19
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多