I read this in the release notes:
---
# Database-wide ANALYZE does not hold locks across tables (Tom)
This reduces the potential for deadlocks against other backends that
want exclusive locks on tables. To get the benefit of this change, do
not execute database-wide ANALYZE inside a transaction block (BEGIN
block); it must be able to commit and start a new transaction for each
table.
---
Does that mean that now if we used savepoints internally, analyze can
still be run in a transaction and still not hold lots of locks?
Chris