I am working with a client who has a 9.1 database rapidly approaching XID
wraparound.  They also have an exceedingly large pg_largeobject table (4217
GB) that has never been vacuumed.  An attempt to vacuum this on a replica
has run for days and never succeeded.  (Or more accurately, never been
allowed to succeed because we needed to get the replica back on-line.)

Are there creative ways to do such a vacuum with minimal impact on
production?  Even if I let the vacuum complete on the replica, I don't
think I can play accrued logs from the master, can I?  Or is there some
trick to doing so?

I explored using slony and was all excited until I discovered it won't
replicate pg_largeobject because it cannot create triggers on the table.

I started looking into the pg_rewind contrib in 9.5, but it plays back
xlogs to revert so would suffer the same problem as the replica.

Any other ideas about how we can do this?

Thanks!
--Dave

Reply via email to