Name
backup , backup_close , backup_flush , backup_prepare , backup_row — Write data into transaction log format for backup purposes. Deprecated.
Synopsis
backup
( |
in file varchar ) ; |
backup_close ( |
) ; |
backup_flush ( |
) ; |
backup_prepare ( |
in file varchar ) ; |
backup_row ( |
in row any ) ; |
Description
![]() |
Important |
---|---|
These functions are deprecated. The use of backup_online () is preferred for database backups. Performing a backup with the destination file /dev/null is a good way of verifying a database's physical integrity. All backup files, whether complete (created with Backup and log files contain assumptions about the schema and row layout of the database. Hence it is not possible to use these for transferring data between databases. Attempt to do so will result in unpredictable results. Thus a log or backup may only be replayed on the same database, an empty database or a copy of the database which has had no schema changed since it was made. Also, when replaying a backup file onto an empty database, the +replay-crash-dump switch should be given on the executable command line. |
This function requires dba privileges.
Full backup
The backup
function takes a file
name as argument. The file produced will be in the log format and
will recreate the database as it was at the time of the last
checkpoint when replayed on an empty database. Such a file cannot
be replayed on anything except an empty database. Logs made after
the backup can be replayed over the database resulting from the
backup file's replay. No schema operations are allowed between
replays.
Partial backups
The backup_prepare
, backup_row
and backup_close
operations allow making specific
partial backups.
backup_prepare
. backup_prepare
initiates the backup. This must be the first statement to execute
in its transaction. The rest of the transaction will be a read only
snapshot view of the state as of the last checkpoint. Checkpointing
is disabled until backup_close
is
called.
Checkpoints are disabled for the time between backup_prepare
and backup_close
. The backup transaction being
lock-free, it cannot die of deadlock and hence will stay open for
the duration of the backup.
backup_row
. backup_row
writes
the row given as parameter into the backup file that was associated
to the current transaction by a prior backup_prepare
. The row must be obtained
obtained by selecting the pseudo column _ROW
from any table.
backup_flush
. The backup_flush
function will insert a transaction boundary into the backup log.
All rows backed up between two backup_flush
calls will be replayed as a single
transaction by replay. Having long intervals between backup_flush
calls will cause significant memory
consumption at replay time for undo logs.
backup_close
. The backup_close
function terminates the backup and closes the file. The transaction
remains a read only snapshot of the last checkpoint but checkpoints
are now re-enabled. The transaction should be committed or rolled
back after backup_close
.
Parameters
file
varchar file
filename for the generated
log.
backup_row
any row
a value of the pseudo column
_ROW
.