Backup & Restore
vectlite provides several ways to create backups and restore databases.
Snapshots
Create a self-contained copy of the database at any point:
Python
db.snapshot("/backups/knowledge_2024.vdb")
Node.js
db.snapshot('/backups/knowledge_2024.vdb')
The snapshot file includes all committed data. It does not include uncommitted WAL entries — call compact() first if you need a fully up-to-date snapshot.
Full Backup
A full backup copies the database file and all ANN sidecar files:
Python
db.backup("/backups/full/")
Node.js
db.backup('/backups/full/')
Restore
Restore a backup to a new database path:
Python
restored = vectlite.restore("/backups/full/", "restored.vdb")
Node.js
const restored = vectlite.restore('/backups/full/', 'restored.vdb')
Read-Only Mode
Open a database in read-only mode for safe concurrent access:
Python
ro = vectlite.open("knowledge.vdb", read_only=True)
results = ro.search(query, k=5) # Reads work
ro.upsert(...) # Raises VectLiteError
Node.js
const ro = vectlite.open('knowledge.vdb', { readOnly: true })
const results = ro.search(query, { k: 5 }) // Reads work
ro.upsert(...) // Throws VectLiteError
Read-only mode uses shared file locks, allowing multiple readers to access the same database file simultaneously.