Name
pgx_rcvall - Recovers the data directory, tablespaces, and configuration files.
Synopsis
pgx_rcvall [option...]
Description
The pgx_rcvall command recovers the data directory, tablespaces, and configuration files using the data that was backed up with pgx_dmpall command and archived Write-Ahead-Log (WAL). If none of the options that indicate the recovery point is specified, all archived WAL are applied and the data will be recovered to the latest point.
Options
Specify the backup storage directory. If the data directory is damaged, this option cannot be omitted.
Specify the data directory. If this option is omitted, the value of the environment variable PGDATA is used.
Specify this option to recover the data as of the specified date and time.
Specify the time at which the data is recovered. The format is as follows:
"YYYY-MM-DD HH:MM:SS"
This option displays a list of the backup data information in the backup storage directory that was obtained using the pgx_dmpall command. If the pgx_dmpall command was executed using the copy command (-Y option) for backup, the resources backed up using the copy command will also be listed. This cannot be specified together with -p, -e or -n option.
Specify this option to recover the data to the specified restore point. Restore points are created with SQL function pg_create_restore_point. If multiple restore points with the same names were created, the first one after the backup was taken is used for recovery. If the specified restore point does not exist, the recovery fails. This cannot be specified together with -e or -p option.
Specify this option to recover the data as of the time when the last backup completed. This cannot be specified together with -e or -n option.
Specify this option if you do not want to include transactions committed at the time specified in the -e option as part of the recovery.
Specify the full path of the file of the copy command for recovery, using less than 1024 bytes. This option cannot be specified together with the -l option.
Prompt for the passphrase to open the keystore when using a file-based keystore.
When you use a key management system as a keystore, you are prompted to enter secret information to open the keystore.
Output the backup information file that was written by the copy command executed via the pgx_dmpall command. This option cannot be specified together with the -l, -p, -e, -n, or -Y option.
Environment
Specify the data directory. You can overwrite using the -D option.
Specify the port number for connecting to the database.
Specify the user name of the database superuser. This defaults to the name of the effective user running pgx_dmpall.
Diagnosis
0: Normal exit
Other than 0: Abnormal exit
Backup data information
Date the backup data was created using the pgx_dmpall command.
This is the name of the directory in the backup storage directory that is used to store the backup data.
Directory naming format: Time format (YYYY-MM-DD_HH-MM-SS)
This is the status of the pgx_dmpall command backup data.
COMPLETE: Complete
INCOMPLETE: Incomplete
List of resources that were backed up by the copy command executed via the pgx_dmpall command.
If there are resources that were backed up by the copy command, then database clusters ('pg_data') or tablespace names will be listed, delimited by header and halfwidth comma.
Notes
This command can only be executed when the database server is stopped, except when it is executed with -l option.
Execute this command as a PostgreSQL user account.
Use backup data that was taken from the recovery target data directory.
Before executing this command, disconnect all application database connections. Additionally, do not connect to the database during recovery.
The configuration files are restored from those files that were taken by the last pgx_dmpall (including -c option).
This command connects to the database to determine whether the recovery has completed. So ensure that you set the port number with PGPORT environment variable in the environment where multiple instances exist.
Match the OS timezone setting when running pgx_dmpall/pgx_rcvall to the timezone specified by timezone parameter in postgresql.conf.
Otherwise, data might be recovered to an unexpected time when -e or -p is specified.
If you recover to a past point, a new timeline (history of database updates) begins at that point. That recovery point is the latest point in the new timeline when the recovery is completed. If you subsequently recover to the latest point, the database updates in the new timeline will be replayed.
Valid restore points are the ones that were created in the timeline where the backup had been taken. That means that if you recover to a past point, those restore points created thereafter are unavailable. Therefore, take a backup when you have restored the past data desired.
If the pgx_dmpall command was executed using the copy command (-Y option) for backup, it is necessary to execute this command using the copy command (-Y option) for recovery. However, because the list of resources (database cluster or tablespace) that were backed up using the copy command is recorded in the backup directory, there is no need to specify the target resources when executing this command. The -I option can be used to check the target resources for which a backup is retrieved using the copy command.
Example
In the following example, the data directory, tablespaces, and configuration files are recovered.
$ pgx_rcvall -B /home/pgsql/Backupdir
In the following example, the data directory and tablespaces are recovered at 10:00:00 on 01-02-2022. The configuration files are recovered at the point at which the last of the data is obtained.
$ pgx_rcvall -B /home/pgsql/Backupdir -e "2022-02-01 10:00:00"
In the following example, the data directory and tablespaces are recovered up to the time of restore point "before_match_20220210_1". The configuration files are restored from the latest backup.
$ pgx_rcvall -B /home/pgsql/Backupdir -n before_match_20220210_1
In the following example, the obtained backup data information in the backup storage directory is displayed in a list.
$ pgx_rcvall -l
Related item
pgx_dmpall