This topic lists the latest changes to PolarDB-O.

V1.1.7

Feature Description
New features
  • The merge partitions feature is added to merge two partitioned tables.
  • Base64 decoding of Oracle is supported.
  • You can insert or update a date that is in the yyyymmddhh24miss format.
  • The sys.***_tab_cols view is added to query the information about all columns in tables and views.
  • The polar_utility plug-in is added.
  • Stored procedures can return a holdenable refcursor.
  • The DBMS_JOB package is added. You can use the package by using the privileged account or cross-databases.
  • PL/pgSQL functions can be executed in parallel.
Performance optimization
  • polarAWR features are optimized.
  • The UTL_ENCODE plug-in can be used by newly created standard users.
  • By default, the polar_agg plug-in is enabled.
  • The stability of the fdw plug-in is improved.
Fixed issues
  • The issue that an error occurs when you use SELECT INTO to query null values in a stored procedure is fixed.
  • The issue that the constraints become invalid when an index scan is performed after you use the ALTER TABLE…EXCHANGE PARTITION function is fixed.
Ganos 3.2
  • Stream-based images can be returned for new vector pyramids. You can use this feature to quickly visualize vector data.
  • The JPEG 2000 compression algorithm is supported. This algorithm is used to compress 16-bit raster data before the data is stored.
  • The ST_DWithin function is optimized to query distances with higher performance.
  • The issue of an improper intersection of trajectories on the t axis is fixed.
  • The issue that is related to Ganos memory topology index is fixed.

V1.1.6

Feature Description
New features
  • Compatible with PostgreSQL 11.9.
  • By default, the OnlinePromote feature is enabled. This reduces HA switchover time and improves cluster availability.
  • Allows you to connect to external Oracle databases through database links.
Fixed issues
  • The issue that a node may be interrupted when it is restarted in specific scenarios is fixed.
  • The cluster crash issue that is caused by out of memory (OOM) in specific scenarios is fixed.
  • The issue that read-only nodes crash in specific scenarios is fixed.
  • The issue that an error occurs when the UTF8 encoding format is converted into GBK after you run the client_encoding=gbk command is fixed.
  • The issue that an error occurs when the first parameter of the NVL function is empty.

V1.1.5

Feature Description
New features
  • The polarAWR feature is added to support reports that are displayed in the HTML format.
  • Executable SQL statements can be printed in audit logs.
  • The syntax that is used to create a specified number of hash partitioned tables is supported.
  • You can specify the name of the partition or subpartition to query data of a specific partition.
  • The HOST parameter is supported to obtain the HOST value of a client.
Performance optimization
  • The polar_stat_activity view is optimized by adding the query_id field.
  • The minor version of the kernel is upgraded to 11.8. Several issues that are related to stability are fixed.
Fixed issues
  • The issue that semi-synchronizations cannot time out is fixed.
  • The issue that the CONNECT BY statement fails to be used together with the WITH statement is fixed.
Ganos 3.1
  • The GiST index-based two-phase query optimization method is used to query spatio-temporal range. The query performance is improved.
  • The ganos_update function is added to upgrade all Ganos plug-ins to the latest versions.
  • The following features are improved for vector pyramids:
    • Source data from all the coordinate systems that provide spatial reference identifiers (SRIDs) is supported. The source data is based on the EPSG:3857 or EPSG:4326 coordinate reference system.
    • The pixelSize parameter is supported to aggregate point data and reduce the number of tiles.
  • Native spatio-temporal indexes of the Trajectory data type are supported.
    • GiST indexes are supported for trajectories. In addition, six operator families are provided to create GiST indexes in different combinations of dimensions.
    • The BOXND data type is supported. This data type is used to describe the bounding box of a spatio-temporal extent or a storage trajectory.
    • The following new operators are supported to compare the spatio-temporal relationships between two specified objects from various dimensions: the && operator, the @> operator, and the <@ operator. The && operator is used to check whether the two specified objects intersect. The @> operator is used to check whether the left operand-specified object includes the right operand-specified object. The <@ operator is used to check whether the left operand-specified object is included in the right operand-specified object.
    • The ST_ndIntersects, ST_ndDWithin, ST_ndContains, and ST_ndWithin functions are supported to process trajectories.
    • New features are added to collect trajectory statistics. You can estimate scan costs based on these trajectory statistics.
    • TrajGist indexes are supported to facilitate index selection.
  • The issue that causes failures to update rasters in specific cases is fixed.
  • The issue that binary files break down is fixed. This error may occur after the binary files are upgraded to later versions.
  • The issue that the data volume of top-level tiles is too large after vector pyramid point data is built with the default parameters is fixed.

