diff --git a/configure b/configure index 0036a76875..76f06bd8fd 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for PostgreSQL 17beta2. +# Generated by GNU Autoconf 2.69 for PostgreSQL 18devel. # # Report bugs to . # @@ -582,8 +582,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='PostgreSQL' PACKAGE_TARNAME='postgresql' -PACKAGE_VERSION='17beta2' -PACKAGE_STRING='PostgreSQL 17beta2' +PACKAGE_VERSION='18devel' +PACKAGE_STRING='PostgreSQL 18devel' PACKAGE_BUGREPORT='pgsql-bugs@lists.postgresql.org' PACKAGE_URL='https://www.postgresql.org/' @@ -1450,7 +1450,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures PostgreSQL 17beta2 to adapt to many kinds of systems. +\`configure' configures PostgreSQL 18devel to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1515,7 +1515,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of PostgreSQL 17beta2:";; + short | recursive ) echo "Configuration of PostgreSQL 18devel:";; esac cat <<\_ACEOF @@ -1690,7 +1690,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -PostgreSQL configure 17beta2 +PostgreSQL configure 18devel generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2443,7 +2443,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by PostgreSQL $as_me 17beta2, which was +It was created by PostgreSQL $as_me 18devel, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -19785,7 +19785,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by PostgreSQL $as_me 17beta2, which was +This file was extended by PostgreSQL $as_me 18devel, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19856,7 +19856,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -PostgreSQL config.status 17beta2 +PostgreSQL config.status 18devel configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 48bcf24e75..ab2d51c21c 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ dnl Read the Autoconf manual for details. dnl m4_pattern_forbid(^PGAC_)dnl to catch undefined macros -AC_INIT([PostgreSQL], [17beta2], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) +AC_INIT([PostgreSQL], [18devel], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required. Untested combinations of 'autoconf' and PostgreSQL versions are not diff --git a/doc/src/sgml/filelist.sgml b/doc/src/sgml/filelist.sgml index 38ec362d8f..a7ff5f8264 100644 --- a/doc/src/sgml/filelist.sgml +++ b/doc/src/sgml/filelist.sgml @@ -177,7 +177,7 @@ - + diff --git a/doc/src/sgml/release-17.sgml b/doc/src/sgml/release-17.sgml deleted file mode 100644 index 1eaaad7cf7..0000000000 --- a/doc/src/sgml/release-17.sgml +++ /dev/null @@ -1,3241 +0,0 @@ - - - - - Release 17 - - - Release date: - 2024-??-??, AS OF 2024-06-17 - - - - Overview - - - PostgreSQL 17 contains many new features - and enhancements, including: - - - - TO BE COMPLETED LATER - - - - The above items and other new features of - PostgreSQL 17 are explained in more detail - in the sections below. - - - - - - - Migration to Version 17 - - - A dump/restore using or use of - or logical replication is required for - those wishing to migrate data from any previous release. See for general information on migrating to new - major releases. - - - - Version 17 contains a number of changes that may affect compatibility - with previous releases. Observe the following incompatibilities: - - - - - - - - - Change functions to use a safe - during maintenance operations (Jeff Davis) - - - - This prevents maintenance operations (ANALYZE, - CLUSTER, REFRESH - MATERIALIZED VIEW, REINDEX, - or VACUUM) from performing unsafe access. - Functions used by expression indexes and materialized views that - need to reference non-default schemas must specify a search path - during function creation. - - - - - - - - Restrict ago to only appear at the end in - interval values (Joseph Koshakow) - - - - Also, prevent empty interval units from appearing multiple times. - - - - - - - - Remove server variable old_snapshot_threshold (Thomas Munro) - - - - This variable allowed vacuum to remove rows that potentially could - be still visible to running transactions, causing "snapshot too - old" errors later if accessed. This feature might be re-added - to PostgreSQL later if an improved - implementation is found. - - - - - - - - Change SET - SESSION AUTHORIZATION handling of the initial - session user's superuser status (Joseph Koshakow) - - - - The new behavior is based on the session user's superuser status at - the time the SET SESSION AUTHORIZATION command - is issued, rather than their superuser status at connection time. - - - - - - - - Remove feature which simulated per-database users (Nathan Bossart) - - - - The feature, db_user_namespace, was rarely used. - - - - - - - - Remove value - fsync_writethrough on Windows (Thomas Munro) - - - - This value was the same as fsync on Windows. - - - - - - - - Change file boundary handling of two WAL file - name functions (Kyotaro Horiguchi, Andres Freund, Bruce Momjian) - - - - The functions pg_walfile_name() - and pg_walfile_name_offset() used to report - the previous LSN segment number when the - LSN was on a file segment boundary; it now - returns the LSN segment. - - - - - - - - Remove server variable trace_recovery_messages - since it is no longer needed (Bharath Rupireddy) - - - - - - - - Remove information schema column - element_types.domain_default - (Peter Eisentraut) - - - - - - - - Change - lock mode output labels (Bruce Momjian) - - - - - - - - Remove buffers_backend and - buffers_backend_fsync from pg_stat_bgwriter - (Bharath Rupireddy) - - - - These fields are considered redundant to similar columns in pg_stat_io. - - - - - - - - Rename I/O block read/write timing statistics columns of - - (Nazir Bilal Yavuz) - - - - This renames blk_read_time - to shared_blk_read_time, - and blk_write_time to - shared_blk_write_time. - - - - - - - - Change pg_attribute.attstattarget - and - pg_attribute.stxstattarget - to represent the default statistics target as NULL - (Peter Eisentraut) - - - - - - - - Rename pg_collation.colliculocale - to colllocale and - pg_database.daticulocale - to datlocale (Jeff Davis) - - - - - - - - Rename pg_stat_progress_vacuum - column max_dead_tuples - to max_dead_tuple_bytes, - rename num_dead_tuples to - num_dead_item_ids, and add - dead_tuple_bytes (Masahiko Sawada) - - - - - - - - Rename SLRU columns in system view pg_stat_slru - (Alvaro Herrera) - - - - The column names accepted by pg_stat_reset_slru() - are also changed. - - - - - - - - - Changes - - - Below you will find a detailed account of the changes between - PostgreSQL 17 and the previous major - release. - - - - Server - - - Optimizer - - - - - - - - Allow the optimizer to improve CTE plans by - considering the statistics and sort order of columns referenced in earlier row - output clauses (Jian Guo, Richard Guo, Tom Lane) - - - - - - - - Improve optimization of IS NOT NULL and - IS NULL query restrictions (David Rowley, - Richard Guo, Andy Fan) - - - - Remove IS NOT NULL restrictions from queries on - NOT NULL columns and eliminate scans on - NOT NULL columns if IS NULL - is specified. - - - - - - - - Allow partition pruning on boolean columns on IS [NOT] - UNKNOWN conditionals (David Rowley) - - - - - - - - Improve optimization of range values when using containment - operators <@ and @> (Kim Johan Andersson, Jian He) - - - - - - - - Allow correlated IN subqueries to be transformed - into joins (Andy Fan, Tom Lane) - - - - - - - - Improve optimization of the LIMIT clause - on partitioned tables, inheritance parents, and UNION - ALL queries (Andy Fan, David Rowley) - - - - - - - - Allow query nodes to be run in parallel in more cases (Tom Lane) - - - - - - - - Allow GROUP BY columns to be internally - ordered to match ORDER BY (Andrei Lepikhov, - Teodor Sigaev) - - - - This can be disabled using server variable - . - - - - - - - - Allow UNION (without ALL) - to use MergeAppend (David Rowley) - - - - - - - - Fix MergeAppend plans to more accurately compute the number of - rows that need to be sorted (Alexander Kuzmenkov) - - - - - - - - Allow GiST and SP-GiST indexes to be part of incremental - sorts (Miroslav Bendik) - - - - This is particularly useful for ORDER BY - clauses where the first column has a GiST and SP-GiST index, - and other columns do not. - - - - - - - - Add columns to pg_stats - to report range-type histogram information (Egor Rogov, Soumyadeep - Chakraborty) - - - - - - - - - Indexes - - - - - - - Allow btree indexes to more - efficiently find a set of values, such as those supplied by - IN clauses using constants (Peter Geoghegan, - Matthias van de Meent) - - - - - - - - Allow BRIN indexes - to be created using parallel workers (Tomas Vondra, Matthias van - de Meent) - - - - - - - - - General Performance - - - - - - - - Allow vacuum to more efficiently remove and freeze tuples (Melanie - Plageman, Heikki Linnakangas) - - - - WAL traffic caused by vacuum is also more - compact. - - - - - - - - Allow vacuum to more efficiently store tuple references (Masahiko - Sawada, John Naylor) - - - - Additionally, vacuum is no longer silently limited to one gigabyte - of memory when or are higher. - - - - - - - - Optimize vacuuming of relations with no indexes (Melanie Plageman) - - - - - - - - Increase default - to 2MB (Thomas Munro) - - - - - - - - Improve performance when checking roles with many memberships - (Nathan Bossart) - - - - - - - - Improve performance of heavily-contended WAL - writes (Bharath Rupireddy) - - - - - - - - Improve performance when transferring large blocks of data to a - client (Melih Mutlu) - - - - - - - - Allow the grouping of file system reads with the new system variable - (Thomas Munro, Andres Freund, - Melanie Plageman, Nazir Bilal Yavuz) - - - - - - - - - Monitoring - - - - - - - - Create system view pg_stat_checkpointer - (Bharath Rupireddy, Anton A. Melnikov, Alexander Korotkov) - - - - Relevant columns have been removed from pg_stat_bgwriter - and added to this new system view. - - - - - - - - Improve control over resetting statistics (Atsushi Torikoshi, - Bharath Rupireddy) - - - - Allow pg_stat_reset_shared() - (with no arguments) and - pg_stat_reset_shared(NULL) to reset all - shared statistics. Allow pg_stat_reset_shared('slru') and pg_stat_reset_slru() - (with no arguments) to reset SLRU statistics, - which was already possible with pg_stat_reset_slru(NULL). - - - - - - - - Add log messages related to WAL recovery from - backups (Andres Freund) - - - - - - - - Add log line for - trust connections (Jacob Champion) - - - - - - - - Add log message to report walsender acquisition and release of - replication slots (Bharath Rupireddy) - - - - This is enabled by the server variable . - - - - - - - - Add system view pg_wait_events - that reports wait event types (Bertrand Drouvot) - - - - This is useful for adding descriptions - to wait events reported in pg_stat_activity. - - - - - - - - Add wait events for - checkpoint delays (Thomas Munro) - - - - - - - - Allow vacuum to report the progress of index processing (Sami - Imseih) - - - - This appears in system view pg_stat_progress_vacuum - columns indexes_total and - indexes_processed. - - - - - - - - - Privileges - - - - - - - - Allow granting the right to perform maintenance operations - (Nathan Bossart) - - - - The permission can be granted on a per-table basis using the MAINTAIN - privilege and on a per-role basis via the pg_maintain - predefined role. Permitted operations are - VACUUM, ANALYZE, - REINDEX, REFRESH MATERIALIZED - VIEW, CLUSTER, and LOCK - TABLE. - - - - - - - - Allow roles with pg_monitor - membership to execute pg_current_logfile() - (Pavlo Golub, Nathan Bossart) - - - - - - - - - Server Configuration - - - - - - - - Add system variable - to disallow ALTER - SYSTEM (Jelte Fennema-Nio, Gabriele Bartolini) - - - - - - - - Allow ALTER - SYSTEM to set unrecognized custom server variables - (Tom Lane) - - - - This is also possible with GRANT - ON PARAMETER. - - - - - - - - Add server variable to - restrict the duration of transactions (Andrey Borodin, Japin Li, - Junwang Zhao, Alexander Korotkov) - - - - - - - - Add a builtin platform-independent collation provider (Jeff Davis) - - - - This supports C and C.UTF-8 - collations. - - - - - - - - Add server variable to report - the use of huge pages by Postgres (Justin Pryzby) - - - - This is useful when is set to - try. - - - - - - - - Add server variable to disable event triggers (Daniel Gustafsson) - - - - The setting, , allows for the - temporary disabling of event triggers for debugging. - - - - - - - - Allow the SLRU - cache sizes to be configured (Andrey Borodin, Dilip Kumar, - Alvaro Herrera) - - - - The new server variables are , - , - , - , , , and - . , , and scale up automatically with - . - - - - - - - - - Streaming Replication and Recovery - - - - - - - - Add support for incremental file system backup (Robert Haas, - Jakub Wartak, Tomas Vondra) - - - - Incremental backups can be created using pg_basebackup's - new - option. The new application pg_combinebackup - allows manipulation of base and incremental file system backups. - - - - - - - - Allow the creation of WAL summarization files - (Robert Haas, Nathan Bossart, Hubert Depesz Lubaczewski) - - - - These files record the block numbers that have changed within an - LSN - range and are useful for incremental file - system backups. This is controlled by the server - variables and , and introspected with pg_available_wal_summaries(), - pg_wal_summary_contents(), and - pg_get_wal_summarizer_state(). - - - - - - - - Add the system identifier to file system backup manifest files - (Amul Sul) - - - - This helps detect invalid WAL usage. - - - - - - - - Allow connection string value - dbname to be written when pg_basebackup - writes connection information to - postgresql.auto.conf (Vignesh C, Hayato Kuroda) - - - - - - - - Add column pg_replication_slots.invalidation_reason - to report the reason for invalid slots (Shveta Malik, Bharath - Rupireddy) - - - - - - - - Add column pg_replication_slots.inactive_since - to report slot inactivity duration (Bharath Rupireddy) - - - - - - - - Add function pg_sync_replication_slots() - to synchronize logical replication slots (Hou Zhijie, Shveta Malik, - Ajin Cherian, Peter Eisentraut) - - - - - - - - Add the failover property to the replication protocol (Hou - Zhijie, Shveta Malik) - - - - - - - - - <link linkend="logical-replication">Logical Replication</link> - - - - - - - - Add application pg_createsubscriber - to create a logical replica from a physical standby server - (Euler Taveira) - - - - - - - - Have pg_upgrade - migrate valid logical slots and subscriptions (Hayato Kuroda, - Hou Zhijie, Vignesh C, Julien Rouhaud, Shlok Kyal) - - - - This allows logical replication to continue - quickly after the upgrade. This only works for old - PostgreSQL clusters that are version - 17 or later. - - - - - - - - Enable the failover of logical slots - (Hou Zhijie, Shveta Malik, Ajin Cherian) - - - - This is controlled by an optional fifth argument to pg_create_logical_replication_slot(). - - - - - - - - Add server variable - to enable failover logical slot synchronization (Shveta Malik, - Hou Zhijie, Peter Smith) - - - - - - - - Add logical replication failover control to CREATE/ALTER - SUBSCRIPTION (Shveta Malik, Hou Zhijie, Ajin - Cherian) - - - - - - - - Allow the application of logical replication changes to use - hash indexes on the subscriber - (Hayato Kuroda) - - - - Previously only btree indexes could - be used for this purpose. - - - - - - - - Improve logical decoding - performance in cases where there are many subtransactions - (Masahiko Sawada) - - - - - - - - Restart apply workers if subscription owner's superuser privileges - are revoked (Vignesh C) - - - - This forces reauthentication. - - - - - - - - Add flush option to pg_logical_emit_message() - (Michael Paquier) - - - - This makes the message durable. - - - - - - - - Allow specification of physical standbys that must be synchronized - before they are visible to subscribers (Hou Zhijie, Shveta Malik) - - - - The new server variable is . - - - - - - - - Add worker type column to pg_stat_subscription - (Peter Smith) - - - - - - - - - - - Utility Commands - - - - - - - - Add new COPY - option ON_ERROR ignore to discard error rows - (Damir Belyalov, Atsushi Torikoshi, Alex Shulgin, Jian He, Yugo - Nagata) - - - - The default behavior is ON_ERROR stop. - - - - - - - - Add new COPY option - LOG_VERBOSITY which reports COPY - FROM ignored error rows (Bharath Rupireddy) - - - - - - - - Allow COPY FROM to report the number of skipped - rows during processing (Atsushi Torikoshi) - - - - This appears in system view column pg_stat_progress_copy.tuples_skipped. - - - - - - - - In COPY FROM, allow easy specification that all - columns should be forced null or not null (Zhang Mingli) - - - - - - - - Allow EXPLAIN - to report optimizer memory usage (Ashutosh Bapat) - - - - The option is called MEMORY. - - - - - - - - Add EXPLAIN option SERIALIZE - to report the cost of converting data for network transmission - (Stepan Rutz, Matthias van de Meent) - - - - - - - - Add local I/O block read/write timing statistics to - EXPLAIN's BUFFERS output - (Nazir Bilal Yavuz) - - - - - - - - Improve EXPLAIN's display of SubPlan nodes and - output parameters (Tom Lane, Dean Rasheed) - - - - - - - - Add JIT deform_counter - details to EXPLAIN (Dmitry Dolgov) - - - - - - - - Allow partitions to be merged using ALTER TABLE ... MERGE - PARTITIONS (Dmitry Koval) - - - - - - - - Allow partitions to be split using ALTER TABLE ... SPLIT - PARTITION (Dmitry Koval) - - - - - - - - Allow partitioned tables to have identity columns (Ashutosh Bapat) - - - - - - - - Allow exclusion - constraints on partitioned tables (Paul A. Jungwirth) - - - - As long as exclusion constraints compare partition key columns - for equality, other columns can use exclusion constraint-specific - comparisons. - - - - - - - - Allow specification of partitioned table - access methods (Justin Pryzby, Soumyadeep Chakraborty, - Michael Paquier) - - - - - - - - Add clearer ALTER - TABLE method to set a column to the default - statistics target (Peter Eisentraut) - - - - The new syntax is ALTER TABLE ... SET STATISTICS - DEFAULT; using SET STATISTICS -1 - is still supported. - - - - - - - - Allow ALTER TABLE to change a column's generation - expression (Amul Sul) - - - - The syntax is ALTER TABLE ... ALTER COLUMN ... SET - EXPRESSION. - - - - - - - - Add DEFAULT setting for ALTER TABLE - .. SET ACCESS METHOD (Michael Paquier) - - - - - - - - Add support for event - triggers that fire at connection time (Konstantin Knizhnik, - Mikhail Gribkov) - - - - - - - - Add event trigger support for REINDEX (Garrett - Thornburg, Jian He) - - - - - - - - Allow parenthesized syntax for CLUSTER options if - a table name is not specified (Nathan Bossart) - - - - - - - - - Data Types - - - - - - - - Allow the interval data type to support - +/-infinity values (Joseph Koshakow, Jian He, - Ashutosh Bapat) - - - - - - - - Allow the use of an ENUM added via ALTER TYPE if - the type was created in the same transaction (Tom Lane) - - - - This was previously disallowed. - - - - - - - - - <link linkend="sql-merge">MERGE</link> - - - - - - - - - Allow MERGE to modify updatable views (Dean - Rasheed) - - - - - - - - Add WHEN NOT MATCHED BY SOURCE to - MERGE (Dean Rasheed) - - - - WHEN NOT MATCHED on target rows was already - supported. - - - - - - - - Allow MERGE to use the - RETURNING clause (Dean Rasheed) - - - - The new RETURNING function - merge_action() reports on the - DML that generated the row. - - - - - - - - - Functions - - - - - - - - Add function JSON_TABLE() - to convert JSON data to a table representation (Nikita - Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew - Dunstan, Amit Langote, Jian He) - - - - This function can be used in the FROM clause of - SELECT queries as a tuple source. - - - - - - - - Add SQL/JSON constructor functions JSON(), - JSON_SCALAR(), and - JSON_SERIALIZE() (Nikita Glukhov, Teodor Sigaev, - Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote) - - - - - - - - Add SQL/JSON query functions JSON_EXISTS(), - JSON_QUERY(), and - JSON_VALUE() (Nikita Glukhov, Teodor Sigaev, - Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote, - Peter Eisentraut, Jian He) - - - - - - - - Add jsonpath - methods to convert JSON values to other - JSON data types (Jeevan Chalke) - - - - The jsonpath methods are .bigint(), - .boolean(), .date(), - .decimal([precision [, scale]]), - .integer(), .number(), - .string(), .time(), - .time_tz(), .timestamp(), - and .timestamp_tz(). - - - - - - - - Add to_timestamp() - time zone format specifiers (Tom Lane) - - - - TZ accepts time zone abbreviations or numeric - offsets, while OF accepts only numeric offsets. - - - - - - - - Allow the session time zone - to be specified by AS LOCAL (Vik Fearing) - - - - This is useful when converting adding and removing time zones from - time stamps values, rather than specifying the literal session - time zone. - - - - - - - - Add functions uuid_extract_timestamp() - and uuid_extract_version() to return - UUID information (Andrey Borodin) - - - - - - - - Add functions to generate random numbers in a specified range - (Dean Rasheed) - - - - The functions are random(min, - max) and they take values of type - integer, bigint, and numeric. - - - - - - - - Add functions to convert integers to binary and octal strings - (Eric Radman, Nathan Bossart) - - - - The functions are to_bin() - and to_oct(). - - - - - - - - Add Unicode informational functions (Jeff Davis) - - - - Function unicode_version() - returns the Unicode version, - icu_unicode_version() - returns the ICU version, and - unicode_assigned() returns if the characters - are assigned Unicode codepoints. - - - - - - - - Add function xmltext() - to convert text to a single XML text node (Jim Jones) - - - - - - - - Add function to_regtypemod() - to return the type modifier of a type specification (David Wheeler, - Erik Wienhold) - - - - - - - - Add pg_basetype() - function to return a domain's base type (Steve Chavez) - - - - - - - - Add function pg_column_toast_chunk_id() - to return a value's TOAST identifier - (Yugo Nagata) - - - - This returns NULL if the value is not stored - in TOAST. - - - - - - - - - <link linkend="plpgsql">PL/pgSQL</link> - - - - - - - - Allow plpgsql %TYPE - and %ROWTYPE specifications to represent arrays - of non-array types (Quan Zongliang, Pavel Stehule) - - - - - - - - Allow plpgsql %TYPE specification to reference - composite column (Tom Lane) - - - - - - - - - <link linkend="libpq">libpq</link> - - - - - - - - Add libpq function to change role passwords (Joe Conway) - - - - The new function, PQchangePassword(), - hashes the new password before sending it to the server. - - - - - - - - Add libpq functions to close portals and prepared statements - (Jelte Fennema-Nio) - - - - The functions are PQclosePrepared(), - PQclosePortal(), - PQsendClosePrepared(), - and PQsendClosePortal(). - - - - - - - - Add libpq API which allows for blocking and - non-blocking cancel requests, - with encryption if already in use (Jelte Fennema-Nio) - - - - Previously only blocking, unencrypted cancel requests were supported. - - - - - - - - Add libpq function PQsocketPoll - to allow polling of network sockets (Tristan Partin, Tom Lane) - - - - - - - - Add libpq function PQsendPipelineSync() - to send a pipeline synchronization point (Anton Kirilov) - - - - This is similar to PQpipelineSync() - but it does not flush to the server unless the size threshold of - the output buffer is reached. - - - - - - - - Add libpq function PQsetChunkedRowsMode() - to allow retrieval of results in chunks (Daniel Vérité) - - - - - - - - Allow TLS connections without requiring a - network round-trip negotiation (Greg Stark, Heikki Linnakangas, - Peter Eisentraut, Michael Paquier, Daniel Gustafsson) - - - - This is enabled with the client-side option sslnegotiation=direct, - requires ALPN, and only works on - PostgreSQL 17 and later servers. - - - - - - - - - <xref linkend="app-psql"/> - - - - - - - - Improve psql display of default and - empty privileges (Erik Wienhold, Laurenz Albe) - - - - Command \dp now displays (none) - for empty privileges; default still displays as empty. - - - - - - - - Have backslash commands honor \pset null (Erik - Wienhold, Laurenz Albe) - - - - Previously \pset null was ignored. - - - - - - - - Allow psql's \watch - to stop after a minimum number of rows returned (Greg Sabino Mullane) - - - - The parameter is min_rows. - - - - - - - - Allow psql connections to be canceled - with control-C (Tristan Partin) - - - - - - - - Allow psql to honor - FETCH_COUNT for non-SELECT - queries (Daniel Vérité) - - - - - - - - Improve psql tab completion (Dagfinn - Ilmari Mannsåker, Gilles Darold, Christoph Heiss, Steve Chavez, - Vignesh C, Pavel Borisov, Jian He) - - - - - - - - - Server Applications - - - - - - - - Add application pg_walsummary - to dump WAL summary files (Robert Haas) - - - - - - - - Allow pg_dump's - large objects to be restorable in batches (Tom Lane) - - - - This allows the restoration of many large objects to avoid - transaction limits and to be restored in parallel. - - - - - - - - Add pg_dump option - (Ayush Vatsa) - - - - - - - - Allow pg_dump, pg_dumpall, - and pg_restore - to specify include/exclude objects in a file (Pavel Stehule, - Daniel Gustafsson) - - - - The option is called . - - - - - - - - Add the parameter to several client - applications (Justin Pryzby, Nathan Bossart) - - - - The applications are initdb, pg_basebackup, - pg_checksums, - pg_dump, - pg_rewind, - and pg_upgrade. - - - - - - - - Add pg_restore - option to allow object restores - in transaction batches (Tom Lane) - - - - This allows the performance benefits of transaction batches without - the problems of excessively large transaction blocks. - - - - - - - - Change pgbench debug - mode option from to - (Greg Sabino Mullane) - - - - Option is now used for the database name, - and the new option can be used as well. - - - - - - - - Add pgbench option to exit after - any client aborts (Yugo Nagata) - - - - - - - - Add pgbench command \syncpipeline to allow - sending of sync messages (Anthonin Bonnefoy) - - - - - - - - Allow pg_archivecleanup - to remove backup history files (Atsushi Torikoshi) - - - - The option is . - - - - - - - - Add some long options to pg_archivecleanup - (Atsushi Torikoshi) - - - - The long options are , - , and . - - - - - - - - Allow pg_basebackup - and pg_receivewal - to use dbname in their connection specification (Jelte Fennema-Nio) - - - - This is useful for connection poolers that are sensitive to the - database name. - - - - - - - - Add pg_upgrade - option (Thomas Munro) - - - - This is supported on Linux - and FreeBSD. - - - - - - - - Allow reindexdb - to process indexes from different tables - in parallel (Maxim Orlov, Svetlana Derevyanko, Alexander Korotkov) - - - - - - - - Allow reindexdb, - vacuumdb, and clusterdb to process objects in all - databases matching a pattern (Nathan Bossart) - - - - The new option controls this behavior. - - - - - - - - - Source Code - - - - - - - - Remove support for OpenSSL 1.0.1 - (Michael Paquier) - - - - - - - - Allow tests to pass in OpenSSL - FIPS mode (Peter Eisentraut) - - - - - - - - Use CPU AVX-512 instructions for bit counting - (Paul Amonson, Nathan Bossart, Ants Aasma) - - - - - - - - Require LLVM version - 10 or later (Thomas Munro) - - - - - - - - Use native CRC instructions on 64-bit - LoongArch CPUs (Xudong Yang) - - - - - - - - Remove AIX - support (Heikki Linnakangas) - - - - - - - - Remove the Microsoft Visual - Studio-specific PostgreSQL - build option (Michael Paquier) - - - - Meson is now the only available method - for Visual Studio builds. - - - - - - - - Remove configure option - (Thomas Munro, Heikki Linnakangas) - - - - We now assume all supported platforms have sufficient thread support. - - - - - - - - Remove configure option - (Heikki Linnakangas) - - - - Setting the CC environment variable is now the only - supported method for specifying the compiler. - - - - - - - - User-defined data type receive functions will no longer receive - their data null-terminated (David Rowley) - - - - - - - - Add incremental JSON parser for use with huge - JSON documents (Andrew Dunstan) - - - - - - - - Convert top-level README file to - Markdown (Nathan Bossart) - - - - - - - - Remove no longer needed top-level INSTALL file - (Tom Lane) - - - - - - - - Remove make's distprep - option (Peter Eisentraut) - - - - - - - - Add make support for - Android shared libraries (Peter - Eisentraut) - - - - - - - - Add backend support for injection points (Michael Paquier) - - - - This is used for server debugging and they must be enabled at server - compile time. - - - - - - - - Fix emit_log_hook to use the same time value as - other log records for the same query (Kambam Vinay, Michael Paquier) - - - - - - - - Improve documentation for using jsonpath for - predicate checks (David Wheeler) - - - - - - - - - Additional Modules - - - - - - - - Allow joins with non-join qualifications to be pushed down to - foreign servers and custom scans (Richard Guo, Etsuro Fujita) - - - - Foreign data wrappers and custom scans will need to be modified to - handle these cases. - - - - - - - - Allow pushdown of EXISTS and IN - subqueries to foreign servers - (Alexander Pyhalov) - - - - - - - - Increase the default foreign data wrapper tuple cost (David Rowley, - Umair Shahid) - - - - This value is used by the optimizer. - - - - - - - - Allow dblink - database operations to be interrupted (Noah Misch) - - - - - - - - Allow the creation of hash indexes on columns (Tommy Pavlicek) - - - - This also enables hash join and hash aggregation on - ltree columns. - - - - - - - - Allow character - translation rules to contain whitespace and quotes (Michael Paquier) - - - - The syntax for the unaccent.rules file has - changed. - - - - - - - - Allow - to check for unique constraint violations using new option - (Anastasia Lubennikova, Pavel Borisov, - Maxim Orlov) - - - - - - - - Allow tests to - pass in OpenSSL FIPS mode (Peter Eisentraut) - - - - - - - - Allow tests - to pass in OpenSSL FIPS mode (Peter Eisentraut) - - - - - - - - Remove some unused SPI - macros (Bharath Rupireddy) - - - - - - - - Remove adminpack contrib extension - (Daniel Gustafsson) - - - - This was used by now end-of-life pgAdmin - III. - - - - - - - - Allow ALTER - OPERATOR to set more optimization attributes - (Tommy Pavlicek) - - - - This is useful for extensions. - - - - - - - - Allow extensions to define custom wait events - (Masahiro Ikeda) - - - - Custom wait events have been added to and . - - - - - - - - Add - function pg_buffercache_evict() to allow shared - buffer eviction (Palak Chaturvedi, Thomas Munro) - - - - This is useful for testing. - - - - - - - <link linkend="pgstatstatements"><application>pg_stat_statements</application></link> - - - - - - - - Replace CALL - parameters in pg_stat_statements with - placeholders (Sami Imseih) - - - - - - - - Replace savepoint names stored in - pg_stat_statements with placeholders - (Greg Sabino Mullane) - - - - This greatly reduces the number of entries needed to record SAVEPOINT, - RELEASE - SAVEPOINT, and ROLLBACK TO - SAVEPOINT commands. - - - - - - - - Replace the two-phase commit GIDs stored in - pg_stat_statements with placeholders - (Michael Paquier) - - - - This greatly reduces the number of entries needed to record - PREPARE - TRANSACTION, COMMIT - PREPARED, and ROLLBACK - PREPARED. - - - - - - - - Track DEALLOCATE - in pg_stat_statements (Dagfinn Ilmari - Mannsåker, Michael Paquier) - - - - DEALLOCATE names are stored in - pg_stat_statements as placeholders. - - - - - - - - Add local I/O block read/write timing statistics columns of - pg_stat_statements (Nazir Bilal Yavuz) - - - - The new columns are local_blk_read_time - and local_blk_write_time. - - - - - - - - Add JIT deform_counter details to - pg_stat_statements (Dmitry Dolgov) - - - - - - - - Add optional fourth argument (minmax_only) - to pg_stat_statements_reset() to allow for - the resetting of only min/max statistics (Andrei Zubkov) - - - - This argument defaults to false. - - - - - - - - Add pg_stat_statements - columns stats_since and - minmax_stats_since to track entry - creation time and last min/max reset time (Andrei Zubkov) - - - - - - - - - - - - - Acknowledgments - - - The following individuals (in alphabetical order) have contributed - to this release as patch authors, committers, reviewers, testers, - or reporters of issues. - - - - - - - - diff --git a/doc/src/sgml/release-18.sgml b/doc/src/sgml/release-18.sgml new file mode 100644 index 0000000000..4f027a07d1 --- /dev/null +++ b/doc/src/sgml/release-18.sgml @@ -0,0 +1,16 @@ + + + + + Release 18 + + + Release date: + 2025-??-?? + + + + This is just a placeholder for now. + + + diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index 87c01696da..cf6ba54087 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -79,7 +79,7 @@ For new features, add links to the documentation sections. All the active branches have to be edited concurrently when doing that. --> -&release-17; +&release-18; Prior Releases diff --git a/meson.build b/meson.build index f454160e86..5387bb6d5f 100644 --- a/meson.build +++ b/meson.build @@ -8,7 +8,7 @@ project('postgresql', ['c'], - version: '17beta2', + version: '18devel', license: 'PostgreSQL', # We want < 0.56 for python 3.5 compatibility on old platforms. EPEL for diff --git a/src/tools/git_changelog b/src/tools/git_changelog index c9469b8bad..bfd17718bc 100755 --- a/src/tools/git_changelog +++ b/src/tools/git_changelog @@ -59,7 +59,7 @@ require IPC::Open2; # (We could get this from "git branches", but not worth the trouble.) # NB: master must be first! my @BRANCHES = qw(master - REL_16_STABLE REL_15_STABLE REL_14_STABLE REL_13_STABLE + REL_17_STABLE REL_16_STABLE REL_15_STABLE REL_14_STABLE REL_13_STABLE REL_12_STABLE REL_11_STABLE REL_10_STABLE REL9_6_STABLE REL9_5_STABLE REL9_4_STABLE REL9_3_STABLE REL9_2_STABLE REL9_1_STABLE REL9_0_STABLE REL8_4_STABLE REL8_3_STABLE REL8_2_STABLE REL8_1_STABLE REL8_0_STABLE diff --git a/src/tools/version_stamp.pl b/src/tools/version_stamp.pl index 6f94aa02c0..3743ece299 100755 --- a/src/tools/version_stamp.pl +++ b/src/tools/version_stamp.pl @@ -25,7 +25,7 @@ use warnings FATAL => 'all'; # Major version is hard-wired into the script. We update it when we branch # a new development version. -my $majorversion = 17; +my $majorversion = 18; # Validate argument and compute derived variables my $minor = shift;