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.