ALTER DATABASE

Name

ALTER DATABASE -- 修改一个数据库

Synopsis

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

ALTER DATABASE name RENAME TO newname

描述

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

头两种形式为 PostgreSQL 数据库修改缺省的会话运行时配置变量。 随后在该数据库上启动一个新的会话的时候, 在启动会话之前先有效地运行 SET variable TO value。 数据库相关的缺省值覆盖任何在 postgresql.conf 里出现或者从 postmaster 命令行接收到的设置。 只有数据库所有者或者超级用户可以为一个数据库修改会话缺省。

第三种形式修改该数据库的名称。只有数据库所有者可以重命名一个数据库,并且只有在他有 CREATEDB 权限的时候可以。 当前的数据库不能被重命名。(如果你需要这么做,那么连接另外一个数据库。)

参数

name

需要修改会话缺省的数据库的名字。

parameter
value

把指定的数据库配置变量的会话缺省值设置为给出的数值。 如果 value 使用了 DEFAULT 或者是等效的 RESET, 那么与数据库相关的变量设置将被删除并且在新的会话中将继承缺省设置。 用 RESET ALL 清除所有设置。

参阅 SETSection 16.4 获取有关允许的变量名和数值的 更多信息。

newname

数据库的新名字。

注意

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

例子

要关闭在数据库 test 上缺省的索引使用∶

ALTER DATABASE test SET enable_indexscan TO off;

兼容性

ALTER DATABASE 语句是一个 PostgreSQL 扩展。

又见

ALTER USER, CREATE DATABASE, DROP DATABASE, SET