Postgres 9.5 (veröffentlicht seit 07.01.2016) bietet einen „upsert“-Befehl, auch bekannt als ON CONFLICT-Klausel für INSERT:
INSERT ... ON CONFLICT DO NOTHING/UPDATE
Es löst viele der subtilen Probleme, auf die Sie beim gleichzeitigen Betrieb stoßen können, was einige andere Antworten vorschlagen.