当前位置: fuhua-pet->polardb > PolarDB for PostgreSQL:OSS 外表

PolarDB for PostgreSQL:OSS 外表

2024-12-19作者:firstyuding来源:www.firstyuding.com

关于 PolarDB PostgreSQL 版

PolarDB PostgreSQL 版是一款阿里云自主研发的云原生关系型数据库产品,100% 兼容 PostgreSQL,高度兼容Oracle语法;采用基于 Shared-Storage 的存储计算分离架构,具有极致弹性、毫秒级延迟、HTAP 、Ganos全空间数据处理能力和高可靠、高可用、弹性扩展等企业级数据库特性。同时,PolarDB PostgreSQL 版具有大规模并行计算能力,可以应对 OLTP 与 OLAP 混合负载。


功能介绍

Foreign Data Wrapper(FDW)是 PostgreSQL 提供的一个非常有意思的特性,中文翻译为 外部数据包装器。从字面意思上,PostgreSQL 数据库能够通过 FDW 扩展来操作当前数据库以外的数据。这些外部的数据源可以是:

文件

关系型数据库(PostgreSQL / Oracle / MySQL / ...)

非关系型数据库

Git 仓库

网页

大数据平台(Hadoop / Hive / ...)

...

oss_fdw 插件是 PolarDB for PostgreSQL 的一个外部数据包装器,能够将 阿里云对象存储 OSS (Object Storage Service) 上的数据与数据库中的外部表定义关联,使用户能够将数据库表的数据存放到 OSS 上的同时,而依旧能够通过标准 SQL 来读写这些数据。阿里云 OSS 是一款海量、安全、低成本、高可靠的云存储服务,提供最高可达 99.995% 的服务可用性,具备多种存储类型供选择,能够全面优化存储成本。数据库中的历史数据、只读归档数据、冷数据非常适合存放到 OSS 上,以节约数据库存储成本。


基本使用方法

开通阿里云 OSS 并创建 Bucket

请参考阿里云 OSS 的 产品文档。

安装插件

CREATE EXTENSION oss_fdw;

创建外部数据服务器

配置 OSS 连接信息,创建 PolarDB-PG 到 OSS Bucket 的映射。其中需要的参数包含:

host:阿里云 OSS 的访问域名 (EndPoint)

bucket:阿里云 OSS 的存储空间 (Bucket) 名称

id / key:阿里云账号 Access Key 的 ID 和 Secret

CREATE SERVER ossserver

FOREIGN DATA WRAPPER oss_fdw

OPTIONS (

host 'oss-cn-xxx.aliyuncs.com',

bucket 'mybucket',

id 'xxx',

key 'xxx'

);

将外部表映射到某个 OSS 目录

在 PolarDB-PG 中创建一个 OSS 外部表,映射到上一步配置的 OSS 外部数据源的某个目录下:

CREATE FOREIGN TABLE t1_oss (

id INT,

f FLOAT,

txt TEXT

)

SERVER ossserver

OPTIONS (dir 'archive/');

向 OSS 外部表中导入数据:

=> INSERT INTO t1_oss VALUES (generate_series(1,100), 0.1, 'hello');

NOTICE: begin writing data to oss location archive/, with block size 10 MB and oss file size 1024 MB

INSERT 0 100

此时,插入该表的数据已经写入到 OSS archive/ 路径下的文件中。使用如下方法可以查询该外部表:

=> EXPLAIN SELECTCOUNT(*) FROM t1_oss;

QUERY PLAN

-----------------------------------------------------------------

Aggregate (cost=6.54..6.54 rows=1 width=8)

-> Foreign Scan on t1_oss (cost=0.00..6.40 rows=54 width=0)

Directory on OSS: archive/

Number Of OSS file: 1

(4 rows)

=> SELECTCOUNT(*) FROM t1_oss;

NOTICE: a total of 1 files will be loaded, beginarchive/_t1_oss_741147075942690, endarchive/_t1_oss_741147075942690, compression: none

count

