On Wed, May 20, 2015 at 7:52 PM, Peter Geoghegan
<peter.geoghegan86@gmail.com> wrote:
> Due to some MediaWiki weirdness, I cannot login to edit it.
BTW, I wanted to edit the description of UPSERT. It's not true that
the use of a CTE can be considered a workaround. That pattern can
result in a spurious duplicate violation error with concurrent
upserters, and so I'd definitely discourage it. The only workarounds
that are robust involve subtransactions, like the plpgsql example in
the docs, and there is no declarative way to do that. You need to
catch a duplicate violation and retry to get a robust insert-or-update
outcome.
--
Regards,
Peter Geoghegan