So you got better insert performance by turning on synchronous_commit? How is that possible? Shouldn't synchronous_commit=off increase performance? Is this only the case with 8.3?
I tried inserting 10k rows in a table with more than 50 columns with and without synchronous_commit and the results were (Postgres 9.1):
off: 1.989s
on: 2.928s
So off is 2 times faster.