V1.1.4

Feature Description
New features
  • The GROUP_ID() function is supported.
  • The CREATE INDEX CONCURRENTLY statement is supported to concurrently create indexes on partitioned tables.
  • The ALTER INDEX [NAME] INVISIBLE statement is supported to make the index of a standard table invisible.
  • The Alidecoding plug-is added to incrementally synchronize Data Manipulation Language (DML) statements between databases.
  • The pg_cron plug-in is supported. This plug-in is used to query the records of scheduled tasks.
  • Strings can be specified for the to_char() function.
  • The following operators are added to compare the prid_ data type of the ROWID column with the STRING data type such as TEXT. The operators are also used to compare the STRING data type such as TEXT with the prid_ data type of the ROWID column.
    • <
    • <=
    • >
    • >=
    • =
    • <>
  • The views of process status are added.
  • The views of time consumption statistics for SQL statements are added.
  • SQL errors are recorded in audit logs.
Fixed issues
  • Deadlocks may be caused by page prefetching in specific scenarios.
  • The issue that a JOIN query fails to retrieve the specified partition during partition pruning is fixed.
Ganos 3.0
  • The subset raster in a NetCDF raster file that has multiple subsets can be imported by specifying a subset name.
  • The following functions are added to obtain and specify the custom metadata and time series information of rasters:
    • The ST_MetaDataItems function is added to obtain all items of custom metadata.
    • The ST_MetaData function is added to obtain custom metadata items of a raster and return custom metadata items in JSON format. For more information, see ST_MetaData.
    • The ST_SetMetaData function is added to specify a metadata item of a raster. For more information, see ST_SetMetaData.
    • The ST_BeginDateTime function is added to obtain the start time of a raster. For more information, see ST_BeginDateTime.
    • The ST_EndDateTime function is added to obtain the end time of a raster. For more information, see ST_EndDateTime.
    • The ST_SetBeginDateTime function is added to specify the start time of a raster. For more information, see ST_SetBeginDateTime.
    • The ST_SetEndDateTime function is added to specify the end time of a raster. For more information, see ST_SetEndDateTime.
    • The ST_SetDateTime function is added to specify the start time and end time of a raster or the time information of a band. For more information, see ST_SetDateTime.
  • The following functions are added to convert a raster into a BYTEA-type image:
    • The ST_AsImage function is added to convert a raster into a BYTEA-type image. For more information, see ST_AsImage.
    • The ST_AsPng function is added to convert a raster into a BYTEA-type PNG image. For more information, see ST_AsPNG.
    • The ST_AsJPEG function is added to convert a raster into a BYTEA-type JPEG image. For more information, see ST_AsJPEG.
  • The GeomGrid data type and operations are added.
    • The GeomGrid data type is added. For more information, see GeomGrid usage notes.
    • The ST_AsText function is added to convert a raster into a BYTEA-type image. For more information, see ST_AsText.
    • The ST_AsGeometry function is added to obtain the geometry-represented range of a grid. For more information, see ST_AsGeometry.
    • The ST_AsBinary function is added to convert a grid into a binary structure. For more information, see ST_AsBinary.
    • The ST_AsBox function is added to convert a grid into a box structure. For more information, see ST_AsBox.
    • The ST_AsGrid function is added to query the grids that intersect with a geometry. For more information, see ST_AsGrid.
    • The ST_GridFromText function is added to convert a grid from a string into a GeomGrid structure. For more information, see ST_GridFromText.
    • The ST_GridFromBinary function is added to convert a grid from a binary structure into a GeomGrid structure. For more information, see ST_GridFromBinary.
    • The ST_Intersects function is added to identify the spatial relationship between two raster objects or between a raster object and a geometric object. This allows you to check whether the first specified object intersects with the second one. For more information, see ST_Intersects.
    • The ST_Contains function is added to identify the spatial relationship between two raster objects or between a raster object and a geometric object. This allows you to check whether the first specified object contains the second one. For more information, see ST_Contains.
    • The ST_Within function is added to identify the spatial relationship between two raster objects or between a raster object and a geometric object. This allows you to check whether the first specified object is within the second one. For more information, see ST_Within.
  • Fast storage of vector data types is supported.
    • The ST_BuildPyramid function is added to create a pyramid for a raster. For more information, see ST_BuildPyramid.
    • The ST_DeletePyramid function is added to delete a pyramid for a raster. For more information, see ST_DeletePyramid.
    • The ST_Tile function is added to obtain vector data in the MVT format. For more information, see ST_Tile.
  • The issue that out of memory (OOM) may occur when you create a pyramid in specific scenarios is fixed.
  • Trajectory objects fail to be created on January 1, 2000.
  • Trajectory objects may use ST_Intersection to return an invalid trajectory in specific scenarios.
  • A breakdown occurs during Ganos upgrade.
  • PolarDB for PostgreSQL is compatible with PostGIS 2.5.4.

