|
19 | 19 | <para>
|
20 | 20 | 后端接口(<acronym>BKI</acronym>)文件是一些用特殊语言写的脚本,这些脚本是
|
21 | 21 | <productname>PostgreSQL</productname>后端能够理解的,以特殊的 <quote>bootstrap</quote>
|
22 |
| -(引导)模式运行,这种模式允许在不存在系统表的零初始条件下执行数据库函数, |
23 |
| -而普通的 SQL 命令要求系统表必须存在。因此<acronym>BKI</acronym> |
| 22 | +(引导)模式运行,在这种模式下允许创建系统表并填充数据, |
| 23 | +而普通的SQL命令要求系统表必须已经存在。因此<acronym>BKI</acronym> |
24 | 24 | 文件可以用于在第一时间创建数据库系统。(可能除此以外也没有其它用处。)
|
25 | 25 | </para>
|
26 | 26 |
|
|
40 | 40 | -->
|
41 | 41 | <para>
|
42 | 42 | 在创建一个新的数据库集群的时候,<application>initdb</application>就是使用<acronym>BKI</acronym>
|
43 |
| -文件来完成其工作的一部分。<application>initdb</application>使用的输入的文件是作为编译和安装 |
| 43 | +文件来完成其工作的一部分。<application>initdb</application>使用的输入文件是作为编译和安装 |
44 | 44 | <productname>PostgreSQL</productname>的一部分,由一个叫<filename>genbki.pl</filename>
|
45 |
| -的程序创建的,这个程序读取源代码树目录的<filename>src/include/catalog/</> |
46 |
| -目录里面的几个特殊格式的 C 头文件。生成的<acronym>BKI</acronym>文件叫<filename>postgres.bki</filename> |
47 |
| -并且通常安装在安装树里的<filename>share</filename>子目录。 |
| 45 | +的程序创建的,这个程序读取源代码树目录<filename>src/include/catalog/</> |
| 46 | +中的几个特殊格式的 C 头文件。生成的<acronym>BKI</acronym>文件为<filename>postgres.bki</filename>, |
| 47 | +通常放置在安装目录的<filename>share</filename>子目录下。 |
48 | 48 | </para>
|
49 | 49 |
|
50 | 50 | <!--
|
|
69 | 69 | </para>
|
70 | 70 | -->
|
71 | 71 | <para>
|
72 |
| -本节描述<productname>PostgreSQL</productname>后端是如何理解<acronym>BKI</acronym>文件。 |
| 72 | +本节描述<productname>PostgreSQL</productname>后端如何理解<acronym>BKI</acronym>文件。 |
73 | 73 | 如果把<filename>postgres.bki</filename>文件拿来做为例子,这些描述会变得容易理解些。
|
74 | 74 | </para>
|
75 | 75 |
|
|
88 | 88 | -->
|
89 | 89 | <para>
|
90 | 90 | <acronym>BKI</acronym>输入是由一系列命令组成的。命令是由一些记号组成的,
|
91 |
| -具体是什么由命令语法决定。记号通常是用空白分隔的,但是如果没有歧义的话可以不要。 |
92 |
| -没有什么特殊的命令分隔符;语法上无法属于前面命令的记号开始新的一条命令。 |
| 91 | +具体是什么记号由命令语法决定。记号通常是用空格分隔的,但是如果没有歧义的话也可以不要。 |
| 92 | +没有什么特殊的命令分隔符;语法上无法属于前面命令的记号开始一条新的命令。 |
93 | 93 | (通常你会把一条新的命令放在新的一行上以保持清晰。)记号可以是某些关键字,
|
94 |
| -特殊字符(圆括弧,逗号等),数字,或者双引号字符串。所有东西都是大小写敏感的。 |
| 94 | +特殊字符(圆括弧,逗号等),数字,或者双引号字符串,所有这些都是大小写敏感的。 |
95 | 95 | </para>
|
96 | 96 |
|
97 | 97 | <!--
|
|
100 | 100 | </para>
|
101 | 101 | -->
|
102 | 102 | <para>
|
103 |
| -以<literal>#</literal>开头的行被忽略。 |
| 103 | +忽略以<literal>#</literal>开头的行。 |
104 | 104 | </para>
|
105 | 105 |
|
106 | 106 | </sect1>
|
|
182 | 182 | -->
|
183 | 183 | <para>
|
184 | 184 | 如果声明了<literal>bootstrap</>,那么将只在磁盘上创建表;不会向<structname>pg_class</structname>,
|
185 |
| -<structname>pg_attribute</structname>等系统表里面输入任何东西。因此这样的表将无法被普通的 SQL 操作访问, |
| 185 | +<structname>pg_attribute</structname>等系统表里输入任何东西。因此这样的表将无法被普通的 SQL 操作访问, |
186 | 186 | 直到那些记录用硬办法(用<literal>insert</>命令)填入。这个选项用于创建<structname>pg_class</structname>等自身。
|
187 | 187 | </para>
|
188 | 188 |
|
|
240 | 240 | </para>
|
241 | 241 | -->
|
242 | 242 | <para>
|
243 |
| -关闭打开的表。给出的表名用于交叉检查,但并不是必须的。 |
| 243 | +关闭打开的表。给出的表名用于交叉检查,并不是必须的。 |
244 | 244 | </para>
|
245 | 245 | </listitem>
|
246 | 246 | </varlistentry>
|
@@ -319,11 +319,11 @@ NULL 可以用特殊的关键字<literal>_null_</literal>声明。包含空白
|
319 | 319 | 在一个叫<replaceable class="parameter">tablename</replaceable>的表上用
|
320 | 320 | <replaceable class="parameter">amname</replaceable>访问方法创建一个 OID 是
|
321 | 321 | <replaceable class="parameter">indexoid</replaceable>的叫做
|
322 |
| -<replaceable class="parameter">indexname</replaceable>的索引。索引的字段叫 |
| 322 | +<replaceable class="parameter">indexname</replaceable>的索引。索引的字段为 |
323 | 323 | <replaceable class="parameter">name1</replaceable>, <replaceable class="parameter">name2</replaceable>
|
324 | 324 | 等,而使用的操作符类分别是<replaceable class="parameter">opclass1</replaceable>,
|
325 | 325 | <replaceable class="parameter">opclass2</replaceable>等。将会创建索引文件和恰当的系统表记录,
|
326 |
| -但是索引内容不会被此命令初始化。 |
| 326 | +但是索引内容不会由此命令初始化。 |
327 | 327 | </para>
|
328 | 328 | </listitem>
|
329 | 329 | </varlistentry>
|
|
0 commit comments