Jeff Davis <[EMAIL PROTECTED]> writes: > How would creating a new lock type avoid deadlocks when an ANALYZE is > accumulating the locks in random order?
In itself it wouldn't. Josh Drake sketched the idea in more detail later: if there is a lock type used *only* for ANALYZE, then you can do ConditionalLockAcquire on it, and if you fail, skip the table on the assumption that someone else is already doing what you came to do. The whole thing seems a bit too cute/complicated though; it'd open various corner cases such as: ANALYZE, run complex query, query takes a week because it's using out-of-date stats because previous ANALYZE-r hadn't committed yet. I'd rather ANALYZE always analyzed than sometimes fell through without doing anything. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match