PostgreSQL 18 New Features
GA source edition · 109 pages · 2026-02-19
WITH EXAMPLES · ENGLISH SOURCE EDITION
Explore the features, SQL examples, and compatibility changes documented by Noriyoshi Shinoda.
GA2026-02-19109 PDF pages9 chapters
Contents
Reference indexes
The opening chapter includes the first numbered table, Table 1. The indexes below collect the book’s other native numbered components.
Tables
- Table 1 — Version
- Table 2 — Examples of notation
- Table 3 — Syntax rules
- Table 4 — Add system catalogs and views
- Table 5 — System catalogs/views with additional columns
- Table 6 — System catalogs/views with removed columns
- Table 7 — Views in the information_schema schema with modified content
- Table 8 — System catalogs/views with modified output
- Table 9 — Pg_aios view column structure
- Table 10 — Pg_shmem_allocations_numa view column structure
- Table 11 — Reason for conflict output
- Table 12 — Parameter io_method setting value
- Table 13 — Added connect string
- Table 14 — Added API functions
- Table 15 — Added Access Method Element
- Table 16 — Added APIs
- Table 17 — Values that can be specified in the INCLUDING / EXCLUDING clause
- Table 18 — Column name and description of the return value of the pg_ls_summariesdir function
- Table 19 — Column name and description of the return value of the pg_stat_get_backend_wal function
- Table 20 — Added parameters
- Table 21 — Modified Parameters
- Table 22 — Setting value of parameter log_connections
- Table 23 — Parameters with default values changed
- Table 24 — Added options
- Table 25 — Added options
- Table 26 — Added metacommands
- Table 27 — Added metacommand
- Table 28 — Added variables
- Table 29 — Added options
- Table 30 — Column structure of the pg_buffercache_numa view
- Table 31 — Added functions
- Table 32 — Added columns
- Table 33 — Added return column
- Table 34 — Added modules
Examples
- Example 1 — MD5 Password Warning
- Example 2 — Checksum enabled by default
- Example 3 — Prohibition of COPY FREEZE statement for external tables
- Example 4 — Contents of CSV file data1.csv
- Example 5 — PostgreSQL 17 behavior
- Example 6 — PostgreSQL 17 behavior
- Example 7 — Change default value when creating SUBSCRIPTION
- Example 8 — Error creating UNLOGGED partition table
- Example 9 — PostgreSQL 17 behavior
- Example 10 — PostgreSQL 18 behavior
- Example 11 — Remove RULE privileges
- Example 12 — PostgreSQL 17 psql command output
- Example 13 — PostgreSQL 18 psql command output (without SSL)
- Example 14 — PostgreSQL 17 pg_backend_memory_contexts view
- Example 15 — PostgreSQL 18 pg_backend_memory_contexts view
- Example 16 — Retrieving the pg_shmem_allocations_numa view
- Example 17 — Cataloging NOT NULL Constraints
- Example 18 — Cumulative VACUUM / ANALYZE execution time
- Example 19 — Error log when executing INSERT statement
- Example 20 — Propagation settings for generated columns (PUBLICATION side)
- Example 21 — Confirmation of propagation of generated sequence (SUBSCRIPTION side)
- Example 22 — Execute pg_restore_relation_stats function
- Example 23 — Execute pg_clear_relation_stats function
- Example 24 — Execute pg_restore_attribute_stats function
- Example 25 — Execute pg_clear_attribute_stats function
- Example 26 — Confirmation of I/O worker process
- Example 27 — Database cluster creation with PG_UNICODE_FAST locale specified
- Example 28 — Database creation with PG_UNICODE_FAST locale specified
- Example 29 — Deforms during hash join
- Example 30 — Execute pg_numa_available function
- Example 31 — Default privileges for LARGE OBJECT
- Example 32 — Modify the two_phase option
- Example 33 — Specifying the SET INHERIT clause
- Example 34 — Specifying the NOT VALID clause
- Example 35 — Specifying the ONLY clause
- Example 36 — Specifying the ONLY clause
- Example 37 — Output of the ANALYZE VERBOSE statement
- Example 38 — Output of the ANALYZE VERBOSE statement
- Example 39 — Output of the ANALYZE VERBOSE statement
- Example 40 — COPY TO statement for materialized view
- Example 41 — Specifying the REJECT_LIMIT option
- Example 42 — Specifying the LIKE Clause for External Tables
- Example 43 — WITHOUT OVERLAPS clause in the primary key
- Example 44 — CHECK constraints that do not operate
- Example 45 — NOT VALID clause for foreign keys in partition tables
- Example 46 — GENERATED ALWAYS VIRTUAL clause
- Example 47 — Behavior in case of overflow
- Example 48 — Using user-defined functions
- Example 49 — Disabling Nodes (PostgreSQL 18)
- Example 50 — Disabling Nodes (PostgreSQL 17)
- Example 51 — src/backend/optimizer/path/costsize.c(PostgreSQL 17)
- Example 52 — Windows Aggregation temporary storage information
- Example 53 — CTE Scan Temporary Storage Information
- Example 54 — Parallel Bitmap Heap Scan Detailed Information
- Example 55 — Loop processing line count output
- Example 56 — Index Search Count
- Example 57 — Window function output
- Example 58 — Output of old and new data in RETURNING clause
- Example 59 — Execute the VACUUM ONLY statement
- Example 60 — Execute the VACUUM VERBOSE statement
- Example 61 — Execute the VACUUM VERBOSE statement
- Example 62 — Setting the vacuum_truncate parameter
- Example 63 — Bytea and integer type casts
- Example 64 — Execution of the array_reverse function
- Example 65 — If the database collation is PG_C_UTF8
- Example 66 — If the database collation is PG_UNICODE_FAST
- Example 67 — Execution of the crc32 and crc32c functions
- Example 68 — Execution of the extract function
- Example 69 — Execution of the gamma / lgamma function
- Example 70 — Execution of the has_largeobject_privilege function
- Example 71 — Execution of the json_strip_nulls function
- Example 72 — Execution of the max / min function for bytea type
- Example 73 — Execution of the reverse function
- Example 74 — Execution of the pg_get_acl function
- Example 75 — Execution of the pg_get_sequence_data function
- Example 76 — Execution of the pg_ls_summariesdir function
- Example 77 — Execution of the pg_stat_get_backend_wal function
- Example 78 — Argument name of the regexp_count function
- Example 79 — Specify Roman numerals in the to_number function
- Example 80 — Execution of the uuidv7 function and the uuidv4 function
- Example 81 — Named cursor parameter specification
- Example 82 — Execution Plan of PostgreSQL 17
- Example 83 — Execution Plan of PostgreSQL 18
- Example 84 — Execution Plan of PostgreSQL 17
- Example 85 — Execution Plan of PostgreSQL 18
- Example 86 — Execution Plan of PostgreSQL 17
- Example 87 — Execution Plan of PostgreSQL 18
- Example 88 — Adoption of Right Semi Join
- Example 89 — Execution Plan of PostgreSQL 17
- Example 90 — Execution Plan of PostgreSQL 18
- Example 91 — Execution Plan of PostgreSQL 17
- Example 92 — Execution Plan of PostgreSQL 18
- Example 93 — Execution Plan of PostgreSQL 17
- Example 94 — Execution Plan of PostgreSQL 18
- Example 95 — Execution Plan of PostgreSQL 17
- Example 96 — Execution Plan of PostgreSQL 18
- Example 97 — Execution Plan of PostgreSQL 17
- Example 98 — Execution Plan of PostgreSQL 18
- Example 99 — Automatic VACUUM worker limit
- Example 100 — Log output by setting log_connections parameter
- Example 101 — Specifying the --no-data-checksums option
- Example 102 — Verifying Options
- Example 103 — Specifying the --sequence-data option
- Example 104 — Output statistics by pg_dump command
- Example 105 — Execute pg_verifybackup command for tar format backup
- Example 106 — Output of --help option
- Example 107 — Operation of Prepared statement
- Example 108 — Output of the \dP+ metacommand
- Example 109 — Output of the \dAo+ metacommand
- Example 110 — Pipeline Execution
- Example 111 — Extended table format mode output
- Example 112 — Output service name
- Example 113 — Title according to object type
- Example 114 — Output of the \dx metacommand
- Example 115 — Output of the \conninfo metacommand (with SSL)
- Example 116 — Specifying the --missing-stats-only option
- Example 117 — Checking the GIN index
- Example 118 — Bloom Index Usage
- Example 119 — Pass-through of SCRAM authentication credentials
- Example 120 — Additional options for file_fdw module (option on_error = 'ignore')
- Example 121 — Additional options for file_fdw module (option log_verbosity = ‘verbose’)
- Example 122 — Minimum password length setting
- Example 123 — Execution of the fips_mode function
- Example 124 — Disable built-in functions
- Example 125 — Added CFB mode
- Example 126 — SHA-256 / SHA-512 hashing and encryption
- Example 127 — Execution of the pg_buffercache_evict_relation function
- Example 128 — Execution of the pg_get_logical_snapshot_meta function
- Example 129 — Execution of the pg_get_logical_snapshot_info function
- Example 130 — Execution of the EXPLAIN (DEBUG) statement
- Example 131 — Capture internal SQL statements
- Example 132 — SET statement constant
- Example 133 — Verify additional columns (parallel query information)
- Example 134 — SQL statements to execute
- Example 135 — PostgreSQL 17 behavior
- Example 136 — PostgreSQL 18 behavior
- Example 137 — Pageinspect module
- Example 138 — Pgstattuple module
- Example 139 — Pass-through settings for SCRAM authentication
- Example 140 — Execution of the postgres_fdw_get_connections function
- Example 141 — Execution of the postgres_fdw_get_connections function
Figures
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 · About the collection