本文介绍PolarDB-O的功能动态。

V1.1.4

功能 功能描述
新功能
  • 支持GROUP_ID()函数。
  • 支持在分区表上并发创建索引CREATE INDEX CONCURRENTLY。
  • 支持将普通表的索引修改为不可见ALTER INDEX [NAME] INVISIABLE。
  • 支持Alidecoding插件,用于数据库间增量同步DML语句。
  • 支持pg_cron插件的定时任务记录查询功能。
  • 支持to_char()传入字符串。
  • 为实现ROWID的prid_类型与text等字符串类型进行比较或text等字符串类型与ROWID的prid_类型进行比较,新增以下操作符:
    • <
    • <=
    • >
    • >=
    • =
    • <>
  • 新增进程状态信息视图。
  • 新增SQL信息视图耗时统计。
  • 新增审计日志包含出错SQL。
缺陷修复
  • 修复在特定场景下数据页预取可能会导致死锁的问题。
  • 修复在特定场景下数据页预取可能会触发文件不存在的问题。
  • 修复连接审计core dump问题。
  • 修复分区表修剪时join查询不到正确分区的问题。
  • 修复DBMS_JOB插件由于某个结构体未初始化造成的功能无法使用问题。
  • 修复ARM环境下由于参数未初始化造成的编译失败问题。
  • 修复打开polar_comp_early_lock_release参数后,提前释放锁造成的RO崩溃的问题。
Ganos 3.0
  • 新增支持具有SubSet的NetCDF数据类型数据,可按照指定的图层名称导入。
  • 新增支持栅格数据自定义元数据以及时序信息。
    • 新增ST_MetaDataItems函数,获取所有的自定义元数据项目名称。
    • 新增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。

V1.1.3

功能 功能描述
新功能
  • 支持bfile数据类型。
  • 新增SQL执行统计信息视图。
  • 新增QPS统计信息视图。
  • 新增CGroup状态信息视图。
  • 为polar_superuser用户赋予dba_* views的select权限。
缺陷修复
  • 修复polar_stat_io_info视图显示错误。
  • 修复AWR system wait 信息缺失。
  • 修复standby PBP复用失败问题。
  • 修复PBP复用无效LSN页面问题。
  • 修复分区表修剪错误问题。
  • 修复SLRU内存大小计算错误问题。
  • 修复连接审计日志core dump问题。
  • 修复回放延迟导致RO重建问题。
Ganos 2.8
  • 新增COG(Cloud Optimize Geotiff) 文件格式支持。支持读取COG文件格式中存储的金字塔信息。
  • 新增ST_AddZ函数,支持通过栅格数据的像素值为几何对象添加z值。
  • 栅格对象空间范围信息获取增强,支持基于金字塔层级查询。
    • ST_Extent,获得栅格对象的空间范围,以BOX形式返回,具体内容请参见ST_Extent
    • ST_Envelope,获得栅格对象的空间范围,以几何对象形式返回。
    • ST_Convexhull,获得栅格对象的空间范围,以几何对象形式返回。
    • ST_Height,获得栅格对象的像素高度,具体内容请参见ST_Height
    • ST_Width,获得栅格对象的像素宽度,具体内容请参见ST_Width
  • 修复使用外部栅格数据会使用1* n分块导致性能局限性问题,允许用户通过存储选项自定义分块的大小。
  • 修复ST_Values函数在查询的线对象在某些方向时结果与坐标排序不一致的问题,具体内容请参见ST_Values
  • 修复ST_BestPyramidLevel函数在某些情况下会返回负数的问题,具体内容请参见ST_BestPyramidLevel
  • 修复ST_BuildPyramid函数在某些情况下会重复创建金字塔的问题,具体内容请参见ST_BuildPyramid
  • 修复Truncate栅格表时未能清理对应的块表的问题。
  • 修复ST_ExportTo函数对于CreateOption在某些情况下无效的问题,具体内容请参见ST_ExportTo
  • 修复ST_ClearChunks函数对于表名存在大小写时会出现错误的问题。
  • 修复外部金字塔在某些情况下无法创建overview的问题。
  • 修复具有外部金字塔的栅格对象无法创建内部金字塔的问题。
  • 修复具有NaN数值的栅格数据在计算统计信息时会导致结果不正确的问题。

V1.1.2

功能 功能描述
新功能
  • Pivot语法支持使用table或subquery作为别名。
  • 支持ROWID伪列和ROWIDTOCHAR/CHARTOROWID函数。
  • 支持LNNVL,DUMP,SYS_CONTEXT,USERENV,TZ_OFFSET和VSIZE函数。
  • 支持DBMS_JOB和DBMS_SCHEDULER,用于维护和管理作业队列。
  • 支持临时表文件写本地存储,大幅提升临时表操作的性能。
  • 支持polar_superuser进行触发事件(Event Trigger)的逻辑订阅。
  • 支持自定义资源隔离组发起请求(Request)。
