Coder Social home page Coder Social logo

postgres-cn / pgdoc-cn Goto Github PK

View Code? Open in Web Editor NEW
1.8K 1.8K 398.0 44.22 MB

PostgreSQL manual Chinese translation by China PostgreSQL Users Group

Home Page: http://www.postgres.cn/docs

License: Other

HTML 0.26% Perl 0.90% Clean 0.68% CSS 0.47% JavaScript 0.10% Makefile 0.41% Roff 0.32% Python 1.42% Shell 0.01% Game Maker Language 3.51% XSLT 0.20% ASL 91.74%

pgdoc-cn's People

Contributors

amosbird avatar chegong18 avatar chenhuajun avatar collinske avatar cuik avatar daiyunjiao avatar exialin avatar gamefunc avatar guaidaokakaxi avatar hayleeliu avatar heyzojian avatar highgodb-yinminmin avatar iammajia avatar indicolite avatar jingsam avatar ldming avatar liuweibing7 avatar liuyuanyuan avatar lyhabc avatar oneofsunshine avatar sd44 avatar sirlipeng avatar sizhitu avatar sunshinerxu avatar tsinghualucky912 avatar whupyw avatar xiaowing avatar xylon888 avatar ylyxf avatar zuyue avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pgdoc-cn's Issues

queries.sgml 中一段翻译和英文不符

queries.sgml 中一段翻译和英文不符

<!--
    The <xref linkend="sql-groupby" endterm="sql-groupby-title"> is
    used to group together those rows in a table that have the same
    values in all the columns listed. The order in which the columns
    are listed does not matter.  The effect is to combine each set
    of rows having common values into one group row that
    represents all rows in the group.  This is done to
    eliminate redundancy in the output and/or compute aggregates that
    apply to these groups.  For instance:
-->
<xref linkend="sql-groupby" endterm="sql-groupby-title">子句用于把那些所有列出的
grouping_column_reference值都相同的行组合在一起,缩减为一行,
这样就可以删除输出里的重复和/或计算应用于这些组的聚集。这些字段的列出顺序无关紧要。
比如:

翻译版本的sql标点有误。

hi:
我下载的PostgreSQL9.3.1-CN-v1.1.pdf,发现pdf中sql的字符串标点均有误。
例如,文档中的8.2节货币类型的sql:
SELECT ’12.34’::float8::numeric::money;
此时会出现错误:ERROR: syntax error at or near ".34"
正确的写法应该是:
SELECT '12.34'::float8::numeric::money;
看起来好像没什么区别,但sql语句中用的是英文单引号,而文档的sql可能都是中文全角下的单引号。

xml tag中使用全角引用字符导致编译错误

现象

