Skip to content

FOLLOW THE EVOLUTION

PostgreSQL 17 Catalog Changes

Start from a single upgrade and see how catalogs, columns, and types changed.
Compare any two versions, or walk forward through the release history.

PostgreSQL 16 → 17
pg_attributeStructural change
~ attstattarget: not_null: true → false↕ Column order changed
pg_databaseStructural change
+ dathasloginevt+ datlocale− daticulocale
pg_stat_bgwriterStructural change
− checkpoints_timed− checkpoints_req− checkpoint_write_time− checkpoint_sync_time− buffers_checkpoint− buffers_backend− buffers_backend_fsync
+ num_timed+ num_requested+ restartpoints_timed+ restartpoints_req+ restartpoints_done+ write_time+ sync_time+ buffers_written+ stats_reset
pg_stat_progress_vacuumStructural change
+ max_dead_tuple_bytes+ dead_tuple_bytes+ num_dead_item_ids+ indexes_total+ indexes_processed− max_dead_tuples− num_dead_tuples
pg_statistic_extStructural change
~ stxstattarget: integer → smallint~ stxstattarget: not_null: true → false↕ Column order changed
pg_statsStructural change
+ range_length_histogram+ range_empty_frac+ range_bounds_histogram