Tatsuo Ishii <is...@postgresql.org> writes: > I'm wondering if following behavior of PostgreSQL regarding lock > conflict is an expected one. Here's a scenario:
> Session A: > BEGIN; > SELECT * FROM pg_class limit 1; -- acquires access share lock > Session B: > BEGIN; > ALTER TABLE pg_class ....; -- waits for acquiring access > exclusive lock(wil fail anyway > though) > Session C: > SELECT * FROM pg_class...; -- whatever query which needs > to acces pg_class will be > blocked, too bad... > I understand that B should wait for aquiring lock, but Should C wait > for? If we didn't do this, then a would-be acquirer of exclusive lock would have a very serious problem with lock starvation: it might wait forever in the face of a continuous stream of access-share lock requests. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers