openGauss SQL语法:ALTER DATABASE


风晓
风晓 2024-01-15 09:15:02 53116 赞同 0 反对 0
分类: 资源 标签: 国产数据库
openGauss SQL语法:ALTER DATABASE

ALTER DATABASE

功能描述

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

注意事项

  • 只有数据库的所有者或者被授予了数据库ALTER权限的用户才能执行ALTER DATABASE命令,系统管理员默认拥有此权限。针对所要修改属性的不同,还有以下权限约束:

    • 修改数据库名称,必须拥有CREATEDB权限。

    • 修改数据库所有者,当前用户必须是该database的所有者或者系统管理员,必须拥有CREATEDB权限,且该用户是新所有者角色的成员。

    • 修改数据库默认表空间,必须拥有新表空间的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 TABLESPACE new_tablespace;
  • 修改数据库指定会话参数值。

    ALTER DATABASE database_name 
    SET configuration_parameter { { TO | = } { value | DEFAULT } | FROM CURRENT };
  • 数据库配置参数重置。

    ALTER DATABASE database_name RESET 
    { configuration_parameter | ALL };
  • 修改数据库对象隔离属性。

    ALTER DATABASE database_name [ WITH ] { ENABLE | DISABLE } PRIVATE OBJECT;

    说明:

    • 修改数据库的对象隔离属性时须连接至该数据库,否则无法更改。

    • 新创建的数据库,对象隔离属性默认是关闭的。当开启数据库对象隔离属性后,普通用户只能查看有权访问的对象(表、函数、视图、字段等)。对象隔离特性对管理员用户不生效,当开启对象隔离特性后,管理员也可以查看到全量的数据库对象。

参数说明

  • database_name

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

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

  • connlimit

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

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

  • new_name

    数据库的新名称。

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

  • new_owner

    数据库的新所有者。

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

  • new_tablespace

    数据库新的默认表空间,该表空间为数据库中已经存在的表空间。默认的表空间为pg_default。

    取值范围:字符串,有效的表空间名。

  • configuration_parameter

    value

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

    取值范围:字符串,

    • DEFAULT

    • OFF

    • RESET

  • FROM CURRENT

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

  • RESET configuration_parameter

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

  • RESET ALL

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

说明:

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

  • 修改的数据库会话参数值,将在下一次会话中生效。

示例

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
--创建jim和tom用户。openGauss=# CREATE USER jim PASSWORD 'xxxxxxxxx';openGauss=# CREATE USER tom PASSWORD 'xxxxxxxxx';
--创建一个GBK编码的数据库music(本地环境的编码格式必须也为GBK)。openGauss=# CREATE DATABASE music ENCODING 'GBK' template = template0;
--创建数据库music2,并指定所有者为jim。openGauss=# CREATE DATABASE music2 OWNER jim;
--用模板template0创建数据库music3,并指定所有者为jim。openGauss=# CREATE DATABASE music3 OWNER jim TEMPLATE template0;
--设置music数据库的连接数为10。openGauss=# ALTER DATABASE music CONNECTION LIMIT= 10;
--将music名称改为music4。openGauss=# ALTER DATABASE music RENAME TO music4;
--将数据库music2的所属者改为tom。openGauss=# ALTER DATABASE music2 OWNER TO tom;
--设置music3的表空间为PG_DEFAULT。openGauss=# ALTER DATABASE music3 SET TABLESPACE PG_DEFAULT;
--关闭在数据库music3上缺省的索引扫描。openGauss=# ALTER DATABASE music3 SET enable_indexscan TO off;
--重置enable_indexscan参数。openGauss=# ALTER DATABASE music3 RESET enable_indexscan;
--删除数据库。openGauss=# DROP DATABASE music2;openGauss=# DROP DATABASE music3;openGauss=# DROP DATABASE music4;
--删除jim和tom用户。openGauss=# DROP USER jim;openGauss=# DROP USER tom;
--创建兼容TD格式的数据库。openGauss=# CREATE DATABASE td_compatible_db DBCOMPATIBILITY 'C';
--创建兼容A格式的数据库。openGauss=# CREATE DATABASE ora_compatible_db DBCOMPATIBILITY 'A';
--删除兼容TD、A格式的数据库。openGauss=# DROP DATABASE td_compatible_db;openGauss=# DROP DATABASE ora_compatible_db;

优化建议

  • create database

    事务中不支持创建database。

  • ENCODING LC_COLLATE LC_CTYPE

    当新建数据库Encoding与模板数据库(SQL_ASCII)不匹配(为'GBK' /'UTF8'/'LATIN1'/'GB18030')时,必须指定template [=] template0。

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
风晓L1
粉丝 1 资源 2038 + 关注 私信
最近热门资源
桌面通用(全架构)【在双系统环境下隐藏Windows启动菜单】操作指南  1554
银河麒麟桌面操作系统V10(SP1)2203-如何进行远程桌面互访?  1533
银河麒麟桌面操作系统【保留数据盘重装系统】  1487
麒麟系统各种原因开不了机解决(合集)  1212
统信桌面专业版【手动分区安装UOS系统】介绍  634
银河麒麟桌面操作系统 V10-SP1 双系统安装 efi 分区问题  596
统信系统安装(合集)  563
桌面通用(全架构)【rpm包转成deb包】操作方法  488
统启动异常几种类型(initramfs 模式)  466
最近下载排行榜
桌面通用(全架构)【在双系统环境下隐藏Windows启动菜单】操作指南 0
银河麒麟桌面操作系统V10(SP1)2203-如何进行远程桌面互访? 0
银河麒麟桌面操作系统【保留数据盘重装系统】 0
麒麟系统各种原因开不了机解决(合集) 0
统信桌面专业版【手动分区安装UOS系统】介绍 0
银河麒麟桌面操作系统 V10-SP1 双系统安装 efi 分区问题 0
统信系统安装(合集) 0
桌面通用(全架构)【rpm包转成deb包】操作方法 0
统启动异常几种类型(initramfs 模式) 0
作者收入月榜
1

prtyaa 收益393.72元

2

zlj141319 收益220.97元

3

1843880570 收益214.2元

4

IT-feng 收益213.03元

5

风晓 收益208.24元

6

777 收益172.82元

7

Fhawking 收益106.6元

8

信创来了 收益105.89元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!