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

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

V1.1.29

时空数据库(V5.1)

类别名称描述相关文档发布时间
新增ST_GeoHashID函数支持将GeoHash字符转为整数类型。ST_GeoHashID2022年12月
ST_GeoHashFromID函数支持将Int类型转为GeoHash字符串。ST_GeoHashFromID2022年12月
ST_UpdatePyramid函数支持更新矢量快显金字塔。ST_UpdatePyramid2022年12月
ST_SetUpdatePyramidRules函数支持设置更新金字塔操作的规则。ST_SetUpdatePyramidRules2022年12月
ST_BuildPyramidUseGeomSideLen函数支持考虑矢量外包框大小来构建矢量快显金字塔。ST_BuildPyramidUseGeomSideLen2022年12月
ST_InterpolateRaster函数支持空间插值。ST_InterpolateRaster2022年12月
ST_Contour函数支持等值线生成。ST_Contour2022年12月
ST_Statistics函数支持以MultiPoint的方式对栅格数据进行自定义权重的统计分析操作。ST_Statistics2022年12月
ST_Resample函数新增ST_Resample轨迹重采样功能。ST_Resample2022年12月
ST_Density函数新增ST_Density轨迹密度统计功能。ST_Density2022年12月
ST_StayPoint函数新增ST_StayPoint轨迹驻点识别功能。ST_StayPoint2022年12月
缺陷修复修复运行st_buildhistogram后raster对象变为空的问题。2022年12月
修复轨迹ST_AsTable传入空值导致崩溃问题和z值错误问题。2022年12月
修复ST_Split中按GeoHash切分时结果错误的问题。2022年12月
修复ST_Tile 属性字段编码错误问题。2022年12月

V1.1.28

内核小版本

类别名称描述相关文档发布时间
新增部分参数默认值调整自数据库内核小版本V1.1.28(PostgreSQL 11)和V14.5.1.1(PostgreSQL 14)起,PolarDB PostgreSQL版调整了部分参数的默认值,仅针对新建集群生效,参数默认值的调整可以明显提升数据库的性能,您可以根据需要在控制台自行修改。部分参数默认值调整说明2022年11月
smlar插件您可以通过在数据库内使用smlar插件来高效计算数据相似度。smlar2022年11月
hypopg插件hypopg插件用于帮助您检查某类索引是否有助于一个或者多个查询。hypopg2022年11月
Global RelCacheGlobal RelCache将RelCache放到共享内存中,为所有进程共享,提高内存利用率。Global RelCache2022年11月
pg_bigm插件pg_bigm插件提供了全文本搜索能力,允许创建一个二元语法(2-gram)的GIN索引来加速搜索过程。pg_bigm2022年11月
hll插件hll插件支持的数据类型HyperLogLog(hll)可以帮助您快速预估PV、UV等业务指标。hll2022年11月
varbitx插件PolarDB PostgreSQL版对varbit插件进行了扩展,支持更多的BIT操作,可以覆盖更多应用场景。varbitx2022年11月
ZomboDB插件ZomboDB是一个PostgreSQL扩展插件,支持原生的访问方式,为PostgreSQL数据库带来了强大的文本索引和分析功能。ZomboDB2022年11月
缺陷修复修复对分区表部分列具有UPDATE但没有SELECT权限的用户可能会从错误消息中获取被拒绝列值的问题。缺陷详情请参见CVE-2021-33932022年11月

V1.1.27

内核小版本

类别名称描述相关文档发布时间
新增新增实时物化视图PolarDB新增实时物化视图功能,当依赖表进行DML操作时,实时物化视图的数据始终和依赖表的数据保持一致,同时可以大幅提升查询性能。实时物化视图2022年10月
新增log_fdw插件您可以通过log_fdw插件来查询CSV格式的数据库日志。log_fdw2022年10月
新增pg_sphere插件pg_sphere是支持球形数据类型、计算函数和操作符的PostgreSQL插件。pg_sphere2022年10月
新增pg_repack插件通过pg_repack插件在线清理表空间,有效解决因对全表大量更新等操作引起的表膨胀问题。pg_repack2022年10月
支持failover slot PolarDB PostgreSQL版的逻辑复制槽故障转移(Logical Replication Slot Failover)功能可以将所有的逻辑复制槽从主实例同步到备实例,从而实现逻辑复制槽的故障转移。逻辑复制槽故障转移(Logical Replication Slot Failover)2022年10月
PX新增按tuple粒度扫描的方式新增polar_px_scan_granularity参数,用于控制PX按照不同的粒度扫描,取值如下:
  • set polar_px_scan_granularity = row;:表示PX按照tuple粒度进行扫描。
  • set polar_px_scan_granularity = block;:默认取值,表示PX按照block粒度扫描。
