支持的版本: 当前 (17) / 16 / 15 / 14 / 13
开发版本: 开发版本
不支持的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

67.4. BKI命令 #

create 表名 表OID [bootstrap] [shared_relation] [rowtype_oid oid] (列名1 = 类型1 [FORCE NOT NULL | FORCE NULL ] [, 列名2 = 类型2 [FORCE NOT NULL | FORCE NULL ], ...])

创建一个名为 表名,并具有 OID 表OID 的表,其列在括号中给出。

以下列类型由 bootstrap.c 直接支持:boolbyteachar(1 字节)、nameint2int4regprocregclassregtypetextoidtidxidcidint2vectoroidvector_int4 (数组)、_text (数组)、_oid (数组)、_char (数组)、_aclitem (数组)。尽管可以创建包含其他类型列的表,但这只有在 pg_type 创建并填充适当的条目之后才能完成。(这实际上意味着只有这些列类型才能在引导目录中使用,但非引导目录可以包含任何内置类型。)

当指定 bootstrap 时,该表只会创建在磁盘上;不会在 pg_classpg_attribute 等中输入任何内容。因此,除非以硬编码方式(使用 insert 命令)创建此类条目,否则普通 SQL 操作无法访问该表。此选项用于创建 pg_class 等本身。

如果指定了 shared_relation,则该表将创建为共享表。表的行类型 OID(pg_type OID)可以选择通过 rowtype_oid 子句指定;如果未指定,则会自动为其生成一个 OID。(如果指定了 bootstrap,则 rowtype_oid 子句没有用处,但为了文档目的,仍然可以提供。)

open 表名

打开名为 表名 的表以插入数据。任何当前打开的表都将关闭。

close 表名

关闭打开的表。必须给出表的名称以进行交叉检查。

insert ( [oid_值] 值1 值2 ... )

使用 值1值2 等作为其列值,将新行插入到打开的表中。

可以使用特殊关键字 _null_ 指定 NULL 值。看起来不像标识符或数字字符串的值必须用单引号引起来。(要在值中包含单引号,请写两次。字符串中也允许使用转义字符串样式的反斜杠转义。)

declare [unique] index 索引名 索引OID on 表名 using 访问方法名 ( 操作符类1 列名1 [, ...] )

在名为 表名 的表上创建一个名为 索引名,具有 OID 索引OID 的索引,使用 访问方法名 访问方法。要索引的字段称为 列名1列名2 等,要使用的运算符类分别为 操作符类1操作符类2 等。创建索引文件并为其创建适当的目录条目,但此命令不会初始化索引内容。

declare toast toast表OID toast索引OID on 表名

为名为 表名 的表创建一个 TOAST 表。TOAST 表被分配 OID toast表OID,其索引被分配 OID toast索引OID。与 declare index 一样,索引的填充将推迟。

build indices

填写先前声明的索引。

提交更正

如果您在文档中发现任何不正确、与您对特定功能的体验不符或需要进一步澄清的地方,请使用此表单报告文档问题。