↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 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
历史版本PostgreSQL 8.0 已于 2010 年 10 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

50.2. BKI 命令 #

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

创建一个名为 tablename 的表,其列定义在括号中给出。

bootstrap.c 直接支持以下列类型:bool、bytea、char(1 字节)、name、int2、int4、regproc、regclass、regtype、text、oid、tid、xid、cid、int2vector、oidvector、_int4(数组)、_text(数组)和 _aclitem(数组)。虽然也可以创建包含其他类型列的表,但这必须等到 pg_type 创建完成并填入合适条目之后才能做到。

指定 bootstrap 时,表只会在磁盘上创建;不会在 pg_class、pg_attribute 等目录中为它写入任何信息。因此,在通过 insert 命令以较为原始的方式补入这些条目之前,普通 SQL 操作无法访问该表。这个选项用于创建 pg_class 等目录自身。

如果指定了 shared_relation,该表就会作为共享表创建。除非指定 without_oids,否则该表将具有 OID。

open tablename

打开名为 tablename 的表,以便进一步操作。

close [tablename]

关闭名为 tablename 的已打开表。如果 tablename 尚未打开,这是一个错误。如果未给出 tablename,则关闭当前打开的表。

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

向当前打开的表插入一行新数据,使用 value1、value2 等作为各列的值,使用 oid_value 作为其 OID。如果 oid_value 为零(0)或省略该子句,则使用下一个可用的 OID。

NULL 值可以用特殊关键字 _null_ 表示。包含空格的值必须用双引号括起来。

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

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

build indices

填充之前已声明的索引。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。