2020年

本文介绍PolarDB PostgreSQL版(兼容Oracle)的产品功能动态,分别为内核小版本、控制台、时空数据库和API的更新说明。

说明
  • 您可通过如下语句查看PolarDB PostgreSQL版(兼容Oracle)的内核小版本的版本号:

    SHOW polardb_version;
  • PolarDB PostgreSQL版(兼容Oracle)内核小版本号于北京时间2025226日更新为6位格式,您可查看PolarDB内核小版本号格式更新确认变更细节以及内核小版本号更新前后对应关系。

202012

内核小版本(V1.1.7)

类别

名称

描述

相关文档

新增

分区表

新增Merge Partitions功能,用于合并两个分区表。

兼容Oracle风格解码

支持OracleBase64解码风格,可以让BASE64_DECODE函数自动识别错误格式的编码串,然后将编码串中有效的前半部分进行解码。

polar_enable_base64_decode

日期格式

支持插入或更新YYYYMMDDHH24MISS格式的日期。

SYS.***_TAB_COLS视图

新增SYS.***_TAB_COLS视图,用于查询表和视图中所有列的信息。

polar_utility插件

新增polar_utility插件。

polar_utility

存储过程

存储过程允许返回holdable refcursor。

DBMS_JOB

新增DBMS_JOB包,您可以通过高权限账号进行调用或跨库调度。

DBMS_JOB

优化

UTL_ENCODE

新建的普通用户支持使用UTL_ENCODE插件。

UTL_ENCODE

polar_agg插件

polar_agg插件的状态默认为开启。

fdw插件

增强fdw插件的稳定性。

缺陷修复

修复存储过程中使用SELECT INTO查询空值报错的问题。

修复执行ALTER TABLE… EXCHANGE PARTITION函数后,进行索引扫描导致约束失效的问题。

控制台

类别

名称

描述

相关文档

新增

DBLink

新增PolarDB PostgreSQL版(兼容Oracle)ECS自建PostgreSQLDBLink,实现从PolarDB PostgreSQL版(兼容Oracle)PostgreSQL的跨库数据互通。结合PostgreSQL中的DBLink,可以实现两种不同数据库之间的双向数据互通。

路径:集群详情页的配置与管理 > 数据库管理

dblink

创建PolarDB PostgreSQL版(兼容Oracle)到PostgreSQLDBLink

时空数据库(V3.2)

类别

名称

描述

相关文档

新增

ST_AsPNG

新增矢量金字塔返回图片格式(基于流形式)功能,用于矢量数据的快速图形化显示。

ST_AsPNG

栅格数据

新增栅格数据类型JPEG2000压缩算法,支持16bit栅格数据压缩存储。

优化

st_dwithin

优化st_dwithin距离查询,提升查询性能。

缺陷修复

修复轨迹数据类型时间相交错误问题。

修复Ganos内存拓扑索引的缺陷。

API

类别

名称

描述

优化

CreateDBLink

支持PolarDB PostgreSQL版(兼容Oracle)ECS自建PostgreSQLDBLink。

202011

内核小版本(V1.1.6)

类别

名称

描述

相关文档

新增

兼容性

兼容PostgreSQL 11.9版本。

什么是PolarDB PostgreSQL版(兼容Oracle)

主备切换

默认开启OnlinePromote功能,减少HA切换时间,提高集群可用性。

自动/手动主备切换

DBLink

支持通过DBLink链接另一个PolarDB PostgreSQL版(兼容Oracle)集群下的数据库。

DBLink概述

缺陷修复

修复部分场景下节点重启会出现卡顿的问题。

修复部分场景下内存溢出导致的集群崩溃的问题。

修复部分场景下只读节点崩溃的问题。

修复执行client_encoding=gbk命令时,UTF8编码格式转换为GBK时报错的问题。

修复NVL函数中第一个参数为空时报错的问题。

控制台

类别

名称

描述

相关文档

新增

DBLink

支持创建PolarDB PostgreSQL版(兼容Oracle)PolarDB PostgreSQL版(兼容Oracle)DBLink,实现从前者到后者的跨库数据访问,从而保证不同PolarDB PostgreSQL版(兼容Oracle)数据库之间的数据互通。

路径:集群详情页的配置与管理 > 数据库管理

dblink

DBLink概述

API

类别

名称

描述

新增

CreateDBLink

创建PolarDB PostgreSQL版(兼容Oracle)DBLink。

DescribeDBLinks

