#547 Koji DB Server as postgres 8.3
Closed: Fixed None Opened 15 years ago by toshio.

We've been experiencing several problems/annoyances with postgres-8.1 that are mitigated (and in a few cases, solved) in postgres-8.3. If possible it would be great to bring up the new koji db server with postgres-8.3 from the start. If it works out well, we can migrate db2 to postgres-8.3 as well.

Some of the issues 8.3 addresses:
* autovacuum: in 8.1 there's problems with autovacuums conflicting with each other to prevent actual vacuuming from succeeding and not aggressive enough defaults leading to worse performance. 8.2 and especially 8.3 bring improvements to this (with autovacuum being on by default in 8.3)
* Non-persistent transaction IDs for read-only transactions: Reduces the need for full database vacuums since we'll go through transactions at a much reduced rate if selects do not count towards the total.
* A slew of performance enhancements. Of those, these may be of particular help to our dealings with some of koji's larger tables:
* Large sequential scans no longer force out frequently used cached pages -- should allow small queries to continue to operate from cache even if someone does a select from rpmfiles that needs to scan all of that table;
* Concurrent large sequential scans can now share disk reads -- should help when multiple people are doing searches of a large table (like our multiple selects on rpmfiles)
* ORDER BY ... LIMIT can be done without sorting -- would have helped with the problems rpmfiles was having earlier in the year.
* Heap-Only Tuples (HOT) -- avoids generating dead tuples on updates and (failed)inserts if indexed columns were not modified which reduces the need for vacuuming.


I was also told on #postgres that transaction IDs in 8.3 are stored per table. That means that vacuums of a whole database aren't needed anymore if you vacuum every table inside the database (including the hidden, system tables for that db).

Looks like this has been a success :-) Can't wait to see db2 moved over...

Login to comment on this ticket.

Metadata