# PostgreSQL 19 New Features

> Beta 1 source edition · 122 pages · 2026-06-06

---

LLMS index: [llms.txt](/en/llms.txt)

---

<div class="feature-book-intro"><p class="feature-book-kicker">WITH EXAMPLES · ENGLISH SOURCE EDITION</p><p>Explore the features, SQL examples, and compatibility changes documented by <a href="https://github.com/nori-shinoda">Noriyoshi Shinoda</a>.</p><div class="feature-book-actions"><a class="feature-read-button" href="01-about/">Start reading <span aria-hidden="true">→</span></a><a href="/en/_print/19/">Print this book</a><a href="https://github.com/nori-shinoda/documents/blob/1773200c5362476c4a549222b7d17fa91f546cae/postgresql19_beta1_new_features_en_20260606-1.pdf">Original PDF on GitHub</a></div></div>

<div class="feature-source-note"><span class="feature-edition-badge">Beta 1</span><span>2026-06-06</span><span>122 PDF pages</span><span>9 chapters</span></div>

> This book describes the **Beta 1** source document. Its examples and compatibility notes reflect that snapshot.

## Contents

- [1 About This Document](/en/19/01-about/)
- [2 New Features Summary](/en/19/02-summary/)
- [3 Architecture](/en/19/03-architecture/)
- [4 SQL Statements](/en/19/04-sql/)
- [5 Configuration Parameters](/en/19/05-configuration/)
- [6 Utilities](/en/19/06-utilities/)
- [7 Contrib Modules](/en/19/07-modules/)
- [8 URL List](/en/19/08-url-list/)
- [9 Change History](/en/19/09-change-history/)

## Reference indexes

