我试图在数据库上运行VACUUM
命令,但似乎空间不足:
> sqlite3 mydatabase.db "VACUUM"
Error: database or disk is full
该数据库约为36 GB,运行该驱动器的驱动器看起来像(通过
df -h
):Filesystem Size Used Avail Use% Mounted on
/dev/sda2 406G 171G 215G 45% /home
因此,我显然超出了所需的两倍大小限制。我该怎么做才能使vacuum命令运行?
最佳答案
要允许VACUUM命令运行,请将临时文件的目录更改为具有足够可用空间的目录。
SQLite的documentation表示临时目录是(按顺序):
用PRAGMA temp_store_directory命令设置的任何内容;要么SQLITE_TMPDIR
环境变量设置的任何内容;要么TMPDIR
环境变量设置的任何内容;要么/var/tmp
;要么/usr/tmp
;要么/tmp
;要么.
,当前工作目录
关于sqlite - SQLITE3 VACUUM,“数据库或磁盘已满”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30296980/