Postgre中FDW能做什么?

2022-08-17 12:32:32 浏览数 (1)

什么是FDW?

  • FDW是外部数据包装器,早在2003年SQL标准中添加一个访问远程数据的规范,这个称为SQL外部数据管理。PostgreSQL从9.1版本已经开发出了FDW.在PostgreSQL中配置安装后,就可以访问远程服务器上的外部表了,比如有2个远程服务器(1个Postgres和1个Mysql),FDW可以做到Postgres上访问远程Mysql上的表数据.
  • 目前Postgres官方维护了postgres_fdwfile_fdw,这些fdw的扩展位于postgres源码目录的contrib中.
  • 基于PG有这个功能,如果想要数据融合,很容易在PG上实现,只要开发对应的FDW功能即可。
fdw执行流程
  • 词法分析器为输入的SQL语句创建查询树
  • SQL的执行器通过网络连接到源端的数据库服务器
  • 如果启用了use_remote_estimate选项,执行器会执行explain命令评估执行计划
  • 执行器根据最优的执行计划,重新创建SQL语句
  • 执行器通过网络把新的SQL语句发送到远程数据库服务器执行,最终接受执行结果。
FDW使用介绍
  • postgres_fdw是不支持死锁检测,因此如使用不当很容易产生死锁。
  • PG的FDW可以根据业务开发各种FDW把数据进行融合,比如数据迁移、异构DBMS之间的联动,是一个做数据整个的非常棒的功能

0 人点赞