查询PolarDB PostgreSQL版(兼容Oracle)DBLink信息。

DeleteDBLink

删除PolarDB PostgreSQL版(兼容Oracle)DBLink。

202010

内核小版本(V1.1.5)

类别

名称

描述

相关文档

新增

审计日志

支持审计日志中由预编译型SQL语句打印出的日志为形式可执行的SQL语句。

HASH分区

新增指定数量创建HASH分区表语法。

CREATE TABLE ... PARTITION BY HASH

分区表

新增指定分区或者子分区名称查询指定分区的数据。

查询指定分区

HOST参数

支持HOST参数,用于获取客户端的HOST值。

优化

视图

优化polar_stat_activity视图,增加query_id字段。

兼容性

内核小版本升级到11.8,修复多个稳定性缺陷。

缺陷修复

修复半同步无法超时的问题。

修复CONNECT BY语句与WITH语句联用失败的问题。

时空数据库(V3.1)

类别

名称

描述

相关文档

新增

Trajectory数据类型

新增Gist索引支持索引轨迹类型,并提供六种不同维度的算子族以支持不同维度的分析需求。

新增时空外包框类型BoxND,可用于时空范围表示以及存储轨迹。

新增对应不同维度的相交(&&)、包含(@>)、被包含(<@)算子。

新增ST_ndIntersects、ST_ndDWithin、ST_ndContains、ST_ndWithin四类轨迹处理函数。

对轨迹类型提供统计信息收集功能,以及根据统计信息预估扫描代价功能。

提供新的索引方式TrajGist,提供更好的索引选择。

ganos_update函数

新增ganos_update函数,用select ganos_update() ;命令可以升级所有的Ganos插件到最新版本。

优化

时空范围查询

优化时空范围查询,GiST索引二阶段查询优化,提升查询性能。

矢量金字塔功能

支持任意SRID坐标的源数据,支持38574326两种瓦片输出。

新增pixelSize参数设置,对点数据进行聚合,减少瓦片的数量。

缺陷修复

修复某些情况下更新Ganos Raster失败问题。

修复Ganos二进制文件更新到新版本可能出现崩溃的问题。

修复用默认参数构建矢量金字塔点数据后,顶级瓦片数据量过大的问题。

20209

内核小版本(V1.1.4)

类别

名称

描述

相关文档

新增

GROUP_ID函数

新增GROUP_ID()函数。

GROUP_ID

分区表

支持在分区表上并发创建索引CREATE INDEX CONCURRENTLY。

表索引改为不可见

支持将普通表的索引修改为不可见ALTER INDEX [NAME] INVISIBLE。

ali_decoding插件

支持ali_decoding插件,用于数据库间增量同步DML语句。

pg_cron插件

支持pg_cron插件的定时任务记录查询功能。

PG_CRON

to_char()

支持to_char()传入字符串。

数据类型

为实现ROWIDprid_类型与text等字符串类型进行比较或text等字符串类型与ROWIDprid_类型进行比较,新增以下操作符:

  • <

  • <=

  • >

  • >=

  • =

  • <>

视图

新增进程状态信息视图。

新增SQL信息视图耗时统计。

审计日志

新增审计日志包含出错SQL。

缺陷修复

修复在特定场景下数据页预取可能会导致死锁的问题。

修复分区表修剪时JOIN查询不到正确分区的问题。

时空数据库(V3.0)

类别

名称

描述

相关文档

新增

支持具有SubSetNetCDF数据类型数据

新增支持具有SubSetNetCDF数据类型数据,可按照指定的图层名称导入。

栅格数据自定义元数据以及时序信息

新增ST_MetaItems函数,获取所有的自定义元数据项目名称。

ST_MetaItems

新增ST_MetaData函数, 获取自定义元数据项以及返回以JSON方式表达的元数据项。

ST_MetaData

新增ST_SetMetaData函数,用于设置元数据项。

ST_SetMetaData

新增ST_BeginDateTime函数,用于获取栅格数据的起始时间。

ST_BeginDateTime

新增ST_EndDateTime函数,用户获取栅格数据的终止时间。

ST_EndDateTime

新增ST_SetBeginDateTime函数,用于设置栅格数据的开始时间。

ST_SetBeginDateTime

新增ST_SetEndDateTime函数,用于设置栅格数据的结束时间。

ST_SetEndDateTime

新增ST_SetDateTime函数,用于设置栅格数据的开始和结束时间以及波段获取时间。

