为了账号安全,请及时绑定邮箱和手机立即绑定

如何在PostgreSQL中使用(安装)dblink?

如何在PostgreSQL中使用(安装)dblink?

繁星淼淼 2019-12-03 16:50:33
我已经习惯了Oracle,并在我的模式中创建了dblink,然后访问了这样的远程数据库:mytable@myremotedb,无论如何,PostgreSQL都可以这样做吗?现在,我正在像这样使用dblink:SELECT logindate FROM dblink('host=dev.toto.com                              user=toto                              password=isok                              dbname=totofamily', 'SELECT logindate FROM loginlog');当我执行此命令时,出现以下错误:提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。有人有主意吗?使用它们之前,我们是否必须“激活” dblink或执行某些操作?在我们要查询的远程数据库上有什么事情要做吗?我们也必须激活dblink吗?我一直有一个could not establish connection。这是行的类型:SELECT dblink_connect_u('host=x.x.x.x dbname=mydb user=root port=5432');IP地址正确,并且Postgres正在远程服务器上运行。任何的想法?
查看完整描述

3 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

在PostgreSQL 9.1或更高版本中,简化了附加模块的安装。注册的扩展(包括dblink)可以通过以下方式安装CREATE EXTENSION:


CREATE EXTENSION dblink;

安装到默认架构中(public默认情况下)。search_path在运行命令之前,请确保已正确设置了您的设置,并且该模式对于所有需要使用该模式的用户都是可见的。


另外,您可以通过以下方式安装到您选择的任何模式:


CREATE EXTENSION dblink SCHEMA extensions;

看到:


在Postgres数据库的多个架构上安装hstore的最佳方法?

每个数据库运行一次。或在标准系统数据库中运行它,template1以将其自动添加到每个新创建的DB中。手册中的详细信息。


您需要首先在服务器上安装提供模块的文件。对于Debian及其衍生产品,显然是PostgreSQL 9.1 的软件包postgresql-contrib-9.1。


查看完整回答
反对 回复 2019-12-03
?
慕妹3242003

TA贡献1824条经验 获得超6个赞

在linux上,找到dblink.sql,然后在postgresql控制台中执行以下操作以创建所有必需的函数:


\i /usr/share/postgresql/8.4/contrib/dblink.sql 

您可能需要安装contrib软件包: sudo apt-get install postgresql-contrib


查看完整回答
反对 回复 2019-12-03
  • 3 回答
  • 0 关注
  • 3150 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信