pgref.dev/sqlite/errors/SQLITE_NOTICE_RECOVER_WAL
SQLITE_NOTICE_RECOVER_WALINFOTier 1 — Safe⚠️ MEDIUM confidence

WAL file recovery in progress (log notice)

Category: LoggingVersions: 3.7.15+

🔴 Production Risk Error

None — informational notice.

What this means

SQLITE_NOTICE_RECOVER_WAL (283) is passed to the sqlite3_log() callback when SQLite is recovering a WAL file after a crash. It is informational and indicates normal crash recovery.

Why it happens

  1. 1Application restarted after an unclean shutdown with uncommitted WAL frames.
  2. 2Normal WAL crash recovery on database open.

How to reproduce

First database open after a crash when a WAL file is present.

trigger — this will ERROR
# Register logger in C to see this code:
# sqlite3_config(SQLITE_CONFIG_LOG, myLogger, NULL);
# On open: "recovered N frames from WAL file ..."
Log: "recovered 42 frames from WAL file my.db-wal"

Fix 1

Why this works

No fix needed — this is expected after a crash. The database is being recovered automatically.

Sources

📚 Official docs: https://www.sqlite.org/rescode.html#notice_recover_wal

🔧 Source ref: sqlite3.h — SQLITE_NOTICE_RECOVER_WAL = 283

📖 Further reading: WAL mode

Confidence assessment

⚠️ MEDIUM confidence

Stable.

See also

📄 Reference pages

WAL mode
⚙️ This error reference was generated with AI assistance and reviewed for accuracy. Examples are provided to illustrate common scenarios and may not cover every case. Always test fixes in a development environment before applying to production. Spotted an error? Suggest a correction →