ST_SetDateTime

支持栅格数据返回基于流形式的图片格式

新增ST_AsImage函数,用于获取基于流形式的图片格式。

ST_AsImage

新增ST_AsPng,用于获取基于流形式的PNG图片格式。

ST_AsPNG

新增ST_AsJPEG,用于获取基于流形式的JPEG图片格式。

ST_AsJPEG

支持几何网格数据类型以及操作运算

新增GeomGrid数据类型。

GeomGrid SQL参考

新增ST_AsText函数,用于将网格数据类型转换为文本表示方式。

ST_AsText

新增ST_AsGeometry函数,用于将网格数据类型转换为几何数据类型。

ST_AsGeometry

新增ST_AsBinary函数,用于将网格数据类型转换为二进制数据类型。

ST_AsBinary

新增ST_AsBox函数, 用于将网格数据量类型转换为BOX数据类型。

ST_AsBox

新增ST_AsGrid函数, 用于计算几何数据类型所对应的几何网格数据。

ST_AsGrid

新增ST_GridFromText函数, 用于将基于文本表示网格转换为几何网格数据类型。

ST_GridFromText

新增ST_GridFromBinary函数,用于将基于二进制的表示的网格转换为几何网格数据类型。

ST_GridFromBinary

新增ST_Intersects函数,用于判断栅格数据类型与几何数据类型是否相交。

ST_Intersects

新增ST_Contains函数,用于判断栅格数据与栅格数据,栅格数据与几何数据是否是包含关系。

ST_Contains

新增ST_Within函数,用于判断网格数据与网格数据,网格数据与几何数据是否是被包含关系。

ST_Within

矢量数据类型快速显示存储

新增ST_BuildPyramid函数,用于创建快显支撑数据表。

ST_BuildPyramid

新增ST_DeletePyramid函数,用于删除快显支撑数据表。

ST_DeletePyramid

新增ST_Tile函数,用于获取基于MVT格式的矢量数据。

ST_Tile

缺陷修复

修复在某些情况下创建金字塔会出现Out Of Memory的问题。

修复移动对象无法创建2000-01-01时间点的问题。

修复某些场景下移动对象使用ST_Intersection返回子轨迹错误的问题。

修复Ganos升级时会出现崩溃问题。

PostGIS兼容性升级到2.5.4。

20208

内核小版本(V1.1.3)

类别

名称

描述

相关文档

新增

视图

新增SQL执行统计信息视图。

新增QPS统计信息视图。

新增CGroup状态信息视图。

高权限用户

polar_superuser用户赋予dba_* viewsSELECT权限。

缺陷修复

修复polar_stat_io_info视图显示错误。

修复AWR system wait信息缺失。

修复分区表修剪错误问题。

修复SLRU内存大小计算错误问题。

修复回放延迟导致RO重建问题。

时空数据库(V2.9)

类别

名称

描述

相关文档

新增

COG文件格式支持

新增COG(Cloud Optimize Geotiff) 文件格式支持。支持读取COG文件格式中存储的金字塔信息。

ST_AddZ函数

新增ST_AddZ函数,支持通过栅格数据的像素值为几何对象添加z值。

ST_AddZ

栅格对象空间范围信息获取增强

新增ST_Extent函数,用于获得栅格对象的空间范围,以BOX形式返回。

ST_Extent

新增ST_Envelope函数,用于获得栅格对象的空间范围,以几何对象形式返回。

ST_Envelope

新增ST_ConvexHull函数,用于获得栅格对象的空间范围,以几何对象形式返回。

ST_ConvexHull

新增ST_Height函数,用于获得栅格对象的像素高度。

ST_Height

新增ST_Width函数,用于获得栅格对象的像素宽度。

ST_Width

缺陷修复

修复使用外部栅格数据会使用1*n分块导致性能局限性问题,允许用户通过存储选项自定义分块的大小。

修复ST_Values函数在查询某些方向的线对象时结果与坐标排序不一致的问题。

修复ST_BestPyramidLevel函数在某些情况下会返回负数的问题。

修复ST_BuildPyramid函数在某些情况下会重复创建金字塔的问题。

修复Truncate栅格表时未能清理对应的块表的问题。

修复ST_ExportTo函数对于CreateOption在某些情况下无效的问题。

修复ST_ClearChunks函数对于表名存在大小写时会出现错误的问题。

修复外部金字塔在某些情况下无法创建overview的问题。