说明 当扫描的数据较多时,按照block粒度切分扫描会具备更高的性能。
2022年10月
polar_enable_strategy_reject_buffer参数新增polar_enable_strategy_reject_buffer参数,用于控制批量读场景下是否允许突破ring buffer的限制。取值如下:
  • off(默认):表示批量读场景下仍然使用ring buffer。如果从ring中获取的buffer为脏页,则backend进程需将该脏页落盘。
  • on:表示批量读场景下允许突破ring buffer限制。开启该参数后,如果从ring中获取的buffer为脏页,则允许从buffer pool中获取一个新的buffer。开启该参数后backend进程自身刷脏次数会降低,可提升查询速度,但由于突破了ring buffer限制,buffer pool可能会被当前查询的表数据占满,当多个连接查询多个不同表时,仍然会产生buffer淘汰从而带来IO操作。
2022年10月

V1.1.26

内核小版本

类别名称描述相关文档发布时间
新增PLV8插件PLV8是PostgreSQL数据库受信任的JavaScript语言扩展。可以使用JavaScript来编写PostgreSQL数据库函数。PLV82022年9月
支持登录登出触发器登录登出触发器是一种事件触发器,提供了可以在用户登录/登出时触发指定函数或存储过程的功能。登录登出触发器2022年9月
批量写入支持全部写到缓存新增polar_enable_strat_bulkwrite参数,用于控制session写入的数据占用缓存(cache)空间的大小,默认值为true,取值如下:
  • true:与原生PostgreSQL行为完全一致。每个session写入的数据只允许占用部分缓存空间。
  • false:session写入的数据允许使用全部的缓存空间。
说明
  • 通常情况下,该参数保持默认值true即可。可以保证每个session都有一部分专属缓存空间,不会将其他session的缓存数据淘汰掉。
  • 建议将参数值设为false的场景:希望批量写入数据的数据全部都在缓存,读取这部分数据时基本都可在缓存命中,减少读盘次数。
    建议与polar_enable_strat_scan参数一同使用,将两者的值都设为false,数据既可以写入到全部的缓存空间,也可以读取到全部的缓存空间。
    set polar_enable_strat_bulkwrite = false; -- 允许写入全部缓存空间
    set polar_enable_strat_scan = false; -- 允许读取/加载到全部缓存空间
2022年9月

时空数据库(V4.9)

类别名称描述相关文档发布时间
新增ST_Intersection聚合函数支持将Geometry对象数组聚合操作。ST_Intersection2022年9月
ST_AddZ函数支持传入Z坐标数组作为参数,将Geometry 2D/3DM转为Geometry3D/4D。ST_AddZ2022年9月
ST_SetValue函数支持指定像素位置设置像素值,以及按照指定几何对象空间范围设置像素值。ST_SetValue2022年9月
优化S​T_ExportTo函数支持将Raster对象导出为cog文件。S​T_ExportTo2022年9月
ST_CreateRast函数支持将规则的网格点多条记录或者数组转换为栅格对象。ST_CreateRast2022年9月
ST_Split函数按照时间切分时,支持指定开始时间,并支持按轨迹点序号切分。ST_Split2022年9月
ST_Union函数支持按内存使用量分批次执行,避免大数据量造成OOM。ST_Union2022年9月
ST_CreateRast函数支持基于HDFS栅格数据创建。ST_CreateRast2022年9月
ST_ImportFrom函数支持基于HDFS栅格数据导入。ST_ImportFrom2022年9月
S​T_ExportTo函数支持栅格数据导出到HDFS文件系统。S​T_ExportTo2022年9月
缺陷修复修复ST_makeTrajectory函数可能会崩溃的问题。2022年9月
修复ST_lcsSimilarity函数无法识别以天为单位的时间段问题。2022年9月
修复ST_AsEWKB函数无法转换从数据表中构建出的轨迹问题。2022年9月
修复ST_BuildPyramid函数,解决超大数据构建矢量金字塔时的内存占用问题。2022年9月

V1.1.25

内核小版本

类别名称描述相关文档发布时间
新增pgAudit插件支持pgAudit插件,提供生成审计日志的能力。pgAudit2022年8月

V1.1.24

内核小版本

类别名称描述相关文档发布时间
新增plan_cache_mode新增plan_cache_mode参数,表示允许设置计划缓存模式。默认值为auto,取值如下:
  • auto:表示自动从custom/generic两种模式中选择。
  • force_custom_plan:表示强制使用优化器生成的custom plan。
  • force_generic_plan:表示强制使用计划缓存中的generic plan。
2022年7月

时空数据库(V4.7)