V1.1.3

Feature Description
New features
  • The views of SQL execution statistics are added.
  • The views of queries per second (QPS) statistics are added.
  • The views of CGroup status statistics are added.
  • The SELECT permission on dba_* views is granted to the accounts that have the polar_superuser permission.
Fixed issues
  • Display errors of the polar_stat_io_info view.
  • The AWR system wait information is missing.
  • Errors occur during partition pruning.
  • Errors occur when the Segmented Least Recently Used (SLRU) algorithm is used to calculate the memory size.
  • RO is reconstructed due to a playback latency.
Ganos 2.8
  • The Cloud Optimized GeoTIFF (COG) files are supported. The pyramid information that is stored in COG files can be read.
  • The ST_AddZ function is added to add the Z coordinate to a geometric object based on the pixel value of a raster.
  • The following functions are added to enhance capabilities to obtain spatial information about rasters based on pyramid levels.
    • The ST_Extent function retrieves the spatial extent of a raster object and returns the box-represented range of the raster object. For more information, see ST_Extent.
    • The ST_Envelope function retrieves the bounding box of a raster object.
    • The ST_Convexhull function retrieves the minimum convex geometry that encloses all geometries within a raster object.
    • The ST_Height function is added to obtain the height of a raster in pixels. For more information, see ST_Height.
    • The ST_Width function is added to obtain the width of a raster in pixels. For more information, see ST_Width.
  • Performance issues occur when some raster objects that are stored in Object Storage Service (OSS) use the chunking dimension of 1 × n. Storage parameters are added for you to customize the size of the chunking dimension.
  • Fixes the issue that the returned values are different from the coordinates when you use the ST_Values ​​function to obtain values in certain directions. For more information, see ST_Values.
  • Fixes the issue that the ST_BestPyramidLevel function returns a negative value in some cases. For more information, see ST_BestPyramidLevel.
  • Fixes the issue that ST_BuildPyramid function may rebuild a pyramid in some cases. For more information, see ST_BuildPyramid.
  • Fixes the issue that the block table is not deleted when you truncate a raster table.
  • Fixes the issue that the ST_ExportTo function is invalid for CreateOption in some cases. For more information, see ST_ExportTo.
  • The ST_ClearChunks function fails if a table name contains both uppercase and lowercase letters.
  • Fixes the issue that an external pyramid cannot create an overview in some cases.
  • Fixes the issue that rasters with external pyramids cannot create internal pyramids.
  • The issue that invalid results are returned when you calculate the raster data that contains NaN values is fixed.

V1.1.2

Feature Description
New features
  • The Pivot syntax allows you to specify an alias for a table or a subquery.
  • The ROWID pseudocolumn and the ROWIDTOCHAR and CHARTOROWID functions are supported.
  • The LNNVL, DUMP, SYS_CONTEXT, USERENV, TZ_OFFSET, and VSIZE functions are supported.
  • DBMS_JOB and DBMS_SCHEDULER are supported and used to maintain and manage jobs.
  • Temporary tables can be written to local storage. This improves the read and write performance of temporary tables.
  • Accounts with the polar_superuser privilege are allowed to perform logical replication of events that are captured by the event trigger.
  • Requests from custom resource isolation groups are supported.
