在T-SQL中,有EXECUTE AT函数对链接服务器执行.有没有办法对Postgre中的链接服务器进行相同的调用? 如果我是正确的,那么就是这样的:
EXEC[链接服务器名称].[数据库]...
我试着在谷歌上搜索,但找不到合适的答案
在T-SQL中,有EXECUTE AT函数对链接服务器执行.有没有办法对Postgre中的链接服务器进行相同的调用? 如果我是正确的,那么就是这样的:
EXEC[链接服务器名称].[数据库]...
我试着在谷歌上搜索,但找不到合适的答案
在PostgreSQL中,您可以使用dblink
扩展名或通过设置外部数据包装器(FDW)对其他数据库或服务器执行远程查询.以下是如何实现这一点的方法:
Using the 100 Extension:
确保安装了dblink
分机.您可以使用以下命令进行安装:
CREATE EXTENSION dblink;
要在远程服务器上执行查询,可以使用dblink
个函数.下面是一个基本的例子:
SELECT *
FROM dblink('dbname=myremotedb host=myremotehost user=myuser password=mypassword', 'SELECT * FROM remote_table') AS t(id int, name text);
将myremotedb
、myremotehost
、myuser
、mypassword
和remote_table
替换为您特定的远程数据库信息和查询.
Using Foreign Data Wrappers (FDW):
PostgreSQL支持外部数据包装器(FDW),它允许您连接和查询远程数据库,就像它们是本地数据库一样.
首先,创建代表您的远程服务器的外部服务器:
CREATE SERVER myserver
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host 'myremotehost', dbname 'myremotedb');
接下来,为远程服务器上的用户创建用户映射:
CREATE USER MAPPING FOR local_user
SERVER myserver
OPTIONS (user 'remote_user', password 'remote_password');
创建表示远程表的外部表:
CREATE FOREIGN TABLE my_remote_table (
id int,
name text
)
SERVER myserver
OPTIONS (table_name 'remote_table');
现在,您可以像查询本地表一样查询远程表:
SELECT * FROM my_remote_table;
将myserver
、local_user
、remote_user
、remote_password
、myremotehost
、myremotedb
和remote_table
替换为您的特定详细信息.
这些方法允许您在PostgreSQL中执行远程查询,类似于在SQL Server中使用链接服务器时的T-SQL EXECUTE AT
函数.