create
tablename
tableoid
[bootstrap
]
[shared_relation
]
[without_oids
]
[rowtype_oid
oid
]
(name1
=
type1
[FORCE NOT NULL | FORCE NULL ] [,
name2
=
type2
[FORCE NOT NULL | FORCE NULL ],
...])
Crée une table nommée nomtable
,
possédant l'OID
tableoid
et composée des colonnes
données entre parenthèses.
Les types de colonnes suivants sont supportés directement par
bootstrap.c
: bool
,
bytea
, char
(1 byte),
name
, int2
,
int4
, regproc
, regclass
,
regtype
, text
,
oid
, tid
, xid
,
cid
, int2vector
, oidvector
,
_int4
(array), _text
(array),
_oid
(array), _char
(array),
_aclitem
(array). Bien qu'il soit possible de créer des
tables contenant des colonnes d'autres types, cela ne peut pas être
réalisé avant que pg_type
ne soit créé et
rempli avec les entrées
appropriées. (Ce qui signifie en fait que seuls ces types de colonnes
peuvent être utilisés dans les tables utilisant le
« bootstrap » mais que les catalogues ne l'utilisant pas
peuvent contenir tout type interne.)
Quand bootstrap
est précisé, la table est
uniquement construite sur disque ; rien n'est entré dans
pg_class
, pg_attribute
,
etc, pour cette table. Du coup, la table n'est pas accessible par les
opérations SQL standard tant que ces entrées ne sont pas
réalisées en dur (à l'aide de commandes insert
).
Cette option est utilisée pour créer pg_class
, etc.
La table est créée partagée si shared_relation
est
indiqué. Elle possède des OID à moins que
without_oids
ne soit précisé. L'OID du type de ligne
de la table (OID de pg_type
) peut en option
être indiquée via la clause rowtype_oid
; dans
le cas contraire, un OID est automatiquement généré pour lui. (La clause
rowtype_oid
est inutile si
bootstrap
est spécifié, mais il peut néanmoins être
fourni pour documentation.)
open
nomtable
Ouvre la table nommée
nomtable
pour l'ajout de données. Toute table alors ouverte est fermée.
close
nomtable
Ferme la table ouverte. Le nom de la table peut-être indiqué pour vérification mais ce n'est pas nécessaire.
insert
[OID =
valeur_oid
] (
valeur1
valeur2
...)
Insère une nouvelle ligne dans la table ouverte en utilisant
valeur1
,
valeur2
, etc., comme valeurs de
colonnes et valeur_oid
comme OID. Si
valeur_oid
vaut zéro
(0) ou si la clause est omise, et que la table a des OID, alors le
prochain OID disponible est utilisé.
La valeur NULL peut être indiquée en utilisant le mot clé spécial
_null_
. Les valeurs qui ne ressemblent pas à des
identifiants ou des chaînes de nombre doivent être placées entre
guillemets doubles.
declare
[unique
]
index
nomindex
oidindex
on
nomtable
using
nomam
(
classeop1
nom1
[, ...] )
Crée un index nommé
nomindex
, d'OID
indexoid
, sur la table nommée
nomtable
en utilisant la
méthode d'accès nommée nomam
.
Les champs à indexer sont appelés
nom1
,
nom2
etc., et les classes d'opérateur à
utiliser sont respectivement
classeop1
,
classeop2
etc.
Le fichier index est créé et les entrées appropriées du catalogue sont
ajoutées pour lui, mais le contenu de l'index n'est pas initialisé par
cette commande.
declare toast
toasttableoid
toastindexoid
on
nomtable
Crée une table TOAST pour la table nommée
nomtable
.
La table TOAST se voit affecter l'OID
toasttableoid
et son index l'OID
toastindexoid
.
Comme avec declare index
, le remplissage de l'index
est reporté.
build indices
Remplit les index précédemment déclarés.