On 27/05/17 01:25, Jeff Janes wrote: > When I create a subscription in the disabled state, and then later doing > "alter subscription sub enable;", on the master I sometimes get a tight > loop of the deadlock detector: > > (log_lock_waits is on, of course) > > deadlock_timeout is set to 1s, so I don't know why it seems to be > running several times per millisecond. > > ..... > > And so on out to "after 9616.814", when it finally acquires the lock. > > The other process, 47457, is doing the initial COPY of another table as > part of the same publisher/subscriber set. >
We lock wait for running transactions in snapshot builder while the snapshot is being built so I guess that's what you are seeing. I am not quite sure why the snapshot builder would hold the xid lock for prolonged period of time though, the XactLockTableWait releases the lock immediately after acquiring it. In fact AFAICS everything that acquires ShareLock on xid releases it immediately after acquiring as it's only used for waits. -- Petr Jelinek http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers