molina/record/postgres.md

docs

Postgres

Postgres, a database, on a disk that says data is stored when it is only in memory

Summary

In three runs of my Postgres gate, not an exact replay, a power cut on a disk that said data was stored when it was only in memory lost 63, 64 and 63 of 85, 86 and 85 saved writes. On a truthful disk the same cut lost none. I caused the failure, so this shows what such a disk can cost and says nothing about a defect in Postgres.

The full experimental record

What I ran

Postgres 17 on one volume, on a disk whose every flush said data was safely stored when it was only in memory, was run in exact mode through the world farm on one seed (seed 7) for 24 s of virtual time, and replayed three times.

In 3 of 3 replays the console, the console timings and the switch log were each byte for byte identical to the run's.

The switch log was empty: no frame crossed the switch.

What it shows

MIGHT. In 3 of 3 runs of Postgres on a disk whose every flush lies, replayed in exact mode on one seed, the world wrote the same console, the same console timings and the same disk image as the run, and an empty switch log in both (no frame crossed the switch).

Three runs on the disk that said data was safely stored when it was only in memory, with one seed, lost 63, 64 and 63 commits, and each kept 22 rows, of 85, 86 and 85 commits told. The count told moves a little from run to run.

The figures in this paragraph are from the Postgres gate, a separate run from the exact run above.

The gate boots a fresh world for each of its power-cut runs and is not in exact mode, and its count of commits told moves between its runs, so these figures are not replay results.

After a power cut on a disk that said data was safely stored when it was only in memory, the application had been told 85 commits were saved and 63 of them were gone.

What it does not show

The build the output names is not in the repository, so the run cannot be made again from a commit the repository holds.

Conditions

Unmodified Postgres programs (version 17) in an image cut down to what they load, pulled by digest.

Where it comes from

evidence/exact-disk-postgres-lying-flush-exact-run-and-three-replays-byte-identical-research-not-a-ledger-row.out

This page is the short form of the record. The finding and its limits come first, and I left out what did not fit.

:SageTech --ready