After running export SQLITE_TMPDIR=/run/media/ghostdog/data/datadir
I then run sqlite3 database.db
and subsequently vacuum;
in the sqlite console. Despite having more than enough room in my new TMPDIR (201gb) while my database is half of that (116.32Gb), after a while of running, sqlite complains Runtime Error: database or disk full (13)
.
I have confirmed that I am indeed writing to my new TMPDIR by running while true; do df -kh; sleep .1; clear; done;
in another console, and I am able to watch the Avail.
and Use%
go up until the sqlite instance either crashes or throws the aforementioned error. (Yes I am watching the correct directory, I am watching the entry mounted on /run/media/ghostdog/data/
).
No other processes are running on this disk, and it is not my system disk, so I am sure that nothing else could be filling it (on top of this the Avail.
field only goes down while vacuum;
is running).
CodePudding user response:
I managed to solve this by freeing up enough space for 2 additional copies of my database, not just 2 copies in total. (So in my case, 232.64GB free)