.\\" auto-generated by docbook2man-spec $Revision: 1.2 $
.TH "ALTER DATABASE" "" "2007-05-04" "SQL - 言語" "SQLコマンド"
.SH NAME
ALTER DATABASE \- データベースを変更する

.SH SYNOPSIS
.sp
.nf
ALTER DATABASE \fIname\fR [ [ WITH ] \fIoption\fR [ ... ] ]

ここで\fIoption\fRは以下の通りです。

    CONNECTION LIMIT \fIconnlimit\fR

ALTER DATABASE \fIname\fR SET \fIparameter\fR { TO | = } { \fIvalue\fR | DEFAULT }
ALTER DATABASE \fIname\fR RESET \fIparameter\fR

ALTER DATABASE \fIname\fR RENAME TO \fInewname\fR
ALTER DATABASE \fIname\fR OWNER TO \fInew_owner\fR
.sp
.fi
.SH "説明"
.PP
\fBALTER DATABASE\fRはデータベースの属性を変更します。
.PP
最初の構文はデータベース毎の設定を変更します。
（詳細は後述します。）
データベース所有者とスーパーユーザのみがこの設定を変更することができます。
.PP
2番目と3番目の構文は、PostgreSQLデータベースにおける実行時設定変数のセッションのデフォルト値を変更します。 
指定された値が、コマンド実行後にデータベースで開始される新規セッションのデフォルト値になります。
データベースに指定されたデフォルト値によって、\fIpostgresql.conf\fRファイルに記述されている設定や\fBpostgres\fRから受け取った設定は上書きされます。
データベースのセッションのデフォルト値を変更できるのは、データベースの所有者またはスーパーユーザのみです。
この方法では設定できない変数や、スーパーユーザのみが設定できる変数も存在します。
.PP
4番目の構文は、データベースの名前を変更します。
データベースの名前を変更できるのは、データベースの所有者またはスーパーユーザのみです。
ただし、スーパーユーザではない所有者はCREATEDB権限を所有していなければなりません。
現在のデータベースの名前を変更することはできません（必要ならば、別のデータベースに接続してください）。
.PP
5番目の構文は、データベースの所有者を変更します。
所有者を変更するにはデータベースを所有し、かつ、新しい所有者ロールの間接的あるいは直接的なメンバでなければなりません。
さらに、CREATEDB権限も持たなければなりません。
（スーパーユーザはこれらの権限を自動的に持っています。）
.SH "パラメータ"
.TP
\fB\fIname\fB\fR
属性変更の対象となるデータベースの名前です。
.TP
\fB\fIconnlimit\fB\fR
データベースへの最大同時接続数です。
-1は無制限を意味します。
.TP
\fB\fIparameter\fB\fR
.TP
\fB\fIvalue\fB\fR
指定した設定パラメータについて、このデータベースのセッションのデフォルト値を、指定した値に設定します。 
\fIvalue\fRがDEFAULTの場合、あるいは等価なRESETが使用されている場合、データベース固有の設定は無効になり、新しいセッションではシステム全体のデフォルト設定が継承されます。 
全てのデータベース固有の設定をクリアするには、RESET ALLを使用してください。

使用可能なパラメータ名および値についての詳細は、SET [\fBset\fR(l)]およびin the documentationを参照してください。
.TP
\fB\fInewname\fB\fR
新しいデータベース名です。
.TP
\fB\fInew_owner\fB\fR
新しいデータベースの所有者です。
.SH "注釈"
.PP
データベースではなく特定のユーザにセッションのデフォルト値を関連付けることもできます。
ALTER USER [\fBalter_user\fR(l)]を参照してください
設定が競合する場合には、ユーザ固有の設定により、データベース固有の設定が上書きされます。
.SH "例"
.PP
testデータベース内のインデックススキャンをデフォルトで無効にします。
.sp
.nf
ALTER DATABASE test SET enable_indexscan TO off;
.sp
.fi
.SH "互換性"
.PP
\fBALTER DATABASE\fR文はPostgreSQLの拡張です。
.SH "関連項目"
CREATE DATABASE [\fBcreate_database\fR(l)], DROP DATABASE [\fBdrop_database\fR(l)], SET [\fBset\fR(l)]
