Buenas, es mejor utilizar una secuencia que un trigger.
Puedes definir un campo tipo serial, en realidad, serial no es un tipo sino una forma abreviada de definir una secuencia sobre un campo y un default sobre ese campo utilizando dicha secuencia, todo de forma automatica.
http://www.postgresql.org/
Salu2