©
本文档使用
php.cn手册 发布
ALTER DATABASE name [ [ WITH ] option [ ... ] ]
这里的option可以是:
CONNECTION LIMIT connlimit
ALTER DATABASE name RENAME TO new_name
ALTER DATABASE name OWNER TO new_owner
ALTER DATABASE name SET TABLESPACE new_tablespace
ALTER DATABASE name SET configuration_parameter { TO | = } { value | DEFAULT }
ALTER DATABASE name SET configuration_parameter FROM CURRENT
ALTER DATABASE name RESET configuration_parameter
ALTER DATABASE name RESET ALL
ALTER DATABASE改变一个数据库的属性。
第一种形式改变某个针对每个数据库的设置(详细情况见下文)。只有数据库所有 者或者超级用户可以改变这些设置。
第二种形式修改数据库的名称。只有数据库所有者或者超级用户可以重命名一个数据库; 非超级用户必须也有CREATEDB权限。当前数据库不能被重命名。 (如果你需要这么做,那么请连接另外一个数据库。)
第三种形式修改数据库的所有者。要改变所有者,你必须拥有该数据库并且还是新的 所属角色的直接或者间接成员,并且你必须有CREATEDB权限。 (请注意超级用户自动拥有所有这些权限。)
第四种形式修改数据库的缺省表空间。只有数据库所有者或者超级用户可以做这些; 你必须也有对新表空间的创建权限。这个命令可在物理上将数据库的旧缺省空间中的 任何表或者索引移动到新的表空间中。请注意在非缺省表空间中的表和索引是不受影响的。
保留的形式为PostgreSQL数据库修改缺省的会话运 行时配置变量。随后在该数据库上启动新会话的时候将使用此缺省值。数据库相 关的缺省值将覆盖任何在postgresql.conf里出现或者从 postgres命令行接收到的设置。只有数据库所有者或者超级 用户可以为数据库修改会话缺省值。有些变量不能用这种方法设置,或者是只能由 超级用户设置。
需要修改属性的数据库的名字。
对这个数据库可以做多少个并发连接。-1表示没有限制。
数据库的新名称。
数据库的新所有者。
数据库的新缺省表空间。
把指定的数据库配置变量的会话缺省值设置为给出的数值。如果 value是DEFAULT或等效的 RESET,那么与数据库相关的变量设置将被删除,因此在 新的会话中将继承系统范围的缺省设置。用RESET ALL清 除所有设置。SET FROM CURRENT将会话参数的当前值保存为相关 的数据库值。
参见SET和章17SET获取有关允 许的变量名称和数值的更多信息。
也可以把一个会话缺省绑定到一个特定用户,而不是某个数据库上;参阅 ALTER ROLE。如果存在冲突,那么用户声明的设置覆盖数 据库相关的设置。
要关闭在数据库test上缺省的索引扫描: test:
ALTER DATABASE test SET enable_indexscan TO off;
ALTER DATABASE语句是一个 PostgreSQL扩展.