Hi,

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?

Also, it seems that an attacker could do a denial service attack if he
could open session A and B, since other users on session C or
following sessions will be blocked.
--
Tatsuo Ishii
SRA OSS, Inc. Japan

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to