create
tablename
tableoid
[bootstrap
] [shared_relation
] [rowtype_oid
oid
] (name1
= type1
[FORCE NOT NULL
| FORCE NULL
] [, name2
= type2
[FORCE NOT NULL
| FORCE NULL
], ...]) 创建一个叫做tablename
,OID为tableoid
的表,它的列在圆括弧中给出。
bootstrap.c
直接支持下列列类型:bool
、bytea
、char
(1 字节)、name
、int2
、int4
、 regproc
、regclass
、regtype
、text
、oid
、tid
、xid
、cid
、int2vector
、 oidvector
、_int4
(数组)、_text
(数组)、_oid
(数组)、_char
(数组)、_aclitem
(数组)。尽管我们可以创建包含其它类型列的表, 但是我们只有在创建完pg_type
并且填充了合适的记录之后才行(这实际上就意味着在自举目录中,只能使用这些列类型,而非自举目录可以使用任意内置类型)。
如果声明了bootstrap
,那么该表将只在磁盘上创建;不会向pg_class
、pg_attribute
等表里面输入任何与该表相关的东西。因此这样的表将无法被普通的SQL操作访问,直到那些记录被用硬办法(用insert
命令)建立。 这个选项用于创建 pg_class
等表本身。
如果声明了shared_relation
,那么表就作为共享表创建。除非声明了without_oids
,否则表将会有OID。表的行类型OID(pg_type
的OID)可以有选择性地通过rowtype_oid
子句指定。如果没有指定,会为之自产生一个OID(如果 bootstrap
被指定,则rowtype_oid
是无效的,但不管怎样它还是被写在了文档中)。
open
tablename
打开名为tablename
的表进行数据插入。任何当前打开的表将被关闭。
close
[tablename
] 关闭打开着的表。给出的表名用于交叉检查,但并不是必须的。
insert
(
[oid_value
] value1
value2
... )
用value1
、value2
等作为列值向打开的表插入一条新记录。
NULL 可以用特殊的关键字_null_
指定。看起来不像标识符或者数字字符串的值必须被加上双引号。
declare
[unique
] index
indexname
indexoid
on
tablename
using
amname
(
opclass1
name1
[, ...] )
在名为tablename
的表上用amname
访问方法创建一个OID为indexoid
的名为indexname
的索引。 索引的域被称为name1
、 name2
等,而使用的操作符类分别是opclass1
, opclass2
等。 该命令将会创建索引文件和适当的系统目录项,但是索引内容不会被此命令初始化。
declare toast
toasttableoid
toastindexoid
on
tablename
为名为tablename
的表创建一个TOAST表。该TOAST表将被赋予由toasttableoid
表示的OID,且它的索引将被赋予由toastindexoid
表示的OID。和declare index
一样,索引的填充将被推迟。
build indices
填充之前声明的索引。
备案信息: 粤ICP备15087711号-2
Copyright © 2008-2024 啊嘎哇在线工具箱 All Rights.
本站所有资料来源于网络,版权归原作者所有,仅作学习交流使用,如不慎侵犯了您的权利,请联系我们。