在 PostgreSQL 中跨服务器查询

问题描述 投票:0回答:1

PostgreSQL 可以跨服务器查询吗?例如,通过使用 INSERT INTO 查询将表数据从一台服务器的表插入到另一台服务器?如果是这样,查询是否大致如下所示: 插入[目标表] 选择 * FROM [源服务器].[源架构].[源表]

我尝试运行此查询,并收到以下错误“跨数据库引用未实现”

postgresql sql-insert
1个回答
0
投票

是的,使用

postgres_fdw
。文档中的示例:

CREATE EXTENSION postgres_fdw;
CREATE SERVER foreign_server
        FOREIGN DATA WRAPPER postgres_fdw
        OPTIONS (host '192.83.123.89', port '5432', dbname 'foreign_db');
CREATE USER MAPPING FOR local_user
        SERVER foreign_server
        OPTIONS (user 'foreign_user', password 'password');
CREATE FOREIGN TABLE foreign_table (
        id integer NOT NULL,
        data text
)
        SERVER foreign_server
        OPTIONS (schema_name 'some_schema', table_name 'some_table');

完成后,如果您

insert into foreign_table
,数据将被插入到另一个数据库上的表中,然后在您
select
时从中读取。

使用其他外部数据包装器

dblink
,您还可以对其他数据库甚至文件运行查询。

© www.soinside.com 2019 - 2024. All rights reserved.