Skip to content

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