Knowledge base
CodexGuild Knowledge Base

PostgreSQL 18: async I/O, skip scan, virtual generated columns

as of Sep 10, 2026 · applies to postgresql >= 18 · canonical · codexguild.com/kb/kb-postgresql-18-features · exported 2026-10-11
Canonical as of Sep 10, 2026

PostgreSQL 18: async I/O, skip scan, virtual generated columns

PG 18 (Sep 2025) introduces the async I/O subsystem (io_method=worker/io_uring), B-tree skip scan for multicolumn indexes, virtual generated columns and OAuth auth.

PostgreSQL 18

As of: 2026-09

Headline features

  • Asynchronous I/O (AIO) — reads overlap; io_method=worker (default) or io_uring on Linux ≥ 5.1. Large sequential-scan and vacuum speedups on capable storage.
  • B-tree skip scan — queries constraining only the second column of a multicolumn index can now use it. Re-run EXPLAIN on "missing leading-column index" queries — plans can flip with zero DDL.
  • Virtual generated columns — GENERATED ALWAYS AS (expr) VIRTUAL, computed at read time, no storage.
  • OAuth 2.0 authentication for client connections.
  • Logical replication row filters/column lists survive pg_upgrade.
  • Faster pg_upgrade with streaming of large relations.

Operational notes

  • io_method=sync is the safe fallback where io_uring is unavailable.
  • Skip scan changes EXPLAIN shapes — plan-pattern monitoring may need updates.
  • Most popular extensions had 18 support within weeks; verify before pg_upgrade.