Postgres 9.5 (lanzado desde el 07-01-2016) ofrece un comando "upsert", también conocido como una cláusula ON CONFLICT para INSERTAR:
INSERT ... ON CONFLICT DO NOTHING/UPDATE
Resuelve muchos de los problemas sutiles que puede encontrar al usar la operación concurrente, que proponen algunas otras respuestas.