Andrew Dunstan <andrew@dunslane.net> writes:
> My instinct would be to follow your first strategy, i.e. detect which
> path is needed rather than try one and then if it fails do the other.
The very first thing you need to think about is how to solve the race
condition problem, ie, two backends concurrently trying to insert
identical data. Until you have a plausible mechanism for that, the
whole thing is pie-in-the-sky.
regards, tom lane