【发布时间】:2013-09-21 11:59:50
【问题描述】:
错误:函数 dblink_connect_u(text, text) 不存在 第 3 行:来自 dblink_connect_u(cast(varchar 'dbname=test_db... ^ 提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。
亲爱的,
执行我的 shell 脚本以使用 dblink 从一个数据库连接到不同服务器中的另一个数据库时出现错误。上面显示了我遇到的错误。顺便说一句,我已经检查了我在 linux 服务器中的共享目录,我有以下功能: /usr/share/postgresql/8.4/contrib/dblink.sql
但是,我怎么还是遇到了上面的错误呢?
下面是我的shell脚本代码:
echo "Start insert records..."
psql cr032 <<THE_END
select t1.*
into test_table
from dblink_connect_u(cast(varchar 'dbname=TEST_DB port=5432 host=10.0.0.10 user=test password=123456' as text),
cast(varchar 'select applicationid, appname, appversion, apppath, appdatetime, description, systemtype from test_table' as text))
as t1(applicationid varchar(36), appname varchar(100), appversion varchar(20), apppath varchar(200), appdatetime timestamp, description text, systemtype smallint);
THE_END
echo "End insert records!"
请提供帮助,我们非常感谢您的帮助!
【问题讨论】:
-
您似乎遗漏了一些代码。调用 db_connect_u 的行实际上是什么样的?
-
啊,没关系,您似乎遇到了隐藏代码的格式问题。我修好了它。待批准
标签: sql postgresql shell