Using OpenLayers (with OpenStreetMaps) and PostGIS for rendering data acquired from GPS tracking device
Check out the rotate features OpenLayers example.
Moving a features works in the same way but using move, e.g.:
var vectorLayer = new OpenLayers.Layer.Vector("Simple Geometry");
// create a point feature
var point = new OpenLayers.Geometry.Point(-110, 45);
pointFeature = new OpenLayers.Feature.Vector(point, null, style_blue);
map.addLayer(vectorLayer);
map.setCenter(new OpenLayers.LonLat(point.x, point.y), 5);
vectorLayer.addFeatures([pointFeature]);
// move the point one unit up and redraw
window.setInterval(function() {
pointFeature.geometry.move(0, map.getResolution() * 1);
pointFeature.layer.drawFeature(pointFeature);
}, 100);
Temporal Filter Strategy
Example
Another way to go is using a temporal filter strategy (filter by time). But first you'll need your data exposed in OGC web service form.
Since you're still researching these technologies you might come to realization that it will be beneficial to use something like GeoServer or MapServer in between your PostGIS and OpenLayers. This is so your PostGIS data can be exposed as web services in OGC Standards such as WFS, WMS, etc. OpenLayers can take advantage of this is many ways and you'll be thanking me later.
Once you have your data exposed via a Map Server like GeoServer you'll be able to use the temporal filter strategy.