I don’t have experience with PostGIS, but as in any database, if you want to store changes over time I would recommend to add a new record to a table, with for example a “Survey_Inspector_ID” field to associate a person with the survey; and of course a Datetime field to know when it happened.
This approach could be done directly on the layers if you want, if you only need the temporal and surveyor knowledge (that is, if you are okay with pretty much no security on the layers themselves). QGIS has the capability built-in to manage such “temporal” or “time series” data and even create visualizations. Check this tutorial, this wiki or this video to get an idea.
So, in general, I would have a “Surveys” layer/table, with a Datetime field and external keys, like “Surveyor_ID”, “Site_ID”, “Installation_Photo_ID”, etc, that would allow you to relate each record/feature of this layer to other tables and help you know if, for example, a picture is associated to the same hardware, or a hardware that is supposed to replace an older one.