具有永久效果的 PRAGMA

大多数 PRAGMA 语句仅影响当前数据库连接,这意味着每次打开数据库时都必须重新应用它们。

但是,以下 PRAGMA 会写入数据库文件,并且可以随时执行(但在某些情况下,不在事务内部):

以下 PRAGMA 设置设置了数据库文件的属性,这些属性在创建后无法更改,因此必须在第一次实际写入数据库之前执行它们:

例如:

-- open a connection to a not-yet-existing DB file
PRAGMA page_size = 4096;
PRAGMA auto_vacuum = INCREMENTAL;
CREATE TABLE t(x);              -- database is created here, with the above settings