> I think I found the answer, you use the CURRVAL() function. > > Just to cover all the bases, consider this scenario in chronological order: > 1. You insert data and the primary key is set to 20. > 2. Someone else inserts data and the next key is set to 21. > 3. If you call currval() will it return 20? I would think it does. My understanding is that it will provided your are within a transaction. The following thread showed a variation way to accomplish what you want. http://archives.postgresql.org/pgsql-sql/2006-07/msg00095.php Regards, Richard Broersma Jr.