Yeah, that was one thing I was planning to try.  The other potential
solution is to use barman (we are using barman on all db servers including
standbys) to restore the latest backup to a VM and then take the pg_dump
from there.  But I was hoping there would be a way in the settings to
prevent such a workaround.



On Tue, Feb 12, 2019 at 12:36 PM Scot Kreienkamp <
scot.kreienk...@la-z-boy.com> wrote:

> How about pausing replication while you’re running the backup?  I have a
> mirror dedicated to backups, it pauses replication by cron job every night
> before the backup, then resumes midday after I’ve had enough time to find
> out if the backup was successful.
>
>
>
> *Scot Kreienkamp |Senior Systems Engineer | La-Z-Boy Corporate*
> One La-Z-Boy Drive| Monroe, Michigan 48162 | Office: 734-384-6403 | |
> Mobile: 7349151444 | Email: scot.kreienk...@la-z-boy.com
>
> *From:* Arjun Ranade [mailto:ran...@nodalexchange.com]
> *Sent:* Tuesday, February 12, 2019 11:33 AM
> *To:* pgsql-general@lists.postgresql.org
> *Subject:* pg_dump on a standby for a very active master
>
>
>
>
> *ATTENTION:   This email was sent to La-Z-Boy from an external source.
> Be vigilant when opening attachments or clicking links.*
>
> I have a Production machine which is having objects
> dropped/created/truncated at all hours of the day (Read: No zero activity
> window).  I have multiple standbys (repmgr streaming replication) for this
> machine including a cascading standby.  Each night, I am attempting to take
> a logical backup on the standby databases via pg_dump of key schemas.
>
>
>
> Recently, due to the activity on the primary, pg_dump is failing on the
> standby usually with "ERROR:  could not obtain lock on relation."
>
>
>
> I've had the following settings set in postgresql.conf which gave me
> successful backups for a while:
>
>
>
> hot_standby = on                        # "off" disallows queries during
> recovery
>
> max_standby_archive_delay = -1          # max delay before canceling
> queries
> max_standby_streaming_delay = -1        # max delay before canceling
> queries
> hot_standby_feedback = on               # send info from standby to prevent
>
> wal_receiver_timeout = 300s             # time that receiver waits for
>
> I have it set up this way because I don't mind any replication lag on the
> standbys during the logical backup.  However, recently logical backups have
> been failing either due to a table dropped/truncated on the master.
>
>
>
> Also, I use pg_dump with the parallel option in directory format.
> However, even single threaded pg_dump fails when a table is truncated on
> the primary.
>
>
>
> Is there any way to guarantee consistent logical backups on a standby
> server with a master that has constant DDL/activity?
>
>
>
> I am on Postgres 10.3; RHEL 7; 128gb RAM
>
>
>
> Thanks,
>
> Arjun
>
>
>
> This message is intended only for the individual or entity to which it is
> addressed.  It may contain privileged, confidential information which is
> exempt from disclosure under applicable laws.  If you are not the intended
> recipient, you are strictly prohibited from disseminating or distributing
> this information (other than to the intended recipient) or copying this
> information.  If you have received this communication in error, please
> notify us immediately by e-mail or by telephone at the above number.
> Thank you.
>

Reply via email to