Postgresql 中文操作指南
75.4. BKI Commands #
-
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 等输入任何内容。因此,在通过艰难的方式(使用 insert 命令)进行此类条目之前,普通 SQL 操作无法访问该表。此选项用于创建 pg_class 等。
-
如果指定了 shared_relation ,则该表将创建为共享。表的行类型 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 [, …] )
-
使用 amname 访问方法,在名为 tablename 的表上创建名为 indexname、具有 OID indexoid 的索引。要索引的字段称为 name1、name2 等,要使用的运算符类分别是 opclass1、opclass2 等。索引文件已创建,并且为其创建了适当的目录条目,但索引内容未通过此命令进行初始化。
-
-
declare toast toasttableoid toastindexoid on tablename
-
为名为 tablename 的表创建一个 TOAST 表。TOAST 表被分配了 OID toasttableoid,其索引被分配了 OID toastindexoid。就像 declare index 一样,索引的填充被推迟。
-
-
build indices
-
填写先前已声明的索引。
-