poka.sh

Docs

SQLITE

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.

Sqlite Preview.

At a glance

Original creator D. Richard Hipp
First published 2004
Purpose A whole SQL database (tables, indexes, views and triggers) in one cross-platform file, the native format of the SQLite engine.
Extensions .sqlite, .sqlite3
Poka parser poka-sqlite
Viewer poka-tree-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-16: parsers/poka-sqlite/src/lib.rs (header, table b-tree walk, varints, records, sqlite_master, row counts, size integrity check) and tests/samples.rs over corpus .sqlite files (sample.sqlite, SpatiaLite and WAL samples). Schema and counts only: table, view, index and trigger names, declared columns, row counts; no row data is shown. Covers SQLite 3 files with UTF-8 text.

What Poka does not read

  • No table rows or cell values are shown
  • Databases with UTF-16 text encoding have schema names read as UTF-8 and so garbled
  • Overflow pages are not followed, so very long CREATE statements are cut
  • Row counts for WITHOUT ROWID tables read as 0 (index b-tree pages are not walked)
  • Index columns, foreign keys, constraints and view or trigger bodies are not shown (only the leading SELECT and the trigger timing and event)
  • Write-ahead log (WAL) content is not applied
  • Row counting stops at 1000000 rows; tree capped at 3000 nodes
  • Virtual tables are named with their module, but their contents are not read

Background

SQLite 1.0 was released in August 2000, 2.0 in September 2001 and 3.0 in June 2004. The Library of Congress page covers the version 3 file format, which every SQLite 3 release can read and write and which the developers have committed to keep backward compatible. The code and documentation are in the public domain. Poka walks the file format directly rather than linking a database engine: the header, the b-tree pages, varints and records. It lists the tables, indexes, views and triggers in sqlite_master (the tree stops at 3,000 nodes), counts each table's rows (a WITHOUT ROWID table shows 0) and parses the declared columns from the CREATE TABLE statement.

Versions

Version Identifier Poka Note
SQLite 3 SQLite format 3\0 Partly read The tree stops at 3,000 nodes, a UTF-16 database is read as UTF-8, and a WITHOUT ROWID table reports 0 rows.

Libraries

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

Sources