COVERAGE & CALIBRATION
Every version checked against a live instance.
From PostgreSQL 9.0 to 19 beta 3, the core pg_catalog tables and views are covered in full. The catalog inventory comes from the source; column structure is checked item by item against the result from a fresh instance.
17 / 17 versions measured · 2032 relation snapshots · 19171 column records. A further 5934 common system-column records are kept separately.
| Release | Catalogs | Views | Columns | Evidence |
|---|---|---|---|---|
| 9.0.23 | 44 | 36 | 726 | Runtime JSON ↗ · Source ↗ |
| 9.1.24 | 48 | 45 | 861 | Runtime JSON ↗ · Source ↗ |
| 9.2.24 | 50 | 45 | 895 | Runtime JSON ↗ · Source ↗ |
| 9.3.25 | 51 | 46 | 913 | Runtime JSON ↗ · Source ↗ |
| 9.4.26 | 51 | 48 | 946 | Runtime JSON ↗ · Source ↗ |
| 9.5.25 | 54 | 52 | 991 | Runtime JSON ↗ · Source ↗ |
| 9.6.24 | 55 | 55 | 1000 | Runtime JSON ↗ · Source ↗ |
| 10.23 | 62 | 59 | 1093 | Runtime JSON ↗ · Source ↗ |
| 11.22 | 62 | 59 | 1102 | Runtime JSON ↗ · Source ↗ |
| 12.22 | 63 | 63 | 1158 | Runtime JSON ↗ · Source ↗ |
| 13.23 | 62 | 67 | 1192 | Runtime JSON ↗ · Source ↗ |
| 14.24 | 62 | 72 | 1267 | Runtime JSON ↗ · Source ↗ |
| 15.19 | 64 | 75 | 1308 | Runtime JSON ↗ · Source ↗ |
| 16.15 | 64 | 76 | 1358 | Runtime JSON ↗ · Source ↗ |
| 17.11 | 64 | 78 | 1377 | Runtime JSON ↗ · Source ↗ |
| 18.6 | 64 | 80 | 1423 | Runtime JSON ↗ · Source ↗ |
| 19beta3 preview | 69 | 87 | 1561 | Runtime JSON ↗ · Source ↗ |
These counts cover every core ordinary catalog table and view in that version, including statistics views, progress views, and the variants that actually exist. Indexes, TOAST tables, functions, catalog data rows, and extension-created objects are not counted as separate catalog tables. Common system attributes such as xmin and ctid stay in each snapshot's system_columns and are not mixed in with ordinary columns.
What this round corrected
The original documentation has its own omissions, spelling slips, and wrong types. The table below keeps the differences between the documentation and the real structure; the source documents were not overwritten. Calibrated types come from format_type on the corresponding release; column names, order, type OIDs, nullability, and array dimensions come from pg_attribute.
28 correction records
Download the full calibration report · Download the standalone source coverage report · Download the calibrated master data
How these results were produced
Each probe initialises its own extension-free temporary database listening on a private Unix socket only. 9.x and 19 beta 3 are built from the matching release source; 10 through 18 use official community packages of the exact minor version. Every probe result, its SQL, version numbers, build options, and SHA-256 are kept in the project. An offline rebuild reads the archive directly and does not require restarting a database.
9.0 and 9.1 use the semaphore lock option supplied by the original project on ARM64 for compatibility with the older code; compiler compatibility flags and build logs are recorded, and no catalog definition was modified. Cross-version differences are taken per exact release snapshot, with 19 pinned to REL_19_BETA3 rather than a moving development branch.
See the data formats, historical documents, and provenance notes →