PostgreSQL 8.2.3 中文文档
后退快退章17. 服务器配置快进前进

17.11. 锁管理

deadlock_timeout (integer)

以毫秒计的时间,用于设置在检查是否存在死锁条件之前等待的时间。检查是否存在死锁条件是一个缓慢的过程,因此服务器不会在每次等待锁的时候都运行这个过程。我们(乐观地)假设在生产应用中的死锁是不常出现的,因此我们在开始询问是否可以解锁之前只等待一个相对较短的时间。增加这个值就减少了浪费在无用的死锁检查上的时间,但是减慢了报告真正死锁错误的速度。缺省是 1000(1秒),这可能是你能够耐心等待的最短时间。在一个重负载的服务器上,你可能需要增大它。这个值的典型设置应该超过你的事务持续时间,这样就可以减少在锁释放之前就开始死锁检查的问题。

max_locks_per_transaction (integer)

共享的锁表的大小是以假设任意时刻最多只有 max_locks_per_transaction*(max_connections+max_prepared_transactions) 个独立的对象需要被锁住为基础进行计算的。所以,这个参数的名字可能有些让人糊涂:这不是单个事务可以使用的锁数目的硬限制,而是一个平均值。缺省值 64 ,已经经历史证明是足够的了,不过如果你的客户可能在一个事务里面修改很多不同的表,那么你就可能需要提高这个数值。这个值只能在服务器启动的时候设置。

增大这个参数可能导致 PostgreSQL 要求更多的 System V 共享内存,可能超过操作系统的缺省配置。必要时,参阅节16.4.1获取如何调节这些参数的信息。


后退首页前进
客户端连接缺省上一级版本和平台兼容性