3 ms·
If you replicate low level changes, you might not be able to do a live upgrade/downgrade if the version change affects the on disk format. Another downside is
by lrossi 6y ago
If you replicate low level changes, you might not be able to do a live upgrade/downgrade if the version change affects the on disk format.
Another downside is that you might also propagate data corruption in case of bugs in the DB software (e.g. memory corruption) or hardware defects.
- scottlamb 6y ago> If you replicate low level changes, you might not be able to do a live upgrade/downgrade if the version change affects the on disk format. It certainly requires care to ensure all the replicas have software capable of understanding the new format before it's actually written, but it can be done. Likewise after writing the new format, you want to have a roll-back plan. In SQLite's case, https://sqlite.org/formatchng.html https://sqlite.org/formatchng.html says: "Since 2004, there have been enhancements to SQLite such that newer database files are unreadable by older versions of the SQLite library. But the most recent versions of the SQLite library should be able to read and write any older SQLite database file without any problems." I don't believe upgrading SQLite automatically starts using any of those enhancements; you'd have to do a schema change like "PRAGMA journal_mode=WAL;" first. > Another downside is that you might also propagate data corruption in case of bugs in the DB software (e.g. memory corruption) or hardware defects. This happens regardless.