修复具有外部金字塔的栅格对象无法创建内部金字塔的问题。

修复具有NaN数值的栅格数据在计算统计信息时会导致结果不正确的问题。

20207

内核小版本(V1.1.2)

类别

名称

描述

相关文档

新增

Pivot语法

Pivot语法支持使用tablesubquery作为别名。

ROWID伪列

支持ROWID伪列和ROWIDTOCHAR/CHARTOROWID函数。

内置函数

支持LNNVL,DUMP,SYS_CONTEXT,USERENV,TZ_OFFSETVSIZE函数。

DBMS_JOBDBMS_SCHEDULER

支持DBMS_JOBDBMS_SCHEDULER,用于维护和管理作业队列。

临时表

支持临时表文件写本地存储,大幅提升临时表操作的性能。

触发事件

支持polar_superuser进行触发事件(Event Trigger)的逻辑订阅。

自定义资源隔离

支持自定义资源隔离组发起请求(Request)。

优化

崩溃恢复流程

优化崩溃恢复流程,减少极端情况下的崩溃恢复耗时。

缺陷修复

修复polar_superuser无法使用索引建议器(index advisor)的问题。

时空数据库(V2.8)

类别

名称

描述

相关文档

新增

栅格数据元数据访问接口增强

新增ST_XMin函数,用于获取栅格数据X方向最小值。

ST_XMin

新增ST_YMin函数,用于获取栅格数据Y方向最小值。

ST_YMin

新增ST_XMax函数,用于获取栅格数据X方向最大值。

ST_XMax

新增ST_YMax函数,用于获取栅格数据Y方向最大值。

ST_YMax

新增ST_ChunkHeight函数,用于获取栅格数据分块高度。

ST_ChunkHeight

新增ST_ChunkWidth函数,用于获取栅格数据分块宽度。

ST_ChunkWidth

新增ST_ChunkBands函数,用于获取栅格数据分块波段数量。

ST_ChunkBands

ST_SrFromEsriWkt函数

新增ST_SrFromEsriWkt函数,用于支持Esri格式空间参考字符串转换为OGC格式空间参考字符串。

ST_SrFromEsriWkt

栅格数据类型

新增栅格数据类型支持ZstdSnappy压缩方式。

点云数据类型

新增点云数据类型支持二进制拷贝功能。

环境变量

新增支持PROJ_LIBGDAL_DATA环境变量设置,同时部署相关数据。

缺陷修复

修复OSS路径非法导致数据库崩溃问题。

修复部分栅格数据导入SRID与定义不一致的问题。

20206

内核小版本(V1.1.1)

类别

名称

描述

相关文档

新增

nvl2函数

增加nvl2函数,根据第一个参数的值是否是NULL或空串,来返回第二或者第三个参数的值。

polar_proxy_utils插件

新增polar_proxy_utils插件,用于管理与proxy相关的功能,主要支持只读UDF和只读表的配置,允许通过集群地址将只读UDF以及只读表的访问路由到只读节点。

polar_resource_group插件

新增polar_resource_group插件,支持自定义资源隔离组,基于user、database、session粒度,通过cpu、memory维度进行资源隔离。

优化

可靠性和可用性

数据库计算节点和文件系统解耦,文件系统可独立运维,大幅提高数据库的可靠性和可用性。

事务处理

使用单调递增版本号替代原有的活跃事务列表快照,大幅提升数据库事务处理性能。

执行计划

执行计划优化,避免使用过旧的统计信息。

缺陷修复

修复了插件timescaledb在申请内存时出错时进程的异常问题。

修复了I/O监控功能中进程退出后没有汇总统计信息。

修复了lock_debug开启后,可能发生空指针异常问题。

修复了特定情况下导致pg_cron插件不可用的问题。

修复了社区已知的DSM死锁问题。

修复了用户连接数超限的问题。

20205

内核小版本(V1.1.0)

类别

名称

描述

相关文档

新增

TO_SINGLE_BYTE函数

新增TO_SINGLE_BYTE函数,用于将字符串中多字节字符转换为对应的单子节字符。

全角半角转换函数(TO_SINGLE_BYTETO_MULTI_BYTE)

TO_MULTI_BYTE函数

新增TO_MULTI_BYTE函数,用于将字符串中单子节字符转换为对应的多字节字符。

全角半角转换函数(TO_SINGLE_BYTETO_MULTI_BYTE)

REGEXP_LIKE函数

