Version 11.1.7 v11
New features, enhancements, bug fixes, and other changes in EDB Postgres Advanced Server 11 include:
Type | Category | Description |
---|---|---|
Upstream Merge | Merged with community PostgreSQL 11. See the community Release Notes for details. | |
Feature | General Functionality | Advanced Server no longer creates the dbo system catalog in its databases. |
Feature | General Functionality | Advanced Server now supports data redaction. Data redaction is a technique for limiting the exposure of sensitive data to certain users. Data redaction results in the alteration of the displayed data to such users. This is accomplished by defining redaction policies for tables with sensitive data. |
Feature | General Functionality | You can use the edb_filter_log.redact_password_commands extension to instruct the server to redact stored passwords from the log file. |
Feature | General Functionality | Advanced Server now supports EDB wait states, which is a background worker that probes each running session at a regular interval collecting information such as the database connection, the logged in user, the running query, and the wait events. |
Feature | General Functionality | Advanced Server now permits an infinite number of tries for custom plan generation if you set the edb_custom_plan_tries parameter to -1 . |
Feature | General Functionality | The output format of the version() function has been changed to appear more consistent with the PostgreSQL community version output. |
Feature | General Functionality | Advanced Server now supports SPL standalone procedure overloading. Note that this feature is not compatible with Oracle databases. |
Feature | General Functionality | Advanced Server now supports the PRAGMA AUTONOMOUS_TRANSACTION directive within any SPL block to provide the autonomous transaction capability. |
Feature | General Functionality | Advanced server now offers performance improvements to libpq dblink and the OCI. |
Enhancement | Partitioning | Allow faster partition elimination during query processing; this speeds access to partitioned tables with many partitions. |
Enhancement | Partitioning | Allow partition elimination during query execution. |
Enhancement | Partitioning | Allow the creation of partitions based on hashing a key. |
Enhancement | Partitioning | Allow updated rows to automatically move to new partitions based on the new row contents. |
Enhancement | Partitioning | Allow partitioned tables to have a default partition. |
Enhancement | Partitioning | Allow UNIQUE indexes on partitioned tables if the partition key guarantees uniqueness. |
Enhancement | Partitioning | Allow indexes on a partitioned table to be automatically created in any child partitions. The new command ALTER INDEX ATTACH PARTITION allows indexes to be attached to partitions. This does not behave as a global index since the contents are private to each index. WARN WHEN USING AN EXISTING INDEX? |
Enhancement | Partitioning | Allow foreign keys on partitioned tables. |
Enhancement | Partitioning | Allow INSERT , UPDATE , and COPY on partitioned tables to properly route rows to foreign partitions. This is supported by postgres_fdw foreign tables. |
Enhancement | Partitioning | Allow FOR EACH ROW triggers on partitioned tables. |
Enhancement | Partitioning | Allow equality joins between partitioned tables with identically partitioned child tables to join the child tables directly. |
Enhancement | Partitioning | Perform aggregation on each partition, and then merge the results. |
Enhancement | Partitioning | Allow postgres_fdw to push down aggregates to foreign tables that are partitions. |
Enhancement | Parallel Queries | Allow B-tree indexes to be built in parallel. |
Enhancement | Parallel Queries | Allow hash joins to be performed in parallel using a shared hash table. |
Enhancement | Parallel Queries | Allow UNION to run each SELECT in parallel if the individual SELECTs cannot be parallelized. |
Enhancement | Parallel Queries | Allow partition scans to more efficiently use parallel workers. |
Enhancement | Parallel Queries | Allow LIMIT to be passed to parallel workers. |
Enhancement | Parallel Queries | Allow single-evaluation queriea (for example, WHERE clause aggregate queries) and functions in the target list to be parallelized. |
Enhancement | Parallel Queries | Add server option parallel_leader_participation to control if the leader executes subplans. |
Enhancement | Parallel Queries | Allow parallelization of commands CREATE TABLE .. AS , SELECT INTO , and CREATE MATERIALIZED VIEW . |
Enhancement | Parallel Queries | Improve performance of sequential scans with many parallel workers. |
Enhancement | Parallel Queries | Add reporting of parallel worker sort activity to EXPLAIN . |
Enhancement | Indexes | Allow indexes to INCLUDE columns that are not part of the unique constraint but are available for index-only scans. This is also useful for including columns that don't have B-tree support. |
Enhancement | Indexes | Remember the highest B-tree index page to optimize future monotonically increasing index additions. |
Enhancement | Indexes | Allow entire hash index pages to be scanned. Previously for each hash index entry, we need to refind the scan position within the page. This cuts down on lock/unlock traffic. |
Enhancement | Indexes | Add predicate locking for hash, GiST and GIN indexes. |
Enhancement | Indexes | Allow heap-only-tuple (HOT) updates for expression indexes when the values of the expressions are unchanged. |
Enhancement | SP-Gist | Add TEXT prefix operator ^@ which is supported by SP-GiST. |
Enhancement | SP-Gist | Allow polygons to be indexed with SP-GiST. |
Enhancement | SP-Gist | Allow SP-GiST to use lossy representation of leaf keys. |
Enhancement | Optimizer | Improve the selection of the optimizer statistics' most-common-values. |
Enhancement | Optimizer | Improve selectivity estimates for >= and <= when the constants are not common values. |
Enhancement | Optimizer | Optimize var = var to var IS NOT NULL where equivalent. |
Enhancement | Optimizer | Improve row count optimizer estimates for EXISTS and NOT EXISTS queries. |
Enhancement | Optimizer | Add optimizer selectivity costs for HAVING clauses. |
Enhancement | Performance | Add Just-in-Time (JIT) compilation of some parts of query plans to improve execution speed. |
Enhancement | Performance | Allow bitmap scans to perform index-only scans when possible. |
Enhancement | Performance | Update the free space map during vacuum. |
Enhancement | Performance | Allow vacuum to avoid unnecessary index scans. |
Enhancement | Performance | Improve performance of committing multiple concurrent transactions. |
Enhancement | Performance | Reduce memory usage for queries using set-returning functions in their target lists. |
Enhancement | Performance | Allow postgres_fdw to push UPDATEs and DELETEs using joins to foreign servers. |
Enhancement | Monitoring | Show memory usage in log_statement_stats , log_parser_stats , log_planner_stats , log_executor_stats . |
Enhancement | Monitoring | Add pg_stat_activity.backend_type now shows the type of background worker. |
Enhancement | Monitoring | Add bgw_type to the background worker C structure. This is displayed to the user in pg_stat_activity.backend_type and ps output. |
Enhancement | Monitoring | Have log_autovacuum_min_duration log skipped tables that are concurrently being dropped. |
Enhancement | Information Schema | Add information_schema columns related to table constraints and triggers. |
Enhancement | Authentication | Allow the server to specify more complex LDAP specifications in search+bind mode. |
Enhancement | Authentication | Allow LDAP authentication to use ldaps. |
Enhancement | Authentication | Improve LDAP logging of errors. |
Enhancement | Permissions | Add default roles which control file system access. |
Enhancement | Permissions | Allow access to file system functions to be controlled by GRANT/REVOKE permissions, rather than superuser checks. |
Enhancement | Permissions | Use GRANT/REVOKE to control access to lo_import() and lo_export() . |
Enhancement | Permissions | Compile-time option ALLOW_DANGEROUS_LO_FUNCTIONS has been removed. |
Enhancement | Permissions | Use viewowner not session owner when preventing non-password access to postgres_fdw tables. |
Enhancement | Permissions | Fix invalid locking permission check in SELECT FOR UPDATE on views. |
Enhancement | Server Configuration | Add server setting ssl_passphrase_command to allow supplying of the passphrase for SSL key files. |
Enhancement | Server Configuration | Add storage parameter toast_tuple_target to control the minimum length before TOAST storage will be considered for new rows. |
Enhancement | Server Configuration | Allow server options related to memory and file sizes to be specified as a number of bytes. |
Enhancement | Write-Ahead Log (WAL) | Allow the WAL file size to be set via initdb . |
Enhancement | Write-Ahead Log (WAL) | Do not retain WAL that spans two checkpoints. |
Enhancement | Write-Ahead Log (WAL) | Fill the unused portion of force-switched WAL segment files with zeros for improved compressibility. |
Enhancement | Base Backup and Streaming Replication | Replicate TRUNCATE activity when using logical replication. |
Enhancement | Base Backup and Streaming Replication | Pass prepared transaction information to logical replication subscribers. |
Enhancement | Base Backup and Streaming Replication | Exclude unlogged tables, temporary tables, and pg_internal.init files from streaming base backups. |
Enhancement | Base Backup and Streaming Replication | Allow heap pages checksums to be checked during streaming base backup. |
Enhancement | Base Backup and Streaming Replication | Allow replication slots to be advanced programmatically rather than be consumed by subscribers. |
Enhancement | Base Backup and Streaming Replication | Add timeline information to the backup_label file. |
Enhancement | Base Backup and Streaming Replication | Add host and port connection information to the pg_stat_wal_receiver system view. |
Enhancement | Window Functions | Add window function features to complete SQL:2011 compliance. |
Enhancement | Utility Commands | Allow ALTER TABLE to add a column with a non-null default without a table rewrite. |
Enhancement | Utility Commands | Allow views to be locked by locking the underlying tables. |
Enhancement | Utility Commands | Allow ALTER INDEX to set statistics-gathering targets for expression indexes. |
Enhancement | Utility Commands | In psql, \d+ now shows the statistics target for indexes. |
Enhancement | Utility Commands | Allow multiple tables to be specified in one VACUUM or ANALYZE command. Also, if any table mentioned in VACUUM uses a column list, then the ANALYZE keyword must be supplied; previously, ANALYZE was implied in such cases. |
Enhancement | Utility Commands | Add parenthesized options syntax to ANALYZE . This is similar to the syntax supported by VACUUM . |
Enhancement | Utility Commands | Add CREATE AGGREGATE option to specify the behavior of the aggregate finalization function. |
Enhancement | Data Types | Allow the creation of arrays of domains. |
Enhancement | Data Types | Support domains over composite types. |
Enhancement | Data Types | Add casts from jsonb scalars to numeric and boolean data types. |
Enhancement | Functions | Add SHA-2 family of hash functions; specifically, sha224() , sha256() , sha384() , sha512() were added. |
Enhancement | Functions | Add support for 64-bit non-cryptographic hash functions. |
Enhancement | Functions | Allow to_char() and to_timestamp() to specify the time zone's hours and minutes from UTC. |
Enhancement | Functions | Improve the speed of aggregate computations. |
Enhancement | Functions | Add text search function websearch_to_tsquery() that supports a query syntax similar to that used by web search engines. |
Enhancement | Functions | Add function json(b)_to_tsvector() to create a text search query for matching JSON/JSONB values. |
Enhancement | Server-Side Languages | Add SQL-level procedures, which can start and commit their own transactions. They are created with the new CREATE PROCEDURE command and invoked via CALL . The new ALTER/DROP ROUTINE commands allows altering/dropping of procedures, functions, and aggregates. |
Enhancement | Server-Side Languages | Add transaction control to PL/pgSQL, PL/Perl, PL/Python, PL/Tcl, and SPI server-side languages. |
Enhancement | Server-Side Languages | Add the ability to define PL/pgSQL record types as not null, constant, or with initial values. |
Enhancement | Server-Side Languages | Allow PL/pgSQL to handle changes to composite types (e.g. record, row) that happen between the first and later function executions in the same session. Previously such circumstances generated errors. |
Enhancement | Server-Side Languages | Add extension jsonb_plpython to transform JSONB to/from PL/Python types. |
Enhancement | Server-Side Languages | Add extension jsonb_plperl to transform JSONB to/from PL/Perl types. |
Enhancement | Client Interfaces | Change libpq to disable compression by default. |
Enhancement | Client Interfaces | Add DO CONTINUE action to the ECPG WHENEVER statement. |
Enhancement | Client Interfaces | Add ecpg mode to enable Oracle Pro*C handling of char arrays. This mode is enabled with -C. |
Enhancement | psql | Add psql command \gdesc to display the column names and types of the query output. |
Enhancement | psql | Add psql variables to report query activity and errors. |
Enhancement | psql | Allow psql to test for the existence of a variable. |
Enhancement | psql | Add PSQL_PAGER to control psql's pager. |
Enhancement | psql | Have psql \d+ always show the partition information. |
Enhancement | psql | Have psql report the proper user name before the password prompt. |
Enhancement | psql | Allow quit and exit to exit psql when used in an empty buffer. |
Enhancement | psql | Have psql hint at using control-D when \q is entered alone on a line but ignored. |
Enhancement | psql | Improve tab-completion for ALTER INDEX RESET/SET . |
Enhancement | psql | Add infrastructure to allow psql to customize tab completion queries based on the server version. Previously tab completion queries could fail. |
Enhancement | pgbench | Add pgbench expressions support for NULLs, booleans, and some functions and operators. |
Enhancement | pgbench | Add \if conditional support to pgbench. |
Enhancement | pgbench | Allow the use of non-ASCII characters in pgbench variable names. |
Enhancement | pgbench | Add pgbench option --init-steps to control the initialization steps performed. |
Enhancement | pgbench | Add an approximated Zipfian-distributed random generator to pgbench. |
Enhancement | pgbench | Allow the random seed to be set in pgbench. |
Enhancement | pgbench | Allow pgbench to do exponentiation with pow() and power() . |
Enhancement | pgbench | Add hashing functions to pgbench. |
Enhancement | pgbench | Make pgbench statistics more accurate when using --latency-limit and --rate . |
Enhancement | Server Applications | Add an option to pg_basebackup that creates a named replication slot. The option --create-slot creates the named replication slot (--slot) when the WAL streaming method (--wal-method=stream) is used. |
Enhancement | Server Applications | Allow initdb to set group read access to the data directory. |
Enhancement | Server Applications | Add pg_verify_checksums tool to verify database checksums while offline. |
Enhancement | Server Applications | Allow pg_resetwal to change the WAL segment size via --wal-segsize . |
Enhancement | Server Applications | Add long options to pg_resetwal and pg_controldata . |
Enhancement | Server Applications | Add pg_receivewal option --no-sync to prevent synchronous WAL writes, for testing. |
Enhancement | Server Applications | Add pg_receivewal option --endpos to specify when WAL receiving should stop. |
Enhancement | Server Applications | Allow pg_ctl to send the SIGKILL signal to processes. |
Enhancement | Server Applications | Reduce the number of files copied by pg_rewind . |
Enhancement | Server Applications | Prevent pg_rewind from running as root. |
Enhancement | pg_dump, pg_dumpall, pg_restore | Add pg_dumpall option --encoding to control encoding. |
Enhancement | pg_dump, pg_dumpall, pg_restore | Add pg_dump option --load-via-partition-root to force loading of data into the partition's root table rather than the original partitions. |
Enhancement | pg_dump, pg_dumpall, pg_restore | Add an option to suppress dumping and restoring comments. |
Enhancement | Source Code | Add support for large pages on Windows. |
Enhancement | Source Code | Add support for ARMv8 hardware CRC calculations. |
Enhancement | Source Code | Convert documentation to DocBook XML. |
Enhancement | Source Code | Use stdbool.h to define type bool on platforms where it's suitable. |
Enhancement | Source Code | Add ability to use channel binding when using SCRAM authentication. |
Enhancement | Source Code | Overhaul the way system tables are defined for bootstrap use. |
Enhancement | Source Code | Allow background workers to attach to databases that normally disallow connections. |
Enhancement | Source Code | Speed up lookups of built-in function names matching OIDs. |
Enhancement | Source Code | Speed up construction of query results. |
Enhancement | Source Code | Improve access speed to system caches. |
Enhancement | Source Code | Add a generational memory allocator which is optimized for serial allocation/deallocation. |
Enhancement | Source Code | Make the computation of system column pg_class.reltuples consistent. |
Enhancement | Source Code | Update to use perltidy version. |
Enhancement | Additional Modules | Allow extension pg_prewarm to restore the previous shared buffer contents on startup. |
Enhancement | Additional Modules | Add pg_trgm function strict_word_similarity() to compute the similarity of whole words. |
Enhancement | Additional Modules | Allow creation of indexes on citext extension columns that can be used by LIKE comparisons. |
Enhancement | Additional Modules | Allow btree_gin to index bool, bpchar, name and uuid data types. |
Enhancement | Additional Modules | Allow cube and seg extensions using GiST indexes to perform index-only scans. |
Enhancement | Additional Modules | Allow retrieval of negative cube coordinates using the ~> operator. |
Enhancement | Additional Modules | Add Vietnamese letter detection to the unaccent extension. |
Enhancement | Additional Modules | Enhance amcheck to check that each heap tuple has an index entry. |
Enhancement | Additional Modules | Have adminpack use the new default file system access roles. |
Enhancement | Additional Modules | Increase pg_stat_statement 's query id to 64 bits. |
Enhancement | Additional Modules | Install errcodes.txt to provide access to the error codes reported by PostgreSQL. |
Enhancement | Additional Modules | Prevent extensions from creating custom server variables that take a quoted list of values. |
Enhancement | Additional Modules | Removed contrib/start-scripts/osx . |
Enhancement | Additional Modules | Removed the chkpass extension. |
Deprecated Features
The PL/Java package is deprecated in EDB Postgres Advanced Server 11 and will be unavailable in EDB Postgres Advanced Server 12.
Advanced Server no longer supports the Infinite Cache feature. All related components have been removed such as the functions, scripts, configuration parameters, and columns from statistical tables and views.
Component Certification
The following components are included in the EDB Postgres Advanced Server v12 release:
- Procedural Language Packs – PL/Perl 5.26, PL/Python 3.7, PL/TCL 8.6
- CloneSchema 1.10
- EDB_Wait_States 1.0 (formerly known as Edb-Modules)
- Parallel Clone 1.5
- pgAgent 4.15
- Slony 2.2.8
- Connectors JDBC 42.2.8, ODBC 12.00.0000 .NET 4.0.10.1, OCI 11.0.3.1
- pgAdmin 4.15
- pgBouncer 1.12.0
- pgPool-II & pgPool-IIExtensions 4.0.6
- MTK 53.0.0
- EDBPlus 38.0.0
- PostGIS-JDBC 2.2.1
- On this page
- Deprecated Features
- Component Certification