On Mon, Mar 09, 2020 at 10:21:23AM +0100, Josef Machytka wrote:
> On Mon, 9 Mar 2020 at 09:58, Julien Rouhaud <rjuju123@gmail.com> wrote:
>
> > The query displayed is just the query currently executing, but if the
> > connection is in a transaction the problematic lock could have been
> > acquired by
> > any previously executed query. Did you check in pg_stat_activity if the
> > connection is in a transaction (e.g. query_start != xact_start)?
>
> Oh, I see. Thank you. I modified query from wiki and it shows that blocking
> session actually runs for ~12 hours already. Only last COPY command started
> recently. So maybe golang library did not close session properly and reused
> it in another completely different task? Although I defer db.Close()
> everywhere...
I don't know anything about golang libraries, but this sounds like a problem of
a simulated non-autocommit mode in the driver/lib. You should look at
transaction handling with the lib you're using.