CREATE DATABASE (Datenbank erstellen)

Mit dem CREATE DATABASE-Befehl können Sie den Eigner einer Datenbank erstellen und zum Eigner einer Datenbank werden.

Syntax

Syntax für das Erstellen einer Datenbank:
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:

Tabelle 1. Eingabe für CREATE DATABASE
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.
AN
Der Verlauf wird nur erfasst, wenn der Benutzer Mitglied mindestens einer Gruppe ist, für die COLLECT HISTORY auf ON gesetzt ist. Dies ist die Standardeinstellung.
AUS
Der Verlauf wird für die Datenbank nicht erfasst.
STANDARD
Der Verlauf wird für die Datenbank nur erfasst, wenn der Benutzer Mitglied mindestens einer Gruppe ist, für die COLLECT HISTORY auf ON gesetzt ist, und wenn eines der folgenden Kriterien erfüllt wird:
  • Der Benutzer ist Mitglied keiner Benutzergruppe.
  • Für alle Benutzergruppen, deren Mitglied der Benutzer ist, ist COLLECT HISTORY auf DEFAULT gesetzt.
  • Der Benutzer ist Mitglied mindestens einer Benutzergruppe, für die COLLECT HISTORY auf ON gesetzt ist.
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:

Tabelle 2. Ausgabe von CREATE DATABASE
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:
  • Sie verfügen nicht über ausreichende Berechtigungen für das Datenverzeichnis. Sie müssen Zugriff auf die Speicherposition haben.
  • Eine Platte ist vollständig belegt.
  • Es liegt ein anderes Dateisystemproblem vor.
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

Es folgt ein Verwendungsbeispiel.
  • Datenbank mit dem Namen customers erstellen, für die keine Verlaufsdaten erfasst werden sollen:
    MYDB.SCH1(USER)=> CREATE DATABASE customers COLLECT HISTORY OFF;