Re: circular wait not triggering deadlock ?

From: Justin Pryzby <pryzby(at)telsasoft(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: circular wait not triggering deadlock ?
Date: 2018-03-08 20:13:01
Message-ID: 20180308201301.GN24441@telsasoft.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, Mar 08, 2018 at 03:05:36PM -0500, Tom Lane wrote:
> Justin Pryzby <pryzby(at)telsasoft(dot)com> writes:
> > On Thu, Mar 08, 2018 at 01:57:06PM -0500, Tom Lane wrote:
> >> PID 20488 is evidently waiting for PID 6471 to finish its transaction.
> >> What's that one doing?
>
> > Um, I thought I had kept track of all two pids but looks not..
> > query | SELECT pg_export_snapshot();
>
> pg_export_snapshot doesn't block for other transactions, though.
> Further down, you have output that confirms that:
>
> > 6471 | idle in transaction | psql | SELECT pg_export_snapshot();
>
> That SELECT is the most recently completed command, not the current one.
> So now the question is what the connected application is waiting for
> before committing.

I believe it does an idle loop around sleep(1), until all the pg_dump
--snapshot children are done.

Justin

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2018-03-08 21:06:01 Re: What is the meaning of pg_restore output?
Previous Message Tom Lane 2018-03-08 20:05:36 Re: circular wait not triggering deadlock ?