{
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-22",
  "slug": "b-tree",
  "term": "B-tree",
  "aliases": [
    "B tree"
  ],
  "definition": "A B-tree is a balanced multiway search-tree family that groups ordered keys into nodes and keeps leaves at a common depth.",
  "note": "Many keys fit in one node, allowing a page-oriented index to branch more widely than a binary search tree. Implementations differ in whether records appear in internal nodes or only at leaves; B-tree is often used as a family name. [lehman-yao]\n\nPostgreSQL B-tree indexes support equality, range predicates and ordered retrieval. An index's ordering does not establish transaction visibility or verify the stored payload; an index-only scan has additional requirements. [pg-indexes] [ios]",
  "related": [
    "b-link-tree",
    "postgresql-index-only-scan"
  ],
  "citations": [
    {
      "id": "lehman-yao",
      "title": "Lehman and Yao (1981), Efficient Locking for Concurrent Operations on B-Trees, TODS 6(4), 650-670; DOI 10.1145/319628.319663",
      "url": "https://www.cs.cmu.edu/~dga/15-712/F07/papers/Lehman81.pdf",
      "accessed": "2026-10-22"
    },
    {
      "id": "pg-indexes",
      "title": "PostgreSQL 16: Index Types, B-tree supported operations",
      "url": "https://www.postgresql.org/docs/16/indexes-types.html",
      "accessed": "2026-10-22"
    },
    {
      "id": "ios",
      "title": "PostgreSQL 16: Index-Only Scans and Covering Indexes",
      "url": "https://www.postgresql.org/docs/16/indexes-index-only-scans.html",
      "accessed": "2026-10-22"
    }
  ],
  "provenance": [
    "Family-level definition; PostgreSQL-specific capabilities are scoped to version 16."
  ]
}
