CREATE DATABASE (Datenbank erstellen)
Mit dem CREATE DATABASE-Befehl können Sie den Eigner einer Datenbank erstellen und zum Eigner einer Datenbank werden.
Syntax
CREATE DATABASE <db_name>
[ WITH DEFAULT CHARACTER SET LATIN9 COLLATION BINARY ]
[ COLLECT HISTORY { ON | OFF | DEFAULT ]
[ DATA_VERSION_RETENTION_TIME <number-of-days> ]Eingaben
Für den CREATE DATABASE-Befehl sind die folgenden Eingaben zulässig:
| Eingabe | Beschreibung |
|---|---|
| <Datenbankname> | Der Name der zu erstellenden Datenbank. Dieser Name muss unter den globalen Objekten eindeutig sein, das heißt, keine andere Datenbank, keine Gruppe, kein Benutzer und keine Schedulerregel darf denselben Namen haben. |
| DEFAULT CHARACTER SET | Der Standardzeichensatz ist LATIN9. Dies ist die Standardeinstellung. Geben Sie keine anderen Werte an. |
| COLLATION | Die Sortierung hat den Wert BINARY. Dies ist die Standardeinstellung. Geben Sie keine anderen Werte an. |
| COLLECT HISTORY | Gibt an, ob Verlaufsdaten für Sitzungen erfasst werden sollen, die an diese Datenbank angehängt sind.
|
| DATA_VERSION_RETENTION_TIME | Die erstellte Datenbank dbname hat die angegebene DATA_VERSION_RETENTION_TIME oder erhält den aktuellen Wert der Eigenschaft aus dem Systemstandard, wenn nichts angegeben ist. In beiden Fällen bestimmt der Wert der Eigenschaft in einer Datenbank den Standardwert, der von einem nachfolgenden CREATE SCHEMA-Befehl in dieser Datenbank übernommen wird, der diese Eigenschaft nicht explizit angibt.Der zulässige Höchstwert beträgt 92 Tage, was der maximalen Anzahl von Tagen in einem Kalenderquartal entspricht. Sie können diese Eigenschaft auf Tabellen-, Schema-, Datenbank- und Systemebene einstellen. Der Standardwert auf allen Ebenen auf neuen Netezza Performance Server und Systemen, die von einer Version aktualisiert wurden, die die Zeitreisefunktion nicht hatte, ist 0. Eine Tabelle mit einem Verweildauerintervall von 0 ist keine zeitliche Tabelle und unterstützt keine Zeitreiseabfragen. Der Wert der Eigenschaft für eine Tabelle gibt die maximale Anzahl von Tagen an, die historische (gelöschte) Zeilen für zeitliche Abfragen in dieser Tabelle potenziell sichtbar sind. Aktuelle (noch nicht gelöschte) Zeilen sind nicht historisch und bleiben immer erhalten und sichtbar. Wenn Sie die Eigenschaft für ein System, eine Datenbank oder ein Schema festlegen, können Benutzer den Standardwert angeben, der an neu erstellte Objekte auf der nächsttieferen Ebene (Datenbank, Schema bzw. Tabelle) vererbt wird. Wenn Sie die Eigenschaft für ein System, eine Datenbank oder ein Schema festlegen, müssen Sie die Eigenschaft nicht für eine große Anzahl von Tabellen festlegen, wenn für alle diese Tabellen derselbe Wert gewünscht wird. Wenn Sie möchten, können Sie die Eigenschaft für jede Tabelle explizit auf einen anderen Wert setzen. |
Ausgaben
Der CREATE DATABASE-Befehl hat die folgende Ausgabe:
| Ausgabe | Beschreibung |
|---|---|
| CREATE DATABASE | Der Befehl wurde erfolgreich ausgeführt. |
| ERROR: User 'username' is not allowed to create/drop databases. | Sie haben nicht die erforderliche Berechtigung zum Erstellen einer Datenbank. |
| ERROR: Createdb: database 'name' already exists. | Eine Datenbank mit dem angegebenen Namen ist bereits vorhanden. |
| ERROR: Create database: may not be called in a transaction block. | Ein Block mit einer expliziten Transaktion ist in Bearbeitung. Sie müssen die Transaktion abschließen, bevor Sie eine Datenbank erstellen können. |
| ERROR: Unable to create database directory 'path'. | Einer der folgenden Fehler ist aufgetreten:
|
| ERROR: Could not initialize database directory. |
Berechtigungen
Sie müssen der Benutzer mit Administratorberechtigung sein oder Ihr Benutzerkonto muss über die Berechtigung zum Erstellen von Datenbanken verfügen.
Verwendung
- Datenbank mit dem Namen
customerserstellen, für die keine Verlaufsdaten erfasst werden sollen:MYDB.SCH1(USER)=> CREATE DATABASE customers COLLECT HISTORY OFF;