Postgres slow select query on another table after other table alter and update
There is no reasonable way to determine why a seqscan is slower shy of bloat and dead rows. Removing the dead rows is simple. Try VACUUM FULL cofk_union_queryable_work.
Consider indexing the columns to avoid the seq scan entirely. When you say something like this "this was a large (around 100'000) update for the system, which only usually has small changes" That's a clue there should be indexes. The only reason not to index, is to save space and write/speed. If you're not writing, index away! Feel free to \d table and update your question if you need help.
Your version of PostgreSQL is olldddd. 9.1 was released on 2011-09-11.  That's Shark Night 3D old


Most of this stuff was said by @a_horse_with_no_name, like usual, and in the comments. Also, like usual.