Обсуждение: locks
Hi all, After almost one year using PostgreSQL, I'm still discovering things about locks, we have little documentation about it: I know that one can lock a table in the following ways: * BEGIN statement: If you don't explicit lock a table using LOCK statement, it will be implicit locked only at first UPDATE, INSERT or DELETE operation. * DECLARE statement: Currently, PostgreSQL doesn't support READ ONLY cursors, once a cursor is declared, other users can only read data referenced by cursor. Write operations to the referenced table like UPDATE, INSERT, DELETE or DROP aren't allowed until the end of transaction. * LOCK statement: LOCK don't allows read access to locked tables by the other users. If another user try to SELECT a locked table, he must attend until the locked table is released. Just wondering if there are other ways to lock tables. Any replay will be appreciate. Thanks, Jose'
Jose' Soares Da Silva wrote: > > Hi all, > > After almost one year using PostgreSQL, I'm still discovering things about > locks, we have little documentation about it: > > I know that one can lock a table in the following ways: > > * BEGIN statement: > If you don't explicit lock a table using LOCK statement, it will be > implicit locked only at first UPDATE, INSERT or DELETE operation. > > * DECLARE statement: > Currently, PostgreSQL doesn't support READ ONLY cursors, once a cursor > is declared, other users can only read data referenced by cursor. > Write operations to the referenced table like UPDATE, INSERT, > DELETE or DROP aren't allowed until the end of transaction. > > * LOCK statement: > LOCK don't allows read access to locked tables by the other users. > If another user try to SELECT a locked table, he must attend > until the locked table is released. > > Just wondering if there are other ways to lock tables. > Any replay will be appreciate. Thanks, Jose' > I believe it to be so that BEGIN locks each table when it first occurs in a statement. With multiple statements per transaction this may lead to a deadlock. Roelof ---------------------------------------------------------------- Home is where the http://eboa.com/ is. ----------------------------------------------------------------