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

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

2020年12月

内核小版本(V1.1.7)

类别名称描述相关文档
新增分区表新增Merge Partitions功能,用于合并两个分区表。
兼容Oracle风格解码支持Oracle的Base64解码风格,可以让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自建PostgreSQL的DBLink,实现从PolarDB PostgreSQL版(兼容Oracle)到PostgreSQL的跨库数据互通。结合PostgreSQL中的DBLink,可以实现两种不同数据库之间的双向数据互通。

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

dblink
创建PolarDB PostgreSQL版(兼容Oracle)到PostgreSQL的DBLink

时空数据库(V3.2)

类别名称描述相关文档
新增ST_AsPNG新增矢量金字塔返回图片格式(基于流形式)功能,用于矢量数据的快速图形化显示。ST_AsPNG
栅格数据新增栅格数据类型JPEG2000压缩算法,支持16bit栅格数据压缩存储。
优化st_dwithin优化st_dwithin距离查询,提升查询性能。
缺陷修复修复轨迹数据类型时间相交错误问题。
修复Ganos内存拓扑索引的缺陷。

API

类别名称描述
优化CreateDBLink支持PolarDB PostgreSQL版(兼容Oracle)到ECS自建PostgreSQL的DBLink。

2020年11月

内核小版本(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。

2020年10月

内核小版本(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坐标的源数据,支持3857和4326两种瓦片输出。
新增pixelSize参数设置,对点数据进行聚合,减少瓦片的数量。
缺陷修复修复某些情况下更新Ganos Raster失败问题。
修复Ganos二进制文件更新到新版本可能出现崩溃的问题。
修复用默认参数构建矢量金字塔点数据后,顶级瓦片数据量过大的问题。

2020年9月

内核小版本(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()传入字符串。
数据类型为实现ROWID的prid_类型与text等字符串类型进行比较或text等字符串类型与ROWID的prid_类型进行比较,新增以下操作符:
  • <
  • <=
  • >
  • >=
  • =
  • <>
视图新增进程状态信息视图。
新增SQL信息视图耗时统计。
审计日志新增审计日志包含出错SQL。
缺陷修复修复在特定场景下数据页预取可能会导致死锁的问题。
修复分区表修剪时JOIN查询不到正确分区的问题。

时空数据库(V3.0)

类别名称描述相关文档
新增支持具有SubSet的NetCDF数据类型数据新增支持具有SubSet的NetCDF数据类型数据,可按照指定的图层名称导入。
栅格数据自定义元数据以及时序信息新增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。

2020年8月

内核小版本(V1.1.3)

类别名称描述相关文档
新增视图新增SQL执行统计信息视图。
新增QPS统计信息视图。
新增CGroup状态信息视图。
高权限用户为polar_superuser用户赋予dba_* views的SELECT权限。
缺陷修复修复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数值的栅格数据在计算统计信息时会导致结果不正确的问题。

2020年7月

内核小版本(V1.1.2)

类别名称描述相关文档
新增Pivot语法Pivot语法支持使用table或subquery作为别名。
ROWID伪列支持ROWID伪列和ROWIDTOCHAR/CHARTOROWID函数。
内置函数支持LNNVL,DUMP,SYS_CONTEXT,USERENV,TZ_OFFSET和VSIZE函数。
DBMS_JOB和DBMS_SCHEDULER支持DBMS_JOB和DBMS_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
栅格数据类型新增栅格数据类型支持Zstd和Snappy压缩方式。
点云数据类型新增点云数据类型支持二进制拷贝功能。
环境变量新增支持PROJ_LIB和GDAL_DATA环境变量设置,同时部署相关数据。
缺陷修复修复OSS路径非法导致数据库崩溃问题。
修复部分栅格数据导入SRID与定义不一致的问题。

2020年6月

内核小版本(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死锁问题。
修复了用户连接数超限的问题。

2020年5月

内核小版本(V1.1.0)

类别名称描述相关文档
新增TO_SINGLE_BYTE函数新增TO_SINGLE_BYTE函数,用于将字符串中多字节字符转换为对应的单子节字符。全角半角转换函数(TO_SINGLE_BYTE和TO_MULTI_BYTE)
TO_MULTI_BYTE函数新增TO_MULTI_BYTE函数,用于将字符串中单子节字符转换为对应的多字节字符。全角半角转换函数(TO_SINGLE_BYTE和TO_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函数,用于对HTML或XML字符的转义与反转义。
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列,分别用于监控进程等待对象(pid或fd)的等待时长。
索引提供插入索引时的索引页预扩展功能,用于提升将数据插入带有索引的表的执行性能。

时空数据库(V2.7)

类别名称描述相关文档
新增MD5操作函数新增ST_MD5Sum函数,用于获取栅格对象的MD5码值。ST_MD5Sum
新增ST_SetMD5Sum函数,用于设置栅格对象的MD5码值。ST_SetMD5Sum
空间栅格对象OSS认证方式新增ST_AKId函数,用于获取以OSS方式存储的栅格对象的AccessKey IDST_AKId
新增ST_SetAccessKey函数,用于设置以OSS方式存储的栅格对象的AccessKey ID和AccessKey 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
缺陷修复修复由于聚集函数导致扩展升级失败的问题。