# PostgreSQL 18 New Features

> GA source edition · 109 pages · 2026-02-19

---

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/18/">Print this book</a><a href="https://github.com/nori-shinoda/documents/blob/1773200c5362476c4a549222b7d17fa91f546cae/postgresql18_ga_new_features_en_20260219-1.pdf">Original PDF on GitHub</a></div></div>

<div class="feature-source-note"><span class="feature-edition-badge">GA</span><span>2026-02-19</span><span>109 PDF pages</span><span>9 chapters</span></div>

## Contents

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

## Reference indexes

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

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

- [Table 1](/en/18/01-about/#pg18-tbl-1) — Version
- [Table 2](/en/18/01-about/#pg18-tbl-2) — Examples of notation
- [Table 3](/en/18/01-about/#pg18-tbl-3) — Syntax rules
- [Table 4](/en/18/03-architecture/#pg18-tbl-4) — Add system catalogs and views
- [Table 5](/en/18/03-architecture/#pg18-tbl-5) — System catalogs\/views with additional columns
- [Table 6](/en/18/03-architecture/#pg18-tbl-6) — System catalogs\/views with removed columns
- [Table 7](/en/18/03-architecture/#pg18-tbl-7) — Views in the information\_schema schema with modified content
- [Table 8](/en/18/03-architecture/#pg18-tbl-8) — System catalogs\/views with modified output
- [Table 9](/en/18/03-architecture/#pg18-tbl-9) — Pg\_aios view column structure
- [Table 10](/en/18/03-architecture/#pg18-tbl-10) — Pg\_shmem\_allocations\_numa view column structure
- [Table 11](/en/18/03-architecture/#pg18-tbl-11) — Reason for conflict output
- [Table 12](/en/18/03-architecture/#pg18-tbl-12) — Parameter io\_method setting value
- [Table 13](/en/18/03-architecture/#pg18-tbl-13) — Added connect string
- [Table 14](/en/18/03-architecture/#pg18-tbl-14) — Added API functions
- [Table 15](/en/18/03-architecture/#pg18-tbl-15) — Added Access Method Element
- [Table 16](/en/18/03-architecture/#pg18-tbl-16) — Added APIs
- [Table 17](/en/18/04-sql/#pg18-tbl-17) — Values that can be specified in the INCLUDING \/ EXCLUDING clause
- [Table 18](/en/18/04-sql/#pg18-tbl-18) — Column name and description of the return value of the pg\_ls\_summariesdir function
- [Table 19](/en/18/04-sql/#pg18-tbl-19) — Column name and description of the return value of the pg\_stat\_get\_backend\_wal function
- [Table 20](/en/18/05-configuration/#pg18-tbl-20) — Added parameters
- [Table 21](/en/18/05-configuration/#pg18-tbl-21) — Modified Parameters
- [Table 22](/en/18/05-configuration/#pg18-tbl-22) — Setting value of parameter log\_connections
- [Table 23](/en/18/05-configuration/#pg18-tbl-23) — Parameters with default values changed
- [Table 24](/en/18/06-utilities/#pg18-tbl-24) — Added options
- [Table 25](/en/18/06-utilities/#pg18-tbl-25) — Added options
- [Table 26](/en/18/06-utilities/#pg18-tbl-26) — Added metacommands
- [Table 27](/en/18/06-utilities/#pg18-tbl-27) — Added metacommand
- [Table 28](/en/18/06-utilities/#pg18-tbl-28) — Added variables
- [Table 29](/en/18/07-modules/#pg18-tbl-29) — Added options
- [Table 30](/en/18/07-modules/#pg18-tbl-30) — Column structure of the pg\_buffercache\_numa view
- [Table 31](/en/18/07-modules/#pg18-tbl-31) — Added functions
- [Table 32](/en/18/07-modules/#pg18-tbl-32) — Added columns
- [Table 33](/en/18/07-modules/#pg18-tbl-33) — Added return column
- [Table 34](/en/18/07-modules/#pg18-tbl-34) — Added modules

</details>

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

- [Example 1](/en/18/02-summary/#pg18-eg-1) — MD5 Password Warning
- [Example 2](/en/18/02-summary/#pg18-eg-2) — Checksum enabled by default
- [Example 3](/en/18/02-summary/#pg18-eg-3) — Prohibition of COPY FREEZE statement for external tables
- [Example 4](/en/18/02-summary/#pg18-eg-4) — Contents of CSV file data1\.csv
- [Example 5](/en/18/02-summary/#pg18-eg-5) — PostgreSQL 17 behavior
- [Example 6](/en/18/02-summary/#pg18-eg-6) — PostgreSQL 17 behavior
- [Example 7](/en/18/02-summary/#pg18-eg-7) — Change default value when creating SUBSCRIPTION
- [Example 8](/en/18/02-summary/#pg18-eg-8) — Error creating UNLOGGED partition table
- [Example 9](/en/18/02-summary/#pg18-eg-9) — PostgreSQL 17 behavior
- [Example 10](/en/18/02-summary/#pg18-eg-10) — PostgreSQL 18 behavior
- [Example 11](/en/18/02-summary/#pg18-eg-11) — Remove RULE privileges
- [Example 12](/en/18/02-summary/#pg18-eg-12) — PostgreSQL 17 psql command output
- [Example 13](/en/18/02-summary/#pg18-eg-13) — PostgreSQL 18 psql command output \(without SSL\)
- [Example 14](/en/18/02-summary/#pg18-eg-14) — PostgreSQL 17 pg\_backend\_memory\_contexts view
- [Example 15](/en/18/02-summary/#pg18-eg-15) — PostgreSQL 18 pg\_backend\_memory\_contexts view
- [Example 16](/en/18/03-architecture/#pg18-eg-16) — Retrieving the pg\_shmem\_allocations\_numa view
- [Example 17](/en/18/03-architecture/#pg18-eg-17) — Cataloging NOT NULL Constraints
- [Example 18](/en/18/03-architecture/#pg18-eg-18) — Cumulative VACUUM \/ ANALYZE execution time
- [Example 19](/en/18/03-architecture/#pg18-eg-19) — Error log when executing INSERT statement
- [Example 20](/en/18/03-architecture/#pg18-eg-20) — Propagation settings for generated columns \(PUBLICATION side\)
- [Example 21](/en/18/03-architecture/#pg18-eg-21) — Confirmation of propagation of generated sequence \(SUBSCRIPTION side\)
- [Example 22](/en/18/03-architecture/#pg18-eg-22) — Execute pg\_restore\_relation\_stats function
- [Example 23](/en/18/03-architecture/#pg18-eg-23) — Execute pg\_clear\_relation\_stats function
- [Example 24](/en/18/03-architecture/#pg18-eg-24) — Execute pg\_restore\_attribute\_stats function
- [Example 25](/en/18/03-architecture/#pg18-eg-25) — Execute pg\_clear\_attribute\_stats function
- [Example 26](/en/18/03-architecture/#pg18-eg-26) — Confirmation of I\/O worker process
- [Example 27](/en/18/03-architecture/#pg18-eg-27) — Database cluster creation with PG\_UNICODE\_FAST locale specified
- [Example 28](/en/18/03-architecture/#pg18-eg-28) — Database creation with PG\_UNICODE\_FAST locale specified
- [Example 29](/en/18/03-architecture/#pg18-eg-29) — Deforms during hash join
- [Example 30](/en/18/03-architecture/#pg18-eg-30) — Execute pg\_numa\_available function
- [Example 31](/en/18/04-sql/#pg18-eg-31) — Default privileges for LARGE OBJECT
- [Example 32](/en/18/04-sql/#pg18-eg-32) — Modify the two\_phase option
- [Example 33](/en/18/04-sql/#pg18-eg-33) — Specifying the SET INHERIT clause
- [Example 34](/en/18/04-sql/#pg18-eg-34) — Specifying the NOT VALID clause
- [Example 35](/en/18/04-sql/#pg18-eg-35) — Specifying the ONLY clause
- [Example 36](/en/18/04-sql/#pg18-eg-36) — Specifying the ONLY clause
- [Example 37](/en/18/04-sql/#pg18-eg-37) — Output of the ANALYZE VERBOSE statement
- [Example 38](/en/18/04-sql/#pg18-eg-38) — Output of the ANALYZE VERBOSE statement
- [Example 39](/en/18/04-sql/#pg18-eg-39) — Output of the ANALYZE VERBOSE statement
- [Example 40](/en/18/04-sql/#pg18-eg-40) — COPY TO statement for materialized view
- [Example 41](/en/18/04-sql/#pg18-eg-41) — Specifying the REJECT\_LIMIT option
- [Example 42](/en/18/04-sql/#pg18-eg-42) — Specifying the LIKE Clause for External Tables
- [Example 43](/en/18/04-sql/#pg18-eg-43) — WITHOUT OVERLAPS clause in the primary key
- [Example 44](/en/18/04-sql/#pg18-eg-44) — CHECK constraints that do not operate
- [Example 45](/en/18/04-sql/#pg18-eg-45) — NOT VALID clause for foreign keys in partition tables
- [Example 46](/en/18/04-sql/#pg18-eg-46) — GENERATED ALWAYS VIRTUAL clause
- [Example 47](/en/18/04-sql/#pg18-eg-47) — Behavior in case of overflow
- [Example 48](/en/18/04-sql/#pg18-eg-48) — Using user\-defined functions
- [Example 49](/en/18/04-sql/#pg18-eg-49) — Disabling Nodes \(PostgreSQL 18\)
- [Example 50](/en/18/04-sql/#pg18-eg-50) — Disabling Nodes \(PostgreSQL 17\)
- [Example 51](/en/18/04-sql/#pg18-eg-51) — src\/backend\/optimizer\/path\/costsize\.c（PostgreSQL 17）
- [Example 52](/en/18/04-sql/#pg18-eg-52) — Windows Aggregation temporary storage information
- [Example 53](/en/18/04-sql/#pg18-eg-53) — CTE Scan Temporary Storage Information
- [Example 54](/en/18/04-sql/#pg18-eg-54) — Parallel Bitmap Heap Scan Detailed Information
- [Example 55](/en/18/04-sql/#pg18-eg-55) — Loop processing line count output
- [Example 56](/en/18/04-sql/#pg18-eg-56) — Index Search Count
- [Example 57](/en/18/04-sql/#pg18-eg-57) — Window function output
- [Example 58](/en/18/04-sql/#pg18-eg-58) — Output of old and new data in RETURNING clause
- [Example 59](/en/18/04-sql/#pg18-eg-59) — Execute the VACUUM ONLY statement
- [Example 60](/en/18/04-sql/#pg18-eg-60) — Execute the VACUUM VERBOSE statement
- [Example 61](/en/18/04-sql/#pg18-eg-61) — Execute the VACUUM VERBOSE statement
- [Example 62](/en/18/04-sql/#pg18-eg-62) — Setting the vacuum\_truncate parameter
- [Example 63](/en/18/04-sql/#pg18-eg-63) — Bytea and integer type casts
- [Example 64](/en/18/04-sql/#pg18-eg-64) — Execution of the array\_reverse function
- [Example 65](/en/18/04-sql/#pg18-eg-65) — If the database collation is PG\_C\_UTF8
- [Example 66](/en/18/04-sql/#pg18-eg-66) — If the database collation is PG\_UNICODE\_FAST
- [Example 67](/en/18/04-sql/#pg18-eg-67) — Execution of the crc32 and crc32c functions
- [Example 68](/en/18/04-sql/#pg18-eg-68) — Execution of the extract function
- [Example 69](/en/18/04-sql/#pg18-eg-69) — Execution of the gamma \/ lgamma function
- [Example 70](/en/18/04-sql/#pg18-eg-70) — Execution of the has\_largeobject\_privilege function
- [Example 71](/en/18/04-sql/#pg18-eg-71) — Execution of the json\_strip\_nulls function
- [Example 72](/en/18/04-sql/#pg18-eg-72) — Execution of the max \/ min function for bytea type
- [Example 73](/en/18/04-sql/#pg18-eg-73) — Execution of the reverse function
- [Example 74](/en/18/04-sql/#pg18-eg-74) — Execution of the pg\_get\_acl function
- [Example 75](/en/18/04-sql/#pg18-eg-75) — Execution of the pg\_get\_sequence\_data function
- [Example 76](/en/18/04-sql/#pg18-eg-76) — Execution of the pg\_ls\_summariesdir function
- [Example 77](/en/18/04-sql/#pg18-eg-77) — Execution of the pg\_stat\_get\_backend\_wal function
- [Example 78](/en/18/04-sql/#pg18-eg-78) — Argument name of the regexp\_count function
- [Example 79](/en/18/04-sql/#pg18-eg-79) — Specify Roman numerals in the to\_number function
- [Example 80](/en/18/04-sql/#pg18-eg-80) — Execution of the uuidv7 function and the uuidv4 function
- [Example 81](/en/18/04-sql/#pg18-eg-81) — Named cursor parameter specification
- [Example 82](/en/18/04-sql/#pg18-eg-82) — Execution Plan of PostgreSQL 17
- [Example 83](/en/18/04-sql/#pg18-eg-83) — Execution Plan of PostgreSQL 18
- [Example 84](/en/18/04-sql/#pg18-eg-84) — Execution Plan of PostgreSQL 17
- [Example 85](/en/18/04-sql/#pg18-eg-85) — Execution Plan of PostgreSQL 18
- [Example 86](/en/18/04-sql/#pg18-eg-86) — Execution Plan of PostgreSQL 17
- [Example 87](/en/18/04-sql/#pg18-eg-87) — Execution Plan of PostgreSQL 18
- [Example 88](/en/18/04-sql/#pg18-eg-88) — Adoption of Right Semi Join
- [Example 89](/en/18/04-sql/#pg18-eg-89) — Execution Plan of PostgreSQL 17
- [Example 90](/en/18/04-sql/#pg18-eg-90) — Execution Plan of PostgreSQL 18
- [Example 91](/en/18/04-sql/#pg18-eg-91) — Execution Plan of PostgreSQL 17
- [Example 92](/en/18/04-sql/#pg18-eg-92) — Execution Plan of PostgreSQL 18
- [Example 93](/en/18/04-sql/#pg18-eg-93) — Execution Plan of PostgreSQL 17
- [Example 94](/en/18/04-sql/#pg18-eg-94) — Execution Plan of PostgreSQL 18
- [Example 95](/en/18/04-sql/#pg18-eg-95) — Execution Plan of PostgreSQL 17
- [Example 96](/en/18/04-sql/#pg18-eg-96) — Execution Plan of PostgreSQL 18
- [Example 97](/en/18/04-sql/#pg18-eg-97) — Execution Plan of PostgreSQL 17
- [Example 98](/en/18/04-sql/#pg18-eg-98) — Execution Plan of PostgreSQL 18
- [Example 99](/en/18/05-configuration/#pg18-eg-99) — Automatic VACUUM worker limit
- [Example 100](/en/18/05-configuration/#pg18-eg-100) — Log output by setting log\_connections parameter
- [Example 101](/en/18/06-utilities/#pg18-eg-101) — Specifying the \-\-no\-data\-checksums option
- [Example 102](/en/18/06-utilities/#pg18-eg-102) — Verifying Options
- [Example 103](/en/18/06-utilities/#pg18-eg-103) — Specifying the \-\-sequence\-data option
- [Example 104](/en/18/06-utilities/#pg18-eg-104) — Output statistics by pg\_dump command
- [Example 105](/en/18/06-utilities/#pg18-eg-105) — Execute pg\_verifybackup command for tar format backup
- [Example 106](/en/18/06-utilities/#pg18-eg-106) — Output of \-\-help option
- [Example 107](/en/18/06-utilities/#pg18-eg-107) — Operation of Prepared statement
- [Example 108](/en/18/06-utilities/#pg18-eg-108) — Output of the \\dP\+ metacommand
- [Example 109](/en/18/06-utilities/#pg18-eg-109) — Output of the \\dAo\+ metacommand
- [Example 110](/en/18/06-utilities/#pg18-eg-110) — Pipeline Execution
- [Example 111](/en/18/06-utilities/#pg18-eg-111) — Extended table format mode output
- [Example 112](/en/18/06-utilities/#pg18-eg-112) — Output service name
- [Example 113](/en/18/06-utilities/#pg18-eg-113) — Title according to object type
- [Example 114](/en/18/06-utilities/#pg18-eg-114) — Output of the \\dx metacommand
- [Example 115](/en/18/06-utilities/#pg18-eg-115) — Output of the \\conninfo metacommand \(with SSL\)
- [Example 116](/en/18/06-utilities/#pg18-eg-116) — Specifying the \-\-missing\-stats\-only option
- [Example 117](/en/18/07-modules/#pg18-eg-117) — Checking the GIN index
- [Example 118](/en/18/07-modules/#pg18-eg-118) — Bloom Index Usage
- [Example 119](/en/18/07-modules/#pg18-eg-119) — Pass\-through of SCRAM authentication credentials
- [Example 120](/en/18/07-modules/#pg18-eg-120) — Additional options for file\_fdw module \(option on\_error \= \&\#x27\;ignore\&\#x27\;\)
- [Example 121](/en/18/07-modules/#pg18-eg-121) — Additional options for file\_fdw module \(option log\_verbosity \= ‘verbose’\)
- [Example 122](/en/18/07-modules/#pg18-eg-122) — Minimum password length setting
- [Example 123](/en/18/07-modules/#pg18-eg-123) — Execution of the fips\_mode function
- [Example 124](/en/18/07-modules/#pg18-eg-124) — Disable built\-in functions
- [Example 125](/en/18/07-modules/#pg18-eg-125) — Added CFB mode
- [Example 126](/en/18/07-modules/#pg18-eg-126) — SHA\-256 \/ SHA\-512 hashing and encryption
- [Example 127](/en/18/07-modules/#pg18-eg-127) — Execution of the pg\_buffercache\_evict\_relation function
- [Example 128](/en/18/07-modules/#pg18-eg-128) — Execution of the pg\_get\_logical\_snapshot\_meta function
- [Example 129](/en/18/07-modules/#pg18-eg-129) — Execution of the pg\_get\_logical\_snapshot\_info function
- [Example 130](/en/18/07-modules/#pg18-eg-130) — Execution of the EXPLAIN \(DEBUG\) statement
- [Example 131](/en/18/07-modules/#pg18-eg-131) — Capture internal SQL statements
- [Example 132](/en/18/07-modules/#pg18-eg-132) — SET statement constant
- [Example 133](/en/18/07-modules/#pg18-eg-133) — Verify additional columns \(parallel query information\)
- [Example 134](/en/18/07-modules/#pg18-eg-134) — SQL statements to execute
- [Example 135](/en/18/07-modules/#pg18-eg-135) — PostgreSQL 17 behavior
- [Example 136](/en/18/07-modules/#pg18-eg-136) — PostgreSQL 18 behavior
- [Example 137](/en/18/07-modules/#pg18-eg-137) — Pageinspect module
- [Example 138](/en/18/07-modules/#pg18-eg-138) — Pgstattuple module
- [Example 139](/en/18/07-modules/#pg18-eg-139) — Pass\-through settings for SCRAM authentication
- [Example 140](/en/18/07-modules/#pg18-eg-140) — Execution of the postgres\_fdw\_get\_connections function
- [Example 141](/en/18/07-modules/#pg18-eg-141) — Execution of the postgres\_fdw\_get\_connections function

</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/pg18-semantic.json) · [About the collection](/en/materials/)

---

Section pages:

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