75.4. BKI 命令 #
-
createtablenametableoid[bootstrap] [shared_relation] [rowtype_oidoid] (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等目录中为它写入任何信息。因此,在通过insert命令以较为原始的方式补入这些条目之前,普通 SQL 操作无法访问该表。这个选项用于创建pg_class等目录自身。如果指定了
shared_relation,该表就会作为共享表创建。该表的行类型 OID(即pg_type中对应的 OID)还可以通过rowtype_oid子句显式指定;如果不指定,就会自动为其生成一个 OID。(如果指定了bootstrap,那么rowtype_oid子句其实没有用,但仍然可以写上,作为文档说明。)-
opentablename 打开名为
tablename的表,以便插入数据。当前任何已打开的表都会被关闭。-
closetablename 关闭当前打开的表。必须给出表名,以便进行交叉校验。
-
insert([oid_value]value1value2...) 向当前打开的表插入一行新数据,使用
value1、value2等作为各列的值。NULL 值可以用特殊关键字
_null_表示。凡是不像标识符或纯数字字符串的值,都必须用单引号括起来。(如果要在值中包含单引号,就把它写两次。字符串中也允许使用转义字符串风格的反斜线转义。)-
declare[unique]indexindexnameindexoidontablenameusingamname(opclass1name1[, ...]) 在名为
tablename的表上,使用amname访问方法,创建一个名为indexname、OID 为indexoid的索引。要建立索引的字段分别称为name1、name2等;使用的操作符类分别为opclass1、opclass2等。该命令会创建索引文件并写入相应的目录条目,但不会初始化索引内容。-
declare toasttoasttableoidtoastindexoidontablename 为名为
tablename的表创建一个 TOAST 表。该 TOAST 表的 OID 设为toasttableoid,其索引的 OID 设为toastindexoid。与declare index一样,索引填充会被延后。build indices填充之前已声明的索引。
报告文档问题
阅读 上游文档. 通过 PostgreSQL 文档反馈表单.