{
  "slug": "database-checkpoint",
  "term": "Database checkpoint",
  "aliases": [
    "WAL checkpoint"
  ],
  "definition": "A database checkpoint records engine-defined recovery state to bound or reduce the work needed after a crash.",
  "note": "PostgreSQL recovery uses the redo position associated with a checkpoint. SQLite checkpointing transfers committed page content from WAL to the main database file, and readers can delay completion. These mechanisms are not identical, and a checkpoint does not create an independent backup. ARIES fuzzy checkpoints record recovery metadata without requiring dirty-page writes during the checkpoint.",
  "status": "shipping",
  "advantages": [
    {
      "text": "Can reduce the amount of log replay required after a crash.",
      "citationIds": [
        "pg-checkpoints"
      ]
    }
  ],
  "limitations": [
    {
      "text": "More frequent PostgreSQL checkpoints can increase data-page flushing and full-page-image WAL traffic.",
      "citationIds": [
        "pg-checkpoints"
      ]
    }
  ],
  "related": [
    "write-ahead-log",
    "full-page-write",
    "crash-consistency",
    "fuzzy-checkpoint"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "pg-checkpoints",
      "title": "PostgreSQL 18: WAL Configuration",
      "url": "https://www.postgresql.org/docs/18/wal-configuration.html",
      "accessed": "2026-10-11"
    },
    {
      "id": "pg-archive",
      "title": "PostgreSQL 18: Continuous Archiving and Point-in-Time Recovery",
      "url": "https://www.postgresql.org/docs/18/continuous-archiving.html",
      "accessed": "2026-10-11"
    },
    {
      "id": "sqlite-wal",
      "title": "SQLite: Write-Ahead Logging (unversioned documentation)",
      "url": "https://sqlite.org/wal.html",
      "accessed": "2026-10-11"
    },
    {
      "id": "hesela-wal",
      "title": "WAL, checkpoints and torn pages: three different recovery guarantees",
      "url": "https://hesela.com/analyses/wal-checkpoints-torn-pages/",
      "accessed": "2026-10-11"
    },
    {
      "id": "aries",
      "title": "Mohan et al. ARIES. ACM TODS 17(1), 1992, pp. 121-122, section 5.4.",
      "url": "https://www.cs.cmu.edu/~15849g/readings/mohan92.pdf",
      "accessed": "2026-10-12"
    }
  ],
  "updated": "2026-10-12"
}
