Thread: Question about locking

Question about locking

From
Frank Millman
Date:
Hi all

Apologies if this is an FAQ, but I could not find the answer I was 
looking for.

I want to run two SELECTs, one immediately after the other.

I want to ensure that no other process updates the database in between 
the two.

What is the best way to achieve this?

Thanks

Frank Millman





Re: Question about locking

From
Ron
Date:
On 8/7/22 00:30, Frank Millman wrote:
> Hi all
>
> Apologies if this is an FAQ, but I could not find the answer I was looking 
> for.
>
> I want to run two SELECTs, one immediately after the other.
>
> I want to ensure that no other process updates the database in between the 
> two.
>
> What is the best way to achieve this?

You probably want to put the queries in a Repeatable Read transaction, or 
even a READ ONLY serialized transaction.
https://www.postgresql.org/docs/12/transaction-iso.html#XACT-REPEATABLE-READ
https://www.postgresql.org/docs/12/transaction-iso.html#XACT-SERIALIZABLE
https://www.postgresql.org/docs/12/sql-set-transaction.html

-- 
Angular momentum makes the world go 'round.



Re: Question about locking

From
Frank Millman
Date:
On 2022-08-07 7:54 AM, Ron wrote:
> On 8/7/22 00:30, Frank Millman wrote:
>> Hi all
>>
>> Apologies if this is an FAQ, but I could not find the answer I was 
>> looking for.
>>
>> I want to run two SELECTs, one immediately after the other.
>>
>> I want to ensure that no other process updates the database in 
>> between the two.
>>
>> What is the best way to achieve this?
>
> You probably want to put the queries in a Repeatable Read transaction, 
> or even a READ ONLY serialized transaction.
> https://www.postgresql.org/docs/12/transaction-iso.html#XACT-REPEATABLE-READ 
>
> https://www.postgresql.org/docs/12/transaction-iso.html#XACT-SERIALIZABLE
> https://www.postgresql.org/docs/12/sql-set-transaction.html
>
Thanks, Ron. That is exactly what I am looking for.

Frank