50.2. BKI命令

open tablename

打开一个名为 tablename 的表,准备进一步操作。

close [tablename]

关闭名为 tablename。 的表。如果 tablename 还没有打开,则产生一个错误。如果没有给出 tablename,那么当前打开的表被关闭。

create [bootstrap] [shared_relation] [without_oids] tablename (name1 = type1 [, name2 = type2, ...])

创建一个叫做 tablename 的表,表字段在圆括弧中给出。

The following column types are supported directly by bootstrap.c 直接支持下列字段类型: boolbyteachar (1 字节), nameint2int4regprocregclassregtypetextoidtidxidcidint2vectoroidvector_int4 (数组),_text (数组), _aclitem(数组)。尽管我们可以创建包含其它类型字段的表, 但是我们只有在创建完 pg_type 并且填充了合适的记录之后才行。

如果声明了 bootstrap,那么改表将只在磁盘上创建; 不会向 pg_classpg_attribute 等系统表里面输入任何东西。 因此这样的表将无法被普通的 SQL 操作访问,直到那些记录用硬办法(用 insert 命令)填入。 这个选项用于创建 pg_class 等自身。

如果声明了 shared_relation,那么表就作为共享表创建。 除非声明了 without_oids,否则将会有 OID。

insert [OID = oid_value] (value1 value2 ...)

value1value2, 等作为字段值以及 oid_value 作为其 OID(对象标识)向打开的表插入一条新记录,如果 oid_value 为零(0)或省略了改子句,那么使用下一个 OID。

NULL 可以用特殊的关键字 _null_声明。包含空白的值必须用双引号栝起。

declare [unique] index indexname on tablename using amname (opclass1 name1 [, ...])

在一个叫 tablename 的表上用 amname 访问方法创建一个叫做 indexname 的索引。 索引的字段叫 name1name2 等,而使用的操作符表分别是 opclass1opclass2 等。 将会创建索引文件和恰当的系统表记录,但是索引内容不会被此命令初始化。

制作索引

填充前面声明的索引。