CREATE DATABASE

Usare il comando CREATE DATABASE per creare e diventare proprietario di un database.

Sintassi

Sintassi per la creazione di un database:
CREATE DATABASE <db_name> 
  [ WITH DEFAULT CHARACTER SET LATIN9 COLLATION BINARY ]
  [ COLLECT HISTORY { ON | OFF | DEFAULT ]
  [ DATA_VERSION_RETENTION_TIME <number-of-days> ]

Input

Il comando CREATE DATABASE riceve i seguenti input:

Tabella 1. CREARE DATABASE ingressi
Immissione Descrizione
<db_name> Il nome del database da creare. Questo nome deve essere unico tra gli oggetti globali, cioè non può essere condiviso da un altro database o da un utente, gruppo o regola di pianificazione.
Set di caratteri predefinito Il set di caratteri predefinito è LATIN9. Questa è l'impostazione predefinita. Non specificare altri valori.
Raccolta ordinata La fascicolazione è BINARIA. Questa è l'impostazione predefinita. Non specificare altri valori.
RACCOGLIERE LA STORIA Se i dati di cronologia devono essere raccolti per le sessioni collegate a questo database.
Attivo
La cronologia viene raccolta solo se l'utente è membro di almeno un gruppo per il quale la voce RACCOLTA STORIA è impostata su ON. Questa è l'impostazione predefinita.
Disattivo
La cronologia non viene raccolta per il database.
VALORE PREDEFINITO
La cronologia viene raccolta per il database solo se l'utente è membro di almeno un gruppo per il quale la funzione COLLEZIONA STORIA è impostata su ON e se si applica uno dei seguenti criteri:
  • L'utente non è membro di alcun gruppo di utenti.
  • Tutti i gruppi di utenti di cui l'utente è membro hanno la STORIA DI RACCOLTA impostata su DEFAULT.
  • L'utente è membro di almeno un gruppo di utenti che ha impostato su ON lo STORICO DI RACCOLTA.
TEMPO_DI_RITENZIONE_DEI_DATI Il database dbname creato ha il DATA_VERSION_RETENTION_TIME specificato o ottiene il valore corrente della proprietà dal valore predefinito del sistema se non è specificato nulla. In entrambi i casi, il valore della proprietà in un database determina il valore predefinito ereditato da un successivo comando CREATE SCHEMA in quel database che non specifichi esplicitamente questa proprietà.

Il valore massimo consentito è 92 giorni, ovvero il numero massimo di giorni in un trimestre di calendario.

È possibile impostare questa proprietà a livello di tabella, schema, database e sistema. Il valore predefinito a tutti i livelli sui nuovi sistemi Netezza Performance Server e sui sistemi aggiornati da una release che non prevedeva la funzione di spostamento temporale è 0. Una tabella con un intervallo di tempo di conservazione pari a 0 non è una tabella temporale e non supporta le interrogazioni temporali.

Il valore della proprietà su una tabella specifica il numero massimo di giorni in cui le righe storiche (eliminate) sono potenzialmente visibili per le interrogazioni temporali su quella tabella. Le righe correnti (non ancora cancellate) non sono storiche e sono sempre conservate e visibili.

Se si imposta la proprietà su un sistema, un database o uno schema, gli utenti possono specificare il valore predefinito che viene ereditato dagli oggetti appena creati al livello successivo (database, schema o tabella, rispettivamente). Impostando la proprietà su un sistema, un database o uno schema, non è necessario impostare la proprietà su un gran numero di tabelle se si desidera lo stesso valore su tutte le tabelle. Se lo si desidera, è possibile impostare esplicitamente la proprietà su un valore diverso per ogni tabella.

Output

Il comando CREATE DATABASE ha i seguenti output:

Tabella 2. CREARE DATABASE uscite
Emissione Descrizione
CREATE DATABASE Il comando è stato completato correttamente.
ERROR: User 'username' is not allowed to create/drop databases. Non si dispone dei privilegi necessari per creare un database.
ERROR: Createdb: database 'name' already exists. Un database con il nome specificato esiste già.
ERROR: Create database: may not be called in a transaction block. È in corso un blocco di transazioni esplicite. È necessario completare la transazione prima di poter creare un database.
ERROR: Unable to create database directory 'path'. Si è verificato uno dei seguenti errori:
  • Le autorizzazioni per la directory dei dati sono insufficienti. È necessario avere accesso alla sede.
  • Un disco è pieno.
  • C'è un altro problema di file system.
ERROR: Could not initialize database directory.

Privilegi

È necessario essere l'utente amministratore oppure l'account utente deve avere il privilegio Crea database.

Utilizzo

L'esempio seguente fornisce un esempio di utilizzo.
  • Creare un database con il nome " customers per il quale non si vogliono raccogliere dati storici:
    MYDB.SCH1(USER)=> CREATE DATABASE customers COLLECT HISTORY OFF;