本文介绍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,可以实现两种不同数据库之间的双向数据互通。 路径:集群详情页的 。 | 创建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概述 |
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 ID | ST_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 | ||
缺陷修复 | 修复由于聚集函数导致扩展升级失败的问题。 |