67.2. BKI 命令
-
create
*tablename
* *tableoid
* [+4+
] [+5+
] [+6+
] [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
,array ,_text
(数组),_oid
(数组),_char
(数组),_aclitem
(数组)。尽管可以创建包含其他类型的列的表,但是只有在创建pg_type
并填充了适当的条目之后才能完成此操作。 (这实际上意味着在引导表中只能使用这些列类型,但非引导目录可以包含任何内置类型.)
指定bootstrap
时,将仅在磁盘上创建表;否则,将在磁盘上创建表。没有为此 Importingpg_class
,pg_attribute
等。因此,除非通过困难的方式(使用insert
命令)对此类条目进行访问,否则普通的 SQL 操作将无法访问该表。此选项用于自己创建pg_class
等。
如果指定shared_relation
,则该表将创建为共享表。除非指定without_oids
,否则它将具有 OID。可以通过rowtype_oid
子句指定表的行类型 OID(pg_type
OID);如果未指定,将自动为其生成 OID。 (如果指定了bootstrap
,则rowtype_oid
子句是无用的,但无论如何也可以将其提供给文档使用.)
-
open
tablename
- 打开名为*
tablename
*的表以插入数据。任何当前打开的表均已关闭。
- 打开名为*
-
close
[tablename
]- 关闭打开的表。可以通过交叉检查来提供表名,但这不是必需的。
-
insert
[OID =
oid_value
](
value1
value2
...)
- 将*
value1
,value2
等用于其列值,并将oid_value
作为其 OID 插入新表。如果oid_value
*为零(0)或省略了该子句,并且该表具有 OID,则分配下一个可用的 OID。
- 将*
可以使用特殊关键字_null_
指定 NULL 值。包含空格的值必须用双引号引起来。
-
declare
[unique
]index
indexname
indexoid
on
tablename
using
amname
(
opclass1
name1
[, ...])
- 使用*
amname
访问方法,在名为tablename
*的表上创建具有 OID *indexoid
的索引indexname
。要索引的字段称为name1
,name2
等,并且要使用的运算符类别分别为opclass1
,opclass2
*等。创建索引文件并为其创建适当的目录条目,但是此命令未初始化索引内容。
- 使用*
-
declare toast
toasttableoid
toastindexoid
on
tablename
- 为名为*
tablename
*的表创建一个 TOAST 表。 TOAST 表分配了 OID *toasttableoid
*,而其索引分配了 OID *toastindexoid
*。与declare index
一样,索引的填充被推迟。
- 为名为*
-
build indices
- 填写先前已声明的索引。