↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 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 13 已结束支持。 2025-11-13. 请参阅 当前版本手册.

第 53 章 PostgreSQL 编码约定

53.1. 格式 #

源代码格式使用 4 列制表宽度,并保留制表符(即,不会把制表符展开为空格)。每个逻辑缩进层级都对应再增加一个制表位。

布局规则(花括号位置等)遵循 BSD 约定。特别是,if、while、switch 等控制语句所对应代码块的花括号都单独占一行。

应限制行长度,使代码在 80 列窗口中可读。(这并不是说绝不能超过 80 列。例如,仅仅为了让代码保持在 80 列内而任意拆开一条很长的错误消息字符串,未必会提升可读性。)

为了保持一致的编码风格,不要使用 C++ 风格注释(// 注释)。pgindent 会把它们替换为 /* ... */。

多行注释块的首选样式是

/*
 * comment text begins here
 * and continues here
 */

注意,从第 1 列开始的注释块会被 pgindent 原样保留,但它会把缩进的注释块当作普通文本重新排版。如果想保留缩进块中的换行,请像下面这样加上横线:

    /*----------
     * comment text begins here
     * and continues here
     *----------
     */

尽管提交的补丁并不绝对必须遵循这些格式规则,但这样做是个好主意。你的代码会在下一个版本发布前经过 pgindent 处理,因此按另一套格式约定把它写得再漂亮也没有意义。补丁的一个经验法则是“让新代码看起来像周围现有的代码”。

src/tools 目录中包含可供 emacs、xemacs 或 vim 编辑器使用的示例设置文件,以帮助确保它们按这些约定格式化代码。

文本浏览工具 more 和 less 可以这样调用:

more -x4
less -x4

以便正确显示制表符。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.