类别名称描述相关文档发布时间
新增ST_makeTrajectory函数支持将表格中的行转化为轨迹。ST_makeTrajectory2022年7月
ST_AsTable函数支持将轨迹转化为表类型。ST_AsTable2022年7月
缺陷修复修复栅格数据操作时,匿名临时表无法自动删除的问题。2022年7月

V1.1.23

内核小版本

类别名称描述相关文档发布时间
新增pg_hint_planpg_hint_plan插件通过特殊的注释语句提示来调整既定的执行计划。pg_hint_plan2022年6月
新增resource manager内存释放过程性能优化
  • 新增mem_release_policy参数,表示内存释放策略。默认值为default,取值如下:
    • default:表示当数据库超限后,RM启动自适应策略,此参数不能与其他参数合并使用,按照resource manager默认策略进行内存释放。进程分为idle进程数组和active进程数组,优先对idle进程进行内存释放,然后再对active进程进行内存释放。
    • cancel_query:只对active进程进行取消查询操作。
    • terminate_idle_backend:停止用户idle进程。
    • terminate_any_backend:停止任意用户进程。
    • none:不做任何操作。
  • 新增total_memcontext_dump_rate参数,表示memory context信息输出阈值。默认值为75,取值范围:20~95,重启或者reload生效。
  • 新增max_proc_mcxtdump_num参数,表示memory context信息输出的进程数。默认值为1,取值范围:1~100,重启或者reload生效。
  • 新增interval_max_num参数,表示memory context信息输出的间隔数。默认值为0,取值范围:0~INT32_MAX,重启或者reload生效。
2022年6月

V1.1.22

内核小版本

类别名称描述相关文档发布时间
新增PX Analyze功能
  • 新增polar_px_enable_explain_all_stat参数,用于并行查询场景下,配合explain analyze命令打印出每个worker的执行情况,包括每个worker处理的tuple数量,耗时等。
  • 新增polar_px_explain_memory_verbosity参数,用于并行查询场景下,配合explain analyze命令打印每个worker的内存使用情况。取值如下:
    • summary :汇总性的打印worker内存使用情况。
    • detail : 详细打印每个worker内存使用情况。
2022年3月
port线下支持clang支持clang编译。2022年3月

时空数据库(V4.6)

类别名称描述相关文档发布时间
新增对象存储服务路径栅格数据新增支持用户自建的Minio服务器访问。对象存储服务路径2022年3月
ST_PointValues函数新增栅格ST_PointValues函数返回所有波段像素值。ST_PointValues2022年3月
缺陷修复修复栅格ST_Clip函数波段顺序错误的问题。2022年3月
修复栅格更新时由于缺少主键索引导致性能较低的问题。2022年3月
修复轨迹从OSS读取数据失败时支持重试。2022年3月

时空数据库(V4.5)

类别名称描述相关文档发布时间
新增新增Ganos支持PostgreSQL 14系列。2022年3月
优化增强外部存储的轨迹对象增加缓存,提升访问性能。2022年3月
缺陷修复修复栅格数据导出到OSS会缺少文件后缀的问题。2022年3月
修复栅格对部分数据统计时失败的问题。2022年3月

V1.1.20

内核小版本

类别名称描述相关文档发布时间
新增支持表的闪回删除新增闪回删除功能,可以快速恢复已经删除的表,以及查看和清理回收站。闪回删除2022年1月
PX多级分区表支持多级分区的并行查询。对分区表使用跨机并行查询2022年1月
支持GBK/GB18030编码PolarDB PostgreSQL版支持GBK/GB18030服务器编码格式。指定服务器编码格式2022年1月

时空数据库(V4.4)

类别名称描述相关文档发布时间
新增ST_LinearStretch函数新增ST_LinearStretch函数,将影像进行线性拉伸,作为一个新的raster返回。ST_LinearStretch2022年1月
ST_BuildPercentiles函数新增ST_BuildPercentiles函数,统计影像的像素值百分比。ST_BuildPercentiles2022年1月
ST_ComputeStatistics函数新增ST_ComputeStatistics函数,一次性计算栅格数据的统计值,直方图以及百分比。ST_ComputeStatistics2022年1月
ST_Percentile函数新增ST_Percentile函数,获取影像的像素百分比。ST_Percentile2022年1月
优化并行计算ST_SummaryStats和ST_BuildHistogram函数支持并行计算能力。2022年1月
ST_ExportTo函数ST_ExportTo函数在导出数据时,如果目标文件已存在,返回false取代报错消息。2022年1月
ST_ImportFrom函数ST_ImportFrom函数在导入数据时出错,会返回具体的错误详情方便排查错误原因。ST_ImportFrom2022年1月
缺陷修复修复栅格裁剪时由于四舍五入可能会有半个像素丢失的问题。2022年1月
修复由于栅格数据带有NANINF等数据,在导入和统计值会出错的问题。2022年1月