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はデータベースの属性を変更します。
最初の構文はデータベース毎の設定を変更します。 (詳細は後述します。) データベース所有者とスーパーユーザのみがこの設定を変更することができます。
2番目と3番目の構文は、PostgreSQLデータベースにおける実行時設定変数のセッションのデフォルト値を変更します。 指定された値が、コマンド実行後にデータベースで開始される新規セッションのデフォルト値になります。 データベースに指定されたデフォルト値によって、postgresql.confファイルに記述されている設定やpostgresから受け取った設定は上書きされます。 データベースのセッションのデフォルト値を変更できるのは、データベースの所有者またはスーパーユーザのみです。 この方法では設定できない変数や、スーパーユーザのみが設定できる変数も存在します。
4番目の構文は、データベースの名前を変更します。 データベースの名前を変更できるのは、データベースの所有者またはスーパーユーザのみです。 ただし、スーパーユーザではない所有者はCREATEDB権限を所有していなければなりません。 現在のデータベースの名前を変更することはできません(必要ならば、別のデータベースに接続してください)。
5番目の構文は、データベースの所有者を変更します。 所有者を変更するにはデータベースを所有し、かつ、新しい所有者ロールの間接的あるいは直接的なメンバでなければなりません。 さらに、CREATEDB権限も持たなければなりません。 (スーパーユーザはこれらの権限を自動的に持っています。)
属性変更の対象となるデータベースの名前です。
データベースへの最大同時接続数です。 -1は無制限を意味します。
指定した設定パラメータについて、このデータベースのセッションのデフォルト値を、指定した値に設定します。 valueがDEFAULTの場合、あるいは等価なRESETが使用されている場合、データベース固有の設定は無効になり、新しいセッションではシステム全体のデフォルト設定が継承されます。 全てのデータベース固有の設定をクリアするには、RESET ALLを使用してください。
新しいデータベース名です。
新しいデータベースの所有者です。
データベースではなく特定のユーザにセッションのデフォルト値を関連付けることもできます。 ALTER USERを参照してください 設定が競合する場合には、ユーザ固有の設定により、データベース固有の設定が上書きされます。