On 7/20/07, Mark Steben <[EMAIL PROTECTED]> wrote:

Hi listers,

I have a table that is accessed by only one transaction.  It has 1500 rows
each time that it processes

This transaction.  As soon as this transaction ends, it waits 10 seconds and
starts again.

It has another maximum 1500 rows loaded. .



My question is this:  I believe a RowExclusive level lock is acquired 1500
times during each transaction.

What type operations does the transaction performs on the table?

An exclusive row level lock is acquired only:

i) when a row is being updated, deleted or marked for deletion (Implicit lock)
ii) when SELECT FOR UPDATE query is executed on the table (to acquire
a share lock you can use SELECT FOR SHARE) (Explicit lock)


Is this true?  Is there a way to disable RowExclusive locks and reduce
overhead since only this transaction

Consider running postgresql in single user mode. This would eradicate
all the Interprocess communication overheads.


Accesses this table.   I know there are ways to specify locking levels in
other DBMSs. To page or table levels.


Postgresql handles page level locks implicitly, users do not have any
control over them.

regards,
--
Sibte Abbas
EnterpriseDB http://www.enterprisedb.com

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to