PostgreSql foreign table 使用流程

3 阅读1分钟

foreign table可以实现对外部数据库的访问,使用foreign table需要引入FDW依赖,FDW是一种外部访问接口,可访问存储在外部的pg数据库、oracle、mysql等数据库,甚至包括文件。针对不同类型的数据库和数据类型,都有专门的fdw插件可供选择,如oracle_fdw用于访问oracle库,mysql_fdw用于访问mysql库等。这些插件可以直接安装或下载安装,从而让用户在PostgreSQL中能够使用SQL查询来访问和利用丰富的外部数据资源。

1.在本地数据库中安装 postgres_fdw 扩展

CREATE EXTENSION IF NOT EXISTS postgres_fdw;

2.定义远程 PostgreSQL 服务器的连接信息

CREATE SERVER remote_server
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (
    host '127.0.0.1', 
    port '5432', 
    dbname 'test'
);

3.创建用户映射

CREATE USER MAPPING FOR admin
SERVER remote_server
OPTIONS (
    user 'admin', 
    password '123456'
);

4.创建外部表

CREATE FOREIGN TABLE user_info (
    列1 数据类型,
    列2 数据类型,
    ...
)
SERVER remote_server
OPTIONS (
    schema_name 'test_schema', 
    table_name 'user_info'
);