返回介绍

I. 教程

II. SQL 语言

III. 服务器管理

IV. 客户端接口

V. 服务器端编程

VI. 参考手册

VII. 内部

VIII. 附录

53.2. BKI 命令

发布于 2019-09-30 03:13:56 字数 3015 浏览 1026 评论 0 收藏 0

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

创建一个名为 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 等系统表里面输入任何东西。因此这样的表将无法被普通的 SQL 操作访问,直到那些记录用硬办法(用 insert 命令)填入。这个选项用于创建 pg_class 等自身。

如果声明了 shared_relation ,那么表就作为共享表创建。除非声明了 without_oids ,否则将会有 OID 。

open tablename

打开一个名为 tablename 的表,准备插入数据。任何当前已经打开的表都会被关闭。

close [tablename]

关闭打开的表。给出的表名用于交叉检查,但并不是必须的。

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

如果 oid_value 为零,那么用 value1, value2 等作为字段值以及 oid_value 作为其 OID(对象标识)向打开的表插入一条新记录,否则省略子句,而表则拥有 OID ,并赋予下一个可用的 OID 数值。

NULL 可以用特殊的关键字 _null_ 声明。包含空白的值必须用双引号栝起。

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

在一个叫 tablename 的表上用 amname 访问方法创建一个 OID 是 indexoid 的叫做 indexname 的索引。索引的字段叫 name1, name2 等,而使用的操作符类分别是 opclass1, opclass2 等。将会创建索引文件和恰当的系统表记录,但是索引内容不会被此命令初始化。

declare toast toasttableoid toastindexoid on tablename

为名为 tablename 的表创建一个 TOAST 表。这个 TOAST 的 OID 是 toasttableoid ,其索引的 OID 是 toastindexoid 。与 declare index 一样,索引的填充会被推迟。

build indices

填充前面声明的索引。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文