Skip to content

SQLite Memory Backend

The SQLite backend stores memories in a local SQLite database with FTS5 full-text search indexing. This provides structured storage with fast retrieval while keeping everything local.

Overview

SQLite is the default memory backend for PRX. It offers a good balance of performance, features, and simplicity:

  • Full-text search via FTS5 extension
  • ACID transactions for reliable writes
  • Zero configuration (single file database)
  • Efficient for up to tens of thousands of memory entries

Schema

The SQLite backend uses the following core tables:

  • memories -- stores individual memory entries with metadata
  • memories_fts -- FTS5 virtual table for full-text search
  • topics -- topic categorization for memory organization

Configuration

toml
[memory]
backend = "sqlite"

[memory.sqlite]
path = "~/.local/share/openprx/memory.db"
journal_mode = "wal"
busy_timeout_ms = 5000

The FTS5 index enables ranked full-text search across all memory entries. Queries support:

  • Boolean operators (AND, OR, NOT)
  • Phrase matching with quotes
  • Prefix matching with asterisk
  • Column-specific search

Released under the Apache-2.0 License.