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 name OWNER TO new_owner

描述

ALTER DATABASE 改變一個資料庫的屬性。

頭兩種形式為 PostgreSQL 資料庫修改預設的會話執行時配置變量。 隨後在該資料庫上啟動一個新的會話的時候, 在啟動會話之前先有效地執行 SET variable TO value。 資料庫相關的預設值覆蓋任何在 postgresql.conf 裡出現或者從 postmaster 命令行接收到的設置。 只有資料庫所有者或者超級用戶可以為一個資料庫修改會話預設。 有些變量不能用這種方法設置,或者是只能由超級用戶設置。

第三種形式修改該資料庫的名稱。只有資料庫所有者或者超級用戶可以重命名一個資料庫; 非超級用戶必須擁有 CREATEDB 權限。 目前的資料庫不能被重命名。(如果您需要這麼做,那麼連接另外一個資料庫。)

第四種形式改變資料庫的所有者。只有超級用戶可以改變資料庫的所有者。

參數

name

需要修改屬性的資料庫的名字。

parameter
value

把指定的資料庫配置變量的會話預設值設置為給出的數值。 如果 valueDEFAULT 或者是等效的 RESET, 那麼與資料庫相關的變量設置將被刪除,因此在新的會話中將繼承預設設置。 用 RESET ALL 清除所有設置。

參閱 SETSection 16.4 獲取有關允許的變量名和數值的 更多訊息。

newname

資料庫的新名字。

new_owner

資料庫的新的所有者。

注意

我們也可以把一個會話預設綁定到一個特定用戶,而不是某個資料庫上; 參閱 ALTER USER, 如果存在衝突,那麼用戶聲明的設置覆蓋資料庫相關的設置。

例子

要關閉在資料庫 test 上預設的索引使用︰

ALTER DATABASE test SET enable_indexscan TO off;

相容性

ALTER DATABASE 語句是一個 PostgreSQL 擴展。

又見

CREATE DATABASE, DROP DATABASE, SET