PolarDB for PostgreSQL 开源必读手册-Foreign Data Wrappers(FDW)使用介绍(下)

本文涉及的产品
PolarDB Agent Express,2核4GB
云数据库 PolarDB MySQL 版,列存表分析加速 4核8GB
简介: PolarDB for PostgreSQL 开源必读手册

接上篇:https://developer.aliyun.com/article/1223103?spm=a2c6h.13148508.setting.16.44ec4f0eNvAByn

 

image.png

 

上图为FDW9.5之前做外部连接的流程,代价较大。

 

image.png

 

上图为FDW9.5后的外部链接流程,打开use_remote_estimate后,连接在远程完成,极大提高了查询性能。

 

image.png

 

在9.5版本之前,排序也需要从远程将数据传到本地,然后在本地做sort操作。

 

image.png

 

而9.5之后的版本中,排序操作被下推到远程服务器,排序完成后将结果返回至本地即可。

 

image.png

 

image.png

 

聚合操作同理。在10版本之后,本地不再做聚合,而是由远程服务器来完成。

综上,新版本的FDW性能得到了较大的提高。

 

部署演示

 

Postgres_FDW部署

 

image.png

 

首先,添加扩展,安装外界PolarDB扩展。创建server并为其命名,传入远程PolarDB名、服务端口以及要访问的数据库名,用于连接远程服务器。远程服务器上应配置好权限,即允许哪台客户端访问服务器。

 

image.png

 

通过\des命令可查看当前有哪些外部服务器以及对应的主机信息,如上图所示。

 

注意,因为PolarDB由很多数据库组成,在create FDW时,在哪个数据库上部署FDW,则FDW只能在该数据库上使用。

 

 

 

创建用户并为其授权,使其有权创建外部表,然后创建用户映射。

 

有了用户映射后,比如远程服务器是postgres用户,本地的scott用户也可对其进行访问,即能够以不同的用户来访问不同表的数据。

 

image.png

 

创建外部表,创建时后面需要跟上外部的服务器、schema以及远程表的名字。

image.png


通过\d查询,当前scott_pg用户下有dept_fdw和emp_fdw两个外部表,访问外部表与访问本地表没有任何区别。

 

 

可以通过\ds+emp_fdw查看该表,结果会显示它为外部表以及它的访问模式、远程服务器等信息。

 

File_FDW部署

 

image.png

 

首先,添加扩展,创建本地插件,创建基于本地FDW的server,将权限赋予相应的用户。

 

创建外部表。因为需要引用本地某文本文件里的数据,因此后面需指定file name即数据源路径,并指定格式为CSV,代表用逗号隔开列与列之间的数据。

 

image.png

 

创建成功后,查看该表。

 

/home/postgres/emp2.csv文件的产生有两种方式:

 

其一,如果是外部的文本文件,采集时将列与列之间用逗号隔开即可。

其二,如果是自己创建的外部表,通过上图语句将emp的内容进行复制即可。

 

image.png

 

最终,用户可以像访问内部表一样访问外部表,非常方便。此外,基于文件的外部表为只读,不能做DML操作。

 

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
8月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
8月前
|
存储 人工智能 关系型数据库
阿里云AnalyticDB for PostgreSQL 入选VLDB 2025:统一架构破局HTAP,Beam+Laser引擎赋能Data+AI融合新范式
在数据驱动与人工智能深度融合的时代,企业对数据仓库的需求早已超越“查得快”这一基础能力。面对传统数仓挑战,阿里云瑶池数据库AnalyticDB for PostgreSQL(简称ADB-PG)创新性地构建了统一架构下的Shared-Nothing与Shared-Storage双模融合体系,并自主研发Beam混合存储引擎与Laser向量化执行引擎,全面解决HTAP场景下性能、弹性、成本与实时性的矛盾。 近日,相关研究成果发表于在英国伦敦召开的数据库领域顶级会议 VLDB 2025,标志着中国自研云数仓技术再次登上国际舞台。
989 1
|
人工智能 关系型数据库 分布式数据库
拥抱Data+AI|“全球第一”雅迪如何实现智能营销?DMS+PolarDB注入数据新活力
针对雅迪“云销通App”的需求与痛点,本文将介绍阿里云瑶池数据库DMS+PolarDB for AI提供的一站式Data+AI解决方案,助力销售人员高效用数,全面提升销售管理效率。
|
11月前
|
存储 关系型数据库 测试技术
拯救海量数据:PostgreSQL分区表性能优化实战手册(附压测对比)
本文深入解析PostgreSQL分区表的核心原理与优化策略,涵盖性能痛点、实战案例及压测对比。首先阐述分区表作为继承表+路由规则的逻辑封装,分析分区裁剪失效、全局索引膨胀和VACUUM堆积三大性能杀手,并通过电商订单表崩溃事件说明旧分区维护的重要性。接着提出四维设计法优化分区策略,包括时间范围分区黄金法则与自动化维护体系。同时对比局部索引与全局索引性能,展示后者在特定场景下的优势。进一步探讨并行查询优化、冷热数据分层存储及故障复盘,解决分区锁竞争问题。
1540 2
|
关系型数据库 分布式数据库 PolarDB
通过 PolarDB for PostgreSQL 实现一体化的 HTAP 能力
阿里云 PolarDB for PostgreSQL作为一款领先的云原生关系型数据库,利用向量化引擎+列存索引等技术实现了 OLTP 和 OLAP 的一体化。本方案为您展示如何通过 PolarDB for PostgreSQL 来实现一体化的 HTAP 能力。
通过 PolarDB for PostgreSQL 实现一体化的 HTAP 能力
|
人工智能 关系型数据库 分布式数据库
阿里云PolarDB重磅发布云原生与Data+AI新特性,打造智能时代数据引擎
阿里云PolarDB重磅发布云原生与Data+AI新特性,打造智能时代数据引擎
954 0
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
791 4
|
人工智能 自然语言处理 关系型数据库
阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成
近日,阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成。

热门文章

最新文章

相关产品

  • 云原生数据库 PolarDB
  • 推荐镜像

    更多