ALTER UNDO
ALTER UNDO — 更改一个回滚段的定义
ALTER UNDO [ IF EXISTS ] name RENAME TO new_name
ALTER UNDO [ IF EXISTS ] name SET TABLESPACE tablespace_name
ALTER UNDO name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
ALTER UNDO [ IF EXISTS ] name SET ( storage_parameter = value [, ... ] )
ALTER UNDO [ IF EXISTS ] name RESET ( storage_parameter [, ... ] )
ALTER UNDO
更改一个现有回滚段的定义。下面描述了几种子形式。 注意每个子形式所需的锁级别可能不同。除非显式说明,ACCESS EXCLUSIVE
锁被持有。 列出多个子命令时,锁的持有将是任何子命令所需的最严格的子命令。
-
RENAME
RENAME
形式更改该回滚段的名称。这对已存储的数据没有影响。重命名回滚段取得一个SHARE UPDATE EXCLUSIVE
锁。 -
SET TABLESPACE
这种形式更改该回滚段的表空间为指定的表空间,并且把与该回滚段相关联的数据文件移动到新的表空间中。要更改一个回滚段的表空间,你必须拥有该回滚段并且具有新表空间上的
CREATE
特权。 -
OWNER TO
这种形式更改该回滚段的拥有者为指定的拥有者。要修改拥有者,你还必须是新拥有角色的一个直接或间接成员(注意超级用户自动拥有这些特权)。
-
SET (
storage_parameter=
value[, ... ] )
这种形式为该回滚段更改一个或者多个回滚段相关的存储参数。可用的参数详见 CREATE UNDO。注意这个命令不会立刻修改回滚段内容, 根据参数你可能需要用 VACUUM 清理回滚段来得到想要的效果。
-
RESET (
storage_parameter[, ... ] )
这种形式把一个或者多个回滚段相关的存储参数重置为其默认值。正如
SET
一样,可能需要一次VACUUM
来清理该回滚段。
-
IF EXISTS
如果该回滚段不存在不要抛出错误。这种情况下将发出一个提示。
-
name
要更改的一个现有回滚段的名称(可能被模式限定)。
-
new_name
该回滚段的新名称。
-
tablespace_name
该回滚段将被移动到的表空间。
-
new_owner
该回滚段的新拥有者。
-
storage_parameter
一个回滚段相关的存储参数的名称。
-
value
一个回滚段相关的存储参数的新值。根据该参数,这可能是一个数字或者一个词。
要重命名一个现有回滚段:
ALTER UNDO undo_abc RENAME TO undo_test;
把一个回滚段移动到一个不同的表空间:
ALTER UNDO undo_15 SET TABLESPACE undospace;
更改一个回滚段的最小页面数:
ALTER UNDO undo_15 SET (minpages = 131072);
更改回滚段undo_15
的拥有者:
ALTER UNDO undo_15 OWNER TO mary;
ALTER UNDO
是一种 Redrock Postgres 扩展。