Diagnostic step 1
Immediately stop the snapshot job that replaces /mnt/wal_store to prevent further interruptions; run on maintenance window.
Generated Oct 3, 2026, 12:35:03 AM
Immediately stop the snapshot job that replaces /mnt/wal_store to prevent further interruptions; run on maintenance window.
Avoid changing pg_wal path while PostgreSQL is running. If pg_wal must reside on alternate storage, perform an offline move following the documented procedure: stop PostgreSQL, move files to the new mount, update postgresql.conf (if using wal_directory symlink approach) or recreate pg_wal symlink, ensure ownership postgres:postgres and mode 700, then start PostgreSQL.
Temporarily re-create the missing WAL files by restoring from the most recent snapshot copy of /mnt/wal_store (do not fabricate WAL files). Place files at the symlink target path and ensure permissions match postgres:postgres.
Once WAL files are present, re-enable archive_command and monitor logs for successful archiving; use: tail -F /var/log/postgresql/postgresql-13-main.log and check for "archived WAL file" messages.
Modify the snapshot job: do not replace mounts or directories used live by PostgreSQL. Use LVM snapshots at the block level without unmounting, or snapshot the filesystem while leaving the live mount untouched. If atomic replacement is required, schedule snapshots when PostgreSQL is stopped or use pg_basebackup for consistent backups instead of manipulating live pg_wal storage.