文档首页 > > 开发指南> SQL参考> SQL语法> ALTER DATABASE

ALTER DATABASE

分享
更新时间: 2019/11/12 GMT+08:00

功能描述

修改数据库的属性,包括它的名称、所有者、连接数限制等。

注意事项

  • 只有拥有数据库所有者权限的用户才能执行ALTER DATABASE命令,系统管理员默认拥有此权限。如果是非系统管理员,针对所要修改属性的不同,对其还有以下权限约束:
    • 修改数据库名称,必须拥有CREATEDB权限。
    • 修改数据库所有者,当前用户必须是该database的所有者,必须拥有CREATEDB权限,且该用户是新所有者角色的成员。
    • 修改数据库默认表空间,该用户必须是该database的所有者或系统管理员,必须拥有新表空间的CREATE权限。这个语句会从物理上将一个数据库原来缺省表空间上的表和索引移至新的表空间。注意不在缺省表空间的表和索引不受此影响。
    • 修改某个按数据库设置的相关参数,只有数据库所有者或者系统管理员可以改变这些设置。
  • 不能重命名当前使用的数据库,如果需要重新命名,须连接至其他数据库上。

语法格式

  • 修改数据库的最大连接数。
    ALTER DATABASE database_name 
        [ [ WITH ] CONNECTION LIMIT connlimit ];
  • 修改数据库名称。
    ALTER DATABASE database_name 
        RENAME TO new_name;
  • 修改数据库所属者。
    ALTER DATABASE database_name 
        OWNER TO new_owner;
  • 修改数据库指定会话参数值。
    ALTER DATABASE database_name 
        SET configuration_parameter { { TO | = } { value | DEFAULT } | FROM CURRENT };
  • 数据库配置参数重置。
    ALTER DATABASE database_name RESET 
        { configuration_parameter | ALL };

参数说明

  • database_name

    需要修改属性的数据库名称。

    取值范围:字符串,要符合标识符的命名规范。

  • connlimit

    数据库可以接收的最大并发连接数(管理员用户连接除外)。

    取值范围:整数,建议填写1~50的整数。-1(缺省)表示没有限制。

  • new_name

    数据库的新名称。

    取值范围:字符串,要符合标识符的命名规范。

  • new_owner

    数据库的新所有者。

    取值范围:字符串,有效的用户名。

  • configuration_parameter

    value

    把指定的数据库会话参数值设置为给定的值。如果value是DEFAULT或者RESET,则在新的会话中使用系统的缺省设置。OFF关闭设置。

    取值范围:字符串,

    • DEFAULT
    • OFF
    • RESET
  • FROM CURRENT

    根据当前会话连接的数据库设置该参数的值。

  • RESET configuration_parameter

    重置指定的数据库会话参数值。

  • RESET ALL

    重置全部的数据库会话参数值。

  • 修改数据库默认表空间,会将旧表空间中的所有表和索引转移到新表空间中,该操作不会影响其他非默认表空间中的表和索引。
  • 修改的数据库会话参数值,将在下一次会话中生效。

示例

请参考CREATE DATABASE的示例

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区