我想知道PostgreSQL中锁的数量限制是否是固定的,还是取决于打开的连接数。 文档说,限制是max_locks_per_transaction * (max_connections + max_prepared_transactions)
,而本文声称的限制是max_locks_per_transaction x number of currently open transactions
。
我主要试图找出是否有任何意义来监视PostgreSQL中的锁的总数,并在固定的阈值触发警告。 FWIW,我们在日志中没有看到任何“内存不足”的消息。
第一个公式给你的上限,第二个公式给出目前正在使用的是什么。 通常情况下,两个不同的东西,除非目前的使用是在上限。 因为数据库经常在使用中增长,所以监视这一点并没有什么坏处。 只要确保使用明智的门槛。