ALTER DATABASE
注意事项
只有拥有数据库所有者权限的用户才能执行ALTER DATABASE命令,系统管理员默认拥有此权限。如果是非系统管理员,针对所要修改属性的不同,对其还有以下权限约束:
- 修改数据库名称,必须拥有CREATEDB权限。
- 修改数据库所有者,当前用户必须是该database的所有者,必须拥有CREATEDB权限,且该用户是新所有者角色的成员。
- 修改数据库默认表空间,该用户必须是该database的所有者或系统管理员,必须拥有新表空间的CREATE权限。这个语句会从物理上将一个数据库原来缺省表空间上的表和索引移至新的表空间。注意不在缺省表空间的表和索引不受此影响。
- 修改某个按数据库设置的相关参数,只有数据库所有者或者系统管理员可以改变这些设置。
- 修改某个数据库对象隔离属性,只有数据库所有者或者系统管理员可以执行此操作。
修改数据库的最大连接数。
修改数据库名称。
RENAME TO new_name;
修改数据库所属者。
修改数据库默认表空间。
SET TABLESPACE new_tablespace;
修改数据库指定会话参数值。
数据库配置参数重置。
{ configuration_parameter | ALL };
参数说明
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
重置全部的数据库会话参数值。