To pytanie i odpowiedź będą dla Ciebie interesujące:Wstaw, w duplikacie aktualizacja w PostgreSQL?
Zasadniczo albo użyj dwóch zapytań (wykonaj zaznaczenie, jeśli zostanie znaleziona aktualizacja, w przeciwnym razie wstaw), co nie jest najlepszym rozwiązaniem (dwa skrypty działające jednocześnie mogą dać duplikaty wstawek), albo zrób tak, jak sugeruje powyższe pytanie - wykonaj procedurę składowaną/ aby to zrobić (jest to prawdopodobnie najlepsza i najłatwiejsza opcja).