Jag skulle ha en kopia av varje tabell för att hålla versionerna av den tabellen du vill behålla. Det låter som lite av en mardröm att underhålla och använda en global versionstabell.
Den här länken i Postgres-dokumentationen visar några exempel på revisionstrigger i Postgres.