build.log中有如下错误
...
python pgdoc_code_mask.py -r postgres.xml
开始恢复"postgres.xml"中被转义的中文字符...
postgres.xml
Traceback (most recent call last):
File "pgdoc_code_mask.py", line 126, in
process(sourceFile,code_unmask)
File "pgdoc_code_mask.py", line 98, in process
process_file(source,code_unmask)
File "pgdoc_code_mask.py", line 69, in process_file
fout.write(masktext)
File "/usr/lib64/python2.6/codecs.py", line 691, in write
return self.writer.write(data)
File "/usr/lib64/python2.6/codecs.py", line 351, in write
data, consumed = self.encode(object, self.errors)
File "/usr/lib64/python2.6/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 0-1: invalid continuation byte
make[2]: *** [postgres.xml] Error 1
make[2]: *** Deleting file postgres.xml' make[2]: Leaving directory /home/pgdoc/gitrep/postgresql-10/doc/src/sgml'
make[1]: *** [html] Error 2
make[1]: Leaving directory `/home/pgdoc/gitrep/postgresql-10/doc/src'
make: *** [html] Error 2
make html failed!

原因

xml tag中使用了全角引用字符
ref/create_publication.sgml:

请参见<xref linkend =“logical-replication-publication”>。

python pgdoc_code_mask.py .转义后变成下面的形式

<xref linkend =$${4oCc}logical-replication-publication$${4oCd}>

/usr/bin/osx处理后,又变成以下形式。

<xref linkend=”$${4occ}logical-replication-publication$${4ocd}“>

$${4oCc}转成小写$${4occ},导致后面解除转义失败。

user_name instead of username

CREATE POLICY user_mod ON passwd FOR UPDATE
USING (current_user = user_name)
WITH CHECK (
current_user = user_name AND
shell IN ('/bin/bash','/bin/sh','/bin/dash','/bin/zsh','/bin/tcsh')
);

21.6章节,少翻译了2句

Functions, triggers and row-level security policies allow users to insert code into the backend server that other users might execute unintentionally. Hence, these mechanisms permit users to “Trojan
horse” others with relative ease. The strongest protection is tight control over who can define objects.

Where that is infeasible, write queries referring only to objects having trusted owners. Remove from
search_path the public schema and any other schemas that permit untrusted users to create objects.

“4.2.14. 表达式计算规则”一节最后一句的翻译

最后一句:“代替的, 在第一个位置使用WHERE或FILTER 子句阻止有问题的输入行到达聚合函数。”
原文是” Instead, use a WHERE or FILTER clause to prevent problematic input rows from reaching an aggregate function in the first place.“
原文中”in the first place“意思貌似应为”首先“,而不是”在第一个位置“。

func.sgml 36562L typo fix

36562 pg_switch_wal移动到下一个预写式日志文件,允许当前文件被归档(假定你正在使用连续归档)。返回值是在甘冈>

甘冈修改为刚刚

ps,new pull request点了没反应,很奇怪

SQL 命令CREATE POLICY翻译不完全

在PART VI. 的参考中,SQL 命令CREATE POLICY的翻译没有全部完成, 在针对每种命令的策略UPDATE之后的大部分内容没有完全翻译,包括表240 Policies Applied by Command Type 表格也没有翻译。

对应的XML文件为ref/create_policy.sgml,自576行开始,至1045行。

“5.7.5. 系统表模式”一节中的翻译

“自从系统表名以pg_开头开始,最好避免使用这样的名字……“
原文:Since system table names begin with pg_, it is best to avoid such names to ensure that ……
这里的Since似乎应该翻译为”因为“?

有一个字写错了

5.8. 模式
相同的对象名称可以被用于不同的模式中不会出现冲突
“二”字,应该是“而”

网友忙碌公子反映的翻译问题汇总

忙碌公子(124640141) 18:20:09
http://postgres.cn/docs/9.3/textsearch-controls.html
12.3.4. 强调结果
为显示搜索结果,?合理显示每个文档的一部分以及查询相关性?。?通常,搜索引擎显示标记搜索条件的文档片段。

,并从突显?的?查询条件的文档中返回一个摘录。

三个默认值消除了常见英语?文章?。

如果不是所有的查询词在文档中?找到,

则文档中开头的MinWords单?片段将被显示。

http://postgres.cn/docs/9.3/textsearch-features.html
12.4. 附加功能
本节描述了?连接?文本搜索中有用的附加功能和操作符。

12.4.1. 操作文档
PostgreSQL也提供用于操作已经?在?tsvector形式中的文档的函数和操作符。

出现在右边向量位置?通过左边向量提到?的最大位置相抵消?,

http://postgres.cn/docs/9.3/textsearch-features.html
12.4.2.1. 查询重写
一组这样的重写规则可以是一个强大的搜索?帮助?。例如,你可以使用同义词扩大搜索(例如,new york, big apple, nyc, gotham)或缩小搜索一些热点问题的?直接用户?。

; 因此在实践中你将需要?源查询为ORDER BY一些排序关键字?。

12.4.3. 自动更新的触发器
这些触发器函数自动计算来自一个或多个文本字段的tsvector列,在CREATE TRIGGER命令指定的参数控制下?

为tsvector_update_trigger?,配置的名称仅仅是作为第二个触发器参数。

为tsvector_update_trigger_column?, 第二个触发器参数是另一个表列的名称,

, 为权重不同?主体?的标题

http://postgres.cn/docs/9.3/textsearch-parsers.html
12.5. 解析器
目前PostgreSQL提供了?只有?一个内置的解析器, 这已被用于?一个?广泛的应用中。

Table 12-1. 缺省分析器的标记类型
Note:
?唯一的?非字母数字字符支持电子邮件用户名有句号,破折号和下划线。

, 一个连字符的单词将作为整个单词和每个组件被?报道?:

?对于?分析器从文本的同一块产生重叠的标记是?可能?的。

这种行为是可?取?的,因为它允许?为?整个复合词和组件进行搜索。
http://postgres.cn/docs/9.3/textsearch-dictionaries.html
12.6. 词典
如果?索引?数字,我们可以删除一些小数?位数?,减少?可能?数字的?范围?,

词条数组?如果输入标记是已知?的词典
如果词典认为标记是空数组,?但?它是一个屏蔽词。

为了每个标记类型, ?返回?解析器,单独的词典列表通过配置指定。

, 列表中的每个字典依次查阅?,直到一些词典?作为?一个已知的单词识别它。

,并且没有索引或?搜索?。

配置一个字典列表的一般规则是?放在第一个最窄的,最具体的词典中,然后是更一般的词典, ?整理?一个非常普遍的词典,像Snowball词干或simple可以?识别?一切?。

,除了?在结束的地方会?是无用的。

12.6.1. 屏蔽词
这个不同操作的原因是为了减少?噪音?。

12.6.2. Simple 词典
simple字典模板通过?转换输入标记为小写字母?进行?,并且屏蔽词?文件前?检查它。

,词典可以为?报告未识别的非屏蔽词进行?配置?,

?随着?缺省设置Accept = true,?它?把simple词典放在词典列表末尾的时候是很有用的,

Caution
这些文件必须存储在?UTF-8编码中?。 当他们?读到?服务器中,如果是不同的?,他们将被转化为实际?的数据库编码。

12.6.3. 同义词词典
这?足以?在同义词词典中有Paris paris行并且放在english_stem词典之前。

文件格式是每一行的每个字?被取代?,?带有?这个词的同义词,

12.6.4. 同义词词典库
?它?选择一个子词典是?可能?的。
, 你应该删除这个词或?训练?子词典。你可以在一个索引字跳过?应用?子词典的开头放一个星号(*),

但是所有简单的词必须是子词典已知?的。

并且使用?最后?一个定义分离关系。
通过子词典识别的具体屏蔽词不能被?指定?;

同义词词典使用这些?任务?检查它是否应该处理下一个词, 或停止?积累?。

12.6.4.1. 同义词词典配置
pg_catalog.english_stem是用于词规范化的子词典(这?的Snowball英文词干?)。
现在它?在配置中可能?将同义词词典thesaurus_simple绑定到所需的标记类型中,

12.6.5. Ispell词典
Ispell词典支持分裂复合词;?一个有用的功能。
12.6.6. Snowball词典
一个Snowball词典可以识别一切,是否?能够简化?字?,
http://postgres.cn/docs/9.3/textsearch-configuration.html
12.7. 配置实例
文本搜索配置指定所有?选项将文档转换成一个tsvector:
http://postgres.cn/docs/9.3/textsearch-debugging.html
12.8.1. 配置测试
dictionary regdictionary —词典公认的标记,如果不?这样?,则为空。
lexemes text[] — 公认标记的词典产生的词(s),或者如果不做?则为NULL;
12.8.2. 解析器测试
每个标记类型,该表给出了整数tokid,,解析器用于标记?那个?类型标记,
忙碌公子(124640141) 18:26:05
12.8.3. 词典测试
Note: ts_lexize函数需要单一标记,没有?文本?。这是一种引起混淆的情况:
SELECT ts_lexize('thesaurus_astro','supernovae stars') is? null?;

http://postgres.cn/docs/9.3/textsearch-indexes.html
12.9. GiST和GIN索引类型
如果查询中的?所有?单词匹配(真实的或错误的), 则必须检索表行查看匹配是否是正确的。

数据丢失导致了性能下降,由于表记录?的不必要?的获取?,?产生了错误的匹配。

GIN索引并没有损耗?标准查询?,但它们的性能取决于对数独特?的单词数。

http://postgres.cn/docs/9.3/transaction-iso.html(**已对应**)
13.2. 事务隔离
其他三个层次是通过现象术语被定义,导致并发事务之间的相互作用,?这?不应该发生在每个级别中。

,这些现象不可能在这一水平上(这毫不奇怪--如果事务的影响必须与已运行的一个保持一致,你怎么能看到通过相互作用引起的现象呢? ?)?

13.2.1. 读已提交隔离级别
,SELECT看得见其自身所在事务中前面更新执行结果。即使?它们?尚未提交。

这样的行为令读已提交模式不适合用于?哪种?涉及复杂搜索条件的命令。

,考虑DELETE命令数据操作 通过另外一个命令的限制?标准?中被添加或者删除等,

,假设website是website.hits 等?同?于9和 10的两行表格。

这?发生?是因为先前更新的行值9被忽略,

13.2.2. 可重复读隔离级别
比?为?这一隔离级别的SQL标准需求来说,这是一个更强烈的保证。

,它们没有看到通过? 自身事务开始之后提及的其他事务做出的改变。

使用这个级别的应用必须准备好重试?事务,因为串行化失败。

,它应该退出当前的事务然后从?新开始进行整个事务。

13.2.3. 可串行化隔离级别
;但是因为 没有执行一致性?结果?的序列顺序,
这对于只读事务是真?的,除了在可延期的只读事务中的数据读是有效的。 因为这样一个事务等待?直到它可以在开始读取任何数据之前获得一个快照保证?这些问题?是自由的。在所有其他情况下,应用不依赖于结果读?,期间事务之后?被停止;相反,他们应该重启事务直到成功为止。
,这不仅可以阻止其他事务而且可能导致磁盘?访问。
以及事务进程防止用于跟踪锁定的内存耗尽期间?的多个细粒度锁(例如,元组锁)可以组合成较少的粗粒度的锁(例如,页锁)。
,如果它检测到没有?冲突仍然?发生,
, 只读事务会经常建立启动事实?,
,这将阻塞直到它可以建立这一事实?。
,作为书面?的,当自己运行时将做正确事情?,
,当为?并发控制依赖于可串行化事务时,
比起?需要完整性目的?来说不要将更多的东西放到单一事务中。
一定要权衡任何事务回滚的减少,并且?重新启动查询执行时间内的任何整体变化。

http://postgres.cn/docs/9.3/explicit-locking.html
13.3.4. 咨询锁
这种行为通常比咨询锁的短期?使用?会话级别行为更方便。
会话级别和事务级别锁请求为相同的咨询锁?标识符?将以预期方式互相阻止。

不管是否持有已存在锁,并且新的要求是会话级别或者事务级别,这个语句?是真的?。

不管是否持有已存在锁,并且新的要求是会话级别或者事务级别,这个语句?是真的?。

SELECT pg_advisory_lock(q.id) FROM
(
SELECT id FROM foo WHERE id > 12345 LIMIT 100
)? q?; -- ok

http://postgres.cn/docs/9.3/applevel-consistency.html
13.4. 应用层数据完整性检查
关于使用读已提交事务的数据完整性?强制执行业务规则是很难的,由于数据视图从每个语句偏移,如果发生写入冲突,则单一语句可以不限制自身?到语句快照。

, 则现在有一个前面已提到的事务?似乎运行着的事务?。

如果已经被执行的事务最后首先被提交,出现在事务执行顺序图中,这样一个循环?是很容易的?。 当这样一个循环出现时,完整性检查将不能正常工作,而?没有一定的帮助?。

当这个模式被监测时,有可能导致明显?的执行顺序周期,其中所 涉及到的事务回滚?以打破这个周期。

13.4.1. 可串行化事务执行一致性
,或者是无意的或者?破坏完整性检查, 通过触发器中的事务隔离级别检查。

13.4.2. 明确阻塞锁的执行一致性
还要注意来自其他环境的这些转变?事实:

http://postgres.cn/docs/9.3/locking-indexes.html
13.5. 锁和索引
但要注意的是一个GIN索引值的插入通常导致几个?每行几个索引键的插入,

http://postgres.cn/docs/9.3/using-explain.html
14.1. 使用EXPLAIN
,但是这部分试图掩盖?这些基本信息。

14.1.1. EXPLAIN基础
其他行可能会出现?,

因为那时候没有多余的排序步骤是必要的以满足ORDER BY。

,所以总成本将超过使用这种方法的25个单位的东西?。

该计划优于增加一个限制节点到? 先前?的计划,

,尽管 嵌套循环连接节点需要读取数据十次,?来自外部关系?的每一行。

但一个纯过滤条件可以在外连接规则之后被应用 ?因此这个行为无条件地删除行。

14.1.2. EXPLAIN ANALYZE
,即使无论什么结果查询可能的输出都将被丢弃而 赞成?输出EXPLAIN的数据。

,虽然修改数据的节点可以采取?大量的运行时间(在这里,它消耗了大部分的共享?的时间), 规划器目前不添加任何东西?的成本来估计?说明这项工作。这是因为要做的工作是同样?为了每一个正确的查询规划, 因此它不影响?规划决定。

14.1.3. 警告
有两个显著?方式测量运行时间,通过 EXPLAIN ANALYZE偏离?相同查询的正常执行?。

, 所以实际的行数只有2和?,
,?由于只有一个差异?估计?和真实值显示。

合并连接也有可混淆?粗心?的测量产品?。

,则报告的实际行数?。

http://postgres.cn/docs/9.3/planner-stats.html
14.2. 规划器使用的统计信息
,1?对应在road表(inherited=t)开头的完整继承层次结构?。

http://postgres.cn/docs/9.3/explicit-joins.html
14.3. 用明确的JOIN控制规划器
但是潜在的连接顺序的数目随着表数目的增加程?指数增加的趋势。

, 因为可能的规划数的?是按照指数增长的。

http://postgres.cn/docs/9.3/populate.html
14.4.7. 禁用WAL归档和流复制
除了为归档或者WAL发送处理WAL数据来避免时间?,

14.4.8. 事后运行ANALYZE
, 导致表的错误或者不存在?数据的性能恶化。

14.4.9. pg_dump的一些注意事项
,即使是最小的误差将回滚整个?恢复,可能丢弃很多时间?的处理。 取决于如何相互关联数据,这可能?最好是手动清理或者没有。如果你使用单一事务并且WAL归档关闭,则COPY命令将?运行速度最快。

http://postgres.cn/docs/9.3/non-durability.html
14.5. 非持久性设置
,即使服务器崩溃或电源断电保证已提交事务的记录?。

, PostgreSQL可以被配置?保证运行更加快速。

以下是配置变化?,可以在这种?情况下提高性能。

, 只是突然操作系统停止造成数据丢失的风险?或当使用这些设置时的崩溃?。

,但限制可用内存(也许?交换)的数据存储量。
忙碌公子(124640141) 18:26:09

http://postgres.cn/docs/9.3/admin.html
III. 服务器管理
,这部分的材料是假设读者?是那些经常使用 PostgreSQL 数据库系统 的读者?应该熟悉的东西。

http://postgres.cn/docs/9.3/install-procedure.html
15.4. 安装过程
1.配置
,安装时浮动的?,

如果发现?,PostgreSQL将自动使用它?。 在一个不寻常?的位置来指定libxml安装, 您可以要么?设置环境变量XML2_CONFIG以指向 xml2-config附属于安装的程序 或者?使用选项--with-includes和--with-libraries。

--disable-thread-safety
禁用客户端库是?线程安全的?。

,DIRECTORY中系统提供的时区数据库是用来代替包含在PostgreSQL源代码发布中的?其中之一?。

, 你已经指出?正确使用PostgreSQL?。

,当许多当地白昼?节约时间规则?变化的任何?时候,

,所有的程序和库连同代码覆盖测试仪器?一起被编译。

,它们与代码覆盖率度量?在编译目录下生成文件。 参阅Section 30.4 获取更多信息?当做开发工作时,

,使他们可以描绘轮廓?。

在后端?出口?,

4.安装文件
Note: 如果你正在升级一套现有的系统必定?读 Section 17.6。

如果上面编译了world,?而不?是键入:
gmake install-world
这也?安装文档。

标准的安装只提供所有开发客户端应用的头文件和服务器端的程序开发?, 比如用 C 写客户函数或者数据类型的头文件。

(先于?PostgreSQL 8.0,

http://postgres.cn/docs/9.3/install-post.html
15.5.2. 环境变量
如果你安装到/usr/local/pgsql或者其它什么缺省时不?搜索程序的地方, 那你应该?增加一个/usr/local/pgsql/bin (或者是你在step 1中给你的PATH设置--bindir的值)。

http://postgres.cn/docs/9.3/supported-platforms.html
15.6. 支持平台
如果代码包含在工作平台上的归定?,并且它最近被证实?编译,在该平台上传递?其回归测试。

, 但对其中代码工作位置?或者?可以进行工作,

, 但这些体系结构并不知道?最近已经测试过。

,所有支持给定操作系统的CPU架构将?工作?。

如果你有根据最近?编译结果?支持?的平台安装问题,

http://postgres.cn/docs/9.3/installation-platform-notes.html
15.7. 特定平台注意事项
此处未覆?盖的平台没有已知的特定平台安装问题。

15.7.1. AIX
PostgreSQL工作在AIX上,但正确安装它具有挑战性。
检查bulid? farm获得最新的信息,
推荐的最小修复?水平支持的AIX版本是:

,采用近期的AIX版本和PostgreSQL有所?帮助?。

检查bulid? farm获得最新的信息,
推荐的最小修复?水平支持的AIX版本是:

除你自己之外请使用以下?的configure标志, 如果你在/usr/local: --with-includes=/usr/local/include --with-libraries=/usr/local/lib中已经安装了Readline或者libz:???

15.7.1.1. GCC问题
您将要使用GCC随后?到3.3.2的版本,

我们在4.0.1时有很大成功。
,关于?GCC早期版本你很可能成功。

这一结果是尝试使用Unix域套接字与PostgreSQL导致libpq溢出的数据结构?。
,但不是Unix域套接字?,以防止工作着的回归测试。

,这?将包括此修复程序。
在这两?种情况下,

15.7.1.3. 网络地址问题
任何?下面操作"修复"这个问题。
15.7.1.4. 内存管理
你可以有很多倍的千兆字节RAM免费?的服务器,
作为PostgreSQL安装的非拥有者进行?运行:
, 与?每个内存分配接近或者大于256 MB。
,它放置在那里?。
,因为32位处理器系统可以进行,
,如果这?产生问题,那么 分页空间分配方法及内存不足杀进程在系统或进程范围基础上是可配置?。
15.7.2. Cygwin
在Windows功能?之前使用Cygwin bin目录设置你的路径。
这个程序需要运行于任何时候?,
可能?安装cygserver和作为Windows NT服务的PostgreSQL服务器。
15.7.3. HP-UX
PostgreSQL 7.3+应该?在运行HP-UX 10.X或者11.X的系列700/800 PA-RISC机器上工作, 给予?相应的系统补丁级别和编译工具。

我们建议确保你?是最新的HP补丁。

, 如果你正在使用HP C编译器。 ?

对于?HP的C编译器?,或者

15.7.4. IRIX
它?被认为是固定的,迫使代码链接使用libgcc的那些函数?,

,请让?我们知道?,

15.7.5. MinGW/Native Windows
本地Windows端口?需要Windows 2000或更高的32或64位版本。
您已经?安装了一切之后,

15.7.6.1. Skunkware
Skunkware包括可从互联网获得的许多流行程序的准备?安装版本。

,包含在UDK CD上的GCC编译器作为?GNU Make。

15.7.6.2. GNU Make
由于?UnixWare 7.1.3及以上,

15.7.6.5. 阅读PostgreSQL手册页
,为了可用?查看?你需要修改/etc/default/man中的MANPATH 变量,

,需要投入一些额外研究形成?可用手册页,

,PostgreSQL根本不安装?。

15.7.6.6. 7.1.1b功能补充的C99问题
这个指示?是编译tuplesort.c中引用内联功能的一个错误。 显然,有7.1.2(8.0.0)编译器及以上的变化?。

15.7.7.2. OpenSSL问题
升级您的OpenSSL安装到版本0.9.6a修复了?这个问题。Solaris 9和上面?有OpenSSL的较新版本。

15.7.7.5. 编译以获得最佳性能
这些?标志可以提高?一些日期/时间计算中的PostgreSQL不规范行为。

,更喜欢32位版本?。

Chapter 16. Windows下用源代码安装
对于微软工具的话?,

官方的?的二进制可执行文件是由Visual Studio编译的。
忙碌公子(124640141) 18:32:36
http://postgres.cn/docs/9.3/install-windows.html
Chapter 16. Windows下用源代码安装
对于微软工具的话?,

官方的的?二进制可执行文件是由Visual Studio编译的。
http://postgres.cn/docs/9.3/install-windows-full.html
16.1. 用Visual C++或Microsoft Windows SDK编译
,为了在PATH中添加一个还不存在的bison变量?,

http://postgres.cn/docs/9.3/install-windows-full.html
16.1.6. 编译文档
, 实际上编译运行来?两次。

http://postgres.cn/docs/9.3/install-windows-libpq.html
16.2.1. 生成文件
应该将libpq.dll文件放在?和可执行的应用程序文件放在同一个目录下。

http://postgres.cn/docs/9.3/runtime.html
Chapter 17. 服务器设置和操作
17.4.3. Linux 内存过?提交

http://postgres.cn/docs/9.3/creating-cluster.html
17.2.1. 网络文件系统
许多安装在网络文件系统?创建数据库集群。

PostgreSQL并不为NFS文件系统做什么特别的?, ?

http://postgres.cn/docs/9.3/kernel-resources.html
17.4.1. 共享内存和信号灯
,System V共享内存的数量需要启动的服务器?大得多?。

Table 17-1. System V IPC参数
信号灯标识符的最小数量(也就是套?)

,除非被?迫?,

(在64为?平台上典型为48字节)。

,可以很容易的分配?数量?。

, 并且每 16 个连接和?工作还要另外加一个(参阅Table 17-1里面的公式)。

并且允许autovacuum工作进程(autovacuum_max_workers)?,
, 并且每 16 个连接和?工作?还要另外加一个(参阅Table 17-1里面的公式)。

,那么它要么会加入到该映射中一条相连的已释放块的入口?中, 要么注册成一条新的入口?。如果映射填满了碎片?,那么被释放的信号灯就丢失了(除非重启)。 因此信号灯空间的碎片?时间长了会导致可用的信号灯比应该有的信号灯少。

Solaris 2.10 (Solaris 10) 及以后
OpenSolaris
上面的?是假设PostgreSQL由在postgres组里面的postgres用户运行。

17.4.2. 资源限制
, 就是说允许许多用户共存?一台机器,

17.4.3. Linux 内存过提交
,这样?可能帮助降低内存相关的配置参数,

17.4.3. Linux 内存过提交
,这样?可能帮助降低内存相关的配置参数,

,然是?它将显著地减少并且将因此导致更稳健的系统行为。

;所以一个root?所有的启动脚本是做这个最简单的地方。
,你可能也希望用-DLINUX_OOM_SCORE_ADJ=0添加到CPPFLAGS 来建立?PostgreSQL。
相应的PostgreSQL的建立?标识为-DLINUX_OOM_ADJ=0。
),核实一下这个?是在你的内核里存在的,

http://postgres.cn/docs/9.3/upgrading.html
17.6. 升级一个 PostgreSQL 集群
, 因此并发?升级。

, 设置并发?新旧版本的安装是一个好的主意。

17.6.1. 通过pg_dump升级数据
2.关闭旧的服务器:
,可能有一个启动文件将?完成同样的事情。

http://postgres.cn/docs/9.3/preventing-server-spoofing.html
17.7. 防止服务器欺骗
,因为PGDATA目录因为?目录存取权限仍然是安全的。

http://postgres.cn/docs/9.3/encryption-options.html
17.8. 加密选项
跨网络加密口令
,用服务器发送的随机盐粒?再次加密。

http://postgres.cn/docs/9.3/ssl-tcp.html
17.9. 用 SSL 进行安全的 TCP/IP 连接
,中间人能够读取和?通过?客户端和服务器的通信。

,必须包含?包含?服务器证书和私钥的文件。

,然后?其父?颁发机构的证书,

, 然后?直到?一个客户端信任的"根"授权。

17.9.1. 使用客户端证书
,客户端证书也将信任的?该CA。

http://postgres.cn/docs/9.3/ssh-tunnels.html
17.10. 用SSH隧道进行安全 TCP/IP 连接
ssh -L 63333:localhost:5432 [email protected]
在两个端口号之间的名称或者 IP 地址是你准备连接的数据库服务器, 在例子中是foo.com。?

忙碌公子(124640141) 18:32:55
http://postgres.cn/docs/9.3/config-setting.html
18.1.5. 配置文件包含
,正如在这一点?上插入到配置文件。

规则的include会认为这?是一个错误条件,但include_if_exists 只是记录一条消息,并继续处理?引用的配置文件?。

字母前的数字和小写字母前大写字母?。

http://postgres.cn/docs/9.3/runtime-config-connection.html
18.3.1. 连接设置
unix_socket_directories (string)
指定Unix域套接字(S)的目录, 并且?服务器监听来自客户端应用程序的连接。
; 如果你需要包含空格或逗号的名字,增加?带有双引号的目录名。
这个参数只能在服务器启动的?。
除套接字文件本身外,它?被命名为 .s.PGSQL.nnnn,

tcp_keepalives_idle (integer)
零?使用?系统默认值。

tcp_keepalives_interval (integer)
零?使用?系统默认值。
tcp_keepalives_count (integer)
零?使用?系统默认值。

18.3.2. 安全和认证
ssl_ca_file (string)
,此文件的名称是作为root.crt的硬?编码。)

这个参数只能在服务器启动?进行设置。

ssl_crl_file (string)
,该文件的名称为root.crl的 硬编码。)

ssl_renegotiation_limit (integer)
,但?它也会产生大量性能损失,重新谈判?降低攻击者密码分析的机会 。

在会话密钥发生重新商议之前,指定多少数据可以进行SSL-加密。

在会话密钥发生重新商议?之前,指定多少数据可以进行SSL-加密。
,但?它也会产生大量性能损失,重新谈判?降低攻击者密码分析的机会 。
作为这个漏洞修复?,一些厂商出货的SSL库不能重新谈判。

db_user_namespace (boolean)
这个参数启动?每个数据库的用户名。

http://postgres.cn/docs/9.3/runtime-config-resource.html
18.4.1. 内存
shared_buffers (integer)
有一些工作负载,甚至在那里?对于shared_buffers大设置是有效的,
, 为了延长?写大量新的或者需较长时间修改的数据的进程。

您可能会发现更好的结果?保持设置相对较低,并且使用操作系统的缓存代替。

maintenance_work_mem (integer)
当运行自动清理?, ?直至autovacuum_max_workers次分配这个内存,

max_stack_depth (integer)
, 只是在可能递规?的过程,

18.4.2. 磁盘
temp_file_limit (integer)
,?使用显式临时表的磁盘空间, 而不是使用查询执行的幕后临时文件, 并强调?不影响这个限制。

18.4.3. 内核资源使用
max_files_per_process (integer)
内核允许独立进程打开比?个系统真正可以支持的数目大得多得文件数。

shared_preload_libraries (string)
,在服务器启动时预加载库并不会减少?所需的时间来启动每个新的服务器进程;

18.4.4. 基于开销的清理延迟
这个特性缺省?手动发出VACUUM命令是关闭的。

18.4.5. 后端写进程
bgwriter_delay (integer)
当在缓冲池中没有脏缓冲区时,但是?,它会无论bgwriter_delay的值,

bgwriter_lru_maxpages (integer)
设置为零?启动?后端写进程。

bgwriter_lru_multiplier (floating point)
写在每一轮的脏缓冲区数目是根据?通过最近几轮服务器处理所需的新的缓冲区数?。 最近平均需求乘以bgwriter_lru_multiplier到达?将在下一轮中需要的缓冲区的数目的估计。 脏缓冲区写入直到?有许多干净的,可重复使用的缓冲区可用?。

,1.0的设置表示写入确切?预测需要的缓冲区数量的"合适"策略?。 较大的值提供?针对?需求高峰一定的缓冲作用,

18.4.6. Asynchronous Behavior
effective_io_concurrency (integer)
如果函数?不存在,那么这个参数设置为任何东西?,
忙碌公子(124640141) 18:32:59

http://postgres.cn/docs/9.3/runtime-config-wal.html
18.5.1. 设置
wal_level (enum)
,如果任何生产?的影响是明显的,则是值得欢迎?的。

fsync (boolean)
当关闭fsync时通常是性能利益?, 这可能会导致发生断电或系统崩溃时不可恢复?数据丢失。

为了关闭fsync高质量硬件本身是不充分?的。

, 必须强制内核中所有被修改的缓冲区到?持久存储。

,关闭synchronous_commit 为非关键?的事务?可以提供关闭fsync的潜力性能优势,

synchronous_commit (enum)
,?可以有一定的延时(最大 延迟wal_writer_delay的3倍)。

;对于任何事务的行为 ?是由该设置提交生效时确定的。 因此,它是可能?的,

full_page_writes (boolean)
并且在建议?参数相同的情况下关闭这个选项。

commit_delay (integer)
,当刷新初始化的情况下?。

, 第一个过程准备刷新等待配置?延迟,而随后的过程仅仅等待?直到完成刷新操作。

18.5.2. 检查点
checkpoint_completion_target (floating point)
声明检查点完成的目标,作为检查点之间总时间的分数?。

18.5.3. 归档
archive_mode (boolean)
, 以致于archive_command不留?归档模式而被改变。

archive_command (string)
这个参数只能在postgresql.conf文件或服务器命令行上?。

,暂时禁用WAL归档, 但是服务器仍继续堆积WAL段文件期望?迅速提供一个命令?。
,有效地禁用归档, 但也为了归档恢复打破?了所需WAL文件链,

archive_timeout (integer)
,无论从剩余段文件切换过去多少秒?, 并且有任何的数据库活动,?包含一个单独的检查点

http://postgres.cn/docs/9.3/runtime-config-replication.html
18.6.1. 发送服务器
wal_keep_segments (integer)
如果备用服务器连接到发送服务器落后?于wal_keep_segments段,那么发送服务器可能会删除WAL段仍需要?待机状态,在这种情况下, 复制连接将被终止。下游连接也将最终失败,因为其结果?。

, 所以提供给备用服务器的旧WAL段数?是以前检查点定位函数?和WAL归档状态信息?。

18.6.2. 主服务器
synchronous_standby_names (string)
,个别事务可以配置?而不等待复制,

vacuum_defer_cleanup_age (integer)
,由于行早期?清除?而不会产生冲突。

18.6.3. 备用服务器
max_standby_streaming_delay (integer)
, 随后的冲突查询将有少得多的时间直到备用服务器再次追赶上?。

wal_receiver_status_interval (integer)
,或者至少?往往由这个参数所指定。

hot_standby_feedback (boolean)
反馈信息将不会被更频繁地发送超过一次wal_receiver_status_interval?。

如果级联复制是使用中的反馈通过上游直到它最终到达主机。?备用不作任何其他用途 反馈他们收到以外的其他上游传递。

http://postgres.cn/docs/9.3/runtime-config-query.html
18.7.2. 规划器开销常量
random_page_cost (floating point)
默认值可以作为模拟?随机存取比顺序存取慢40倍,而预计90%随机读取到?缓存中。

, 在缓冲?率很高的数据库上,

18.7.4. 其它规划器选项
constraint_exclusion (enum)
, 仅适用于那些通常用来实现表分区?情况。 在简单查询中为所有表强加额外开销计划而打开它是很明显的?, 并且经常会产生不受益于?简单查询。

cursor_tuple_fraction (floating point)
设置被检索的游标行分数?的规划器估计?。

http://postgres.cn/docs/9.3/runtime-config-logging.html
18.8.1. 在哪里记录日志
logging_collector (boolean)
, 该方法是只适用于低?日志卷,因为它没有提供方便的方式来旋转?日志文件。

,这种情况下?,? 但它不会阻止该系统的其余部分。

log_filename (string)
,不直接使用这个?系统的strftime,
,你应该计划使用日志旋转?程序以避免最终填充 整个磁盘。

,后缀?代替)。

log_truncate_on_rotation (boolean)
,但是如果日志文件尺寸大于 1GB 也旋转?日志。

在log_filename里包含%M 允许任何尺寸驱动的旋转?选取一个和开始的文件名同小时数但是名字不同的文件。

18.8.2. 什么时候记录日志
log_min_error_statement (enum)
, 表示所有导致错误、日志信息,致命错误、恐慌?的SQL语句都将被记录。

log_min_duration_statement (integer)
,语法分析、邦?定、执行每一步所花时间都分别记录。

18.8.3. 记录什么
application_name (string)
它也可以被包括在 通过?log_line_prefix参数的常规日志项中。

debug_print_parse (boolean)
debug_print_rewritten (boolean)
debug_print_plan (boolean)
当设置?,

debug_pretty_print (boolean)
,?比"紧凑型"格式更长的输出,

log_duration (boolean)
,语法分析、邦?定、执行每一步所花时间都分别记录。

log_lock_waits (boolean)
决定?如果锁等待造成很差的性能,

log_statement (enum)
,记录发生在接受到扩展信息并包含邦?定参数(内置单引号要双写)的时候。

log_temp_files (integer)
当它?被删除时,一个日志项有利?于每个临时文件。

18.8.4. 使用CSV-格式日志输出
2. 设置log_rotation_size为0以禁用基于大小的日志旋转?,

formula1

-- pais (sigla, nome)
CREATE TABLE pais (
sigla CHAR(2) NOT NULL,
nome VARCHAR(30) NOT NULL,
CONSTRAINT pk_pais PRIMARY KEY(sigla)
)

--equipe (codigo, nome, #sigla_pais)
--sigla_pais referencia pais (sigla)
CREATE TABLE equipe (
codigo SERIAL NOT NULL,
nome VARCHAR(30) NOT NULL,
sigla_pais CHAR(2) NOT NULL,
CONSTRAINT pk_equipe PRIMARY KEY(codigo),
CONSTRAINT fk_equipe_pais FOREIGN KEY(sigla_pais) REFERENCES pais(sigla)
);

--circuito (codigo, nome, #sigla_pais)
--sigla_pais referencia pais (sigla)
CREATE TABLE circuito (
codigo SERIAL NOT NULL,
nome VARCHAR(30) NOT NULL,
sigla_pais CHAR(2) NOT NULL,
CONSTRAINT pk_circuito PRIMARY KEY(codigo),
CONSTRAINT fk_circuito_pais FOREIGN KEY(sigla_pais) REFERENCES pais(sigla)
);
--piloto (codigo, nome, #sigla_pais, #codigo_equipe)
--sigla_pais referencia pais (sigla)
--codigo_equipe referencia equipe (codigo)
CREATE TABLE piloto (
codigo SERIAL NOT NULL,
nome VARCHAR(30) NOT NULL,
sigla_pais CHAR(2) NOT NULL,
codigo_equipe INT NOT NULL,
CONSTRAINT pk_piloto PRIMARY KEY(codigo),
CONSTRAINT fk_piloto_pais FOREIGN KEY (sigla_pais) REFERENCES pais(sigla),
CONSTRAINT fk_piloto_equipe FOREIGN KEY (codigo_equipe) REFERENCES equipe(codigo)
);
--corrida (data, #cod_circuito)
--cod_circuito referencia circuito (codigo)

CREATE TABLE corrida (
data DATE NOT NULL,
codigo_circuito INT NOT NULL,
CONSTRAINT pk_corrida PRIMARY KEY(data),
CONSTRAINT fk_corrida_circuito FOREIGN KEY (codigo_circuito) REFERENCES circuito(codigo)
);
--piloto_corrida (#cod_piloto, #data_corrida, posição, tempo)
--cod_piloto referencia piloto (codigo)
--data_corrida referencia corrida (data
CREATE TABLE piloto_corrida (
posicao INT NOT NULL,
tempo TIME NOT NULL,
codigo_piloto INT NOT NULL,
data_corrida DATE NOT NULL,
CONSTRAINT pk_piloto_corrida PRIMARY KEY(codigo_piloto, data_corrida),
CONSTRAINT fk_pc_piloto FOREIGN KEY (codigo_piloto) REFERENCES piloto(codigo),
CONSTRAINT fk_pc_corrida FOREIGN KEY (data_corrida) REFERENCES corrida(data)
);

”5.9.2. 实现分区“中的翻译

我们决定值保留最近三年的有用数据……
原文: we decide to only keep the most recent……
这里“我们决定值保留”应该是笔误,应该为“我们决定只保留”

Found typos from document

I found some typos from below URL:
http://www.postgres.cn/docs/11/catalog-pg-collation.html

Wrong text:
注意在这个目录中的唯一键是(collname、 collencoding、 collencoding), 不仅仅是(collname,collencoding)

Correct text should be:
注意在这个目录中的唯一键是(collname、 collnamespace、 collencoding), 不仅仅是(collname,collnamespace)

Note that above typos only exist in PG11 doc, In PG10 doc, the translation is correct !

create_server无实质性变化

diff结果如下,不需要翻译,已经在wiki中更新了翻译进度。

➜  pgdoc-cn git:(master) diff ../postgresql-10.1_std/ref/create_server.sgml ../postgresql-11.2/doc/src/sgml/ref/create_server.sgml
6c6
< <refentry id="SQL-CREATESERVER">
---
> <refentry id="sql-createserver">
24c24
< CREATE SERVER [IF NOT EXISTS] <replaceable class="parameter">server_name</replaceable> [ TYPE '<replaceable class="parameter">server_type</replaceable>' ] [ VERSION '<replaceable class="parameter">server_version</replaceable>' ]
---
> CREATE SERVER [ IF NOT EXISTS ] <replaceable class="parameter">server_name</replaceable> [ TYPE '<replaceable class="parameter">server_type</replaceable>' ] [ VERSION '<replaceable class="parameter">server_version</replaceable>' ]

make postgres.rtf一直卡主不动

make postgres.rtf一直卡主不动,试了很多次,每次至少有半小时,请问哪里可以看到类似日志的东西啊,我不知道这个问题是怎么发生的,又应该怎么解决呢

事务一节,开启事务用begin?

BEGIN;
UPDATE accounts SET balance = balance - 100.00
WHERE name = 'Alice';
-- 等等
COMMIT;

这是怕是该:
START TRANSACTION;
UPDATE accounts SET balance = balance - 100.00
WHERE name = 'Alice';
-- 等等
COMMIT;

阅读过程中发现的翻译小错误-HPJ

非常感谢此项目组成员的努力与辛苦,才得以看到中文版本的帮助手册文件.
在查看的过程中, 对于已经发现的几处小错误进行了记录, 以便使得手册文件更加准确.

时间: 2017/07/23
作者: 何鹏举
文件: PostgreSQL9.6.0-CN-v1.0.pdf
阅读: P1 -> P550

简要叙述如下,详细见附件word文档:
P63: 逐渐 -> 主键
P101: 先忽略吗? 实测先OFFSET,再LIMIT的
P264: 返回空值
P280: 客户端/服务器
P387: 访问多了一个
P484: 极其 -> 及其
P504: 哦都市 -> 都是, 此段中还有一段忘掉删除或注释的英文.
P531: 未翻译英文
P535: 空值 -> 控制

PostgreSQL查看发现的小错记录_HPJ_20170723.docx

一个简单的 typo, 请修改.

http://postgres.cn/docs/9.6/sql-copy.html
文本格式

在使用text格式时,读取或写入的是一个文本文件, 其中每一行就是表中的一行。一行中的列被定界字符分隔。列值 本身是由输出函数产生的或者是可被输入函数接受的属于每个属性 数据类型的字符串。在为空值的列的位置使用指定的空值串。如果 输入文件的任何行包含比预期更多或者更少的列, COPY FROM将会抛出一个错误。如 果指定了OIDS,在处理用户数据列<志气啊>, 会从第一列读取 OID 或者把 OID 写入第一列。

其中应该是 之前

因为公司网络问题没法自己修改, 就提个issue了.

”4.3.3. 使用混合表示法“一节中的翻译

”在上面的查询中,参数a和uppercase是用位置声明的,而 uppercase是用名称声明的。“
原文:”In the above query, the arguments a and b are specified positionally, while uppercase is specified by name. “
所以翻译应该为“在上面的查询中,参数a和b是用位置声明的……”?

“5.9.4. 分区和约束排除”中的翻译

constraint_exclusion缺省(和建议)设置事实上不是on 也不是off,但是中间设置调用partition,导致很可能要工作在分区表上的技术只适用于查询。
原文:The default (and recommended) setting of constraint_exclusion is actually neither on nor off, but an intermediate setting called partition, which causes the technique to be applied only to queries that are likely to be working on partitioned tables.
“but an intermediate setting called partition”翻译成“而是介于两者之间的一个叫作partition的设置”似乎更通顺一些。

5.8.3少翻译一段

The ability to create like-named objects in different schemas complicates writing a query that references precisely the same objects every time. It also opens up the potential for users to change the behavior of other users' queries, maliciously or accidentally. Due to the prevalence of unqualified names
in queries and their use in PostgreSQL internals, adding a schema to search_path effectively trusts
all users having CREATE privilege on that schema. When you run an ordinary query, a malicious user
able to create objects in a schema of your search path can take control and execute arbitrary SQL
functions as though you executed them

" gmake: command not found"

hi.

root@localhost:/pgdoc-cn-site/postgresql-9.3.1/doc/src/sgml# gmake html
-bash: gmake: command not found
root@localhost:
/pgdoc-cn-site/postgresql-9.3.1/doc/src/sgml#

gmake是个什么命令?如何解决?

我觉得翻译的文档结构组织有些问题

文档结构使得查找变更困难.

  1. 英文原版的注释掺杂在翻译文稿中 体验不好.
    按wiki, 现在我们如果尝试翻译, 需要下载wiki中提供的源码, 人工比对:
  • 源码中doc下sgml文件
  • pgdoc-cn的sgml文件
    事实是pgdoc-cn的sgml文件包含着中文翻译的同时也保留着英文原文的注释, 这样diff的体验不好.
    但不包含英文原文又会使得pull request之后的审阅变得困难, 因为这样会不知道这次pull request变更的英文原文, 使得审阅翻译困难.
  1. 增加翻译起点版本和目标版本的tag
    我们都在使用git, 包括postgres, 所以我们应该指明这一版本翻译基于哪个release tag, 包括上一版本是基于哪个tag. 有了这两个tag, 我们可以比对前后的文档改动, 甚至包括postgres源代码上的改动.
    这方便在postgres官方repo上diff查看变更, 也利于翻译(假如翻译过程中需要查看源代码帮助理解).

我的方案是:

  1. 从翻译的sgml文件中删去英文原文注释.
  2. 工程中加入英文sgml文件夹, 是翻译起点的sgml(如我们翻译10.1, 一开始英文sgml是9.6), 保留上一个版本的sgml方便与新的英文sgml进行diff, 找到变更点.
  3. 每次翻译一个文件时 同时更新英文sgml和中文sgml, 这样每个commit和pull request中改动一目了然.
  4. 保留新版源码包tar.gz的下载地址.

这样还有一个好处: postgres源码repo过于巨大(我挂vpn 100KB/s clone 了3h+ 虽然在clone时可以缩小范围), 翻译者通常只需要 clone pgdoc-cn 就可以了, 而且可以不用在意翻译的起点对应的是哪个tag. 而且可以比对新版源码包中的sgml和pgdoc-cn的源码包, 找到变更点.

”5.8. 继承“中的翻译

你也可以在表名后面写一个*显示指定包括所有后代表
原文:You can also write the table name with a trailing * to explicitly specify that ……
这里的”显示“应该是笔误,应该是”显式“

对于超大的段落(para),sgml中的注释和译文离得比较远

问题

个别sgml注释和译文离得很远,比如client-auth.sgml中下面的这段:

client-auth.sgml(当前):

<!--==========================orignal english content==========================
  <para>
   A record can have one of the seven formats
...(这里省掉几百行)
    <varlistentry>
     <term><replaceable>auth-options</replaceable></term>
     <listitem>
      <para>
       After the <replaceable>auth-method</replaceable> field, there can be field(s) of
       the form <replaceable>name</replaceable><literal>=</literal><replaceable>value</replaceable> that
       specify options for the authentication method. Details about which
       options are available for which authentication methods appear below.
      </para>

      <para>
       In addition to the method-specific options listed below, there is one
       method-independent authentication option <literal>clientcert</literal>, which
       can be specified in any <literal>hostssl</literal> record.  When set
       to <literal>1</literal>, this option requires the client to present a valid
       (trusted) SSL certificate, in addition to the other requirements of the
       authentication method.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
____________________________________________________________________________-->
  <para>
   记录可以是下面七种格式之一:
...(这里省掉几百行)
    <varlistentry>
     <term><replaceable>auth-options</replaceable></term>
     <listitem>
      <para>
       在<replaceable>auth-method</replaceable>域的后面,可以是形如<replaceable>name</replaceable><literal>=</literal><replaceable>value</replaceable>的域,它们指定认证方法的选项。关于哪些认证方法可以用哪些选项的细节请见下文。
      </para>
      
      <para>
       除了下文列出的与方法相关的选项之外,还有一个与方法无关的认证选项<literal>clientcert</literal>,它可以在任何<literal>hostssl</literal>记录中指定。当被设置为<literal>1</literal>时,这个选项要求客户端在认证方法的其他要求之外出示一个有效的(可信的)SSL 证书。
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>

这不方便人工对比译文和原始译文。下面的形式更符合我们的预期

client-auth.sgml(期望):

<!--==========================orignal english content==========================
  <para>
   A record can have one of the seven formats
____________________________________________________________________________-->
  <para>
   记录可以是下面七种格式之一:
...
    <varlistentry>
     <term><replaceable>auth-options</replaceable></term>
     <listitem>
<!--==========================orignal english content==========================
      <para>
       After the <replaceable>auth-method</replaceable> field, there can be field(s) of
       the form <replaceable>name</replaceable><literal>=</literal><replaceable>value</replaceable> that
       specify options for the authentication method. Details about which
       options are available for which authentication methods appear below.
      </para>
____________________________________________________________________________-->
      <para>
       在<replaceable>auth-method</replaceable>域的后面,可以是形如<replaceable>name</replaceable><literal>=</literal><replaceable>value</replaceable>的域,它们指定认证方法的选项。关于哪些认证方法可以用哪些选项的细节请见下文。
      </para>
      
<!--==========================orignal english content==========================
      <para>
       In addition to the method-specific options listed below, there is one
       method-independent authentication option <literal>clientcert</literal>, which
       can be specified in any <literal>hostssl</literal> record.  When set
       to <literal>1</literal>, this option requires the client to present a valid
       (trusted) SSL certificate, in addition to the other requirements of the
       authentication method.
      </para>
____________________________________________________________________________-->
      <para>
       除了下文列出的与方法相关的选项之外,还有一个与方法无关的认证选项<literal>clientcert</literal>,它可以在任何<literal>hostssl</literal>记录中指定。当被设置为<literal>1</literal>时,这个选项要求客户端在认证方法的其他要求之外出示一个有效的(可信的)SSL 证书。
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>

原因

目前很多英文原文注释是通过脚本自动加入的。脚本加注释有一个重要的原则,只对完整的tag加注释。client-auth.sgml之所以被这样加,是因为这个sgml里出现了嵌套的para,所以脚本只在最外层的para上加注释,只能怪这个最外层的para太长了,有200多行,所以看上去有点奇怪。

<para>
xxxx
  <para>yyyy</para>
</para>

注释脚本处理规则请参考
https://github.com/postgres-cn/pgdoc-cn/wiki/translating_rule

处理建议

可以人工进行调整。但是不建议这么做,因为以后注释可能会被自动脚本重新覆盖掉。文档发布前计划用注释工具做一次全文档的注释删除再添加,目的主要是检查中文文档和英文原始文档在段落上是否一致,另外也可以避免人工添加的注释有遗漏。

另外一种解决办法是优化注释脚本,但是这个问题确实难以处理。而且,毕竟这种情况只是少数,所以暂时保留当前自动化注释脚本的风格。

func.sgml 表 9.37. cidr和inet函数 inet_same_family 中文描述有误?

中文翻译:
inet_same_family(inet, inet) | boolean |### 地址来自同一个网段吗? | inet_same_family('192.168.1.5/24', '::1') | false
英文原文:
are the addresses from the same family?
测试只要对比的两个inet是不是同一网段,只要都是ipv4或者都是ipv6的结果都为true,所以这个意思应该是判断两个inet是否同一网络族

postgres.cn访问不了

首页还可以打开,但是内容打不开了,比如:http://www.postgres.cn/docs/9.3/sql-savepoint.html
提示如下:

该网站暂时无法访问

尊敬的用户,您好

很抱歉,该网站暂时无法访问,可能由以下原因导致:

原因一:未备案或未接入;根据《非经营性互联网信息服务备案管理办法》,网站需要完成备案或接入。

原因二:网站内容与备案信息不符或备案信息不准确;根据《非经营性互联网信息服务备案管理办法》,网站内容需要与备案信息一致,且备案信息需真实有效。建议网站管理员尽快修改网站信息。

备案管理平台点此进入 ,购买云服务器享30元/月超低价

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.