3 ms·
Avoiding reporting an error only extends to errors that the user can reasonably hope to avoid, like spurious duplicate violations (from the "arbiter unique inde
by petergeoghegan 11y ago
Avoiding reporting an error only extends to errors that the user can reasonably hope to avoid, like spurious duplicate violations (from the "arbiter unique index"), and what I call unprincipled deadlocks (deadlocks where there is no user-visible mutual dependency, that users can't really do anything about except not use UPSERT so much). The point of UPSERT is that you're not supposed to have to worry about those.
Obviously if you run out of disk space or something like that, that will throw an error aborting the transaction.