Performance optimization The recovery process after a crash is optimized. This reduces the amount of time that is required to recovery from specific cases.
Fixed issues The issue that accounts with the polar_superuser privilege cannot use the index advisor is fixed.
Ganos 2.8
  • The following enhancements are added to access raster metadata:
    • The ST_XMin function is added to obtain the minimum value in the X direction of raster data. For more information, see ST_XMin.
    • The ST_YMin function is added to obtain the minimum value in the Y direction of raster data. For more information, see ST_YMin.
    • The ST_XMax function is added to obtain the maximum value in the X direction of raster data. For more information, see ST_XMax.
    • The ST_YMax function is added to obtain the maximum value in the Y direction of raster data. For more information, see ST_YMax.
    • The ST_ChunkHeight function is added to obtain the height of a raster tile. For more information, see ST_ChunkHeight.
    • The ST_ChunkWidth function is added to obtain the width of a raster tile. For more information, see ST_ChunkWidth.
    • The ST_ChunkBands function is added to obtain the number of bands in a raster tile. For more information, see ST_ChunkBands.
  • The ST_SrFromEsriWkt function is added to convert the format of a spatial reference string from Esri into Open Geospatial Consortium (OGC). For more information, see ST_SrFromEsriWkt.
  • Raster data files can be compressed by the Zstandard (zstd) or Snappy compression tool.
  • Point cloud files can be copied in binary mode.
  • The PROJ_LIB and GDAL_DATA environment variables can be configured, and related data can be deployed.
  • The database breakdown issue that is caused by an invalid Object Storage Service (OSS) path is fixed.
  • The following issue is fixed: after the raster data is imported to databases, the spatial reference identifiers (SRIDs) of some raster data are inconsistent with original SRIDs.

V1.1.1

Feature Description
Built-in functions The NVL2 function is added. This function returns the value of the second or third parameter based on whether the value of the first parameter is NULL or an empty string.
Plug-ins
  • The polar_proxy_utils plug-in is added to manage proxy-related features. This plug-in allows you to configure read-only Universal Disk Format (UDF) files and read-only tables. It also allows you to route the requests that are sent to read-only UDF files and read-only tables to read-only nodes through a cluster endpoint
  • The polar_resource_group plug-in is added to customize resource groups. You can isolate resources such as CPU and memory on a per-user, per-database, or per-session basis.
Performance optimization
  • The compute nodes of databases are decoupled from file systems. This allows you to independently perform operations and maintenance (O&M) on file systems. It also improves the reliability and availability of databases.
  • The snapshot of the active transaction list is replaced with a commit sequence number (CSN). Each CSN is a monotonically increasing identifier. This improves the transaction processing performance of databases.
  • The execution plan is optimized to avoid the use of obsolete statistics.
Fixed issues
  • The issue that a database process failure occurs when the TimescaleDB plug-in fails to request memory is fixed.
  • The input/output (I/O) monitoring feature does not provide data statistics after a process exits.
  • A null pointer exception may occur after lock_debug is enabled.
  • The pg_cron plug-in becomes unavailable in specific cases.
  • The known issue of distributed shared memory (DSM) deadlock in PostgreSQL Community Edition.
  • The number of connections to a PolarDB-O cluster exceeds the upper limit.

V1.1.0

Feature Description
Built-in functions
  • The TO_SINGLE_BYTE function is added to convert multi-byte characters in a string into single-byte characters. For more information, see TO_SINGLE_BYTE and TO_MULTI_BYTE functions.
  • The TO_MULTI_BYTE function is added to convert single-byte characters in a string into multi-byte characters. For more information, see TO_SINGLE_BYTE and TO_MULTI_BYTE functions.
  • The REGEXP_LIKE function is added. You can use this function in the similar way as LIKE. The REGEXP_LIKE function complies with the POSIX regular expression.
  • The RATIO_TO_REPORT function is added to calculate the ratio of a value to the sum of a set of values.
  • The ROUND function is optimized to support the Interval data type. The returned values are measured in days. For more information, see ROUND.
Built-in packages and procedure functions
  • The DBMS_UTILITY.FORMAT_ERROR_STACK function (macro) is added to return the error stack.
  • The UTL_I18N.ESCAPE_REFERENCE and UTL_I18N.UNESCAPE_REFERENCE functions are added. These functions provide escape and unescape mechanisms for HTML or XML characters.
