Re: Getting following error in using cursor to fetch the records from a large table in c language

From: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
To: M Tarkeshwar Rao <m(dot)tarkeshwar(dot)rao(at)ericsson(dot)com>, "'pgsql-general(at)postgresql(dot)org'" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Getting following error in using cursor to fetch the records from a large table in c language
Date: 2019-10-31 19:07:01
Message-ID: ee2591e30acd5a74c39d3edd96efd6bc90273e52.camel@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

M Tarkeshwar Rao wrote:
> When we running with vacuum full we are getting following error message.
>
> Error:
> -------
> user was holding a relation lock for too long
>
> Any idea about this error.

That means that you got a replication conflict, which is to be expected,
because VACUUM (FULL) is also one of the commands that require an
ACCESS EXCLUSIVE lock.

First suggestion: don't use VACUUM (FULL).

Second suggestion: A standby server can *either* be used for high
availability, in which case queries on the standby should be forbidden
or canceled in case of conflicts, *or* it can be used to run resource
intensive reading queries, in which case application of the transaction
log should be delayed.

Don't try to use a standby for both - use two standby servers.

Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Олег Самойлов 2019-10-31 22:58:10 logging proxy
Previous Message Tomas Vondra 2019-10-31 18:56:46 Re: Barman