From: Tom Lane <[EMAIL PROTECTED]>
To: "Jenny -" <[EMAIL PROTECTED]>
Subject: Re: [HACKERS] this is in plain text (row level locks) Date: Sat,
02 Aug 2003 23:28:30 -0400
> if row-level locks are not recorded in proclock or any other shared
memory
> datastruct
"Jenny -" <[EMAIL PROTECTED]> writes:
> so even though the application locks a row in a table, table-level locks are
> automatically taken by postgesql ? why is that?
So that the table doesn't disappear while you're trying to scan it. (Or
afterwards --- a row-level lock wouldn't be noticed by DR
> "Tom" == Tom Lane <[EMAIL PROTECTED]> writes:
Tom> Personally I'd feel more comfortable with a shared-lock
Tom> approach, if we could work out the scalability issues. Dirty
Tom> reads seem ... well ... dirty.
Tom
I was going to do some experiments to measure the costs of our
Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> > I was thinking of adding to TODO:
> > * Allow shared row locks for referential integrity
> > but how is that different from:
> > * Implement dirty reads and use them in RI triggers
>
> It'd be a completely different approach t
Bruce Momjian <[EMAIL PROTECTED]> writes:
> I was thinking of adding to TODO:
> * Allow shared row locks for referential integrity
> but how is that different from:
> * Implement dirty reads and use them in RI triggers
It'd be a completely different approach to solving the FK locking
p
I was thinking of adding to TODO:
* Allow shared row locks for referential integrity
but how is that different from:
* Implement dirty reads and use them in RI triggers
---
Tom Lane wrote:
> Rod T
> "Bruce" == Bruce Momjian <[EMAIL PROTECTED]> writes:
>> -- Pip-pip Sailesh http://www.cs.berkeley.edu/~sailesh
Bruce> ^^^ Watch out, that code from
Bruce> Berkeley usually is a mess. :-)
LOL !
That's why we release the code - in the hope of getting r
> "Tom" == Tom Lane <[EMAIL PROTECTED]> writes:
Tom> Sailesh Krishnamurthy <[EMAIL PROTECTED]> writes:
>> We implemented a Shared Memory MemoryContext using OSSP libmm
>> (used in Apache) for TelegraphCQ.
Tom> How portable is that? What kind of real-world performance do
T
Sailesh Krishnamurthy <[EMAIL PROTECTED]> writes:
> We implemented a Shared Memory MemoryContext using OSSP libmm (used in
> Apache) for TelegraphCQ.
How portable is that? What kind of real-world performance do you get?
regards, tom lane
---(end
Sailesh Krishnamurthy wrote:
> > "Tom" == Tom Lane <[EMAIL PROTECTED]> writes:
>
> Tom> Sailesh Krishnamurthy <[EMAIL PROTECTED]> writes:
> >> Why not have the traditional approach of a lock table in shared
> >> memory, growing and shrinking as appropriate,
>
> Tom> Because we
> "Tom" == Tom Lane <[EMAIL PROTECTED]> writes:
Tom> Sailesh Krishnamurthy <[EMAIL PROTECTED]> writes:
>> Why not have the traditional approach of a lock table in shared
>> memory, growing and shrinking as appropriate,
Tom> Because we can't grow shared memory. Whatever size w
Sailesh Krishnamurthy <[EMAIL PROTECTED]> writes:
> Why not have the traditional approach of a lock table in shared
> memory, growing and shrinking as appropriate,
Because we can't grow shared memory. Whatever size we get at startup is
what we're stuck with. (I suppose we could try asking the ke
> "Tom" == Tom Lane <[EMAIL PROTECTED]> writes:
Tom> Rod Taylor <[EMAIL PROTECTED]> writes:
>> It may be best to have a locking manager run as a separate
>> process. That way it could store locks in ram or spill over to
>> disk.
Tom> Hmm, that might be workable. We could
Rod Taylor <[EMAIL PROTECTED]> writes:
> It may be best to have a locking manager run as a separate process.
> That way it could store locks in ram or spill over to disk.
Hmm, that might be workable. We could imagine that in place of the
HEAP_MARKED_FOR_UPDATE status bit, we have a "this row is
On Thu, 2003-07-24 at 02:45, Sailesh Krishnamurthy wrote:
> > "Tom" == Tom Lane <[EMAIL PROTECTED]> writes:
>
> Tom> That doesn't work, unless you insist that the first backend
> Tom> can't exit its transaction until all the other ones are done.
> Tom> Which introduces its own poss
> "Tom" == Tom Lane <[EMAIL PROTECTED]> writes:
Tom> That doesn't work, unless you insist that the first backend
Tom> can't exit its transaction until all the other ones are done.
Tom> Which introduces its own possibilities for deadlock --- but
Tom> even worse, how does the fir
Bruce Momjian <[EMAIL PROTECTED]> writes:
> I suppose we could allow one backend to mark the page with a shared lock
> for primary key purposes while others read it. Does that buy us
> anything?
That doesn't work, unless you insist that the first backend can't exit
its transaction until all the o
Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> > Tom Lane wrote:
> >> This is actually an issue though. Row-level shared locks would be
> >> really nice to have for foreign-key handling. Right now we have to
> >> use X locks for those, and that leads to deadlocking problems for
> >
Bruce Momjian <[EMAIL PROTECTED]> writes:
> Tom Lane wrote:
>> This is actually an issue though. Row-level shared locks would be
>> really nice to have for foreign-key handling. Right now we have to
>> use X locks for those, and that leads to deadlocking problems for
>> applications.
> Is the pl
Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> > Sailesh Krishnamurthy wrote:
> >> Does pgsql only record X locks on the individual tuples on-disk or
> >> does it do so for S locks as well ?
>
> > We don't need to shared lock individual rows because of MVCC --- well,
> > we sort of
Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
>
>>Sailesh Krishnamurthy wrote:
>>
>>>Does pgsql only record X locks on the individual tuples on-disk or
>>>does it do so for S locks as well ?
>
>
>>We don't need to shared lock individual rows because of MVCC --- well,
>>we sort of
Bruce Momjian <[EMAIL PROTECTED]> writes:
> Sailesh Krishnamurthy wrote:
>> Does pgsql only record X locks on the individual tuples on-disk or
>> does it do so for S locks as well ?
> We don't need to shared lock individual rows because of MVCC --- well,
> we sort of do by recording our xid in ou
Sailesh Krishnamurthy wrote:
> > "Tom" == Tom Lane <[EMAIL PROTECTED]> writes:
>
> Tom> "Jenny -" <[EMAIL PROTECTED]> writes:
> >> Iam trying to acquire rowlevel locks in postgresql. I try doing
> >> this: 'select * from students where name='Larry' for update;
> >> But by looki
> "Tom" == Tom Lane <[EMAIL PROTECTED]> writes:
Tom> "Jenny -" <[EMAIL PROTECTED]> writes:
>> Iam trying to acquire rowlevel locks in postgresql. I try doing
>> this: 'select * from students where name='Larry' for update;
>> But by looking at the holding array of proclock , I'v
"Jenny -" <[EMAIL PROTECTED]> writes:
> Iam trying to acquire rowlevel locks in postgresql. I try doing this:
> 'select * from students where name='Larry' for update;
> But by looking at the holding array of proclock , I've noticed that by doing
> this only
> AccessShareLock gets acquired which is
25 matches
Mail list logo