Contents
- Minor version releases
- Major features
- Useful links
- SQL changes
- Backend changes
- System catalogue changes
- System function changes
- Indexing changes
- Partitioning changes
- Configuration changes
- Users/roles
- Foreign data wrapper changes
- Server utilities
- Core utilities
- psql changes
- Contrib modules
- Documentation
- Testing
- Pre-release test versions
PostgreSQL 11
- Release notes (source file)
- Released: 2018-10-18 (release announcement)
- Current minor version: 11.18 (2022-11-10)
- EOL: 2023-11 (estimated)
- Documentation: PostgreSQL 11
- GIT branch: REL_11_STABLE
Minor version releases
- 11.18 (2022-11-10; release notes, announcement)
- 11.17 (2022-08-11; release notes, announcement)
- 11.16 (2022-05-12; release notes, announcement)
- 11.15 (2022-02-10; release notes, announcement)
- 11.14 (2021-11-11; release notes, announcement)
- 11.13 (2021-08-12; release notes, announcement)
- 11.12 (2021-05-13; release notes, announcement)
- 11.11 (2021-02-11; release notes, announcement)
- 11.10 (2020-11-12; release notes, announcement)
- 11.9 (2020-08-13; release notes, announcement)
Major features
- Improvements to partitioning functionality
- Improvements to parallelism
- SQL stored procedures which support embedded transactions (initial commit e4128ee7)
- Optional Just-in-Time (JIT) compilation for some SQL code
- Expanded support for window functions
- Covering indexes can now be created (commit 8224de4f)
ALTER TABLE ... ADD COLUMN
with a non-null constant default no longer requires a table rewrite (initial commit 16828d5c)
Useful links
- PostgreSQL 11 observability (interactive chart from DataEgret)
SQL changes
General:
- support for all SQL:2011 options for window frame clauses added (commit 0a459cec)
Added:
ALTER PROCEDURE
(commit e4128ee7)ALTER ROUTINE
(commit e4128ee7)CALL
(commit e4128ee7)CREATE PROCEDURE
(commit e4128ee7)DROP PROCEDURE
(commit e4128ee7)DROP ROUTINE
(commit e4128ee7)
Modified:
ALTER EXTENSION
- support for
PROCEDURE
andROUTINE
member objects added (commit e4128ee7)
- support for
ALTER INDEX
ANALYZE
- syntax
ANALYZE (option [, ...] )
added (commit 854dd8cf)
- syntax
COMMENT ON
COPY
COPY
available for foreign tables and foreign partitions, if the underlying foreign data wrapper provides support (commit 3d956d95)COPY FREEZE
disallowed on partitioned tables (commit a4db7fe0)COPY
can also be executed by members of the default rolespg_read_server_files
,pg_write_server_files
andpg_execute_server_program
(commit 0fdc8495)
CREATE AGGREGATE
- support for tracking whether aggregate final functions modify transition state (commit 4de2d4fb)
CREATE EVENT TRIGGER
EXECUTE FUNCTION
syntax added (commit 3b983c33)
CREATE FUNCTION
- obsolete and non-standard
WITH
clause removed (commit 4971d2a3)
- obsolete and non-standard
CREATE INDEX
- support for covering indexes via the
INCLUDE
clause added (commit 8224de4f)
- support for covering indexes via the
CREATE OPERATOR
CREATE OPERATOR ... FUNCTION ...
syntax added (commit fd4417e8)
CREATE TRIGGER
EXECUTE FUNCTION
syntax added (commit 0a63f996)
EXPLAIN
- parallel workers' sort activity displayed in output (commit bf11e7ee)
INSERT
INSERT ... ON CONFLICT ...
allowed on partitioned tables (commit 555ee77a)
Backend changes
General
- the data directory can now be made group-readable (commit c37b3d08)
- WAL segment size is now configurable when
initdb
is run (commit fc49e24f) - estimation of pg_class.
reltuples
by vacuum and analyze operations made consistent (commit 7c91a036)
Source configuration
- option
--with-llvm
added (commit 5b2526c8)
bootstrap
- catalog data format converted to use Perl data structures (initial commit 372728b0)
background workers
bgw_type
field added; the value set here will be visible inpg_stat_activity
'sbackend_type
column instead of the generic value "background worker
", and also shown as theps
process display label (commit 5373bc2a)- background workers can attach to databases which normally disallow connections (commit eed1ce72)
Executor
- parallel-aware hash joins added (commit 18042840)
LIMIT
can be passed to parallel workers (commit 3452dc52)- support for Parallel Append plan nodes (commit ab727167)
UNION [ALL]
able to run eachSELECT
in parallel if the individualSELECT
s cannot be parallelized (commit 88ba0ae2)
Optimizer
- selection of the most common values (MCVs) for statistics improved (commit b5db1d93)
Storage parameters
Added:
toast_tuple_target
(commit c2513365)
Vacuum
- orphaned temporary tables dropped more aggressively (commit 943576bd)
WAL
- secondary checkpoint removed, meaning WAL is no longer retained beyond the most recent checkpoint (commit 4b0d28de)
System catalogue changes
Tables
Modified:
pg_aggregate
- following columns added:pg_class
- column
relhaspkey
removed (commit f66e8bf8)
- column
pg_index
- column
indnkeyatts
added (commit 8224de4f)
- column
pg_partitioned_table
- column
partdefid
added (commit 6f6b99d1)
- column
pg_proc
- columns
proisagg
andproiswindow
replaced byprokind
(commit fd1a421f)
- columns
pg_publication
column
pubtruncate
added (commit 039eb6e9)
Views
Modified:
pg_stat_activity
- in column
backend_type
, value shown for background workers is defined by the background worker itself (commit 5373bc2a)
- in column
pg_stat_wal_receiver
- following columns added (commit 9a895462):sender_host
sender_port
System function changes
Added:
json_to_tsvector()
(commit 1c1791e0)jsonb_to_tsvector()
(commit 1c1791e0)pg_jit_available()
(commit 432bb9e0)pg_replication_slot_advance()
(commit 9c7d06d6)sha224()
(commit 10cfce34)sha256()
(commit 10cfce34)sha384()
(commit 10cfce34)sha512()
(commit 10cfce34)starts_with()
(commit 710d90da)websearch_to_tsquery()
(commit 1664ae19)
Modified:
to_char()
TZH
andTZM
format patterns added for specifying the time zone's offset fromUTC
in hours and minutes (commit 11b623dd))
to_timestamp()
TZH
andTZM
format patterns added for specifying the time zone's offset fromUTC
in hours and minutes (commit 11b623dd))
Indexing changes
btree
- support for parallel index builds added (commit 9da0cc35)
GIN
- predicate locking added (commit 43d1ed60)
GiST
- predicate locking added (commit 3ad55863)
hash
- predicate locking added (commit b508a56f)
SP-GiST
^@
operator ("starts with") added (commit 710d90da)- support for indexing polygons added (commit ff963b39)
- support for lossy representation of leaf keys added (commit 854823fa)
Partitioning changes
- support for default partitions added (commit 6f6b99d1)
- partition pruning is able to handle any stable expression (commit 73b7f48f)
- support for partition pruning at execution time added (commit 499be013)
- hash partitioning support added (commit 1aba8e65)
UPDATE
can now move tuples between partitions (initial commit 2f178441)- unique indexes allowed on partitioned tables (commit eb7ed3f3)
INSERT ... ON CONFLICT ...
allowed on partitioned tables (commit 555ee77a)- foreign keys allowed on partitioned tables (commit 3de241db)
FOR EACH ROW
triggers allowed on partitioned tables (commit 86f57594)- partition-wise joins enabled (commit f49842d1)
- partition-wise grouping/aggregation enabled (commit e2f1eb0e)
Configuration changes
Added:
enable_parallel_append
(commit ab727167)enable_parallel_hash
(commit 18042840)enable_partition_pruning
(commit 055fb8d3)enable_partitionwise_join
(commit f49842d1)enable_partitionwise_aggregate
(commit e2f1eb0e)jit
(commit 432bb9e0)jit_above_cost
(commit cc415a56)jit_debugging_support
(commit 250bca7f)jit_dump_bitcode
(commit b96d550e)jit_expressions
(commit 2a0faed9)jit_inline_above_cost
(commit 9370462e)jit_optimize_above_cost
(commit cc415a56)jit_profiling_support
(commit 250bca7f)jit_provider
(commit 432bb9e0)jit_tuple_deforming
(commit 32af96b2)max_parallel_maintenance_workers
(commit 9da0cc35)parallel_leader_participation
(commit e5253fdc)ssl_passphrase_command
(commit 8a3d9425)ssl_passphrase_command_supports_reload
(commit 8a3d9425)vacuum_cleanup_index_scale_factor
(commit 857f9c36)
Modified:
log_executor_stats
- memory usage displayed in output (commit c039ba07)
log_parser_stats
- memory usage displayed in output (commit c039ba07)
log_planner_stats
- memory usage displayed in output (commit c039ba07)
log_statement_stats
- memory usage displayed in output (commit c039ba07)
Removed:
replacement_sort_tuples
(commit 8b304b8b)
Users/roles
- Following default roles added (commit 0fdc8495):
pg_read_server_files
pg_write_server_files
pg_execute_server_program
Foreign data wrapper changes
INSERT
,UPDATE
, andCOPY
on partitioned tables can route rows to foreign partitions (commit 3d956d95)
Server utilities
Added:
pg_verify_checksums
introduced
Modified:
initdb
pg_ctl
kill
option added (commit 2e83db3a)
pg_resetwal
pg_rewind
- when copying from the source server, omit the same files and directories
pg_basebackup
omits (commit 266b6acb) - can no longer be executed as the system
root
user (commit 5d5aedda)
- when copying from the source server, omit the same files and directories
Core utilities
Modified:
pg_basebackup
- option
--create-slot
added, to automatically create a replication slot specified with the--slot
option (commit 3709ca1c)
- option
pgbench
- major scripting language improvements (commit bc7fa0c1)
pow()
/power()
function added (commit 7a727c18)\if
support added (commit f67b113a)- non-ASCII characters permitted in variable names (commit 9d36a386)
- hashing functions
hash()
,hash_murmur2()
andhash_fnv1a()
added (commit e51a0484) random_zipfian()
function added (commit 1fcd0ade)- option
--init-steps
added (commit 591c504f) - option
--random-seed
added (commit 64f85894) - accuracy of statistics generated wth
--latency-limit
and--rate
improved (commits c23bb6ba and16827d44)
pg_dump
pg_dumpall
pg_receivewal
pg_restore
- option
--no-comments
added (commit 1368e92e)
- option
psql changes
\gdesc
command added (commit 49ca462e)- variables showing success/failure of SQL queries added (commit 69835bc8)
- add test for the existence of a variable (commit d57c7a7c)
- environment variable
PSQL_PAGER
added, to control psql's pager (commit 5e8304fd) - tab completion functionality made server-independent (commit 722408bc)
quit
andexit
commands added, similar to MySQL's command line client (commit df9f599b)
Contrib modules
Added:
Modified:
adminpack
support for default roles added (commit 11523e86)
amcheck
verification of heap relations belonging to btree indexes added (commit 7f563c09)
btree_gin
- support for indexing
BOOL
,BPCHAR
,NAME
andUUID
datatypes added (commit f4cd7102)
- support for indexing
citext
citext_pattern_ops
added (commit f2464997)
cube
fuzzystrmatch
- test suite added (commit 6141123a)
pg_prewarm
- automatic prewarm feature added (commit 79ccd7cb)
pg_stat_statements
queryid
expanded to 64 bits to reduce the chance of collisions (commit cff440d3)
pg_trgm
- function
strict_word_similarity()
added (commit be8a7a68)
- function
postgres_fdw
- support for pushing down partition-level aggregates to partitioned tables added (commit 7e0d64c7)
- support for pushing
UPDATE
s andDELETE
s using joins to foreign tables added (commit 1bc0100d) - support for
COPY
and foreign partition routing added (commit 3d956d95)
seg
- support for index-only scans (commit de1d042f)
start-scripts
test_decoding
- option
include-rewrites
added (commit 325f2ec5)
- option
unaccent
- Vietnamese character handling added (commit ec0a69e4)
Removed:
Documentation
- documentation converted to DocBook XML (commit 3c49c6fa)
Testing
Test modules
Added:
test_bloomfilter
(commit 51bc2717)test_predtest
(commit 44468f49)test_rbtree
(commit 610bbdd8)
Pre-release test versions
Initial commit marking the start of PostgreSQL 11
development is 9f14dc39 (2017-08-14).