性能优化 优化崩溃恢复流程,减少极端情况下的崩溃恢复耗时。
缺陷修复 修复polar_superuser无法使用索引建议器(index advisor)的问题。
Ganos 2.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函数支持Esri格式空间参考字符串转换为OGC 格式空间参考字符串,具体内容请参见ST_SrFromEsriWkt
  • 新增栅格数据类型支持zstd和snappy压缩方式。
  • 新增点云数据类型支持二进制拷贝功能。
  • 新增支持PROJ_LIB和GDAL_DATA环境变量设置,同时部署相关数据。
  • 修复OSS路径非法导致数据库崩溃问题。
  • 修复部分栅格数据导入SRID与定义不一致的问题。

V1.1.1

功能 功能描述
内置函数 增加nvl2函数,根据第一个参数的值是否是NULL或空串,来返回第二或者第三个参数的值。
扩展插件
  • 新增polar_proxy_utils插件,用于管理与proxy相关的功能,主要支持只读UDF和只读表的配置,允许通过集群地址将只读UDF以及只读表的访问路由到只读节点。
  • 新增polar_resource_group插件,支持自定义资源隔离组,基于user、database、session粒度,通过cpu、memory维度进行资源隔离。
性能优化
  • 数据库计算节点和文件系统解耦,文件系统可独立运维,大幅提高数据库的可靠性和可用性。
  • 使用单调递增版本号替代原有的活跃事务列表快照,大幅提升数据库事务处理性能。
  • 执行计划优化,避免使用过旧的统计信息。
缺陷修复
  • 修复了插件timescaledb在申请内存时出错时进程的异常问题。
  • 修复了IO监控功能中进程退出后没有汇总统计信息。
  • 修复了lock_debug开启后,可能发生空指针异常问题。
  • 修复了特定情况下导致pg_cron插件不可用的问题。
  • 修复了社区已知的DSM死锁问题。
  • 修复了用户连接数超限的问题。

V1.1.0

功能 功能描述
内置函数
  • 新增TO_SINGLE_BYTE函数,用于将字符串中多字节字符转换为对应的单子节字符,具体内容请参见全角半角转换函数(TO_SINGLE_BYTE和TO_MULTI_BYTE)
  • 新增TO_MULTI_BYTE函数,用于将字符串中单子节字符转换为对应的多字节字符,具体内容请参见全角半角转换函数(TO_SINGLE_BYTE和TO_MULTI_BYTE)
  • 新增REGEXP_LIKE函数,和LIKE条件表达式类似,但REGEXP_LIKE可以指定POSIX兼容的正则表达式模式。
  • 新增RATIO_TO_REPORT分析函数,用于计算一组值的和中某一个值的占比。
  • 优化ROUND函数,支持Interval参数类型,返回天数(days)。具体内容请参见ROUND
内置包及其过程函数
  • 新增DBMS_UTILITY.FORMAT_ERROR_STACK函数(宏),用于输出逐层的堆栈信息和错误信息。
  • 新增UTL_I18N.ESCAPE_REFERENCE函数和UTL_I18N.UNESCAPE_REFERENCE函数,用于对HTML或XML字符的转义与反转义。
内置视图 优化polar_stat_activity视图,新增wait_info列和wait_time列,分别用于监控进程等待对象(pid或fd)的等待时长。
DQL和DML 新增INSERT ALL语法支持,您可以使用INSERT ALL语句向多张表插入数据。
扩展插件
  • 新增polar_concurrency_control插件,可以对事务执行、SQL查询、存储过程、DML等操作进行并发限制,您可以自定义大查询,并对大查询进行并发限制,优化高并发下的执行性能。
  • 新增pldebugger插件,用于存储过程的调试,您可以通过客户端(pgAdmin4 4.19 release及以上版本)调试本地存储过程。
  • 新增oss_fdw插件,用于Aliyun OSS外部表支持,您可以通过OSS外部表将数据库数据写入到OSS,也可以通过OSS外部表将OSS数据加载到数据库中,OSS外部表支持并行和压缩,极大提高了导入和导出数据的性能,同时也可以使用这个功能来实现多类型存储介质的冷热数据存储。具体内容请参见使用oss_fdw读写外部数据文本文件
性能优化 提供插入索引时的索引页预扩展功能,用于提升将数据插入带有索引的表的执行性能。
Ganos 2.7
  • 新增空间栅格对象的MD5操作函数,可以用于数据的一致性检查和去重等操作:
    • 新增ST_MD5Sum函数,用于获取栅格对象的MD5码值,具体内容请参见ST_MD5Sum
    • 新增ST_SetMD5Sum函数,用于设置栅格对象的MD5码值,具体内容请参见ST_SetMD5Sum
  • 新增空间栅格对象OSS认证方式操作函数:
    • 新增ST_AKId函数,用于获取以OSS方式存储的栅格对象的AcessKey ID,具体内容请参见ST_AKId
    • 新增ST_SetAccessKey函数,用于设置以OSS方式存储的栅格对象的AcessKey ID和AccessKey Secret,具体内容请参见ST_SetAccessKey
    • 新增ST_SetAKId函数,用于设置以OSS方式存储的栅格对象的AcessKey ID,具体内容请参见ST_SetAKId
    • 新增ST_SetAKSecret函数,用于设置以OSS方式存储的栅格对象的AcessKey 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
  • 修复由于聚集函数导致扩展升级失败的问题。