具有永久效果的 PRAGMA
大多數 PRAGMA 語句僅影響當前資料庫連線,這意味著每次開啟資料庫時都必須重新應用它們。
但是,以下 PRAGMA 會寫入資料庫檔案,並且可以隨時執行(但在某些情況下,不在事務內部):
以下 PRAGMA 設定設定了資料庫檔案的屬性,這些屬性在建立後無法更改,因此必須在第一次實際寫入資料庫之前執行它們:
- auto_vacuum (也可以在 VACUUM 之前更改 )
- 編碼
- legacy_file_format
- page_size (也可以在 VACUUM 之前更改 )
例如:
-- 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