Обсуждение: How to track down locks held by recovery process on a slave?

Поиск
Список
Период
Сортировка

How to track down locks held by recovery process on a slave?

От
Amador Alvarez
Дата:
Hi there,

I am using a postgres 9.2 slave for some reports and I noticed that sometimes they are held up because certain activity on the master like vacuums can affect long queries on a slave .

Looking at pg_locks view , I can see that the recovering process on the slave is holding some AccessExclusiveLock locks on relations which numbers that do not mach any pg_class.oid.

Any idea How could I find out which relations are locked by the recovering process?


Thanks in advance,
A.A.

Re: How to track down locks held by recovery process on a slave?

От
reiner peterke
Дата:
First thought is make sure you are looking in the right database.

pg_locks shows data over the entire server, not just the connected database.
pg_class exists for each database  so if you are connected to 'my_database' but the object is in 'your_database', it
won'tshow up in pg_class on 'my_database'. 

check the database value in pg_locks to verify where you should be looking for the object.

reiner

On 5 okt 2013, at 00:48, Amador Alvarez <apradopg@gmail.com> wrote:

> Hi there,
>
> I am using a postgres 9.2 slave for some reports and I noticed that sometimes they are held up because certain
activityon the master like vacuums can affect long queries on a slave . 
>
> Looking at pg_locks view , I can see that the recovering process on the slave is holding some AccessExclusiveLock
lockson relations which numbers that do not mach any pg_class.oid.  
>
> Any idea How could I find out which relations are locked by the recovering process?
>
>
> Thanks in advance,
> A.A.