Thread: pb_basebackup process not working
PostgreSQL – 9.5.4
I read the PostgreSQL directions on how to do a point in time base back. When I execute this command I get an error:
pg_basebackup --host=localhost --xlog --gzip --write-recovery-conf --format=t --pgdata=${BACKUPS_HOME}/${BACKUP_DATE_TIME}
Error message:
pg_basebackup: could not get transaction log end position from server:
ERROR: requested WAL segment 00000001000001CD00000055 has already been removed
The PostgreSQL listserv recommend using the –xlog-method=stream.
So I tried this:
pg_basebackup --host=localhost --xlog-method=stream --gzip --write-recovery-conf --format=t --pgdata=${BACKUPS_HOME}/${BACKUP_DATE_TIME}
Error message:
pg_basebackup: WAL streaming can only be used in plain mode
So I changed it to use the plain format. I now found that I cannot tar or gzip the output. So my next try was to pipe it through gzip.
pg_basebackup --host=localhost --xlog-method=stream --write-recovery-conf | gzip ${BACKUPS_HOME}/${BACKUP_DATE_TIME}.gz
Now I get the error:
pg_basebackup: no target directory specified
What do I do next?
1) Now what should I try? I don’t want to have to write out the entire backup of my database files in an uncompressed format. That is just crazy and silly.
2) Why offer tar and gzip as an option in my first attempt if it won’t work? Is there something I am missing?
Any help would be appreciated.
Lance Campbell
Lance Campbell wrote: [realizes that pg_basebackup options -X s and -z are incompatible] > 1) Now what should I try? I don’t want to have to write out the entire backup of my database > files in an uncompressed format. That is just crazy and silly. You have basically two options: a) Don't include the WAL files with the base backup. If you are planning to use PITR, you'll have to archive those separately anyway. So why include them in the base backup? b) Use -X f and "set wal_keep_segments" high enough that the WAL files are not deleted. > 2) Why offer tar and gzip as an option in my first attempt if it won’t work? Is there something > I am missing? Yes, namely that WAL files get deleted/recycled from pg_xlog when they are no longer needed. If your backup takes too long, the earliest WAL files that are needed for recovery to a consistent state will be gone when the backup is done. Yours, Laurenz Albe
> From: "Campbell, Lance" <lance@illinois.edu> >To: "pgsql-admin@postgresql.org" <pgsql-admin@postgresql.org> >Sent: Wednesday, 19 October 2016, 15:03 >Subject: [ADMIN] pb_basebackup process not working > >So I changed it to use the plain format. I now found that I cannot tar or gzip the output. So my next try was to pipeit through gzip. > >pg_basebackup --host=localhost --xlog-method=stream --write-recovery-conf | gzip ${BACKUPS_HOME}/${BACKUP_DATE_TIME}.gz > >Now I get the error: > >pg_basebackup: no target directory specified > >What do I do next? You can specify output to stdout if you use the tar format. So something like: pg_basebackup --host=localhost --xlog-method=stream --write-recovery-conf --format=tar --pgdata - | gzip ${BACKUPS_HOME}/${BACKUP_DATE_TIME}.gz