I have about 6 bigint fields in this table that are very frequently
updated, but none of these are indexed. I thought that by not having an
index on them, would make all updates HOT, therefore not bloating the
primary key index. Seems I was wrong?
HOT update is only possible if there is room in the page. How wide is your single tuple?
Have you tuned autovacuum or are you running defaults? Not sure of your perception of "very frequently" updated values, but if you have bloat issue, vacuum early and often. Not sure how the math works out on a table with single tuple in terms of calculating when it is time to vacuum, but it certainly needs to be tuned differently than a table with millions of rows which is what I would be more used to.