Built-in views The polar_stat_activity view is optimized and the wait_info and wait_time columns are added. The wait_info column displays the object for which the current process is waiting, and the wait_time column displays the amount of time that the process needs to wait. If the object is a process, the process identifier (PID) is displayed. If the object is a file, the file descriptor (FD) is displayed.
Data query languages (DQL) and DML The INSERT ALL syntax is supported to allow you to insert data into multiple tables at a time.
Plug-ins
  • The polar_concurrency_control plug-in is added to set a concurrency limit on transaction executions, SQL queries, stored procedures, and DML operations. You can customize large queries and set a concurrency limit on large queries. This improves the execution efficiency in high concurrency scenarios.
  • The pldebugger plug-in is added to debug on-premises stored procedures. You can use the client pgAdmin 4 4.19 and later.
  • The oss_fdw plug-in is added to support external tables of Alibaba Cloud OSS. You can use OSS external tables to write data of PolarDB-O databases to OSS, or load data from OSS to PolarDB-O databases. You can use multiple external tables in parallel or compress data during imports and exports. This improves the efficiency of data imports and exports. You can also use this feature to separate hot data and cold data that are stored in a wide range of storage media. For more information, see Read and write external data files by using oss_fdw.
Performance optimization The pre-extension feature is added. This feature automatically adds additional index pages when index pages are insufficient for new indexes. This improves the execution efficiency when data is inserted into a table with indexes.
Ganos 2.7
  • MD5 functions are added for spatial raster objects. You can invoke these functions to check data consistency and remove duplicates.
    • The ST_MD5Sum function is added to obtain the MD5 hash value of a raster object. For more information, see ST_MD5Sum.
    • The ST_SetMD5Sum function is added to set the MD5 hash value of a raster object. For more information, see ST_SetMD5Sum.
  • OSS authentication functions are added for spatial raster objects:
    • The ST_AKId function is added to obtain the AccessKey ID of a raster object stored in OSS. For more information, see ST_AKId.
    • The ST_SetAccessKey function is added to set the AccessKey ID and the AccessKey secret of a raster object that is stored in OSS. For more information, see ST_SetAccessKey.
    • The ST_SetAKId function is added to set the AccessKey ID of a raster object that is stored in OSS. For more information, see ST_SetAKId.
    • The ST_SetAKSecret function is added to set the AccessKey secret of a raster object that is stored in OSS. For more information, see ST_SetAKSecret.
  • Metadata functions are added for spatial rasters:
    • The ST_ScaleX function is added to obtain the pixel width of a raster object on the X-axis of the spatial reference system. For more information, see ST_ScaleX.
    • The ST_ScaleY function is added to obtain the pixel width of a raster object on the Y-axis of the spatial reference system. For more information, see ST_ScaleY.
    • The ST_SetScale function is added to set the pixel width of a raster object in the spatial reference system. For more information, see ST_ScaleY.
    • The ST_SkewX function is added to obtain the skew of a raster object on the X-axis of the spatial reference system. For more information, see ST_SkewX.
    • The ST_SkewY function is added to obtain the skew of a raster object on the Y-axis of the spatial reference system. For more information, see ST_SkewY.
    • The ST_SetSkew function is added to set the skew of a raster object in the spatial reference system. For more information, see ST_SetSkew.
    • The ST_UpperLeftX function is added to obtain the upper-left X-coordinate of a raster object in the spatial reference system. For more information, see ST_UpperLeftX.
    • The ST_UpperLeftY function is added to obtain the upper-left Y-coordinate of a raster object in the spatial reference system. For more information, see ST_UpperLeftY.
    • The ST_SetUpperLeft function is added to set the upper-left coordinates of a raster object in the spatial reference system. For more information, see ST_SetUpperLeft.
    • The ST_PixelWidth function is added to obtain the pixel width of a raster object in the spatial reference system. For more information, see ST_PixelWidth.
    • The ST_PixelHeight function is added to obtain the pixel height of a raster object in the spatial reference system. For more information, see ST_PixelHeight.
  • The issue of extension upgrade failures caused by aggregate functions is fixed.