I work with American Community Survey data. ACS is now releasing new demographic data annually, and a new set of TIGER/Line files to go with it. But the vast majority of the geographies (states, counties, tracts, ZIP codes) do not change annually, and larger geographies (states and counties) are stable for decades.
In order to conserve server space, I'm thinking about trying to store these geometries with effective dates (start and end years), and then querying by the desired year. There is a shapefile like this for international boundaries created for the CShapes R package (http://nils.weidmann.ws/projects/cshapes). Polygons representing country boundaries over different years all overlap in the shapefile, but to get the countries for a specific year you just have to query:
WHERE 2010 BETWEEN cowsyear AND coweyear
where the fields
coweyear represent the start and end years for each country.
This doesn't seem like it would be that difficult to implement in PostGIS, using a base table with all times and views that select time slices. I would also need to input all geometries for each new year and test for equality to eliminate redundant geometries and alter the time bounds. My question is whether anyone has done this and has recommendations for how to proceed or any code I can steal.