Redrock Postgres 文档
主页 切换暗/亮/自动模式 切换暗/亮/自动模式 切换暗/亮/自动模式 返回首页

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 扩展。