ALTER DATABASE
更改数据库的属性。
概要
ALTERDATABASE name [ WITH CONNECTION LIMIT connlimit ]
ALTERDATABASE name SET parameter { TO | = } { value | DEFAULT }
ALTERDATABASE name RESET parameter
ALTERDATABASE name RENAME TO newname
ALTERDATABASE name OWNER TO new_owner
描述
alter database命令更改了数据库的属性。
第一个命令形式更改了数据库允许的连接限制,只有数据库的属主或者超级用户才可以更改此设置。
第二个和第三个命令形式更改了Greenplum的配置参数的会话参数的默认设置。在随后这个数据库启动的新的会话后,指定的会话参数值就成为会话的默认值。数据库指定的默认参数会覆盖服务器配置文件(postgresql.conf)中存在的任何设置。只有数据库所有者或超级用户可以更改数据库的会话默认值。某些参数不能以这种方式设置,或只能由超级用户设置。
四个命令形式更改数据库的名称。只有数据库所有者或超级用户可以重命名数据库;非超级用户所有者也必须具有CREATEDB权限。您无法重命名当前数据库。在更名时首先连接到不同的数据库。
第五个表单更改数据库的所有者。要更改所有者,您必须拥有数据库,并且也是新拥有角色的直接或间接成员,并且必须具有CREATEDB权限。 (请注意,超级用户自动拥有所有这些权限。)
parameter
name
需要更改属性的数据库的名字。
connlimit
数据库可同时连接的最大值。默认值是-1,也就是无限制。
parametervalue
将数据库的默认值设定为指定的参数。如果设置的值是DEFAULT,或者是RESET,则将数据库设定的参数都清除掉。因此系统范围内的默认参数就会在新的会话中被继承。可以使用RESET ALL清除数据库的所有特定的设置。关于服务器参数的设置信息,请参看 Server Configuration parameter 以了解更多的信息,在这里可以看到所有普通用户都可以设置的参数。
newname
数据库新的名字.
new_owner
数据库新的属主.
Notes
还可以为特定角色(用户)而不是数据库设置配置参数会话默认值。 如果存在冲突,则特定于角色的设置将覆盖数据库特定的设置。 参见ALTER ROLE。
示例
设置数据库mydatabase的默认schema搜索路径:
ALTER DATABASEmydatabase SET search_path TO myschema, public, pg_catalog;
兼容性
alter database是GPDB的一个扩展。
相关参考
CREATE DATABASE,DROP DATABASE,SET