CREATE UNDO
CREATE UNDO — define a new undo segment
CREATE UNDO [ IF NOT EXISTS ] name
[ WITH ( storage_parameter = value [, ... ] ) ]
[ TABLESPACE tablespace_name ]
CREATE UNDO constructs a new undo segment in the current database. The undo segment name must be distinct from the name of any existing undo segments in the current database. undo segments are primarily used to hold old version data that has been modified in tables and indexes.
To create a undo segment, the invoking user must have the CREATE privilege for the current database. (Of course, superusers bypass this check.)
-
IF NOT EXISTSDo not throw an error if a relation with the same name already exists. A notice is issued in this case. Note that there is no guarantee that the existing undo is anything like the one that would have been created.
-
nameThe name of the undo segment to be created. No schema name can be included here; the undo segment is always created in the schema
pg_catalog. -
storage_parameterThe name of an undo-specific storage parameter. See Undo Storage Parameters for details.
-
tablespace_nameThe tablespace in which to create the undo segment. If not specified, default_tablespace is consulted.
The optional WITH clause specifies storage parameters for the undo segment. Accepted parameters include:
-
minpagesMinimum number of pages in the undo segment. The default is
128. -
maxpagesMaximum number of pages in the undo segment. The default is unlimited. It is just a hint, in fact, Redrock Postgres provides a fully automated mechanism, known as automatic undo segment management mode, for managing undo segments and space.
Create an undo segment:
CREATE UNDO undo_13;
To create an undo segment and have it reside in the tablespace undospace:
CREATE UNDO undo_14 TABLESPACE undospace;
CREATE UNDO is a Redrock Postgres language extension. There are no provisions for undo segments in the SQL standard.