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
,则将该表创建为共享表。可以通过 rowtype_oid
子句选择性地指定表的行类型 OID(pg_type
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
填充先前声明的索引。
如果您在文档中看到任何不正确、与您使用特定功能的经验不符或需要进一步澄清的内容,请使用此表单来报告文档问题。