新增REGEXP_LIKE函数,和LIKE条件表达式类似,但REGEXP_LIKE可以指定POSIX兼容的正则表达式模式。

RATIO_TO_REPORT函数

新增RATIO_TO_REPORT分析函数,用于计算一组值的和中某一个值的占比。

DBMS_UTILITY.FORMAT_ERROR_STACK函数

新增DBMS_UTILITY.FORMAT_ERROR_STACK函数(宏),用于输出逐层的堆栈信息和错误信息。

UTL_I18N.ESCAPE_REFERENCE函数和UTL_I18N.UNESCAPE_REFERENCE函数

新增UTL_I18N.ESCAPE_REFERENCE函数和UTL_I18N.UNESCAPE_REFERENCE函数,用于对HTMLXML字符的转义与反转义。

INSERT ALL语法

新增INSERT ALL语法支持,您可以使用INSERT ALL语句向多张表插入数据。

polar_concurrency_control插件

新增polar_concurrency_control插件,可以对事务执行、SQL查询、存储过程、DML等操作进行并发限制,您可以自定义大查询,并对大查询进行并发限制,优化高并发下的执行性能。

pldebugger插件

新增pldebugger插件,用于存储过程的调试,您可以通过客户端(pgAdmin4 4.19 release及以上版本)调试本地存储过程。

使用pldebugger插件

oss_fdw插件

新增oss_fdw插件,用于Aliyun OSS外部表支持,您可以通过OSS外部表将数据库数据写入到OSS,也可以通过OSS外部表将OSS数据加载到数据库中,OSS外部表支持并行和压缩,极大提高了导入和导出数据的性能,同时也可以使用这个功能来实现多类型存储介质的冷热数据存储。

使用oss_fdw读写外部数据文本文件

优化

ROUND函数

优化ROUND函数,支持Interval参数类型,返回天数(days)。

ROUND

polar_stat_activity视图

优化polar_stat_activity视图,新增wait_info列和wait_time列,分别用于监控进程等待对象(pidfd)的等待时长。

索引

提供插入索引时的索引页预扩展功能,用于提升将数据插入带有索引的表的执行性能。

时空数据库(V2.7)

类别

名称

描述

相关文档

新增

MD5操作函数

新增ST_MD5Sum函数,用于获取栅格对象的MD5码值。

ST_MD5Sum

新增ST_SetMD5Sum函数,用于设置栅格对象的MD5码值。

ST_SetMD5Sum

空间栅格对象OSS认证方式

新增ST_AKId函数,用于获取以OSS方式存储的栅格对象的AccessKey ID

ST_AKId

新增ST_SetAccessKey函数,用于设置以OSS方式存储的栅格对象的AccessKey IDAccessKey Secret。

ST_SetAccessKey

新增ST_SetAKId函数,用于设置以OSS方式存储的栅格对象的AccessKey ID。

ST_SetAKId

新增ST_SetAKSecret函数,用于设置以OSS方式存储的栅格对象的AccessKey Secret。

ST_SetAKSecret

空间栅格元数据操作函数

新增ST_ScaleX函数,用于获取栅格对象在空间参考系下X方向像素宽度。

ST_ScaleX

新增ST_ScaleY函数,用于获取栅格对象在空间参考系下Y方向像素宽度。

ST_ScaleY

新增ST_SetScale函数,用于设置栅格对象在空间参考系下像素宽度。

ST_ScaleY

新增ST_SkewX函数,用于获取栅格对象在空间参考系下X方向旋转。

ST_SkewX

新增ST_SkewY函数,用于获取栅格对象在空间参考系下Y方向旋转。

ST_SkewY

新增ST_SetSkew函数,用于设置栅格对象在空间参考系下旋转。

ST_SetSkew

新增ST_UpperLeftX函数,用于获取栅格对象在空间参考系下左上角点的X坐标。

ST_UpperLeftX

新增ST_UpperLeftY函数,用于获取栅格对象在空间参考系下左上角点的Y坐标。

ST_UpperLeftY

新增ST_SetUpperLeft函数,用于获取栅格对象在空间参考系下左上角点坐标。

ST_SetUpperLeft

新增ST_PixelWidth函数,用于获取栅格对象在空间参考系下像素宽度。

ST_PixelWidth

新增ST_PixelHeight函数,用于获取栅格对象在空间参考系下像素高度。

ST_PixelHeight

缺陷修复

修复由于聚集函数导致扩展升级失败的问题。