It depends.
Firstly, if you have a PostGIS layer, then GeoServer doesn't cache the data, it loads it all live from the database. So, you can update the database and GeoServer sees the most recent version.
But, if you use GeoWebCache to cache the tiles that GeoServer has rendered, then you will need to do something to get rid of old tiles. Two ways around this:
- For layers that don't need caching, you can turn off the automatic GWC integtation.
- For layers that you do want to cache, you can tell GWC to get rid of the cache, and optionally, generate a new cache using the REST API.
(As an aside, I have some timeseries raster layers, which need GeoServer's metadata to be updated when they change, and you can trigger GeoServer to re-inspect those using GeoServers REST API too.)
alter table foo add column...
?