ALTER DATABASE

Name

ALTER DATABASE -- 修改一个数据库

Synopsis

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

描述

ALTER DATABASE 用于为一个 PostgreSQL 数据库修改缺省的会话运行时配置变量. 随后在该数据库上启动一个新的会话的时候, 在启动会话之前先有效地运行 SET variable TO value. 数据库相关的缺省值覆盖任何在 postgresql.conf 里出现或者从 postmaster 接收到的设置.

只有超级用户或数据库所有者可以为一个数据库修改会话的缺省.

参数

name

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

variable
value

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

参阅 SET管理员手册获取有关允许的变量名和数值的 更多信息.

诊断

ALTER DATABASE

如果修改成功则返回此信息.

ERROR: database "dbname" does not exist

如果系统不能识别指定的数据库,那么返回这个错误信息.

注意

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

例子

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

ALTER DATABASE test SET enable_indexscan TO off;

兼容性

ALTER DATABASE 语句是一个 PostgreSQL 扩展.

又见

ALTER USER, CREATE DATABASE, DROP DATABASE, SET