Skip to content

docs: explain temporary storage for large database operations - #853

Open
roli-lpci wants to merge 1 commit into
simonw:mainfrom
roli-lpci:docs/large-database-temporary-storage
Open

docs: explain temporary storage for large database operations#853
roli-lpci wants to merge 1 commit into
simonw:mainfrom
roli-lpci:docs/large-database-temporary-storage

Conversation

@roli-lpci

@roli-lpci roli-lpci commented Sep 6, 2026

Copy link
Copy Markdown

Closes #430.

Adds a focused troubleshooting section beside Database.vacuum() for large operations that fail with database or disk is full even when the database filesystem has room.

The section shows setting PRAGMA temp_store = MEMORY on the same connection when sufficient RAM is available, and selecting a writable temporary directory with SQLITE_TMPDIR before starting the CLI on Unix-like systems. It includes the relevant limits: VACUUM disk-space requirements, compile-time overrides, existing temporary objects being deleted when changing the pragma, and journal/WAL storage. It links SQLite's authoritative documentation and avoids the deprecated temp_store_directory pragma.

Validation:

  • Executed the Python example and the CLI command on a disposable database. Both preserved all 20 test rows and returned PRAGMA integrity_check = ok; the requested temp_store value read back as 2.
  • uv run --python 3.11 --group docs make -C docs html: build succeeded.
  • Codespell on the modified page and git diff --check: passed.
  • The original large-database disk-full failure was not reproduced, and this does not claim memory storage eliminates all disk requirements.

Prepared with AI assistance.


📚 Documentation preview 📚: https://sqlite-utils--853.org.readthedocs.build/en/853/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document how to use PRAGMA temp_store to avoid errors when running VACUUM against huge databases

1 participant