Database Info and live databases

Petti 1.4 · User documentation

You can inspect a database another application uses. Read-only mode prevents Petti from writing; it does not stop that other application from changing the file.

Read Database Info

Choose ⋯ → Database Info…. Petti loads file size, SQLite runtime version, journal mode, page size, schema object counts, WAL/SHM sizes, declared foreign keys and FTS information asynchronously. Use Refresh to read it again.

SQLite runtime is the engine Petti is using, not a version stamped on the database. Counts include automatic indexes and FTS shadow tables. Declared foreign keys do not prove all rows satisfy them, and an FTS declaration does not prove an extension is available. A schema inspection limit can make capability results incomplete; the dialog says so.

Understand the WAL indicator

A WAL indicator appears when a WAL companion is observed. Click it for file sizes, shared-memory presence and the last observed file change, or to create a snapshot. The existence of a WAL is not proof that another app is currently writing.

Open the main database, keeping its -wal and -shm files beside it. Do not delete the companions to remove an error. Committed changes can still reside in the WAL. See the WAL guide for file-handling details.

Respond to a change notice

Petti coalesces file observations rather than reloading the interface on every event. When it says Database files changed. Refresh to see current data., finish the current operation and choose Refresh. Changes can include Petti’s own edits; this is not an audit trail naming another writer.

If the file was moved, removed or replaced, Petti asks you to Reopen Read Only. Do not assume a replacement file is the same database. If some files cannot be monitored, the interface reports that limitation.

Choose a stable inspection copy

For a repeatable view, create and open a snapshot. A live database can change between separate reads. SQLite coordinates access but busy/locked errors are still possible. Avoid making edits behind an active application’s back, particularly with framework-managed stores.