J'aurais une copie de chaque tableau pour contenir les versions de ce tableau que vous souhaitez conserver. Cela ressemble un peu à un cauchemar pour maintenir et utiliser une table de version globale.
Ce lien dans la documentation de Postgres montre quelques exemples de déclencheurs d'audit dans Postgres.