The opening chapter includes the first numbered table, [Table 1](/en/19/01-about/#pg19-tbl-1). The indexes below collect the book's other native numbered components.

<details class="feature-index"><summary>Tables</summary>

- [Table 1](/en/19/01-about/#pg19-tbl-1) — Version
- [Table 2](/en/19/01-about/#pg19-tbl-2) — Examples of notation
- [Table 3](/en/19/01-about/#pg19-tbl-3) — Syntax rules
- [Table 4](/en/19/03-architecture/#pg19-tbl-4) — Add system catalogs and views
- [Table 5](/en/19/03-architecture/#pg19-tbl-5) — System catalogs\/views with additional columns
- [Table 6](/en/19/03-architecture/#pg19-tbl-6) — Vues within the pg\_catalog schema where columns have been deleted
- [Table 7](/en/19/03-architecture/#pg19-tbl-7) — Views in the added information\_schema schema
- [Table 8](/en/19/03-architecture/#pg19-tbl-8) — System catalogs\/views that had their content changed
- [Table 9](/en/19/03-architecture/#pg19-tbl-9) — Structure of the pg\_dsm\_registry\_allocations view
- [Table 10](/en/19/03-architecture/#pg19-tbl-10) — Structure of the pg\_stat\_lock view
- [Table 11](/en/19/03-architecture/#pg19-tbl-11) — Structure of the pg\_stat\_progress\_data\_checksums view
- [Table 12](/en/19/03-architecture/#pg19-tbl-12) — Structure of the pg\_stat\_progress\_repack view
- [Table 13](/en/19/03-architecture/#pg19-tbl-13) — Structure of the pg\_stat\_recovery view
- [Table 14](/en/19/03-architecture/#pg19-tbl-14) — Contents of the pg\_hosts\.conf file
- [Table 15](/en/19/03-architecture/#pg19-tbl-15) — Added API names
- [Table 16](/en/19/03-architecture/#pg19-tbl-16) — Parameters related to I\/O workers
- [Table 17](/en/19/03-architecture/#pg19-tbl-17) — Parameters related to the score
- [Table 18](/en/19/03-architecture/#pg19-tbl-18) — Structure of the pg\_stat\_autovacuum\_scores view
- [Table 19](/en/19/03-architecture/#pg19-tbl-19) — Added parameters
- [Table 20](/en/19/03-architecture/#pg19-tbl-20) — Added Wait Events
- [Table 21](/en/19/04-sql/#pg19-tbl-21) — Output logs
- [Table 22](/en/19/04-sql/#pg19-tbl-22) — Output logs
- [Table 23](/en/19/04-sql/#pg19-tbl-23) — Types of objects that can be created at the same time
- [Table 24](/en/19/04-sql/#pg19-tbl-24) — Options for the REPACK statement
- [Table 25](/en/19/04-sql/#pg19-tbl-25) — MODE Option Settings
- [Table 26](/en/19/04-sql/#pg19-tbl-26) — Return value of the WAIT FOR LSN statement
- [Table 27](/en/19/04-sql/#pg19-tbl-27) — Available options
- [Table 28](/en/19/04-sql/#pg19-tbl-28) — Return value of the pg\_get\_multixact\_stats function
- [Table 29](/en/19/04-sql/#pg19-tbl-29) — Added string methods
- [Table 30](/en/19/05-configuration/#pg19-tbl-30) — Added Parameters
- [Table 31](/en/19/05-configuration/#pg19-tbl-31) — Changed Parameters
- [Table 32](/en/19/05-configuration/#pg19-tbl-32) — String for specifying the process
- [Table 33](/en/19/05-configuration/#pg19-tbl-33) — Parameters whose default values have been changed
- [Table 34](/en/19/05-configuration/#pg19-tbl-34) — Removed Parameters
- [Table 35](/en/19/06-utilities/#pg19-tbl-35) — Format specification
- [Table 36](/en/19/06-utilities/#pg19-tbl-36) — Setting the \%i substitution variable
- [Table 37](/en/19/07-modules/#pg19-tbl-37) — Added Views
- [Table 38](/en/19/07-modules/#pg19-tbl-38) — Added Functions
- [Table 39](/en/19/07-modules/#pg19-tbl-39) — Typical \&quot\;advice\&quot\; parameter settings
- [Table 40](/en/19/07-modules/#pg19-tbl-40) — 追加されたパラメーター
- [Table 41](/en/19/07-modules/#pg19-tbl-41) — Added Functions
- [Table 42](/en/19/07-modules/#pg19-tbl-42) — Added Parameters
- [Table 43](/en/19/07-modules/#pg19-tbl-43) — Added Columns
- [Table 44](/en/19/07-modules/#pg19-tbl-44) — Added extension modules

</details>

<details class="feature-index"><summary>Examples</summary>

- [Example 1](/en/19/02-summary/#pg19-eg-1) — Transaction Round Warning Log Message
- [Example 2](/en/19/02-summary/#pg19-eg-2) — LSN Notation
- [Example 3](/en/19/02-summary/#pg19-eg-3) — Changes to the standard\_conforming\_strings parameter
- [Example 4](/en/19/02-summary/#pg19-eg-4) — Execute ALTER DATABASE\/USER RESET statement
- [Example 5](/en/19/02-summary/#pg19-eg-5) — Warning when using MD5 authentication
- [Example 6](/en/19/02-summary/#pg19-eg-6) — PostgreSQL 18 Output Formats
- [Example 7](/en/19/02-summary/#pg19-eg-7) — PostgreSQL 19 Output Formats
- [Example 8](/en/19/02-summary/#pg19-eg-8) — Specifying the ON CONFLICT clause and operator classes
- [Example 9](/en/19/02-summary/#pg19-eg-9) — PostgreSQL 18 Output Formats
- [Example 10](/en/19/02-summary/#pg19-eg-10) — PostgreSQL 19 Output Formats
- [Example 11](/en/19/02-summary/#pg19-eg-11) — WHERE clauses using system columns
- [Example 12](/en/19/02-summary/#pg19-eg-12) — PostgreSQL 18 Output
- [Example 13](/en/19/02-summary/#pg19-eg-13) — PostgreSQL 19 Output
- [Example 14](/en/19/03-architecture/#pg19-eg-14) — Querying the pg\_dsm\_registry\_allocations view
- [Example 15](/en/19/03-architecture/#pg19-eg-15) — Querying of the pg\_stat\_lock view
- [Example 16](/en/19/03-architecture/#pg19-eg-16) — Querying of the pg\_stat\_progress\_data\_checksums view
- [Example 17](/en/19/03-architecture/#pg19-eg-17) — Querying of the pg\_stat\_progress\_repack view
- [Example 18](/en/19/03-architecture/#pg19-eg-18) — Querying of the pg\_stat\_recovery view
- [Example 19](/en/19/03-architecture/#pg19-eg-19) — Creating a publication that includes a sequence
- [Example 20](/en/19/03-architecture/#pg19-eg-20) — Create a subscription
- [Example 21](/en/19/03-architecture/#pg19-eg-21) — Synchronization of sequence values
- [Example 22](/en/19/03-architecture/#pg19-eg-22) — Specifying the SERVER clause
- [Example 23](/en/19/03-architecture/#pg19-eg-23) — Specifying the exception table
- [Example 24](/en/19/03-architecture/#pg19-eg-24) — Setting the retain\_dead\_tuples option
- [Example 25](/en/19/03-architecture/#pg19-eg-25) — Setting the max\_retention\_duration option
- [Example 26](/en/19/03-architecture/#pg19-eg-26) — Querying the pg\_stat\_replication\_slots view
- [Example 27](/en/19/03-architecture/#pg19-eg-27) — Automatic Update of WAL Output Level
- [Example 28](/en/19/03-architecture/#pg19-eg-28) — Merging Partitions
- [Example 29](/en/19/03-architecture/#pg19-eg-29) — Partition merge failed
- [Example 30](/en/19/03-architecture/#pg19-eg-30) — Splitting the partition
- [Example 31](/en/19/03-architecture/#pg19-eg-31) — Creating a Property Graph
- [Example 32](/en/19/03-architecture/#pg19-eg-32) — Querying PROPERTY GRAPH
- [Example 33](/en/19/03-architecture/#pg19-eg-33) — Dynamic Modification of Checksum Settings
- [Example 34](/en/19/03-architecture/#pg19-eg-34) — Permissions for large objects
- [Example 35](/en/19/03-architecture/#pg19-eg-35) — Connection string servicefile
- [Example 36](/en/19/03-architecture/#pg19-eg-36) — Automatic VACUUM Log
- [Example 37](/en/19/03-architecture/#pg19-eg-37) — Querying the pg\_stat\_autovacuum\_scores view
- [Example 38](/en/19/03-architecture/#pg19-eg-38) — Automatic ANALYZE Log
- [Example 39](/en/19/03-architecture/#pg19-eg-39) — OAuth settings in the pg\_hba\.conf file
- [Example 40](/en/19/04-sql/#pg19-eg-40) — Executing the ALTER PUBLICATION statement
- [Example 41](/en/19/04-sql/#pg19-eg-41) — Specifying the REFRESH SEQUENCES clause
- [Example 42](/en/19/04-sql/#pg19-eg-42) — Altering Virtual Columns with CHECK Constraints
- [Example 43](/en/19/04-sql/#pg19-eg-43) — Setting the ENFORCED clause for CHECK constraints
- [Example 44](/en/19/04-sql/#pg19-eg-44) — Configuring the number of parallel workers for automatic VACUUM
- [Example 45](/en/19/04-sql/#pg19-eg-45) — MODE option
- [Example 46](/en/19/04-sql/#pg19-eg-46) — FLUSH\_UNLOGGED option
- [Example 47](/en/19/04-sql/#pg19-eg-47) — ON\_ERROR option
- [Example 48](/en/19/04-sql/#pg19-eg-48) — Specifying the partition table
- [Example 49](/en/19/04-sql/#pg19-eg-49) — Specifying the number of header rows
- [Example 50](/en/19/04-sql/#pg19-eg-50) — Output to JSON format
- [Example 51](/en/19/04-sql/#pg19-eg-51) — Specifying the FOR ALL SEQUENCES clause
- [Example 52](/en/19/04-sql/#pg19-eg-52) — Add a table to the publication
- [Example 53](/en/19/04-sql/#pg19-eg-53) — The CREATE SCHEMA Statement and Creating Objects
- [Example 54](/en/19/04-sql/#pg19-eg-54) — Creating Extended Statistics for Virtual Generated Columns
- [Example 55](/en/19/04-sql/#pg19-eg-55) — Tuples before the update
- [Example 56](/en/19/04-sql/#pg19-eg-56) — Tuples after update
- [Example 57](/en/19/04-sql/#pg19-eg-57) — Executing an EXPLAIN \(IO\) statement
- [Example 58](/en/19/04-sql/#pg19-eg-58) — Outputting Memoize Estimate Information
- [Example 59](/en/19/04-sql/#pg19-eg-59) — Output of FPI byte information
- [Example 60](/en/19/04-sql/#pg19-eg-60) — PostgreSQL 19 Output
- [Example 61](/en/19/04-sql/#pg19-eg-61) — PostgreSQL 18 Output
- [Example 62](/en/19/04-sql/#pg19-eg-62) — Specifying the GRANTED BY clause
- [Example 63](/en/19/04-sql/#pg19-eg-63) — INSERT ON CONFLICT DO SELECT statement
- [Example 64](/en/19/04-sql/#pg19-eg-64) — Executing the REPACK statement
- [Example 65](/en/19/04-sql/#pg19-eg-65) — Specifying the GROUP BY ALL clause
- [Example 66](/en/19/04-sql/#pg19-eg-66) — GROUPING SETS and Subqueries
- [Example 67](/en/19/04-sql/#pg19-eg-67) — Specifying NULL values in the SET statement
- [Example 68](/en/19/04-sql/#pg19-eg-68) — Memory Information
- [Example 69](/en/19/04-sql/#pg19-eg-69) — Parallel Worker Information
- [Example 70](/en/19/04-sql/#pg19-eg-70) — Executing the WAIT FOR LSN statement
- [Example 71](/en/19/04-sql/#pg19-eg-71) — Specifying the IGNORE NULLS clause and the RESPECT NULLS clause
- [Example 72](/en/19/04-sql/#pg19-eg-72) — Base64 URL encoding and Base32 hex encoding
- [Example 73](/en/19/04-sql/#pg19-eg-73) — Execution of the error\_on\_null function
- [Example 74](/en/19/04-sql/#pg19-eg-74) — Variations of the random function
- [Example 75](/en/19/04-sql/#pg19-eg-75) — The range\_minus\_multi function and the multirange\_minus\_multi function
- [Example 76](/en/19/04-sql/#pg19-eg-76) — Executing the tid\_block and tid\_offset functions
- [Example 77](/en/19/04-sql/#pg19-eg-77) — Executing the width\_bucket function
- [Example 78](/en/19/04-sql/#pg19-eg-78) — Retrieving DDL for a database
- [Example 79](/en/19/04-sql/#pg19-eg-79) — Executing of the pg\_clear\_extended\_stats
- [Example 80](/en/19/04-sql/#pg19-eg-80) — Execution of the pg\_get\_multixact\_stats function
- [Example 81](/en/19/04-sql/#pg19-eg-81) — Executing of the pg\_get\_sequence\_data function
- [Example 82](/en/19/04-sql/#pg19-eg-82) — Executing of the pg\_get\_publication\_tables function
- [Example 83](/en/19/04-sql/#pg19-eg-83) — Definition of the pg\_replication\_origin\_session\_setup function
- [Example 84](/en/19/04-sql/#pg19-eg-84) — Executing of the pg\_restore\_extended\_stats function
- [Example 85](/en/19/04-sql/#pg19-eg-85) — Executing the newly added jsonpath string method
- [Example 86](/en/19/04-sql/#pg19-eg-86) — IS JSON Predicate for the Domain
- [Example 87](/en/19/04-sql/#pg19-eg-87) — Querying by regdatabase data type
- [Example 88](/en/19/04-sql/#pg19-eg-88) — Data type oid8
- [Example 89](/en/19/04-sql/#pg19-eg-89) — Data type conversion between UUID and BYTEA
- [Example 90](/en/19/04-sql/#pg19-eg-90) — GiST indexes for inet and cidr types
- [Example 91](/en/19/04-sql/#pg19-eg-91) — Using reserved keywords as variable names
- [Example 92](/en/19/04-sql/#pg19-eg-92) — PostgreSQL 18 Execution Plan
- [Example 93](/en/19/04-sql/#pg19-eg-93) — PostgreSQL 19 Execution Plan
- [Example 94](/en/19/04-sql/#pg19-eg-94) — PostgreSQL 18 Execution Plan
- [Example 95](/en/19/04-sql/#pg19-eg-95) — PostgreSQL 19 Execution Plan
- [Example 96](/en/19/04-sql/#pg19-eg-96) — PostgreSQL 18 Execution Plan
- [Example 97](/en/19/04-sql/#pg19-eg-97) — PostgreSQL 19 Execution Plan
- [Example 98](/en/19/04-sql/#pg19-eg-98) — PostgreSQL 18 Execution Plan
- [Example 99](/en/19/04-sql/#pg19-eg-99) — PostgreSQL 19 Execution Plan
- [Example 100](/en/19/04-sql/#pg19-eg-100) — PostgreSQL 18 Execution Plan
- [Example 101](/en/19/04-sql/#pg19-eg-101) — PostgreSQL 19 Execution Plan
- [Example 102](/en/19/04-sql/#pg19-eg-102) — PostgreSQL 18 Execution Plan
- [Example 103](/en/19/04-sql/#pg19-eg-103) — PostgreSQL 19 Execution Plan
- [Example 104](/en/19/04-sql/#pg19-eg-104) — PostgreSQL 18 Execution Plan
- [Example 105](/en/19/04-sql/#pg19-eg-105) — PostgreSQL 19 Execution Plan
- [Example 106](/en/19/04-sql/#pg19-eg-106) — PostgreSQL 19 Execution Plan
- [Example 107](/en/19/05-configuration/#pg19-eg-107) — Password Expiration Warning
- [Example 108](/en/19/05-configuration/#pg19-eg-108) — Changing the log\_min\_messages parameter
- [Example 109](/en/19/06-utilities/#pg19-eg-109) — Executing the oid2name command
- [Example 110](/en/19/06-utilities/#pg19-eg-110) — Executing pg\_archivecleanup command with dry\-run mode
- [Example 111](/en/19/06-utilities/#pg19-eg-111) — Specifying the log output directory
- [Example 112](/en/19/06-utilities/#pg19-eg-112) — Parameter file after executing the pg\_createsubscriber command
- [Example 113](/en/19/06-utilities/#pg19-eg-113) — Dump of extended statistics
- [Example 114](/en/19/06-utilities/#pg19-eg-114) — Dump in gzip format
- [Example 115](/en/19/06-utilities/#pg19-eg-115) — Specifying the \-\-no\-globals option
- [Example 116](/en/19/06-utilities/#pg19-eg-116) — The pg\_verifybackup command for tar\-format backups
- [Example 117](/en/19/06-utilities/#pg19-eg-117) — The pg\_waldump command for tar\-format backups
- [Example 118](/en/19/06-utilities/#pg19-eg-118) — Displaying the SERVICEFILE variable
- [Example 119](/en/19/06-utilities/#pg19-eg-119) — Changing PROMPT1 variables
- [Example 120](/en/19/06-utilities/#pg19-eg-120) — Changing PROMPT1 variables
- [Example 121](/en/19/06-utilities/#pg19-eg-121) — Outputting BOOLEAN values
- [Example 122](/en/19/06-utilities/#pg19-eg-122) — Comment output
- [Example 123](/en/19/06-utilities/#pg19-eg-123) — Comment output
- [Example 124](/en/19/06-utilities/#pg19-eg-124) — Specifying the \-\-dry\-run option
- [Example 125](/en/19/07-modules/#pg19-eg-125) — Specifying the log\_extension\_options option
- [Example 126](/en/19/07-modules/#pg19-eg-126) — Specifying the log\_io option
- [Example 127](/en/19/07-modules/#pg19-eg-127) — Reading the CSV file with a two\-line header
- [Example 128](/en/19/07-modules/#pg19-eg-128) — Executing of the pg\_buffercache\_mark\_dirty\_all function
- [Example 129](/en/19/07-modules/#pg19-eg-129) — Verifying the Method for Modifying the Execution Plan
- [Example 130](/en/19/07-modules/#pg19-eg-130) — Configure Execution Plan Changes
- [Example 131](/en/19/07-modules/#pg19-eg-131) — Preparing pg\_stash\_advice module
- [Example 132](/en/19/07-modules/#pg19-eg-132) — Creating and Configuring a Advice Stash
- [Example 133](/en/19/07-modules/#pg19-eg-133) — Checking the Query ID
- [Example 134](/en/19/07-modules/#pg19-eg-134) — Specify advice
- [Example 135](/en/19/07-modules/#pg19-eg-135) — Check the Execution Plan
- [Example 136](/en/19/07-modules/#pg19-eg-136) — Number of Execution Plans Executed
- [Example 137](/en/19/07-modules/#pg19-eg-137) — Constancy of FETCH Statements
- [Example 138](/en/19/07-modules/#pg19-eg-138) — Specifying the restore\_stats option
- [Example 139](/en/19/07-modules/#pg19-eg-139) — SQL statement to execute
- [Example 140](/en/19/07-modules/#pg19-eg-140) — PostgreSQL 18 Execution Plan
- [Example 141](/en/19/07-modules/#pg19-eg-141) — PostgreSQL 19 Execution Plan

</details>

<details class="feature-index"><summary>Figures</summary>



</details>

## Source edition



The source chapter order, wording, examples, and publication credits are retained.
PDF page markers link the reading edition to the original document.
[Source identity and coverage](/sources/pg19-semantic.json) · [About the collection](/en/materials/)

---

Section pages:

- [About This Document](/en/19/01-about/): Purpose, audience, scope, software versions, notation, and responsibility statement.
- [New Features Summary](/en/19/02-summary/): The source document's overview of the release, benefits, and incompatibilities.
- [Architecture](/en/19/03-architecture/): Architecture, catalogs, replication, execution, I/O, roles, and server internals.
- [SQL Statements](/en/19/04-sql/): SQL syntax, data types, functions, optimizer behavior, and worked examples.
- [Configuration Parameters](/en/19/05-configuration/): Added, modified, removed, and default-value changes for configuration parameters.
- [Utilities](/en/19/06-utilities/): Changes to configure, initdb, backup, restore, upgrade, psql, and maintenance tools.
- [Contrib Modules](/en/19/07-modules/): Changes to contrib extensions and the modules covered by the source document.
- [URL List](/en/19/08-url-list/): The external references and release links listed by the source PDF.
- [Change History](/en/19/09-change-history/): The source document's revision history.
