CRÉER UNE BASE DE DONNÉES
La commande CREATE DATABASE permet de créer une base de données et d'en devenir le propriétaire.
Syntaxe
CREATE DATABASE <db_name>
[ WITH DEFAULT CHARACTER SET LATIN9 COLLATION BINARY ]
[ COLLECT HISTORY { ON | OFF | DEFAULT ]
[ DATA_VERSION_RETENTION_TIME <number-of-days> ]Entrées
La commande CREATE DATABASE prend en compte les données suivantes :
| Entrée | Descriptif |
|---|---|
| <db_name> | Le nom de la base de données à créer. Ce nom doit être unique parmi les objets globaux, c'est-à-dire qu'il ne peut pas être partagé par une autre base de données ou par un utilisateur, un groupe ou une règle de l'ordonnanceur. |
| Jeu de caractères par défaut | Le jeu de caractères par défaut est LATIN9. Il s'agit de la valeur par défaut. Ne pas spécifier d'autres valeurs. |
| COLLATION | La collation est BINAIRE. Il s'agit de la valeur par défaut. Ne pas spécifier d'autres valeurs. |
| RECUEILLIR L'HISTOIRE | Indique si les données d'historique doivent être collectées pour les sessions attachées à cette base de données.
|
| TEMPS DE CONSERVATION DES DONNÉES | La base de données dbname créée possède la valeur DATA_VERSION_RETENTION_TIME spécifiée ou obtient la valeur actuelle de la propriété à partir de la valeur par défaut du système si rien n'est spécifié. Dans les deux cas, la valeur de la propriété dans une base de données détermine la valeur par défaut héritée par une commande CREATE SCHEMA ultérieure dans cette base de données qui ne spécifie pas explicitement cette propriété.La valeur maximale autorisée est de 92 jours, ce qui correspond au nombre maximal de jours d'un trimestre civil. Vous pouvez définir cette propriété au niveau de la table, du schéma, de la base de données et du système. La valeur par défaut à tous les niveaux sur les nouveaux systèmes Netezza Performance Server et les systèmes mis à jour à partir d'une version qui ne disposait pas de la fonctionnalité de voyage dans le temps est 0. Une table dont l'intervalle de rétention est de 0 n'est pas une table temporelle et ne prend pas en charge les requêtes sur les déplacements dans le temps. La valeur de cette propriété sur une table spécifie le nombre maximum de jours pendant lesquels les lignes historiques (supprimées) sont potentiellement visibles pour les requêtes temporelles sur cette table. Les lignes en cours (non encore supprimées) ne sont pas historiques et sont toujours conservées et visibles. Si vous définissez la propriété sur un système, une base de données ou un schéma, les utilisateurs peuvent spécifier la valeur par défaut qui est héritée par les objets nouvellement créés au niveau immédiatement inférieur (base de données, schéma ou table, respectivement). En définissant la propriété sur un système, une base de données ou un schéma, il n'est pas nécessaire de définir la propriété sur un grand nombre de tables si la même valeur est souhaitée sur toutes ces tables. Si vous le souhaitez, vous pouvez définir explicitement la propriété à une valeur différente pour chaque table. |
Sorties
La commande CREATE DATABASE produit les résultats suivants :
| Sortie | Descriptif |
|---|---|
| CREATE DATABASE | La commande a été exécutée avec succès. |
| ERROR: User 'username' is not allowed to create/drop databases. | Vous ne disposez pas des privilèges nécessaires pour créer une base de données. |
| ERROR: Createdb: database 'name' already exists. | Une base de données portant le nom spécifié existe déjà. |
| ERROR: Create database: may not be called in a transaction block. | Un bloc de transaction explicite est en cours. Vous devez terminer la transaction avant de pouvoir créer une base de données. |
| ERROR: Unable to create database directory 'path'. | L'une des erreurs suivantes s'est produite :
|
| ERROR: Could not initialize database directory. |
Droits
Vous devez être l'utilisateur administrateur ou votre compte utilisateur doit avoir le privilège Créer une base de données.
Utilisation
- Créez une base de données portant le nom "
customerspour laquelle les données historiques ne doivent pas être collectées :MYDB.SCH1(USER)=> CREATE DATABASE customers COLLECT HISTORY OFF;