PostgreSQL 8.2.3 中文文档
后退快退快进前进

ALTER DATABASE

名称

ALTER DATABASE -- 修改一个数据库

语法

ALTER DATABASE name [ [ WITH ] option [ ... ] ]

这里的 option 可以是:

    CONNECTION LIMIT connlimit

ALTER DATABASE name SET parameter { TO | = } { value | DEFAULT }
ALTER DATABASE name RESET parameter

ALTER DATABASE name RENAME TO newname

ALTER DATABASE name OWNER TO new_owner

描述

ALTER DATABASE 改变一个数据库的属性。

第一种形式改变某个针对每个数据库设置的东西(见下文获取细节)。只有数据库所有者或者超级用户可以改变这些设置。

第二和第三种形式为 PostgreSQL 数据库修改缺省的会话运行时配置变量。随后在该数据库上启动新会话的时候将使用此缺省值。数据库相关的缺省值将覆盖任何在 postgresql.conf 里出现或者从 postgres 命令行接收到的设置。只有数据库所有者或者超级用户可以修改会话缺省值。有些变量不能用这种方法设置,或者是只能由超级用户设置。

第四种形式修改数据库的名称。只有数据库所有者或者超级用户可以重命名一个数据库(非超级用户必须拥有 CREATEDB 权限)。当前数据库不能被重命名。如果你需要这么做,那么请连接另外一个数据库。

第五种形式改变数据库的所有者。要改变所有者,你必须拥有该数据库并且还是新的所有角色的直接或者间接成员,并且还必须有 CREATEDB 权限。超级用户自动拥有所有这些权限。

参数

name

需要修改属性的数据库的名字

connlimit

对这个数据库可以做多少个并发连接(-1 表示没有限制)

parameter
value

把指定的数据库配置变量的会话缺省值设置为给出的数值。如果 valueDEFAULT 或等效的 RESET ,那么与数据库相关的变量设置将被删除,因此在新的会话中将继承系统范围的缺省设置。用 RESET ALL 清除所有设置。

参见 SET章17获取有关允许的变量名和数值的更多信息。

newname

数据库的新名字

new_owner

数据库的新所有者

注意

也可以把一个会话缺省绑定到一个特定用户,而不是某个数据库上;参阅 ALTER USER ,如果存在冲突,那么用户声明的设置覆盖数据库相关的设置。

例子

要关闭在数据库 test 上缺省的索引扫描:

ALTER DATABASE test SET enable_indexscan TO off;

兼容性

ALTER DATABASE 语句是一个 PostgreSQL 扩展。

又见

CREATE DATABASE, DROP DATABASE, SET

后退首页前进
ALTER CONVERSION上一级ALTER DOMAIN