postgresql-contrib安装后不存在dblink.sql

时间:2012-08-27 19:31:03

标签: linux postgresql centos

我能够成功地将postgresql-contrib安装到我的一台服务器上,并且在我将dblink.sql执行到我的两个Postgres数据库后不久。安装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文件?如果是这样,你知道我怎么做吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

它应该捆绑为9.1

中的扩展名

http://www.postgresql.org/docs/current/static/contrib.html

答案 1 :(得分:1)

正如需要注意的那样,转向9.1中的扩展系统是一项非常需要的改变,但是对于许多人来说,实际上在依赖contrib模块的同时尝试支持多个版本的PostgreSQL会引起很多麻烦。我们已经在LedgerSMB 1.3上挣扎了几个月。

很多东西可以在软件的主要版本之间改变。我强烈建议您在更新之前仔细阅读主要版本 中的发行说明,或者只是假设所有内容都相同。这些是漫长而复杂的文档,但是它们应该让您知道在哪里遇到问题以及需要进一步检查新文档的位置。如果您首先测试部署(总是一个好主意!),它还可以让您更好地了解在哪里花费额外的精力进行测试。