This topic describes the engine release notes for AnalyticDB for PostgreSQL in elastic storage mode in 2021 and provides links to the relevant references.
You can update your instances to the latest minor engine version in the AnalyticDB for PostgreSQL console. For more information about how to update the minor engine version, see Update the minor engine version.
December 6, 2021 (V6.3.6.1)
Category | Feature | Description | References |
---|---|---|---|
New feature | Materialized view | The query rewrite feature is supported for materialized views to improve performance for JOIN operations, aggregate functions, subqueries, common table expressions (CTEs), and high-concurrency SQL statements. | |
Real-time materialized views are supported for partitioned tables. | Real-time materialized views | ||
Partitioned table | The INSERT ON CONFLICT statement is supported for partitioned tables. | Use INSERT ON CONFLICT to overwrite data | |
The COPY ON CONFLICT statement is supported for partitioned tables. | Use COPY ON CONFLICT to overwrite data | ||
Scheduled task | The following features are provided for scheduled tasks after the pg_cron plug-in is updated to V1.4:
| Use the pg_cron plug-in to configure scheduled tasks | |
Data readable during compute node specification changes | In versions earlier than V6.3.6.1, the data of each table is redistributed when the compute node specifications are being changed, and tables are not readable or writable. In V6.3.6.1 and later, all tables are readable and only the tables that incur data redistribution are not writable during this process. This improvement reduces the impact of compute node specification changes on your business. | None | |
Fixed issue | The issue that may cause Unexpected gang size error errors in specific scenarios is fixed. | ||
The issue that may cause frequent FATAL: reader could not find writer proc entry errors in specific scenarios is fixed. | |||
The issue that may cause the Laser engine to incur left join errors in specific scenarios is fixed. | |||
The issue that may cause data restoration failures for Basic Edition instances due to an invalid synchronous_standby_names parameter is fixed. |
October 13, 2021 (V6.3.5.2)
Category | Feature | Description | References |
---|---|---|---|
New feature | Auto-merge | Auto-merge is a process that runs in the backend of AnalyticDB for PostgreSQL to automatically sort data. This feature checks the status of data in a table on a regular basis. It sorts new unordered data and merges the data with the existing ordered data. Auto-merge supports only append-optimized (AO) tables that are configured with sort keys. | Auto-merge |
Automatic closing of idle connections | Connections can be closed 6 hours after they become idle. Note | None | |
Optimized feature | Sorting acceleration | The sorting acceleration feature is supported when data is updated. | Configure sorting acceleration |
Laser engine |
| Use the Laser computing engine | |
Maximum number of user connections | The maximum number of user connections is increased based on instance specifications of AnalyticDB for PostgreSQL.
| Limits | |
Real-time materialized view |
| Real-time materialized views | |
PL/Java | By default, the PL/Java feature is disabled. | Create and use PL/Java UDFs | |
Fixed issue | The issue that the column name cannot contain totalrows or totaldeadrows is fixed. | ||
The issue that the data type cannot be converted from INT96 to TIMESTAMP in Parquet-formatted Object Storage Service (OSS) foreign tables is fixed. | |||
The issue that may cause archiving exceptions is fixed. Archiving exceptions may occur because archiving programs are missing or Python modules fail to be imported after a primary/secondary switchover. | |||
The issue that may cause memory leaks if data is accessed or a source file is changed while OSS foreign tables are being scanned is fixed. |
July 13, 2021 (V6.3.4.0)
Category | Feature | Description | References |
---|---|---|---|
New feature | Laser engine | By default, the Laser engine is enabled in AnalyticDB for PostgreSQL. | Use the Laser computing engine |
Parallel query | By default, parallel query is enabled for individual tables in AnalyticDB for PostgreSQL. | Configure parallel query | |
Sorting acceleration | The sorting acceleration feature is supported. After you execute a SORT <tablename> statement, the system sorts the data of the specified table. Then, AnalyticDB for PostgreSQL pushes operators such as SORT down to the storage layer so that queries are accelerated based on the physical order of data. This feature can accelerate queries that contain SORT, AGG, and JOIN operators based on sort keys. | Configure sorting acceleration | |
Minor version query | Global User Configuration (GUC) parameters are supported to query the minor version of AnalyticDB for PostgreSQL. The following statement is used:
| View the minor engine version | |
Optimized feature | Real-time materialized view | Performance is enhanced for real-time materialized views. The aggregate functions MAX and MIN can be used in DELETE and UPDATE statements. CTEs can be used in change statements executed on base tables. | Real-time materialized views |
Fixed issue | In previous versions, Panic errors may occur in the checkpoint process on the secondary server after you truncate an AO table multiple times in a transaction and then abort the transaction. This issue is fixed. |
May 28, 2021
Category | Feature | Description | References |
---|---|---|---|
New feature | AUTO VACUUM | The auto-vacuum feature is supported to automatically execute VACUUM statements. Auto-vacuum checks for tables that have a large number of INSERT, UPDATE, or DELETE operations. When necessary, auto-vacuum executes a VACUUM statement on the tables to vacuum junk data to accelerate queries. By default, when more than half of the rows of a table are deleted, auto-vacuum executes a VACUUM statement on the table to vacuum junk data. | Configure scheduled maintenance tasks to clear junk data |
AUTO ANALYZE | The auto-analyze feature is supported to automatically execute ANALYZE statements. Auto-analyze checks for tables that have a large number of INSERT, UPDATE, or DELETE operations. When necessary, auto-analyze executes an ANALYZE statement on the tables to collect their statistics after the operations. By default, when these operations are performed on more than 10% of the rows in a table, auto-analyze executes an ANALYZE statement on the table. | Use the ANALYZE statement to collect statistics on AnalyticDB for PostgreSQL | |
BRIN index | BRIN stands for Block Range Index and is supported for compressed AO tables. For example, BRIN indexes can be used to query large-range data from an ordered table or filter out data blocks that are not needed to reduce I/O. When large datasets are involved, BRIN indexes can provide similar or superior performance but require less physical storage and generation costs compared with other indexes such as B-tree indexes. | Manage indexes | |
Parallel query (beta) | The rds_segment_expansion_coeff parameter is supported for session-level queries. The parameter value is of the INTEGER type, and the default value is 1. This parameter specifies a multiple of cores for a single query to implement parallel query and uses a query optimizer to further optimize the query. In scenarios with low queries per second (QPS), this parameter can linearly improve the performance of compute-intensive queries executed for longer than 3 seconds. Typical scenarios include aggregate queries for individual tables (TPC-H Q1 or TPC-H Q6) and join operations between large and small tables. However, this parameter provides only marginal improvements for I/O-intensive queries and high disk usage scenarios, and may reduce the performance for network-intensive queries. | None | |
Real-time materialized view (beta) | Real-time materialized views are supported for AnalyticDB for PostgreSQL. Real-time materialized views provide features similar to those of materialized views, but do not require you to manually execute REFRESH statements when data changes. | Real-time materialized views | |
Optimized feature | Instance endpoints can be used to perform DDL operations between the BEGIN transaction block and the ROLLBACK or COMMIT transaction block. | ||
Instance endpoints can be used to perform TEMP TABLE and TEMP VIEW operations for session-level queries. |