diff options
Diffstat (limited to 'src/man/create_table.l')
-rw-r--r-- | src/man/create_table.l | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/src/man/create_table.l b/src/man/create_table.l deleted file mode 100644 index b374bf1b67d..00000000000 --- a/src/man/create_table.l +++ /dev/null @@ -1,147 +0,0 @@ -.\" This is -*-nroff-*- -.\" XXX standard disclaimer belongs here.... -.\" $Header: /cvsroot/pgsql/src/man/Attic/create_table.l,v 1.23 1999/02/02 03:45:32 momjian Exp $ -.TH "CREATE TABLE" SQL 09/25/97 PostgreSQL -.SH NAME -create table - create a new class -.SH SYNOPSIS -.nf -\fBcreate\fR [\fBtemp\fR] \fBtable\fR classname - \fB(\fP - attname type - [\fBdefault\fP value] - [[\fBnot null\fP] [\fBunique\fP] | [\fBprimary key\fP]] - [\fBreferences\fP classname \fB(\fP attname \fB)\fP] - [\fBcheck (\fP condition\fB )\fP] - [\fB,\fP attname type [constraint] [\fB,\fP ...] ] - [\fB, primary key ( \fPattname, attname[,...] \fB)\fP] - [\fB, unique ( \fPattname, attname[,...] \fB)\fP] - [\fB, foreign key ( \fPattname, attname[,...] \fB) references\fP classname] - [\fB,\fP [\fBconstraint\fR cname] \fBcheck\fR \fB(\fR test \fB)\fR [, \fBcheck\fR \fB(\fR test \fB)\fR ] ] - \fB)\fP - [\fBinherits\fR \fB(\fR classname [\fB,\fR classname] \fB)\fR] -.fi -.SH DESCRIPTION -.BR "Create Table" -will enter a new class into the current data base. The class will be -\*(lqowned\*(rq by the user issuing the command. The name of the -class is -.IR classname -and the attributes are as specified in the list of -.IR attname s. -Each attribute is created with the type specified by -.IR type "." -Each type may be a simple type, a complex type (set) or an array type. -Each attribute may be specified to be non-null and -each may have a default value, specified by the -.IR default -clause which is the keyword "default" followed by a constant or expression. -.PP -Each array attribute stores arrays that must have the same number of -dimensions but may have different sizes and array index bounds. An -array of dimension -.IR n -is specified by appending -.IR n -pairs of square brackets: -.nf -att_name type[][]..[] -.fi -N.B. As of Postgres version 6.0, consistant array dimensions within an -attribute are not enforced. This will likely change in a future release. -.PP -The optional -.BR inherits -clause specifies a collection of class names from which this class -automatically inherits all fields. If any inherited field name -appears more than once, Postgres reports an error. Postgres automatically -allows the created class to inherit functions on classes above it in -the inheritance hierarchy. Inheritance of functions is done according -to the conventions of the Common Lisp Object System (CLOS). -.PP -Each new class -.IR classname -is automatically created as a type. Therefore, one or more instances -from the class are automatically a type and can be used in -.IR alter_table(l) -or other -.BR create_table(l) -statements. -.PP -The optional -.BR constraint -clauses specify constraints or tests which new or updated entries -must satisfy for an insert or update operation to succeed. Each constraint -must evaluate to a boolean expression. Multiple attributes may be referenced within -a single constraint. The use of \fBprimary key (\fPattname[\fB,\fP...]\fB)\fP -as a table constraint -is mutually incompatible with \fBprimary key\fP used as a column constraint. -.PP -The new class is created as a heap with no initial data. A class can -have no more than 1600 attributes (realistically, this is limited by the -fact that tuple sizes must be less than 8192 bytes), but this limit -may be configured lower at some sites. A class cannot have the same -name as a system catalog class. -.PP -.SH EXAMPLES -.nf --- --- Create class emp with attributes name, sal and bdate --- -create table emp (name name, salary float4, bdate abstime) -.fi -.nf --- ---Create class permemp with pension information that ---inherits all fields of emp --- -create table permemp (plan name) inherits (emp) -.fi -.nf --- ---Create class emppay with attributes name and wage with ---a default salary and constraints on wage range --- -create table emppay (name text not null, wage float4 default 10.00 -constraint empcon check (wage > 5.30 and wage <= 30.00), check (name <> '')) -.fi -.nf --- ---Create class tictactoe to store noughts-and-crosses ---boards as a 2-dimensional array --- -create table tictactoe (game int4, board char[][]) -.fi -.nf --- ---Create a class newemp with a set attribute "manager". A ---set (complex) attribute may be of the same type as the ---relation being defined (as here) or of a different complex ---type. The type must exist in the "pg_type" catalog or be ---the one currently being defined. --- -create table newemp (name text, manager newemp) -.fi -.nf --- ---Create a table using SQL92 syntax -create table component -( - assembly char(8) not null - references job (id), - product char(8) not null - references product (id), - sorting int, - qty int check (qty >= 0), - - primary key (assembly, product), - unique (assembly, product, sorting), - constraint not_same check (assembly != product) -) -.fi -.PP -.SH BUGS -The \fBforeign key\fP and \fBreferences\fP keywords are parsed but not yet -implemented in PostgreSQL 6.3.1. -.SH "SEE ALSO" -drop_table(l). |