tl;dr "Unless you plan to delete a row or modify a key column, always use SELECT FOR NO KEY UPDATE".
gmcabrita•7mo ago
> PostgreSQL takes FOR UPDATE on rows before a DELETE, or before an UPDATE that modifies a column that is part of a unique index that neither contains expressions nor is partial
This also happens when you UPDATE the same row twice within the same transaction.
rickette•7mo ago