ALTER DATABASE コマンドを使用して、データベースのプロパティー (例えば、デフォルトの文字セット、名前、デフォルト・スキーマ、データベースの所有者、データベースに対して履歴データを収集するかどうかなど) を変更します。
ALTER DATABASE <db_name> [ OWNER TO <user> ] [ RENAME TO <new_db_name> ]
[ SET DEFAULT SCHEMA <schema_name> ] [ SET DEFAULT CHARACTER SET LATIN9 ] ]
[ COLLECT HISTORY {ON|OFF|DEFAULT} ]
| 入力 | 説明 |
|---|---|
| <db_name> | データベースの名前 |
| OWNER TO | 新しいデータベース所有者の名前 |
| RENAME TO | 新しいデータベース名。 |
| SET DEFAULT SCHEMA | データベースに接続するユーザーのデフォルト・スキーマ。デフォルト・スキーマを変更すると、以前のデフォルト・スキーマへのアクセス権限を継承していたユーザーは、そのスキーマへのアクセス権限を失い、新しいスキーマへのアクセス権限を継承します。それらのユーザーは、以前のデフォルト・スキーマへのアクセス権限が明示的に付与されていない限り、そのスキーマへのアクセス権限を失います。 |
| SET DEFAULT CHARACTER SET | IBM® Netezza® リリース 2.2 より前にアップグレードを行っている場合、デフォルトの文字セットは UNDECLARED に設定されています。比較、結合、char/nchar クラス・データのキャストを実行可能にするには、デフォルトの文字セットを LATIN9 に設定します。 |
| COLLECT HISTORY | このデータベースに接続されたセッションに関する履歴データを収集するかどうか。
|
| 出力 | 説明 |
|---|---|
| ALTER DATABASE | コマンドは正常に実行されました。 |
| ERROR: ALTER DATABASE: database "db1" is being accessed by other users | データベースは、別のユーザーによって使用されています。 |
admin ユーザーかデータベース所有者であるか、あるいはアカウントがそのデータベースまたは Database オブジェクト・クラスに対する Alter 特権を持っている必要があります。データベース所有者またはデフォルト・スキーマを変更するには、そのユーザーまたはスキーマに対する List 特権を持っている必要があります。
MYDB.SCH1(USER)=> ALTER DATABASE emp SET DEFAULT
CHARACTER SET LATIN9;
MYDB.SCH1(USER)=> ALTER DATABASE emp OWNER TO admin3;
MYDB.SCH1(USER)=> ALTER DATABASE emp RENAME TO employees;