2

If I set journal_size_limit = 67110000 (64 MiB) will I be able to:

  1. work with / commit transactions over that value (somewhat unlikely)
  2. be able to successfully perform a VACUUM (even if the database has like 3 GiB or more)

The VACUUM command works by copying the contents of the database into a temporary database file and then overwriting the original with the contents of the temporary file. When overwriting the original, a rollback journal or write-ahead log WAL file is used just as it would be for any other database transaction. This means that when VACUUMing a database, as much as twice the size of the original database file is required in free disk space.

It's not entirely clear in the documentation, and I would appreciate if someone could tell me for sure.

4

1 回答 1

4

不是交易日志的journal_size_limit上限;它是非活动交易日志的上限。

事务完成后,不需要日志,但删除日志可以使事情变得更快,因为文件系统不需要释放这些数据然后为下一个事务重新分配它。

此设置的目的是限制未使用的日志数据的大小。

于 2013-05-14T16:55:44.960 回答