SQLite3 pragma同步不持久

SQLite3 pragma synchronous not persistent

我在 WAL 模式下使用 SQLite3 数据库。 pragma 语句同步的默认模式是 2(完整),但这会使插入非常慢,根据 documentation 1(正常)应该没问题。

只要数据库打开,更改同步模式就有效,但似乎在连接结束时重置:

root@linux:~# sqlite3 mydb.db
SQLite version 3.8.6 2014-08-15 11:46:33
sqlite> pragma synchronous;
2
sqlite> pragma synchronous=1;
sqlite> pragma synchronous;
1
sqlite>[exit]
root@linux:~# sqlite3 mydb.db
SQLite version 3.8.6 2014-08-15 11:46:33
sqlite> pragma synchronous;
2

没有其他东西在使用数据库。谁能告诉我如何使此更改持久化?

还有,设置pragma synchronouspragma [database name].synchronous有什么区别?顺便说一句,两者都不是持久的。

与大多数其他 PRAGMA 一样,此设置不适用于数据库,但适用于数据库 连接

无法持久化。每次打开数据库都得做。