poka.sh

Docs

EDB

Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.

Extensible Storage Engine Database.

At a glance

Original creator Microsoft
Purpose An Extensible Storage Engine (JET Blue) database, behind Windows Search, Exchange, Active Directory and other Windows components.
Extensions .edb
Poka parser poka-edb
Viewer poka-table-viewer
Depth tier Parser with a shared viewer (see Depth tiers)
Breadth tier B4 Summary (see Breadth tiers)

How much Poka reads

B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.

Confidence: high (the reviewer read the code and a test that proves the claim). Basis: Reviewed 2026-10-21: read parsers/poka-edb/src/lib.rs in full, its unit tests and tests/samples.rs, corpus sample Catalog1.edb (version 0x620, revision 0x14, 4096-byte pages, dirty shutdown). The header and the catalogue are read: the ten tables, their column and index counts and root pages match esentutl /mm on the same file, and a copy cut in the middle of every page lists no table it did not read. Covers ESE databases with pages up to 8 KiB in the new page-checksum format; the only file tested is one 4 KiB-page database. B4: the structure is summarised, no table content is read.

What Poka does not read

  • Rows and record values
  • Column names and types, and index keys (only their counts are shown)
  • Long-value and callback entries of the catalogue
  • Database and attach times
  • Database signature and other header fields beyond version, revision, type, state and page size
  • Streaming (.stm) file content
  • Space trees and page usage
  • 16 and 32 KiB pages and the older page-checksum format: the catalogue is reported as not read
  • The ECC half of page checksums (the XOR half is checked)
  • Log files: a dirty-shutdown database is shown as it is on disk

Background

Wikipedia describes ESE as Microsoft's ISAM storage engine, first released in 1994, at the core of Exchange Server, Active Directory and Windows Search; a database is a single file of fixed-size pages arranged in B-trees. Poka reads the file header (format version and revision, file type, page size and database state; no time field is read), after checking the signature (the second word; the first is a checksum), then walks the catalogue, the MSysObjects B-tree whose root is always page 4, and lists its tables with the number of columns and indexes the catalogue defines for each and the page each table's tree starts at. Each catalogue page's checksum is checked before it is used; a page that is missing or fails is named, and the tables next to it are marked as counted in part. No table rows are read.

Versions

Version Identifier Poka Note
ESE database EF CD AB 89 at offset 4 Partly read Header and table catalogue; no rows.

Libraries

Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.

Software that uses it

  • Computers & Structures ETABS

Sources