↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 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

75.4. BKI 命令 #

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 [, ...] )

在名为 tablename 的表上,使用 amname 访问方法,创建一个名为 indexname、OID 为 indexoid 的索引。要建立索引的字段分别称为 name1、name2 等;使用的操作符类分别为 opclass1、opclass2 等。该命令会创建索引文件并写入相应的目录条目,但不会初始化索引内容。

declare toast toasttableoid toastindexoid on tablename

为名为 tablename 的表创建一个 TOAST 表。该 TOAST 表的 OID 设为 toasttableoid,其索引的 OID 设为 toastindexoid。与 declare index 一样,索引填充会被延后。

build indices

填充之前已声明的索引。

报告文档问题

阅读 上游文档. 通过 PostgreSQL 文档反馈表单.