How to vacuum sqlite database?

59.4k Views Asked by At

I want to know how to vacuum sqlite database. I tried a syntax MANUAL VACUUM command for the whole database from command prompt:

 $sqlite3 database_name "VACUUM;";

But it's giving error as:

near "database_name": syntax error.

and also AUTO VACUUM:

PRAGMA auto_vacuum = INCREMENTAL;

And tried it for a particular table as:

VACUUM table_name;

But no result.

5

There are 5 best solutions below

3
On

You don't to specify the table name in the syntax. Only VACUUM works.

Also, it will clean the main database only and not any attached database files.

For more info, refer to the SQLite documentation.

0
On

With DB Browser for SQLite it is trivial. Open your database file with DB Browser for SQLite and execute the VACUUM command in the Execute SQL tab (Either press F5 or click the Execute button):

enter image description here

0
On

Run the command:

VACUUM;

if you use DB Browser for Sqlite or

open Sqlite from command prompt:

cd C:\your_folder
C:\Users\your_user\AppData\Local\Android\Sdk\platform-tools\sqlite3.exe  -line your_db_name.db

and run

VACUUM;
0
On

Do double-click on the database file, it will run directly in the command line. Then just type VACUUM;

0
On

Give the command like this:

$sqlite3 database_name 'VACUUM;'

As a matter of fact, this is the way to do also other queries from command line:

$sqlite3 database_name 'select * from tablename;'

You can use the full path to the db:

$sqlite3 /path/to/db/foo.db 'VACUUM;'