Eu teria uma cópia de cada tabela para manter as versões dessa tabela que você deseja manter. Parece um pesadelo manter e usar uma tabela de versão global.
Este link na documentação do Postgres mostra alguns exemplos de triggers de auditoria no Postgres.