fts5-external-content · shipping · also external-content FTS5

FTS5 external-content table

An FTS5 external-content table stores a full-text index while retrieving document values from another database object.

Related Observatory article: FTS5 external-content table on hesela.com

The content option names the document source, and content_rowid identifies its row key. Application logic must keep that source and the index aligned. [1]

In a controlled fixture, triggers added after two documents existed indexed a later third document but did not backfill the first two. A plain virtual-table read returned all three, while MATCH found only the new document. Explicit FTS5 rebuild restored the expected results. [2] [3]

All maintenance triggers can exist while a base-table REPLACE still leaves old postings: in a second fixture with recursive_triggers off, replacing alpha with delta recorded only an insert event and searching alpha returned the current delta row. Recursive triggers on caused delete then insert; a conflict-targeted UPSERT recorded an update under either setting. These are ordinary-table writes, not direct writes to the FTS virtual table. [5] [4]

Relations

related
FTS5 integrity-check, SQLite expression index, SQLite Online Backup API

Citations

  1. SQLite FTS5: external content and integrity checking (accessed 2026-10-18)
  2. Hesela: FTS5 query and verification controls (accessed 2026-10-18)
  3. Hesela: eight executed FTS5 states and full query results (accessed 2026-10-18)
  4. Hesela: four REPLACE/UPSERT cases with rollback, trigger events and full query results (accessed 2026-10-19)
  5. SQLite ON CONFLICT: REPLACE deletion and recursive triggers (accessed 2026-10-19)
Sources & caveats
  • Designed fixtures on SQLite 3.45.1, default tokenizer and closed DELETE-journal files. Not a failure-rate estimate.

JSON: /data/terms/fts5-external-content.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. FTS5 external-content table. Hesela. 2026-10-19. https://hesela.dev/terms/fts5-external-content/