That's lock upgrading, which opens you up to deadlocks. If another
process grabs a lock after your update exclusive, you're not going to
be able to upgrade it.
OK I got the point.
Is it possible to create a new table-level lock mode that says "OK, now
I'm on share level, but soon I will upgrade it to exclusive". Then it
would be possible to allow any read-only operation, and to forbid all
operation that would need to upgrade.
I know that there is a sx_try_upgrade function on freeBSD kernel (man
sx), so I guess there is a way to do it, isn't it?
Regards,
Jonathan Scher
---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at
http://www.postgresql.org/about/donate