-------

100

(1row)

对该表进行 TRUNCATE,将会移除该外部表在 OSS 上的所有映射文件:

=> TRUNCATE t1_oss;

TRUNCATE TABLE

=> SELECT COUNT(*) FROM t1_oss;

WARNING: does not match any file in oss

count

-------

0

(1 row)

卸载插件

DROP EXTENSION oss_fdw;


使用限制

oss_fdw 外部表仅支持 SELECT、INSERT 和 TRUNCATE 操作,不支持 UPDATE 和 DELETE 操作。因此,只适用于 数据归档 场景:数据被写入 OSS 后,只会被读取,不再被更新。

PolarDB for PostgreSQL 11 全版本支持该插件;PolarDB for PostgreSQL 14 自 v14.5.3.0 (20221130) 起支持该插件。

  • 2024到2025年,国家对发展信创产业的支持有哪些方面
  • 2025年3月28日PostgreSQL认证纸质版证书!
  • 2025年3月28日李同学PGCP认证纸质证书
  • 2025年3月28日李同学PostgreSQL中级认证证书
  • 2025年3月28日乔同学PostgreSQL管理员中级认证
  • 2025年3月28日孙同学PGCP管理员中级认证
  • 2025年3月28日夏同学PostgreSQL认证纸质证书
  • 2025年3月28日徐同学PG管理员认证中级证书
  • 2025年3月28日徐同学PostgreSQL中级认证纸质证书
  • 2025年3月28日周同学PostgreSQL高级证书
  • PostgreSQL技术大讲堂 - 第82讲,主题:数据安全利器--密码安全策略构建
  • PostgreSQL技术大讲堂 - 第83讲,数据安全利器--密码安全策略构建二
  • PostgreSQL技术大讲堂 - 第84讲:重讲PostgreSQL流复制部署
  • PostgreSQL技术大讲堂 - 第85讲:重讲pg流复制管理利器repmgr应用实践
  • PostgreSQL技术大讲堂 - 第86讲:数据安全之--data_checksums天使与魔鬼
  • PostgreSQL考试认证中心收费标准
  • PostgreSQL与Oracle数据库相比有什么优势
  • 2025年3月28日杜同学PGCM高级认证证书
  • 官网查询,2025年3月份PostgreSQL认证电子版证书!
  • 去IOE为什么用PostgreSQL替代Oracle数据库
  • 信创产业选择PostgreSQL数据库为作突破口的原因
  • 中国PostgreSQL考试认证体系
  • PostgreSQL技术大讲堂 - 第87讲:重讲系统安全和数据库安全
  • PostgreSQL认证培训推荐机构
  • Oracle OCM证书有效期3年?这是个假消息
  • Oracle OCP证书有效期3年?与官方人员确认这是个假消息
  • 2025年4月中国数据库流行度排行榜:OceanBase超过PolarDB登顶
  • Apache Doris数据库
  • 2025年3月22日,CUUG张同学获得MySQL8.0认证证书
  • Linux下搭建本地deepseek(附文档下载)
  • 加新题了,MySQL 8.0 OCP 认证考试 题库更新
  • 2月22日,工信部人才交流中心 & CUUG - PGCP-PGCM认证考试完成!
  • 考OCP认证要交哪些费用
  • Oracle OCP认证没落了吗
  • openGauss数据库
  • PingCAP TiDB数据库
  • TDengine时序数据库
  • 阿里云AnalyticDB云原生数据仓库
  • 阿里云云原生数据库PolarDB
  • 奥星贝斯OceanBase数据库
  • 达梦数据库管理系统DM8
  • 电科金仓KingbaseES数据库管理系统
  • 华为GaussDB云数据库
  • 金篆信科GoldenDB数据库
  • 浪潮KaiwuDB数据库
  • 南大通用GBASE数据库
  • 腾讯云分布式数据库TDSQL
  • 羲和 (Halo) 数据库
  • 崖山 (YashanDB) 数据库
  • 亚信安慧AntDB数据库