From 10e960fb3974027cbf1ed9fb9cfe5234d1a45287 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter_e@gmx.net>
Date: Sat, 11 Dec 2004 19:09:08 +0000
Subject: [PATCH] Translation updates

---
 src/backend/po/zh_CN.po            | 3797 +++++++++++++++-------------
 src/bin/initdb/po/zh_CN.po         |  282 ++-
 src/bin/pg_config/nls.mk           |    4 +-
 src/bin/pg_config/po/zh_CN.po      |  162 ++
 src/bin/pg_controldata/po/zh_CN.po |   99 +-
 src/bin/pg_ctl/po/zh_CN.po         |  490 ++--
 src/bin/pg_dump/po/zh_CN.po        |  563 +++--
 src/bin/pg_resetxlog/po/zh_CN.po   |  122 +-
 src/bin/psql/po/zh_CN.po           |  642 +++--
 src/bin/scripts/po/zh_CN.po        |   26 +-
 src/interfaces/libpq/po/zh_CN.po   |  329 ++-
 11 files changed, 3576 insertions(+), 2940 deletions(-)
 create mode 100644 src/bin/pg_config/po/zh_CN.po

diff --git a/src/backend/po/zh_CN.po b/src/backend/po/zh_CN.po
index 289030b7855..17578ba8e29 100644
--- a/src/backend/po/zh_CN.po
+++ b/src/backend/po/zh_CN.po
@@ -1,13 +1,13 @@
 # simplified Chinese translation file for PostgreSQL server
 # Weiping He <laser@zhengmai.com.cn>, 2001.
 #
-# $PostgreSQL: pgsql/src/backend/po/zh_CN.po,v 1.8 2004/09/13 20:53:10 petere Exp $
+# $PostgreSQL: pgsql/src/backend/po/zh_CN.po,v 1.9 2004/12/11 19:08:56 petere Exp $
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 7.5\n"
+"Project-Id-Version: PostgreSQL 8.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-09-13 11:21+0000\n"
+"POT-Creation-Date: 2004-12-02 10:00+0000\n"
 "PO-Revision-Date: 2003-09-15 13:49:24+0800\n"
 "Last-Translator: Bao Wei <weibao@qmail.zhengmai.net.cn>\n"
 "Language-Team: Weiping He <laser@zhengmai.com.cn>\n"
@@ -16,38 +16,37 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 
 #: lib/dllist.c:43 lib/dllist.c:88 libpq/auth.c:637
-#: utils/adt/oracle_compat.c:73 utils/adt/oracle_compat.c:124
-#: utils/adt/ri_triggers.c:3459 utils/adt/cash.c:297 utils/adt/cash.c:312
-#: utils/adt/regexp.c:191 utils/fmgr/dfmgr.c:127 utils/fmgr/fmgr.c:521
-#: utils/fmgr/fmgr.c:532 utils/init/miscinit.c:186 utils/init/miscinit.c:207
-#: utils/init/miscinit.c:217 utils/misc/guc.c:1868 utils/misc/guc.c:1881
-#: utils/misc/guc.c:1894 utils/mmgr/aset.c:335 utils/mmgr/aset.c:501
-#: utils/mmgr/aset.c:698 utils/mmgr/aset.c:891 utils/mmgr/portalmem.c:75
+#: utils/adt/oracle_compat.c:73 utils/adt/oracle_compat.c:125
+#: utils/adt/ri_triggers.c:3472 utils/adt/cash.c:297 utils/adt/cash.c:312
+#: utils/adt/regexp.c:200 utils/fmgr/dfmgr.c:127 utils/fmgr/fmgr.c:528
+#: utils/hash/dynahash.c:178 utils/hash/dynahash.c:248
+#: utils/init/miscinit.c:213 utils/init/miscinit.c:234
+#: utils/init/miscinit.c:244 utils/misc/guc.c:1909 utils/misc/guc.c:1922
+#: utils/misc/guc.c:1935 utils/mmgr/aset.c:337 utils/mmgr/aset.c:503
+#: utils/mmgr/aset.c:700 utils/mmgr/aset.c:893 utils/mmgr/portalmem.c:78
 #: utils/cache/typcache.c:165 utils/cache/typcache.c:487
-#: utils/cache/relcache.c:164 utils/cache/relcache.c:178
-#: utils/cache/relcache.c:1130 storage/ipc/sinval.c:774 storage/file/fd.c:587
-#: storage/file/fd.c:620 storage/file/fd.c:766 storage/lmgr/lock.c:497
-#: storage/smgr/md.c:138 storage/smgr/md.c:848 storage/smgr/smgr.c:213
-#: storage/buffer/localbuf.c:139 commands/sequence.c:800
-#: executor/execGrouping.c:328 executor/execGrouping.c:388
-#: executor/nodeIndexscan.c:1051 postmaster/postmaster.c:808
-#: postmaster/postmaster.c:1696 postmaster/postmaster.c:2415
-#: postmaster/pgstat.c:1006 postmaster/pgstat.c:1023 postmaster/pgstat.c:2452
-#: postmaster/pgstat.c:2527 postmaster/pgstat.c:2572 postmaster/pgstat.c:2623
+#: utils/cache/relcache.c:169 utils/cache/relcache.c:183
+#: utils/cache/relcache.c:1135 storage/ipc/sinval.c:789 storage/file/fd.c:587
+#: storage/file/fd.c:620 storage/file/fd.c:766 storage/lmgr/lock.c:494
+#: storage/smgr/md.c:844 storage/smgr/smgr.c:213 storage/buffer/localbuf.c:139
+#: commands/sequence.c:794 executor/execGrouping.c:384
+#: postmaster/postmaster.c:809 postmaster/postmaster.c:1679
+#: postmaster/postmaster.c:2398 postmaster/pgstat.c:2432
+#: postmaster/pgstat.c:2499
 msgid "out of memory"
 msgstr "内存用尽"
 
-#: main/main.c:94
+#: main/main.c:99
 #, c-format
 msgid "%s: setsysinfo failed: %s\n"
 msgstr "%s: setsysinfo 失败: %s\n"
 
-#: main/main.c:112
+#: main/main.c:117
 #, c-format
 msgid "%s: WSAStartup failed: %d\n"
 msgstr "%s: WSAStartup 失败: %d\n"
 
-#: main/main.c:215
+#: main/main.c:217
 msgid ""
 "\"root\" execution of the PostgreSQL server is not permitted.\n"
 "The server must be started under an unprivileged user ID to prevent\n"
@@ -59,41 +58,45 @@ msgstr ""
 "可能的系统安全性问题. 参阅文档获取更多\n"
 "有关如何正确启动服务器的信息.\n"
 
-#: main/main.c:234
+#: main/main.c:236
 #, c-format
 msgid "%s: real and effective user IDs must match\n"
 msgstr "%s: 真实和有效用户标识必须相互匹配\n"
 
-#: main/main.c:241
+#: main/main.c:243
 msgid ""
-"execution of PostgreSQL by a user with administrative permissions is not "
+"Execution of PostgreSQL by a user with administrative permissions is not\n"
 "permitted.\n"
 "The server must be started under an unprivileged user ID to prevent\n"
-"possible system security compromise.  See the documentation for\n"
+"possible system security compromises.  See the documentation for\n"
 "more information on how to properly start the server.\n"
 msgstr ""
+"不允许管理员权限的用户运行 PostgreSQL 服务器.\n"
+"服务器必须以一个非特权的用户身份启动以避免\n"
+"可能的系统安全性问题. 参阅文档获取更多\n"
+"有关如何正确启动服务器的信息.\n"
 
-#: main/main.c:301
+#: main/main.c:314
 #, c-format
 msgid "%s: invalid effective UID: %d\n"
 msgstr "%s: 无效 UID: %d\n"
 
-#: main/main.c:314
+#: main/main.c:327
 #, c-format
 msgid "%s: could not determine user name (GetUserName failed)\n"
 msgstr "%s: 无法确定用户名称 (GetUserName 失败)\n"
 
-#: port/pg_shmem.c:94 port/sysv_shmem.c:94
+#: port/pg_shmem.c:101 port/sysv_shmem.c:101
 #, c-format
 msgid "could not create shared memory segment: %m"
 msgstr "无法创建共享内存段: %m"
 
-#: port/pg_shmem.c:95 port/sysv_shmem.c:95
+#: port/pg_shmem.c:102 port/sysv_shmem.c:102
 #, c-format
 msgid "Failed system call was shmget(key=%lu, size=%u, 0%o)."
 msgstr "shmget(key=%lu, size=%u, 0%o) 系统调用失败."
 
-#: port/pg_shmem.c:99 port/sysv_shmem.c:99
+#: port/pg_shmem.c:106 port/sysv_shmem.c:106
 #, c-format
 msgid ""
 "This error usually means that PostgreSQL's request for a shared memory "
@@ -109,7 +112,7 @@ msgid ""
 "configuration."
 msgstr ""
 
-#: port/pg_shmem.c:112 port/sysv_shmem.c:112
+#: port/pg_shmem.c:119 port/sysv_shmem.c:119
 #, c-format
 msgid ""
 "This error usually means that PostgreSQL's request for a shared memory "
@@ -120,7 +123,7 @@ msgid ""
 "configuration."
 msgstr ""
 
-#: port/pg_shmem.c:121 port/sysv_shmem.c:121
+#: port/pg_shmem.c:128 port/sysv_shmem.c:128
 #, c-format
 msgid ""
 "This error does *not* mean that you have run out of disk space. It occurs "
@@ -134,44 +137,40 @@ msgid ""
 "configuration."
 msgstr ""
 
-#: port/win32/signal.c:227
+#: port/pg_shmem.c:408 port/sysv_shmem.c:408
 #, c-format
-msgid "failed to create signal listener pipe: %d. Retrying.\n"
-msgstr ""
+msgid "could not stat data directory \"%s\": %m"
+msgstr "无法取目录 \"%s\" 状态: %m"
 
-#: port/win32/signal.c:239
+#: port/win32/signal.c:173
 #, c-format
-msgid "failed to create signal dispatch thread: %d\n"
-msgstr "创建杀死线程的信号失败: %d\n"
+msgid "could not create signal listener pipe for pid %d: error code %d"
+msgstr "无法为进程 (pid) %d 创建信号监听管道: 错误码为 %d"
 
-#: port/win32/security.c:39
+#: port/win32/signal.c:253
 #, c-format
-msgid "failed to open process token: %d\n"
-msgstr "打开进程令牌 (token) 失败: %d\n"
-
-#: port/win32/security.c:46
-msgid "failed to get token information - got zero size!\n"
-msgstr "获取令牌 (token) 信息失败 - 获得的大小为零!\n"
+msgid "could not create signal listener pipe: error code %d; retrying\n"
+msgstr "无法创建信号监听管道: 错误码 %d; 重试\n"
 
-#: port/win32/security.c:52 port/win32/security.c:69
+#: port/win32/signal.c:266
 #, c-format
-msgid "failed to get token information: %d\n"
-msgstr "获取令牌 (token) 信息失败: %d\n"
+msgid "could not create signal dispatch thread: error code %d\n"
+msgstr "无法创建信号发送线程: 错误码 %d\n"
 
-#: port/win32/security.c:60
+#: port/win32/security.c:43
 #, c-format
-msgid "failed to allocate %i bytes for token information!\n"
-msgstr "为令牌 (token) 信息分配 %i 字节失败!\n"
+msgid "could not open process token: error code %d\n"
+msgstr "无法打开进程令牌 (token): 错误码 %d\n"
 
-#: port/win32/security.c:80
+#: port/win32/security.c:63
 #, c-format
-msgid "failed to get SID for Administrators group: %d\n"
-msgstr "获取管理员组的 SID 失败: %d\n"
+msgid "could not get SID for Administrators group: error code %d\n"
+msgstr "无法获取管理员组的 SID: 错误码 %d\n"
 
-#: port/win32/security.c:89
+#: port/win32/security.c:72
 #, c-format
-msgid "failed to get SID for PowerUsers group: %d\n"
-msgstr "获取超级用户组的 SID 失败: %d\n"
+msgid "could not get SID for PowerUsers group: error code %d\n"
+msgstr "无法获取超级用户组的 SID: 错误码 %d\n"
 
 #: port/sysv_sema.c:117 port/pg_sema.c:117
 #, c-format
@@ -204,12 +203,12 @@ msgid ""
 msgstr ""
 "你可能需要增加内核的 SEMVMX 值至少为 %d. 详细信息请查找 PostgreSQL 文档."
 
-#: tcop/fastpath.c:106 tcop/fastpath.c:449 tcop/fastpath.c:572
+#: tcop/fastpath.c:106 tcop/fastpath.c:444 tcop/fastpath.c:567
 #, c-format
 msgid "invalid argument size %d in function call message"
-msgstr ""
+msgstr "在函数调用信息中, 参数大小 %d 是无效的"
 
-#: tcop/fastpath.c:186 tcop/fastpath.c:516 tcop/postgres.c:1480
+#: tcop/fastpath.c:186 tcop/fastpath.c:511 tcop/postgres.c:1490
 #: access/common/printtup.c:296
 #, c-format
 msgid "unsupported format code: %d"
@@ -220,113 +219,113 @@ msgstr "
 msgid "function with OID %u does not exist"
 msgstr "OID 为 %u 的函数不存在"
 
-#: tcop/fastpath.c:291 tcop/postgres.c:284 tcop/postgres.c:307
+#: tcop/fastpath.c:291 tcop/postgres.c:287 tcop/postgres.c:310
 #: commands/copy.c:403 commands/copy.c:421 commands/copy.c:425
 #: commands/copy.c:486 commands/copy.c:535
 msgid "unexpected EOF on client connection"
 msgstr "在客户端联接上的意外 EOF"
 
-#: tcop/fastpath.c:304 tcop/postgres.c:845 tcop/postgres.c:1166
-#: tcop/postgres.c:1650
+#: tcop/fastpath.c:304 tcop/postgres.c:854 tcop/postgres.c:1176
+#: tcop/postgres.c:1660
 msgid ""
 "current transaction is aborted, commands ignored until end of transaction "
 "block"
 msgstr "当前事务被终止, 事务块结束之前的查询被忽略"
 
-#: tcop/fastpath.c:419 tcop/fastpath.c:542
+#: tcop/fastpath.c:414 tcop/fastpath.c:537
 #, c-format
 msgid "function call message contains %d arguments but function requires %d"
 msgstr "函数调用信息包含 %d 个参数, 但函数需要 %d 个"
 
-#: tcop/fastpath.c:427
+#: tcop/fastpath.c:422
 #, c-format
 msgid "function call message contains %d argument formats but %d arguments"
 msgstr "函数调用信息为包含 %d 个参数的格式, 但给定了 %d 个参数"
 
-#: tcop/fastpath.c:510 tcop/fastpath.c:595
+#: tcop/fastpath.c:505 tcop/fastpath.c:590
 #, c-format
 msgid "incorrect binary data format in function argument %d"
 msgstr "函数参数 %d 为不正确的二进制数据格式"
 
-#: tcop/pquery.c:409
+#: tcop/pquery.c:448
 #, c-format
 msgid "bind message has %d result formats but query has %d columns"
 msgstr ""
 
-#: tcop/pquery.c:481 tcop/pquery.c:1021 commands/portalcmds.c:337
+#: tcop/pquery.c:523 tcop/pquery.c:1096 commands/portalcmds.c:346
 #, c-format
 msgid "portal \"%s\" cannot be run"
 msgstr "入口 \"%s\" 不可以运行"
 
-#: tcop/pquery.c:698
+#: tcop/pquery.c:771
 msgid "cursor can only scan forward"
 msgstr "游标能够只向前扫描"
 
-#: tcop/pquery.c:699
+#: tcop/pquery.c:772
 msgid "Declare it with SCROLL option to enable backward scan."
 msgstr "带 SCROLL 选项声明允许向后扫描"
 
-#: tcop/postgres.c:334 tcop/postgres.c:346 tcop/postgres.c:357
-#: tcop/postgres.c:369 tcop/postgres.c:3175
+#: tcop/postgres.c:337 tcop/postgres.c:349 tcop/postgres.c:360
+#: tcop/postgres.c:372 tcop/postgres.c:3218
 #, c-format
 msgid "invalid frontend message type %d"
 msgstr "无效前端信息类型 %d"
 
-#: tcop/postgres.c:468 tcop/postgres.c:503 tcop/postgres.c:514
+#: tcop/postgres.c:473 tcop/postgres.c:510 tcop/postgres.c:522
 #, c-format
 msgid "statement: %s"
 msgstr "语句: %s"
 
-#: tcop/postgres.c:1008
+#: tcop/postgres.c:1018
 #, c-format
 msgid "duration: %ld.%03ld ms"
 msgstr "执行时间: %ld.%03ld ms"
 
-#: tcop/postgres.c:1021
+#: tcop/postgres.c:1031
 #, c-format
 msgid "duration: %ld.%03ld ms  statement: %s"
 msgstr "执行时间: %ld.%03ld ms  语句: %s"
 
-#: tcop/postgres.c:1129
+#: tcop/postgres.c:1139
 msgid "cannot insert multiple commands into a prepared statement"
 msgstr "无法插入多条命令到一个准备好的语句中"
 
-#: tcop/postgres.c:1194 parser/analyze.c:3141
+#: tcop/postgres.c:1204 parser/analyze.c:3149
 #, c-format
 msgid "could not determine data type of parameter $%d"
 msgstr "无法确定参数 $%d 的数据类型"
 
-#: tcop/postgres.c:1332
+#: tcop/postgres.c:1342
 #, c-format
 msgid "bind message has %d parameter formats but %d parameters"
 msgstr ""
 
-#: tcop/postgres.c:1345 tcop/postgres.c:1727
+#: tcop/postgres.c:1355 tcop/postgres.c:1737
 msgid "unnamed prepared statement does not exist"
 msgstr "未命名的准备语句不存在"
 
-#: tcop/postgres.c:1351
+#: tcop/postgres.c:1361
 #, c-format
 msgid ""
 "bind message supplies %d parameters, but prepared statement \"%s\" requires %"
 "d"
 msgstr ""
 
-#: tcop/postgres.c:1473
+#: tcop/postgres.c:1483
 #, c-format
 msgid "incorrect binary data format in bind parameter %d"
 msgstr ""
 
-#: tcop/postgres.c:1581 tcop/postgres.c:1780
+#: tcop/postgres.c:1591 tcop/postgres.c:1790
 #, c-format
 msgid "portal \"%s\" does not exist"
 msgstr "入口 \"%s\" 不存在"
 
-#: tcop/postgres.c:1874
+#: tcop/postgres.c:1884
 msgid "terminating connection because of crash of another server process"
 msgstr "中断联接, 因为其它服务器进程崩溃"
 
-#: tcop/postgres.c:1875
+#: tcop/postgres.c:1885
 msgid ""
 "The postmaster has commanded this server process to roll back the current "
 "transaction and exit, because another server process exited abnormally and "
@@ -335,39 +334,39 @@ msgstr ""
 "Postmaster 命令此服务器进程回滚当前事物并退出, 因为其它服务器进程不正常的退出"
 "可能毁坏了共享内存."
 
-#: tcop/postgres.c:1879
+#: tcop/postgres.c:1889
 msgid ""
 "In a moment you should be able to reconnect to the database and repeat your "
 "command."
 msgstr "一会儿你将可以重联接数据库并且重复你的命令."
 
-#: tcop/postgres.c:1995
+#: tcop/postgres.c:2005
 msgid "floating-point exception"
 msgstr "浮点异常"
 
-#: tcop/postgres.c:1996
+#: tcop/postgres.c:2006
 msgid ""
 "An invalid floating-point operation was signaled. This probably means an out-"
 "of-range result or an invalid operation, such as division by zero."
 msgstr ""
 
-#: tcop/postgres.c:2032
+#: tcop/postgres.c:2042
 msgid "terminating connection due to administrator command"
 msgstr "由于管理员命令中断联接"
 
-#: tcop/postgres.c:2042
+#: tcop/postgres.c:2052
 msgid "canceling query due to user request"
 msgstr "由于用户请求取消查询"
 
-#: tcop/postgres.c:2093
+#: tcop/postgres.c:2103
 msgid "stack depth limit exceeded"
 msgstr ""
 
-#: tcop/postgres.c:2094
+#: tcop/postgres.c:2104
 msgid "Increase the configuration parameter \"max_stack_depth\"."
 msgstr "增加配置参数 \"max_stack_depth\"."
 
-#: tcop/postgres.c:2112
+#: tcop/postgres.c:2122
 #, c-format
 msgid ""
 "%s is the PostgreSQL stand-alone backend.  It is not\n"
@@ -378,7 +377,7 @@ msgstr ""
 " 不是普通用户有意使用的.\n"
 "\n"
 
-#: tcop/postgres.c:2114
+#: tcop/postgres.c:2124
 #, c-format
 msgid ""
 "Usage:\n"
@@ -389,92 +388,92 @@ msgstr ""
 "  %s [选项]... [数据库名]\n"
 "\n"
 
-#: tcop/postgres.c:2115 postmaster/postmaster.c:1088
+#: tcop/postgres.c:2125 postmaster/postmaster.c:1071
 #, c-format
 msgid "Options:\n"
 msgstr "选项:\n"
 
-#: tcop/postgres.c:2117 postmaster/postmaster.c:1090
+#: tcop/postgres.c:2127 postmaster/postmaster.c:1073
 #, c-format
 msgid "  -A 1|0          enable/disable run-time assert checking\n"
 msgstr "  -A 1|0          打开/关闭运行时断言检查\n"
 
-#: tcop/postgres.c:2119 postmaster/postmaster.c:1092
+#: tcop/postgres.c:2129 postmaster/postmaster.c:1075
 #, c-format
 msgid "  -B NBUFFERS     number of shared buffers\n"
 msgstr "  -B NBUFFERS     共享缓冲区的数量\n"
 
-#: tcop/postgres.c:2120 postmaster/postmaster.c:1093
+#: tcop/postgres.c:2130 postmaster/postmaster.c:1076
 #, c-format
 msgid "  -c NAME=VALUE   set run-time parameter\n"
 msgstr "  -c 名字=数值    设置运行时参数\n"
 
-#: tcop/postgres.c:2121
+#: tcop/postgres.c:2131
 #, c-format
 msgid "  -d 0-5          debugging level (0 is off)\n"
 msgstr "  -d 0-5          调试级别 (0 关闭)\n"
 
-#: tcop/postgres.c:2122 postmaster/postmaster.c:1095
+#: tcop/postgres.c:2132 postmaster/postmaster.c:1078
 #, c-format
 msgid "  -D DATADIR      database directory\n"
 msgstr "  -D 数据目录     数据库目录\n"
 
-#: tcop/postgres.c:2123
+#: tcop/postgres.c:2133
 #, c-format
 msgid "  -e              use European date input format (DMY)\n"
 msgstr "  -e              使用欧洲日期输入格式 (DMY)\n"
 
-#: tcop/postgres.c:2124
+#: tcop/postgres.c:2134
 #, c-format
 msgid "  -E              echo query before execution\n"
 msgstr "  -E              执行前显示查询\n"
 
-#: tcop/postgres.c:2125 postmaster/postmaster.c:1096
+#: tcop/postgres.c:2135 postmaster/postmaster.c:1079
 #, c-format
 msgid "  -F              turn fsync off\n"
 msgstr "  -F              关闭 fsync\n"
 
-#: tcop/postgres.c:2126
+#: tcop/postgres.c:2136
 #, c-format
 msgid "  -N              do not use newline as interactive query delimiter\n"
 msgstr "  -N              不使用新行作为交互查询的分隔符\n"
 
-#: tcop/postgres.c:2127
+#: tcop/postgres.c:2137
 #, c-format
 msgid "  -o FILENAME     send stdout and stderr to given file\n"
 msgstr "  -o FILENAME     把标准输出和标准错误发送到指定的文件中\n"
 
-#: tcop/postgres.c:2128
+#: tcop/postgres.c:2138
 #, c-format
 msgid "  -P              disable system indexes\n"
 msgstr "  -P              关闭系统索引\n"
 
-#: tcop/postgres.c:2129
+#: tcop/postgres.c:2139
 #, c-format
 msgid "  -s              show statistics after each query\n"
 msgstr "  -s              每个查询后显示统计信息\n"
 
-#: tcop/postgres.c:2130
+#: tcop/postgres.c:2140
 #, c-format
-msgid "  -S WORK-MEM     set amount of memory for sorts (in kbytes)\n"
-msgstr "  -S WORK-MEM     设置排序内存数量 (单位为 kbytes)\n"
+msgid "  -S WORK-MEM     set amount of memory for sorts (in kB)\n"
+msgstr "  -S WORK-MEM     设置排序内存数量 (单位为 kB)\n"
 
-#: tcop/postgres.c:2131
+#: tcop/postgres.c:2141
 #, c-format
 msgid "  --describe-config  describe configuration parameters, then exit\n"
 msgstr "  --describe-config  描述配置参数, 然后退出\n"
 
-#: tcop/postgres.c:2132 postmaster/postmaster.c:1107
+#: tcop/postgres.c:2142 postmaster/postmaster.c:1090
 #, c-format
 msgid "  --help          show this help, then exit\n"
 msgstr "  --help          显示此帮助信息, 然后退出\n"
 
-#: tcop/postgres.c:2133 postmaster/postmaster.c:1108
+#: tcop/postgres.c:2143 postmaster/postmaster.c:1091
 #, c-format
 msgid "  --version       output version information, then exit\n"
 msgstr "  --version       输出版本信息, 然后退出\n"
 
-#: tcop/postgres.c:2134 postmaster/postmaster.c:1110
+#: tcop/postgres.c:2144 postmaster/postmaster.c:1093
 #, c-format
 msgid ""
 "\n"
@@ -483,32 +482,32 @@ msgstr ""
 "\n"
 "开发人员选项:\n"
 
-#: tcop/postgres.c:2135
+#: tcop/postgres.c:2145
 #, c-format
 msgid "  -f s|i|n|m|h    forbid use of some plan types\n"
 msgstr "  -f s|i|n|m|h    禁止一些规划类型的使用\n"
 
-#: tcop/postgres.c:2136
+#: tcop/postgres.c:2146
 #, c-format
 msgid "  -i              do not execute queries\n"
 msgstr "  -i              不执行查询\n"
 
-#: tcop/postgres.c:2137
+#: tcop/postgres.c:2147
 #, c-format
 msgid "  -O              allow system table structure changes\n"
 msgstr "  -O              允许改变系统表结构\n"
 
-#: tcop/postgres.c:2138
+#: tcop/postgres.c:2148
 #, c-format
 msgid "  -t pa|pl|ex     show timings after each query\n"
 msgstr "  -t pa|pl|ex     每个查询后显示计时\n"
 
-#: tcop/postgres.c:2139
+#: tcop/postgres.c:2149
 #, c-format
 msgid "  -W NUM          wait NUM seconds to allow attach from a debugger\n"
 msgstr "  -W NUM          等待 NUM 秒, 以便允许调试器加入调试\n"
 
-#: tcop/postgres.c:2140
+#: tcop/postgres.c:2150
 #, c-format
 msgid ""
 "\n"
@@ -517,72 +516,59 @@ msgstr ""
 "\n"
 "错误报告至 <pgsql-bugs@postgresql.org>.\n"
 
-#: tcop/postgres.c:2265
+#: tcop/postgres.c:2314
 msgid "assert checking is not compiled in"
 msgstr "没有把断言 (assert) 检查编译进来"
 
-#: tcop/postgres.c:2505 postmaster/postmaster.c:498 bootstrap/bootstrap.c:302
+#: tcop/postgres.c:2533 postmaster/postmaster.c:549 bootstrap/bootstrap.c:299
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s 需要一个值"
 
-#: tcop/postgres.c:2510 postmaster/postmaster.c:503 bootstrap/bootstrap.c:307
+#: tcop/postgres.c:2538 postmaster/postmaster.c:554 bootstrap/bootstrap.c:304
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s 需要一个值"
 
-#: tcop/postgres.c:2578 postmaster/postmaster.c:950 bootstrap/bootstrap.c:335
-#, c-format
-msgid ""
-"%s does not know where to find the database system data.\n"
-"You must specify the directory that contains the database system\n"
-"either by specifying the -D invocation option or by setting the\n"
-"PGDATA environment variable.\n"
-msgstr ""
-"%s 不知道在哪里可以找到数据库系统数据.\n"
-"你必须通过 -D 选项指定或者通过设置\n"
-"PGDATA 环境变量声明包含数据库系统的目录.\n"
-"\n"
-
-#: tcop/postgres.c:2655
+#: tcop/postgres.c:2652
 msgid "invalid command-line arguments for server process"
 msgstr "服务器进程的无效命令行参数"
 
-#: tcop/postgres.c:2656 tcop/postgres.c:2672
+#: tcop/postgres.c:2653 tcop/postgres.c:2669
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "请用 \"%s --help\" 获取更多的信息."
 
-#: tcop/postgres.c:2670
+#: tcop/postgres.c:2667
 #, c-format
 msgid "%s: invalid command-line arguments"
 msgstr "%s: 无效的命令行参数"
 
-#: tcop/postgres.c:2680
+#: tcop/postgres.c:2677
 #, c-format
 msgid "%s: no database nor user name specified"
 msgstr "%s: 没有指定数据库, 也没有指定用户名"
 
-#: tcop/postgres.c:3088
+#: tcop/postgres.c:3131
 #, c-format
 msgid "invalid CLOSE message subtype %d"
 msgstr "无效的 CLOSE 信息子类型 %d"
 
-#: tcop/postgres.c:3118
+#: tcop/postgres.c:3161
 #, c-format
 msgid "invalid DESCRIBE message subtype %d"
 msgstr "无效的 DESCRIBE 信息子类型 %d"
 
-#: tcop/postgres.c:3298 nodes/print.c:86 storage/lmgr/deadlock.c:888
-#: commands/vacuumlazy.c:489 commands/vacuumlazy.c:770 commands/vacuum.c:2258
+#: tcop/postgres.c:3341 nodes/print.c:86 storage/lmgr/deadlock.c:888
+#: commands/vacuumlazy.c:517 commands/vacuumlazy.c:820 commands/vacuum.c:2257
 #, c-format
 msgid "%s"
-msgstr ""
+msgstr "%s"
 
-#: tcop/postgres.c:3359
+#: tcop/postgres.c:3402
 #, c-format
 msgid "disconnection: session time: %s%s%s%s%s"
-msgstr ""
+msgstr "联接断开: 会话时间: %s%s%s%s%s"
 
 #: tcop/utility.c:77
 #, c-format
@@ -590,8 +576,8 @@ msgid "table \"%s\" does not exist"
 msgstr "表 \"%s\" 不存在"
 
 #: tcop/utility.c:78 commands/trigger.c:141 commands/trigger.c:546
-#: commands/comment.c:341 commands/indexcmds.c:136 commands/indexcmds.c:937
-#: commands/tablecmds.c:539 commands/tablecmds.c:2592 commands/lockcmds.c:68
+#: commands/comment.c:341 commands/indexcmds.c:137 commands/indexcmds.c:951
+#: commands/tablecmds.c:544 commands/tablecmds.c:2624 commands/lockcmds.c:68
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "\"%s\" 不是一个表"
@@ -605,7 +591,7 @@ msgstr "
 msgid "sequence \"%s\" does not exist"
 msgstr "序列 \"%s\" 不存在"
 
-#: tcop/utility.c:83 commands/comment.c:334 commands/sequence.c:780
+#: tcop/utility.c:83 commands/comment.c:334 commands/sequence.c:767
 #, c-format
 msgid "\"%s\" is not a sequence"
 msgstr "\"%s\" 不是一个序列"
@@ -633,9 +619,9 @@ msgstr "
 msgid "index \"%s\" does not exist"
 msgstr "索引 \"%s\" 不存在"
 
-#: tcop/utility.c:93 access/index/indexam.c:134 access/index/indexam.c:159
-#: access/index/indexam.c:184 commands/comment.c:327 commands/indexcmds.c:873
-#: commands/indexcmds.c:903
+#: tcop/utility.c:93 access/index/indexam.c:139 access/index/indexam.c:164
+#: access/index/indexam.c:189 commands/comment.c:327 commands/indexcmds.c:887
+#: commands/indexcmds.c:917
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "\"%s\" 不是一个索引"
@@ -647,7 +633,7 @@ msgstr "
 #: tcop/utility.c:97 utils/adt/regproc.c:1003 commands/functioncmds.c:110
 #: commands/typecmds.c:423 commands/typecmds.c:809 commands/typecmds.c:1167
 #: commands/typecmds.c:1288 commands/typecmds.c:1400 commands/typecmds.c:1487
-#: commands/typecmds.c:2072 commands/tablecmds.c:4586 parser/parse_func.c:1401
+#: commands/typecmds.c:2072 commands/tablecmds.c:4632 parser/parse_func.c:1401
 #: parser/parse_type.c:201 parser/parse_type.c:227 catalog/pg_type.c:517
 #, c-format
 msgid "type \"%s\" does not exist"
@@ -663,18 +649,18 @@ msgid "Use DROP TYPE to remove a type."
 msgstr "请使用 DROP TYPE 删除一个类型."
 
 #: tcop/utility.c:182 tcop/utility.c:217 commands/trigger.c:147
-#: commands/trigger.c:552 commands/tablecmds.c:550 commands/tablecmds.c:1242
-#: commands/tablecmds.c:1448 commands/tablecmds.c:2604
-#: commands/tablecmds.c:3766 commands/tablecmds.c:5302
+#: commands/trigger.c:552 commands/tablecmds.c:555 commands/tablecmds.c:1274
+#: commands/tablecmds.c:1480 commands/tablecmds.c:2636
+#: commands/tablecmds.c:3798 commands/tablecmds.c:5427
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "权限不够: \"%s\" 是一个系统表"
 
-#: tcop/utility.c:283 commands/copy.c:905 executor/execMain.c:468
+#: tcop/utility.c:323 commands/copy.c:905 executor/execMain.c:443
 msgid "transaction is read-only"
 msgstr "事务是只读"
 
-#: tcop/utility.c:934
+#: tcop/utility.c:973
 msgid "must be superuser to do CHECKPOINT"
 msgstr "只有超级用户可以做 CHECKPOINT"
 
@@ -683,7 +669,7 @@ msgid "conditional utility statements are not implemented"
 msgstr "条件工具语句没有实现"
 
 #: rewrite/rewriteManip.c:749 rewrite/rewriteManip.c:805
-#: rewrite/rewriteHandler.c:177 parser/analyze.c:1687 parser/analyze.c:1759
+#: rewrite/rewriteHandler.c:177 parser/analyze.c:1699 parser/analyze.c:1771
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr "条件工具语句 UNION/INTERSECT/EXCEPT 没有实现"
 
@@ -797,48 +783,48 @@ msgstr "
 msgid "rule \"%s\" for relation \"%s\" does not exist"
 msgstr "关系 \"%2$s\" 的 \"%1$s\" 规则不存在"
 
-#: rewrite/rewriteHandler.c:491 rewrite/rewriteHandler.c:510
+#: rewrite/rewriteHandler.c:492 rewrite/rewriteHandler.c:511
 #, c-format
 msgid "multiple assignments to same column \"%s\""
 msgstr ""
 
-#: rewrite/rewriteHandler.c:646 catalog/heap.c:1827
+#: rewrite/rewriteHandler.c:647 catalog/heap.c:1812
 #, c-format
 msgid "column \"%s\" is of type %s but default expression is of type %s"
 msgstr "字段 \"%s\" 类型是 %s, 但默认表达式类型是 %s"
 
-#: rewrite/rewriteHandler.c:651 parser/analyze.c:2693 parser/parse_node.c:247
-#: parser/parse_target.c:363 parser/parse_target.c:571
-#: parser/parse_target.c:580 catalog/heap.c:1832
+#: rewrite/rewriteHandler.c:652 parser/analyze.c:2701 parser/parse_node.c:247
+#: parser/parse_target.c:362 parser/parse_target.c:572
+#: parser/parse_target.c:581 catalog/heap.c:1817
 msgid "You will need to rewrite or cast the expression."
 msgstr "你需要重写或转换表达式"
 
-#: rewrite/rewriteHandler.c:967 rewrite/rewriteHandler.c:1252
+#: rewrite/rewriteHandler.c:968 rewrite/rewriteHandler.c:1253
 #, c-format
 msgid "infinite recursion detected in rules for relation \"%s\""
 msgstr "在关系 \"%s\" 的规则中发现无限循环"
 
-#: rewrite/rewriteHandler.c:1362
+#: rewrite/rewriteHandler.c:1365
 msgid "cannot insert into a view"
 msgstr "无法插入到一个视图"
 
-#: rewrite/rewriteHandler.c:1363
+#: rewrite/rewriteHandler.c:1366
 msgid "You need an unconditional ON INSERT DO INSTEAD rule."
 msgstr "你需要一个无条件的 ON INSERT DO INSTEAD 规则."
 
-#: rewrite/rewriteHandler.c:1368
+#: rewrite/rewriteHandler.c:1371
 msgid "cannot update a view"
 msgstr "无法更新一个视图"
 
-#: rewrite/rewriteHandler.c:1369
+#: rewrite/rewriteHandler.c:1372
 msgid "You need an unconditional ON UPDATE DO INSTEAD rule."
 msgstr "你需要一个无条件的 ON UPDATE DO INSTEAD 规则."
 
-#: rewrite/rewriteHandler.c:1374
+#: rewrite/rewriteHandler.c:1377
 msgid "cannot delete from a view"
 msgstr "无法从一个视图中删除"
 
-#: rewrite/rewriteHandler.c:1375
+#: rewrite/rewriteHandler.c:1378
 msgid "You need an unconditional ON DELETE DO INSTEAD rule."
 msgstr "你需要一个无条件的 ON DELETE DO INSTEAD 规则."
 
@@ -847,121 +833,118 @@ msgid ""
 "cannot use authentication method \"crypt\" because password is MD5-encrypted"
 msgstr "无法使用 \"crypt\" 认证方式, 因为口令是用 MD5 加密的"
 
-#: libpq/hba.c:162
+#: libpq/hba.c:156
 #, c-format
 msgid "authentication file token too long, skipping: \"%s\""
 msgstr "认证文件标记 (token) 太长, 忽略: \"%s\""
 
-#: libpq/hba.c:328
+#: libpq/hba.c:324
 #, c-format
 msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m"
 msgstr "无法打开次认证文件 \"@%s\" 为 \"%s\": %m"
 
 #: libpq/hba.c:741
 #, c-format
-msgid "invalid IP address \"%s\" in pg_hba.conf file line %d: %s"
-msgstr "在 pg_hba.conf 文件的第 %2$d 行为无效 IP 地址 \"%1$s\": %3$s"
+msgid "invalid IP address \"%s\" in file \"%s\" line %d: %s"
+msgstr "在 \"%2$s\" 文件的第 %3$d 行为无效 IP 地址 \"%1$s\": %4$s"
 
-#: libpq/hba.c:775
+#: libpq/hba.c:776
 #, c-format
-msgid "invalid IP mask \"%s\" in pg_hba.conf file line %d: %s"
-msgstr "在 pg_hba.conf 文件的第 %2$d 行为无效 IP 掩码 \"%1$s\": %3$s"
+msgid "invalid IP mask \"%s\" in file \"%s\" line %d: %s"
+msgstr "在 \"%2$s\" 文件的第 %3$d 行为无效 IP 掩码 \"%1$s\": %4$s"
 
-#: libpq/hba.c:789
+#: libpq/hba.c:791
 #, c-format
-msgid "IP address and mask do not match in pg_hba.conf file line %d"
-msgstr "在 pg_hba.conf 文件的第 %d 行 IP 地址与掩码无法匹配"
+msgid "IP address and mask do not match in file \"%s\" line %d"
+msgstr "在 \"%s\" 文件的第 %d 行 IP 地址与掩码无法匹配"
 
-#: libpq/hba.c:847
+#: libpq/hba.c:849 libpq/hba.c:1105
 #, c-format
-msgid "invalid entry in pg_hba.conf file at line %d, token \"%s\""
-msgstr "在 pg_hba.conf 文件的第 %d 行为无效记录, 标记 \"%s\""
+msgid "invalid entry in file \"%s\" at line %d, token \"%s\""
+msgstr "在 \"%s\" 文件的第 %d 行为无效记录, 标记 \"%s\""
 
-#: libpq/hba.c:852
+#: libpq/hba.c:855
 #, c-format
-msgid "missing field in pg_hba.conf file at end of line %d"
-msgstr "在 pg_hba.conf 文件的第 %d 行末尾缺少字段"
+msgid "missing field in file \"%s\" at end of line %d"
+msgstr "在 \"%s\" 文件的第 %d 行末尾缺少字段"
 
-#: libpq/hba.c:909 libpq/hba.c:933 utils/init/miscinit.c:734
-#: utils/init/miscinit.c:840 utils/misc/database.c:68 utils/error/elog.c:1118
+#: libpq/hba.c:912 libpq/hba.c:936 utils/init/miscinit.c:783
+#: utils/init/miscinit.c:889 utils/misc/database.c:68 utils/error/elog.c:1118
 #: access/transam/slru.c:638 access/transam/xlog.c:1632
+#: access/transam/xlog.c:2753 access/transam/xlog.c:2843
+#: access/transam/xlog.c:2941
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "无法打开文件 \"%s\": %m"
 
-#: libpq/hba.c:1058 guc-file.l:188
+#: libpq/hba.c:1045 guc-file.l:152
 #, c-format
 msgid "could not open configuration file \"%s\": %m"
 msgstr "无法打开配置文件 \"%s\": %m"
 
-#: libpq/hba.c:1119
+#: libpq/hba.c:1111
 #, c-format
-msgid "invalid entry in pg_ident.conf file at line %d, token \"%s\""
-msgstr "在 pg_ident.conf 文件的第 %d 行为无效记录, 标记 \"%s\""
+msgid "missing entry in file \"%s\" at end of line %d"
+msgstr "在 \"%s\" 文件的第 %d 行末尾缺少记录"
 
-#: libpq/hba.c:1124
-#, c-format
-msgid "missing entry in pg_ident.conf file at end of line %d"
-msgstr "在 pg_ident.conf 文件的第 %d 行末尾缺少记录"
-
-#: libpq/hba.c:1155
+#: libpq/hba.c:1142
 msgid "cannot use Ident authentication without usermap field"
 msgstr "没有用户映射, 无法使用 Ident 认证"
 
-#: libpq/hba.c:1213
+#: libpq/hba.c:1187
 #, c-format
 msgid "could not open Ident usermap file \"%s\": %m"
 msgstr "无法打开 Ident 用户映射文件 \"%s\": %m"
 
-#: libpq/hba.c:1392
+#: libpq/hba.c:1365
 #, c-format
 msgid "could not create socket for Ident connection: %m"
 msgstr "无法为 Ident 联接创建套接字: %m"
 
-#: libpq/hba.c:1408
+#: libpq/hba.c:1381
 #, c-format
 msgid "could not bind to local address \"%s\": %m"
 msgstr "无法绑定到本地地址 \"%s\": %m"
 
-#: libpq/hba.c:1420
+#: libpq/hba.c:1393
 #, c-format
 msgid "could not connect to Ident server at address \"%s\", port %s: %m"
 msgstr "无法联接到地址为 \"%s\", 端口为 %s 的 Ident 服务器: %m"
 
-#: libpq/hba.c:1440
+#: libpq/hba.c:1413
 #, c-format
 msgid "could not send query to Ident server at address \"%s\", port %s: %m"
 msgstr "无法发送查询到地址为 \"%s\", 端口为 %s 的 Ident 服务器: %m"
 
-#: libpq/hba.c:1455
+#: libpq/hba.c:1428
 #, c-format
 msgid ""
 "could not receive response from Ident server at address \"%s\", port %s: %m"
 msgstr "无法从地址为 \"%s\", 端口为 %s 的 Ident 服务器接收应答: %m"
 
-#: libpq/hba.c:1465
+#: libpq/hba.c:1438
 #, c-format
 msgid "invalidly formatted response from Ident server: \"%s\""
 msgstr "从 Ident 服务器接收的无效格式应答: \"%s\""
 
-#: libpq/hba.c:1500 libpq/hba.c:1531 libpq/hba.c:1599
+#: libpq/hba.c:1473 libpq/hba.c:1504 libpq/hba.c:1572
 #, c-format
 msgid "could not get peer credentials: %m"
 msgstr "无法获得同等 (peer) 证书: %m"
 
-#: libpq/hba.c:1509 libpq/hba.c:1540 libpq/hba.c:1610
+#: libpq/hba.c:1482 libpq/hba.c:1513 libpq/hba.c:1583
 #, c-format
 msgid "local user with ID %d does not exist"
 msgstr "ID 为 %d 的本地用户不存在"
 
-#: libpq/hba.c:1622
+#: libpq/hba.c:1595
 msgid ""
 "Ident authentication is not supported on local connections on this platform"
 msgstr "在此平台上不支持本地联接的 Ident 认证"
 
-#: libpq/hba.c:1665
+#: libpq/hba.c:1638
 #, c-format
-msgid "IDENT code identifies remote user as \"%s\""
+msgid "Ident protocol identifies remote user as \"%s\""
 msgstr ""
 
 #: libpq/be-fsstubs.c:132 libpq/be-fsstubs.c:170 libpq/be-fsstubs.c:194
@@ -1006,84 +989,103 @@ msgstr "
 msgid "could not write server file \"%s\": %m"
 msgstr "无法写入服务器文件 \"%s\": %m"
 
-#: libpq/be-secure.c:274 libpq/be-secure.c:359
+#: libpq/be-secure.c:281 libpq/be-secure.c:374
 #, c-format
 msgid "SSL SYSCALL error: %m"
 msgstr "SSL SYSCALL 错误: %m"
 
-#: libpq/be-secure.c:279 libpq/be-secure.c:364
+#: libpq/be-secure.c:286 libpq/be-secure.c:379
 msgid "SSL SYSCALL error: EOF detected"
 msgstr "SSL SYSCALL 错误: 发现 EOF"
 
-#: libpq/be-secure.c:287 libpq/be-secure.c:372
+#: libpq/be-secure.c:294 libpq/be-secure.c:387
 #, c-format
 msgid "SSL error: %s"
 msgstr "SSL 错误: %s"
 
-#: libpq/be-secure.c:296 libpq/be-secure.c:381
+#: libpq/be-secure.c:303 libpq/be-secure.c:396 libpq/be-secure.c:813
 #, c-format
-msgid "unrecognized SSL error code %d"
-msgstr "未知的 SSL 错误代码 %d"
+msgid "unrecognized SSL error code: %d"
+msgstr "未知的 SSL 错误码: %d"
 
-#: libpq/be-secure.c:327 libpq/be-secure.c:331 libpq/be-secure.c:341
+#: libpq/be-secure.c:336 libpq/be-secure.c:340 libpq/be-secure.c:350
 msgid "SSL renegotiation failure"
 msgstr "SSL 协商失败"
 
-#: libpq/be-secure.c:335
+#: libpq/be-secure.c:344
 msgid "SSL failed to send renegotiation request"
 msgstr "发送 SSL 协商响应失败"
 
-#: libpq/be-secure.c:634
+#: libpq/be-secure.c:649
 #, c-format
 msgid "could not create SSL context: %s"
 msgstr "无法创建 SSL 环境: %s"
 
-#: libpq/be-secure.c:644
+#: libpq/be-secure.c:659
 #, c-format
 msgid "could not load server certificate file \"%s\": %s"
 msgstr "无法装载服务器认证文件 \"%s\": %s"
 
-#: libpq/be-secure.c:651
+#: libpq/be-secure.c:666
 #, c-format
 msgid "could not access private key file \"%s\": %m"
 msgstr "无法处理私钥文件 \"%s\": %m"
 
-#: libpq/be-secure.c:667
+#: libpq/be-secure.c:682
 #, c-format
 msgid "unsafe permissions on private key file \"%s\""
 msgstr "私钥文件 \"%s\" 权限不安全"
 
-#: libpq/be-secure.c:669
+#: libpq/be-secure.c:684
 msgid ""
 "File must be owned by the database user and must have no permissions for "
 "\"group\" or \"other\"."
 msgstr "文件的属主必须是数据库用户, 并且对 \"组\" 或 \"其它用户\" 没有权限."
 
-#: libpq/be-secure.c:674
+#: libpq/be-secure.c:689
 #, c-format
 msgid "could not load private key file \"%s\": %s"
 msgstr "无法装载私钥文件 \"%s\": %s"
 
-#: libpq/be-secure.c:679
+#: libpq/be-secure.c:694
 #, c-format
 msgid "check of private key failed: %s"
 msgstr "检查私钥失败: %s"
 
-#: libpq/be-secure.c:697
+#: libpq/be-secure.c:714
 #, c-format
 msgid "could not load root certificate file \"%s\": %s"
 msgstr "无法装载根 (root) 认证文件 \"%s\": %s"
 
-#: libpq/be-secure.c:699
+#: libpq/be-secure.c:716
 msgid "Will not verify client certificates."
 msgstr "将不检验客户端的认证证书."
 
-#: libpq/be-secure.c:737
+#: libpq/be-secure.c:759
 #, c-format
 msgid "could not initialize SSL connection: %s"
 msgstr "无法初始化 SSL 联接: %s"
 
-#: libpq/be-secure.c:761
+#: libpq/be-secure.c:768
+#, c-format
+msgid "could not set SSL socket: %s"
+msgstr "无法创建 SSL 套接字: %s"
+
+#: libpq/be-secure.c:793
+#, c-format
+msgid "could not accept SSL connection: %m"
+msgstr "无法访问 SSL 联接: %m"
+
+#: libpq/be-secure.c:797 libpq/be-secure.c:808
+msgid "could not accept SSL connection: EOF detected"
+msgstr "无法访问 SSL 联接: 发现 EOF"
+
+#: libpq/be-secure.c:802
+#, c-format
+msgid "could not accept SSL connection: %s"
+msgstr "无法访问 SSL 联接: %s"
+
+#: libpq/be-secure.c:840
 #, c-format
 msgid "SSL connection from \"%s\""
 msgstr "来自 \"%s\" 的 SSL 联接"
@@ -1144,33 +1146,33 @@ msgstr "Kerberos 5 
 
 #: libpq/auth.c:366
 #, c-format
-msgid "Rejected host: authentication failed for user \"%s\""
-msgstr "拒绝: 用户 \"%s\" 认证失败"
+msgid "authentication failed for user \"%s\": host rejected"
+msgstr "用户 \"%s\" 认证失败: 主机拒绝"
 
 #: libpq/auth.c:369
 #, c-format
-msgid "Kerberos4 authentication failed for user \"%s\""
-msgstr "用户 \"%s\" 认证 Kerberos4 失败"
+msgid "Kerberos 4 authentication failed for user \"%s\""
+msgstr "用户 \"%s\" Kerberos4 认证失败"
 
 #: libpq/auth.c:372
 #, c-format
-msgid "Kerberos5 authentication failed for user \"%s\""
-msgstr "为用户 \"%s\" 认证 Kerberos5 失败"
+msgid "Kerberos 5 authentication failed for user \"%s\""
+msgstr "用户 \"%s\" Kerberos5 认证失败"
 
 #: libpq/auth.c:375
 #, c-format
-msgid "Trusted authentication failed for user \"%s\""
-msgstr "用户 \"%s\" 认证 Trusted 失败"
+msgid "\"trust\" authentication failed for user \"%s\""
+msgstr "用户 \"%s\" \"trust\" 认证失败"
 
 #: libpq/auth.c:378
 #, c-format
-msgid "IDENT authentication failed for user \"%s\""
-msgstr "用户 \"%s\" 认证 IDENT 失败"
+msgid "Ident authentication failed for user \"%s\""
+msgstr "用户 \"%s\" Ident 认证失败"
 
 #: libpq/auth.c:383
 #, c-format
-msgid "Password authentication failed for user \"%s\""
-msgstr "用户 \"%s\" 认证 Password 失败"
+msgid "password authentication failed for user \"%s\""
+msgstr "用户 \"%s\" Password 认证失败"
 
 #: libpq/auth.c:387
 #, c-format
@@ -1179,8 +1181,8 @@ msgstr "
 
 #: libpq/auth.c:391
 #, c-format
-msgid "Unknown auth method: authentication failed for user \"%s\""
-msgstr "未知认证方法: 用户 \"%s\" 认证失败"
+msgid "authentication failed for user \"%s\": invalid authentication method"
+msgstr "用户 \"%s\" 认证失败: 无效的认证方式"
 
 #: libpq/auth.c:420
 msgid "missing or erroneous pg_hba.conf file"
@@ -1275,56 +1277,56 @@ msgstr "
 msgid "received password packet"
 msgstr "接收到口令包"
 
-#: libpq/pqcomm.c:248
+#: libpq/pqcomm.c:271
 #, c-format
 msgid "could not translate host name \"%s\", service \"%s\" to address: %s"
 msgstr "无法解析主机名 \"%s\", 服务 \"%s\" 到地址: %s"
 
-#: libpq/pqcomm.c:252
+#: libpq/pqcomm.c:275
 #, c-format
 msgid "could not translate service \"%s\" to address: %s"
 msgstr "无法解析服务 \"%s\" 到地址: %s"
 
-#: libpq/pqcomm.c:286
+#: libpq/pqcomm.c:309
 msgid "IPv4"
 msgstr "IPv4"
 
-#: libpq/pqcomm.c:290
+#: libpq/pqcomm.c:313
 msgid "IPv6"
 msgstr "IPv6"
 
-#: libpq/pqcomm.c:295
+#: libpq/pqcomm.c:318
 msgid "Unix"
 msgstr "Unix"
 
-#: libpq/pqcomm.c:300
+#: libpq/pqcomm.c:323
 #, c-format
 msgid "unrecognized address family %d"
 msgstr "不认可的地址族 %d"
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:311
+#: libpq/pqcomm.c:334
 #, c-format
 msgid "could not create %s socket: %m"
 msgstr "无法创建 %s 套接字: %m"
 
-#: libpq/pqcomm.c:323
+#: libpq/pqcomm.c:346
 #, c-format
 msgid "setsockopt(SO_REUSEADDR) failed: %m"
 msgstr "setsockopt(SO_REUSEADDR) 失败: %m"
 
-#: libpq/pqcomm.c:337
+#: libpq/pqcomm.c:360
 #, c-format
 msgid "setsockopt(IPV6_V6ONLY) failed: %m"
 msgstr "setsockopt(IPV6_V6ONLY) 失败: %m"
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:356
+#: libpq/pqcomm.c:379
 #, c-format
 msgid "could not bind %s socket: %m"
 msgstr "无法绑定 %s 套接字: %m"
 
-#: libpq/pqcomm.c:359
+#: libpq/pqcomm.c:382
 #, c-format
 msgid ""
 "Is another postmaster already running on port %d? If not, remove socket file "
@@ -1333,7 +1335,7 @@ msgstr ""
 "是否有其它 postmaster 已经在端口 %d 上运行了? 如果没有, 删除套接字文件 \"%s"
 "\" 然后再重试."
 
-#: libpq/pqcomm.c:362
+#: libpq/pqcomm.c:385
 #, c-format
 msgid ""
 "Is another postmaster already running on port %d? If not, wait a few seconds "
@@ -1343,50 +1345,50 @@ msgstr ""
 "重试."
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:396
+#: libpq/pqcomm.c:419
 #, c-format
 msgid "could not listen on %s socket: %m"
 msgstr "无法在 %s 套接字上监听: %m"
 
-#: libpq/pqcomm.c:476 commands/user.c:1532 commands/user.c:1769
-#: commands/user.c:1804 catalog/aclchk.c:1229
+#: libpq/pqcomm.c:499 commands/user.c:1535 commands/user.c:1772
+#: commands/user.c:1807 catalog/aclchk.c:1229
 #, c-format
 msgid "group \"%s\" does not exist"
 msgstr "组 \"%s\" 不存在"
 
-#: libpq/pqcomm.c:486
+#: libpq/pqcomm.c:509
 #, c-format
 msgid "could not set group of file \"%s\": %m"
 msgstr "无法设置文件 \"%s\" 的组: %m"
 
-#: libpq/pqcomm.c:497
+#: libpq/pqcomm.c:520
 #, c-format
 msgid "could not set permissions of file \"%s\": %m"
 msgstr "无法设置文件 \"%s\" 的权限: %m"
 
-#: libpq/pqcomm.c:527
+#: libpq/pqcomm.c:550
 #, c-format
 msgid "could not accept new connection: %m"
 msgstr "无法访问新联接: %m"
 
-#: libpq/pqcomm.c:679
+#: libpq/pqcomm.c:702
 #, c-format
 msgid "could not receive data from client: %m"
 msgstr "无法从客户端获得数据: %m"
 
-#: libpq/pqcomm.c:842
+#: libpq/pqcomm.c:895
 msgid "unexpected EOF within message length word"
 msgstr "在信息长度字里有意外的 EOF"
 
-#: libpq/pqcomm.c:854
+#: libpq/pqcomm.c:906
 msgid "invalid message length"
 msgstr "无效的信息长度"
 
-#: libpq/pqcomm.c:868
+#: libpq/pqcomm.c:928 libpq/pqcomm.c:938
 msgid "incomplete message from client"
 msgstr "从客户端过来的不完整信息"
 
-#: libpq/pqcomm.c:947
+#: libpq/pqcomm.c:1048
 #, c-format
 msgid "could not send data to client: %m"
 msgstr "无法发送数据给客户端: %m"
@@ -1396,7 +1398,7 @@ msgid "no data left in message"
 msgstr "信息中已经没有数据了"
 
 #: libpq/pqformat.c:591 libpq/pqformat.c:609 libpq/pqformat.c:630
-#: utils/adt/arrayfuncs.c:1258 utils/adt/rowtypes.c:523
+#: utils/adt/arrayfuncs.c:1277 utils/adt/rowtypes.c:523
 msgid "insufficient data left in message"
 msgstr "信息中剩下的数据不够"
 
@@ -1418,7 +1420,7 @@ msgstr "没
 msgid "no value found for parameter %d"
 msgstr "没有找到参数 %d 的值"
 
-#: utils/mb/mbutils.c:188 commands/variable.c:591
+#: utils/mb/mbutils.c:188 commands/variable.c:593
 #, c-format
 msgid "conversion between %s and %s is not supported"
 msgstr "不支持 %s 和 %s 之间的编码转换"
@@ -1491,19 +1493,44 @@ msgstr "
 msgid "invalid argument for power function"
 msgstr "power 函数的无效参数"
 
-#: utils/adt/numeric.c:1761 utils/adt/numeric.c:1829 utils/adt/numeric.c:1877
+#: utils/adt/numeric.c:1761
 msgid "cannot convert NaN to integer"
 msgstr "无法转化 NaN 为整数"
 
-#: utils/adt/numeric.c:1785 utils/adt/numeric.c:1794 utils/adt/numeric.c:1838
-#: utils/adt/numeric.c:1886 utils/adt/numeric.c:1897 utils/adt/int.c:294
-#: utils/adt/float.c:1131 utils/adt/float.c:1150 utils/adt/float.c:1197
-#: utils/adt/float.c:1216 utils/adt/int8.c:111 utils/adt/int8.c:777
-#: utils/adt/int8.c:802 utils/adt/int8.c:840 utils/adt/int8.c:879
-#: utils/adt/varbit.c:1234 utils/adt/varbit.c:1313
+#: utils/adt/numeric.c:1785 utils/adt/numeric.c:1794 utils/adt/int.c:614
+#: utils/adt/int.c:642 utils/adt/int.c:662 utils/adt/int.c:691
+#: utils/adt/int.c:716 utils/adt/int.c:731 utils/adt/int.c:861
+#: utils/adt/int.c:881 utils/adt/int.c:907 utils/adt/int.c:941
+#: utils/adt/int.c:961 utils/adt/int.c:987 utils/adt/int.c:1012
+#: utils/adt/int.c:1091 utils/adt/float.c:1131 utils/adt/float.c:1197
+#: utils/adt/int8.c:947 utils/adt/varbit.c:1234
 msgid "integer out of range"
 msgstr "整数超出范围"
 
+#: utils/adt/numeric.c:1829
+msgid "cannot convert NaN to bigint"
+msgstr "无法转换 NaN 为 bigint"
+
+#: utils/adt/numeric.c:1838 utils/adt/int8.c:506 utils/adt/int8.c:534
+#: utils/adt/int8.c:554 utils/adt/int8.c:583 utils/adt/int8.c:608
+#: utils/adt/int8.c:626 utils/adt/int8.c:660 utils/adt/int8.c:705
+#: utils/adt/int8.c:725 utils/adt/int8.c:751 utils/adt/int8.c:776
+#: utils/adt/int8.c:796 utils/adt/int8.c:816 utils/adt/int8.c:842
+#: utils/adt/int8.c:1010 utils/adt/int8.c:1049 utils/adt/varbit.c:1313
+msgid "bigint out of range"
+msgstr "bigint 超出范围"
+
+#: utils/adt/numeric.c:1877
+msgid "cannot convert NaN to smallint"
+msgstr "无法转换 NaN 为 smallint"
+
+#: utils/adt/numeric.c:1886 utils/adt/numeric.c:1897 utils/adt/int.c:297
+#: utils/adt/int.c:747 utils/adt/int.c:775 utils/adt/int.c:795
+#: utils/adt/int.c:815 utils/adt/int.c:841 utils/adt/int.c:1106
+#: utils/adt/float.c:1150 utils/adt/float.c:1216 utils/adt/int8.c:972
+msgid "smallint out of range"
+msgstr "smallint 超出范围"
+
 #: utils/adt/numeric.c:2720 utils/adt/numeric.c:2743 utils/adt/numeric.c:2767
 #: utils/adt/numeric.c:2774 utils/adt/numeric.c:2788
 #, c-format
@@ -1531,14 +1558,14 @@ msgstr ""
 msgid "invalid input syntax for type double precision: \"%s\""
 msgstr "无效的双精度类型输入语法: \"%s\""
 
-#: utils/adt/numeric.c:3820 utils/adt/timestamp.c:2197 utils/adt/int.c:652
-#: utils/adt/int.c:717 utils/adt/int.c:758 utils/adt/int.c:799
-#: utils/adt/int.c:813 utils/adt/int.c:827 utils/adt/int.c:841
-#: utils/adt/int.c:855 utils/adt/float.c:795 utils/adt/float.c:859
+#: utils/adt/numeric.c:3820 utils/adt/timestamp.c:2196 utils/adt/int.c:705
+#: utils/adt/int.c:830 utils/adt/int.c:920 utils/adt/int.c:1001
+#: utils/adt/int.c:1025 utils/adt/int.c:1040 utils/adt/int.c:1055
+#: utils/adt/int.c:1070 utils/adt/float.c:795 utils/adt/float.c:859
 #: utils/adt/float.c:2117 utils/adt/float.c:2179 utils/adt/cash.c:496
 #: utils/adt/cash.c:548 utils/adt/cash.c:601 utils/adt/cash.c:653
-#: utils/adt/char.c:186 utils/adt/int8.c:537 utils/adt/int8.c:566
-#: utils/adt/int8.c:644 utils/adt/int8.c:685 utils/adt/geo_ops.c:3832
+#: utils/adt/int8.c:597 utils/adt/int8.c:642 utils/adt/int8.c:765
+#: utils/adt/int8.c:855 utils/adt/geo_ops.c:3832
 msgid "division by zero"
 msgstr "除以零"
 
@@ -1566,114 +1593,114 @@ msgstr ""
 msgid "invalid Datum pointer"
 msgstr "无效的 Datum 指针"
 
-#: utils/adt/timestamp.c:98 utils/adt/timestamp.c:339
+#: utils/adt/timestamp.c:97 utils/adt/timestamp.c:338
 #, c-format
 msgid "timestamp out of range: \"%s\""
 msgstr "时间戳超出范围: \"%s\""
 
-#: utils/adt/timestamp.c:116 utils/adt/timestamp.c:357
-#: utils/adt/timestamp.c:536
+#: utils/adt/timestamp.c:115 utils/adt/timestamp.c:356
+#: utils/adt/timestamp.c:535
 #, c-format
 msgid "date/time value \"%s\" is no longer supported"
 msgstr "日期/时间值 \"%s\" 不再被支持"
 
-#: utils/adt/timestamp.c:153 utils/adt/timestamp.c:187
-#: utils/adt/timestamp.c:395 utils/adt/timestamp.c:431
-#: utils/adt/timestamp.c:1929 utils/adt/timestamp.c:1950
-#: utils/adt/timestamp.c:2008 utils/adt/timestamp.c:2031
-#: utils/adt/timestamp.c:2413 utils/adt/timestamp.c:2524
-#: utils/adt/timestamp.c:2746 utils/adt/timestamp.c:2819
-#: utils/adt/timestamp.c:2865 utils/adt/timestamp.c:2949
-#: utils/adt/timestamp.c:3232 utils/adt/timestamp.c:3365
-#: utils/adt/timestamp.c:3372 utils/adt/timestamp.c:3385
-#: utils/adt/timestamp.c:3393 utils/adt/timestamp.c:3456
-#: utils/adt/timestamp.c:3587 utils/adt/timestamp.c:3595
-#: utils/adt/timestamp.c:3862 utils/adt/timestamp.c:3869
-#: utils/adt/timestamp.c:3897 utils/adt/timestamp.c:3901
+#: utils/adt/timestamp.c:152 utils/adt/timestamp.c:186
+#: utils/adt/timestamp.c:394 utils/adt/timestamp.c:430
+#: utils/adt/timestamp.c:1928 utils/adt/timestamp.c:1949
+#: utils/adt/timestamp.c:2007 utils/adt/timestamp.c:2030
+#: utils/adt/timestamp.c:2412 utils/adt/timestamp.c:2530
+#: utils/adt/timestamp.c:2752 utils/adt/timestamp.c:2825
+#: utils/adt/timestamp.c:2872 utils/adt/timestamp.c:2968
+#: utils/adt/timestamp.c:3251 utils/adt/timestamp.c:3384
+#: utils/adt/timestamp.c:3391 utils/adt/timestamp.c:3404
+#: utils/adt/timestamp.c:3412 utils/adt/timestamp.c:3475
+#: utils/adt/timestamp.c:3610 utils/adt/timestamp.c:3618
+#: utils/adt/timestamp.c:3885 utils/adt/timestamp.c:3892
+#: utils/adt/timestamp.c:3920 utils/adt/timestamp.c:3924
 #: utils/adt/nabstime.c:570 utils/adt/nabstime.c:613 utils/adt/nabstime.c:643
 #: utils/adt/nabstime.c:686 utils/adt/date.c:732 utils/adt/date.c:775
 #: utils/adt/date.c:1337 utils/adt/date.c:1374 utils/adt/date.c:2252
-#: utils/adt/formatting.c:2892 utils/adt/formatting.c:2917
-#: utils/adt/formatting.c:2976
+#: utils/adt/formatting.c:2895 utils/adt/formatting.c:2920
+#: utils/adt/formatting.c:2979
 msgid "timestamp out of range"
 msgstr "时间戳超出范围"
 
-#: utils/adt/timestamp.c:271
+#: utils/adt/timestamp.c:270
 #, c-format
 msgid "timestamp(%d) precision must be between %d and %d"
 msgstr "timestamp(%d) 的精确度必需在 %d 到 %d 之间"
 
-#: utils/adt/timestamp.c:529 utils/adt/timestamp.c:2408
-#: utils/adt/timestamp.c:2519 utils/adt/timestamp.c:3041
+#: utils/adt/timestamp.c:528 utils/adt/timestamp.c:2407
+#: utils/adt/timestamp.c:2525 utils/adt/timestamp.c:3060
 msgid "interval out of range"
 msgstr "interval 超出范围"
 
-#: utils/adt/timestamp.c:882
+#: utils/adt/timestamp.c:881
 #, c-format
 msgid "interval(%d) precision must be between %d and %d"
 msgstr "interval(%d) 的精确度必需在 %d 到 %d 之间"
 
-#: utils/adt/timestamp.c:1882
+#: utils/adt/timestamp.c:1881
 msgid "cannot subtract infinite timestamps"
 msgstr ""
 
-#: utils/adt/timestamp.c:2579
+#: utils/adt/timestamp.c:2585
 #, c-format
 msgid "invalid input syntax for type timestamp: \"%s\""
 msgstr "无效的 timestamp 类型输入语法: \"%s\""
 
-#: utils/adt/timestamp.c:2639
+#: utils/adt/timestamp.c:2645
 #, c-format
 msgid "invalid input syntax for type timestamp with time zone: \"%s\""
 msgstr "无效的带时区的 timestamp 类型输入语法: \"%s\""
 
-#: utils/adt/timestamp.c:2700
+#: utils/adt/timestamp.c:2706
 #, c-format
 msgid "invalid input syntax for type interval: \"%s\""
 msgstr "无效的 interval 类型输入语法: \"%s\""
 
-#: utils/adt/timestamp.c:2811 utils/adt/timestamp.c:3344
-#: utils/adt/timestamp.c:3401
+#: utils/adt/timestamp.c:2817 utils/adt/timestamp.c:3363
+#: utils/adt/timestamp.c:3420
 #, c-format
 msgid "timestamp units \"%s\" not supported"
 msgstr "不支持时间戳单位 \"%s\""
 
-#: utils/adt/timestamp.c:2825 utils/adt/timestamp.c:3411
+#: utils/adt/timestamp.c:2831 utils/adt/timestamp.c:3430
 #, c-format
 msgid "timestamp units \"%s\" not recognized"
 msgstr "时间戳单位 \"%s\" 不被认可"
 
-#: utils/adt/timestamp.c:2939 utils/adt/timestamp.c:3565
-#: utils/adt/timestamp.c:3603
+#: utils/adt/timestamp.c:2957 utils/adt/timestamp.c:3588
+#: utils/adt/timestamp.c:3626
 #, c-format
 msgid "timestamp with time zone units \"%s\" not supported"
 msgstr "不支持带时区的时间戳单位 \"%s\""
 
-#: utils/adt/timestamp.c:2955 utils/adt/timestamp.c:3612
+#: utils/adt/timestamp.c:2974 utils/adt/timestamp.c:3635
 #, c-format
 msgid "timestamp with time zone units \"%s\" not recognized"
 msgstr "带时区的时间戳单位 \"%s\" 不被认可"
 
-#: utils/adt/timestamp.c:3034 utils/adt/timestamp.c:3718
+#: utils/adt/timestamp.c:3053 utils/adt/timestamp.c:3741
 #, c-format
 msgid "interval units \"%s\" not supported"
 msgstr "不支持 \"%s\" 的 interval 单位"
 
-#: utils/adt/timestamp.c:3050 utils/adt/timestamp.c:3748
+#: utils/adt/timestamp.c:3069 utils/adt/timestamp.c:3771
 #, c-format
 msgid "interval units \"%s\" not recognized"
 msgstr "interval 单位 \"%s\" 不被认可"
 
-#: utils/adt/timestamp.c:3074
+#: utils/adt/timestamp.c:3093
 msgid "cannot calculate week number without year information"
 msgstr "没有年份信息, 无法计算星期个数"
 
-#: utils/adt/timestamp.c:3793 utils/adt/timestamp.c:3942 utils/adt/date.c:2510
+#: utils/adt/timestamp.c:3816 utils/adt/timestamp.c:3965 utils/adt/date.c:2510
 #, c-format
 msgid "time zone \"%s\" not recognized"
 msgstr "时区 \"%s\" 不被认可"
 
-#: utils/adt/timestamp.c:3819 utils/adt/timestamp.c:3968
+#: utils/adt/timestamp.c:3842 utils/adt/timestamp.c:3991
 #, c-format
 msgid "interval time zone \"%s\" must not specify month"
 msgstr "时区 \"%s\" 间隔不可以指定月份"
@@ -1793,9 +1820,9 @@ msgstr "
 msgid "unrecognized privilege type: \"%s\""
 msgstr "未知的权限类型: \"%s\""
 
-#: utils/adt/acl.c:1661 utils/init/postinit.c:264 utils/init/postinit.c:276
-#: commands/comment.c:458 commands/dbcommands.c:521 commands/dbcommands.c:645
-#: commands/dbcommands.c:740 commands/dbcommands.c:814 catalog/aclchk.c:451
+#: utils/adt/acl.c:1661 utils/init/postinit.c:271 utils/init/postinit.c:283
+#: commands/comment.c:458 commands/dbcommands.c:550 commands/dbcommands.c:679
+#: commands/dbcommands.c:779 commands/dbcommands.c:866 catalog/aclchk.c:451
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "数据库 \"%s\" 不存在"
@@ -1812,35 +1839,35 @@ msgstr "
 msgid "language \"%s\" does not exist"
 msgstr "语言 \"%s\" 不存在"
 
-#: utils/adt/acl.c:2283 commands/comment.c:509 commands/schemacmds.c:210
-#: commands/schemacmds.c:272 commands/schemacmds.c:327 catalog/aclchk.c:921
+#: utils/adt/acl.c:2283 commands/comment.c:509 commands/schemacmds.c:181
+#: commands/schemacmds.c:243 commands/schemacmds.c:298 catalog/aclchk.c:921
 #: catalog/namespace.c:255 catalog/namespace.c:1229 catalog/namespace.c:1267
 #: catalog/namespace.c:1866
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "模式 \"%s\" 不存在"
 
-#: utils/adt/acl.c:2489 commands/tablespace.c:429 commands/tablespace.c:823
-#: commands/tablespace.c:890 commands/dbcommands.c:276
-#: commands/indexcmds.c:169 commands/tablecmds.c:325 commands/tablecmds.c:5310
-#: commands/schemacmds.c:117 catalog/aclchk.c:1080
+#: utils/adt/acl.c:2489 commands/tablespace.c:425 commands/tablespace.c:750
+#: commands/tablespace.c:817 commands/tablespace.c:896
+#: commands/dbcommands.c:277 commands/indexcmds.c:171 commands/tablecmds.c:324
+#: commands/tablecmds.c:5435 catalog/aclchk.c:1080
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "表空间 \"%s\" 不存在"
 
-#: utils/adt/like_match.c:291 utils/adt/like.c:453 utils/adt/regexp.c:461
+#: utils/adt/like_match.c:291 utils/adt/like.c:453 utils/adt/regexp.c:480
 msgid "invalid escape string"
 msgstr "无效的逃逸字符串"
 
-#: utils/adt/like_match.c:292 utils/adt/like.c:454 utils/adt/regexp.c:462
+#: utils/adt/like_match.c:292 utils/adt/like.c:454 utils/adt/regexp.c:481
 msgid "Escape string must be empty or one character."
 msgstr "逃逸字符串必须为空或者一个字符."
 
-#: utils/adt/int.c:134
+#: utils/adt/int.c:137
 msgid "int2vector has too many elements"
 msgstr "int2vector 有太多的元素"
 
-#: utils/adt/int.c:1063 utils/adt/int8.c:981
+#: utils/adt/int.c:1294 utils/adt/int8.c:1151
 msgid "step size may not equal zero"
 msgstr ""
 
@@ -1864,7 +1891,7 @@ msgstr "
 
 #: utils/adt/oid.c:46 utils/adt/float.c:281 utils/adt/float.c:458
 msgid "This input will be rejected in a future release of PostgreSQL."
-msgstr ""
+msgstr "此输入在将来的 PostgreSQL 发型版本中废除."
 
 #: utils/adt/oid.c:60 utils/adt/oid.c:66 utils/adt/oid.c:87
 #, c-format
@@ -1885,122 +1912,128 @@ msgstr "oidvector 
 msgid "invalid input syntax for type tid: \"%s\""
 msgstr "无效的 tid 类型输入语法: \"%s\""
 
-#: utils/adt/oracle_compat.c:99 utils/adt/oracle_compat.c:138
+#: utils/adt/oracle_compat.c:99 utils/adt/oracle_compat.c:139
 msgid "invalid multibyte character for locale"
 msgstr "无效的多字节字符, 对于 locale"
 
-#: utils/adt/oracle_compat.c:410 utils/adt/oracle_compat.c:507
-#: utils/adt/oracle_compat.c:1131
+#: utils/adt/oracle_compat.c:100
+msgid ""
+"The server's LC_CTYPE locale is probably incompatible with the database "
+"encoding."
+msgstr "服务器本地 LC_CTYPE 可能与数据库编码不兼容."
+
+#: utils/adt/oracle_compat.c:411 utils/adt/oracle_compat.c:508
+#: utils/adt/oracle_compat.c:1132
 msgid "requested length too large"
 msgstr "请求长度太大"
 
-#: utils/adt/ri_triggers.c:301 utils/adt/ri_triggers.c:363
-#: utils/adt/ri_triggers.c:542 utils/adt/ri_triggers.c:781
-#: utils/adt/ri_triggers.c:972 utils/adt/ri_triggers.c:1133
-#: utils/adt/ri_triggers.c:1317 utils/adt/ri_triggers.c:1486
-#: utils/adt/ri_triggers.c:1667 utils/adt/ri_triggers.c:1837
-#: utils/adt/ri_triggers.c:2055 utils/adt/ri_triggers.c:2235
-#: utils/adt/ri_triggers.c:2440 utils/adt/ri_triggers.c:2536
-#: utils/adt/ri_triggers.c:2659 gram.y:1887
+#: utils/adt/ri_triggers.c:302 utils/adt/ri_triggers.c:364
+#: utils/adt/ri_triggers.c:543 utils/adt/ri_triggers.c:782
+#: utils/adt/ri_triggers.c:973 utils/adt/ri_triggers.c:1134
+#: utils/adt/ri_triggers.c:1318 utils/adt/ri_triggers.c:1487
+#: utils/adt/ri_triggers.c:1668 utils/adt/ri_triggers.c:1838
+#: utils/adt/ri_triggers.c:2056 utils/adt/ri_triggers.c:2236
+#: utils/adt/ri_triggers.c:2441 utils/adt/ri_triggers.c:2537
+#: utils/adt/ri_triggers.c:2660 gram.y:1886
 msgid "MATCH PARTIAL not yet implemented"
 msgstr "MATCH PARTIAL 仍未实现"
 
-#: utils/adt/ri_triggers.c:337 utils/adt/ri_triggers.c:2739
-#: utils/adt/ri_triggers.c:3236 utils/adt/ri_triggers.c:3273
+#: utils/adt/ri_triggers.c:338 utils/adt/ri_triggers.c:2744
+#: utils/adt/ri_triggers.c:3249 utils/adt/ri_triggers.c:3286
 #, c-format
 msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\""
 msgstr "插入或更新表 \"%s\" 违反外键约束 \"%s\""
 
-#: utils/adt/ri_triggers.c:340 utils/adt/ri_triggers.c:2742
+#: utils/adt/ri_triggers.c:341 utils/adt/ri_triggers.c:2747
 msgid "MATCH FULL does not allow mixing of null and nonnull key values."
 msgstr "MATCH FULL 不允许空和非空键值的混合."
 
-#: utils/adt/ri_triggers.c:2482 utils/adt/ri_triggers.c:2967
+#: utils/adt/ri_triggers.c:2483 utils/adt/ri_triggers.c:2972
 #, c-format
 msgid "function \"%s\" called with wrong number of trigger arguments"
 msgstr "函数 \"%s\" 调用了错误的触发器参数个数"
 
-#: utils/adt/ri_triggers.c:2500 utils/adt/ri_triggers.c:2977
+#: utils/adt/ri_triggers.c:2501 utils/adt/ri_triggers.c:2982
 #, c-format
 msgid "no target table given for trigger \"%s\" on table \"%s\""
 msgstr "没有为表 \"%2$s\" 上的触发器 \"%1$s\" 提供目标表"
 
-#: utils/adt/ri_triggers.c:2503 utils/adt/ri_triggers.c:2980
+#: utils/adt/ri_triggers.c:2504 utils/adt/ri_triggers.c:2985
 msgid ""
 "Remove this referential integrity trigger and its mates, then do ALTER TABLE "
 "ADD CONSTRAINT."
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2887 utils/adt/ri_triggers.c:2897
-#: utils/adt/ri_triggers.c:3335
+#: utils/adt/ri_triggers.c:2892 utils/adt/ri_triggers.c:2902
+#: utils/adt/ri_triggers.c:3348
 #, c-format
 msgid ""
 "table \"%s\" does not have column \"%s\" referenced by constraint \"%s\""
 msgstr "表 \"%1$s\" 没有通过约束 \"%3$s\" 的字段 \"%2$s\" 关联"
 
-#: utils/adt/ri_triggers.c:2917
+#: utils/adt/ri_triggers.c:2922
 #, c-format
 msgid "function \"%s\" was not called by trigger manager"
 msgstr "函数 \"%s\" 没有被触发器管理器调用"
 
-#: utils/adt/ri_triggers.c:2926
+#: utils/adt/ri_triggers.c:2931
 #, c-format
 msgid "function \"%s\" must be fired AFTER ROW"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2934
+#: utils/adt/ri_triggers.c:2939
 #, c-format
 msgid "function \"%s\" must be fired for INSERT"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2940
+#: utils/adt/ri_triggers.c:2945
 #, c-format
 msgid "function \"%s\" must be fired for UPDATE"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2947
+#: utils/adt/ri_triggers.c:2952
 #, c-format
 msgid "function \"%s\" must be fired for INSERT or UPDATE"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:2954
+#: utils/adt/ri_triggers.c:2959
 #, c-format
 msgid "function \"%s\" must be fired for DELETE"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:3203
+#: utils/adt/ri_triggers.c:3216
 #, c-format
 msgid ""
 "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave "
 "unexpected result"
 msgstr ""
 
-#: utils/adt/ri_triggers.c:3207
+#: utils/adt/ri_triggers.c:3220
 msgid "This is most likely due to a rule having rewritten the query."
 msgstr ""
 
-#: utils/adt/ri_triggers.c:3238
+#: utils/adt/ri_triggers.c:3251
 #, c-format
 msgid "No rows were found in \"%s\"."
 msgstr "在 \"%s\" 没有发现行."
 
-#: utils/adt/ri_triggers.c:3275
+#: utils/adt/ri_triggers.c:3288
 #, c-format
 msgid "Key (%s)=(%s) is not present in table \"%s\"."
 msgstr ""
 
-#: utils/adt/ri_triggers.c:3281
+#: utils/adt/ri_triggers.c:3294
 #, c-format
 msgid ""
 "update or delete on \"%s\" violates foreign key constraint \"%s\" on \"%s\""
 msgstr "在 \"%1$s\" 上更新或删除违反了在 \"%3$s\" 上的外键约束 \"%2$s\""
 
-#: utils/adt/ri_triggers.c:3284
+#: utils/adt/ri_triggers.c:3297
 #, c-format
 msgid "Key (%s)=(%s) is still referenced from table \"%s\"."
 msgstr ""
 
-#: utils/adt/ri_triggers.c:3629 utils/adt/arrayfuncs.c:2562
+#: utils/adt/ri_triggers.c:3642 utils/adt/arrayfuncs.c:2581
 #: parser/parse_oper.c:185
 #, c-format
 msgid "could not identify an equality operator for type %s"
@@ -2016,18 +2049,18 @@ msgstr ""
 msgid "value too long for type character varying(%d)"
 msgstr ""
 
-#: utils/adt/ruleutils.c:1300 commands/comment.c:404 commands/tablecmds.c:3068
-#: commands/tablecmds.c:3161 commands/tablecmds.c:3213
-#: commands/tablecmds.c:3309 commands/tablecmds.c:3370
-#: commands/tablecmds.c:3436 commands/tablecmds.c:4562
-#: commands/tablecmds.c:4699 parser/parse_relation.c:1647
-#: parser/parse_relation.c:1705 parser/parse_relation.c:1919
+#: utils/adt/ruleutils.c:1257 commands/comment.c:404 commands/tablecmds.c:3100
+#: commands/tablecmds.c:3193 commands/tablecmds.c:3245
+#: commands/tablecmds.c:3341 commands/tablecmds.c:3402
+#: commands/tablecmds.c:3468 commands/tablecmds.c:4608
+#: commands/tablecmds.c:4745 parser/parse_relation.c:1641
+#: parser/parse_relation.c:1700 parser/parse_relation.c:1913
 #: parser/parse_type.c:94
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "关系 \"%2$s\" 的 \"%1$s\" 字段不存在"
 
-#: utils/adt/ruleutils.c:1719
+#: utils/adt/ruleutils.c:1615
 #, c-format
 msgid "rule \"%s\" has unsupported event type %d"
 msgstr "规则 \"%s\" 不支持事件类型 %d"
@@ -2063,42 +2096,43 @@ msgstr "
 msgid "invalid input syntax for type bytea"
 msgstr "无效的 bytea 类型输入语法"
 
-#: utils/adt/datetime.c:1313 utils/adt/datetime.c:2088 utils/adt/date.c:87
+#: utils/adt/datetime.c:1313 utils/adt/datetime.c:2078 utils/adt/date.c:87
 msgid "date/time value \"current\" is no longer supported"
 msgstr "日期/时间值 \"current\" 不再被支持了"
 
-#: utils/adt/datetime.c:1495 utils/adt/datetime.c:2370
-#: utils/adt/formatting.c:3178
+#: utils/adt/datetime.c:1495 utils/adt/datetime.c:2360
+#: utils/adt/formatting.c:3181
 #, c-format
 msgid "inconsistent use of year %04d and \"BC\""
 msgstr ""
 
-#: utils/adt/datetime.c:3315 utils/adt/datetime.c:3322
+#: utils/adt/datetime.c:3305 utils/adt/datetime.c:3312
 #, c-format
 msgid "date/time field value out of range: \"%s\""
 msgstr "日期/时间值超出范围: \"%s\""
 
-#: utils/adt/datetime.c:3324
+#: utils/adt/datetime.c:3314
 msgid "Perhaps you need a different \"datestyle\" setting."
 msgstr "也许你需要不同的 \"datesytle\" 设置."
 
-#: utils/adt/datetime.c:3329
+#: utils/adt/datetime.c:3319
 #, c-format
 msgid "interval field value out of range: \"%s\""
 msgstr ""
 
-#: utils/adt/datetime.c:3335
+#: utils/adt/datetime.c:3325
 #, c-format
 msgid "time zone displacement out of range: \"%s\""
 msgstr ""
 
 #. translator: first %s is inet or cidr
-#: utils/adt/datetime.c:3342 utils/adt/network.c:93
+#: utils/adt/datetime.c:3332 utils/adt/network.c:93
 #, c-format
 msgid "invalid input syntax for type %s: \"%s\""
 msgstr "无效的类型 %s 输入语法: \"%s\""
 
 #: utils/adt/numutils.c:74 utils/adt/numutils.c:84 utils/adt/numutils.c:97
+#: utils/adt/int8.c:101 utils/adt/int8.c:136
 #, c-format
 msgid "invalid input syntax for integer: \"%s\""
 msgstr "无效的整数类型输入语法: \"%s\""
@@ -2110,8 +2144,8 @@ msgstr "值 \"%s\" 
 
 #: utils/adt/numutils.c:117
 #, c-format
-msgid "value \"%s\" is out of range for type shortint"
-msgstr "值 \"%s\" 超出短整数类型范围"
+msgid "value \"%s\" is out of range for type smallint"
+msgstr "值 \"%s\" 超出 smallint 类型范围"
 
 #: utils/adt/numutils.c:123
 #, c-format
@@ -2195,6 +2229,10 @@ msgstr "
 msgid "invalid input syntax for type boolean: \"%s\""
 msgstr "无效的布尔类型输入语法: \"%s\""
 
+#: utils/adt/char.c:177
+msgid "\"char\" out of range"
+msgstr "\"char\" 超出范围"
+
 #: utils/adt/date.c:802
 msgid "cannot convert reserved abstime value to date"
 msgstr "不能转换保留 abstime 值为 date"
@@ -2229,12 +2267,12 @@ msgstr "\"time with time zone\" 
 msgid "\"interval\" time zone \"%s\" not valid"
 msgstr ""
 
-#: utils/adt/int8.c:96 utils/adt/int8.c:127
+#: utils/adt/int8.c:117
 #, c-format
-msgid "invalid input syntax for type bigint: \"%s\""
-msgstr "无效的 bigint 类型输入语法: \"%s\""
+msgid "value \"%s\" is out of range for type bigint"
+msgstr "值 \"%s\" 超出 bigint 类型范围"
 
-#: utils/adt/int8.c:896
+#: utils/adt/int8.c:1066
 msgid "OID out of range"
 msgstr "OID 超出范围"
 
@@ -2409,16 +2447,16 @@ msgstr "
 msgid "global tablespace never has databases"
 msgstr "全局表空间没有数据库"
 
-#: utils/adt/misc.c:174 access/transam/slru.c:930 commands/tablespace.c:529
-#: commands/tablespace.c:694
+#: utils/adt/misc.c:174 access/transam/slru.c:930 commands/tablespace.c:525
+#: commands/tablespace.c:692 ../port/copydir.c:55
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "无法打开目录 \"%s\": %m"
 
 #: utils/adt/misc.c:177
 #, c-format
-msgid "%u is not a tablespace oid"
-msgstr "%u 不是一个表空间 oid"
+msgid "%u is not a tablespace OID"
+msgstr "%u 不是一个表空间 OID"
 
 #: utils/adt/network.c:105
 #, c-format
@@ -2460,11 +2498,11 @@ msgstr "
 msgid "invalid mask length: %d"
 msgstr "无效掩码长度: %d"
 
-#: utils/adt/selfuncs.c:3369 utils/adt/selfuncs.c:3756
+#: utils/adt/selfuncs.c:3370 utils/adt/selfuncs.c:3757
 msgid "case insensitive matching not supported on type bytea"
 msgstr ""
 
-#: utils/adt/selfuncs.c:3474 utils/adt/selfuncs.c:3917
+#: utils/adt/selfuncs.c:3475 utils/adt/selfuncs.c:3918
 msgid "regular-expression matching not supported on type bytea"
 msgstr "在 bytea 类型上不支持正则表达式匹配"
 
@@ -2473,77 +2511,77 @@ msgstr "
 msgid "encoding conversion from %s to ASCII not supported"
 msgstr "编码转换不支持从 %s 到 ASCII 的转换"
 
-#: utils/adt/formatting.c:983
+#: utils/adt/formatting.c:986
 msgid "\"9\" must be ahead of \"PR\""
 msgstr "\"9\" 必须在 \"PR\" 之前"
 
-#: utils/adt/formatting.c:1002
+#: utils/adt/formatting.c:1005
 msgid "\"0\" must be ahead of \"PR\""
 msgstr "\"0\" 必须在 \"PR\" 之前"
 
-#: utils/adt/formatting.c:1031
+#: utils/adt/formatting.c:1034
 msgid "multiple decimal points"
 msgstr "多个小数点"
 
-#: utils/adt/formatting.c:1038 utils/adt/formatting.c:1143
+#: utils/adt/formatting.c:1041 utils/adt/formatting.c:1146
 msgid "cannot use \"V\" and decimal point together"
 msgstr "不能 \"V\" 和小数点一起使用"
 
-#: utils/adt/formatting.c:1053
+#: utils/adt/formatting.c:1056
 msgid "not unique \"S\""
 msgstr "不是唯一的 \"S\""
 
-#: utils/adt/formatting.c:1060
+#: utils/adt/formatting.c:1063
 msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together"
 msgstr "\"S\" 不可以和 \"PL\"/\"MI\"/\"SG\"/\"PR\" 一起使用"
 
-#: utils/adt/formatting.c:1084
+#: utils/adt/formatting.c:1087
 msgid "cannot use \"S\" and \"MI\" together"
 msgstr "\"S\" 不可以和 \"MI\" 一起使用"
 
-#: utils/adt/formatting.c:1097
+#: utils/adt/formatting.c:1100
 msgid "cannot use \"S\" and \"PL\" together"
 msgstr "\"S\" 不可以和 \"PL\" 一起使用"
 
-#: utils/adt/formatting.c:1110
+#: utils/adt/formatting.c:1113
 msgid "cannot use \"S\" and \"SG\" together"
 msgstr "\"S\" 不可以和 \"SG\" 一起使用"
 
-#: utils/adt/formatting.c:1122
+#: utils/adt/formatting.c:1125
 msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together"
 msgstr "\"PR\" 不可以和 \"S\"/\"PL\"/\"MI\"/\"SG\" 一起使用"
 
-#: utils/adt/formatting.c:1152
+#: utils/adt/formatting.c:1155
 msgid "\"E\" is not supported"
 msgstr "不支持 \"E\""
 
-#: utils/adt/formatting.c:1423
+#: utils/adt/formatting.c:1426
 #, c-format
 msgid "\"%s\" is not a number"
 msgstr "\"%s\" 不是一个数字"
 
-#: utils/adt/formatting.c:1686
+#: utils/adt/formatting.c:1689
 msgid "invalid AM/PM string"
 msgstr "无效的 AM/PM 字符串"
 
-#: utils/adt/formatting.c:2032
+#: utils/adt/formatting.c:2035
 msgid "\"TZ\"/\"tz\" not supported"
 msgstr "不支持 \"TZ\"/\"tz\""
 
-#: utils/adt/formatting.c:2042
+#: utils/adt/formatting.c:2045
 #, c-format
 msgid "invalid value for %s"
 msgstr "%s 的无效数值"
 
-#: utils/adt/formatting.c:3139
+#: utils/adt/formatting.c:3142
 msgid "AM/PM hour must be between 1 and 12"
 msgstr "AM/PM 小时必需在 1 到 12 之间"
 
-#: utils/adt/formatting.c:3213
+#: utils/adt/formatting.c:3216
 msgid "cannot calculate day of year without year information"
 msgstr "没有年份信息无法计算年的天数"
 
-#: utils/adt/formatting.c:3992
+#: utils/adt/formatting.c:4082
 msgid "\"RN\" not supported"
 msgstr "不支持 \"RN\""
 
@@ -2591,130 +2629,130 @@ msgstr ""
 msgid "invalid array element type OID: %u"
 msgstr "无效的数组元素类型 OID: %u"
 
-#: utils/adt/array_userfuncs.c:358 utils/adt/arrayfuncs.c:1130
-#: utils/adt/arrayfuncs.c:2398
+#: utils/adt/array_userfuncs.c:358 utils/adt/arrayfuncs.c:1149
+#: utils/adt/arrayfuncs.c:2417
 #, c-format
 msgid "invalid number of dimensions: %d"
 msgstr "无效的大小值: %d"
 
-#: utils/adt/array_userfuncs.c:362 utils/adt/arrayfuncs.c:215
-#: utils/adt/arrayfuncs.c:470 utils/adt/arrayfuncs.c:1134
-#: utils/adt/arrayfuncs.c:2402 executor/execQual.c:257 executor/execQual.c:285
-#: executor/execQual.c:2030
+#: utils/adt/array_userfuncs.c:362 utils/adt/arrayfuncs.c:216
+#: utils/adt/arrayfuncs.c:472 utils/adt/arrayfuncs.c:1153
+#: utils/adt/arrayfuncs.c:2421 executor/execQual.c:257 executor/execQual.c:285
+#: executor/execQual.c:2065
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:222 utils/adt/arrayfuncs.c:234
+#: utils/adt/arrayfuncs.c:223 utils/adt/arrayfuncs.c:235
 msgid "missing dimension value"
 msgstr "缺少大小值"
 
-#: utils/adt/arrayfuncs.c:244
+#: utils/adt/arrayfuncs.c:245
 msgid "missing \"]\" in array dimensions"
 msgstr "数组声明缺少 ']'"
 
-#: utils/adt/arrayfuncs.c:252
+#: utils/adt/arrayfuncs.c:253
 msgid "upper bound cannot be less than lower bound"
 msgstr "上限不能小于底限"
 
-#: utils/adt/arrayfuncs.c:264 utils/adt/arrayfuncs.c:290
+#: utils/adt/arrayfuncs.c:265 utils/adt/arrayfuncs.c:291
 msgid "array value must start with \"{\" or dimension information"
 msgstr "数组值必须以 \"{\" 开始或者维数信息"
 
-#: utils/adt/arrayfuncs.c:278
+#: utils/adt/arrayfuncs.c:279
 msgid "missing assignment operator"
 msgstr "缺少指定的操作符"
 
-#: utils/adt/arrayfuncs.c:295 utils/adt/arrayfuncs.c:301
+#: utils/adt/arrayfuncs.c:296 utils/adt/arrayfuncs.c:302
 msgid "array dimensions incompatible with array literal"
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:327
+#: utils/adt/arrayfuncs.c:328
 msgid "missing left brace"
 msgstr "缺少左边的大括号"
 
-#: utils/adt/arrayfuncs.c:407 utils/adt/arrayfuncs.c:422
-#: utils/adt/arrayfuncs.c:431 utils/adt/arrayfuncs.c:445
-#: utils/adt/arrayfuncs.c:465 utils/adt/arrayfuncs.c:493
-#: utils/adt/arrayfuncs.c:498 utils/adt/arrayfuncs.c:538
-#: utils/adt/arrayfuncs.c:559 utils/adt/arrayfuncs.c:578
-#: utils/adt/arrayfuncs.c:657 utils/adt/arrayfuncs.c:669
-#: utils/adt/arrayfuncs.c:698 utils/adt/arrayfuncs.c:713
-#: utils/adt/arrayfuncs.c:751
+#: utils/adt/arrayfuncs.c:409 utils/adt/arrayfuncs.c:424
+#: utils/adt/arrayfuncs.c:433 utils/adt/arrayfuncs.c:447
+#: utils/adt/arrayfuncs.c:467 utils/adt/arrayfuncs.c:495
+#: utils/adt/arrayfuncs.c:500 utils/adt/arrayfuncs.c:540
+#: utils/adt/arrayfuncs.c:561 utils/adt/arrayfuncs.c:580
+#: utils/adt/arrayfuncs.c:673 utils/adt/arrayfuncs.c:682
+#: utils/adt/arrayfuncs.c:710 utils/adt/arrayfuncs.c:725
+#: utils/adt/arrayfuncs.c:778
 #, c-format
 msgid "malformed array literal: \"%s\""
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:505 executor/execQual.c:2050
+#: utils/adt/arrayfuncs.c:507 executor/execQual.c:2085
 msgid ""
 "multidimensional arrays must have array expressions with matching dimensions"
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:1141
+#: utils/adt/arrayfuncs.c:1160
 msgid "invalid array flags"
 msgstr "无效的数组标记"
 
-#: utils/adt/arrayfuncs.c:1149
+#: utils/adt/arrayfuncs.c:1168
 msgid "wrong element type"
 msgstr "错误的元素类型"
 
-#: utils/adt/arrayfuncs.c:1192 utils/cache/lsyscache.c:1756
+#: utils/adt/arrayfuncs.c:1211 utils/cache/lsyscache.c:1764
 #, c-format
 msgid "no binary input function available for type %s"
 msgstr "没有类型 %s 的有效二进制输入函数"
 
-#: utils/adt/arrayfuncs.c:1285
+#: utils/adt/arrayfuncs.c:1304
 #, c-format
 msgid "improper binary format in array element %d"
 msgstr "数组元素 %d 为不正确的二进制格式"
 
-#: utils/adt/arrayfuncs.c:1364 utils/cache/lsyscache.c:1792
+#: utils/adt/arrayfuncs.c:1383 utils/cache/lsyscache.c:1800
 #, c-format
 msgid "no binary output function available for type %s"
 msgstr "没有类型 %s 的有效二进制输出函数"
 
-#: utils/adt/arrayfuncs.c:1638
+#: utils/adt/arrayfuncs.c:1657
 msgid "slices of fixed-length arrays not implemented"
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:1776 utils/adt/arrayfuncs.c:1781
-#: utils/adt/arrayfuncs.c:1821 utils/adt/arrayfuncs.c:1843
-#: utils/adt/arrayfuncs.c:1855 utils/adt/arrayfuncs.c:2016
-#: utils/adt/arrayfuncs.c:2033 utils/adt/arrayfuncs.c:2044
-#: utils/adt/arrayfuncs.c:2053 utils/adt/arrayfuncs.c:2064
+#: utils/adt/arrayfuncs.c:1795 utils/adt/arrayfuncs.c:1800
+#: utils/adt/arrayfuncs.c:1840 utils/adt/arrayfuncs.c:1862
+#: utils/adt/arrayfuncs.c:1874 utils/adt/arrayfuncs.c:2035
+#: utils/adt/arrayfuncs.c:2052 utils/adt/arrayfuncs.c:2063
+#: utils/adt/arrayfuncs.c:2072 utils/adt/arrayfuncs.c:2083
 msgid "invalid array subscripts"
 msgstr "无效的数组下标"
 
-#: utils/adt/arrayfuncs.c:1972
+#: utils/adt/arrayfuncs.c:1991
 msgid "updates on slices of fixed-length arrays not implemented"
 msgstr ""
 
-#: utils/adt/arrayfuncs.c:2007 utils/adt/arrayfuncs.c:2076
+#: utils/adt/arrayfuncs.c:2026 utils/adt/arrayfuncs.c:2095
 msgid "source array too small"
 msgstr "源数组太小"
 
-#: utils/adt/arrayfuncs.c:2300 utils/adt/arrayfuncs.c:3302
+#: utils/adt/arrayfuncs.c:2319 utils/adt/arrayfuncs.c:3321
 msgid "null array elements not supported"
 msgstr "不支持空数组元素"
 
-#: utils/adt/arrayfuncs.c:2540 utils/adt/arrayfuncs.c:2695
+#: utils/adt/arrayfuncs.c:2559 utils/adt/arrayfuncs.c:2714
 msgid "cannot compare arrays of different element types"
 msgstr "无法比较不同元素类型的数组"
 
-#: utils/adt/arrayfuncs.c:2712
+#: utils/adt/arrayfuncs.c:2731
 #, c-format
 msgid "could not identify a comparison function for type %s"
 msgstr "无法为类型 %s 确认一个比对函数"
 
-#: utils/adt/arrayfuncs.c:3111
+#: utils/adt/arrayfuncs.c:3130
 msgid "could not determine target array type"
 msgstr "无法确定目标数组类型"
 
-#: utils/adt/arrayfuncs.c:3117
+#: utils/adt/arrayfuncs.c:3136
 msgid "target type is not an array"
 msgstr "目标类型不是一个数组"
 
-#: utils/adt/arrayfuncs.c:3129
+#: utils/adt/arrayfuncs.c:3148
 msgid "array coercion to domain type elements not currently supported"
 msgstr ""
 
@@ -2799,13 +2837,12 @@ msgstr "
 msgid "improper binary format in record column %d"
 msgstr "在记录字段 %d 为不正确的二进制格式"
 
-#: utils/adt/pgstatfuncs.c:191 utils/fmgr/funcapi.c:39 executor/execQual.c:866
-#: executor/execQual.c:910 executor/execQual.c:1086 executor/execQual.c:1184
-#: executor/execQual.c:3410 executor/functions.c:565 executor/functions.c:604
-msgid "set-valued function called in context that cannot accept a set"
-msgstr ""
+#: utils/adt/regexp.c:155 utils/adt/regexp.c:241
+#, c-format
+msgid "regular expression failed: %s"
+msgstr "正则表达式失败: %s"
 
-#: utils/adt/regexp.c:178
+#: utils/adt/regexp.c:187
 #, c-format
 msgid "invalid regular expression: %s"
 msgstr "无效的正则表达式: %s"
@@ -2826,11 +2863,11 @@ msgstr "
 msgid "more than one operator named %s"
 msgstr "多个操作符名为 %s"
 
-#: utils/adt/regproc.c:639 gram.y:3502
+#: utils/adt/regproc.c:639 gram.y:3491
 msgid "missing argument"
 msgstr "缺少参数"
 
-#: utils/adt/regproc.c:640 gram.y:3503
+#: utils/adt/regproc.c:640 gram.y:3492
 msgid "Use NONE to denote the missing argument of a unary operator."
 msgstr "使用 NONE 表示一元操作符缺少的参数."
 
@@ -2901,63 +2938,79 @@ msgstr "
 msgid "unrecognized API version %d reported by info function \"%s\""
 msgstr ""
 
-#: utils/fmgr/fmgr.c:764 utils/fmgr/fmgr.c:1628
+#: utils/fmgr/fmgr.c:760 utils/fmgr/fmgr.c:1635
 #, c-format
 msgid "function %u has too many arguments (%d, maximum is %d)"
 msgstr "函数 %u 参数太多 (%d, 最大个数为 %d)"
 
-#: utils/init/miscinit.c:309 utils/cache/lsyscache.c:2064
-#: commands/variable.c:662 commands/user.c:896 commands/user.c:1009
-#: commands/user.c:1101 commands/user.c:1230
+#: utils/fmgr/funcapi.c:39 executor/execQual.c:866 executor/execQual.c:910
+#: executor/execQual.c:1086 executor/execQual.c:1211 executor/execQual.c:3445
+#: executor/functions.c:666 executor/functions.c:705
+msgid "set-valued function called in context that cannot accept a set"
+msgstr ""
+
+#: utils/init/miscinit.c:335 utils/cache/lsyscache.c:2044
+#: commands/variable.c:664 commands/user.c:899 commands/user.c:1012
+#: commands/user.c:1104 commands/user.c:1233
 #, c-format
 msgid "user \"%s\" does not exist"
 msgstr "用户 \"%s\" 不存在"
 
-#: utils/init/miscinit.c:377
+#: utils/init/miscinit.c:403
 msgid "permission denied to set session authorization"
 msgstr "设置会话认证权限不允许"
 
-#: utils/init/miscinit.c:403
+#: utils/init/miscinit.c:429
 #, c-format
 msgid "invalid user ID: %d"
 msgstr "非法用户 ID: %d"
 
-#: utils/init/miscinit.c:493
+#: utils/init/miscinit.c:519
 #, c-format
 msgid "could not create lock file \"%s\": %m"
 msgstr "无法创建锁文件 \"%s\": %m"
 
-#: utils/init/miscinit.c:507
+#: utils/init/miscinit.c:533
 #, c-format
 msgid "could not open lock file \"%s\": %m"
 msgstr "无法打开锁文件 \"%s\": %m"
 
-#: utils/init/miscinit.c:513
+#: utils/init/miscinit.c:539
 #, c-format
 msgid "could not read lock file \"%s\": %m"
 msgstr "无法读取锁文件 \"%s\": %m"
 
-#: utils/init/miscinit.c:544
+#: utils/init/miscinit.c:589
 #, c-format
 msgid "lock file \"%s\" already exists"
 msgstr "锁文件 \"%s\" 已经存在"
 
-#: utils/init/miscinit.c:547
+#: utils/init/miscinit.c:593
+#, c-format
+msgid "Is another postgres (PID %d) running in data directory \"%s\"?"
+msgstr "是否其它 postgres (PID %d) 运行在数据目录 \"%s\"?"
+
+#: utils/init/miscinit.c:595
 #, c-format
-msgid "Is another %s (PID %d) running in data directory \"%s\"?"
-msgstr "是否其它 %s (PID %d) 运行在数据目录 \"%s\"?"
+msgid "Is another postmaster (PID %d) running in data directory \"%s\"?"
+msgstr "是否其它 postmaster (PID %d) 运行在数据目录 \"%s\"?"
 
-#: utils/init/miscinit.c:550
+#: utils/init/miscinit.c:598
 #, c-format
-msgid "Is another %s (PID %d) using socket file \"%s\"?"
-msgstr "是否其它 %s (PID %d) 使用套接字文件 \"%s\"?"
+msgid "Is another postgres (PID %d) using socket file \"%s\"?"
+msgstr "是否其它 postgres (PID %d) 使用套接字文件 \"%s\"?"
 
-#: utils/init/miscinit.c:579
+#: utils/init/miscinit.c:600
+#, c-format
+msgid "Is another postmaster (PID %d) using socket file \"%s\"?"
+msgstr "是否其它 postmaster (PID %d) 使用套接字文件 \"%s\"?"
+
+#: utils/init/miscinit.c:628
 #, c-format
 msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use"
 msgstr "先前存在的共享内存块 (key %lu, ID %lu) 仍在使用中"
 
-#: utils/init/miscinit.c:582
+#: utils/init/miscinit.c:631
 #, c-format
 msgid ""
 "If you're sure there are no old server processes still running, remove the "
@@ -2967,81 +3020,81 @@ msgstr ""
 "如果你确认没有旧的服务器进程在运行, 用命令 \"ipcrm\" 删除共享内存块,或者只删"
 "除文件 \"%s\"."
 
-#: utils/init/miscinit.c:599
+#: utils/init/miscinit.c:648
 #, c-format
 msgid "could not remove old lock file \"%s\": %m"
 msgstr "无法删除旧的锁文件 \"%s\": %m"
 
-#: utils/init/miscinit.c:601
+#: utils/init/miscinit.c:650
 msgid ""
 "The file seems accidentally left over, but it could not be removed. Please "
 "remove the file by hand and try again."
 msgstr "文件像是意外留下的, 但是不能删除它. 请手工删除此文件, 然后再重试一次."
 
-#: utils/init/miscinit.c:623 utils/init/miscinit.c:633
+#: utils/init/miscinit.c:672 utils/init/miscinit.c:682
 #, c-format
 msgid "could not write lock file \"%s\": %m"
 msgstr "无法写入锁文件 \"%s\": %m"
 
-#: utils/init/miscinit.c:743 utils/misc/guc.c:4891
+#: utils/init/miscinit.c:792 utils/misc/guc.c:4938
 #, c-format
 msgid "could not read from file \"%s\": %m"
 msgstr "无法读取文件 \"%s\": %m"
 
-#: utils/init/miscinit.c:783 utils/init/miscinit.c:792 utils/misc/guc.c:4751
-#: utils/misc/guc.c:4815 access/transam/xlog.c:1556 access/transam/xlog.c:1681
-#: access/transam/xlog.c:2967 access/transam/xlog.c:3005
-#: commands/tablespace.c:668 commands/tablespace.c:674 commands/copy.c:1117
-#: postmaster/postmaster.c:3495
+#: utils/init/miscinit.c:832 utils/init/miscinit.c:841 utils/misc/guc.c:4798
+#: utils/misc/guc.c:4862 access/transam/xlog.c:1556 access/transam/xlog.c:1680
+#: access/transam/xlog.c:2975 access/transam/xlog.c:3013
+#: commands/tablespace.c:664 commands/tablespace.c:670 commands/copy.c:1117
+#: postmaster/postmaster.c:2917 postmaster/postmaster.c:2927
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "无法写入文件 \"%s\": %m"
 
-#: utils/init/miscinit.c:834 utils/init/miscinit.c:847
+#: utils/init/miscinit.c:883 utils/init/miscinit.c:896
 #, c-format
 msgid "\"%s\" is not a valid data directory"
 msgstr "\"%s\" 不是一个有效的数据目录"
 
-#: utils/init/miscinit.c:836
+#: utils/init/miscinit.c:885
 #, c-format
 msgid "File \"%s\" is missing."
 msgstr "文件 \"%s\" 丢失."
 
-#: utils/init/miscinit.c:849
+#: utils/init/miscinit.c:898
 #, c-format
 msgid "File \"%s\" does not contain valid data."
 msgstr "文件 \"%s\" 没有包含有效数据."
 
-#: utils/init/miscinit.c:851
+#: utils/init/miscinit.c:900
 msgid "You may need to initdb."
 msgstr "你需要初始化数据库 (initdb)."
 
-#: utils/init/miscinit.c:858 access/transam/xlog.c:3191
-#: access/transam/xlog.c:3221 access/transam/xlog.c:3228
-#: access/transam/xlog.c:3235 access/transam/xlog.c:3242
-#: access/transam/xlog.c:3249 access/transam/xlog.c:3256
-#: access/transam/xlog.c:3265 access/transam/xlog.c:3272
-#: access/transam/xlog.c:3280
+#: utils/init/miscinit.c:907 access/transam/xlog.c:3199
+#: access/transam/xlog.c:3229 access/transam/xlog.c:3236
+#: access/transam/xlog.c:3243 access/transam/xlog.c:3250
+#: access/transam/xlog.c:3257 access/transam/xlog.c:3264
+#: access/transam/xlog.c:3273 access/transam/xlog.c:3280
+#: access/transam/xlog.c:3288
 msgid "database files are incompatible with server"
 msgstr "数据库文件和服务器不兼容"
 
-#: utils/init/miscinit.c:859
+#: utils/init/miscinit.c:908
 #, c-format
 msgid ""
 "The data directory was initialized by PostgreSQL version %ld.%ld, which is "
 "not compatible with this version %s."
 msgstr "数据目录是以 PostgreSQL 版本 %ld.%ld 初始化的, 它于当前版本 %s 不兼容."
 
-#: utils/init/miscinit.c:901
+#: utils/init/miscinit.c:950
 msgid "invalid list syntax for parameter \"preload_libraries\""
 msgstr ""
 
-#: utils/init/miscinit.c:947
+#: utils/init/miscinit.c:996
 #, c-format
 msgid "preloaded library \"%s\" with initialization function \"%s\""
 msgstr "预装入带初始化函数 \"%s\" 库 \"%s\""
 
-#: utils/init/miscinit.c:951
+#: utils/init/miscinit.c:1000
 #, c-format
 msgid "preloaded library \"%s\""
 msgstr "预装入库 \"%s\""
@@ -3056,235 +3109,238 @@ msgstr "
 msgid "database \"%s\" is not currently accepting connections"
 msgstr "数据库 \"%s\" 当前不接受联接"
 
-#: utils/init/postinit.c:278
+#: utils/init/postinit.c:285
 #, c-format
 msgid "The database subdirectory \"%s\" is missing."
 msgstr "数据库子目录 \"%s\" 丢失."
 
-#: utils/init/postinit.c:283
+#: utils/init/postinit.c:290
 #, c-format
 msgid "could not access directory \"%s\": %m"
 msgstr "无法访问目录 \"%s\": %m"
 
-#: utils/init/postinit.c:292
+#: utils/init/postinit.c:299
 #, c-format
 msgid "could not change directory to \"%s\": %m"
 msgstr "无法跳转到目录 \"%s\" 中: %m"
 
-#: utils/init/postinit.c:375
+#: utils/init/postinit.c:382
 msgid "no users are defined in this database system"
 msgstr "当前数据库系统中没有定义用户"
 
-#: utils/init/postinit.c:376
+#: utils/init/postinit.c:383
 #, c-format
 msgid ""
 "You should immediately run CREATE USER \"%s\" WITH SYSID %d CREATEUSER;."
 msgstr "你应该立即运行 CREATE USER \"%s\" WITH SYSID %d CREATEUSER;."
 
-#: utils/init/postinit.c:412
+#: utils/init/postinit.c:423
 msgid "connection limit exceeded for non-superusers"
 msgstr "超过了非超级用户的联接限制"
 
-#: guc-file.l:162
-#, c-format
-msgid "could not access configuration file \"%s\": %m"
-msgstr "无法处理配置文件 \"%s\": %m"
-
-#: guc-file.l:306
+#: guc-file.l:272
 #, c-format
 msgid "syntax error in file \"%s\" line %u, near end of line"
 msgstr "在文件 \"%s\" 第 %u 行, 行尾附近语法错误"
 
-#: guc-file.l:311
+#: guc-file.l:277
 #, c-format
 msgid "syntax error in file \"%s\" line %u, near token \"%s\""
 msgstr "在文件 \"%s\" 第 %u 行, 记号 \"%s\" 附近语法错误"
 
-#: utils/misc/guc.c:233
+#: utils/misc/guc.c:234
 msgid "Ungrouped"
 msgstr "取消组"
 
-#: utils/misc/guc.c:235
+#: utils/misc/guc.c:236
+msgid "File Locations"
+msgstr ""
+
+#: utils/misc/guc.c:238
 msgid "Connections and Authentication"
 msgstr "联接和认证"
 
-#: utils/misc/guc.c:237
+#: utils/misc/guc.c:240
 msgid "Connections and Authentication / Connection Settings"
 msgstr "联接和认证 / 联接设置"
 
-#: utils/misc/guc.c:239
+#: utils/misc/guc.c:242
 msgid "Connections and Authentication / Security and Authentication"
 msgstr "联接和认证 / 安全和认证"
 
-#: utils/misc/guc.c:241
+#: utils/misc/guc.c:244
 msgid "Resource Usage"
 msgstr "资源使用"
 
-#: utils/misc/guc.c:243
+#: utils/misc/guc.c:246
 msgid "Resource Usage / Memory"
 msgstr "资源使用 / 内存"
 
-#: utils/misc/guc.c:245
+#: utils/misc/guc.c:248
 msgid "Resource Usage / Free Space Map"
 msgstr "资源使用 / 空闲空间"
 
-#: utils/misc/guc.c:247
+#: utils/misc/guc.c:250
 msgid "Resource Usage / Kernel Resources"
 msgstr "资源使用 / 内核资源"
 
-#: utils/misc/guc.c:249
+#: utils/misc/guc.c:252
 msgid "Write-Ahead Log"
 msgstr "Write-Ahead 日志"
 
-#: utils/misc/guc.c:251
+#: utils/misc/guc.c:254
 msgid "Write-Ahead Log / Settings"
 msgstr "Write-Ahead 日志 / 设置"
 
-#: utils/misc/guc.c:253
+#: utils/misc/guc.c:256
 msgid "Write-Ahead Log / Checkpoints"
 msgstr "Write-Ahead 日志 / Checkpoints"
 
-#: utils/misc/guc.c:255
+#: utils/misc/guc.c:258
 msgid "Query Tuning"
 msgstr "查询调整"
 
-#: utils/misc/guc.c:257
+#: utils/misc/guc.c:260
 msgid "Query Tuning / Planner Method Configuration"
 msgstr "查询调整 / 规划器方法配置"
 
-#: utils/misc/guc.c:259
+#: utils/misc/guc.c:262
 msgid "Query Tuning / Planner Cost Constants"
 msgstr "查询调整 / Planner Cost Constants"
 
-#: utils/misc/guc.c:261
+#: utils/misc/guc.c:264
 msgid "Query Tuning / Genetic Query Optimizer"
 msgstr "查询调整 / 基因查询优化"
 
-#: utils/misc/guc.c:263
+#: utils/misc/guc.c:266
 msgid "Query Tuning / Other Planner Options"
 msgstr "查询调整 / 其它规划器选项"
 
-#: utils/misc/guc.c:265
+#: utils/misc/guc.c:268
 msgid "Reporting and Logging"
 msgstr "报告和日志"
 
-#: utils/misc/guc.c:267
+#: utils/misc/guc.c:270
 msgid "Reporting and Logging / Where to Log"
 msgstr "报告和日志 / 日志位置"
 
-#: utils/misc/guc.c:269
+#: utils/misc/guc.c:272
 msgid "Reporting and Logging / When to Log"
 msgstr "报告和日志 / 日志时间"
 
-#: utils/misc/guc.c:271
+#: utils/misc/guc.c:274
 msgid "Reporting and Logging / What to Log"
 msgstr "报告和日志 / 日志内容"
 
-#: utils/misc/guc.c:273
+#: utils/misc/guc.c:276
 msgid "Statistics"
 msgstr "统计信息"
 
-#: utils/misc/guc.c:275
+#: utils/misc/guc.c:278
 msgid "Statistics / Monitoring"
 msgstr "统计信息 / 监控"
 
-#: utils/misc/guc.c:277
+#: utils/misc/guc.c:280
 msgid "Statistics / Query and Index Statistics Collector"
 msgstr "统计信息 / 查询和索引统计收集器"
 
-#: utils/misc/guc.c:279
+#: utils/misc/guc.c:282
 msgid "Client Connection Defaults"
 msgstr "客户端联接默认"
 
-#: utils/misc/guc.c:281
+#: utils/misc/guc.c:284
 msgid "Client Connection Defaults / Statement Behavior"
 msgstr "客户端联接默认 / 语句动作"
 
-#: utils/misc/guc.c:283
+#: utils/misc/guc.c:286
 msgid "Client Connection Defaults / Locale and Formatting"
 msgstr "客户端联接默认 / 本地化和格式化"
 
-#: utils/misc/guc.c:285
+#: utils/misc/guc.c:288
 msgid "Client Connection Defaults / Other Defaults"
 msgstr "客户端联接默认 / 其它默认"
 
-#: utils/misc/guc.c:287
+#: utils/misc/guc.c:290
 msgid "Lock Management"
 msgstr "锁管理"
 
-#: utils/misc/guc.c:289
+#: utils/misc/guc.c:292
 msgid "Version and Platform Compatibility"
 msgstr "版本和平台兼容性"
 
-#: utils/misc/guc.c:291
+#: utils/misc/guc.c:294
 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions"
 msgstr "版本和平台兼容性 / 上一个 PostgreSQL 版本"
 
-#: utils/misc/guc.c:293
+#: utils/misc/guc.c:296
 msgid "Version and Platform Compatibility / Other Platforms and Clients"
 msgstr "版本和平台兼容性 / 其它平台和客户端"
 
-#: utils/misc/guc.c:295
+#: utils/misc/guc.c:298
+msgid "Preset Options"
+msgstr "预置选项"
+
+#: utils/misc/guc.c:300
+msgid "Customized Options"
+msgstr "定制选项"
+
+#: utils/misc/guc.c:302
 msgid "Developer Options"
 msgstr "开发人员选项"
 
-#: utils/misc/guc.c:297
-msgid "Compiled-in Options"
-msgstr "已编译进的选项"
-
-#: utils/misc/guc.c:352
+#: utils/misc/guc.c:357
 msgid "Enables the planner's use of sequential-scan plans."
 msgstr ""
 
-#: utils/misc/guc.c:360
+#: utils/misc/guc.c:365
 msgid "Enables the planner's use of index-scan plans."
 msgstr ""
 
-#: utils/misc/guc.c:368
+#: utils/misc/guc.c:373
 msgid "Enables the planner's use of TID scan plans."
 msgstr ""
 
-#: utils/misc/guc.c:376
+#: utils/misc/guc.c:381
 msgid "Enables the planner's use of explicit sort steps."
 msgstr ""
 
-#: utils/misc/guc.c:384
+#: utils/misc/guc.c:389
 msgid "Enables the planner's use of hashed aggregation plans."
 msgstr ""
 
-#: utils/misc/guc.c:392
+#: utils/misc/guc.c:397
 msgid "Enables the planner's use of nested-loop join plans."
 msgstr ""
 
-#: utils/misc/guc.c:400
+#: utils/misc/guc.c:405
 msgid "Enables the planner's use of merge join plans."
 msgstr ""
 
-#: utils/misc/guc.c:408
+#: utils/misc/guc.c:413
 msgid "Enables the planner's use of hash join plans."
 msgstr ""
 
-#: utils/misc/guc.c:416
+#: utils/misc/guc.c:421
 msgid "Enables genetic query optimization."
 msgstr "启用基因查询优化."
 
-#: utils/misc/guc.c:417
+#: utils/misc/guc.c:422
 msgid "This algorithm attempts to do planning without exhaustive searching."
 msgstr ""
 
-#: utils/misc/guc.c:426
+#: utils/misc/guc.c:431
 msgid "Shows whether the current user is a superuser."
 msgstr "显示当前用户是否是超级用户."
 
-#: utils/misc/guc.c:435
+#: utils/misc/guc.c:440
 msgid "Enables SSL connections."
 msgstr "启用 SSL 联接."
 
-#: utils/misc/guc.c:443
+#: utils/misc/guc.c:448
 msgid "Forces synchronization of updates to disk."
 msgstr "强制和磁盘同步更新"
 
-#: utils/misc/guc.c:444
+#: utils/misc/guc.c:449
 msgid ""
 "The server will use the fsync() system call in several places to make sure "
 "that updates are physically written to disk. This insures that a database "
@@ -3292,11 +3348,11 @@ msgid ""
 "hardware crash."
 msgstr ""
 
-#: utils/misc/guc.c:454
+#: utils/misc/guc.c:459
 msgid "Continues processing past damaged page headers."
 msgstr ""
 
-#: utils/misc/guc.c:455
+#: utils/misc/guc.c:460
 msgid ""
 "Detection of a damaged page header normally causes PostgreSQL to report an "
 "error, aborting the current transaction. Setting zero_damaged_pages to true "
@@ -3305,113 +3361,113 @@ msgid ""
 "rows on the damaged page."
 msgstr ""
 
-#: utils/misc/guc.c:467
+#: utils/misc/guc.c:472
 msgid "Runs the server silently."
 msgstr "以安静模式 (silently) 运行服务器."
 
-#: utils/misc/guc.c:468
+#: utils/misc/guc.c:473
 msgid ""
 "If this parameter is set, the server will automatically run in the "
 "background and any controlling terminals are dissociated."
 msgstr "如果此参数设置了, 服务器将自动运行在后台, 与任何控制终端脱离."
 
-#: utils/misc/guc.c:476
+#: utils/misc/guc.c:481
 msgid "Logs each successful connection."
 msgstr "记录每一个成功的联接."
 
-#: utils/misc/guc.c:484
-msgid "Logs end of a session, including duration"
+#: utils/misc/guc.c:489
+msgid "Logs end of a session, including duration."
 msgstr ""
 
-#: utils/misc/guc.c:494
+#: utils/misc/guc.c:499
 msgid "Turns on various assertion checks."
 msgstr "打开各种判断检查."
 
-#: utils/misc/guc.c:495
+#: utils/misc/guc.c:500
 msgid "This is a debugging aid."
 msgstr "这是一个出错帮助."
 
-#: utils/misc/guc.c:506 utils/misc/guc.c:588 utils/misc/guc.c:661
-#: utils/misc/guc.c:670 utils/misc/guc.c:679 utils/misc/guc.c:688
-#: utils/misc/guc.c:1073 utils/misc/guc.c:1082 utils/misc/guc.c:1142
+#: utils/misc/guc.c:511 utils/misc/guc.c:593 utils/misc/guc.c:666
+#: utils/misc/guc.c:675 utils/misc/guc.c:684 utils/misc/guc.c:693
+#: utils/misc/guc.c:1078 utils/misc/guc.c:1087 utils/misc/guc.c:1145
 msgid "no description available"
 msgstr "没有有用的描述"
 
-#: utils/misc/guc.c:515
-msgid "Logs the duration each completed SQL statement."
+#: utils/misc/guc.c:520
+msgid "Logs the duration of each completed SQL statement."
 msgstr "记录每一条完成了的 SQL 语句过程."
 
-#: utils/misc/guc.c:523
+#: utils/misc/guc.c:528
 msgid "Prints the parse tree to the server log."
 msgstr "打印分析树到服务器日志."
 
-#: utils/misc/guc.c:531
+#: utils/misc/guc.c:536
 msgid "Prints the parse tree after rewriting to server log."
 msgstr "重写服务器日志后打印分析树."
 
-#: utils/misc/guc.c:539
+#: utils/misc/guc.c:544
 msgid "Prints the execution plan to server log."
 msgstr "打印执行规划到服务器日志."
 
-#: utils/misc/guc.c:547
+#: utils/misc/guc.c:552
 msgid "Indents parse and plan tree displays."
 msgstr ""
 
-#: utils/misc/guc.c:555
+#: utils/misc/guc.c:560
 msgid "Writes parser performance statistics to the server log."
 msgstr "把分析器性能统计信息写入到服务器日志中."
 
-#: utils/misc/guc.c:563
+#: utils/misc/guc.c:568
 msgid "Writes planner performance statistics to the server log."
 msgstr "把规划器性能统计信息写入到服务器日志中."
 
-#: utils/misc/guc.c:571
+#: utils/misc/guc.c:576
 msgid "Writes executor performance statistics to the server log."
 msgstr "把执行器 (executor) 性能统计信息写入到服务器日志中."
 
-#: utils/misc/guc.c:579
+#: utils/misc/guc.c:584
 msgid "Writes cumulative performance statistics to the server log."
 msgstr "把 cumulative 性能统计信息写入到服务器日志中."
 
-#: utils/misc/guc.c:599
+#: utils/misc/guc.c:604
 msgid "Uses the indented output format for EXPLAIN VERBOSE."
 msgstr "EXPLAIN VERBOSE 使用缩进输出格式."
 
-#: utils/misc/guc.c:607
+#: utils/misc/guc.c:612
 msgid "Starts the server statistics-collection subprocess."
 msgstr "启动服务器统计收集器子进程."
 
-#: utils/misc/guc.c:615
+#: utils/misc/guc.c:620
 msgid "Zeroes collected statistics on server restart."
 msgstr "当服务器重启, 清空已收集的统计信息."
 
-#: utils/misc/guc.c:623
+#: utils/misc/guc.c:628
 msgid "Collects statistics about executing commands."
 msgstr "收集执行命令的统计信息."
 
-#: utils/misc/guc.c:624
+#: utils/misc/guc.c:629
 msgid ""
 "Enables the collection of statistics on the currently executing command of "
 "each session, along with the time at which that command began execution."
 msgstr ""
 
-#: utils/misc/guc.c:633
+#: utils/misc/guc.c:638
 msgid "Collects row-level statistics on database activity."
 msgstr "在使用中的数据库上收集行级别 (row-level) 统计信息."
 
-#: utils/misc/guc.c:641
+#: utils/misc/guc.c:646
 msgid "Collects block-level statistics on database activity."
 msgstr "在使用中的数据库上收集块级别 (block-level) 统计信息."
 
-#: utils/misc/guc.c:650
+#: utils/misc/guc.c:655
 msgid "Generates debugging output for LISTEN and NOTIFY."
 msgstr "为 LISTEN 和 NOTIFY 生成出错信息."
 
-#: utils/misc/guc.c:699
+#: utils/misc/guc.c:704
 msgid "Logs the host name in the connection logs."
 msgstr "在联接日志中记录主机名."
 
-#: utils/misc/guc.c:700
+#: utils/misc/guc.c:705
 msgid ""
 "By default, connection logs only show the IP address of the connecting host. "
 "If you want them to show the host name you can turn this on, but depending "
@@ -3419,25 +3475,25 @@ msgid ""
 "performance penalty."
 msgstr ""
 
-#: utils/misc/guc.c:710
+#: utils/misc/guc.c:715
 msgid "Causes subtables to be included by default in various commands."
 msgstr ""
 
-#: utils/misc/guc.c:718
+#: utils/misc/guc.c:723
 msgid "Interprets ACST, CST, EST, and SAT as Australian time zones."
 msgstr ""
 
-#: utils/misc/guc.c:719
+#: utils/misc/guc.c:724
 msgid ""
 "Otherwise they are interpreted as North/South American time zones and "
 "Saturday."
 msgstr ""
 
-#: utils/misc/guc.c:727
+#: utils/misc/guc.c:732
 msgid "Encrypt passwords."
 msgstr "加密口令."
 
-#: utils/misc/guc.c:728
+#: utils/misc/guc.c:733
 msgid ""
 "When a password is specified in CREATE USER or ALTER USER without writing "
 "either ENCRYPTED or UNENCRYPTED, this parameter determines whether the "
@@ -3446,11 +3502,11 @@ msgstr ""
 "当在 CREATE USER 或者 ALTER USER 语句中指定的口令没有用 ENCRYPTED 或者 "
 "UNENCRYPTED, 此参数确定口令是否加密."
 
-#: utils/misc/guc.c:737
+#: utils/misc/guc.c:742
 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"."
 msgstr "\"expr=NULL\" 看作为 \"expr IS NULL\"."
 
-#: utils/misc/guc.c:738
+#: utils/misc/guc.c:743
 msgid ""
 "When turned on, expressions of the form expr = NULL (or NULL = expr) are "
 "treated as expr IS NULL, that is, they return true if expr evaluates to the "
@@ -3458,131 +3514,131 @@ msgid ""
 "always return null (unknown)."
 msgstr ""
 
-#: utils/misc/guc.c:749
+#: utils/misc/guc.c:754
 msgid "Enables per-database user names."
 msgstr ""
 
-#: utils/misc/guc.c:758
+#: utils/misc/guc.c:763
 msgid "This parameter doesn't do anything."
 msgstr "这个参数不做任何事情."
 
-#: utils/misc/guc.c:759
+#: utils/misc/guc.c:764
 msgid ""
 "It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-"
 "vintage clients."
 msgstr ""
 
-#: utils/misc/guc.c:767
+#: utils/misc/guc.c:772
 msgid "Sets the default read-only status of new transactions."
 msgstr "为新事物设置默认的只读状态."
 
-#: utils/misc/guc.c:775
+#: utils/misc/guc.c:780
 msgid "Sets the current transaction's read-only status."
 msgstr "设置当前事务的只读状态."
 
-#: utils/misc/guc.c:784
+#: utils/misc/guc.c:789
 msgid "Automatically adds missing table references to FROM clauses."
 msgstr ""
 
-#: utils/misc/guc.c:792
+#: utils/misc/guc.c:797
 msgid "Check function bodies during CREATE FUNCTION."
 msgstr "在创建函数过程中检查函数体."
 
-#: utils/misc/guc.c:800
-msgid "By default, newly-created tables should have OIDs"
-msgstr "默认情况下, 新创建的表将有 OID"
+#: utils/misc/guc.c:805
+msgid "By default, newly-created tables should have OIDs."
+msgstr "默认情况下, 新创建的表将有 OID."
 
-#: utils/misc/guc.c:808
-msgid "Start a subprocess to capture stderr output into log files"
-msgstr ""
+#: utils/misc/guc.c:813
+msgid "Start a subprocess to capture stderr output into log files."
+msgstr "启动一个子进程用来捕获 stderr 输出到日志文件中."
 
-#: utils/misc/guc.c:816
-msgid "Truncate existing log files of same name during log rotation"
+#: utils/misc/guc.c:821
+msgid "Truncate existing log files of same name during log rotation."
 msgstr ""
 
-#: utils/misc/guc.c:826
+#: utils/misc/guc.c:831
 msgid "Emit WAL-related debugging output."
 msgstr ""
 
-#: utils/misc/guc.c:837
+#: utils/misc/guc.c:842
 msgid "Datetimes are integer based"
 msgstr ""
 
-#: utils/misc/guc.c:860
+#: utils/misc/guc.c:865
 msgid "Sets the default statistics target."
 msgstr "设置默认统计对象."
 
-#: utils/misc/guc.c:861
+#: utils/misc/guc.c:866
 msgid ""
 "This applies to table columns that have not had a column-specific target set "
 "via ALTER TABLE SET STATISTICS."
 msgstr ""
 
-#: utils/misc/guc.c:869
+#: utils/misc/guc.c:874
 msgid "Sets the FROM-list size beyond which subqueries are not collapsed."
 msgstr ""
 
-#: utils/misc/guc.c:871
+#: utils/misc/guc.c:876
 msgid ""
 "The planner will merge subqueries into upper queries if the resulting FROM "
 "list would have no more than this many items."
 msgstr ""
 
-#: utils/misc/guc.c:880
+#: utils/misc/guc.c:885
 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened."
 msgstr ""
 
-#: utils/misc/guc.c:882
+#: utils/misc/guc.c:887
 msgid ""
 "The planner will flatten explicit inner JOIN constructs into lists of FROM "
 "items whenever a list of no more than this many items would result."
 msgstr ""
 
-#: utils/misc/guc.c:891
+#: utils/misc/guc.c:896
 msgid "Sets the threshold of FROM items beyond which GEQO is used."
 msgstr ""
 
-#: utils/misc/guc.c:899
+#: utils/misc/guc.c:904
 msgid "GEQO: effort is used to set the default for other GEQO parameters."
 msgstr ""
 
-#: utils/misc/guc.c:907
+#: utils/misc/guc.c:912
 msgid "GEQO: number of individuals in the population."
 msgstr "GEQO: 人群 (population) 个体 (individual) 数"
 
-#: utils/misc/guc.c:908 utils/misc/guc.c:916
+#: utils/misc/guc.c:913 utils/misc/guc.c:921
 msgid "Zero selects a suitable default value."
 msgstr ""
 
-#: utils/misc/guc.c:915
+#: utils/misc/guc.c:920
 msgid "GEQO: number of iterations of the algorithm."
 msgstr "GEQO: 算法的迭代次数"
 
-#: utils/misc/guc.c:924
+#: utils/misc/guc.c:929
 msgid "The time in milliseconds to wait on lock before checking for deadlock."
 msgstr ""
 
-#: utils/misc/guc.c:940
+#: utils/misc/guc.c:945
 msgid "Sets the maximum number of concurrent connections."
 msgstr "设置并发联接的最大个数."
 
-#: utils/misc/guc.c:949
+#: utils/misc/guc.c:954
 msgid "Sets the number of connection slots reserved for superusers."
 msgstr "设置为超级用户保留的联接数."
 
-#: utils/misc/guc.c:958
+#: utils/misc/guc.c:963
 msgid "Sets the number of shared memory buffers used by the server."
 msgstr "设置服务器使用的共享内存缓冲区的数量."
 
-#: utils/misc/guc.c:967
+#: utils/misc/guc.c:972
 msgid "Sets the TCP port the server listens on."
 msgstr "设置服务器监听的 TCP 端口号."
 
-#: utils/misc/guc.c:976
+#: utils/misc/guc.c:981
 msgid "Sets the access permissions of the Unix-domain socket."
 msgstr "设置 Unix-domain 套接字的访问权限."
 
-#: utils/misc/guc.c:977
+#: utils/misc/guc.c:982
 msgid ""
 "Unix-domain sockets use the usual Unix file system permission set. The "
 "parameter value is expected to be an numeric mode specification in the form "
@@ -3590,317 +3646,325 @@ msgid ""
 "format the number must start with a 0 (zero).)"
 msgstr ""
 
-#: utils/misc/guc.c:989
+#: utils/misc/guc.c:994
 msgid "Sets the maximum memory to be used for query workspaces."
 msgstr "设置查询工作空间使用的最大内存数."
 
-#: utils/misc/guc.c:990
+#: utils/misc/guc.c:995
 msgid ""
 "This much memory may be used by each internal sort operation and hash table "
 "before switching to temporary disk files."
 msgstr "这些内存将可能用于内部排序操作和转化到临时磁盘文件之前的散列表"
 
-#: utils/misc/guc.c:1000
+#: utils/misc/guc.c:1005
 msgid "Sets the maximum memory to be used for maintenance operations."
 msgstr "设置维护操作使用的最大内存数."
 
-#: utils/misc/guc.c:1001
+#: utils/misc/guc.c:1006
 msgid "This includes operations such as VACUUM and CREATE INDEX."
 msgstr ""
 
-#: utils/misc/guc.c:1009
+#: utils/misc/guc.c:1014
 msgid "Sets the maximum stack depth, in kilobytes."
 msgstr ""
 
-#: utils/misc/guc.c:1018
+#: utils/misc/guc.c:1023
 msgid "Vacuum cost for a page found in the buffer cache."
 msgstr ""
 
-#: utils/misc/guc.c:1027
+#: utils/misc/guc.c:1032
 msgid "Vacuum cost for a page not found in the buffer cache."
 msgstr ""
 
-#: utils/misc/guc.c:1036
+#: utils/misc/guc.c:1041
 msgid "Vacuum cost for a page dirtied by vacuum."
 msgstr ""
 
-#: utils/misc/guc.c:1045
+#: utils/misc/guc.c:1050
 msgid "Vacuum cost amount available before napping."
 msgstr ""
 
-#: utils/misc/guc.c:1054
+#: utils/misc/guc.c:1059
 msgid "Vacuum cost delay in milliseconds."
 msgstr ""
 
-#: utils/misc/guc.c:1063
+#: utils/misc/guc.c:1068
 msgid ""
 "Sets the maximum number of simultaneously open files for each server process."
 msgstr "设置每一个服务器进程同时打开文件的最大个数."
 
-#: utils/misc/guc.c:1093
+#: utils/misc/guc.c:1098
 msgid "Sets the maximum allowed duration (in milliseconds) of any statement."
 msgstr "设置任何语句执行时间的最大值 (单位毫秒)."
 
-#: utils/misc/guc.c:1094
+#: utils/misc/guc.c:1099
 msgid "A value of 0 turns off the timeout."
 msgstr "值为 0 的时候关闭超时."
 
-#: utils/misc/guc.c:1102
+#: utils/misc/guc.c:1107
 msgid ""
 "Sets the maximum number of tables and indexes for which free space is "
 "tracked."
 msgstr ""
 
-#: utils/misc/guc.c:1111
+#: utils/misc/guc.c:1115
 msgid "Sets the maximum number of disk pages for which free space is tracked."
 msgstr ""
 
-#: utils/misc/guc.c:1121
+#: utils/misc/guc.c:1124
 msgid "Sets the maximum number of locks per transaction."
 msgstr "设置每一个事物锁的最大个数."
 
-#: utils/misc/guc.c:1122
+#: utils/misc/guc.c:1125
 msgid ""
 "The shared lock table is sized on the assumption that at most "
 "max_locks_per_transaction * max_connections distinct objects will need to be "
 "locked at any one time."
 msgstr ""
 
-#: utils/misc/guc.c:1132
+#: utils/misc/guc.c:1135
 msgid "Sets the maximum time in seconds to complete client authentication."
 msgstr "设置完成客户端认证的最大秒数."
 
-#: utils/misc/guc.c:1152
+#: utils/misc/guc.c:1155
 msgid ""
 "Sets the maximum distance in log segments between automatic WAL checkpoints."
 msgstr ""
 
-#: utils/misc/guc.c:1161
+#: utils/misc/guc.c:1164
 msgid "Sets the maximum time in seconds between automatic WAL checkpoints."
 msgstr ""
 
-#: utils/misc/guc.c:1170
+#: utils/misc/guc.c:1173
 msgid ""
 "Logs if filling of checkpoint segments happens more frequently than this (in "
 "seconds)."
 msgstr ""
 
-#: utils/misc/guc.c:1172
+#: utils/misc/guc.c:1175
 msgid ""
 "Write a message to the server log if checkpoints caused by the filling of "
 "checkpoint segment files happens more frequently than this number of "
 "seconds. Zero turns off the warning."
 msgstr ""
 
-#: utils/misc/guc.c:1182
+#: utils/misc/guc.c:1185
 msgid "Sets the number of disk-page buffers in shared memory for WAL."
 msgstr ""
 
-#: utils/misc/guc.c:1191
+#: utils/misc/guc.c:1194
 msgid ""
 "Sets the delay in microseconds between transaction commit and flushing WAL "
 "to disk."
 msgstr ""
 
-#: utils/misc/guc.c:1201
+#: utils/misc/guc.c:1204
 msgid ""
 "Sets the minimum concurrent open transactions before performing commit_delay."
 msgstr ""
 
-#: utils/misc/guc.c:1211
+#: utils/misc/guc.c:1214
 msgid "Sets the number of digits displayed for floating-point values."
 msgstr "设置浮点数显示的位数."
 
-#: utils/misc/guc.c:1212
+#: utils/misc/guc.c:1215
 msgid ""
 "This affects real, double precision, and geometric data types. The parameter "
 "value is added to the standard number of digits (FLT_DIG or DBL_DIG as "
 "appropriate)."
 msgstr ""
 
-#: utils/misc/guc.c:1222
+#: utils/misc/guc.c:1225
 msgid ""
 "Sets the minimum execution time in milliseconds above which statements will "
 "be logged."
 msgstr ""
 
-#: utils/misc/guc.c:1224
+#: utils/misc/guc.c:1227
 msgid "Zero prints all queries. The default is -1 (turning this feature off)."
 msgstr "零打印所有查询. 默认值为 -1 (关闭此功能)."
 
-#: utils/misc/guc.c:1232
+#: utils/misc/guc.c:1235
 msgid "Interval to report shared buffer status in seconds"
 msgstr ""
 
-#: utils/misc/guc.c:1241
+#: utils/misc/guc.c:1244
 msgid "Background writer sleep time between rounds in milliseconds"
 msgstr "后台写入器 (Background writer) 两次之间的休眠时间, 毫秒级"
 
-#: utils/misc/guc.c:1250
+#: utils/misc/guc.c:1253
 msgid "Background writer percentage of dirty buffers to flush per round"
 msgstr "后台写入器 (Background writer) 每次刷新的脏缓冲区比率"
 
-#: utils/misc/guc.c:1259
+#: utils/misc/guc.c:1262
 msgid "Background writer maximum number of pages to flush per round"
 msgstr "后台写入器 (Background writer) 每次最大刷新页数"
 
-#: utils/misc/guc.c:1268
-msgid "Automatic logfile rotation will occur after N minutes"
+#: utils/misc/guc.c:1271
+msgid "Automatic log file rotation will occur after N minutes"
 msgstr ""
 
-#: utils/misc/guc.c:1277
-msgid "Automatic logfile rotation will occur after N kilobytes"
+#: utils/misc/guc.c:1280
+msgid "Automatic log file rotation will occur after N kilobytes"
 msgstr ""
 
-#: utils/misc/guc.c:1286
-msgid "Shows the maximum number of function arguments"
-msgstr "显示函数参数的最大个数"
+#: utils/misc/guc.c:1289
+msgid "Shows the maximum number of function arguments."
+msgstr "显示函数参数的最大个数."
 
-#: utils/misc/guc.c:1296
-msgid "Shows the maximum number of index keys"
-msgstr "显示索引键值的最大个数"
+#: utils/misc/guc.c:1299
+msgid "Shows the maximum number of index keys."
+msgstr "显示索引键值的最大个数."
 
-#: utils/misc/guc.c:1306
+#: utils/misc/guc.c:1309
 msgid "Shows the maximum identifier length"
 msgstr "显示标识符最大长度"
 
-#: utils/misc/guc.c:1316
+#: utils/misc/guc.c:1319
 msgid "Shows size of a disk block"
 msgstr "显示一个磁盘块的尺寸"
 
-#: utils/misc/guc.c:1335
+#: utils/misc/guc.c:1338
 msgid "Sets the planner's assumption about size of the disk cache."
 msgstr ""
 
-#: utils/misc/guc.c:1336
+#: utils/misc/guc.c:1339
 msgid ""
 "That is, the portion of the kernel's disk cache that will be used for "
 "PostgreSQL data files. This is measured in disk pages, which are normally 8 "
 "kB each."
 msgstr ""
 
-#: utils/misc/guc.c:1345
+#: utils/misc/guc.c:1348
 msgid ""
 "Sets the planner's estimate of the cost of a nonsequentially fetched disk "
 "page."
 msgstr ""
 
-#: utils/misc/guc.c:1347
+#: utils/misc/guc.c:1350
 msgid ""
 "This is measured as a multiple of the cost of a sequential page fetch. A "
 "higher value makes it more likely a sequential scan will be used, a lower "
 "value makes it more likely an index scan will be used."
 msgstr ""
 
-#: utils/misc/guc.c:1357
+#: utils/misc/guc.c:1360
 msgid "Sets the planner's estimate of the cost of processing each tuple (row)."
 msgstr ""
 
-#: utils/misc/guc.c:1358 utils/misc/guc.c:1368 utils/misc/guc.c:1377
+#: utils/misc/guc.c:1361 utils/misc/guc.c:1371 utils/misc/guc.c:1380
 msgid "This is measured as a fraction of the cost of a sequential page fetch."
 msgstr ""
 
-#: utils/misc/guc.c:1366
+#: utils/misc/guc.c:1369
 msgid ""
 "Sets the planner's estimate of processing cost for each index tuple (row) "
 "during index scan."
 msgstr ""
 
-#: utils/misc/guc.c:1376
+#: utils/misc/guc.c:1379
 msgid ""
 "Sets the planner's estimate of processing cost of each operator in WHERE."
 msgstr ""
 
-#: utils/misc/guc.c:1386
+#: utils/misc/guc.c:1389
 msgid "GEQO: selective pressure within the population."
 msgstr ""
 
-#: utils/misc/guc.c:1396
+#: utils/misc/guc.c:1399
 msgid "Sets the seed for random-number generation."
 msgstr "设置生成随机数的种子."
 
-#: utils/misc/guc.c:1415
+#: utils/misc/guc.c:1418
 msgid "WAL archiving command."
 msgstr ""
 
-#: utils/misc/guc.c:1416
+#: utils/misc/guc.c:1419
 msgid "The shell command that will be called to archive a WAL file."
 msgstr ""
 
-#: utils/misc/guc.c:1424
+#: utils/misc/guc.c:1427
 msgid "Sets the client's character set encoding."
 msgstr "设置客户端编码"
 
-#: utils/misc/guc.c:1434
+#: utils/misc/guc.c:1437
 msgid "Sets the message levels that are sent to the client."
 msgstr "设置发送到客户端的信息级别."
 
-#: utils/misc/guc.c:1435
+#: utils/misc/guc.c:1438
 msgid ""
 "Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, LOG, NOTICE, "
 "WARNING, and ERROR. Each level includes all the levels that follow it. The "
 "later the level, the fewer messages are sent."
 msgstr ""
 
-#: utils/misc/guc.c:1446
+#: utils/misc/guc.c:1449
 msgid "Sets the message levels that are logged."
 msgstr "设置日志记录的信息级别."
 
-#: utils/misc/guc.c:1447
+#: utils/misc/guc.c:1450
 msgid ""
 "Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, "
 "WARNING, ERROR, LOG, FATAL, and PANIC. Each level includes all the levels "
 "that follow it."
 msgstr ""
 
-#: utils/misc/guc.c:1457
+#: utils/misc/guc.c:1460
 msgid "Sets the verbosity of logged messages."
 msgstr "设置日志信息的冗长."
 
-#: utils/misc/guc.c:1458
+#: utils/misc/guc.c:1461
 msgid "Valid values are \"terse\", \"default\", and \"verbose\"."
 msgstr "有效值为 \"terse\", \"default\", 和 \"verbose\"."
 
-#: utils/misc/guc.c:1465
+#: utils/misc/guc.c:1468
 msgid "Sets the type of statements logged."
 msgstr "设置记录语句的类型."
 
-#: utils/misc/guc.c:1466
-msgid "Valid values are \"none\", \"mod\", \"ddl\", and \"all\"."
-msgstr "有效值为 \"none\", \"mod\", \"ddl\", 和 \"all\"."
+#: utils/misc/guc.c:1469
+msgid "Valid values are \"none\", \"ddl\", \"mod\", and \"all\"."
+msgstr "有效值为 \"none\", \"ddl\", \"mod\", 和 \"all\"."
 
-#: utils/misc/guc.c:1474
+#: utils/misc/guc.c:1477
 msgid ""
 "Causes all statements generating error at or above this level to be logged."
 msgstr ""
 
-#: utils/misc/guc.c:1475
+#: utils/misc/guc.c:1478
 msgid ""
 "All SQL statements that cause an error of the specified level or a higher "
 "level are logged."
 msgstr ""
 
-#: utils/misc/guc.c:1484
+#: utils/misc/guc.c:1487
 msgid "Controls information prefixed to each log line"
 msgstr ""
 
-#: utils/misc/guc.c:1485
+#: utils/misc/guc.c:1488
 msgid "if blank no prefix is used"
 msgstr ""
 
-#: utils/misc/guc.c:1494
+#: utils/misc/guc.c:1497
 msgid "Sets the display format for date and time values."
 msgstr "设置日期和时间值的显示格式."
 
-#: utils/misc/guc.c:1495
+#: utils/misc/guc.c:1498
 msgid "Also controls interpretation of ambiguous date inputs."
 msgstr ""
 
-#: utils/misc/guc.c:1505
+#: utils/misc/guc.c:1508
+msgid "Sets the default tablespace to create tables and indexes in."
+msgstr ""
+
+#: utils/misc/guc.c:1509
+msgid "An empty string selects the database's default tablespace."
+msgstr ""
+
+#: utils/misc/guc.c:1517
 msgid "Sets the transaction isolation level of each new transaction."
 msgstr "设置每一个新事物的隔离 (isolation) 级别."
 
-#: utils/misc/guc.c:1506
+#: utils/misc/guc.c:1518
 msgid ""
 "Each SQL transaction has an isolation level, which can be either \"read "
 "uncommitted\", \"read committed\", \"repeatable read\", or \"serializable\"."
@@ -3908,11 +3972,11 @@ msgstr ""
 "每一个 SQL 事物都有一个隔离级别, 级别可以是 \"read uncommitted\", \"read "
 "committed\", \"repeatable read\", 或者 \"serializable\"."
 
-#: utils/misc/guc.c:1515
+#: utils/misc/guc.c:1527
 msgid "Sets the path for dynamically loadable modules."
 msgstr "设置动态加载摸组的路径."
 
-#: utils/misc/guc.c:1516
+#: utils/misc/guc.c:1528
 msgid ""
 "If a dynamically loadable module needs to be opened and the specified name "
 "does not have a directory component (i.e., the name does not contain a "
@@ -3921,286 +3985,330 @@ msgstr ""
 "如果一个动态加载模块需要打开并且指定名字没有路径 (例如, 名字中没包含斜杠), 系"
 "统将在此路径中查找指定的文件."
 
-#: utils/misc/guc.c:1527
+#: utils/misc/guc.c:1540
 msgid "Sets the location of the Kerberos server key file."
 msgstr "设置 Kerberos 服务器密钥文件位置."
 
-#: utils/misc/guc.c:1536
+#: utils/misc/guc.c:1550
 msgid "Sets the Rendezvous broadcast service name."
 msgstr ""
 
-#: utils/misc/guc.c:1547
+#: utils/misc/guc.c:1561
 msgid "Shows the collation order locale."
 msgstr ""
 
-#: utils/misc/guc.c:1557
+#: utils/misc/guc.c:1571
 msgid "Shows the character classification and case conversion locale."
 msgstr ""
 
-#: utils/misc/guc.c:1567
+#: utils/misc/guc.c:1581
 msgid "Sets the language in which messages are displayed."
 msgstr "设置信息显示语言."
 
-#: utils/misc/guc.c:1576
+#: utils/misc/guc.c:1590
 msgid "Sets the locale for formatting monetary amounts."
 msgstr "为货币数量格式设置 locale."
 
-#: utils/misc/guc.c:1585
+#: utils/misc/guc.c:1599
 msgid "Sets the locale for formatting numbers."
 msgstr "为数字格式设置 locale"
 
-#: utils/misc/guc.c:1594
+#: utils/misc/guc.c:1608
 msgid "Sets the locale for formatting date and time values."
 msgstr "为日期和时间值格式设置 locale"
 
-#: utils/misc/guc.c:1603
+#: utils/misc/guc.c:1617
 msgid "Lists shared libraries to preload into server."
 msgstr "列出预装入服务器的共享库."
 
-#: utils/misc/guc.c:1613
+#: utils/misc/guc.c:1627
 msgid "Sets the regular expression \"flavor\"."
 msgstr "设置正则表达式 \"flavor\"."
 
-#: utils/misc/guc.c:1614
+#: utils/misc/guc.c:1628
 msgid "This can be set to advanced, extended, or basic."
 msgstr "这个可以设置为 advanced, extended, 或者 basic."
 
-#: utils/misc/guc.c:1622
+#: utils/misc/guc.c:1636
 msgid "Sets the schema search order for names that are not schema-qualified."
 msgstr ""
 
-#: utils/misc/guc.c:1633
+#: utils/misc/guc.c:1647
 msgid "Sets the server (database) character set encoding."
 msgstr "设置服务器 (数据库) 字符编码."
 
-#: utils/misc/guc.c:1644
+#: utils/misc/guc.c:1658
 msgid "Shows the server version."
 msgstr "显示服务器版本信息."
 
-#: utils/misc/guc.c:1655
+#: utils/misc/guc.c:1669
 msgid "Sets the session user name."
 msgstr "设置会话用户名称."
 
-#: utils/misc/guc.c:1665
+#: utils/misc/guc.c:1679
 msgid "Sets the destination for server log output."
 msgstr "设置服务器日志输出目标."
 
-#: utils/misc/guc.c:1666
+#: utils/misc/guc.c:1680
 msgid ""
-"Valid values are combinations of stderr, syslog and eventlog, depending on "
-"platform."
-msgstr "有效值为 stderr, syslog 和 eventlog 的组合, 依赖不同平台."
+"Valid values are combinations of \"stderr\", \"syslog\", and \"eventlog\", "
+"depending on the platform."
+msgstr "有效值为 \"stderr\", \"syslog\" 和 \"eventlog\" 的组合, 依赖不同平台."
 
-#: utils/misc/guc.c:1675
+#: utils/misc/guc.c:1689
 msgid "Sets the destination directory for log files."
 msgstr "设置日志文件目的目录."
 
-#: utils/misc/guc.c:1676
-msgid ""
-"May be specified as relative to the cluster directory or as absolute path."
+#: utils/misc/guc.c:1690
+msgid "May be specified as relative to the data directory or as absolute path."
 msgstr ""
 
-#: utils/misc/guc.c:1684
+#: utils/misc/guc.c:1699
 msgid "Sets the file name pattern for log files."
 msgstr "设置日志文件的文件名字模式."
 
-#: utils/misc/guc.c:1694
+#: utils/misc/guc.c:1710
 msgid "Sets the syslog \"facility\" to be used when syslog enabled."
 msgstr "当启用系统日志 (syslog), 设置系统日志使用 \"facility\"."
 
-#: utils/misc/guc.c:1695
+#: utils/misc/guc.c:1711
 msgid ""
 "Valid values are LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, "
 "LOCAL7."
 msgstr ""
 "有效值为 LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7."
 
-#: utils/misc/guc.c:1703
+#: utils/misc/guc.c:1719
 msgid "Sets the program name used to identify PostgreSQL messages in syslog."
 msgstr "设置在系统日志 (syslog) 中确认 PostgreSQL 信息的程序名."
 
-#: utils/misc/guc.c:1714
+#: utils/misc/guc.c:1730
 msgid "Sets the time zone for displaying and interpreting time stamps."
 msgstr "设置显示和解释时间戳的时区."
 
-#: utils/misc/guc.c:1723
+#: utils/misc/guc.c:1739
 msgid "Sets the current transaction's isolation level."
 msgstr "设置当前事物的隔离级别."
 
-#: utils/misc/guc.c:1733
+#: utils/misc/guc.c:1749
 msgid "Sets the owning group of the Unix-domain socket."
 msgstr "设置 Unix-domain 套接字的属组."
 
-#: utils/misc/guc.c:1734
+#: utils/misc/guc.c:1750
 msgid ""
 "(The owning user of the socket is always the user that starts the server.)"
 msgstr "(套接字的属主用户通常也是起动服务的用户.)"
 
-#: utils/misc/guc.c:1743
+#: utils/misc/guc.c:1759
 msgid "Sets the directory where the Unix-domain socket will be created."
 msgstr "设置创建 Unix-domain 套接字的目录."
 
-#: utils/misc/guc.c:1752
+#: utils/misc/guc.c:1769
 msgid "Sets the host name or IP address(es) to listen to."
 msgstr "设置监听的主机名或 IP 地址."
 
-#: utils/misc/guc.c:1762
+#: utils/misc/guc.c:1779
 msgid "Selects the method used for forcing WAL updates out to disk."
 msgstr ""
 
-#: utils/misc/guc.c:1771
-msgid "Sets the list of known custom variable classes"
+#: utils/misc/guc.c:1788
+msgid "Sets the list of known custom variable classes."
 msgstr ""
 
-#: utils/misc/guc.c:1780
-msgid "Sets the location of the data directory"
-msgstr "设置数据目录的位置"
+#: utils/misc/guc.c:1798
+msgid "Sets the server's data directory."
+msgstr "设置服务器的数据目录"
+
+#: utils/misc/guc.c:1808
+msgid "Sets the server's main configuration file."
+msgstr "设置服务器的主配置文件"
 
-#: utils/misc/guc.c:1786
-msgid "Sets the location of the \"hba\" configuration file"
-msgstr "设置 \"hba\" 配置文件位置"
+#: utils/misc/guc.c:1818
+msgid "Sets the server's \"hba\" configuration file"
+msgstr "设置服务器的 \"hba\" 配置文件"
 
-#: utils/misc/guc.c:1792
-msgid "Sets the location of the \"ident\" configuration file"
-msgstr "设置 \"ident\" 配置文件位置"
+#: utils/misc/guc.c:1828
+msgid "Sets the server's \"ident\" configuration file"
+msgstr "设置服务器的 \"ident\" 配置文件"
 
-#: utils/misc/guc.c:1798
-msgid "Writes the postmaster PID to the specified file"
-msgstr "把 postmaster PID 写到指定文件"
+#: utils/misc/guc.c:1838
+msgid "Writes the postmaster PID to the specified file."
+msgstr "把 postmaster PID 写到指定文件."
+
+#: utils/misc/guc.c:2477
+#, c-format
+msgid ""
+"%s does not know where to find the server configuration file.\n"
+"You must specify the --config-file or -D invocation option or set the PGDATA "
+"environment variable.\n"
+msgstr ""
+"%s 不知道在哪里可以找到数据库系统配置文件.\n"
+"你必须通过 --config-file 或 -D 选项指定或者通过设置 PGDATA 环境变量.\n"
+
+#: utils/misc/guc.c:2502
+#, c-format
+msgid "%s cannot access the server configuration file \"%s\": %s\n"
+msgstr "%s 无法处理服务器的配置文件 \"%s\": %s\n"
+
+#: utils/misc/guc.c:2522
+#, c-format
+msgid ""
+"%s does not know where to find the database system data.\n"
+"This can be specified as \"data_directory\" in \"%s\", or by the -D "
+"invocation option, or by the PGDATA environment variable.\n"
+msgstr ""
+"%s 不知道在哪里可以找到数据库系统数据.\n"
+"可以在 \"%s\" 中指定 \"data_directory\", 或者通过 -D 选项指定或者通过设置 "
+"PGDATA 环境变量.\n"
+
+#: utils/misc/guc.c:2545
+#, c-format
+msgid ""
+"%s does not know where to find the \"hba\" configuration file.\n"
+"This can be specified as \"hba_file\" in \"%s\", or by the -D invocation "
+"option, or by the PGDATA environment variable.\n"
+msgstr ""
+"%s 不知道在哪里可以找到 \"hba\" 配置文件.\n"
+"可以在 \"%s\" 中指定 \"hba_file\", 或者通过 -D 选项指定或者通过设置PGDATA 环"
+"境变量.\n"
+
+#: utils/misc/guc.c:2568
+#, c-format
+msgid ""
+"%s does not know where to find the \"ident\" configuration file.\n"
+"This can be specified as \"ident_file\" in \"%s\", or by the -D invocation "
+"option, or by the PGDATA environment variable.\n"
+msgstr ""
+"%s 不知道在哪里可以找到 \"ident\" 配置文件.\n"
+"可以在 \"%s\" 中指定 \"ident_file\", 或者通过 -D 选项指定或者通过设置PGDATA "
+"环境变量.\n"
 
-#: utils/misc/guc.c:3098 utils/misc/guc.c:3787 utils/misc/guc.c:3823
-#: utils/misc/guc.c:3879 utils/misc/guc.c:4216 utils/misc/guc.c:4365
+#: utils/misc/guc.c:3274 utils/misc/guc.c:3800 utils/misc/guc.c:3840
+#: utils/misc/guc.c:3915 utils/misc/guc.c:4251 utils/misc/guc.c:4402
 #, c-format
 msgid "unrecognized configuration parameter \"%s\""
 msgstr "未认可的配置参数 \"%s\""
 
-#: utils/misc/guc.c:3117
+#: utils/misc/guc.c:3293
 #, c-format
 msgid "parameter \"%s\" cannot be changed"
 msgstr "参数 \"%s\" 不可以改变"
 
-#: utils/misc/guc.c:3129
+#: utils/misc/guc.c:3305
 #, c-format
 msgid "parameter \"%s\" cannot be changed after server start"
 msgstr "服务器启动后, 参数 \"%s\" 不能改变"
 
-#: utils/misc/guc.c:3139
+#: utils/misc/guc.c:3315
 #, c-format
 msgid "parameter \"%s\" cannot be changed now"
 msgstr "参数 \"%s\" 现在不能改变"
 
-#: utils/misc/guc.c:3169
+#: utils/misc/guc.c:3345
 #, c-format
 msgid "parameter \"%s\" cannot be set after connection start"
 msgstr "联接启动后, 参数 \"%s\" 不能设置"
 
-#: utils/misc/guc.c:3179 utils/misc/guc.c:3713
+#: utils/misc/guc.c:3355
 #, c-format
 msgid "permission denied to set parameter \"%s\""
 msgstr "设置参数 \"%s\" 权限不允许"
 
-#: utils/misc/guc.c:3236
+#: utils/misc/guc.c:3406
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "参数 \"%s\" 需要一个布尔值"
 
-#: utils/misc/guc.c:3268 utils/misc/guc.c:3376
+#: utils/misc/guc.c:3422 utils/misc/guc.c:3506
 #, c-format
 msgid "invalid value for parameter \"%s\": %d"
 msgstr "参数 \"%s\" 的值无效: %d"
 
-#: utils/misc/guc.c:3328
+#: utils/misc/guc.c:3482
 #, c-format
 msgid "parameter \"%s\" requires an integer value"
 msgstr "参数 \"%s\" 需要一个整数值"
 
-#: utils/misc/guc.c:3336
+#: utils/misc/guc.c:3490
 #, c-format
 msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
 msgstr "%d 超出了参数 \"%s\" (%d .. %d) 的有效范围"
 
-#: utils/misc/guc.c:3436
+#: utils/misc/guc.c:3566
 #, c-format
 msgid "parameter \"%s\" requires a numeric value"
 msgstr "参数 \"%s\" 需要一个数字值"
 
-#: utils/misc/guc.c:3444
+#: utils/misc/guc.c:3574
 #, c-format
 msgid "%g is outside the valid range for parameter \"%s\" (%g .. %g)"
 msgstr "%g 超出了参数 \"%s\" (%g .. %g) 的有效范围"
 
-#: utils/misc/guc.c:3477
+#: utils/misc/guc.c:3590
 #, c-format
 msgid "invalid value for parameter \"%s\": %g"
 msgstr "参数 \"%s\" 的值无效: %g"
 
-#: utils/misc/guc.c:3609
+#: utils/misc/guc.c:3688
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "参数 \"%s\" 的值无效: \"%s\""
 
-#: utils/misc/guc.c:3716
-msgid "Must be superuser to change this value to false."
-msgstr "必须为超级用户才可以改变此值为 false"
-
-#: utils/misc/guc.c:3718
-msgid "Must be superuser to increase this value or turn it off."
-msgstr "只有超级用户能增加此值或关闭它."
-
-#: utils/misc/guc.c:3719
-msgid "Must be superuser to increase this value."
-msgstr "只有超级用户能增加这个值."
+#: utils/misc/guc.c:3804 utils/misc/guc.c:3844 utils/misc/guc.c:4406
+#, c-format
+msgid "must be superuser to examine \"%s\""
+msgstr "检查 \"%s\" 必须为超级用户"
 
-#: utils/misc/guc.c:3888
+#: utils/misc/guc.c:3924
 #, c-format
 msgid "SET %s takes only one argument"
 msgstr "SET %s 只能带一个参数"
 
-#: utils/misc/guc.c:3992
+#: utils/misc/guc.c:4028
 msgid "SET requires parameter name"
 msgstr "SET 需要参数名字"
 
-#: utils/misc/guc.c:4056
+#: utils/misc/guc.c:4092
 #, c-format
 msgid "attempt to redefine parameter \"%s\""
 msgstr "尝试重新定义参数 \"%s\""
 
-#: utils/misc/guc.c:5002
+#: utils/misc/guc.c:5049
 #, c-format
 msgid "could not parse setting for parameter \"%s\""
 msgstr "无法分析参数 \"%s\" 的设置"
 
-#: utils/misc/guc.c:5200
+#: utils/misc/guc.c:5247
 msgid "invalid list syntax for parameter \"log_destination\""
 msgstr "无效的 \"log_destination\" 参数列表语法"
 
-#: utils/misc/guc.c:5223
+#: utils/misc/guc.c:5270
 #, c-format
-msgid "unrecognised \"log_destination\" key word: \"%s\""
+msgid "unrecognized \"log_destination\" key word: \"%s\""
 msgstr "不认可的 \"log_destination\" 关键字: \"%s\""
 
-#: utils/misc/guc.c:5457
+#: utils/misc/guc.c:5498
 msgid "SET AUTOCOMMIT TO OFF is no longer supported"
 msgstr "SET AUTOCOMMIT TO OFF 不再被支持"
 
-#: utils/misc/guc.c:5505
+#: utils/misc/guc.c:5546
 #, c-format
-msgid "invalid syntax for custom_variable_classes: \"%s\""
-msgstr "不合法的 custom_variable_classes 语法: \"%s\""
+msgid "invalid syntax for \"custom_variable_classes\": \"%s\""
+msgstr "不合法的 \"custom_variable_classes\" 语法: \"%s\""
 
-#: utils/misc/guc.c:5534
+#: utils/misc/guc.c:5575
 msgid "cannot enable parameter when \"log_statement_stats\" is true"
 msgstr "当 \"log_statement_stats\" 为 true 时, 不能启动参数."
 
-#: utils/misc/guc.c:5550
+#: utils/misc/guc.c:5592
 msgid ""
 "cannot enable \"log_statement_stats\" when \"log_parser_stats\", "
 "\"log_planner_stats\", or \"log_executor_stats\" is true"
 msgstr ""
-"当 \"log_parser_stats\", \"log_planner_stats\", 或者 "
-"\"log_executor_stats\" 为 true 时, 不能启动 \"log_statement_stats\"."
+"当 \"log_parser_stats\", \"log_planner_stats\", 或者 \"log_executor_stats\" "
+"为 true 时, 不能启动 \"log_statement_stats\"."
 
-#: utils/misc/guc.c:5568
+#: utils/misc/guc.c:5611
 msgid "cannot set transaction read-write mode inside a read-only transaction"
 msgstr "不能在一个只读事物里面设置读写模式"
 
@@ -4208,22 +4316,22 @@ msgstr "
 msgid "internal error: unrecognized run-time parameter type\n"
 msgstr "内部错误: 未知的运行时参数类型\n"
 
-#: utils/mmgr/aset.c:336
+#: utils/mmgr/aset.c:338
 #, c-format
 msgid "Failed while creating memory context \"%s\"."
 msgstr "创建内存上下文 \"%s\" 失败."
 
-#: utils/mmgr/aset.c:502 utils/mmgr/aset.c:699 utils/mmgr/aset.c:892
+#: utils/mmgr/aset.c:504 utils/mmgr/aset.c:701 utils/mmgr/aset.c:894
 #, c-format
 msgid "Failed on request of size %lu."
 msgstr "分配内存 %lu 大小失败."
 
-#: utils/mmgr/portalmem.c:170
+#: utils/mmgr/portalmem.c:173
 #, c-format
 msgid "cursor \"%s\" already exists"
 msgstr "游标 \"%s\" 已经存在"
 
-#: utils/mmgr/portalmem.c:174
+#: utils/mmgr/portalmem.c:177
 #, c-format
 msgid "closing existing cursor \"%s\""
 msgstr "关闭已存在的游标 \"%s\""
@@ -4255,7 +4363,7 @@ msgstr "
 msgid "type \"%s\" is only a shell"
 msgstr "类型 \"%s\" 只是一个 shell"
 
-#: utils/cache/typcache.c:369 commands/indexcmds.c:680
+#: utils/cache/typcache.c:369 commands/indexcmds.c:694
 #, c-format
 msgid "there are multiple default operator classes for data type %s"
 msgstr "数据类型 %s 有多个默认的操作符表"
@@ -4269,28 +4377,28 @@ msgstr "
 msgid "record type has not been registered"
 msgstr "记录类型没有注册"
 
-#: utils/cache/lsyscache.c:1679 utils/cache/lsyscache.c:1715
-#: utils/cache/lsyscache.c:1751 utils/cache/lsyscache.c:1787
+#: utils/cache/lsyscache.c:1687 utils/cache/lsyscache.c:1723
+#: utils/cache/lsyscache.c:1759 utils/cache/lsyscache.c:1795
 #, c-format
 msgid "type %s is only a shell"
 msgstr "类型 %s 只是一个 shell"
 
-#: utils/cache/lsyscache.c:1684
+#: utils/cache/lsyscache.c:1692
 #, c-format
 msgid "no input function available for type %s"
 msgstr "没有有效的 %s 类型输入函数"
 
-#: utils/cache/lsyscache.c:1720
+#: utils/cache/lsyscache.c:1728
 #, c-format
 msgid "no output function available for type %s"
 msgstr "没有有效的 %s 类型输出函数"
 
-#: utils/cache/relcache.c:3264
+#: utils/cache/relcache.c:3293
 #, c-format
 msgid "could not create relation-cache initialization file \"%s\": %m"
 msgstr "无法创建 relation-cache 初始化文件 \"%s\": %m"
 
-#: utils/cache/relcache.c:3266
+#: utils/cache/relcache.c:3295
 msgid "Continuing anyway, but there's something wrong."
 msgstr "仍继续, 但肯定有些错误存在."
 
@@ -4308,80 +4416,80 @@ msgstr "
 msgid "[unknown]"
 msgstr "[未知]"
 
-#: utils/error/elog.c:1474 utils/error/elog.c:1667 utils/error/elog.c:1743
+#: utils/error/elog.c:1488 utils/error/elog.c:1681 utils/error/elog.c:1757
 msgid "missing error text"
 msgstr "缺少错误信息"
 
-#: utils/error/elog.c:1477 utils/error/elog.c:1480 utils/error/elog.c:1746
-#: utils/error/elog.c:1749
+#: utils/error/elog.c:1491 utils/error/elog.c:1494 utils/error/elog.c:1760
+#: utils/error/elog.c:1763
 #, c-format
 msgid " at character %d"
 msgstr " 第 %d 个字符处"
 
-#: utils/error/elog.c:1490
+#: utils/error/elog.c:1504
 msgid "DETAIL:  "
 msgstr "详细信息:  "
 
-#: utils/error/elog.c:1497
+#: utils/error/elog.c:1511
 msgid "HINT:  "
 msgstr "提示:  "
 
-#: utils/error/elog.c:1504
+#: utils/error/elog.c:1518
 msgid "QUERY:  "
 msgstr "查询:  "
 
-#: utils/error/elog.c:1511
+#: utils/error/elog.c:1525
 msgid "CONTEXT:  "
 msgstr "上下文:  "
 
-#: utils/error/elog.c:1521
+#: utils/error/elog.c:1535
 #, c-format
 msgid "LOCATION:  %s, %s:%d\n"
 msgstr "位置:  %s, %s:%d\n"
 
-#: utils/error/elog.c:1528
+#: utils/error/elog.c:1542
 #, c-format
 msgid "LOCATION:  %s:%d\n"
 msgstr "位置:  %s:%d\n"
 
-#: utils/error/elog.c:1541
+#: utils/error/elog.c:1555
 msgid "STATEMENT:  "
 msgstr "语句:  "
 
-#: utils/error/elog.c:1859
+#: utils/error/elog.c:1873
 #, c-format
 msgid "operating system error %d"
 msgstr "操作系统错误 %d"
 
-#: utils/error/elog.c:1882
+#: utils/error/elog.c:1896
 msgid "DEBUG"
 msgstr "调试"
 
-#: utils/error/elog.c:1886
+#: utils/error/elog.c:1900
 msgid "LOG"
 msgstr "日志"
 
-#: utils/error/elog.c:1889
+#: utils/error/elog.c:1903
 msgid "INFO"
 msgstr "信息"
 
-#: utils/error/elog.c:1892
+#: utils/error/elog.c:1906
 msgid "NOTICE"
 msgstr "注意"
 
-#: utils/error/elog.c:1895
+#: utils/error/elog.c:1909
 msgid "WARNING"
 msgstr "警告"
 
-#: utils/error/elog.c:1898
+#: utils/error/elog.c:1912
 msgid "ERROR"
 msgstr "错误"
 
-#: utils/error/elog.c:1901
+#: utils/error/elog.c:1915
 msgid "FATAL"
 msgstr "致命错误"
 
-#: utils/error/elog.c:1904
+#: utils/error/elog.c:1918
 msgid "PANIC"
 msgstr "比致命错误还过分的错误"
 
@@ -4431,18 +4539,23 @@ msgstr "
 msgid "row is too big: size %lu, maximum size %lu"
 msgstr "行太大: 尺寸 %lu, 最大值 %lu"
 
-#: access/heap/heapam.c:608 access/heap/heapam.c:643 access/heap/heapam.c:678
+#: access/heap/heapam.c:487
+#, c-format
+msgid "could not obtain lock on relation \"%s\""
+msgstr "无法在关系 \"%s\" 上获得锁"
+
+#: access/heap/heapam.c:610 access/heap/heapam.c:645 access/heap/heapam.c:680
 #: catalog/aclchk.c:286
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "\"%s\" 是一个索引"
 
-#: access/heap/heapam.c:613 access/heap/heapam.c:648 access/heap/heapam.c:683
+#: access/heap/heapam.c:615 access/heap/heapam.c:650 access/heap/heapam.c:685
 #, c-format
 msgid "\"%s\" is a special relation"
 msgstr "\"%s\" 为特别关系"
 
-#: access/heap/heapam.c:618 access/heap/heapam.c:653 access/heap/heapam.c:688
+#: access/heap/heapam.c:620 access/heap/heapam.c:655 access/heap/heapam.c:690
 #: catalog/aclchk.c:293
 #, c-format
 msgid "\"%s\" is a composite type"
@@ -4503,9 +4616,9 @@ msgid "could not access status of transaction %u"
 msgstr "无法处理事物 %u 的状态"
 
 #: access/transam/slru.c:645 access/transam/xlog.c:1527
-#: access/transam/xlog.c:1648 access/transam/xlog.c:2914
-#: access/transam/xlog.c:5311 access/transam/xlog.c:5429
-#: postmaster/postmaster.c:3431
+#: access/transam/xlog.c:1647 access/transam/xlog.c:2922
+#: access/transam/xlog.c:5340 access/transam/xlog.c:5458
+#: postmaster/postmaster.c:2907
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "无法创建文件 \"%s\": %m"
@@ -4526,13 +4639,13 @@ msgid "could not write to file \"%s\" at offset %u: %m"
 msgstr "无法往文件 \"%s\" 偏移量 %u 写入: %m"
 
 #: access/transam/slru.c:673 access/transam/xlog.c:1563
-#: access/transam/xlog.c:1688 access/transam/xlog.c:3011
+#: access/transam/xlog.c:1687 access/transam/xlog.c:3019
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "无法 fsync 文件 \"%s\": %m"
 
 #: access/transam/slru.c:680 access/transam/xlog.c:1568
-#: access/transam/xlog.c:1693 access/transam/xlog.c:3016
+#: access/transam/xlog.c:1692 access/transam/xlog.c:3024
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "无法关闭文件 \"%s\": %m"
@@ -4547,250 +4660,254 @@ msgstr ""
 msgid "removing file \"%s\""
 msgstr "删除文件 \"%s\""
 
-#: access/transam/slru.c:967 commands/tablespace.c:577
-#: commands/tablespace.c:721
+#: access/transam/slru.c:967 commands/tablespace.c:573
+#: commands/tablespace.c:719
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "无法读取目录 \"%s\": %m"
 
-#: access/transam/xact.c:402
+#: access/transam/xact.c:510
 msgid "cannot have more than 2^32-1 commands in a transaction"
 msgstr "在一个事物中不可以超过 2^32-1 个命令"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:1996
+#: access/transam/xact.c:2178
 #, c-format
 msgid "%s cannot run inside a transaction block"
 msgstr "%s 无法在事物块中运行"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2006
+#: access/transam/xact.c:2188
 #, c-format
 msgid "%s cannot run inside a subtransaction"
 msgstr "%s 无法在一个子事物中运行"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2018
+#: access/transam/xact.c:2200
 #, c-format
 msgid "%s cannot be executed from a function"
 msgstr "来自一个函数的 %s 不能被执行"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2069
+#: access/transam/xact.c:2251
 #, c-format
 msgid "%s may only be used in transaction blocks"
 msgstr "%s 只可以在事物块中使用"
 
-#: access/transam/xact.c:2197
+#: access/transam/xact.c:2434
 msgid "there is already a transaction in progress"
 msgstr "已经有一个事物在运行中"
 
-#: access/transam/xact.c:2290 access/transam/xact.c:2377
+#: access/transam/xact.c:2549 access/transam/xact.c:2640
 msgid "there is no transaction in progress"
 msgstr "没有事物在运行中"
 
-#: access/transam/xact.c:2467 access/transam/xact.c:2514
-#: access/transam/xact.c:2520 access/transam/xact.c:2562
-#: access/transam/xact.c:2613 access/transam/xact.c:2619
+#: access/transam/xact.c:2732 access/transam/xact.c:2781
+#: access/transam/xact.c:2787 access/transam/xact.c:2831
+#: access/transam/xact.c:2878 access/transam/xact.c:2884
 msgid "no such savepoint"
 msgstr ""
 
-#: access/transam/xlog.c:906
+#: access/transam/xact.c:3522
+msgid "cannot have more than 2^32-1 subtransactions in a transaction"
+msgstr "在一个事物中不可以超过有 2^32-1 个子事物"
+
+#: access/transam/xlog.c:907
 #, c-format
 msgid "could not create archive status file \"%s\": %m"
 msgstr "无法创建归档状态文件 \"%s\": %m"
 
-#: access/transam/xlog.c:914
+#: access/transam/xlog.c:915
 #, c-format
 msgid "could not write archive status file \"%s\": %m"
 msgstr "无法写入归档状态文件 \"%s\": %m"
 
-#: access/transam/xlog.c:1179 access/transam/xlog.c:1303
-#: access/transam/xlog.c:5171
+#: access/transam/xlog.c:1180 access/transam/xlog.c:1304
+#: access/transam/xlog.c:5192
 #, c-format
 msgid "could not close log file %u, segment %u: %m"
 msgstr "无法关闭日志文件 %u, 段 %u: %m"
 
-#: access/transam/xlog.c:1237 access/transam/xlog.c:2407
+#: access/transam/xlog.c:1238 access/transam/xlog.c:2416
 #, c-format
 msgid "could not seek in log file %u, segment %u to offset %u: %m"
 msgstr "无法在日志文件 %u 中查找, 段 %u 偏移量 %u: %m"
 
-#: access/transam/xlog.c:1251
+#: access/transam/xlog.c:1252
 #, c-format
 msgid "could not write to log file %u, segment %u at offset %u: %m"
 msgstr "无法写入日志文件 %u, 段 %u 偏移量 %u: %m"
 
-#: access/transam/xlog.c:1503 access/transam/xlog.c:1595
-#: access/transam/xlog.c:1809 access/transam/xlog.c:1863
-#: access/transam/xlog.c:1872
+#: access/transam/xlog.c:1504 access/transam/xlog.c:1595
+#: access/transam/xlog.c:1808 access/transam/xlog.c:1862
+#: access/transam/xlog.c:1871
 #, c-format
 msgid "could not open file \"%s\" (log file %u, segment %u): %m"
 msgstr "无法打开文件 \"%s\" (日志文件 %u, 段 %u): %m"
 
-#: access/transam/xlog.c:1661 access/transam/xlog.c:2945
-#: access/transam/xlog.c:5400 access/transam/xlog.c:5451
-#: access/transam/xlog.c:5523 access/transam/xlog.c:5548
-#: access/transam/xlog.c:5586
+#: access/transam/xlog.c:1660 access/transam/xlog.c:2953
+#: access/transam/xlog.c:5429 access/transam/xlog.c:5480
+#: access/transam/xlog.c:5552 access/transam/xlog.c:5577
+#: access/transam/xlog.c:5615
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "无法读取文件 \"%s\": %m"
 
-#: access/transam/xlog.c:1664
+#: access/transam/xlog.c:1663
 #, c-format
-msgid "insufficient data in file \"%s\""
+msgid "not enough data in file \"%s\""
 msgstr "文件 \"%s\" 中的数据不足"
 
-#: access/transam/xlog.c:1776
+#: access/transam/xlog.c:1775
 #, c-format
 msgid ""
 "could not link file \"%s\" to \"%s\" (initialization of log file %u, segment "
 "%u): %m"
 msgstr "无法链接文件 \"%s\" 到 \"%s\" (日志文件 %u 的初始化, 段 %u): %m"
 
-#: access/transam/xlog.c:1783
+#: access/transam/xlog.c:1782
 #, c-format
 msgid ""
 "could not rename file \"%s\" to \"%s\" (initialization of log file %u, "
 "segment %u): %m"
 msgstr "无法重命名文件 \"%s\" 为 \"%s\" (日志文件 %u 的初始化, 段 %u): %m"
 
-#: access/transam/xlog.c:1938 access/transam/xlog.c:2040
-#: access/transam/xlog.c:5294
+#: access/transam/xlog.c:1937 access/transam/xlog.c:2039
+#: access/transam/xlog.c:5323
 #, c-format
-msgid "could not stat \"%s\": %m"
-msgstr "无法取 \"%s\" 的状态: %m"
+msgid "could not stat file \"%s\": %m"
+msgstr "无法取文件 \"%s\" 的状态: %m"
 
-#: access/transam/xlog.c:1946 access/transam/xlog.c:5456
-#: access/transam/xlog.c:5610 postmaster/postmaster.c:3569
+#: access/transam/xlog.c:1945 access/transam/xlog.c:5485
+#: access/transam/xlog.c:5639 commands/tablespace.c:589
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "无法删除文件 \"%s\": %m"
 
-#: access/transam/xlog.c:2021
+#: access/transam/xlog.c:2020
 #, c-format
 msgid "archive file \"%s\" has wrong size: %lu instead of %lu"
 msgstr ""
 
-#: access/transam/xlog.c:2028
+#: access/transam/xlog.c:2027
 #, c-format
 msgid "restored log file \"%s\" from archive"
 msgstr "从归档中恢复日志文件 \"%s\""
 
-#: access/transam/xlog.c:2053
+#: access/transam/xlog.c:2052
 #, c-format
-msgid "could not restore \"%s\" from archive: return code %d"
-msgstr "无法从归档中恢复 \"%s\": 返回码为 %d"
+msgid "could not restore file \"%s\" from archive: return code %d"
+msgstr "无法从归档中恢复文件 \"%s\": 返回码为 %d"
 
-#: access/transam/xlog.c:2113
+#: access/transam/xlog.c:2120
 #, c-format
 msgid "could not open transaction log directory \"%s\": %m"
 msgstr "无法打开事务日志目录 \"%s\": %m"
 
-#: access/transam/xlog.c:2158
+#: access/transam/xlog.c:2165
 #, c-format
 msgid "recycled transaction log file \"%s\""
 msgstr "回收事务日志文件 \"%s\""
 
-#: access/transam/xlog.c:2165
+#: access/transam/xlog.c:2173
 #, c-format
 msgid "removing transaction log file \"%s\""
 msgstr "删除事务日志文件 \"%s\""
 
-#: access/transam/xlog.c:2187
+#: access/transam/xlog.c:2196
 #, c-format
 msgid "could not read transaction log directory \"%s\": %m"
 msgstr "无法读取事务日志目录 \"%s\": %m"
 
-#: access/transam/xlog.c:2271
+#: access/transam/xlog.c:2280
 #, c-format
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr "在记录的 %X/%X 中的不正确资源管理数据校验值"
 
-#: access/transam/xlog.c:2294
+#: access/transam/xlog.c:2303
 #, c-format
 msgid "incorrect checksum of backup block %d in record at %X/%X"
 msgstr "记录位置 %2$X/%3$X 的备份 (backup) 块 %1$d 校验值不正确"
 
-#: access/transam/xlog.c:2367 access/transam/xlog.c:2437
+#: access/transam/xlog.c:2376 access/transam/xlog.c:2446
 #, c-format
 msgid "invalid record offset at %X/%X"
 msgstr "无效的记录偏移量 %X/%X"
 
-#: access/transam/xlog.c:2415
+#: access/transam/xlog.c:2424
 #, c-format
 msgid "could not read from log file %u, segment %u at offset %u: %m"
 msgstr "无法从日志文件 %u 读取, 段 %u 偏移量 %u: %m"
 
-#: access/transam/xlog.c:2445
+#: access/transam/xlog.c:2454
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "%X/%X 需要 contrecord"
 
-#: access/transam/xlog.c:2460
+#: access/transam/xlog.c:2469
 #, c-format
 msgid "record with zero length at %X/%X"
 msgstr "在 %X/%X 位置有零长度的记录"
 
-#: access/transam/xlog.c:2467
+#: access/transam/xlog.c:2476
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "在 %2$X/%3$X 位置, 为无效的资源管理 ID %1$u"
 
-#: access/transam/xlog.c:2505
+#: access/transam/xlog.c:2514
 #, c-format
 msgid "record length %u at %X/%X too long"
 msgstr "在 %2$X/%3$X, 记录长度 %1$u 太长"
 
-#: access/transam/xlog.c:2541
+#: access/transam/xlog.c:2550
 #, c-format
 msgid "could not read from log file %u, segment %u, offset %u: %m"
 msgstr "无法从日志文件 %u 读取, 段 %u, 偏移量 %u: %m"
 
-#: access/transam/xlog.c:2550
+#: access/transam/xlog.c:2559
 #, c-format
 msgid "there is no contrecord flag in log file %u, segment %u, offset %u"
 msgstr "日志文件 %u, 段 %u, 偏移量 %u 中没有 contrecord 标志"
 
-#: access/transam/xlog.c:2560
+#: access/transam/xlog.c:2569
 #, c-format
 msgid "invalid contrecord length %u in log file %u, segment %u, offset %u"
 msgstr "日志文件 %2$u 中无效的 contrecord 长度 %1$u, 段 %3$u, 偏移量 %4$u"
 
-#: access/transam/xlog.c:2627
+#: access/transam/xlog.c:2636
 #, c-format
 msgid "invalid magic number %04X in log file %u, segment %u, offset %u"
 msgstr "日志文件 %2$u, 段 %3$u, 偏移量 %4$u 中无效的 magic 数字 %1$04X"
 
-#: access/transam/xlog.c:2634
+#: access/transam/xlog.c:2643
 #, c-format
 msgid "invalid info bits %04X in log file %u, segment %u, offset %u"
 msgstr "日志文件 %2$u 中无效的信息 (info) 位 %1$04X, 段 %3$u, 偏移量 %4$u"
 
-#: access/transam/xlog.c:2656 access/transam/xlog.c:2664
+#: access/transam/xlog.c:2665 access/transam/xlog.c:2673
 msgid "WAL file is from different system"
 msgstr "WAL 文件来自不同的系统"
 
-#: access/transam/xlog.c:2657
+#: access/transam/xlog.c:2666
 #, c-format
 msgid "WAL file SYSID is %s, pg_control SYSID is %s"
 msgstr "WAL 文件的 SYSID 是 %s, pg_control 的 SYSID 是 %s"
 
-#: access/transam/xlog.c:2665
+#: access/transam/xlog.c:2674
 msgid "Incorrect XLOG_SEG_SIZE in page header."
 msgstr "页头中不正确的 XLOG_SEG_SIZE."
 
-#: access/transam/xlog.c:2674
+#: access/transam/xlog.c:2683
 #, c-format
 msgid "unexpected pageaddr %X/%X in log file %u, segment %u, offset %u"
 msgstr "日志文件 %3$u 中意外的页地址 %1$X/%2$X, 段 %4$u, 偏移量 %5$u"
 
-#: access/transam/xlog.c:2686
+#: access/transam/xlog.c:2695
 #, c-format
 msgid "unexpected timeline ID %u in log file %u, segment %u, offset %u"
 msgstr "日志文件 %2$u 中意外的 timeline ID %1$u, 段 %3$u, 偏移量 %4$u"
 
-#: access/transam/xlog.c:2704
+#: access/transam/xlog.c:2713
 #, c-format
 msgid ""
 "out-of-sequence timeline ID %u (after %u) in log file %u, segment %u, offset "
@@ -4798,94 +4915,88 @@ msgid ""
 msgstr ""
 "日志文件 %3$u 中超出序列的 timeline ID %1$u (%2$u 之后), 段 %4$u, 偏移量 %5$u"
 
-#: access/transam/xlog.c:2744 access/transam/xlog.c:2834
-#: access/transam/xlog.c:2933
-#, c-format
-msgid "could not open \"%s\": %m"
-msgstr "无法打开 \"%s\": %m"
-
-#: access/transam/xlog.c:2773
+#: access/transam/xlog.c:2782
 #, c-format
 msgid "syntax error in history file: %s"
 msgstr "历史文件中的语法错误: %s"
 
-#: access/transam/xlog.c:2774
+#: access/transam/xlog.c:2783
 msgid "Expected a numeric timeline ID."
 msgstr "期望一个数字 timeline ID."
 
-#: access/transam/xlog.c:2779
+#: access/transam/xlog.c:2788
 #, c-format
 msgid "invalid data in history file: %s"
 msgstr "历史文件中的无效数据: %s"
 
-#: access/transam/xlog.c:2780
+#: access/transam/xlog.c:2789
 msgid "Timeline IDs must be in increasing sequence."
 msgstr "TimeLine ID 必须为递增序列."
 
-#: access/transam/xlog.c:2793
+#: access/transam/xlog.c:2802
 #, c-format
 msgid "invalid data in history file \"%s\""
 msgstr "历史文件 \"%s\" 中存在无效数据"
 
-#: access/transam/xlog.c:2794
+#: access/transam/xlog.c:2803
 msgid "Timeline IDs must be less than child timeline's ID."
 msgstr "Timeline ID 必须小于子 timeline 的 ID."
 
-#: access/transam/xlog.c:3033
+#: access/transam/xlog.c:3041
 #, c-format
 msgid "could not link file \"%s\" to \"%s\": %m"
 msgstr "无法把文件 \"%s\" 链接到 \"%s\": %m"
 
-#: access/transam/xlog.c:3040 access/transam/xlog.c:3822
-#: access/transam/xlog.c:3865 commands/user.c:280 commands/user.c:410
-#: postmaster/pgarch.c:597
+#: access/transam/xlog.c:3048 access/transam/xlog.c:3830
+#: access/transam/xlog.c:3873 commands/user.c:282 commands/user.c:412
+#: postmaster/pgarch.c:596
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "无法把文件 \"%s\" 重命名为 \"%s\": %m"
 
-#: access/transam/xlog.c:3101
+#: access/transam/xlog.c:3109
 msgid "invalid LC_COLLATE setting"
 msgstr "无效的 LC_COLLATE 设置"
 
-#: access/transam/xlog.c:3106
+#: access/transam/xlog.c:3114
 msgid "invalid LC_CTYPE setting"
 msgstr "无效的 LC_CTYPE 设置"
 
-#: access/transam/xlog.c:3125
+#: access/transam/xlog.c:3133
 msgid "sizeof(ControlFileData) is larger than BLCKSZ; fix either one"
 msgstr "sizeof(ControlFileData) 比 BLCKSZ 大; 修复其中一个"
 
-#: access/transam/xlog.c:3135
+#: access/transam/xlog.c:3143
 #, c-format
 msgid "could not create control file \"%s\": %m"
 msgstr "无法创建控制文件 \"%s\": %m"
 
-#: access/transam/xlog.c:3146 access/transam/xlog.c:3333
+#: access/transam/xlog.c:3154 access/transam/xlog.c:3341
 #, c-format
 msgid "could not write to control file: %m"
 msgstr "无法写入控制文件: %m"
 
-#: access/transam/xlog.c:3152 access/transam/xlog.c:3339
+#: access/transam/xlog.c:3160 access/transam/xlog.c:3347
 #, c-format
 msgid "could not fsync control file: %m"
 msgstr "无法 fsync 控制文件: %m"
 
-#: access/transam/xlog.c:3157 access/transam/xlog.c:3344
+#: access/transam/xlog.c:3165 access/transam/xlog.c:3352
 #, c-format
 msgid "could not close control file: %m"
 msgstr "无法关闭控制文件: %m"
 
-#: access/transam/xlog.c:3173 access/transam/xlog.c:3322
+#: access/transam/xlog.c:3181 access/transam/xlog.c:3330
 #, c-format
 msgid "could not open control file \"%s\": %m"
 msgstr "无法打开控制文件 \"%s\": %m"
 
-#: access/transam/xlog.c:3179
+#: access/transam/xlog.c:3187
 #, c-format
 msgid "could not read from control file: %m"
 msgstr "无法读取控制文件: %m"
 
-#: access/transam/xlog.c:3192
+#: access/transam/xlog.c:3200
 #, c-format
 msgid ""
 "The database cluster was initialized with PG_CONTROL_VERSION %d, but the "
@@ -4894,15 +5005,15 @@ msgstr ""
 "数据库簇是以 PG_CONTROL_VERSION %d 初始化的, 但是 服务器是以 "
 "PG_CONTROL_VERSION %d 编译的."
 
-#: access/transam/xlog.c:3195 access/transam/xlog.c:3225
+#: access/transam/xlog.c:3203 access/transam/xlog.c:3233
 msgid "It looks like you need to initdb."
 msgstr "看上去, 你需要初始化数据库."
 
-#: access/transam/xlog.c:3205
+#: access/transam/xlog.c:3213
 msgid "incorrect checksum in control file"
 msgstr "控制文件的校验值不正确"
 
-#: access/transam/xlog.c:3222
+#: access/transam/xlog.c:3230
 #, c-format
 msgid ""
 "The database cluster was initialized with CATALOG_VERSION_NO %d, but the "
@@ -4911,21 +5022,21 @@ msgstr ""
 "数据库簇是以 CATALOG_VERSION_NO %d 初始化的, 但是 服务器是以 "
 "CATALOG_VERSION_NO %d 编译的."
 
-#: access/transam/xlog.c:3229
+#: access/transam/xlog.c:3237
 #, c-format
 msgid ""
 "The database cluster was initialized with BLCKSZ %d, but the server was "
 "compiled with BLCKSZ %d."
 msgstr "数据库簇是以 BLCKSZ %d 初始化的, 但是 服务器是以 BLCKSZ %d 编译的."
 
-#: access/transam/xlog.c:3232 access/transam/xlog.c:3239
-#: access/transam/xlog.c:3246 access/transam/xlog.c:3253
-#: access/transam/xlog.c:3260 access/transam/xlog.c:3268
-#: access/transam/xlog.c:3275 access/transam/xlog.c:3284
+#: access/transam/xlog.c:3240 access/transam/xlog.c:3247
+#: access/transam/xlog.c:3254 access/transam/xlog.c:3261
+#: access/transam/xlog.c:3268 access/transam/xlog.c:3276
+#: access/transam/xlog.c:3283 access/transam/xlog.c:3292
 msgid "It looks like you need to recompile or initdb."
 msgstr "看上去, 你需要重新编译或初始化数据库."
 
-#: access/transam/xlog.c:3236
+#: access/transam/xlog.c:3244
 #, c-format
 msgid ""
 "The database cluster was initialized with RELSEG_SIZE %d, but the server was "
@@ -4933,7 +5044,7 @@ msgid ""
 msgstr ""
 "数据库簇是以 RELSEG_SIZE %d 初始化的, 但是 服务器是以 RELSEG_SIZE %d 编译的."
 
-#: access/transam/xlog.c:3243
+#: access/transam/xlog.c:3251
 #, c-format
 msgid ""
 "The database cluster was initialized with XLOG_SEG_SIZE %d, but the server "
@@ -4942,7 +5053,7 @@ msgstr ""
 "数据库簇是以 XLOG_SEG_SIZE %d 初始化的, 但是 服务器是以 XLOG_SEG_SIZE %d 编译"
 "的."
 
-#: access/transam/xlog.c:3250
+#: access/transam/xlog.c:3258
 #, c-format
 msgid ""
 "The database cluster was initialized with NAMEDATALEN %d, but the server was "
@@ -4950,7 +5061,7 @@ msgid ""
 msgstr ""
 "数据库簇是以 NAMEDATALEN %d 初始化的, 但是 服务器是以 NAMEDATALEN %d 编译的."
 
-#: access/transam/xlog.c:3257
+#: access/transam/xlog.c:3265
 #, c-format
 msgid ""
 "The database cluster was initialized with FUNC_MAX_ARGS %d, but the server "
@@ -4959,7 +5070,7 @@ msgstr ""
 "数据库簇是以 FUNC_MAX_ARGS %d 初始化的, 但是 服务器是以 FUNC_MAX_ARGS %d 编译"
 "的."
 
-#: access/transam/xlog.c:3266
+#: access/transam/xlog.c:3274
 msgid ""
 "The database cluster was initialized without HAVE_INT64_TIMESTAMP but the "
 "server was compiled with HAVE_INT64_TIMESTAMP."
@@ -4967,7 +5078,7 @@ msgstr ""
 "数据库簇初始化时没有定义 HAVE_INT64_TIMESTAMP, 但是 服务器编译时定义了 "
 "HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:3273
+#: access/transam/xlog.c:3281
 msgid ""
 "The database cluster was initialized with HAVE_INT64_TIMESTAMP but the "
 "server was compiled without HAVE_INT64_TIMESTAMP."
@@ -4975,7 +5086,7 @@ msgstr ""
 "数据库簇初始化时定义了 HAVE_INT64_TIMESTAMP, 但是 服务器编译时没有定义 "
 "HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:3281
+#: access/transam/xlog.c:3289
 #, c-format
 msgid ""
 "The database cluster was initialized with LOCALE_NAME_BUFLEN %d, but the "
@@ -4984,11 +5095,11 @@ msgstr ""
 "数据库簇初始化时定义 LOCALE_NAME_BUFLEN 为 %d, 但是 服务器编译时定义 "
 "LOCALE_NAME_BUFLEN 为 %d."
 
-#: access/transam/xlog.c:3287 access/transam/xlog.c:3294
+#: access/transam/xlog.c:3295 access/transam/xlog.c:3302
 msgid "database files are incompatible with operating system"
 msgstr "数据库文件和操作系统不兼容"
 
-#: access/transam/xlog.c:3288
+#: access/transam/xlog.c:3296
 #, c-format
 msgid ""
 "The database cluster was initialized with LC_COLLATE \"%s\", which is not "
@@ -4997,11 +5108,11 @@ msgstr ""
 "数据库簇是带 LC_COLLATE \"%s\" 初始化的, 但此 LC_COLLATE 是不被 setlocale() "
 "认可的."
 
-#: access/transam/xlog.c:3291 access/transam/xlog.c:3298
+#: access/transam/xlog.c:3299 access/transam/xlog.c:3306
 msgid "It looks like you need to initdb or install locale support."
 msgstr "看上去, 你好像需要初始化数据库 (initdb) 或者安装本地化 (locale) 支持."
 
-#: access/transam/xlog.c:3295
+#: access/transam/xlog.c:3303
 #, c-format
 msgid ""
 "The database cluster was initialized with LC_CTYPE \"%s\", which is not "
@@ -5010,371 +5121,393 @@ msgstr ""
 "数据库簇是带 LC_CTYPE \"%s\" 初始化的, 但此 LC_CTYPE 是不被 setlocale() 认可"
 "的."
 
-#: access/transam/xlog.c:3521
+#: access/transam/xlog.c:3529
 #, c-format
 msgid "could not write bootstrap transaction log file: %m"
 msgstr "无法写入 bootstrap 事务日志文件: %m"
 
-#: access/transam/xlog.c:3527
+#: access/transam/xlog.c:3535
 #, c-format
 msgid "could not fsync bootstrap transaction log file: %m"
 msgstr "无法同步 (fsync) 事务日志文件: %m"
 
-#: access/transam/xlog.c:3532
+#: access/transam/xlog.c:3540
 #, c-format
 msgid "could not close bootstrap transaction log file: %m"
 msgstr "无法关闭 bootstrap 事务日志文件: %m"
 
-#: access/transam/xlog.c:3594
+#: access/transam/xlog.c:3602
 #, c-format
 msgid "could not open recovery command file \"%s\": %m"
 msgstr "无法打开恢复命令文件 \"%s\": %m"
 
-#: access/transam/xlog.c:3599
+#: access/transam/xlog.c:3607
 msgid "starting archive recovery"
 msgstr "开始归档恢复"
 
-#: access/transam/xlog.c:3644
+#: access/transam/xlog.c:3652
 #, c-format
 msgid "restore_command = \"%s\""
 msgstr "restore_command = \"%s\""
 
-#: access/transam/xlog.c:3658
+#: access/transam/xlog.c:3666
 #, c-format
 msgid "recovery_target_timeline is not a valid number: \"%s\""
 msgstr "recovery_target_timeline 不是一个有效的数字: \"%s\""
 
-#: access/transam/xlog.c:3663
+#: access/transam/xlog.c:3671
 #, c-format
 msgid "recovery_target_timeline = %u"
 msgstr "recovery_target_timeline = %u"
 
-#: access/transam/xlog.c:3666
+#: access/transam/xlog.c:3674
 msgid "recovery_target_timeline = latest"
 msgstr "recovery_target_timeline = latest"
 
-#: access/transam/xlog.c:3674
+#: access/transam/xlog.c:3682
 #, c-format
 msgid "recovery_target_xid is not a valid number: \"%s\""
 msgstr "recovery_target_xid 不是一个有效的数字: \"%s\""
 
-#: access/transam/xlog.c:3677
+#: access/transam/xlog.c:3685
 #, c-format
 msgid "recovery_target_xid = %u"
 msgstr "recovery_target_xid = %u"
 
-#: access/transam/xlog.c:3702
+#: access/transam/xlog.c:3710
 #, c-format
 msgid "recovery_target_time = %s"
 msgstr "recovery_target_time = %s"
 
-#: access/transam/xlog.c:3719
+#: access/transam/xlog.c:3727
 #, c-format
 msgid "recovery_target_inclusive = %s"
 msgstr "recovery_target_inclusive = %s"
 
-#: access/transam/xlog.c:3723
+#: access/transam/xlog.c:3731
 #, c-format
 msgid "unrecognized recovery parameter \"%s\""
 msgstr "未认可的恢复参数 \"%s\""
 
-#: access/transam/xlog.c:3731
+#: access/transam/xlog.c:3739
 #, c-format
 msgid "syntax error in recovery command file: %s"
 msgstr "恢复命令文件语法错误: %s"
 
-#: access/transam/xlog.c:3733
+#: access/transam/xlog.c:3741
 msgid "Lines should have the format parameter = 'value'."
 msgstr "行格式为 参数 = '值'."
 
-#: access/transam/xlog.c:3738
+#: access/transam/xlog.c:3746
 #, c-format
 msgid "recovery command file \"%s\" did not specify restore_command"
 msgstr "恢复命令文件 \"%s\" 没有指定 restore_command"
 
-#: access/transam/xlog.c:3757
+#: access/transam/xlog.c:3765
 #, c-format
 msgid "recovery_target_timeline %u does not exist"
 msgstr "recovery_target_timeline %u 不存在"
 
-#: access/transam/xlog.c:3869
+#: access/transam/xlog.c:3877
 msgid "archive recovery complete"
 msgstr "归档恢复完毕"
 
-#: access/transam/xlog.c:3953
+#: access/transam/xlog.c:3961
 #, c-format
 msgid "recovery stopping after commit of transaction %u, time %s"
 msgstr "恢复停止在事物 %u 提交之后, 时间 %s"
 
-#: access/transam/xlog.c:3957
+#: access/transam/xlog.c:3965
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr "恢复停止在事物 %u 提交之前, 时间 %s"
 
-#: access/transam/xlog.c:3964
+#: access/transam/xlog.c:3972
 #, c-format
 msgid "recovery stopping after abort of transaction %u, time %s"
 msgstr "恢复停止在事物 %u 中断之后, 时间 %s"
 
-#: access/transam/xlog.c:3968
+#: access/transam/xlog.c:3976
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr "恢复停止在事物 %u 中断之前, 时间 %s"
 
-#: access/transam/xlog.c:4010
+#: access/transam/xlog.c:4018
 msgid "control file contains invalid data"
 msgstr "控制文件包含无效的数据"
 
-#: access/transam/xlog.c:4014
+#: access/transam/xlog.c:4022
 #, c-format
 msgid "database system was shut down at %s"
 msgstr "数据库上次关闭时间为 %s"
 
-#: access/transam/xlog.c:4018
+#: access/transam/xlog.c:4026
 #, c-format
 msgid "database system shutdown was interrupted at %s"
 msgstr "数据库系统在 %s 被中断关闭"
 
-#: access/transam/xlog.c:4022
+#: access/transam/xlog.c:4030
 #, c-format
 msgid "database system was interrupted while in recovery at %s"
 msgstr "恢复时, 数据库系统在 %s 被中断"
 
-#: access/transam/xlog.c:4024
+#: access/transam/xlog.c:4032
 msgid ""
 "This probably means that some data is corrupted and you will have to use the "
 "last backup for recovery."
 msgstr "这意味着一些数据被毁坏, 你将不得不使用最新的备份恢复."
 
-#: access/transam/xlog.c:4028
+#: access/transam/xlog.c:4036
 #, c-format
 msgid "database system was interrupted at %s"
 msgstr "数据库系统在 %s 被中断"
 
-#: access/transam/xlog.c:4060
+#: access/transam/xlog.c:4068
 #, c-format
 msgid "requested timeline %u is not a child of database system timeline %u"
 msgstr ""
 
-#: access/transam/xlog.c:4075 access/transam/xlog.c:4097
+#: access/transam/xlog.c:4083 access/transam/xlog.c:4105
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr "checkpoint 记录位置在 %X/%X"
 
-#: access/transam/xlog.c:4082
+#: access/transam/xlog.c:4090
 msgid "could not locate required checkpoint record"
 msgstr "无法找到需要的 checkpoint 记录"
 
-#: access/transam/xlog.c:4083
+#: access/transam/xlog.c:4091
+#, c-format
 msgid ""
-"If you are not restoring from a backup, try removing $PGDATA/backup_label."
-msgstr "如果你不是从备份恢复, 请删除 $PGDATA/backup_label."
+"If you are not restoring from a backup, try removing the file \"%s/"
+"backup_label\"."
+msgstr "如果你不是从备份恢复, 请删除 \"%s/backup_label\"."
 
-#: access/transam/xlog.c:4107
+#: access/transam/xlog.c:4115
 #, c-format
 msgid "using previous checkpoint record at %X/%X"
 msgstr "使用在 %X/%X 的前一个 checkpoint 记录"
 
-#: access/transam/xlog.c:4114
+#: access/transam/xlog.c:4122
 msgid "could not locate a valid checkpoint record"
 msgstr "无法找到一个有效的 checkpoint 记录"
 
-#: access/transam/xlog.c:4123
+#: access/transam/xlog.c:4131
 #, c-format
 msgid "redo record is at %X/%X; undo record is at %X/%X; shutdown %s"
 msgstr ""
 
-#: access/transam/xlog.c:4128
+#: access/transam/xlog.c:4136
 #, c-format
 msgid "next transaction ID: %u; next OID: %u"
 msgstr "下一个事物 ID: %u; 下一个 OID: %u"
 
-#: access/transam/xlog.c:4132
+#: access/transam/xlog.c:4140
 msgid "invalid next transaction ID"
 msgstr "无效的下一个事务 ID"
 
-#: access/transam/xlog.c:4149
+#: access/transam/xlog.c:4157
 msgid "invalid redo in checkpoint record"
 msgstr ""
 
-#: access/transam/xlog.c:4163
+#: access/transam/xlog.c:4171
 msgid "invalid redo/undo record in shutdown checkpoint"
 msgstr ""
 
-#: access/transam/xlog.c:4181
+#: access/transam/xlog.c:4189
 msgid "automatic recovery in progress"
 msgstr ""
 
-#: access/transam/xlog.c:4184
+#: access/transam/xlog.c:4192
 msgid ""
 "database system was not properly shut down; automatic recovery in progress"
 msgstr "数据库系统没有正确的关闭; 自动恢复"
 
-#: access/transam/xlog.c:4221
+#: access/transam/xlog.c:4229
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "redo 在 %X/%X 开始"
 
-#: access/transam/xlog.c:4279
+#: access/transam/xlog.c:4287
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "redo 在 %X/%X 完成"
 
-#: access/transam/xlog.c:4287
+#: access/transam/xlog.c:4295
 msgid "redo is not required"
 msgstr "不需要 redo"
 
-#: access/transam/xlog.c:4307
+#: access/transam/xlog.c:4315
 msgid "requested recovery stop point is before end time of backup dump"
 msgstr ""
 
-#: access/transam/xlog.c:4311
+#: access/transam/xlog.c:4319
 msgid "WAL ends before end time of backup dump"
 msgstr ""
 
-#: access/transam/xlog.c:4326
+#: access/transam/xlog.c:4334
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr ""
 
-#: access/transam/xlog.c:4408
+#: access/transam/xlog.c:4416
 #, c-format
 msgid "undo starts at %X/%X"
 msgstr "undo 在 %X/%X 开始"
 
-#: access/transam/xlog.c:4419
+#: access/transam/xlog.c:4427
 #, c-format
 msgid "undo done at %X/%X"
 msgstr "undo 在 %X/%X 完成"
 
-#: access/transam/xlog.c:4424
+#: access/transam/xlog.c:4432
 msgid "undo is not required"
 msgstr "不需要 undo"
 
-#: access/transam/xlog.c:4492
+#: access/transam/xlog.c:4500
 msgid "database system is ready"
 msgstr "数据库系统准备就绪"
 
-#: access/transam/xlog.c:4531
+#: access/transam/xlog.c:4539
 msgid "invalid primary checkpoint link in control file"
 msgstr "在控制文件中无效的主 checkpoint 链接"
 
-#: access/transam/xlog.c:4535
+#: access/transam/xlog.c:4543
 msgid "invalid secondary checkpoint link in control file"
 msgstr "在控制文件中无效的次 checkpoint 链接"
 
-#: access/transam/xlog.c:4539
+#: access/transam/xlog.c:4547
 msgid "invalid checkpoint link in backup_label file"
 msgstr "在 backup_label 文件中无效的 checkpoint 链接"
 
-#: access/transam/xlog.c:4553
+#: access/transam/xlog.c:4561
 msgid "invalid primary checkpoint record"
 msgstr "无效的主 checkpoint 记录"
 
-#: access/transam/xlog.c:4557
+#: access/transam/xlog.c:4565
 msgid "invalid secondary checkpoint record"
 msgstr "无效的次 checkpoint 记录"
 
-#: access/transam/xlog.c:4561
+#: access/transam/xlog.c:4569
 msgid "invalid checkpoint record"
 msgstr "无效的 checkpoint 记录"
 
-#: access/transam/xlog.c:4572
+#: access/transam/xlog.c:4580
 msgid "invalid resource manager ID in primary checkpoint record"
 msgstr "在主 checkpoint 记录中的无效资源管理器 ID"
 
-#: access/transam/xlog.c:4576
+#: access/transam/xlog.c:4584
 msgid "invalid resource manager ID in secondary checkpoint record"
 msgstr "在次 checkpoint 记录中的无效资源管理器 ID"
 
-#: access/transam/xlog.c:4580
+#: access/transam/xlog.c:4588
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "在 checkpoint 记录中的无效资源管理器 ID"
 
-#: access/transam/xlog.c:4592
+#: access/transam/xlog.c:4600
 msgid "invalid xl_info in primary checkpoint record"
 msgstr "在主 checkpoint 记录中无效的 xl_info"
 
-#: access/transam/xlog.c:4596
+#: access/transam/xlog.c:4604
 msgid "invalid xl_info in secondary checkpoint record"
 msgstr "在次 checkpoint 记录中无效的 xl_info"
 
-#: access/transam/xlog.c:4600
+#: access/transam/xlog.c:4608
 msgid "invalid xl_info in checkpoint record"
 msgstr "在 checkpoint 记录中无效的 xl_info"
 
-#: access/transam/xlog.c:4611
+#: access/transam/xlog.c:4619
 msgid "invalid length of primary checkpoint record"
 msgstr "无效的主 checkpoint 记录长度"
 
-#: access/transam/xlog.c:4615
+#: access/transam/xlog.c:4623
 msgid "invalid length of secondary checkpoint record"
 msgstr "无效的次 checkpoint 记录长度"
 
-#: access/transam/xlog.c:4619
+#: access/transam/xlog.c:4627
 msgid "invalid length of checkpoint record"
 msgstr "无效的 checkpoint 记录长度"
 
-#: access/transam/xlog.c:4672
+#: access/transam/xlog.c:4680
 msgid "shutting down"
 msgstr "正在关闭"
 
-#: access/transam/xlog.c:4681
+#: access/transam/xlog.c:4689
 msgid "database system is shut down"
 msgstr "数据库系统已关闭"
 
-#: access/transam/xlog.c:4894
+#: access/transam/xlog.c:4880
+msgid "checkpoint starting"
+msgstr "检查点开始"
+
+#: access/transam/xlog.c:4909
 msgid ""
 "concurrent transaction log activity while database system is shutting down"
 msgstr "当数据库正在关闭时, 仍有活跃的并发事物日志"
 
-#: access/transam/xlog.c:5020
+#: access/transam/xlog.c:4981
+#, c-format
+msgid ""
+"checkpoint complete; %d transaction log file(s) added, %d removed, %d "
+"recycled"
+msgstr ""
+
+#: access/transam/xlog.c:5041
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr ""
 
-#: access/transam/xlog.c:5043
+#: access/transam/xlog.c:5064
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
 msgstr ""
 
-#: access/transam/xlog.c:5164 access/transam/xlog.c:5196
+#: access/transam/xlog.c:5185 access/transam/xlog.c:5217
 #, c-format
 msgid "could not fsync log file %u, segment %u: %m"
 msgstr "无法同步 (fsync) 日志文件 %u, 段 %u: %m"
 
-#: access/transam/xlog.c:5204
+#: access/transam/xlog.c:5225
 #, c-format
 msgid "could not fdatasync log file %u, segment %u: %m"
 msgstr "无法同步 (fdatasync) 日志文件 %u, 段 %u: %m"
 
-#: access/transam/xlog.c:5247 access/transam/xlog.c:5366
+#: access/transam/xlog.c:5268 access/transam/xlog.c:5395
 msgid "must be superuser to run a backup"
 msgstr "运行备份必须为超级用户"
 
-#: access/transam/xlog.c:5300
+#: access/transam/xlog.c:5273
+msgid "WAL archiving is not active"
+msgstr ""
+
+#: access/transam/xlog.c:5274
+msgid ""
+"archive_command must be defined before online backups can be made safely."
+msgstr ""
+
+#: access/transam/xlog.c:5329
 msgid "a backup is already in progress"
 msgstr "一个备份已经在运行中"
 
-#: access/transam/xlog.c:5301
+#: access/transam/xlog.c:5330
 #, c-format
 msgid ""
 "If you're sure there is no backup in progress, remove file \"%s\" and try "
 "again."
 msgstr "如果你确认没有其他备份进程在运行, 删除文件 \"%s\", 然后重试."
 
-#: access/transam/xlog.c:5322 access/transam/xlog.c:5442
+#: access/transam/xlog.c:5351 access/transam/xlog.c:5471
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "无法写入文件 \"%s\": %m"
 
-#: access/transam/xlog.c:5404
+#: access/transam/xlog.c:5433
 msgid "a backup is not in progress"
 msgstr "没有备份在运行中"
 
-#: access/transam/xlog.c:5417 access/transam/xlog.c:5538
-#: access/transam/xlog.c:5544 access/transam/xlog.c:5575
-#: access/transam/xlog.c:5581
+#: access/transam/xlog.c:5446 access/transam/xlog.c:5567
+#: access/transam/xlog.c:5573 access/transam/xlog.c:5604
+#: access/transam/xlog.c:5610
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "文件 \"%s\" 中存在无效数据"
@@ -5384,7 +5517,7 @@ msgstr "
 msgid "duplicate key violates unique constraint \"%s\""
 msgstr "重复键违反唯一约束 \"%s\""
 
-#: access/nbtree/nbtinsert.c:404 access/nbtree/nbtsort.c:499
+#: access/nbtree/nbtinsert.c:398 access/nbtree/nbtsort.c:499
 #, c-format
 msgid "index row size %lu exceeds btree maximum, %lu"
 msgstr "索引行大小 %lu 超出 btree 的最大值, %lu"
@@ -5399,18 +5532,18 @@ msgstr "
 msgid "version mismatch in index \"%s\": file version %d, code version %d"
 msgstr "在索引 \"%s\" 中版本不匹配: 文件版本 %d, 代码版本 %d"
 
-#: storage/ipc/sinval.c:105 storage/lmgr/proc.c:231
-#: postmaster/postmaster.c:1581
+#: storage/ipc/sinval.c:105 storage/lmgr/proc.c:246
+#: postmaster/postmaster.c:1564
 msgid "sorry, too many clients already"
 msgstr "对不起, 已经有太多的客户"
 
-#: storage/ipc/shmem.c:185 storage/ipc/shmem.c:246 storage/ipc/shmem.c:377
-#: storage/lmgr/lock.c:561 storage/lmgr/lock.c:624 storage/lmgr/proc.c:166
+#: storage/ipc/shmem.c:185 storage/ipc/shmem.c:246 storage/ipc/shmem.c:386
+#: storage/lmgr/lock.c:558 storage/lmgr/lock.c:621 storage/lmgr/proc.c:179
 #: storage/buffer/buf_table.c:93 storage/freespace/freespace.c:1014
 msgid "out of shared memory"
 msgstr "共享内存用尽"
 
-#: storage/ipc/shmem.c:411
+#: storage/ipc/shmem.c:420
 #, c-format
 msgid "could not allocate shared memory segment \"%s\""
 msgstr "无法分配共享内存段 \"%s\""
@@ -5429,7 +5562,7 @@ msgstr "系统
 msgid "out of file descriptors: %m; release and retry"
 msgstr "超出文件描述符: %m; 释放再重试"
 
-#: storage/lmgr/lock.c:562 storage/lmgr/lock.c:625
+#: storage/lmgr/lock.c:559 storage/lmgr/lock.c:622
 msgid "You may need to increase max_locks_per_transaction."
 msgstr "你也许需要增加 max_locks_per_transaction."
 
@@ -5469,17 +5602,17 @@ msgstr ""
 msgid "corrupted item pointer: offset = %u, size = %u"
 msgstr ""
 
-#: storage/smgr/md.c:367
+#: storage/smgr/md.c:363
 #, c-format
 msgid "could not open relation %u/%u/%u: %m"
 msgstr "无法打开关系 %u/%u/%u: %m"
 
-#: storage/smgr/md.c:769
+#: storage/smgr/md.c:765
 #, c-format
 msgid "could not fsync segment %u of relation %u/%u/%u: %m"
 msgstr "无法同步关系 %2$u/%3$u/%4$u 的 %1$u 段: %m"
 
-#: storage/smgr/md.c:959
+#: storage/smgr/md.c:955
 #, c-format
 msgid "could not open segment %u of relation %u/%u/%u (target block %u): %m"
 msgstr "无法打开关系 %2$u/%3$u/%4$u 的 %1$u 段 (目标块 %5$u): %m"
@@ -5496,8 +5629,8 @@ msgstr "
 
 #: storage/smgr/smgr.c:457
 #, c-format
-msgid "could not unlink relation %u/%u/%u: %m"
-msgstr "无法删除 (unlink) 关系 %u/%u/%u: %m"
+msgid "could not remove relation %u/%u/%u: %m"
+msgstr "无法删除关系 %u/%u/%u: %m"
 
 #: storage/smgr/smgr.c:478
 #, c-format
@@ -5537,26 +5670,26 @@ msgstr "
 msgid "no empty local buffer available"
 msgstr ""
 
-#: storage/buffer/bufmgr.c:210
+#: storage/buffer/bufmgr.c:217
 #, c-format
 msgid "invalid page header in block %u of relation \"%s\"; zeroing out page"
 msgstr ""
 
-#: storage/buffer/bufmgr.c:217
+#: storage/buffer/bufmgr.c:224
 #, c-format
 msgid "invalid page header in block %u of relation \"%s\""
 msgstr "关系 \"%2$s\" 中的块 %1$u 无效的页头"
 
-#: storage/buffer/bufmgr.c:1958
+#: storage/buffer/bufmgr.c:1991
 #, c-format
 msgid "could not write block %u of %u/%u/%u"
 msgstr "无法写入 %2$u/%3$u/%4$u 的块 %1$u"
 
-#: storage/buffer/bufmgr.c:1963
+#: storage/buffer/bufmgr.c:1996
 msgid "Multiple failures --- write error may be permanent."
 msgstr ""
 
-#: storage/buffer/bufmgr.c:1981
+#: storage/buffer/bufmgr.c:2014
 #, c-format
 msgid "writing block %u of relation %u/%u/%u"
 msgstr "写入关系 %2$u/%3$u/%4$u 的块 %1$u"
@@ -5591,138 +5724,133 @@ msgstr "
 msgid "large object %u does not exist"
 msgstr "大对象 %u 不存在"
 
-#: commands/tablespace.c:154 commands/tablespace.c:162
-#: commands/tablespace.c:168
+#: commands/tablespace.c:150 commands/tablespace.c:158
+#: commands/tablespace.c:164 ../port/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "无法创建目录 \"%s\": %m"
 
-#: commands/tablespace.c:181
+#: commands/tablespace.c:177
 #, c-format
 msgid "could not stat directory \"%s\": %m"
 msgstr "无法取目录 \"%s\" 状态: %m"
 
-#: commands/tablespace.c:190
+#: commands/tablespace.c:186
 #, c-format
 msgid "\"%s\" exists but is not a directory"
 msgstr "\"%s\" 存在, 但不是一个目录"
 
-#: commands/tablespace.c:227
+#: commands/tablespace.c:223
 #, c-format
 msgid "permission denied to create tablespace \"%s\""
 msgstr "创建表空间 \"%s\" 权限不够"
 
-#: commands/tablespace.c:229
+#: commands/tablespace.c:225
 msgid "Must be superuser to create a tablespace."
 msgstr "只有超级用户能创建表空间"
 
-#: commands/tablespace.c:248
+#: commands/tablespace.c:244
 msgid "tablespace location may not contain single quotes"
 msgstr "表空间路径不能包含单引号"
 
-#: commands/tablespace.c:258
+#: commands/tablespace.c:254
 msgid "tablespace location must be an absolute path"
 msgstr "表空间路径必须为绝对路径"
 
-#: commands/tablespace.c:268
+#: commands/tablespace.c:264
 #, c-format
 msgid "tablespace location \"%s\" is too long"
 msgstr "表空间路径 \"%s\" 太长"
 
-#: commands/tablespace.c:278 commands/tablespace.c:839
+#: commands/tablespace.c:274 commands/tablespace.c:766
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "不可访问的表空间名字 \"%s\""
 
-#: commands/tablespace.c:280 commands/tablespace.c:840
+#: commands/tablespace.c:276 commands/tablespace.c:767
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "前缀 \"pg_\" 是保留给系统表空间的."
 
-#: commands/tablespace.c:290 commands/tablespace.c:852
+#: commands/tablespace.c:286 commands/tablespace.c:779
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "表空间 \"%s\" 已经存在"
 
-#: commands/tablespace.c:325 commands/tablespace.c:969
+#: commands/tablespace.c:321 commands/tablespace.c:1033
 #, c-format
 msgid "could not set permissions on directory \"%s\": %m"
 msgstr "无法为目录 \"%s\" 的设置权限: %m"
 
-#: commands/tablespace.c:334
+#: commands/tablespace.c:330
 #, c-format
 msgid "directory \"%s\" is not empty"
 msgstr "目录 \"%s\" 不是空的"
 
-#: commands/tablespace.c:355 commands/tablespace.c:984
+#: commands/tablespace.c:351 commands/tablespace.c:1048
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "无法创建符号链接 \"%s\": %m"
 
-#: commands/tablespace.c:386 commands/tablespace.c:483
+#: commands/tablespace.c:382 commands/tablespace.c:479
 msgid "tablespaces are not supported on this platform"
 msgstr "在此平台上不支持表空间"
 
-#: commands/tablespace.c:460
+#: commands/tablespace.c:456
 #, c-format
 msgid "tablespace \"%s\" is not empty"
 msgstr "表空间 \"%s\" 不是空的"
 
-#: commands/tablespace.c:559
+#: commands/tablespace.c:555
 #, c-format
 msgid "could not delete directory \"%s\": %m"
 msgstr "无法删除目录 \"%s\": %m"
 
-#: commands/tablespace.c:593
-#, c-format
-msgid "could not unlink file \"%s\": %m"
-msgstr "无法删除 (unlink) 文件 \"%s\": %m"
-
-#: commands/tablespace.c:610
+#: commands/tablespace.c:606
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "无法删除目录 \"%s\": %m"
 
-#: commands/tablespace.c:618
+#: commands/tablespace.c:614
 #, c-format
-msgid "could not unlink symbolic link \"%s\": %m"
-msgstr "无法删除 (unlink) 符号链接 \"%s\": %m"
+msgid "could not remove symbolic link \"%s\": %m"
+msgstr "无法删除符号链接 \"%s\": %m"
 
-#: commands/tablespace.c:912 commands/functioncmds.c:773
-#: commands/dbcommands.c:838 commands/conversioncmds.c:213
+#: commands/tablespace.c:839 commands/functioncmds.c:773
+#: commands/dbcommands.c:890 commands/conversioncmds.c:213
 #: commands/typecmds.c:2103 commands/opclasscmds.c:954
-#: commands/operatorcmds.c:303 commands/tablecmds.c:5173
-#: commands/aggregatecmds.c:335 commands/schemacmds.c:348
+#: commands/operatorcmds.c:303 commands/tablecmds.c:5228
+#: commands/aggregatecmds.c:335 commands/schemacmds.c:319
 msgid "must be superuser to change owner"
 msgstr "只有超级用户可以更改属主"
 
-#: commands/tablespace.c:997
+#: commands/tablespace.c:1061
 #, c-format
 msgid "tablespace %u is not empty"
 msgstr "表空间 %u 不是空的"
 
-#: commands/portalcmds.c:54 commands/portalcmds.c:174
-#: commands/portalcmds.c:219
+#: commands/portalcmds.c:54 commands/portalcmds.c:183
+#: commands/portalcmds.c:228
 msgid "invalid cursor name: must not be empty"
 msgstr "无效的游标名称: 不能为空"
 
-#: commands/portalcmds.c:80
+#: commands/portalcmds.c:89
 msgid "DECLARE CURSOR may not specify INTO"
 msgstr "DECLARE CURSOR 也许没有指定 INTO"
 
-#: commands/portalcmds.c:84
+#: commands/portalcmds.c:93
 msgid "DECLARE CURSOR ... FOR UPDATE is not supported"
 msgstr "DECLARE CURSOR ... FOR UPDATE 不被支持"
 
-#: commands/portalcmds.c:85
+#: commands/portalcmds.c:94
 msgid "Cursors must be READ ONLY."
 msgstr "游标必须为只读."
 
-#: commands/portalcmds.c:182 commands/portalcmds.c:229
+#: commands/portalcmds.c:191 commands/portalcmds.c:238
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "游标 \"%s\" 不存在"
 
-#: commands/portalcmds.c:395
+#: commands/portalcmds.c:404
 msgid "could not reposition held cursor"
 msgstr "无法定位游标"
 
@@ -5761,7 +5889,7 @@ msgstr "PostgreSQL 
 msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query"
 msgstr "SET TRANSACTION ISOLATION LEVEL 必须在任何查询之前调用"
 
-#: commands/variable.c:492
+#: commands/variable.c:493
 msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction"
 msgstr "SET TRANSACTION ISOLATION LEVEL 不能在子事物中调用"
 
@@ -5807,25 +5935,25 @@ msgstr "
 msgid "trigger function %u returned null value"
 msgstr "触发器函数 %u 返回了空值"
 
-#: commands/trigger.c:1212 commands/trigger.c:1325 commands/trigger.c:1454
+#: commands/trigger.c:1214 commands/trigger.c:1331 commands/trigger.c:1464
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "BEFORE STATEMENT 触发器不能返回一个值"
 
-#: commands/trigger.c:1581 executor/execMain.c:1176 executor/execMain.c:1477
-#: executor/execMain.c:1613
+#: commands/trigger.c:1593 executor/execMain.c:1151 executor/execMain.c:1457
+#: executor/execMain.c:1598
 msgid "could not serialize access due to concurrent update"
 msgstr ""
 
-#: commands/trigger.c:2708
+#: commands/trigger.c:2723
 msgid "unnamed constraints cannot be set explicitly"
 msgstr ""
 
-#: commands/trigger.c:2741
+#: commands/trigger.c:2762
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "约束 \"%s\" 不可展缓"
 
-#: commands/trigger.c:2756 commands/tablecmds.c:4528
+#: commands/trigger.c:2777 commands/tablecmds.c:4574
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "约束 \"%s\" 不存在"
@@ -5838,7 +5966,7 @@ msgstr "
 msgid "database comments may only be applied to the current database"
 msgstr "数据库注释只能适用当前数据库"
 
-#: commands/comment.c:500 commands/schemacmds.c:201
+#: commands/comment.c:500 commands/schemacmds.c:172
 msgid "schema name may not be qualified"
 msgstr "模式名称也许不符合条件"
 
@@ -5883,7 +6011,7 @@ msgstr "
 
 #: commands/comment.c:1048 commands/opclasscmds.c:108
 #: commands/opclasscmds.c:648 commands/opclasscmds.c:800
-#: commands/opclasscmds.c:900 commands/indexcmds.c:216
+#: commands/opclasscmds.c:900 commands/indexcmds.c:230
 #, c-format
 msgid "access method \"%s\" does not exist"
 msgstr "访问方式 \"%s\" 不存在"
@@ -5891,8 +6019,8 @@ msgstr "
 #: commands/comment.c:1077 commands/comment.c:1087 commands/opclasscmds.c:677
 #: commands/opclasscmds.c:687 commands/opclasscmds.c:822
 #: commands/opclasscmds.c:833 commands/opclasscmds.c:922
-#: commands/opclasscmds.c:932 commands/indexcmds.c:600
-#: commands/indexcmds.c:610
+#: commands/opclasscmds.c:932 commands/indexcmds.c:614
+#: commands/indexcmds.c:624
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "处理方法 \"%s\" 的操作符类 \"%s\" 不存在"
@@ -5939,7 +6067,7 @@ msgstr "
 msgid "Creating a shell type definition."
 msgstr "创建一个 shell 类型定义."
 
-#: commands/functioncmds.c:154 parser/parse_func.c:1388 catalog/pg_proc.c:103
+#: commands/functioncmds.c:154 parser/parse_func.c:1388 catalog/pg_proc.c:100
 #, c-format
 msgid "functions cannot have more than %d arguments"
 msgstr "函数不能超过 %d 个参数"
@@ -5965,18 +6093,18 @@ msgstr "
 
 #: commands/functioncmds.c:228 commands/functioncmds.c:236
 #: commands/functioncmds.c:244 commands/functioncmds.c:252
-#: commands/functioncmds.c:260 commands/dbcommands.c:107
-#: commands/dbcommands.c:115 commands/dbcommands.c:123
-#: commands/dbcommands.c:131 commands/copy.c:720 commands/copy.c:728
+#: commands/functioncmds.c:260 commands/dbcommands.c:108
+#: commands/dbcommands.c:116 commands/dbcommands.c:124
+#: commands/dbcommands.c:132 commands/copy.c:720 commands/copy.c:728
 #: commands/copy.c:736 commands/copy.c:744 commands/copy.c:752
 #: commands/copy.c:760 commands/copy.c:768 commands/copy.c:776
-#: commands/copy.c:784 commands/user.c:573 commands/user.c:585
-#: commands/user.c:593 commands/user.c:601 commands/user.c:609
-#: commands/user.c:617 commands/user.c:823 commands/user.c:835
-#: commands/user.c:843 commands/user.c:851 commands/user.c:1353
-#: commands/user.c:1361 commands/sequence.c:877 commands/sequence.c:890
-#: commands/sequence.c:898 commands/sequence.c:906 commands/sequence.c:914
-#: commands/sequence.c:922
+#: commands/copy.c:784 commands/user.c:576 commands/user.c:588
+#: commands/user.c:596 commands/user.c:604 commands/user.c:612
+#: commands/user.c:620 commands/user.c:826 commands/user.c:838
+#: commands/user.c:846 commands/user.c:854 commands/user.c:1356
+#: commands/user.c:1364 commands/sequence.c:896 commands/sequence.c:909
+#: commands/sequence.c:917 commands/sequence.c:925 commands/sequence.c:933
+#: commands/sequence.c:941
 msgid "conflicting or redundant options"
 msgstr "选项冲突或过多"
 
@@ -6099,101 +6227,113 @@ msgstr "源
 msgid "cast from type %s to type %s already exists"
 msgstr "类型 %s 到 %s 的转换已经存在"
 
-#: commands/dbcommands.c:138
+#: commands/dbcommands.c:139
 msgid "LOCATION is not supported anymore"
 msgstr "不再支持 LOCATION"
 
-#: commands/dbcommands.c:139
+#: commands/dbcommands.c:140
 msgid "Consider using tablespaces instead."
 msgstr "考虑使用表空间代替."
 
-#: commands/dbcommands.c:162
+#: commands/dbcommands.c:163
 #, c-format
 msgid "%d is not a valid encoding code"
 msgstr "%d 是一个无效编码"
 
-#: commands/dbcommands.c:171
+#: commands/dbcommands.c:172
 #, c-format
 msgid "%s is not a valid encoding name"
 msgstr "%s 是一个无效编码名字"
 
-#: commands/dbcommands.c:192
+#: commands/dbcommands.c:193
 msgid "permission denied to create database"
 msgstr "创建数据库权限不够"
 
-#: commands/dbcommands.c:201
+#: commands/dbcommands.c:202
 msgid "must be superuser to create database for another user"
 msgstr "其他用户必须成为超级用户才能创建数据库"
 
-#: commands/dbcommands.c:215 commands/dbcommands.c:429
-#: commands/dbcommands.c:678
+#: commands/dbcommands.c:216 commands/dbcommands.c:458
+#: commands/dbcommands.c:712
 #, c-format
 msgid "database \"%s\" already exists"
 msgstr "数据库 \"%s\" 已经存在"
 
-#: commands/dbcommands.c:228
+#: commands/dbcommands.c:229
 #, c-format
 msgid "template database \"%s\" does not exist"
 msgstr "template 数据库 \"%s\" 不存在"
 
-#: commands/dbcommands.c:239
+#: commands/dbcommands.c:240
 #, c-format
 msgid "permission denied to copy database \"%s\""
 msgstr "拷贝数据库 \"%s\" 权限不够"
 
-#: commands/dbcommands.c:252
+#: commands/dbcommands.c:253
 #, c-format
 msgid "source database \"%s\" is being accessed by other users"
 msgstr "其他用户正在使用源数据库 \"%s\""
 
-#: commands/dbcommands.c:263
+#: commands/dbcommands.c:264
 #, c-format
 msgid "invalid server encoding %d"
 msgstr "无效服务器编码 %d"
 
-#: commands/dbcommands.c:354 commands/dbcommands.c:375
-#: commands/dbcommands.c:385 commands/dbcommands.c:1161
-#: commands/dbcommands.c:1169
+#: commands/dbcommands.c:310
+#, c-format
+msgid "cannot assign new default tablespace \"%s\""
+msgstr "无法分配新的默认表空间 \"%s\""
+
+#: commands/dbcommands.c:312
+#, c-format
+msgid ""
+"There is a conflict because database \"%s\" already has some tables in this "
+"tablespace."
+msgstr "此处有冲突, 因为数据库 \"%s\" 已经有一些表在此表空间中."
+
+#: commands/dbcommands.c:382 commands/dbcommands.c:404
+#: commands/dbcommands.c:414 commands/dbcommands.c:1226
+#: commands/dbcommands.c:1234
 msgid "could not initialize database directory"
 msgstr "无法初始化数据库目录"
 
-#: commands/dbcommands.c:355
+#: commands/dbcommands.c:383
 #, c-format
 msgid "Directory \"%s\" already exists."
 msgstr "目录 \"%s\" 已经存在"
 
-#: commands/dbcommands.c:376 commands/dbcommands.c:1162
+#: commands/dbcommands.c:405 commands/dbcommands.c:1227
 #, c-format
 msgid "Failing system command was: %s"
 msgstr "失败, 系统命令是: %s"
 
-#: commands/dbcommands.c:377 commands/dbcommands.c:1163
+#: commands/dbcommands.c:406 commands/dbcommands.c:1228
 msgid "Look in the postmaster's stderr log for more information."
 msgstr "获得更多信息请查看 postmaster 的标准错误上的日志"
 
-#: commands/dbcommands.c:504
+#: commands/dbcommands.c:533
 msgid "cannot drop the currently open database"
 msgstr "无法删除当前使用的数据库"
 
-#: commands/dbcommands.c:535
+#: commands/dbcommands.c:564
 msgid "cannot drop a template database"
 msgstr "无法删除模板数据库"
 
-#: commands/dbcommands.c:543 commands/dbcommands.c:665
+#: commands/dbcommands.c:572 commands/dbcommands.c:699
 #, c-format
 msgid "database \"%s\" is being accessed by other users"
 msgstr "其他用户正在使用数据库 \"%s\""
 
-#: commands/dbcommands.c:656
+#: commands/dbcommands.c:690
 msgid "current database may not be renamed"
 msgstr "当前数据库也许没有被重命名"
 
-#: commands/dbcommands.c:690
+#: commands/dbcommands.c:724
 msgid "permission denied to rename database"
 msgstr "重命名数据库权限不够"
 
-#: commands/dbcommands.c:998 commands/dbcommands.c:1135
-#: commands/dbcommands.c:1185
+#: commands/dbcommands.c:1063 commands/dbcommands.c:1200
+#: commands/dbcommands.c:1250
 #, c-format
 msgid "could not remove database directory \"%s\""
 msgstr "无法删除数据库目录 \"%s\""
@@ -6221,16 +6361,16 @@ msgstr "
 msgid "utility statements cannot be prepared"
 msgstr "不能准备好工具语句"
 
-#: commands/prepare.c:168 commands/prepare.c:173 commands/prepare.c:538
+#: commands/prepare.c:168 commands/prepare.c:173 commands/prepare.c:535
 msgid "prepared statement is not a SELECT"
 msgstr "准备好的语句不是一个 SELECT"
 
-#: commands/prepare.c:310
+#: commands/prepare.c:307
 #, c-format
 msgid "prepared statement \"%s\" already exists"
 msgstr "准备好的语句 \"%s\" 已经存在"
 
-#: commands/prepare.c:390
+#: commands/prepare.c:387
 #, c-format
 msgid "prepared statement \"%s\" does not exist"
 msgstr "准备好的语句 \"%s\" 不存在"
@@ -6391,130 +6531,130 @@ msgstr "COPY 
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "为了写入, 无法打开文件 \"%s\": %m"
 
-#: commands/copy.c:1389
+#: commands/copy.c:1386
 #, c-format
 msgid "COPY %s, line %d, column %s"
 msgstr "COPY %s, 行 %d, 列 %s"
 
-#: commands/copy.c:1392
+#: commands/copy.c:1389 commands/copy.c:1422
 #, c-format
 msgid "COPY %s, line %d"
 msgstr "COPY %s, 行 %d"
 
-#: commands/copy.c:1400
+#: commands/copy.c:1397
 #, c-format
 msgid "COPY %s, line %d, column %s: \"%s\""
 msgstr "COPY %s, 行 %d, 列 %s: \"%s\""
 
-#: commands/copy.c:1427
+#: commands/copy.c:1408
 #, c-format
 msgid "COPY %s, line %d: \"%s\""
 msgstr "COPY %s, 行 %d: \"%s\""
 
-#: commands/copy.c:1640
+#: commands/copy.c:1634
 msgid "COPY file signature not recognized"
 msgstr "文件签字不被认可"
 
-#: commands/copy.c:1646
+#: commands/copy.c:1640
 msgid "invalid COPY file header (missing flags)"
 msgstr "无效的 COPY 文件头 (缺少标志)"
 
-#: commands/copy.c:1652
+#: commands/copy.c:1646
 msgid "unrecognized critical flags in COPY file header"
 msgstr "在 COPY 文件头有不认可的危险标志"
 
-#: commands/copy.c:1658
+#: commands/copy.c:1652
 msgid "invalid COPY file header (missing length)"
 msgstr "无效的 COPY 文件头 (缺少长度)"
 
-#: commands/copy.c:1666
+#: commands/copy.c:1660
 msgid "invalid COPY file header (wrong length)"
 msgstr "无效的 COPY 文件头 (错误长度)"
 
-#: commands/copy.c:1745
+#: commands/copy.c:1739
 msgid "null OID in COPY data"
 msgstr "在 COPY 数据中没有 OID"
 
-#: commands/copy.c:1754 commands/copy.c:1851
+#: commands/copy.c:1748 commands/copy.c:1845
 msgid "invalid OID in COPY data"
 msgstr "在 COPY 数据中无效的 OID"
 
-#: commands/copy.c:1774
+#: commands/copy.c:1768
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "字段 \"%s\" 缺少数据"
 
-#: commands/copy.c:1784
+#: commands/copy.c:1778
 msgid "unterminated CSV quoted field"
 msgstr "CSV 引号域没有结束"
 
-#: commands/copy.c:1819
+#: commands/copy.c:1813
 msgid "extra data after last expected column"
 msgstr "最后期望字段后有额外数据"
 
-#: commands/copy.c:1837
+#: commands/copy.c:1831
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "元组字段计数是 %d, 期望计数是 %d"
 
-#: commands/copy.c:2059 commands/copy.c:2077
+#: commands/copy.c:2053 commands/copy.c:2071
 msgid "literal carriage return found in data"
 msgstr ""
 
-#: commands/copy.c:2060 commands/copy.c:2078
+#: commands/copy.c:2054 commands/copy.c:2072
 msgid "Use \"\\r\" to represent carriage return."
 msgstr ""
 
-#: commands/copy.c:2095
+#: commands/copy.c:2089
 msgid "literal newline found in data"
 msgstr ""
 
-#: commands/copy.c:2096
+#: commands/copy.c:2090
 msgid "Use \"\\n\" to represent newline."
 msgstr "使用 \"\\n\" 表示新行."
 
-#: commands/copy.c:2116 commands/copy.c:2132
+#: commands/copy.c:2110 commands/copy.c:2126
 msgid "end-of-copy marker does not match previous newline style"
 msgstr ""
 
-#: commands/copy.c:2120 commands/copy.c:2126
+#: commands/copy.c:2114 commands/copy.c:2120
 msgid "end-of-copy marker corrupt"
 msgstr ""
 
-#: commands/copy.c:2497 commands/copy.c:2519
+#: commands/copy.c:2485 commands/copy.c:2507
 msgid "unexpected EOF in COPY data"
 msgstr "在 COPY 数据中意外的 EOF"
 
-#: commands/copy.c:2506
+#: commands/copy.c:2494
 msgid "invalid field size"
 msgstr "无效字段尺寸"
 
-#: commands/copy.c:2533
+#: commands/copy.c:2521
 msgid "incorrect binary data format"
 msgstr "不正确的二进制数据格式"
 
-#: commands/copy.c:2719 parser/parse_target.c:649 parser/parse_target.c:659
+#: commands/copy.c:2707 parser/parse_target.c:650 parser/parse_target.c:660
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "字段 \"%s\" 被指定多次"
 
-#: commands/vacuumlazy.c:205 commands/vacuum.c:1160
+#: commands/vacuumlazy.c:221 commands/vacuum.c:1160
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "正在清理 (vacuum)  \"%s.%s\""
 
-#: commands/vacuumlazy.c:263 commands/vacuum.c:1202
+#: commands/vacuumlazy.c:293 commands/vacuum.c:1208
 #, c-format
 msgid "relation \"%s\" page %u is uninitialized --- fixing"
 msgstr "关系 \"%s\" 页 %u 没有初始化 --- 修复"
 
-#: commands/vacuumlazy.c:428 commands/vacuum.c:1499
+#: commands/vacuumlazy.c:456 commands/vacuum.c:1498
 #, c-format
 msgid ""
 "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
 msgstr ""
 
-#: commands/vacuumlazy.c:431
+#: commands/vacuumlazy.c:459
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -6523,25 +6663,25 @@ msgid ""
 "%s"
 msgstr ""
 
-#: commands/vacuumlazy.c:486
+#: commands/vacuumlazy.c:514
 #, c-format
 msgid "\"%s\": removed %d row versions in %d pages"
 msgstr ""
 
-#: commands/vacuumlazy.c:597 commands/vacuumlazy.c:657 commands/vacuum.c:2860
-#: commands/vacuum.c:2927
+#: commands/vacuumlazy.c:630 commands/vacuumlazy.c:705 commands/vacuum.c:2859
+#: commands/vacuum.c:2926
 #, c-format
 msgid "index \"%s\" now contains %.0f row versions in %u pages"
 msgstr ""
 
-#: commands/vacuumlazy.c:601 commands/vacuum.c:2864
+#: commands/vacuumlazy.c:634 commands/vacuum.c:2863
 #, c-format
 msgid ""
 "%u index pages have been deleted, %u are currently reusable.\n"
 "%s"
 msgstr ""
 
-#: commands/vacuumlazy.c:661 commands/vacuum.c:2931
+#: commands/vacuumlazy.c:709 commands/vacuum.c:2930
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -6549,7 +6689,7 @@ msgid ""
 "%s"
 msgstr ""
 
-#: commands/vacuumlazy.c:767 commands/vacuum.c:2770
+#: commands/vacuumlazy.c:817 commands/vacuum.c:2769
 #, c-format
 msgid "\"%s\": truncated %u to %u pages"
 msgstr ""
@@ -6739,7 +6879,7 @@ msgstr "
 msgid "cannot use table references in domain check constraint"
 msgstr "在域检查约束中不可以使用表关联"
 
-#: commands/typecmds.c:1872 catalog/heap.c:1610
+#: commands/typecmds.c:1872 catalog/heap.c:1595
 msgid "cannot use subquery in check constraint"
 msgstr "在检查约束中不可以使用子查询"
 
@@ -6850,7 +6990,7 @@ msgstr "
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "在表 \"%s\" 中未找到先前建簇的索引"
 
-#: commands/cluster.c:147 commands/tablecmds.c:5252
+#: commands/cluster.c:147 commands/tablecmds.c:5377
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "表 \"%2$s\" 的 \"%1$s\" 索引不存在"
@@ -6888,449 +7028,450 @@ msgstr "\"%s\" 
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "无法为其它会话的临时表建簇"
 
-#: commands/indexcmds.c:119
+#: commands/indexcmds.c:120
 msgid "must specify at least one column"
 msgstr "必需至少指定一个字段"
 
-#: commands/indexcmds.c:123
+#: commands/indexcmds.c:124
 #, c-format
 msgid "cannot use more than %d columns in an index"
 msgstr "在一个索引中不能使用超过 %d 个字段"
 
-#: commands/indexcmds.c:224
+#: commands/indexcmds.c:238
 #, c-format
 msgid "access method \"%s\" does not support unique indexes"
 msgstr "存取方法 \"%s\" 不支持唯一索引"
 
-#: commands/indexcmds.c:229
+#: commands/indexcmds.c:243
 #, c-format
 msgid "access method \"%s\" does not support multicolumn indexes"
 msgstr "存取方法 \"%s\" 不支持多字段索引"
 
-#: commands/indexcmds.c:243
+#: commands/indexcmds.c:257
 msgid ""
 "index expressions and predicates may refer only to the table being indexed"
 msgstr "索引表达式和声明只能指向要建索引的表"
 
-#: commands/indexcmds.c:271 parser/analyze.c:1185
+#: commands/indexcmds.c:285 parser/analyze.c:1197
 #, c-format
 msgid "multiple primary keys for table \"%s\" are not allowed"
 msgstr "对表 \"%s\" 指定多个主键是不允许的"
 
-#: commands/indexcmds.c:288
+#: commands/indexcmds.c:302
 msgid "primary keys cannot be expressions"
 msgstr "主键不能是表达式"
 
-#: commands/indexcmds.c:318 commands/indexcmds.c:456 parser/analyze.c:1299
+#: commands/indexcmds.c:332 commands/indexcmds.c:470 parser/analyze.c:1311
 #, c-format
 msgid "column \"%s\" named in key does not exist"
 msgstr "在键字中命名的字段 \"%s\" 不存在"
 
-#: commands/indexcmds.c:363
+#: commands/indexcmds.c:377
 #, c-format
 msgid "%s %s will create implicit index \"%s\" for table \"%s\""
 msgstr "%1$s %2$s 将要为表 \"%4$s\" 创建隐含索引 \"%3$s\""
 
-#: commands/indexcmds.c:406
+#: commands/indexcmds.c:420
 msgid "cannot use subquery in index predicate"
 msgstr "索引声明中不能使用子查询"
 
-#: commands/indexcmds.c:410
+#: commands/indexcmds.c:424
 msgid "cannot use aggregate in index predicate"
 msgstr "索引声明中不能使用聚集函数"
 
-#: commands/indexcmds.c:419
+#: commands/indexcmds.c:433
 msgid "functions in index predicate must be marked IMMUTABLE"
 msgstr "索引声明中函数必需标记为 IMMUTABLE"
 
-#: commands/indexcmds.c:461 commands/tablecmds.c:1297 parser/parse_expr.c:1084
+#: commands/indexcmds.c:475 commands/tablecmds.c:1329 parser/parse_expr.c:1084
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "字段 \"%s\" 不存在"
 
-#: commands/indexcmds.c:494
+#: commands/indexcmds.c:508
 msgid "cannot use subquery in index expression"
 msgstr "索引表达式中不能使用子查询"
 
-#: commands/indexcmds.c:498
+#: commands/indexcmds.c:512
 msgid "cannot use aggregate function in index expression"
 msgstr "索引表达式中不能使用聚集函数"
 
-#: commands/indexcmds.c:509
+#: commands/indexcmds.c:523
 msgid "functions in index expression must be marked IMMUTABLE"
 msgstr "索引表达式中函数必需标记为 IMMUTABLE"
 
-#: commands/indexcmds.c:568
+#: commands/indexcmds.c:582
 #, c-format
 msgid "data type %s has no default operator class for access method \"%s\""
 msgstr "对访问方法 \"%2$s\" 数据类型 %1$s 没有默认的操作符表"
 
-#: commands/indexcmds.c:570
+#: commands/indexcmds.c:584
 msgid ""
 "You must specify an operator class for the index or define a default "
 "operator class for the data type."
 msgstr "你必须指定一个操作符表给索引或定义一个默认的操作符表给数据类型."
 
-#: commands/indexcmds.c:623
+#: commands/indexcmds.c:637
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr "操作符表 \"%s\" 不能处理数据类型 %s"
 
-#: commands/indexcmds.c:949
+#: commands/indexcmds.c:963
 #, c-format
 msgid "shared table \"%s\" can only be reindexed in stand-alone mode"
 msgstr "共享表 \"%s\" 只能在独立运行模式中重建索引"
 
-#: commands/indexcmds.c:956
+#: commands/indexcmds.c:970
 #, c-format
 msgid "table \"%s\" has no indexes"
 msgstr "表 \"%s\" 没有索引"
 
-#: commands/indexcmds.c:984
+#: commands/indexcmds.c:998
 msgid "can only reindex the currently open database"
 msgstr "只能在当前打开的数据库上重建索引"
 
-#: commands/indexcmds.c:1067
+#: commands/indexcmds.c:1081
 #, c-format
 msgid "table \"%s\" was reindexed"
 msgstr "表 \"%s\" 已被重新索引"
 
-#: commands/tablecmds.c:292
+#: commands/tablecmds.c:294
 msgid "ON COMMIT can only be used on temporary tables"
 msgstr "ON COMMIT 只能被用于临时表"
 
-#: commands/tablecmds.c:394
+#: commands/tablecmds.c:399
 #, c-format
 msgid "duplicate check constraint name \"%s\""
 msgstr "有多个名为 \"%s\" 的约束"
 
-#: commands/tablecmds.c:561
+#: commands/tablecmds.c:566
 #, c-format
 msgid "cannot truncate system relation \"%s\""
 msgstr "不能截断系统关系 \"%s\""
 
-#: commands/tablecmds.c:571
+#: commands/tablecmds.c:576
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "不能缩短其他会话的临时表"
 
-#: commands/tablecmds.c:697
+#: commands/tablecmds.c:697 commands/tablecmds.c:1007
+#: commands/tablecmds.c:2927 catalog/heap.c:382
+#, c-format
+msgid "tables can have at most %d columns"
+msgstr "表最多可以有 %d 个字段"
+
+#: commands/tablecmds.c:719
 #, c-format
 msgid "column \"%s\" duplicated"
 msgstr "属性 \"%s\" 被复制"
 
-#: commands/tablecmds.c:722 parser/analyze.c:1055 parser/analyze.c:1261
+#: commands/tablecmds.c:744 parser/analyze.c:1067 parser/analyze.c:1273
 #, c-format
 msgid "inherited relation \"%s\" is not a table"
 msgstr "继承关系 \"%s\" 不是一个表"
 
-#: commands/tablecmds.c:728
+#: commands/tablecmds.c:750
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "不能从临时关系 \"%s\" 继承"
 
-#: commands/tablecmds.c:745
+#: commands/tablecmds.c:767
 #, c-format
 msgid "inherited relation \"%s\" duplicated"
 msgstr "继承关系 \"%s\" 被复制"
 
-#: commands/tablecmds.c:799
+#: commands/tablecmds.c:821
 #, c-format
 msgid "merging multiple inherited definitions of column \"%s\""
 msgstr "合并属性 \"%s\" 的多个继承定义"
 
-#: commands/tablecmds.c:806
+#: commands/tablecmds.c:828
 #, c-format
 msgid "inherited column \"%s\" has a type conflict"
 msgstr "继承属性 \"%s\" 类型冲突"
 
-#: commands/tablecmds.c:808 commands/tablecmds.c:953 parser/parse_coerce.c:239
-#: parser/parse_coerce.c:1110 parser/parse_coerce.c:1127
-#: parser/parse_coerce.c:1173
+#: commands/tablecmds.c:830 commands/tablecmds.c:975 parser/parse_coerce.c:239
+#: parser/parse_coerce.c:1125 parser/parse_coerce.c:1142
+#: parser/parse_coerce.c:1188
 #, c-format
 msgid "%s versus %s"
 msgstr "%s 对 %s"
 
-#: commands/tablecmds.c:944
+#: commands/tablecmds.c:966
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "合并属性 \"%s\" 连同继承定义"
 
-#: commands/tablecmds.c:951
+#: commands/tablecmds.c:973
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "属性 \"%s\" 类型冲突"
 
-#: commands/tablecmds.c:992
+#: commands/tablecmds.c:1024
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "属性 \"%s\" 继承与默认值冲突"
 
-#: commands/tablecmds.c:994
+#: commands/tablecmds.c:1026
 msgid "To resolve the conflict, specify a default explicitly."
 msgstr "要解决冲突, 指定明确的默认值"
 
-#: commands/tablecmds.c:1287
+#: commands/tablecmds.c:1319
 #, c-format
 msgid "inherited column \"%s\" must be renamed in child tables too"
 msgstr "在子表中继承属性 \"%s\" 也必需重命名"
 
-#: commands/tablecmds.c:1305
+#: commands/tablecmds.c:1337
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "不能对系统字段 \"%s\" 重命名"
 
-#: commands/tablecmds.c:1315
+#: commands/tablecmds.c:1347
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "不能对继承字段 \"%s\" 重命名"
 
-#: commands/tablecmds.c:1326 commands/tablecmds.c:2887
+#: commands/tablecmds.c:1358 commands/tablecmds.c:2919
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "关系 \"%s\" 的属性 \"%s\" 已经存在"
 
-#: commands/tablecmds.c:1469 catalog/heap.c:747 catalog/index.c:527
+#: commands/tablecmds.c:1501 catalog/heap.c:732 catalog/index.c:514
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "关系 \"%s\" 已经存在"
 
-#: commands/tablecmds.c:2187
+#: commands/tablecmds.c:2219
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "不能改写系统关系 \"%s\""
 
-#: commands/tablecmds.c:2197
+#: commands/tablecmds.c:2229
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "不能改写其他会话的临时表"
 
-#: commands/tablecmds.c:2488
+#: commands/tablecmds.c:2520
 #, c-format
 msgid "check constraint \"%s\" is violated by some row"
 msgstr "一些行违反了检查约束 \"%s\""
 
-#: commands/tablecmds.c:2501
+#: commands/tablecmds.c:2533
 #, c-format
 msgid "column \"%s\" contains null values"
 msgstr "字段 \"%s\" 包含空值"
 
-#: commands/tablecmds.c:2586
+#: commands/tablecmds.c:2618
 #, c-format
 msgid "\"%s\" is not a table or view"
 msgstr "\"%s\" 不是一个视图或视图"
 
-#: commands/tablecmds.c:2739
+#: commands/tablecmds.c:2771
 #, c-format
 msgid "cannot alter table \"%s\" because column \"%s\".\"%s\" uses its rowtype"
 msgstr ""
 
-#: commands/tablecmds.c:2805
+#: commands/tablecmds.c:2837
 msgid "column must be added to child tables too"
 msgstr "属性也必需加入到子表中"
 
-#: commands/tablecmds.c:2848
+#: commands/tablecmds.c:2880
 #, c-format
 msgid "child table \"%s\" has different type for column \"%s\""
 msgstr "子表 \"%s\" 的字段 \"%s\" 有不同的类型"
 
-#: commands/tablecmds.c:2860
+#: commands/tablecmds.c:2892
 #, c-format
 msgid "merging definition of column \"%s\" for child \"%s\""
 msgstr "合并子表 \"%2$s\" 的字段 \"%1$s\" 定义"
 
-#: commands/tablecmds.c:2895 catalog/heap.c:382
-#, c-format
-msgid "tables can have at most %d columns"
-msgstr "表最多可以有 %d 个字段"
-
-#: commands/tablecmds.c:3077 commands/tablecmds.c:3170
-#: commands/tablecmds.c:3220 commands/tablecmds.c:3316
-#: commands/tablecmds.c:3377 commands/tablecmds.c:4571
+#: commands/tablecmds.c:3109 commands/tablecmds.c:3202
+#: commands/tablecmds.c:3252 commands/tablecmds.c:3348
+#: commands/tablecmds.c:3409 commands/tablecmds.c:4617
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "不能更改系统字段 \"%s\""
 
-#: commands/tablecmds.c:3113
+#: commands/tablecmds.c:3145
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "字段 \"%s\" 是一个主键"
 
-#: commands/tablecmds.c:3263 commands/tablecmds.c:5291
+#: commands/tablecmds.c:3295 commands/tablecmds.c:5416
 #, c-format
 msgid "\"%s\" is not a table or index"
 msgstr "\"%s\" 不是一个表或索引"
 
-#: commands/tablecmds.c:3290
+#: commands/tablecmds.c:3322
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "目标统计 %d 太低"
 
-#: commands/tablecmds.c:3298
+#: commands/tablecmds.c:3330
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "降低目标统计到 %d"
 
-#: commands/tablecmds.c:3358
+#: commands/tablecmds.c:3390
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "无效存储类型 \"%s\""
 
-#: commands/tablecmds.c:3389
+#: commands/tablecmds.c:3421
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
 msgstr "字段数据类型 %s 只能存储为明文 (PLAIN)"
 
-#: commands/tablecmds.c:3446
+#: commands/tablecmds.c:3478
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "不能删除系统字段 \"%s\""
 
-#: commands/tablecmds.c:3453
+#: commands/tablecmds.c:3485
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "不能删除继承字段 \"%s\""
 
-#: commands/tablecmds.c:3690 catalog/heap.c:1631
+#: commands/tablecmds.c:3722 catalog/heap.c:1616
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "关系 \"%2$s\" 的约束 \"%1$s\" 已经存在"
 
-#: commands/tablecmds.c:3754
+#: commands/tablecmds.c:3786
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "关联的关系 \"%s\" 不是一个表"
 
-#: commands/tablecmds.c:3788
+#: commands/tablecmds.c:3820
 msgid "cannot reference temporary table from permanent table constraint"
 msgstr "不可以从固定表约束关联临时表"
 
-#: commands/tablecmds.c:3795
+#: commands/tablecmds.c:3827
 msgid "cannot reference permanent table from temporary table constraint"
 msgstr "不可以从临时表约束关联固定表"
 
-#: commands/tablecmds.c:3840 commands/tablecmds.c:4328
+#: commands/tablecmds.c:3872 commands/tablecmds.c:4362
 msgid "number of referencing and referenced columns for foreign key disagree"
 msgstr "外键的关联数和关联字段不一致"
 
-#: commands/tablecmds.c:3861
+#: commands/tablecmds.c:3893
 #, c-format
 msgid "foreign key constraint \"%s\" cannot be implemented"
 msgstr "无法实现外键约束 \"%s\""
 
-#: commands/tablecmds.c:3864
+#: commands/tablecmds.c:3896
 #, c-format
 msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s."
 msgstr "关键字段 \"%s\" 和 \"%s\" 为混和类型: %s 和 %s."
 
-#: commands/tablecmds.c:3878
+#: commands/tablecmds.c:3910
 #, c-format
 msgid "foreign key constraint \"%s\" will require costly sequential scans"
 msgstr ""
 
-#: commands/tablecmds.c:3881
+#: commands/tablecmds.c:3913
 #, c-format
 msgid "Key columns \"%s\" and \"%s\" are of different types: %s and %s."
 msgstr "关键字段 \"%s\" 和 \"%s\" 为不同的类型: %s 和 %s."
 
-#: commands/tablecmds.c:3966
+#: commands/tablecmds.c:3998
 #, c-format
 msgid "column \"%s\" referenced in foreign key constraint does not exist"
 msgstr "在外键约束中的关联字段 \"%s\" 不存在"
 
-#: commands/tablecmds.c:3971
+#: commands/tablecmds.c:4003
 #, c-format
 msgid "cannot have more than %d keys in a foreign key"
 msgstr "在一个外键中不能超过 %d 个键"
 
-#: commands/tablecmds.c:4040
+#: commands/tablecmds.c:4072
 #, c-format
 msgid "there is no primary key for referenced table \"%s\""
 msgstr "关联表 \"%s\" 没有主键"
 
-#: commands/tablecmds.c:4158
+#: commands/tablecmds.c:4190
 #, c-format
 msgid ""
 "there is no unique constraint matching given keys for referenced table \"%s\""
 msgstr "没有唯一约束与关联表 \"%s\" 给定的键值匹配"
 
-#: commands/tablecmds.c:4533
+#: commands/tablecmds.c:4579
 #, c-format
 msgid "multiple constraints named \"%s\" were dropped"
 msgstr "有多个名为 \"%s\" 的约束被删除了"
 
-#: commands/tablecmds.c:4578
+#: commands/tablecmds.c:4624
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "不能修改继承字段 \"%s\""
 
-#: commands/tablecmds.c:4618
+#: commands/tablecmds.c:4664
 msgid "transform expression must not return a set"
 msgstr "转换表达式不能返回一个组合"
 
-#: commands/tablecmds.c:4624
+#: commands/tablecmds.c:4670
 msgid "cannot use subquery in transform expression"
 msgstr "在转换表达式中不能使用子查询"
 
-#: commands/tablecmds.c:4628
+#: commands/tablecmds.c:4674
 msgid "cannot use aggregate function in transform expression"
 msgstr "转换表达式中不能使用聚集函数"
 
-#: commands/tablecmds.c:4645
+#: commands/tablecmds.c:4691
 #, c-format
 msgid "column \"%s\" cannot be cast to type \"%s\""
 msgstr "字段 \"%s\" 不能转换成类型 \"%s\""
 
-#: commands/tablecmds.c:4671
+#: commands/tablecmds.c:4717
 #, c-format
 msgid "type of inherited column \"%s\" must be changed in child tables too"
 msgstr "在子表中继承字段 \"%s\" 的类型也必需改变"
 
-#: commands/tablecmds.c:4709
+#: commands/tablecmds.c:4755
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "不能更改字段 \"%s\" 的类型两遍"
 
-#: commands/tablecmds.c:4736
+#: commands/tablecmds.c:4789
 #, c-format
 msgid "default for column \"%s\" cannot be cast to type \"%s\""
 msgstr "字段 \"%s\" 的默认值不能转换成类型 \"%s\""
 
-#: commands/tablecmds.c:4836
+#: commands/tablecmds.c:4889
 msgid "cannot alter type of a column used by a view or rule"
 msgstr "不能使用视图或规则改变一个字段的类型"
 
-#: commands/tablecmds.c:4837
+#: commands/tablecmds.c:4890
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s 倚赖于字段 \"%s\""
 
-#: commands/tablecmds.c:5151
+#: commands/tablecmds.c:5206
 #, c-format
 msgid "\"%s\" is not a table, TOAST table, index, view, or sequence"
 msgstr "\"%s\" 不是一个表, TOAST 表, 索引, 视图, 或者序列"
 
-#: commands/tablecmds.c:5321
-msgid "multiple SET TABLESPACE subcommands are not valid"
+#: commands/tablecmds.c:5446
+msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr ""
 
-#: commands/tablecmds.c:5351
+#: commands/tablecmds.c:5476
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "不能删除系统关系 \"%s\""
 
-#: commands/tablecmds.c:5361
+#: commands/tablecmds.c:5486
 msgid "cannot move temporary tables of other sessions"
 msgstr "不能在其他会话中删除临时表"
 
-#: commands/tablecmds.c:5571
+#: commands/tablecmds.c:5696
 msgid "shared tables cannot be toasted after initdb"
 msgstr "在 initdb 之后, 不可以 toasted 共享表"
 
-#: commands/tablecmds.c:5586
+#: commands/tablecmds.c:5711
 #, c-format
 msgid "table \"%s\" already has a TOAST table"
 msgstr "表 \"%s\" 已经是一个 TOAST 表"
 
-#: commands/tablecmds.c:5603
+#: commands/tablecmds.c:5728
 #, c-format
 msgid "table \"%s\" does not need a TOAST table"
 msgstr "表 \"%s\" 不需要一个 TOAST 表"
@@ -7351,152 +7492,152 @@ msgstr "
 msgid "analyzing \"%s.%s\""
 msgstr "正在分析 \"%s.%s\""
 
-#: commands/analyze.c:916
+#: commands/analyze.c:912
 #, c-format
 msgid ""
 "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead "
 "rows; %d rows in sample, %.0f estimated total rows"
 msgstr ""
 
-#: commands/user.c:172 commands/user.c:270 commands/user.c:319
-#: commands/user.c:400
+#: commands/user.c:174 commands/user.c:272 commands/user.c:321
+#: commands/user.c:402
 #, c-format
 msgid "could not write to temporary file \"%s\": %m"
 msgstr "无法往临时文件 \"%s\" 写入: %m"
 
-#: commands/user.c:207
+#: commands/user.c:209
 #, c-format
 msgid "invalid group name \"%s\""
 msgstr "无效组名 \"%s\""
 
-#: commands/user.c:238 commands/user.c:369
+#: commands/user.c:240 commands/user.c:371
 #, c-format
 msgid "invalid user name \"%s\""
 msgstr "无效用户名 \"%s\""
 
-#: commands/user.c:376
+#: commands/user.c:378
 #, c-format
 msgid "invalid user password \"%s\""
 msgstr "无效用户口令 \"%s\""
 
-#: commands/user.c:635
+#: commands/user.c:638
 msgid "user ID must be positive"
 msgstr "用户 ID 必需为正数"
 
-#: commands/user.c:652
+#: commands/user.c:655
 msgid "must be superuser to create users"
 msgstr "只有超级用户能创建用户"
 
-#: commands/user.c:657
+#: commands/user.c:660
 #, c-format
 msgid "user name \"%s\" is reserved"
 msgstr "用户名 \"%s\" 被保留了"
 
-#: commands/user.c:694 commands/user.c:1249
+#: commands/user.c:697 commands/user.c:1252
 #, c-format
 msgid "user \"%s\" already exists"
 msgstr "用户 \"%s\" 已经存在"
 
-#: commands/user.c:699
+#: commands/user.c:702
 #, c-format
 msgid "user ID %d is already assigned"
 msgstr "用户 ID %d 已经被赋值"
 
-#: commands/user.c:880 commands/user.c:1015 commands/schemacmds.c:86
+#: commands/user.c:883 commands/user.c:1018 commands/schemacmds.c:84
 msgid "permission denied"
 msgstr "权限不够"
 
-#: commands/user.c:1074
+#: commands/user.c:1077
 msgid "must be superuser to drop users"
 msgstr "只有超级用户可以删除用户"
 
-#: commands/user.c:1108
+#: commands/user.c:1111
 msgid "current user cannot be dropped"
 msgstr "当前用户不能被删除"
 
-#: commands/user.c:1112
+#: commands/user.c:1115
 msgid "session user cannot be dropped"
 msgstr "会话用户不能被删除"
 
-#: commands/user.c:1139
+#: commands/user.c:1142
 #, c-format
 msgid "user \"%s\" cannot be dropped"
 msgstr "用户 \"%s\" 不能被删除"
 
-#: commands/user.c:1140
+#: commands/user.c:1143
 #, c-format
 msgid "The user owns database \"%s\"."
 msgstr "用户是数据库 \"%s\" 的属主."
 
-#: commands/user.c:1241
+#: commands/user.c:1244
 msgid "session user may not be renamed"
 msgstr "会话用户不能被重命名"
 
-#: commands/user.c:1255
+#: commands/user.c:1258
 msgid "must be superuser to rename users"
 msgstr "只有超级用户可以对用户重命名"
 
-#: commands/user.c:1274
+#: commands/user.c:1277
 msgid "MD5 password cleared because of user rename"
 msgstr "由于用户重命名, 清除 MD5 口令"
 
-#: commands/user.c:1308
+#: commands/user.c:1311
 #, c-format
 msgid "before using passwords you must revoke privileges on %s"
 msgstr ""
 
-#: commands/user.c:1310
+#: commands/user.c:1313
 msgid ""
 "This restriction is to prevent unprivileged users from reading the passwords."
 msgstr ""
 
-#: commands/user.c:1311
+#: commands/user.c:1314
 #, c-format
 msgid "Try REVOKE ALL ON \"%s\" FROM PUBLIC."
 msgstr "试试 REVOKE ALL ON \"%s\" FROM PUBLIC."
 
-#: commands/user.c:1375
+#: commands/user.c:1378
 msgid "group ID must be positive"
 msgstr "组 ID 必需为正数"
 
-#: commands/user.c:1388
+#: commands/user.c:1391
 msgid "must be superuser to create groups"
 msgstr "只有超级用户能创建组"
 
-#: commands/user.c:1393
+#: commands/user.c:1396
 #, c-format
 msgid "group name \"%s\" is reserved"
 msgstr "组名 \"%s\" 被保留了"
 
-#: commands/user.c:1430 commands/user.c:1812
+#: commands/user.c:1433 commands/user.c:1815
 #, c-format
 msgid "group \"%s\" already exists"
 msgstr "组 \"%s\" 已经存在"
 
-#: commands/user.c:1435
+#: commands/user.c:1438
 #, c-format
 msgid "group ID %d is already assigned"
 msgstr "组 ID %d 已经被赋值"
 
-#: commands/user.c:1515
+#: commands/user.c:1518
 msgid "must be superuser to alter groups"
 msgstr "只有超级用户可以更改组"
 
-#: commands/user.c:1594
+#: commands/user.c:1597
 #, c-format
 msgid "group \"%s\" does not have any members"
 msgstr "组 \"%s\" 没有任何成员"
 
-#: commands/user.c:1622
+#: commands/user.c:1625
 #, c-format
 msgid "user \"%s\" is not in group \"%s\""
 msgstr "用户 \"%s\" 不在组 \"%s\" 中"
 
-#: commands/user.c:1754
+#: commands/user.c:1757
 msgid "must be superuser to drop groups"
 msgstr "只有超级用户可以删除组"
 
-#: commands/user.c:1818
+#: commands/user.c:1821
 msgid "must be superuser to rename groups"
 msgstr "只有超级用户对组重命名"
 
@@ -7593,21 +7734,21 @@ msgid ""
 "skipping \"%s\" --- cannot vacuum indexes, views, or special system tables"
 msgstr "忽略 \"%s\" --- 无法清理 (vacuum) 索引, 视图或特殊的系统表"
 
-#: commands/vacuum.c:1328
+#: commands/vacuum.c:1331
 #, c-format
 msgid ""
 "relation \"%s\" TID %u/%u: InsertTransactionInProgress %u --- can't shrink "
 "relation"
 msgstr ""
 
-#: commands/vacuum.c:1341
+#: commands/vacuum.c:1344
 #, c-format
 msgid ""
 "relation \"%s\" TID %u/%u: DeleteTransactionInProgress %u --- can't shrink "
 "relation"
 msgstr ""
 
-#: commands/vacuum.c:1502
+#: commands/vacuum.c:1501
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -7619,66 +7760,66 @@ msgid ""
 "%s"
 msgstr ""
 
-#: commands/vacuum.c:2255
+#: commands/vacuum.c:2254
 #, c-format
 msgid "\"%s\": moved %u row versions, truncated %u to %u pages"
 msgstr ""
 
-#: commands/vacuum.c:2878 commands/vacuum.c:2947
+#: commands/vacuum.c:2877 commands/vacuum.c:2946
 #, c-format
 msgid ""
 "index \"%s\" contains %.0f row versions, but table contains %.0f row versions"
 msgstr ""
 
-#: commands/vacuum.c:2881 commands/vacuum.c:2950
+#: commands/vacuum.c:2880 commands/vacuum.c:2949
 msgid "Rebuild the index with REINDEX."
 msgstr "使用 REINDEX 重建索引."
 
-#: commands/sequence.c:401 commands/sequence.c:593 commands/sequence.c:636
+#: commands/sequence.c:399 commands/sequence.c:591 commands/sequence.c:634
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "对于序列 %s, 权限不够"
 
-#: commands/sequence.c:478
+#: commands/sequence.c:476
 #, c-format
 msgid "nextval: reached maximum value of sequence \"%s\" (%s)"
 msgstr "nextval: 达到序列 \"%s\" 的最大值了 (%s)"
 
-#: commands/sequence.c:501
+#: commands/sequence.c:499
 #, c-format
 msgid "nextval: reached minimum value of sequence \"%s\" (%s)"
 msgstr "nextval: 达到序列 \"%s\" 的最小值了 (%s)"
 
-#: commands/sequence.c:599
+#: commands/sequence.c:597
 #, c-format
 msgid "currval of sequence \"%s\" is not yet defined in this session"
 msgstr "在此会话中序列 \"%s\" 的 currval 仍没被定义"
 
-#: commands/sequence.c:653
+#: commands/sequence.c:651
 #, c-format
 msgid "setval: value %s is out of bounds for sequence \"%s\" (%s..%s)"
 msgstr "setval: 值 %s 超出序列 \"%s\" 的范围 (%s..%s)"
 
-#: commands/sequence.c:937
+#: commands/sequence.c:956
 msgid "INCREMENT must not be zero"
 msgstr "INCREMENT 不必为零"
 
-#: commands/sequence.c:983
+#: commands/sequence.c:1002
 #, c-format
 msgid "MINVALUE (%s) must be less than MAXVALUE (%s)"
 msgstr "MINVALUE (%s) 必需小于 MAXVALUE (%s)"
 
-#: commands/sequence.c:1014
+#: commands/sequence.c:1033
 #, c-format
 msgid "START value (%s) can't be less than MINVALUE (%s)"
 msgstr "START 值 (%s) 不能小于 MINVALUE (%s)"
 
-#: commands/sequence.c:1026
+#: commands/sequence.c:1045
 #, c-format
 msgid "START value (%s) can't be greater than MAXVALUE (%s)"
 msgstr "START 值 (%s) 不能大于 MAXVALUE (%s)"
 
-#: commands/sequence.c:1041
+#: commands/sequence.c:1060
 #, c-format
 msgid "CACHE (%s) must be greater than zero"
 msgstr "CACHE (%s) 必须大于零"
@@ -7710,21 +7851,21 @@ msgstr "
 msgid "function %s(*) already exists in schema \"%s\""
 msgstr "在模式 \"%2$s\" 中函数 %1$s(*) 已经存在"
 
-#: commands/schemacmds.c:87
+#: commands/schemacmds.c:85
 #, c-format
 msgid "\"%s\" is not a superuser, so cannot create a schema for \"%s\""
 msgstr "\"%s\" 不是超级用户, 因此不能为 \"%s\" 创建模式"
 
-#: commands/schemacmds.c:102 commands/schemacmds.c:297
+#: commands/schemacmds.c:100 commands/schemacmds.c:268
 #, c-format
 msgid "unacceptable schema name \"%s\""
 msgstr "不可访问的模式名字 \"%s\""
 
-#: commands/schemacmds.c:103 commands/schemacmds.c:298
+#: commands/schemacmds.c:101 commands/schemacmds.c:269
 msgid "The prefix \"pg_\" is reserved for system schemas."
 msgstr "前缀 \"pg_\" 是保留给系统模式的."
 
-#: commands/schemacmds.c:281 catalog/pg_namespace.c:51
+#: commands/schemacmds.c:252 catalog/pg_namespace.c:51
 #, c-format
 msgid "schema \"%s\" already exists"
 msgstr "模式 \"%s\" 已经存在"
@@ -7734,7 +7875,7 @@ msgstr "模式 \"%s\" 
 msgid "JOIN/ON clause refers to \"%s\", which is not part of JOIN"
 msgstr ""
 
-#: parser/parse_clause.c:423 gram.y:5172
+#: parser/parse_clause.c:423 gram.y:5161
 msgid "subquery in FROM must have an alias"
 msgstr "FROM 中的子查询必须有一个别名"
 
@@ -7746,90 +7887,90 @@ msgstr "FROM 
 msgid "subquery in FROM may not refer to other relations of same query level"
 msgstr ""
 
-#: parser/parse_clause.c:523
+#: parser/parse_clause.c:527
 msgid ""
 "function expression in FROM may not refer to other relations of same query "
 "level"
 msgstr ""
 
-#: parser/parse_clause.c:535
+#: parser/parse_clause.c:539
 msgid "cannot use aggregate function in function expression in FROM"
 msgstr "不能在 FROM 中的函数表达式中使用聚集函数"
 
-#: parser/parse_clause.c:755
+#: parser/parse_clause.c:759
 #, c-format
 msgid "column name \"%s\" appears more than once in USING clause"
 msgstr "在 USING 子句中字段名 \"%s\" 出现多次"
 
-#: parser/parse_clause.c:770
+#: parser/parse_clause.c:774
 #, c-format
 msgid "common column name \"%s\" appears more than once in left table"
 msgstr "共同的字段名 \"%s\" 在左边的表中出现了多次"
 
-#: parser/parse_clause.c:779
+#: parser/parse_clause.c:783
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in left table"
 msgstr "USING 子句中指定的字段 \"%s\" 在左边的表中不存在"
 
-#: parser/parse_clause.c:793
+#: parser/parse_clause.c:797
 #, c-format
 msgid "common column name \"%s\" appears more than once in right table"
 msgstr "共同的字段名 \"%s\" 在右边的表中出现了多次"
 
-#: parser/parse_clause.c:802
+#: parser/parse_clause.c:806
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in right table"
 msgstr "USING 子句中指定的字段 \"%s\" 在右边的表中不存在"
 
-#: parser/parse_clause.c:854
+#: parser/parse_clause.c:858
 #, c-format
 msgid "column alias list for \"%s\" has too many entries"
 msgstr "\"%s\" 的字段别名列表有太多记录"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1047
+#: parser/parse_clause.c:1051
 #, c-format
 msgid "argument of %s must not contain variables"
 msgstr "%s 的参数不能包含变量"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1055
+#: parser/parse_clause.c:1059
 #, c-format
 msgid "argument of %s must not contain aggregates"
 msgstr "%s 的参数一定不能包含聚集函数"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1063
+#: parser/parse_clause.c:1067
 #, c-format
 msgid "argument of %s must not contain subqueries"
 msgstr "%s 的参数一定不能包含子查询"
 
-#: parser/parse_clause.c:1175
+#: parser/parse_clause.c:1179
 #, c-format
 msgid "%s \"%s\" is ambiguous"
 msgstr "%s \"%s\" 是不明确的"
 
 #. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1197
+#: parser/parse_clause.c:1201
 #, c-format
 msgid "non-integer constant in %s"
 msgstr "在 %s 中的非整数常量"
 
 #. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1214
+#: parser/parse_clause.c:1218
 #, c-format
 msgid "%s position %d is not in select list"
 msgstr ""
 
-#: parser/parse_clause.c:1407
+#: parser/parse_clause.c:1411
 msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list"
 msgstr ""
 
-#: parser/parse_clause.c:1447
+#: parser/parse_clause.c:1451
 msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
 msgstr ""
 
-#: parser/parse_agg.c:74 optimizer/util/clauses.c:426 executor/execQual.c:2769
+#: parser/parse_agg.c:74 optimizer/util/clauses.c:428 executor/execQual.c:2804
 msgid "aggregate function calls may not be nested"
 msgstr "聚集函数调用不允许嵌套"
 
@@ -7896,41 +8037,37 @@ msgstr "一
 msgid "a column definition list is required for functions returning \"record\""
 msgstr "一个字段定义列表需要返回 \"record\" 的函数"
 
-#: parser/parse_relation.c:1052
+#: parser/parse_relation.c:1047
 #, c-format
 msgid "too many column aliases specified for function %s"
 msgstr "为函数 %s 指定了太多的字段别名"
 
-#: parser/parse_relation.c:1076
+#: parser/parse_relation.c:1071
 #, c-format
-msgid "function \"%s\" in FROM has unsupported return type"
-msgstr "FROM 中的函数 \"%s\" 不支持返回类型"
-
-#: parser/parse_relation.c:1394 parser/parse_relation.c:1730
-msgid "function in FROM has unsupported return type"
-msgstr "FROM 中的函数不支持返回类型"
+msgid "function \"%s\" in FROM has unsupported return type %s"
+msgstr "FROM 中的函数 \"%s\" 不支持返回类型 %s"
 
-#: parser/parse_relation.c:2009
+#: parser/parse_relation.c:2003
 #, c-format
 msgid "missing FROM-clause entry in subquery for table \"%s\""
 msgstr ""
 
-#: parser/parse_relation.c:2014
+#: parser/parse_relation.c:2008
 #, c-format
 msgid "missing FROM-clause entry for table \"%s\""
 msgstr ""
 
-#: parser/parse_relation.c:2033
+#: parser/parse_relation.c:2027
 #, c-format
 msgid "adding missing FROM-clause entry in subquery for table \"%s\""
 msgstr ""
 
-#: parser/parse_relation.c:2038
+#: parser/parse_relation.c:2032
 #, c-format
 msgid "adding missing FROM-clause entry for table \"%s\""
 msgstr ""
 
-#: parser/parse_coerce.c:221 parser/analyze.c:3136 parser/parse_expr.c:116
+#: parser/parse_coerce.c:221 parser/analyze.c:3144 parser/parse_expr.c:116
 #: parser/parse_expr.c:122
 #, c-format
 msgid "there is no parameter $%d"
@@ -7941,296 +8078,296 @@ msgstr "没
 msgid "inconsistent types deduced for parameter $%d"
 msgstr ""
 
-#: parser/parse_coerce.c:676 parser/parse_coerce.c:703
-#: parser/parse_coerce.c:719 parser/parse_coerce.c:733
+#: parser/parse_coerce.c:691 parser/parse_coerce.c:718
+#: parser/parse_coerce.c:734 parser/parse_coerce.c:748
 #: parser/parse_expr.c:1654
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "无法把类型 %s 转换为 %s"
 
-#: parser/parse_coerce.c:706
+#: parser/parse_coerce.c:721
 msgid "Input has too few columns."
 msgstr "输入字段太少"
 
-#: parser/parse_coerce.c:722
+#: parser/parse_coerce.c:737
 #, c-format
 msgid "Cannot cast type %s to %s in column %d."
 msgstr "不能把第 %3$d 个字段的类型 %1$s 转换为 %2$s."
 
-#: parser/parse_coerce.c:736
+#: parser/parse_coerce.c:751
 msgid "Input has too many columns."
 msgstr "输入字段太多"
 
 #. translator: first %s is name of a SQL construct, eg WHERE
-#: parser/parse_coerce.c:770
+#: parser/parse_coerce.c:785
 #, c-format
 msgid "argument of %s must be type boolean, not type %s"
 msgstr "%s 的参数必需是布尔类型, 而不是 %s 类型"
 
 #. translator: %s is name of a SQL construct, eg WHERE
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_coerce.c:778 parser/parse_coerce.c:817
+#: parser/parse_coerce.c:793 parser/parse_coerce.c:832
 #, c-format
 msgid "argument of %s must not return a set"
 msgstr "%s 的参数不能返回一个组合"
 
 #. translator: first %s is name of a SQL construct, eg LIMIT
-#: parser/parse_coerce.c:809
+#: parser/parse_coerce.c:824
 #, c-format
 msgid "argument of %s must be type integer, not type %s"
 msgstr "%s 的参数必需是整数类型, 而不是 %s 类型"
 
-#: parser/parse_coerce.c:871
+#: parser/parse_coerce.c:886
 #, c-format
 msgid "%s types %s and %s cannot be matched"
 msgstr "%s 的类型 %s 和 %s 不匹配"
 
 #. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:933
+#: parser/parse_coerce.c:948
 #, c-format
 msgid "%s could not convert type %s to %s"
 msgstr "%s 无法转换类型 %s 为 %s"
 
-#: parser/parse_coerce.c:1109
+#: parser/parse_coerce.c:1124
 msgid "arguments declared \"anyelement\" are not all alike"
 msgstr "参数声明的 \"anyelement\" 不全相同"
 
-#: parser/parse_coerce.c:1126
+#: parser/parse_coerce.c:1141
 msgid "arguments declared \"anyarray\" are not all alike"
 msgstr "参数声明的 \"anyarray\" 不全相同"
 
-#: parser/parse_coerce.c:1155 parser/parse_coerce.c:1267
-#: parser/parse_coerce.c:1294
+#: parser/parse_coerce.c:1170 parser/parse_coerce.c:1282
+#: parser/parse_coerce.c:1309
 #, c-format
 msgid "argument declared \"anyarray\" is not an array but type %s"
 msgstr "参数声明的 \"anyarray\" 不是一个数组, 但是类型为 %s"
 
-#: parser/parse_coerce.c:1172
+#: parser/parse_coerce.c:1187
 msgid ""
 "argument declared \"anyarray\" is not consistent with argument declared "
 "\"anyelement\""
 msgstr "参数声明的 \"anyarray\" 和参数声明的 \"anyelement\" 不一致"
 
-#: parser/parse_coerce.c:1183
+#: parser/parse_coerce.c:1198
 msgid ""
 "could not determine anyarray/anyelement type because input has type \"unknown"
 "\""
 msgstr "无法确定 anyarray/anyelement 类型, 因为输入类型为 \"unknown\""
 
-#: parser/parse_coerce.c:1208 parser/parse_coerce.c:1225
-#: parser/parse_coerce.c:1279 parser/parse_expr.c:794 parser/parse_expr.c:1350
+#: parser/parse_coerce.c:1223 parser/parse_coerce.c:1240
+#: parser/parse_coerce.c:1294 parser/parse_expr.c:794 parser/parse_expr.c:1350
 #: parser/parse_expr.c:1389 parser/parse_oper.c:920
 #, c-format
 msgid "could not find array type for data type %s"
 msgstr "无法为数据类型 %s 找到数组类型"
 
-#: y.tab.c:9592
+#: y.tab.c:9501
 msgid "syntax error: cannot back up"
 msgstr "语法错误: 无法支持/倒退"
 
-#: gram.y:990 gram.y:1016
+#: gram.y:989 gram.y:1015
 msgid "time zone interval must be HOUR or HOUR TO MINUTE"
 msgstr "时区间隔必须为 HOUR 或者 HOUR TO MINUTE"
 
-#: gram.y:1001 gram.y:5497 gram.y:7560
+#: gram.y:1000 gram.y:5469 gram.y:7540
 #, c-format
 msgid "INTERVAL(%d) precision must not be negative"
 msgstr "INTERVAL(%d) 的精确度不能为负数"
 
-#: gram.y:1007 gram.y:5503 gram.y:7566
+#: gram.y:1006 gram.y:5475 gram.y:7546
 #, c-format
 msgid "INTERVAL(%d) precision reduced to maximum allowed, %d"
 msgstr ""
 
-#: gram.y:1977
+#: gram.y:1976
 msgid "CREATE TABLE AS may not specify INTO"
 msgstr "CREATE TABLE AS 不可以指定 INTO"
 
-#: gram.y:2369 gram.y:2384 parser/analyze.c:2898 parser/analyze.c:2922
+#: gram.y:2368 gram.y:2383 parser/analyze.c:2906 parser/analyze.c:2930
 msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
 msgstr "约束声明 INITIALLY DEFERRED 必须为 DEFERRABLE"
 
-#: gram.y:2436
+#: gram.y:2435
 msgid "CREATE ASSERTION is not yet implemented"
 msgstr "CREATE ASSERTION 仍未实现"
 
-#: gram.y:2452
+#: gram.y:2451
 msgid "DROP ASSERTION is not yet implemented"
 msgstr "DROP ASSERTION 仍未实现"
 
-#: gram.y:2516 gram.y:7445 parser/parse_expr.c:1183 parser/parse_target.c:735
+#: gram.y:2515 gram.y:7425 parser/parse_expr.c:1183 parser/parse_target.c:736
 #: catalog/namespace.c:1201
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "不合适的条件名称 (名字中太多的点符号): %s"
 
-#: gram.y:3334
+#: gram.y:3323
 msgid "CREATE FUNCTION / OUT parameters are not implemented"
 msgstr "CREATE FUNCTION / OUT 参数未实现"
 
-#: gram.y:3341
+#: gram.y:3330
 msgid "CREATE FUNCTION / INOUT parameters are not implemented"
 msgstr "CREATE FUNCTION / INOUT 参数未实现"
 
-#: gram.y:4551
+#: gram.y:4540
 msgid "column name list not allowed in CREATE TABLE / AS EXECUTE"
 msgstr "字段名列表不允许在 CREATE TABLE / AS EXECUTE 中"
 
-#: gram.y:5022
+#: gram.y:5011
 msgid "LIMIT #,# syntax is not supported"
 msgstr "不支持 LIMIT #,# 语法"
 
-#: gram.y:5023
+#: gram.y:5012
 msgid "Use separate LIMIT and OFFSET clauses."
 msgstr ""
 
-#: gram.y:5173
+#: gram.y:5162
 msgid "For example, FROM (SELECT ...) [AS] foo."
 msgstr "例如, FROM (SELECT ...) [AS] foo."
 
-#: gram.y:5600
+#: gram.y:5572
 msgid "precision for type float must be at least 1 bit"
 msgstr "浮点类型的精确度必须至少 1 位"
 
-#: gram.y:5608
+#: gram.y:5580
 msgid "precision for type float must be less than 54 bits"
 msgstr "浮点类型的精确度必须小于 54 位"
 
-#: gram.y:5622 gram.y:5637
+#: gram.y:5594 gram.y:5609
 #, c-format
 msgid "NUMERIC precision %d must be between 1 and %d"
 msgstr "NUMERIC %d 的精度必须在 1 和 %d 之间"
 
-#: gram.y:5627
+#: gram.y:5599
 #, c-format
 msgid "NUMERIC scale %d must be between 0 and precision %d"
 msgstr "NUMERIC 数值范围 %d 必须在 0 和精度 %d 之间"
 
-#: gram.y:5655 gram.y:5670
+#: gram.y:5627 gram.y:5642
 #, c-format
 msgid "DECIMAL precision %d must be between 1 and %d"
 msgstr "DECIMAL %d 的精度必须在 1 和 %d 之间"
 
-#: gram.y:5660
+#: gram.y:5632
 #, c-format
 msgid "DECIMAL scale %d must be between 0 and precision %d"
 msgstr "DECIMAL 数值范围 %d 必须在 0 和精度 %d 之间"
 
-#: gram.y:5720 gram.y:5798
+#: gram.y:5692 gram.y:5770
 #, c-format
 msgid "length for type %s must be at least 1"
 msgstr "类型 %s 的长度至少为 1"
 
-#: gram.y:5725 gram.y:5803
+#: gram.y:5697 gram.y:5775
 #, c-format
 msgid "length for type %s cannot exceed %d"
 msgstr "类型 %s 的长度不能超过 %d"
 
-#: gram.y:5876
+#: gram.y:5848
 #, c-format
 msgid "TIMESTAMP(%d)%s precision must not be negative"
 msgstr "TIMESTAMP(%d)%s 精确度不能为负数"
 
-#: gram.y:5882
+#: gram.y:5854
 #, c-format
 msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d"
 msgstr ""
 
-#: gram.y:5917
+#: gram.y:5889
 #, c-format
 msgid "TIME(%d)%s precision must not be negative"
 msgstr "TIME(%d)%s 精确度不能为负数"
 
-#: gram.y:5923
+#: gram.y:5895
 #, c-format
 msgid "TIME(%d)%s precision reduced to maximum allowed, %d"
 msgstr ""
 
-#: gram.y:6377
+#: gram.y:6349
 msgid "UNIQUE predicate is not yet implemented"
 msgstr ""
 
-#: gram.y:6612
+#: gram.y:6632
 #, c-format
 msgid "CURRENT_TIME(%d) precision must not be negative"
 msgstr "CURRENT_TIME(%d) 精确度不能为负数"
 
-#: gram.y:6618
+#: gram.y:6638
 #, c-format
 msgid "CURRENT_TIME(%d) precision reduced to maximum allowed, %d"
 msgstr ""
 
-#: gram.y:6666
+#: gram.y:6686
 #, c-format
 msgid "CURRENT_TIMESTAMP(%d) precision must not be negative"
 msgstr "CURRENT_TIMESTAMP(%d) 精确度不能为负数"
 
-#: gram.y:6672
+#: gram.y:6692
 #, c-format
 msgid "CURRENT_TIMESTAMP(%d) precision reduced to maximum allowed, %d"
 msgstr ""
 
-#: gram.y:6719
+#: gram.y:6739
 #, c-format
 msgid "LOCALTIME(%d) precision must not be negative"
 msgstr "LOCALTIME(%d) 精确度不能为负数"
 
-#: gram.y:6725
+#: gram.y:6745
 #, c-format
 msgid "LOCALTIME(%d) precision reduced to maximum allowed, %d"
 msgstr ""
 
-#: gram.y:6773
+#: gram.y:6793
 #, c-format
 msgid "LOCALTIMESTAMP(%d) precision must not be negative"
 msgstr "LOCALTIMESTAMP(%d) 精确度不能为负数"
 
-#: gram.y:6779
+#: gram.y:6799
 #, c-format
 msgid "LOCALTIMESTAMP(%d) precision reduced to maximum allowed, %d"
 msgstr ""
 
-#: gram.y:8007
+#: gram.y:7987
 msgid "OLD used in query that is not in a rule"
 msgstr "查询中使用的 OLD 不在一个规则中"
 
-#: gram.y:8016
+#: gram.y:7996
 msgid "NEW used in query that is not in a rule"
 msgstr "查询中使用的 NEW 不在一个规则中"
 
-#: y.tab.c:19192
+#: y.tab.c:19080
 msgid "syntax error; also virtual memory exhausted"
 msgstr "语法错误; 并且虚拟内存耗尽"
 
-#: y.tab.c:19196 gram.y:8241 gram.y:8243
+#: y.tab.c:19084 gram.y:8221 gram.y:8223 gram.y:8240 gram.y:8242
 msgid "syntax error"
 msgstr "语法错误"
 
-#: y.tab.c:19295
+#: y.tab.c:19183
 msgid "parser stack overflow"
 msgstr "语法分析器栈溢出"
 
-#: gram.y:8215
+#: gram.y:8195
 msgid "wrong number of parameters on left side of OVERLAPS expression"
 msgstr "OVERLAPS 表达式左边的参数个数不对"
 
-#: gram.y:8221
+#: gram.y:8201
 msgid "wrong number of parameters on right side of OVERLAPS expression"
 msgstr "OVERLAPS 表达式右边的参数个数不对"
 
-#: gram.y:8300
+#: gram.y:8299
 msgid "multiple ORDER BY clauses not allowed"
 msgstr "不允许多个 ORDER BY 子句"
 
-#: gram.y:8308
+#: gram.y:8307
 msgid "multiple FOR UPDATE clauses not allowed"
 msgstr "不允许多个 FOR UPDATE 子句"
 
-#: gram.y:8316
+#: gram.y:8315
 msgid "multiple OFFSET clauses not allowed"
 msgstr "不允许多个 OFFSET 子句"
 
-#: gram.y:8324
+#: gram.y:8323
 msgid "multiple LIMIT clauses not allowed"
 msgstr "不允许多个 LIMIT 子句"
 
@@ -8274,193 +8411,198 @@ msgstr "%s 
 msgid "%s at or near \"%s\""
 msgstr "%s 在 \"%s\" 或附近的"
 
-#: parser/analyze.c:446
+#: parser/analyze.c:408
+#, c-format
+msgid "target lists can have at most %d entries"
+msgstr "目标列表最多可以有 %d 个字段"
+
+#: parser/analyze.c:458
 msgid "CREATE VIEW specifies more column names than columns"
 msgstr "CREATE VIEW 指定的字段名比实际字段多"
 
-#: parser/analyze.c:583
+#: parser/analyze.c:595
 msgid "INSERT ... SELECT may not specify INTO"
 msgstr "INSERT ... SELECT 不必指定 INTO"
 
-#: parser/analyze.c:671
+#: parser/analyze.c:683
 msgid "INSERT has more expressions than target columns"
 msgstr "INSERT 的表达式多于指定的字段数"
 
-#: parser/analyze.c:692
+#: parser/analyze.c:704
 msgid "INSERT has more target columns than expressions"
 msgstr "INSERT 的指定字段数多于表达式"
 
-#: parser/analyze.c:865
+#: parser/analyze.c:877
 #, c-format
 msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\""
 msgstr "%1$s 将为 serial 字段 \"%3$s.%4$s\" 创建隐含序列 \"%2$s\""
 
-#: parser/analyze.c:948 parser/analyze.c:958
+#: parser/analyze.c:960 parser/analyze.c:970
 #, c-format
 msgid ""
 "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
 msgstr "表 \"%2$s\" 的字段 \"%1$s\" 声明 NULL/NOT NULL 冲突"
 
-#: parser/analyze.c:968
+#: parser/analyze.c:980
 #, c-format
 msgid "multiple default values specified for column \"%s\" of table \"%s\""
 msgstr "对表 \"%2$s\" 的字段 \"%1$s\" 指定了多遍默认值"
 
-#: parser/analyze.c:1311
+#: parser/analyze.c:1323
 #, c-format
 msgid "column \"%s\" appears twice in primary key constraint"
 msgstr "在主键约束中字段 \"%s\" 出现了两次"
 
-#: parser/analyze.c:1316
+#: parser/analyze.c:1328
 #, c-format
 msgid "column \"%s\" appears twice in unique constraint"
 msgstr "字段 \"%s\" 在唯一约束中出现两次"
 
-#: parser/analyze.c:1499
+#: parser/analyze.c:1511
 msgid "index expression may not return a set"
 msgstr "索引表达式不能返回一个组合"
 
-#: parser/analyze.c:1591
+#: parser/analyze.c:1603
 msgid "rule WHERE condition may not contain references to other relations"
 msgstr "规则 WHERE 条件不能包含其它关系的关联"
 
-#: parser/analyze.c:1597
+#: parser/analyze.c:1609
 msgid "rule WHERE condition may not contain aggregate functions"
 msgstr "规则 WHERE 条件不能包含聚集函数"
 
-#: parser/analyze.c:1668
+#: parser/analyze.c:1680
 msgid ""
 "rules with WHERE conditions may only have SELECT, INSERT, UPDATE, or DELETE "
 "actions"
 msgstr "带 WHERE 条件的规则只允许有 SELECT, INSERT, UPDATE, 或者 DELETE 动作"
 
-#: parser/analyze.c:1705
+#: parser/analyze.c:1717
 msgid "ON SELECT rule may not use OLD"
 msgstr "ON SELECT 规则不可以使用 OLD"
 
-#: parser/analyze.c:1709
+#: parser/analyze.c:1721
 msgid "ON SELECT rule may not use NEW"
 msgstr "ON SELECT 规则不可以使用 NEW"
 
-#: parser/analyze.c:1718
+#: parser/analyze.c:1730
 msgid "ON INSERT rule may not use OLD"
 msgstr "ON INSERT 规则不可以使用 OLD"
 
-#: parser/analyze.c:1724
+#: parser/analyze.c:1736
 msgid "ON DELETE rule may not use NEW"
 msgstr "ON DELETE 规则不可以使用 NEW"
 
-#: parser/analyze.c:1933 parser/analyze.c:2099 parser/analyze.c:2710
-#: optimizer/plan/planner.c:625
+#: parser/analyze.c:1945 parser/analyze.c:2111 parser/analyze.c:2718
+#: optimizer/plan/planner.c:641
 msgid "SELECT FOR UPDATE is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr "SELECT FOR UPDATE 不允许带 UNION/INTERSECT/EXCEPT"
 
-#: parser/analyze.c:2056
+#: parser/analyze.c:2068
 msgid ""
 "ORDER BY on a UNION/INTERSECT/EXCEPT result must be on one of the result "
 "columns"
 msgstr "在 UNION/INTERSECT/EXCEPT 结果上的 ORDER BY 必须是结果中的一个字段"
 
-#: parser/analyze.c:2094
+#: parser/analyze.c:2106
 msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
 msgstr "INTO 只允许在 UNION/INTERSECT/EXCEPT 的第一个 SELECT 上使用"
 
-#: parser/analyze.c:2155
+#: parser/analyze.c:2167
 msgid ""
 "UNION/INTERSECT/EXCEPT member statement may not refer to other relations of "
 "same query level"
 msgstr ""
 
-#: parser/analyze.c:2210
+#: parser/analyze.c:2222
 #, c-format
 msgid "each %s query must have the same number of columns"
 msgstr "每一个 %s 查询必须有相同的字段个数"
 
-#: parser/analyze.c:2282
+#: parser/analyze.c:2294
 msgid "CREATE TABLE AS specifies too many column names"
 msgstr "CREATE TABLE AS 指定了太多的字段名字"
 
-#: parser/analyze.c:2569
+#: parser/analyze.c:2577
 msgid "cannot specify both SCROLL and NO SCROLL"
 msgstr "不可同时指定 SCROLL 和 NO SCROLL"
 
-#: parser/analyze.c:2656
+#: parser/analyze.c:2664
 #, c-format
 msgid "wrong number of parameters for prepared statement \"%s\""
 msgstr "准备好的语句 \"%s\" 参数个数错误"
 
-#: parser/analyze.c:2658
+#: parser/analyze.c:2666
 #, c-format
 msgid "Expected %d parameters but got %d."
 msgstr "预计 %d 个参数, 但得到了 %d 个."
 
-#: parser/analyze.c:2673
+#: parser/analyze.c:2681
 msgid "cannot use subquery in EXECUTE parameter"
 msgstr "在 EXECUTE 参数中不可以使用子查询"
 
-#: parser/analyze.c:2677
+#: parser/analyze.c:2685
 msgid "cannot use aggregate function in EXECUTE parameter"
 msgstr "在 EXECUTE 参数中不可以使用聚集函数"
 
-#: parser/analyze.c:2689
+#: parser/analyze.c:2697
 #, c-format
 msgid "parameter $%d of type %s cannot be coerced to the expected type %s"
 msgstr "类型 %2$s 的参数 $%1$d 不能强制到预计 (expected) 类型 %3$s"
 
-#: parser/analyze.c:2714
+#: parser/analyze.c:2722
 msgid "SELECT FOR UPDATE is not allowed with DISTINCT clause"
 msgstr "SELECT FOR UPDATE 不允许带 DISTINCT 子句"
 
-#: parser/analyze.c:2718
+#: parser/analyze.c:2726
 msgid "SELECT FOR UPDATE is not allowed with GROUP BY clause"
 msgstr "SELECT FOR UPDATE 不允许带 GROUP BY 子句"
 
-#: parser/analyze.c:2722
+#: parser/analyze.c:2730
 msgid "SELECT FOR UPDATE is not allowed with aggregate functions"
 msgstr "SELECT FOR UPDATE 不允许带聚集函数"
 
-#: parser/analyze.c:2804
+#: parser/analyze.c:2812
 msgid "SELECT FOR UPDATE cannot be applied to a join"
 msgstr "SELECT FOR UPDATE 不能适用于一个联合 (join)"
 
-#: parser/analyze.c:2809
+#: parser/analyze.c:2817
 msgid "SELECT FOR UPDATE cannot be applied to NEW or OLD"
 msgstr "SELECT FOR UPDATE 不适用于 NEW 或 OLD"
 
-#: parser/analyze.c:2814
+#: parser/analyze.c:2822
 msgid "SELECT FOR UPDATE cannot be applied to a function"
 msgstr "SELECT FOR UPDATE 不适用于一个函数"
 
-#: parser/analyze.c:2827
+#: parser/analyze.c:2835
 #, c-format
 msgid "relation \"%s\" in FOR UPDATE clause not found in FROM clause"
-msgstr ""
+msgstr "在 FROM 子句中的 FOR UPDATE 子句中没有找到关系 \"%s\""
 
-#: parser/analyze.c:2874
+#: parser/analyze.c:2882
 msgid "misplaced DEFERRABLE clause"
 msgstr "DEFERRABLE 子句位置错误"
 
-#: parser/analyze.c:2878 parser/analyze.c:2891
+#: parser/analyze.c:2886 parser/analyze.c:2899
 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr "不允许多个 DEFERRABLE/NOT DEFERRABLE 子句"
 
-#: parser/analyze.c:2887
+#: parser/analyze.c:2895
 msgid "misplaced NOT DEFERRABLE clause"
 msgstr "NOT DEFERRABLE 子句位置错误"
 
-#: parser/analyze.c:2905
+#: parser/analyze.c:2913
 msgid "misplaced INITIALLY DEFERRED clause"
 msgstr "INITIALLY DEFERRED 子句位置错误"
 
-#: parser/analyze.c:2909 parser/analyze.c:2933
+#: parser/analyze.c:2917 parser/analyze.c:2941
 msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr "不允许多个 INITIALLY IMMEDIATE/DEFERRED 子句"
 
-#: parser/analyze.c:2929
+#: parser/analyze.c:2937
 msgid "misplaced INITIALLY IMMEDIATE clause"
 msgstr "INITIALLY IMMEDIATE 子句位置错误"
 
-#: parser/analyze.c:2982
+#: parser/analyze.c:2990
 #, c-format
 msgid ""
 "CREATE specifies a schema (%s) different from the one being created (%s)"
@@ -8506,7 +8648,7 @@ msgstr "
 msgid "subquery has too few columns"
 msgstr "子查询字段太少"
 
-#: parser/parse_expr.c:1157 parser/parse_target.c:726 catalog/namespace.c:1195
+#: parser/parse_expr.c:1157 parser/parse_target.c:727 catalog/namespace.c:1195
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "未实现跨数据库关联: %s"
@@ -8565,7 +8707,7 @@ msgstr "
 msgid "column %s.%s does not exist"
 msgstr "字段 %s.%s 不存在"
 
-#: parser/parse_func.c:1219 parser/parse_target.c:497
+#: parser/parse_func.c:1219
 #, c-format
 msgid "column \"%s\" not found in data type %s"
 msgstr "在数据类型 %2$s 中未找到字段 \"%1$s\""
@@ -8652,41 +8794,51 @@ msgstr ""
 msgid "op ANY/ALL (array) requires operator not to return a set"
 msgstr ""
 
-#: parser/parse_target.c:269 parser/parse_target.c:502
+#: parser/parse_target.c:268 parser/parse_target.c:503
 #, c-format
 msgid "cannot assign to system column \"%s\""
 msgstr "不能指定系统字段名 \"%s\""
 
-#: parser/parse_target.c:293
+#: parser/parse_target.c:292
 msgid "cannot set an array element to DEFAULT"
 msgstr "不能设置一个数组元素为 DEFAULT"
 
-#: parser/parse_target.c:297
+#: parser/parse_target.c:296
 msgid "cannot set a subfield to DEFAULT"
 msgstr "不能设置子字段为 DEFAULT"
 
-#: parser/parse_target.c:358
+#: parser/parse_target.c:357
 #, c-format
 msgid "column \"%s\" is of type %s but expression is of type %s"
 msgstr "字段 \"%s\" 的类型为 %s, 但表达式的类型为 %s"
 
-#: parser/parse_target.c:490
+#: parser/parse_target.c:489
+#, c-format
+msgid ""
+"cannot assign to field \"%s\" of column \"%s\" because its type %s is not a "
+"composite type"
+msgstr ""
+"无法指定列 \"%2$s\" 的字段 \"%1$s\", 因为它的类型 %3$s 不是一个复合类型"
+
+#: parser/parse_target.c:497
 #, c-format
-msgid "cannot assign to a column of type %s because it is not a composite type"
-msgstr "无法指定字段类型 %s, 因为它不是一个复合类型"
+msgid ""
+"cannot assign to field \"%s\" of column \"%s\" because there is no such "
+"column in data type %s"
+msgstr "无法给字段 \"%2$s\" 的数据域 \"%1$s\" 赋值, 因为在数据类型 %3$s 中没有此列"
 
-#: parser/parse_target.c:566
+#: parser/parse_target.c:567
 #, c-format
 msgid ""
 "array assignment to \"%s\" requires type %s but expression is of type %s"
 msgstr ""
 
-#: parser/parse_target.c:575
+#: parser/parse_target.c:576
 #, c-format
 msgid "subfield \"%s\" is of type %s but expression is of type %s"
 msgstr "子字段 \"%s\" 的类型为 %s, 但表达式的类型为 %s"
 
-#: parser/parse_target.c:804
+#: parser/parse_target.c:805
 msgid "SELECT * with no tables specified is not valid"
 msgstr "SELECT * 没有指定表是无效的"
 
@@ -8710,7 +8862,7 @@ msgstr "
 msgid "invalid type name \"%s\""
 msgstr "无效的类型名字 \"%s\""
 
-#: optimizer/path/allpaths.c:224
+#: optimizer/path/allpaths.c:223
 msgid "SELECT FOR UPDATE is not supported for inheritance queries"
 msgstr "SELECT FOR UPDATE 不支持继承查询"
 
@@ -8738,148 +8890,210 @@ msgid ""
 "equality operator for types %s and %s should be merge-joinable, but isn't"
 msgstr "类型 %s 和 %s 的等号操作符应该为可合并联合的, 但这个不是"
 
-#: optimizer/plan/planner.c:682
+#: optimizer/plan/planner.c:698
 msgid "SELECT FOR UPDATE is not allowed in subqueries"
 msgstr "SELECT FOR UPDATE 不允许在子查询中"
 
-#: optimizer/util/clauses.c:2295
+#: optimizer/util/clauses.c:2348
 #, c-format
 msgid "SQL function \"%s\" during inlining"
-msgstr ""
+msgstr "SQL 函数 \"%s\" 在内联 (inlining) 期间"
 
 #: executor/execQual.c:811
 msgid "functions and operators can take at most one set argument"
 msgstr "函数和操作符最多带一组参数"
 
-#: executor/execQual.c:1288
-msgid "function returning row cannot return null value"
-msgstr "函数返回行不能返回空值"
+#: executor/execQual.c:1293
+msgid "function returning set of rows cannot return null value"
+msgstr "函数返回值为多列时不能返回空值"
 
-#: executor/execQual.c:1371
+#: executor/execQual.c:1377
 msgid "table-function protocol for materialize mode was not followed"
 msgstr ""
 
-#: executor/execQual.c:1378
+#: executor/execQual.c:1384
 #, c-format
 msgid "unrecognized table-function returnMode: %d"
 msgstr "未认可的表函数返回模式 (returnMode): %d"
 
-#: executor/execQual.c:1495
+#: executor/execQual.c:1530
 msgid "IS DISTINCT FROM does not support set arguments"
 msgstr "IS DISTINCT FROM 不支持一组参数"
 
-#: executor/execQual.c:1569
+#: executor/execQual.c:1604
 msgid "op ANY/ALL (array) does not support set arguments"
-msgstr ""
+msgstr "操作符 ANY/ALL (数组) 不支持设置参数"
 
-#: executor/execQual.c:2016
+#: executor/execQual.c:2051
 msgid "cannot merge incompatible arrays"
 msgstr "无法合并不兼容的排列"
 
-#: executor/execQual.c:2017
+#: executor/execQual.c:2052
 #, c-format
 msgid ""
 "Array with element type %s cannot be included in ARRAY construct with "
 "element type %s."
-msgstr ""
+msgstr "元素类型为 %s 的 ARRAY 结构中不能包含带有元素类型为 %s 的数组."
 
-#: executor/execQual.c:2216
+#: executor/execQual.c:2251
 msgid "NULLIF does not support set arguments"
 msgstr "NULLIF 不支持一组参数"
 
-#: executor/execQual.c:2397
+#: executor/execQual.c:2432
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "域 %s 不允许空值"
 
-#: executor/execQual.c:2427
+#: executor/execQual.c:2462
 #, c-format
 msgid "value for domain %s violates check constraint \"%s\""
 msgstr "域 %s 的值违反了检查约束 \"%s\""
 
-#: executor/execQual.c:3031
+#: executor/execQual.c:3066
 #, c-format
 msgid "ROW() column has type %s instead of type %s"
-msgstr ""
+msgstr "ROW() 列类型 %s 替换为 %s"
 
-#: executor/nodeHashjoin.c:562 executor/nodeHashjoin.c:572
+#: executor/nodeHashjoin.c:571 executor/nodeHashjoin.c:581
 #, c-format
 msgid "could not read from hash-join temporary file: %m"
 msgstr "无法从散列联接 (hash-join) 临时文件读取: %m"
 
-#: executor/nodeHashjoin.c:630 executor/nodeHashjoin.c:637
+#: executor/nodeHashjoin.c:641 executor/nodeHashjoin.c:648
 #, c-format
 msgid "could not rewind hash-join temporary file: %m"
 msgstr "无法卷回 (rewind) 散列联接 (hash-join) 临时文件: %m"
 
-#: executor/nodeHashjoin.c:688 executor/nodeHashjoin.c:693
+#: executor/nodeHashjoin.c:699 executor/nodeHashjoin.c:704
 #, c-format
 msgid "could not write to hash-join temporary file: %m"
 msgstr "无法写入散列联接 (hash-join) 临时文件: %m"
 
-#: executor/spi.c:185
+#: executor/spi.c:190
 msgid "transaction left non-empty SPI stack"
 msgstr "事物剩下非空的 SPI 栈"
 
-#: executor/spi.c:186 executor/spi.c:237
-msgid "Check for missing \"SPI_finish\" calls"
-msgstr ""
+#: executor/spi.c:191 executor/spi.c:255
+msgid "Check for missing \"SPI_finish\" calls."
+msgstr "检查是否缺少 \"SPI_finish\" 调用."
 
-#: executor/spi.c:236
+#: executor/spi.c:254
 msgid "subtransaction left non-empty SPI stack"
 msgstr "子事物剩下非空的 SPI 栈"
 
-#: executor/spi.c:775
+#: executor/spi.c:839
 msgid "cannot open multi-query plan as cursor"
 msgstr "无法作为游标打开多条查询规划"
 
-#: executor/spi.c:782
+#: executor/spi.c:846
 msgid "cannot open non-SELECT query as cursor"
 msgstr "无法作为游标打开非 SELECT 查询"
 
-#: executor/spi.c:786
+#: executor/spi.c:850
 msgid "cannot open SELECT INTO query as cursor"
 msgstr "无法作为游标打开 SELECT INTO 查询"
 
-#: executor/spi.c:1503
+#. translator: %s is a SQL statement name
+#: executor/spi.c:1404 executor/functions.c:124
 #, c-format
-msgid "SQL query \"%s\""
-msgstr "SQL 查询 \"%s\""
+msgid "%s is not allowed in a non-volatile function"
+msgstr "%s 在一个 non-valatile 函数中是不允许的"
 
-#: executor/functions.c:169
+#: executor/spi.c:1582
+#, c-format
+msgid "SQL statement \"%s\""
+msgstr "SQL 语句 \"%s\""
+
+#. translator: %s is a SQL statement name
+#: executor/functions.c:117
+#, c-format
+msgid "%s is not allowed in a SQL function"
+msgstr "%s 不允许在一个 SQL 函数中"
+
+#: executor/functions.c:190
 #, c-format
 msgid ""
 "could not determine actual result type for function declared to return type %"
 "s"
 msgstr "无法确定实际结果类型为函数声明返回类型 %s"
 
-#: executor/functions.c:219
+#: executor/functions.c:244
 #, c-format
 msgid "could not determine actual type of argument declared %s"
-msgstr ""
-
-#: executor/functions.c:296
-msgid "cannot begin/end transactions in SQL functions"
-msgstr ""
+msgstr "无法确定声明为 %s 的参数的实际类型"
 
-#: executor/functions.c:689
+#: executor/functions.c:790
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "SQL 函数 \"%s\" 语句 %d"
 
-#: executor/functions.c:702 catalog/pg_proc.c:813
+#: executor/functions.c:803 catalog/pg_proc.c:574
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "SQL 函数 \"%s\""
 
-#: executor/functions.c:708
+#: executor/functions.c:809
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "SQL 函数 \"%s\" 在启动的时候"
 
+#: executor/functions.c:889 executor/functions.c:910 executor/functions.c:920
+#: executor/functions.c:944 executor/functions.c:952 executor/functions.c:1004
+#: executor/functions.c:1016 executor/functions.c:1036
+#, c-format
+msgid "return type mismatch in function declared to return %s"
+msgstr "函数返回类型和声明类型 %s 不匹配"
+
+#: executor/functions.c:891 executor/functions.c:922
+msgid "Function's final statement must be a SELECT."
+msgstr "函数的最后语句必须是一个 SELECT"
+
+#: executor/functions.c:912
+msgid "Function's final statement must not be a SELECT."
+msgstr "函数的最后语句必须不是一个 SELECT"
+
+#: executor/functions.c:946
+msgid "Final SELECT must return exactly one column."
+msgstr "最后 SELECT 必须返回一列."
+
+#: executor/functions.c:954
+#, c-format
+msgid "Actual return type is %s."
+msgstr "实际返回类型是 %s."
+
+#: executor/functions.c:1006
+msgid "Final SELECT returns too many columns."
+msgstr "最后 SELECT 返回了太多列."
+
+#: executor/functions.c:1018
+#, c-format
+msgid "Final SELECT returns %s instead of %s at column %d."
+msgstr "最后 SELECT 在字段 %3$d 返回 %1$s 替代 %2$s"
+
+#: executor/functions.c:1038
+msgid "Final SELECT returns too few columns."
+msgstr "最后 SELECT 返回了太少列."
+
+#: executor/functions.c:1082 catalog/pg_aggregate.c:165 catalog/pg_proc.c:124
+msgid "cannot determine result data type"
+msgstr "无法确定结构数据类型"
+
+#: executor/functions.c:1083 catalog/pg_proc.c:125
+msgid ""
+"A function returning \"anyarray\" or \"anyelement\" must have at least one "
+"argument of either type."
+msgstr ""
+"返回 \"anyarray\" 或者 \"anyelement\" 的函数必须至少有一个参数的类型是以上两"
+"种"
+
+#: executor/functions.c:1088
+#, c-format
+msgid "return type %s is not supported for SQL functions"
+msgstr "SQL 函数不支持返回类型 %s"
+
 #: executor/nodeMergejoin.c:1474
 msgid "RIGHT JOIN is only supported with merge-joinable join conditions"
-msgstr ""
+msgstr "RIGHT JOIN 只支持可合并联结条件"
 
 #: executor/nodeFunctionscan.c:93
 msgid "query-specified return row and actual function return row do not match"
@@ -8888,29 +9102,29 @@ msgstr "指
 #: executor/nodeSubplan.c:294 executor/nodeSubplan.c:336
 #: executor/nodeSubplan.c:972
 msgid "more than one row returned by a subquery used as an expression"
-msgstr ""
+msgstr "作为一个表达式使用的子查询返回了多列"
 
-#: executor/execMain.c:839
+#: executor/execMain.c:814
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "不可以改变序列 \"%s\""
 
-#: executor/execMain.c:845
+#: executor/execMain.c:820
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "不可以改变 TOAST 关系 \"%s\""
 
-#: executor/execMain.c:851
+#: executor/execMain.c:826
 #, c-format
 msgid "cannot change view \"%s\""
 msgstr "不可以改变视图 \"%s\""
 
-#: executor/execMain.c:1746
+#: executor/execMain.c:1731
 #, c-format
 msgid "null value in column \"%s\" violates not-null constraint"
 msgstr "在字段 \"%s\" 中空值违反了非空约束"
 
-#: executor/execMain.c:1758
+#: executor/execMain.c:1743
 #, c-format
 msgid "new row for relation \"%s\" violates check constraint \"%s\""
 msgstr "关系 \"%s\" 的新列违反了检查约束 \"%s\""
@@ -8941,7 +9155,7 @@ msgstr "
 
 #: catalog/pg_operator.c:420
 msgid "only binary operators can have commutators"
-msgstr ""
+msgstr "只有二进制操作符能有交换 (commutators)"
 
 #: catalog/pg_operator.c:424
 msgid "only binary operators can have join selectivity"
@@ -8962,7 +9176,7 @@ msgstr "
 
 #: catalog/pg_operator.c:726
 msgid "operator cannot be its own negator or sort operator"
-msgstr ""
+msgstr "操作符不能否定自己或者排序分类操作符"
 
 #: catalog/dependency.c:152
 #, c-format
@@ -8996,7 +9210,7 @@ msgstr "
 #: catalog/dependency.c:521 catalog/dependency.c:674 catalog/dependency.c:702
 #, c-format
 msgid "drop auto-cascades to %s"
-msgstr ""
+msgstr "自动递归删除 %s"
 
 #: catalog/dependency.c:526 catalog/dependency.c:679
 #, c-format
@@ -9060,8 +9274,8 @@ msgstr "
 
 #: catalog/dependency.c:1626
 #, c-format
-msgid "operator class %s for %s"
-msgstr "%2$s 的操作符类 %1$s"
+msgid "operator class %s for access method %s"
+msgstr "处理方法 %s 的操作符类 %s"
 
 #: catalog/dependency.c:1662
 #, c-format
@@ -9106,7 +9320,7 @@ msgstr "未
 #: catalog/dependency.c:1778
 #, c-format
 msgid "toast table %s"
-msgstr ""
+msgstr "toast 表 %s"
 
 #: catalog/dependency.c:1782
 #, c-format
@@ -9174,7 +9388,7 @@ msgstr "
 
 #: catalog/aclchk.c:765
 msgid "Only superusers may use untrusted languages."
-msgstr ""
+msgstr "只有超级用户可以使用非信任语言."
 
 #: catalog/aclchk.c:889
 #, c-format
@@ -9369,41 +9583,41 @@ msgstr "
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "字段 \"%s\" 有伪类型 %s"
 
-#: catalog/heap.c:1601
+#: catalog/heap.c:1586
 #, c-format
 msgid "only table \"%s\" can be referenced in check constraint"
 msgstr "在检查约束中只有表 \"%s\" 能被关联的"
 
-#: catalog/heap.c:1614
+#: catalog/heap.c:1599
 msgid "cannot use aggregate function in check constraint"
 msgstr "在检查约束中不能使用聚集函数"
 
-#: catalog/heap.c:1640
+#: catalog/heap.c:1625
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "检查约束 \"%s\" 已经存在"
 
-#: catalog/heap.c:1789
+#: catalog/heap.c:1774
 msgid "cannot use column references in default expression"
 msgstr "在默认的表达式中不能使用字段关联"
 
-#: catalog/heap.c:1797
+#: catalog/heap.c:1782
 msgid "default expression must not return a set"
 msgstr "默认表达式不能返回一个组合"
 
-#: catalog/heap.c:1805
+#: catalog/heap.c:1790
 msgid "cannot use subquery in default expression"
 msgstr "在默认的表达式中不能使用子查询"
 
-#: catalog/heap.c:1809
+#: catalog/heap.c:1794
 msgid "cannot use aggregate function in default expression"
 msgstr "在默认的表达式中不能使用聚集函数"
 
-#: catalog/heap.c:2093
+#: catalog/heap.c:2078
 msgid "cannot truncate a table referenced in a foreign key constraint"
 msgstr "在一个外键约束中无法删除 (truncate) 一个表的关联"
 
-#: catalog/heap.c:2094
+#: catalog/heap.c:2079
 #, c-format
 msgid "Table \"%s\" references \"%s\" via foreign key constraint \"%s\"."
 msgstr "通过外键约束 \"%3$s\", 表 \"%1$s\" 关联 \"%2$s\"."
@@ -9431,10 +9645,6 @@ msgid ""
 "transition type is not compatible with input type"
 msgstr ""
 
-#: catalog/pg_aggregate.c:165 catalog/pg_proc.c:127 catalog/pg_proc.c:576
-msgid "cannot determine result data type"
-msgstr "无法确定结构数据类型"
-
 #: catalog/pg_aggregate.c:166
 msgid ""
 "An aggregate returning \"anyarray\" or \"anyelement\" must have one of them "
@@ -9480,108 +9690,58 @@ msgstr "
 msgid "permission denied to create temporary tables in database \"%s\""
 msgstr "不允许在数据库 \"%s\" 中创建临时表"
 
-#: catalog/pg_proc.c:128 catalog/pg_proc.c:577
-msgid ""
-"A function returning \"anyarray\" or \"anyelement\" must have at least one "
-"argument of either type."
-msgstr ""
-"返回 \"anyarray\" 或者 \"anyelement\" 的函数必须至少有一个参数的类型是以上两"
-"种"
-
-#: catalog/pg_proc.c:148
+#: catalog/pg_proc.c:145
 #, c-format
 msgid "\"%s\" is already an attribute of type %s"
 msgstr "\"%s\" 已经是类型 %s 的一个属性"
 
-#: catalog/pg_proc.c:203
+#: catalog/pg_proc.c:200
 #, c-format
 msgid "function \"%s\" already exists with same argument types"
 msgstr "带相同参数类型的函数 \"%s\" 已经存在"
 
-#: catalog/pg_proc.c:217
+#: catalog/pg_proc.c:214
 msgid "cannot change return type of existing function"
 msgstr "不能改变已经存在的函数的返回值类型"
 
-#: catalog/pg_proc.c:218
+#: catalog/pg_proc.c:215
 msgid "Use DROP FUNCTION first."
 msgstr "请先使用 DROP FUNCTION."
 
-#: catalog/pg_proc.c:226
+#: catalog/pg_proc.c:223
 #, c-format
 msgid "function \"%s\" is an aggregate"
 msgstr "函数 \"%s\" 是一个聚集函数"
 
-#: catalog/pg_proc.c:231
+#: catalog/pg_proc.c:228
 #, c-format
 msgid "function \"%s\" is not an aggregate"
 msgstr "函数 \"%s\" 不是一个聚集函数"
 
-#: catalog/pg_proc.c:392 catalog/pg_proc.c:413 catalog/pg_proc.c:423
-#: catalog/pg_proc.c:447 catalog/pg_proc.c:455 catalog/pg_proc.c:507
-#: catalog/pg_proc.c:519 catalog/pg_proc.c:539
-#, c-format
-msgid "return type mismatch in function declared to return %s"
-msgstr "函数返回类型和声明类型 %s 不匹配"
-
-#: catalog/pg_proc.c:394 catalog/pg_proc.c:425
-msgid "Function's final statement must be a SELECT."
-msgstr "函数的最后语句必须是一个 SELECT"
-
-#: catalog/pg_proc.c:415
-msgid "Function's final statement must not be a SELECT."
-msgstr "函数的最后语句必须不是一个 SELECT"
-
-#: catalog/pg_proc.c:449
-msgid "Final SELECT must return exactly one column."
-msgstr "最后 SELECT 必须返回一列."
-
-#: catalog/pg_proc.c:457
-#, c-format
-msgid "Actual return type is %s."
-msgstr "实际返回类型是 %s."
-
-#: catalog/pg_proc.c:509
-msgid "Final SELECT returns too many columns."
-msgstr "最后 SELECT 返回了太多列."
-
-#: catalog/pg_proc.c:521
-#, c-format
-msgid "Final SELECT returns %s instead of %s at column %d."
-msgstr "最后 SELECT 在字段 %3$d 返回 %1$s 替代 %2$s"
-
-#: catalog/pg_proc.c:541
-msgid "Final SELECT returns too few columns."
-msgstr "最后 SELECT 返回了太少列."
-
-#: catalog/pg_proc.c:582
-#, c-format
-msgid "return type %s is not supported for SQL functions"
-msgstr "SQL 函数不支持返回类型 %s"
-
-#: catalog/pg_proc.c:626
+#: catalog/pg_proc.c:387
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "没有名为 \"%s\" 的内建函数"
 
-#: catalog/pg_proc.c:726
+#: catalog/pg_proc.c:487
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "SQL 函数无法返回 %s 类型"
 
-#: catalog/pg_proc.c:742
+#: catalog/pg_proc.c:503
 #, c-format
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "SQL 函数不能有 %s 类型的参数"
 
-#: catalog/index.c:508
+#: catalog/index.c:495
 msgid "user-defined indexes on system catalog tables are not supported"
 msgstr "在系统表上用户定义的索引是不被支持的"
 
-#: catalog/index.c:522
+#: catalog/index.c:509
 msgid "shared indexes cannot be created after initdb"
 msgstr "在 initdb 之后, 不能创建共享索引"
 
-#: catalog/index.c:1692
+#: catalog/index.c:1638
 #, c-format
 msgid "shared index \"%s\" can only be reindexed in stand-alone mode"
 msgstr "共享索引 \"%s\" 只能在独立运行模式中重建索引"
@@ -9594,7 +9754,7 @@ msgstr "
 #: catalog/pg_type.c:204
 #, c-format
 msgid "internal size %d is invalid for passed-by-value type"
-msgstr ""
+msgstr "internal 大小 %d 对于 passed-by-value 类型是无效的"
 
 #: catalog/pg_type.c:211
 msgid "fixed-size types must have storage PLAIN"
@@ -9608,119 +9768,112 @@ msgstr "
 #: postmaster/pgarch.c:164
 #, c-format
 msgid "could not fork archiver: %m"
-msgstr ""
+msgstr "无法 fork archiver: %m"
 
-#: postmaster/pgarch.c:392
+#: postmaster/pgarch.c:391
 #, c-format
-msgid "transaction log file \"%s\" could not be archived"
-msgstr "事务日志文件 \"%s\" 不能被归档"
+msgid "transaction log file \"%s\" could not be archived: too many failures"
+msgstr "事务日志文件 \"%s\" 不能被归档: 太多的失败"
 
-#: postmaster/pgarch.c:475
+#: postmaster/pgarch.c:474
 #, c-format
 msgid "archive command \"%s\" failed: return code %d"
 msgstr "归档命令 \"%s\" 失败: 返回码为 %d"
 
-#: postmaster/pgarch.c:480
+#: postmaster/pgarch.c:479
 #, c-format
 msgid "archived transaction log file \"%s\""
 msgstr "归档事务日志文件 \"%s\""
 
-#: postmaster/pgarch.c:526
+#: postmaster/pgarch.c:525
 #, c-format
 msgid "could not open archive status directory \"%s\": %m"
 msgstr "无法打开归档状态目录 \"%s\": %m"
 
-#: postmaster/pgarch.c:565
+#: postmaster/pgarch.c:564
 #, c-format
 msgid "could not read archive status directory \"%s\": %m"
 msgstr "无法读取归档状态目录 \"%s\": %m"
 
-#: postmaster/postmaster.c:390
+#: postmaster/postmaster.c:450
 #, c-format
 msgid "%s: assert checking is not compiled in\n"
 msgstr "%s: 没有把断言 (assert) 检查编译进来\n"
 
-#: postmaster/postmaster.c:515 postmaster/postmaster.c:528
+#: postmaster/postmaster.c:566 postmaster/postmaster.c:579
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "请用 \"%s --help\" 获取更多的信息.\n"
 
-#: postmaster/postmaster.c:526
+#: postmaster/postmaster.c:577
 #, c-format
 msgid "%s: invalid argument: \"%s\"\n"
 msgstr "%s: 无效参数: \"%s\"\n"
 
-#: postmaster/postmaster.c:550
-#, c-format
-msgid ""
-"%s does not know where to find the database system data.\n"
-"This should be specified as \"pgdata\" in %s%s.\n"
-msgstr ""
-
-#: postmaster/postmaster.c:582
-#, c-format
-msgid "%s could not write to external pid file %s\n"
-msgstr ""
-
-#: postmaster/postmaster.c:603
+#: postmaster/postmaster.c:604
 #, c-format
 msgid ""
 "%s: the number of buffers (-B) must be at least twice the number of allowed "
 "connections (-N) and at least 16\n"
 msgstr "%s: 缓冲区的数量 (-B) 必须至少是允许联接数的两倍 (-N)并且至少为 16\n"
 
-#: postmaster/postmaster.c:609
+#: postmaster/postmaster.c:610
 #, c-format
 msgid "%s: superuser_reserved_connections must be less than max_connections\n"
 msgstr "%s: 超级用户保留联接数必须小于最大联接数\n"
 
-#: postmaster/postmaster.c:618
+#: postmaster/postmaster.c:619
 #, c-format
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s: 无效的 datetoken 表, 请修复\n"
 
-#: postmaster/postmaster.c:652
+#: postmaster/postmaster.c:653
 #, c-format
 msgid "%s: could not locate matching postgres executable"
-msgstr ""
+msgstr "%s: 无法找到匹配的 postgres 执行文件"
 
-#: postmaster/postmaster.c:719
+#: postmaster/postmaster.c:720
 msgid "invalid list syntax for \"listen_addresses\""
-msgstr ""
+msgstr "无效的 \"listen_addresses\" 语法"
 
-#: postmaster/postmaster.c:738
+#: postmaster/postmaster.c:739
 #, c-format
 msgid "could not create listen socket for \"%s\""
 msgstr "无法为 \"%s\" 创建监听套接字"
 
-#: postmaster/postmaster.c:767
+#: postmaster/postmaster.c:768
 msgid "could not create Unix-domain socket"
 msgstr "无法创建 Unix-domain 套接字"
 
-#: postmaster/postmaster.c:775
+#: postmaster/postmaster.c:776
 msgid "no socket created for listening"
 msgstr "没有为监听创建套接字"
 
-#: postmaster/postmaster.c:963
+#: postmaster/postmaster.c:853
+#, c-format
+msgid "%s: could not write external PID file \"%s\": %s\n"
+msgstr "%s: 无法写入外部 PID 文件 \"%s\": %s\n"
+
+#: postmaster/postmaster.c:946
 #, c-format
 msgid "data directory \"%s\" does not exist"
 msgstr "数据目录 \"%s\" 不存在"
 
-#: postmaster/postmaster.c:968
+#: postmaster/postmaster.c:951
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
 msgstr "没有读取目录 \"%s\" 的权限: %m"
 
-#: postmaster/postmaster.c:983
+#: postmaster/postmaster.c:966
 #, c-format
 msgid "data directory \"%s\" has group or world access"
 msgstr "组或其他用户都可以访问数据目录 \"%s\""
 
-#: postmaster/postmaster.c:985
+#: postmaster/postmaster.c:968
 msgid "Permissions should be u=rwx (0700)."
 msgstr "权限应该为 u=rwx (0700)."
 
-#: postmaster/postmaster.c:996
+#: postmaster/postmaster.c:979
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -9731,17 +9884,17 @@ msgstr ""
 "预期在目录 \"%s\" 找到,\n"
 "但是无法打开文件 \"%s\": %s\n"
 
-#: postmaster/postmaster.c:1041
+#: postmaster/postmaster.c:1024
 #, c-format
 msgid "%s: could not fork background process: %s\n"
 msgstr "%s: 无法 fork 后台进程: %s\n"
 
-#: postmaster/postmaster.c:1063
+#: postmaster/postmaster.c:1046
 #, c-format
 msgid "%s: could not dissociate from controlling TTY: %s\n"
 msgstr "%s: 无法与控制 TTY 断开联系: %s\n"
 
-#: postmaster/postmaster.c:1086
+#: postmaster/postmaster.c:1069
 #, c-format
 msgid ""
 "%s is the PostgreSQL server.\n"
@@ -9750,7 +9903,7 @@ msgstr ""
 "%s 是 PostgreSQL 服务器.\n"
 "\n"
 
-#: postmaster/postmaster.c:1087
+#: postmaster/postmaster.c:1070
 #, c-format
 msgid ""
 "Usage:\n"
@@ -9761,64 +9914,64 @@ msgstr ""
 "  %s [选项]...\n"
 "\n"
 
-#: postmaster/postmaster.c:1094
+#: postmaster/postmaster.c:1077
 #, c-format
 msgid "  -d 1-5          debugging level\n"
 msgstr "  -d 1-5          调试级别\n"
 
-#: postmaster/postmaster.c:1097
+#: postmaster/postmaster.c:1080
 #, c-format
 msgid "  -h HOSTNAME     host name or IP address to listen on\n"
 msgstr "  -h 主机名       侦听的主机名或者 IP 地址\n"
 
-#: postmaster/postmaster.c:1098
+#: postmaster/postmaster.c:1081
 #, c-format
 msgid "  -i              enable TCP/IP connections\n"
 msgstr "  -i              打开 TCP/IP 联接\n"
 
-#: postmaster/postmaster.c:1099
+#: postmaster/postmaster.c:1082
 #, c-format
 msgid "  -k DIRECTORY    Unix-domain socket location\n"
 msgstr "  -k 目录         Unix 域套接字的位置\n"
 
-#: postmaster/postmaster.c:1101
+#: postmaster/postmaster.c:1084
 #, c-format
 msgid "  -l              enable SSL connections\n"
 msgstr "  -l              打开 SSL 联接\n"
 
-#: postmaster/postmaster.c:1103
+#: postmaster/postmaster.c:1086
 #, c-format
 msgid "  -N MAX-CONNECT  maximum number of allowed connections\n"
 msgstr "  -N MAX-CONNECT  允许建立的最大联接数目\n"
 
-#: postmaster/postmaster.c:1104
+#: postmaster/postmaster.c:1087
 #, c-format
 msgid "  -o OPTIONS      pass \"OPTIONS\" to each server process\n"
 msgstr "  -o OPTIONS      把 \"OPTIONS\" 传递给每一个后端服务器进程\n"
 
-#: postmaster/postmaster.c:1105
+#: postmaster/postmaster.c:1088
 #, c-format
 msgid "  -p PORT         port number to listen on\n"
 msgstr "  -p PORT         监听的端口号\n"
 
-#: postmaster/postmaster.c:1106
+#: postmaster/postmaster.c:1089
 #, c-format
 msgid ""
 "  -S              silent mode (start in background without logging output)\n"
 msgstr "  -S              安静模式(后端启动之后不再记录日志输出)\n"
 
-#: postmaster/postmaster.c:1111
+#: postmaster/postmaster.c:1094
 #, c-format
 msgid ""
 "  -n              do not reinitialize shared memory after abnormal exit\n"
 msgstr "  -n              在异常退出之后不再重新初始化共享内存\n"
 
-#: postmaster/postmaster.c:1112
+#: postmaster/postmaster.c:1095
 #, c-format
 msgid "  -s              send SIGSTOP to all backend servers if one dies\n"
 msgstr "  -s              如果一个后端退出, 那么向所有后端发送 SIGSTOP\n"
 
-#: postmaster/postmaster.c:1114
+#: postmaster/postmaster.c:1097
 #, c-format
 msgid ""
 "\n"
@@ -9834,390 +9987,417 @@ msgstr ""
 "\n"
 "请向 <pgsql-bugs@postgresql.org> 报告臭虫.\n"
 
-#: postmaster/postmaster.c:1176
+#: postmaster/postmaster.c:1159
 #, c-format
 msgid "select() failed in postmaster: %m"
 msgstr "postmaster select() 失败: %m"
 
-#: postmaster/postmaster.c:1327 postmaster/postmaster.c:1358
+#: postmaster/postmaster.c:1310 postmaster/postmaster.c:1341
 msgid "incomplete startup packet"
 msgstr "不完整的启动包"
 
-#: postmaster/postmaster.c:1339
+#: postmaster/postmaster.c:1322
 msgid "invalid length of startup packet"
 msgstr "无效的启动包长度"
 
-#: postmaster/postmaster.c:1391
+#: postmaster/postmaster.c:1374
 #, c-format
 msgid "failed to send SSL negotiation response: %m"
 msgstr "发送 SSL 协商响应失败: %m"
 
-#: postmaster/postmaster.c:1420
+#: postmaster/postmaster.c:1403
 #, c-format
 msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
 msgstr "不支持的前端协议 %u.%u: 服务端支持 %u.0 到 %u.%u"
 
-#: postmaster/postmaster.c:1484
+#: postmaster/postmaster.c:1467
 msgid "invalid startup packet layout: expected terminator as last byte"
 msgstr "无效的启动包格式: 预计结束符为最后一个字节"
 
-#: postmaster/postmaster.c:1513
+#: postmaster/postmaster.c:1496
 msgid "no PostgreSQL user name specified in startup packet"
 msgstr "在启动包中没有指定 PostgreSQL 用户名"
 
-#: postmaster/postmaster.c:1566
+#: postmaster/postmaster.c:1549
 msgid "the database system is starting up"
 msgstr "数据库系统启动中"
 
-#: postmaster/postmaster.c:1571
+#: postmaster/postmaster.c:1554
 msgid "the database system is shutting down"
 msgstr "数据库系统停止中"
 
-#: postmaster/postmaster.c:1576
+#: postmaster/postmaster.c:1559
 msgid "the database system is in recovery mode"
 msgstr "数据库系统在恢复模式中"
 
-#: postmaster/postmaster.c:1808
+#: postmaster/postmaster.c:1791
 msgid "received SIGHUP, reloading configuration files"
 msgstr "接收到 SIGHUP, 重载配置文件"
 
-#: postmaster/postmaster.c:1860
+#: postmaster/postmaster.c:1843
 msgid "received smart shutdown request"
 msgstr "接到到智能 (smart) 停止请求"
 
-#: postmaster/postmaster.c:1896
+#: postmaster/postmaster.c:1879
 msgid "received fast shutdown request"
 msgstr "接收到快速 (fast) 停止请求"
 
-#: postmaster/postmaster.c:1903
+#: postmaster/postmaster.c:1886
 msgid "aborting any active transactions"
 msgstr "中断任何激活事务"
 
-#: postmaster/postmaster.c:1941
+#: postmaster/postmaster.c:1924
 msgid "received immediate shutdown request"
 msgstr "接收到立即 (immediate) 停止请求"
 
-#: postmaster/postmaster.c:2014
+#: postmaster/postmaster.c:1997
 msgid "startup process"
 msgstr "启动进程"
 
-#: postmaster/postmaster.c:2017
+#: postmaster/postmaster.c:2000
 msgid "aborting startup due to startup process failure"
 msgstr "由于启动进程失败, 终止启动"
 
-#: postmaster/postmaster.c:2080
+#: postmaster/postmaster.c:2063
 msgid "background writer process"
 msgstr "后台写入进程"
 
-#: postmaster/postmaster.c:2093
+#: postmaster/postmaster.c:2076
 msgid "archiver process"
 msgstr "归档进程"
 
-#: postmaster/postmaster.c:2110
+#: postmaster/postmaster.c:2093
 msgid "statistics collector process"
 msgstr "统计收集器进程"
 
-#: postmaster/postmaster.c:2124
+#: postmaster/postmaster.c:2107
 msgid "system logger process"
 msgstr "系统日志进程"
 
-#: postmaster/postmaster.c:2145
+#: postmaster/postmaster.c:2128
 msgid "all server processes terminated; reinitializing"
 msgstr "所有的服务器进程被中止; 重新初始化"
 
-#: postmaster/postmaster.c:2191 postmaster/postmaster.c:2201
+#: postmaster/postmaster.c:2174 postmaster/postmaster.c:2184
 msgid "server process"
 msgstr "服务器进程"
 
-#: postmaster/postmaster.c:2246
+#: postmaster/postmaster.c:2229
 msgid "terminating any other active server processes"
 msgstr "中断任何其它已激活的服务器进程"
 
-#: postmaster/postmaster.c:2343
+#: postmaster/postmaster.c:2326
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) 已退出, 退出代码 %d"
 
-#: postmaster/postmaster.c:2352
+#: postmaster/postmaster.c:2335
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d"
 msgstr "%s (PID %d) 被信号 %d 中断"
 
-#: postmaster/postmaster.c:2361
+#: postmaster/postmaster.c:2344
 #, c-format
 msgid "%s (PID %d) exited with unexpected status %d"
 msgstr "%s (PID %d) 已退出, 意外状态 %d"
 
-#: postmaster/postmaster.c:2486
+#: postmaster/postmaster.c:2469
 #, c-format
 msgid "could not fork new process for connection: %m"
 msgstr "无法为联接派生新进程: %m"
 
-#: postmaster/postmaster.c:2525
+#: postmaster/postmaster.c:2508
 msgid "could not fork new process for connection: "
 msgstr "无法为联接派生新进程: "
 
-#: postmaster/postmaster.c:2667
+#: postmaster/postmaster.c:2647
 #, c-format
 msgid "getnameinfo_all() failed: %s"
 msgstr "getnameinfo_all() 失败: %s"
 
-#: postmaster/postmaster.c:2676
+#: postmaster/postmaster.c:2656
 #, c-format
 msgid "connection received: host=%s port=%s"
 msgstr "联接接收到: 主机=%s 端口=%s"
 
-#: postmaster/postmaster.c:2748
+#: postmaster/postmaster.c:2728
 #, c-format
 msgid "connection authorized: user=%s database=%s"
 msgstr "联接认证: 主机=%s 数据库=%s"
 
-#: postmaster/postmaster.c:2924
+#: postmaster/postmaster.c:2946
 #, c-format
-msgid "could not exec backend process \"%s\": %m"
-msgstr "无法执行后台进程 \"%s\": %m"
+msgid "could not execute server process \"%s\": %m"
+msgstr "无法执行服务器进程 \"%s\": %m"
 
-#: postmaster/postmaster.c:3321
+#: postmaster/postmaster.c:3540
 #, c-format
 msgid "could not fork startup process: %m"
 msgstr "无法派生启动进程: %m"
 
-#: postmaster/postmaster.c:3325
+#: postmaster/postmaster.c:3544
 #, c-format
 msgid "could not fork background writer process: %m"
 msgstr "无法 fork 后台写入进程: %m"
 
-#: postmaster/postmaster.c:3329
+#: postmaster/postmaster.c:3548
 #, c-format
 msgid "could not fork process: %m"
 msgstr "无法派生进程: %m"
 
-#: postmaster/postmaster.c:3513
+#: postmaster/postmaster.c:3722
+#, c-format
+msgid "could not duplicate socket %d for use in backend: error code %d"
+msgstr "无法为后端使用复制套接字 %d: 错误码为 %d"
+
+#: postmaster/postmaster.c:3751
+#, c-format
+msgid "could not create inherited socket: error code %d\n"
+msgstr "无法创建继承套接字: 错误码为 %d\n"
+
+#: postmaster/postmaster.c:3779 postmaster/postmaster.c:3786
 #, c-format
-msgid "could not read from backend variables file \"%s\": %m"
-msgstr "无法从后端可变 (variables) 文件 \"%s\" 读取: %m"
+msgid "could not read from backend variables file \"%s\": %s\n"
+msgstr "无法从后端可变 (variables) 文件 \"%s\" 读取: %s\n"
 
-#: postmaster/postmaster.c:3827
+#: postmaster/postmaster.c:3795
 #, c-format
-msgid "ERROR: failed to wait on child process handle: %d\n"
-msgstr "错误: 等待子进程失败: %d\n"
+msgid "could not remove file \"%s\": %s\n"
+msgstr "无法删除文件 \"%s\": %s\n"
 
-#: postmaster/pgstat.c:257
+#: postmaster/postmaster.c:3810
+#, c-format
+msgid "could not map view of backend variables: error code %d\n"
+msgstr "无法 map 后端变量视图: 错误码为 %d\n"
+
+#: postmaster/postmaster.c:3819
+#, c-format
+msgid "could not unmap view of backend variables: error code %d\n"
+msgstr "无法 unmap 后端变量视图: 错误码为 %d\n"
+
+#: postmaster/postmaster.c:3826
+#, c-format
+msgid "could not close handle to backend parameter variables: error code %d\n"
+msgstr "无法关闭后端参数变量的句柄: 错误码为 %d\n"
+
+#: postmaster/postmaster.c:4065
+#, c-format
+msgid "could not wait on child process handle: error code %d\n"
+msgstr "无法等待子进程: 错误码 %d\n"
+
+#: postmaster/pgstat.c:259
 #, c-format
 msgid "could not resolve \"localhost\": %s"
 msgstr "无法解析 \"localhost\": %s"
 
-#: postmaster/pgstat.c:285
+#: postmaster/pgstat.c:287
 #, c-format
 msgid "could not create socket for statistics collector: %m"
 msgstr "无法为统计收集器创建套接字: %m"
 
-#: postmaster/pgstat.c:297
+#: postmaster/pgstat.c:299
 #, c-format
 msgid "could not bind socket for statistics collector: %m"
 msgstr "无法绑定统计收集器的套接字: %m"
 
-#: postmaster/pgstat.c:308
+#: postmaster/pgstat.c:310
 #, c-format
 msgid "could not get address of socket for statistics collector: %m"
 msgstr "无法获得统计收集器的套接字地址: %m"
 
-#: postmaster/pgstat.c:324
+#: postmaster/pgstat.c:326
 #, c-format
 msgid "could not connect socket for statistics collector: %m"
 msgstr "无法联接统计收集器的套接字: %m"
 
-#: postmaster/pgstat.c:341
+#: postmaster/pgstat.c:343
 #, c-format
 msgid "could not send test message on socket for statistics collector: %m"
 msgstr "无法为统计收集器在套接字上发送测试信息: %m"
 
-#: postmaster/pgstat.c:366 postmaster/pgstat.c:1610
+#: postmaster/pgstat.c:368 postmaster/pgstat.c:1567
 #, c-format
 msgid "select() failed in statistics collector: %m"
 msgstr "在统计收集器中 select() 失败: %m"
 
-#: postmaster/pgstat.c:381
+#: postmaster/pgstat.c:383
 msgid "test message did not get through on socket for statistics collector"
 msgstr "统计收集器的测试信息没有通过套接字: %m"
 
-#: postmaster/pgstat.c:393
+#: postmaster/pgstat.c:395
 #, c-format
 msgid "could not receive test message on socket for statistics collector: %m"
 msgstr "无法为统计收集器在套接字上接收测试信息: %m"
 
-#: postmaster/pgstat.c:403
+#: postmaster/pgstat.c:405
 msgid "incorrect test message transmission on socket for statistics collector"
 msgstr "统计收集器在套接字上不正确的测试信息 transmission: %m"
 
-#: postmaster/pgstat.c:418
+#: postmaster/pgstat.c:420
 msgid "disabling statistics collector for lack of working socket"
 msgstr "当缺乏可用套接字时取消统计收集器"
 
-#: postmaster/pgstat.c:432
+#: postmaster/pgstat.c:434
 #, c-format
 msgid "could not set statistics collector socket to nonblocking mode: %m"
 msgstr "无法把统计收集器的套接字设置为非阻塞模式: %m"
 
-#: postmaster/pgstat.c:571
+#: postmaster/pgstat.c:567
 msgid "statistics collector startup skipped"
 msgstr "忽略统计收集器启动"
 
-#: postmaster/pgstat.c:605
+#: postmaster/pgstat.c:601
 #, c-format
 msgid "could not fork statistics buffer: %m"
 msgstr "无法派生 (fork) 统计信息缓冲区: %m"
 
-#: postmaster/pgstat.c:963
+#: postmaster/pgstat.c:959
 msgid "must be superuser to reset statistics counters"
 msgstr "必须为超级用户才可以重置统计计数器"
 
-#: postmaster/pgstat.c:1411
+#: postmaster/pgstat.c:1381
 #, c-format
 msgid "could not create pipe for statistics buffer: %m"
 msgstr "无法为统计缓冲区创建管道: %m"
 
-#: postmaster/pgstat.c:1424
+#: postmaster/pgstat.c:1393
 #, c-format
 msgid "could not fork statistics collector: %m"
 msgstr "无法派生 (fork) 统计收集器: %m"
 
-#: postmaster/pgstat.c:1537 postmaster/pgstat.c:1550 postmaster/pgstat.c:1833
-#: postmaster/pgstat.c:2099 postmaster/pgstat.c:2131 postmaster/pgstat.c:2185
-#: postmaster/pgstat.c:2446 postmaster/pgstat.c:2519 postmaster/pgstat.c:2565
-#: postmaster/pgstat.c:2616 postmaster/pgstat.c:2866 postmaster/pgstat.c:3048
-msgid "out of memory in statistics collector --- abort"
-msgstr "在统计收集器中内存溢出 --- 终止"
-
-#: postmaster/pgstat.c:1652
+#: postmaster/pgstat.c:1608
 #, c-format
 msgid "could not read from statistics collector pipe: %m"
 msgstr "无法从统计收集器管道读取: %m"
 
-#: postmaster/pgstat.c:1674
+#: postmaster/pgstat.c:1629
 msgid "invalid statistics message length"
 msgstr "无效的统计信息长度"
 
-#: postmaster/pgstat.c:1821
+#: postmaster/pgstat.c:1774
 #, c-format
 msgid "could not set statistics collector pipe to nonblocking mode: %m"
 msgstr "无法把统计收集器管道设置为非阻塞模式: %m"
 
-#: postmaster/pgstat.c:1861
+#: postmaster/pgstat.c:1805
 msgid "statistics buffer is full"
 msgstr "统计信息缓冲区已满"
 
-#: postmaster/pgstat.c:1892
+#: postmaster/pgstat.c:1836
 #, c-format
 msgid "select() failed in statistics buffer: %m"
 msgstr "在统计缓冲区中 select() 失败: %m"
 
-#: postmaster/pgstat.c:1908
+#: postmaster/pgstat.c:1850
 #, c-format
 msgid "could not read statistics message: %m"
 msgstr "无法读取统计信息: %m"
 
-#: postmaster/pgstat.c:1973
+#: postmaster/pgstat.c:1913
 #, c-format
 msgid "could not write to statistics collector pipe: %m"
 msgstr "无法写入统计收集器管道: %m"
 
-#: postmaster/pgstat.c:2039
+#: postmaster/pgstat.c:1988
 #, c-format
 msgid "invalid server process ID %d"
 msgstr "无效的服务器进程 ID %d"
 
-#: postmaster/pgstat.c:2234
+#: postmaster/pgstat.c:2047 postmaster/pgstat.c:2122 postmaster/pgstat.c:2720
+msgid "out of memory in statistics collector --- abort"
+msgstr "在统计收集器中内存溢出 --- 终止"
+
+#: postmaster/pgstat.c:2170
 #, c-format
 msgid "could not open temporary statistics file \"%s\": %m"
 msgstr "无法打开临时统计文件 \"%s\": %m"
 
-#: postmaster/pgstat.c:2261
+#: postmaster/pgstat.c:2196
 msgid "database hash table corrupted during cleanup --- abort"
 msgstr "清理过程中数据库散列表毁坏 --- 终止"
 
-#: postmaster/pgstat.c:2298
+#: postmaster/pgstat.c:2231
 #, c-format
 msgid "tables hash table for database %u corrupted during cleanup --- abort"
 msgstr "清理过程中数据库 %u 的表散列表毁坏 --- 终止"
 
-#: postmaster/pgstat.c:2347
+#: postmaster/pgstat.c:2279
 #, c-format
 msgid "could not close temporary statistics file \"%s\": %m"
 msgstr "无法关闭临时统计文件 \"%s\": %m"
 
-#: postmaster/pgstat.c:2356
+#: postmaster/pgstat.c:2288
 #, c-format
 msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
 msgstr "无法把临时统计文件 \"%s\" 重命名为 \"%s\": %m"
 
-#: postmaster/pgstat.c:2378
+#: postmaster/pgstat.c:2310
 msgid "dead-server-process hash table corrupted during cleanup --- abort"
 msgstr "清理过程中死服务器进程 (dead-server-process) 散列表毁坏 --- 终止"
 
-#: postmaster/pgstat.c:2501 postmaster/pgstat.c:2533 postmaster/pgstat.c:2596
-#: postmaster/pgstat.c:2629 postmaster/pgstat.c:2650 postmaster/pgstat.c:2696
-#: postmaster/pgstat.c:2729
+#: postmaster/pgstat.c:2417 postmaster/pgstat.c:2437 postmaster/pgstat.c:2483
+#: postmaster/pgstat.c:2504 postmaster/pgstat.c:2521 postmaster/pgstat.c:2555
+#: postmaster/pgstat.c:2584
 msgid "corrupted pgstat.stat file"
 msgstr "损坏的 pgstat.stat 文件"
 
-#: postmaster/syslogger.c:315
+#: postmaster/syslogger.c:317
 #, c-format
 msgid "select() failed in logger process: %m"
 msgstr "日志进程中的 select() 失败: %m"
 
-#: postmaster/syslogger.c:327 postmaster/syslogger.c:732
+#: postmaster/syslogger.c:329 postmaster/syslogger.c:734
 #, c-format
 msgid "could not read from logger pipe: %m"
 msgstr "无法从日志管道读取: %m"
 
-#: postmaster/syslogger.c:359
+#: postmaster/syslogger.c:361
 msgid "logger shutting down"
 msgstr "日志正在关闭"
 
-#: postmaster/syslogger.c:403 postmaster/syslogger.c:417
+#: postmaster/syslogger.c:405 postmaster/syslogger.c:419
 #, c-format
-msgid "could not create pipe for syslogging: %m"
-msgstr "无法为统计日志 (syslogging) 创建管道: %m"
+msgid "could not create pipe for syslog: %m"
+msgstr "无法为统计日志 (syslog) 创建管道: %m"
 
-#: postmaster/syslogger.c:445
+#: postmaster/syslogger.c:447
 #, c-format
-msgid "could not create logfile \"%s\": %m"
+msgid "could not create log file \"%s\": %m"
 msgstr "无法创建日志文件 \"%s\": %m"
 
-#: postmaster/syslogger.c:475
+#: postmaster/syslogger.c:477
 #, c-format
 msgid "could not fork system logger: %m"
 msgstr "无法派生 (fork) 系统日志: %m"
 
-#: postmaster/syslogger.c:507
+#: postmaster/syslogger.c:509
 #, c-format
 msgid "could not redirect stdout: %m"
 msgstr "无法重定向到标准输出 (stdout) : %m"
 
-#: postmaster/syslogger.c:512 postmaster/syslogger.c:525
+#: postmaster/syslogger.c:514 postmaster/syslogger.c:527
 #, c-format
 msgid "could not redirect stderr: %m"
 msgstr "无法重定向到标准错误 (stderr) : %m"
 
-#: postmaster/syslogger.c:701
+#: postmaster/syslogger.c:703
 #, c-format
-msgid "could not write to logfile: %m"
+msgid "could not write to log file: %m"
 msgstr "无法写入日志文件: %m"
 
-#: postmaster/syslogger.c:775
+#: postmaster/syslogger.c:790
 #, c-format
-msgid "could not open new logfile \"%s\": %m"
+msgid "could not open new log file \"%s\": %m"
 msgstr "无法打开新的日志文件 \"%s\": %m"
 
-#: postmaster/syslogger.c:787
-msgid "disabling auto rotation (use SIGHUP to reenable)"
-msgstr ""
+#: postmaster/syslogger.c:802
+msgid "disabling automatic rotation (use SIGHUP to reenable)"
+msgstr "取消自动轮寻 (使用 SIGHUP reenable)"
 
 #: postmaster/bgwriter.c:336
 #, c-format
 msgid "checkpoints are occurring too frequently (%d seconds apart)"
-msgstr ""
+msgstr "检查点发生太频繁 (%d 秒间隔)"
 
 #: postmaster/bgwriter.c:338
 msgid ""
@@ -10225,18 +10405,18 @@ msgid ""
 msgstr "认为增加配置参数 \"checkpoint_segments\"."
 
 #: postmaster/bgwriter.c:490
-msgid "insufficient shared memory for bgwriter"
+msgid "not enough shared memory for background writer"
 msgstr "没有足够的共享内存给后台写入进程"
 
 #: postmaster/bgwriter.c:555
 msgid "checkpoint request failed"
-msgstr ""
+msgstr "检查点请求失败"
 
 #: postmaster/bgwriter.c:556
-msgid "Consult the postmaster log for details."
+msgid "Consult the server log for details."
 msgstr "详细信息请参考服务器日志."
 
-#: bootstrap/bootstrap.c:500
+#: bootstrap/bootstrap.c:481
 msgid ""
 "Usage:\n"
 "  postgres -boot [OPTION]... DBNAME\n"
@@ -10256,8 +10436,47 @@ msgstr ""
 "  -o file          把调试信息输出到文件 file\n"
 "  -x num           内部使用\n"
 
-#~ msgid "could not remove junction dir \"%s\": %m"
-#~ msgstr "无法删除连接 (junction) 目录 \"%s\": %m"
+#: ../port/dirmod.c:75 ../port/dirmod.c:88 ../port/dirmod.c:101
+#, c-format
+msgid "out of memory\n"
+msgstr "内存溢出\n"
+
+#: ../port/dirmod.c:283
+#, c-format
+msgid "Error setting junction for %s: %s"
+msgstr "为 %s 设置接合点错误: %s"
+
+#: ../port/exec.c:193 ../port/exec.c:307 ../port/exec.c:350
+#, c-format
+msgid "could not identify current directory: %s"
+msgstr "无法确认当前目录: %s"
+
+#: ../port/exec.c:323 ../port/exec.c:359
+#, c-format
+msgid "could not change directory to \"%s\""
+msgstr "无法进入目录 \"%s\""
+
+#: ../port/exec.c:338
+#, c-format
+msgid "could not read symbolic link \"%s\""
+msgstr "无法读取符号链接 \"%s\""
+
+#: ../port/exec.c:569
+#, c-format
+msgid "child process exited with exit code %d"
+msgstr "子进程已退出, 退出码为 %d"
 
-#~ msgid "Input has wrong number of columns."
-#~ msgstr "错误的输入字段个数"
+#: ../port/exec.c:572
+#, c-format
+msgid "child process was terminated by signal %d"
+msgstr "子进程被信号 %d 终止"
+
+#: ../port/exec.c:575
+#, c-format
+msgid "child process exited with unrecognized status %d"
+msgstr "子进程已退出, 未知状态 %d"
+
+#: ../port/copydir.c:67
+#, c-format
+msgid "could not copy file \"%s\": %m"
+msgstr "无法拷贝文件 \"%s\": %m"
diff --git a/src/bin/initdb/po/zh_CN.po b/src/bin/initdb/po/zh_CN.po
index 700ad52fa91..f6eb0cf39ca 100644
--- a/src/bin/initdb/po/zh_CN.po
+++ b/src/bin/initdb/po/zh_CN.po
@@ -4,9 +4,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 7.4\n"
+"Project-Id-Version: PostgreSQL 8.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-08-31 08:59+0000\n"
+"POT-Creation-Date: 2004-12-02 09:43+0000\n"
 "PO-Revision-Date: 2003-09-15 13:48:19+0800\n"
 "Last-Translator: Bao Wei <weibao@qmail.zhengmai.net.cn>\n"
 "Language-Team: Weiping He <laser@zhengmai.com.cn>\n"
@@ -14,42 +14,57 @@ msgstr ""
 "Content-Type: text/plain; charset=GB2312\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: initdb.c:233 initdb.c:247
+#: initdb.c:250 initdb.c:264
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: 内存溢出\n"
 
-#: initdb.c:329 initdb.c:1298
+#: initdb.c:374 initdb.c:1403
 #, c-format
 msgid "%s: could not open file \"%s\" for reading: %s\n"
 msgstr "%s: 为了读取, 无法打开文件 \"%s\": %s\n"
 
-#: initdb.c:387
+#: initdb.c:435 initdb.c:1035 initdb.c:1062
 #, c-format
 msgid "%s: could not open file \"%s\" for writing: %s\n"
 msgstr "%s: 为了写, 无法打开文件 \"%s\": %s\n"
 
-#: initdb.c:515 initdb.c:524 initdb.c:532
+#: initdb.c:443 initdb.c:451 initdb.c:1042 initdb.c:1068
 #, c-format
-msgid "%s: failed\n"
-msgstr "%s: 失败\n"
+msgid "%s: could not write file \"%s\": %s\n"
+msgstr "%s: 无法写文件 \"%s\": %s\n"
 
-#: initdb.c:521
+#: initdb.c:470
+#, c-format
+msgid "%s: could not execute command \"%s\": %s\n"
+msgstr "%s: 无法执行命令 \"%s\": %s\n"
+
+#: initdb.c:593
 #, c-format
 msgid "%s: removing data directory \"%s\"\n"
 msgstr "%s: 删除数据目录 \"%s\"\n"
 
-#: initdb.c:529
+#: initdb.c:596
+#, c-format
+msgid "%s: failed to remove data directory\n"
+msgstr "%s: 删除数据目录失败\n"
+
+#: initdb.c:602
 #, c-format
 msgid "%s: removing contents of data directory \"%s\"\n"
 msgstr "%s: 删除数据目录 \"%s\" 的内容\n"
 
-#: initdb.c:540
+#: initdb.c:605
+#, c-format
+msgid "%s: failed to remove contents of data directory\n"
+msgstr "%s: 删除数据目录内容失败\n"
+
+#: initdb.c:614
 #, c-format
 msgid "%s: data directory \"%s\" not removed at user's request\n"
 msgstr "%s: 在用户的要求下数据库目录 \"%s\" 不被删除\n"
 
-#: initdb.c:566
+#: initdb.c:640
 #, c-format
 msgid ""
 "%s: cannot be run as root\n"
@@ -60,17 +75,17 @@ msgstr ""
 "请以服务器进程所有者的用户 (无特权) 身份\n"
 "登陆 (使用, e.g., \"su\").\n"
 
-#: initdb.c:615
+#: initdb.c:689
 #, c-format
 msgid "%s: \"%s\" is not a valid server encoding name\n"
 msgstr "%s: \"%s\" 不是一个有效的服务器编码名字\n"
 
-#: initdb.c:770
+#: initdb.c:844
 #, c-format
 msgid "%s: warning: encoding mismatch\n"
 msgstr "%s: 警告: 编码不匹配\n"
 
-#: initdb.c:772
+#: initdb.c:846
 #, c-format
 msgid ""
 "The encoding you selected (%s) and the encoding that the selected\n"
@@ -85,7 +100,12 @@ msgstr ""
 "类型.\n"
 "\n"
 
-#: initdb.c:924
+#: initdb.c:976
+#, c-format
+msgid "%s: could not create directory \"%s\": %s\n"
+msgstr "%s: 无法创建目录 \"%s\": %s\n"
+
+#: initdb.c:1004
 #, c-format
 msgid ""
 "%s: file \"%s\" does not exist\n"
@@ -96,26 +116,26 @@ msgstr ""
 "这意味着您的安装发生了错误或\n"
 "使用 -L 选项指定了错误的路径.\n"
 
-#: initdb.c:989
+#: initdb.c:1086
 #, c-format
 msgid "selecting default max_connections ... "
 msgstr "选择默认最大联接数 (max_connections) ... "
 
-#: initdb.c:1025
+#: initdb.c:1122
 #, c-format
 msgid "selecting default shared_buffers ... "
 msgstr "选择默认共享缓冲区大小 (shared_buffers) ... "
 
-#: initdb.c:1058
+#: initdb.c:1155
 msgid "creating configuration files ... "
 msgstr "创建配置文件 ... "
 
-#: initdb.c:1145
+#: initdb.c:1251
 #, c-format
 msgid "creating template1 database in %s/base/1 ... "
 msgstr "在 %s/base/1 中创建 template1 数据库 ... "
 
-#: initdb.c:1161
+#: initdb.c:1267
 #, c-format
 msgid ""
 "%s: input file \"%s\" does not belong to PostgreSQL %s\n"
@@ -124,95 +144,95 @@ msgstr ""
 "%s: 输入文件 \"%s\" 不属于 PostgreSQL %s\n"
 "检查你的安装或使用 -L 选项指定正确的路径.\n"
 
-#: initdb.c:1237
+#: initdb.c:1342
 msgid "initializing pg_shadow ... "
 msgstr "初始化 pg_shadow ... "
 
-#: initdb.c:1273
+#: initdb.c:1378
 msgid "Enter new superuser password: "
 msgstr "输入新的超级用户口令: "
 
-#: initdb.c:1274
+#: initdb.c:1379
 msgid "Enter it again: "
 msgstr "再输入一遍: "
 
-#: initdb.c:1277
+#: initdb.c:1382
 #, c-format
 msgid "Passwords didn't match.\n"
 msgstr "口令不匹配.\n"
 
-#: initdb.c:1304
+#: initdb.c:1409
 #, c-format
 msgid "%s: could not read password from file \"%s\": %s\n"
 msgstr "%s: 无法从文件 \"%s\" 读取口令: %s\n"
 
-#: initdb.c:1317
+#: initdb.c:1422
 #, c-format
 msgid "setting password ... "
 msgstr "设置口令 ... "
 
-#: initdb.c:1341
+#: initdb.c:1443
 #, c-format
 msgid "%s: The password file was not generated. Please report this problem.\n"
 msgstr "%s: 口令文件没有生成. 请报告这个问题.\n"
 
-#: initdb.c:1371
+#: initdb.c:1471
 msgid "enabling unlimited row size for system tables ... "
 msgstr "启动不限制系统表行大小 ... "
 
-#: initdb.c:1444
+#: initdb.c:1544
 msgid "initializing pg_depend ... "
 msgstr "初始化 pg_depend ... "
 
-#: initdb.c:1472
+#: initdb.c:1572
 msgid "creating system views ... "
 msgstr "创建系统视图 ... "
 
-#: initdb.c:1509
+#: initdb.c:1608
 msgid "loading pg_description ... "
 msgstr "加载 pg_description ... "
 
-#: initdb.c:1557
+#: initdb.c:1647
 msgid "creating conversions ... "
 msgstr "创建字符集转换 ... "
 
-#: initdb.c:1613
+#: initdb.c:1701
 msgid "setting privileges on built-in objects ... "
 msgstr "对内建对象设置权限 ... "
 
-#: initdb.c:1671
+#: initdb.c:1759
 msgid "creating information schema ... "
 msgstr "创建信息模式 ... "
 
-#: initdb.c:1734
+#: initdb.c:1816
 msgid "vacuuming database template1 ... "
 msgstr "清理数据库 template1 ... "
 
-#: initdb.c:1790
+#: initdb.c:1870
 msgid "copying template1 to template0 ... "
 msgstr "拷贝 template1 到 template0 ... "
 
-#: initdb.c:1847
+#: initdb.c:1927
 #, c-format
 msgid "caught signal\n"
 msgstr "捕获信号\n"
 
-#: initdb.c:1852
+#: initdb.c:1933
 #, c-format
-msgid "could not write to child process\n"
-msgstr "无法写到子进程\n"
+msgid "could not write to child process: %s\n"
+msgstr "无法写到子进程: %s\n"
 
-#: initdb.c:1858
+#: initdb.c:1941
 #, c-format
 msgid "ok\n"
 msgstr "成功\n"
 
-#: initdb.c:1888
+#: initdb.c:1989
 #, c-format
 msgid "%s: invalid locale name \"%s\"\n"
 msgstr "%s: 无效的 locale 名字 \"%s\"\n"
 
-#: initdb.c:1955
+#: initdb.c:2056
 #, c-format
 msgid ""
 "%s initializes a PostgreSQL database cluster.\n"
@@ -221,17 +241,17 @@ msgstr ""
 "%s 初始化一个 PostgreSQL 数据库簇.\n"
 "\n"
 
-#: initdb.c:1956
+#: initdb.c:2057
 #, c-format
 msgid "Usage:\n"
 msgstr "使用方法:\n"
 
-#: initdb.c:1957
+#: initdb.c:2058
 #, c-format
 msgid "  %s [OPTION]... [DATADIR]\n"
 msgstr "  %s [选项]... [DATADIR]\n"
 
-#: initdb.c:1958
+#: initdb.c:2059
 #, c-format
 msgid ""
 "\n"
@@ -240,23 +260,23 @@ msgstr ""
 "\n"
 "选项:\n"
 
-#: initdb.c:1959
+#: initdb.c:2060
 #, c-format
 msgid " [-D, --pgdata=]DATADIR     location for this database cluster\n"
 msgstr "  -D, --pgdata=DATADIR      当前数据库簇的位置\n"
 
-#: initdb.c:1960
+#: initdb.c:2061
 #, c-format
 msgid "  -E, --encoding=ENCODING   set default encoding for new databases\n"
 msgstr "  -E, --encoding=ENCODING   为新数据库设置默认编码\n"
 
-#: initdb.c:1961
+#: initdb.c:2062
 #, c-format
 msgid ""
 "  --locale=LOCALE           initialize database cluster with given locale\n"
 msgstr "  --locale=LOCALE           初始化数据库簇的 locale\n"
 
-#: initdb.c:1962
+#: initdb.c:2063
 #, c-format
 msgid ""
 "  --lc-collate, --lc-ctype, --lc-messages=LOCALE\n"
@@ -271,46 +291,46 @@ msgstr ""
 "                            locale (默认使用环境变\n"
 "                            量)\n"
 
-#: initdb.c:1967
+#: initdb.c:2068
 #, c-format
 msgid "  --no-locale               equivalent to --locale=C\n"
 msgstr "  --no-locale               等同于 --locale=C\n"
 
-#: initdb.c:1968
+#: initdb.c:2069
 #, c-format
 msgid ""
-"  -A, --auth=method         default authentication method for local "
+"  -A, --auth=METHOD         default authentication method for local "
 "connections\n"
-msgstr "  -A, --auth=method         本地连接的默认认证方法\n"
+msgstr "  -A, --auth=METHOD         本地连接的默认认证方法\n"
 
-#: initdb.c:1969
+#: initdb.c:2070
 #, c-format
 msgid "  -U, --username=NAME       database superuser name\n"
 msgstr "  -U, --username=NAME       数据库超级用户名\n"
 
-#: initdb.c:1970
+#: initdb.c:2071
 #, c-format
 msgid ""
 "  -W, --pwprompt            prompt for a password for the new superuser\n"
 msgstr "  -W, --pwprompt            对于新的超级用户提示输入口令\n"
 
-#: initdb.c:1971
+#: initdb.c:2072
 #, c-format
 msgid ""
-"  --pwfile=filename         read password for the new superuser from file\n"
+"  --pwfile=FILE             read password for the new superuser from file\n"
 msgstr "  --pwfile=文件名           对于新的超级用户从文件读取口令\n"
 
-#: initdb.c:1972
+#: initdb.c:2073
 #, c-format
 msgid "  -?, --help                show this help, then exit\n"
 msgstr "  -?, --help                显示此帮助, 然后退出\n"
 
-#: initdb.c:1973
+#: initdb.c:2074
 #, c-format
 msgid "  -V, --version             output version information, then exit\n"
 msgstr "  -V, --version             输出版本信息, 然后退出\n"
 
-#: initdb.c:1974
+#: initdb.c:2075
 #, c-format
 msgid ""
 "\n"
@@ -319,27 +339,27 @@ msgstr ""
 "\n"
 "非普通使用选项:\n"
 
-#: initdb.c:1975
+#: initdb.c:2076
 #, c-format
 msgid "  -d, --debug               generate lots of debugging output\n"
 msgstr "  -d, --debug               产生大量的除错信息\n"
 
-#: initdb.c:1976
+#: initdb.c:2077
 #, c-format
 msgid "  -s, --show                show internal settings\n"
 msgstr "  -s, --show                显示内部设置\n"
 
-#: initdb.c:1977
+#: initdb.c:2078
 #, c-format
 msgid "  -L DIRECTORY              where to find the input files\n"
 msgstr "  -L DIRECTORY              输入文件的位置\n"
 
-#: initdb.c:1978
+#: initdb.c:2079
 #, c-format
 msgid "  -n, --noclean             do not clean up after errors\n"
 msgstr "  -n, --noclean             出错后不清理\n"
 
-#: initdb.c:1979
+#: initdb.c:2080
 #, c-format
 msgid ""
 "\n"
@@ -349,7 +369,7 @@ msgstr ""
 "\n"
 "如果没有指定数据目录, 将使用环境变量 PGDATA\n"
 
-#: initdb.c:1981
+#: initdb.c:2082
 #, c-format
 msgid ""
 "\n"
@@ -358,36 +378,36 @@ msgstr ""
 "\n"
 "报告错误至 <pgql-bugs@postgresql.org>.\n"
 
-#: initdb.c:2072
+#: initdb.c:2175
 #, c-format
 msgid "Running in debug mode.\n"
 msgstr "运行在除错模式中. \n"
 
-#: initdb.c:2076
+#: initdb.c:2179
 #, c-format
 msgid "Running in noclean mode.  Mistakes will not be cleaned up.\n"
 msgstr "运行在 noclean 模式中. 错误将不被清理.\n"
 
-#: initdb.c:2112 initdb.c:2129 initdb.c:2341
+#: initdb.c:2216 initdb.c:2233 initdb.c:2453
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "请用 \"%s --help\" 获取更多的信息.\n"
 
-#: initdb.c:2127
+#: initdb.c:2231
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: 命令行参数太多 (第一个是 \"%s\")\n"
 
-#: initdb.c:2135
+#: initdb.c:2239
 #, c-format
-msgid "%s: you cannot specify both password prompt and password file\n"
-msgstr "%s: 你不能同时指定提示输入口令和口令文件\n"
+msgid "%s: password prompt and password file may not be specified together\n"
+msgstr "%s: 口令提示和口令文件可以不用同时都指定\n"
 
-#: initdb.c:2141
+#: initdb.c:2245
 msgid ""
 "\n"
-"WARNING: enabling \"trust\" authentication for local connections.\n"
-"You can change this by editing pg_hba.conf or using the -A flag the\n"
+"WARNING: enabling \"trust\" authentication for local connections\n"
+"You can change this by editing pg_hba.conf or using the -A option the\n"
 "next time you run initdb.\n"
 msgstr ""
 "\n"
@@ -395,19 +415,18 @@ msgstr ""
 "你可以通过编辑 pg_hba.conf 更改或你下\n"
 "次运行 initdb 时使用 -A 选项.\n"
 
-#: initdb.c:2165
+#: initdb.c:2269
 #, c-format
-msgid "%s: unknown authentication method \"%s\".\n"
+msgid "%s: unrecognized authentication method \"%s\"\n"
 msgstr "%s: 未知认证方法 \"%s\".\n"
 
-#: initdb.c:2174
+#: initdb.c:2279
 #, c-format
 msgid ""
-"%s: you need to specify a password for the superuser to enable %s "
-"authentication.\n"
-msgstr "%s: 为了启动 %s 认证, 你需要为超级用户指定一个口令.\n"
+"%s: must specify a password for the superuser to enable %s authentication\n"
+msgstr "%s: 为了启动 %s 认证, 你需要为超级用户指定一个口令\n"
 
-#: initdb.c:2189
+#: initdb.c:2294
 #, c-format
 msgid ""
 "%s: no data directory specified\n"
@@ -420,37 +439,39 @@ msgstr ""
 "存在. 使用 -D 选项或者\n"
 "环境变量 PGDATA.\n"
 
-#: initdb.c:2215
+#: initdb.c:2326
 #, c-format
 msgid ""
-"The program \"postgres\" is needed by %s but was not found in the same "
-"directory as \"%s\".\n"
+"The program \"postgres\" is needed by %s but was not found in the\n"
+"same directory as \"%s\".\n"
 "Check your installation.\n"
 msgstr ""
 "%s 需要程序 \"postgres\", 但是在同一个目录 \"%s\" 中没找到.\n"
+"\n"
 "检查您的安装.\n"
 
-#: initdb.c:2221
+#: initdb.c:2333
 #, c-format
 msgid ""
-"The program \"postgres\" was found by %s but was not the same version as \"%s"
-"\".\n"
+"The program \"postgres\" was found by \"%s\"\n"
+"but was not the same version as %s.\n"
 "Check your installation.\n"
 msgstr ""
 "%s 找到程序 \"postgres\", 但是和版本 \"%s\" 不一致.\n"
+"\n"
 "检查您的安装.\n"
 
-#: initdb.c:2240
+#: initdb.c:2352
 #, c-format
 msgid "%s: input file location must be an absolute path\n"
 msgstr "%s: 输入文件位置必须为绝对路径\n"
 
-#: initdb.c:2248
+#: initdb.c:2360
 #, c-format
 msgid "%s: could not determine valid short version string\n"
 msgstr "%s: 无法确定有效的短版本字符串\n"
 
-#: initdb.c:2301
+#: initdb.c:2413
 #, c-format
 msgid ""
 "The files belonging to this database system will be owned by user \"%s\".\n"
@@ -460,12 +481,12 @@ msgstr ""
 "属于此数据库系统的文件宿主为用户 \"%s\".\n"
 "此用户也必须为服务器进程的宿主.\n"
 
-#: initdb.c:2311
+#: initdb.c:2423
 #, c-format
 msgid "The database cluster will be initialized with locale %s.\n"
 msgstr "数据库簇将带有 locale %s 初始化.\n"
 
-#: initdb.c:2314
+#: initdb.c:2426
 #, c-format
 msgid ""
 "The database cluster will be initialized with locales\n"
@@ -484,32 +505,37 @@ msgstr ""
 "  NUMERIC:  %s\n"
 "  TIME:     %s\n"
 
-#: initdb.c:2339
+#: initdb.c:2451
 #, c-format
 msgid "%s: could not find suitable encoding for locale \"%s\"\n"
 msgstr "%s: 无法为 locale \"%s\" 找到合适的编码\n"
 
-#: initdb.c:2340
+#: initdb.c:2452
 #, c-format
 msgid "Rerun %s with the -E option.\n"
 msgstr "带 -E 选项重新运行 %s.\n"
 
-#: initdb.c:2347
+#: initdb.c:2459
 #, c-format
 msgid "The default database encoding has accordingly been set to %s.\n"
 msgstr "默认的数据库编码已经相应的设置为 %s.\n"
 
-#: initdb.c:2388
+#: initdb.c:2500
 #, c-format
 msgid "creating directory %s ... "
 msgstr "创建目录 %s ... "
 
-#: initdb.c:2402
+#: initdb.c:2514
 #, c-format
 msgid "fixing permissions on existing directory %s ... "
 msgstr "修复已存在目录 %s 的权限 ... "
 
-#: initdb.c:2420
+#: initdb.c:2520
+#, c-format
+msgid "%s: could not change permissions of directory \"%s\": %s\n"
+msgstr "%s: 无法改变目录 \"%s\" 的权限: %s\n"
+
+#: initdb.c:2533
 #, c-format
 msgid ""
 "%s: directory \"%s\" exists but is not empty\n"
@@ -522,26 +548,66 @@ msgstr ""
 "目录 \"%s\" 或者运行带参数的 %s\n"
 "而不是 \"%s\".\n"
 
-#: initdb.c:2437
+#: initdb.c:2542
+#, c-format
+msgid "%s: could not access directory \"%s\": %s\n"
+msgstr "%s: 无法访问目录 \"%s\": %s\n"
+
+#: initdb.c:2551
 #, c-format
 msgid "creating directory %s/%s ... "
 msgstr "创建目录 %s/%s ... "
 
-#: initdb.c:2501
+#: initdb.c:2619
 #, c-format
 msgid ""
 "\n"
 "Success. You can now start the database server using:\n"
 "\n"
-"    %s%s%s/postmaster -D %s%s%s\n"
+"    %s%s%s%spostmaster -D %s%s%s\n"
 "or\n"
-"    %s%s%s/pg_ctl -D %s%s%s -l logfile start\n"
+"    %s%s%s%spg_ctl -D %s%s%s -l logfile start\n"
 "\n"
 msgstr ""
 "\n"
 "成功. 您现在可以用下面的命令运行数据库服务器:\n"
 "\n"
-"    %s%s%s/postmaster -D %s%s%s\n"
+"    %s%s%s%spostmaster -D %s%s%s\n"
 "或者\n"
-"    %s%s%s/pg_ctl -D %s%s%s -l logfile start\n"
+"    %s%s%s%spg_ctl -D %s%s%s -l logfile start\n"
 "\n"
+
+#: ../../port/dirmod.c:75 ../../port/dirmod.c:88 ../../port/dirmod.c:101
+#, c-format
+msgid "out of memory\n"
+msgstr "内存溢出\n"
+
+#: ../../port/exec.c:193 ../../port/exec.c:307 ../../port/exec.c:350
+#, c-format
+msgid "could not identify current directory: %s"
+msgstr "无法确认当前目录: %s"
+
+#: ../../port/exec.c:323 ../../port/exec.c:359
+#, c-format
+msgid "could not change directory to \"%s\""
+msgstr "无法进入目录 \"%s\""
+
+#: ../../port/exec.c:338
+#, c-format
+msgid "could not read symbolic link \"%s\""
+msgstr "无法读取符号链结 \"%s\""
+
+#: ../../port/exec.c:569
+#, c-format
+msgid "child process exited with exit code %d"
+msgstr "子进程已退出, 退出码为 %d"
+
+#: ../../port/exec.c:572
+#, c-format
+msgid "child process was terminated by signal %d"
+msgstr "子进程被信号 %d 终止"
+
+#: ../../port/exec.c:575
+#, c-format
+msgid "child process exited with unrecognized status %d"
+msgstr "子进程已退出, 未知状态 %d"
diff --git a/src/bin/pg_config/nls.mk b/src/bin/pg_config/nls.mk
index f60857622a0..cf481f67620 100644
--- a/src/bin/pg_config/nls.mk
+++ b/src/bin/pg_config/nls.mk
@@ -1,5 +1,5 @@
-# $PostgreSQL: pgsql/src/bin/pg_config/nls.mk,v 1.12 2004/11/27 22:44:12 petere Exp $
+# $PostgreSQL: pgsql/src/bin/pg_config/nls.mk,v 1.13 2004/12/11 19:09:02 petere Exp $
 CATALOG_NAME	:= pg_config
-AVAIL_LANGUAGES	:= cs de es fr pt_BR ro ru sl sv tr zh_TW
+AVAIL_LANGUAGES	:= cs de es fr pt_BR ro ru sl sv tr zh_CN zh_TW
 GETTEXT_FILES	:= pg_config.c ../../port/exec.c
 GETTEXT_TRIGGERS:= _
diff --git a/src/bin/pg_config/po/zh_CN.po b/src/bin/pg_config/po/zh_CN.po
new file mode 100644
index 00000000000..da388ab9e37
--- /dev/null
+++ b/src/bin/pg_config/po/zh_CN.po
@@ -0,0 +1,162 @@
+# SOME DESCRIPTIVE TITLE.
+# This file is put in the public domain.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: PostgreSQL 8.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2004-12-02 10:00+0000\n"
+"PO-Revision-Date: 2003-09-15 13:49:24+0800\n"
+"Last-Translator: Bao Wei <weibao@qmail.zhengmai.net.cn>\n"
+"Language-Team: Weiping He <laser@zhengmai.com.cn>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=GB2312\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: pg_config.c:36
+#, c-format
+msgid ""
+"\n"
+"%s provides information about the installed version of PostgreSQL.\n"
+"\n"
+msgstr ""
+"\n"
+"%s 提供 PostgreSQL 的安装信息.\n"
+"\n"
+
+#: pg_config.c:37
+#, c-format
+msgid "Usage:\n"
+msgstr "使用方法:\n"
+
+#: pg_config.c:38
+#, c-format
+msgid ""
+"  %s OPTION...\n"
+"\n"
+msgstr ""
+"  %s 选项...\n"
+"\n"
+
+#: pg_config.c:39
+#, c-format
+msgid "Options:\n"
+msgstr "选项:\n"
+
+#: pg_config.c:40
+#, c-format
+msgid "  --bindir              show location of user executables\n"
+msgstr "  --bindir              显示执行文件所在位置\n"
+
+#: pg_config.c:41
+#, c-format
+msgid ""
+"  --includedir          show location of C header files of the client\n"
+"                        interfaces\n"
+msgstr ""
+"  --includedir          显示客户端接口 C 头文件所在\n"
+"                        位置\n"
+
+#: pg_config.c:43
+#, c-format
+msgid ""
+"  --includedir-server   show location of C header files for the server\n"
+msgstr "  --includedir-server   显示服务端 C 头文件所在位置\n"
+
+#: pg_config.c:44
+#, c-format
+msgid "  --libdir              show location of object code libraries\n"
+msgstr "  --libdir              显示目标代码库文件所在位置\n"
+
+#: pg_config.c:45
+#, c-format
+msgid "  --pkglibdir           show location of dynamically loadable modules\n"
+msgstr "  --pkglibdir           显示动态加载库所在位置\n"
+
+#: pg_config.c:46
+#, c-format
+msgid "  --pgxs                show location of extension makefile\n"
+msgstr "  --pgxs                显示扩展 makefile 所在位置\n"
+
+#: pg_config.c:47
+#, c-format
+msgid ""
+"  --configure           show options given to \"configure\" script when\n"
+"                        PostgreSQL was built\n"
+msgstr ""
+"  --configure           显示编译 PostgreSQL 时 \"configure\"\n"
+"                        的选项\n"
+
+#: pg_config.c:49
+#, c-format
+msgid "  --version             show the PostgreSQL version, then exit\n"
+msgstr "  --version             显示 PostgreSQL 版本信息, 然后退出\n"
+
+#: pg_config.c:50
+#, c-format
+msgid ""
+"  --help                show this help, then exit\n"
+"\n"
+msgstr ""
+"  --help                显示此帮助信息, 然后退出\n"
+"\n"
+
+#: pg_config.c:51
+#, c-format
+msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
+msgstr "臭虫报告至 <pgsql-bugs@postgresql.org>.\n"
+
+#: pg_config.c:57
+#, c-format
+msgid ""
+"\n"
+"Try \"%s --help\" for more information\n"
+msgstr ""
+"\n"
+"试用 \"%s --help\" 获取更多的信息\n"
+
+#: pg_config.c:75
+#, c-format
+msgid "%s: argument required\n"
+msgstr "%s: 需要参数\n"
+
+#: pg_config.c:104
+#, c-format
+msgid "%s: invalid argument: %s\n"
+msgstr "%s: 无效参数: %s\n"
+
+#: pg_config.c:113
+#, c-format
+msgid "%s: could not find own executable\n"
+msgstr "%s: 找不到执行文件\n"
+
+#: ../../port/exec.c:193 ../../port/exec.c:307 ../../port/exec.c:350
+#, c-format
+msgid "could not identify current directory: %s"
+msgstr "无法确认当前目录: %s"
+
+#: ../../port/exec.c:323 ../../port/exec.c:359
+#, c-format
+msgid "could not change directory to \"%s\""
+msgstr "无法进入目录 \"%s\""
+
+#: ../../port/exec.c:338
+#, c-format
+msgid "could not read symbolic link \"%s\""
+msgstr "无法读取符号链结 \"%s\""
+
+#: ../../port/exec.c:569
+#, c-format
+msgid "child process exited with exit code %d"
+msgstr "子进程已退出, 退出码为 %d"
+
+#: ../../port/exec.c:572
+#, c-format
+msgid "child process was terminated by signal %d"
+msgstr "子进程被信号 %d 终止"
+
+#: ../../port/exec.c:575
+#, c-format
+msgid "child process exited with unrecognized status %d"
+msgstr "子进程已退出, 未知状态 %d"
diff --git a/src/bin/pg_controldata/po/zh_CN.po b/src/bin/pg_controldata/po/zh_CN.po
index a9b237d29e4..d96df1c8b56 100644
--- a/src/bin/pg_controldata/po/zh_CN.po
+++ b/src/bin/pg_controldata/po/zh_CN.po
@@ -3,9 +3,9 @@
 # 
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 7.4\n"
+"Project-Id-Version: PostgreSQL 8.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-08-31 08:57+0000\n"
+"POT-Creation-Date: 2004-11-15 14:24+0000\n"
 "PO-Revision-Date: 2004-01-10 13:45+0800\n"
 "Last-Translator: Bao Wei <weibao@qmail.zhengmai.net.cn>\n"
 "Language-Team: Weiping He <laser@zhengmai.com.cn>\n"
@@ -13,7 +13,7 @@ msgstr ""
 "Content-Type: text/plain; charset=GB2312\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: pg_controldata.c:28
+#: pg_controldata.c:26
 #, c-format
 msgid ""
 "%s displays control information of a PostgreSQL database cluster.\n"
@@ -22,88 +22,87 @@ msgstr ""
 "%s 显示 PostgreSQL 数据库簇控制信息.\n"
 "\n"
 
-#: pg_controldata.c:32
+#: pg_controldata.c:30
 #, c-format
 msgid ""
 "Usage:\n"
-"  %s [OPTION]\n"
+"  %s [OPTION] [DATADIR]\n"
 "\n"
 "Options:\n"
-"  DATADIR        show cluster control information for DATADIR\n"
 "  --help         show this help, then exit\n"
 "  --version      output version information, then exit\n"
 msgstr ""
-"用法:\n"
-"  %s [选项]\n"
+"使用方法:\n"
+"  %s [选项] [数据目录]\n"
 "\n"
 "选项:\n"
-"  DATADIR        显示 DATADIR 的簇控制信息\n"
 "  --help         显示此帮助信息, 然后退出\n"
 "  --version      显示 pg_controldata 的版本, 然后退出\n"
 
-#: pg_controldata.c:41
+#: pg_controldata.c:38
 #, c-format
 msgid ""
 "\n"
-"If no data directory is specified, the environment variable PGDATA\n"
+"If no data directory (DATADIR) is specified, the environment variable "
+"PGDATA\n"
 "is used.\n"
 "\n"
 msgstr ""
 "\n"
-"如果没有指定数据目录, 将使用\n"
+"如果没有指定数据目录 (DATADIR), 将使用\n"
 "环境变量PGDATA.\n"
 "\n"
 
-#: pg_controldata.c:42
+#: pg_controldata.c:40
 #, c-format
 msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
 msgstr "报告错误至 <pgsql-bugs@postgresql.org>.\n"
 
-#: pg_controldata.c:52
+#: pg_controldata.c:50
 msgid "starting up"
 msgstr "正在启动"
 
-#: pg_controldata.c:54
+#: pg_controldata.c:52
 msgid "shut down"
 msgstr "关闭"
 
-#: pg_controldata.c:56
+#: pg_controldata.c:54
 msgid "shutting down"
 msgstr "正在关闭"
 
-#: pg_controldata.c:58
+#: pg_controldata.c:56
 msgid "in recovery"
 msgstr "在恢复中"
 
-#: pg_controldata.c:60
+#: pg_controldata.c:58
 msgid "in production"
 msgstr "在运行中"
 
-#: pg_controldata.c:62
+#: pg_controldata.c:60
 msgid "unrecognized status code"
 msgstr "不被认可的状态码"
 
-#: pg_controldata.c:104
+#: pg_controldata.c:102
 #, c-format
 msgid "%s: no data directory specified\n"
 msgstr "%s: 没有指定数据目录\n"
 
-#: pg_controldata.c:105
+#: pg_controldata.c:103
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "用 \"%s --help\" 显示更多的信息.\n"
 
-#: pg_controldata.c:113
+#: pg_controldata.c:111
 #, c-format
 msgid "%s: could not open file \"%s\" for reading: %s\n"
 msgstr "%s: 无法打开文件 \"%s\" 读取信息: %s\n"
 
-#: pg_controldata.c:120
+#: pg_controldata.c:118
 #, c-format
 msgid "%s: could not read file \"%s\": %s\n"
 msgstr "%s: 无法读取文件 \"%s\": %s\n"
 
-#: pg_controldata.c:134
+#: pg_controldata.c:132
 #, c-format
 msgid ""
 "WARNING: Calculated CRC checksum does not match value stored in file.\n"
@@ -116,130 +115,130 @@ msgstr ""
 "下面的结果是不可靠的.\n"
 "\n"
 
-#: pg_controldata.c:154
+#: pg_controldata.c:152
 #, c-format
 msgid "pg_control version number:            %u\n"
 msgstr "pg_control 版本:                      %u\n"
 
-#: pg_controldata.c:155
+#: pg_controldata.c:153
 #, c-format
 msgid "Catalog version number:               %u\n"
 msgstr "Catalog 版本:                         %u\n"
 
-#: pg_controldata.c:156
+#: pg_controldata.c:154
 #, c-format
 msgid "Database system identifier:           %s\n"
 msgstr "数据库系统标识符:                     %s\n"
 
-#: pg_controldata.c:157
+#: pg_controldata.c:155
 #, c-format
 msgid "Database cluster state:               %s\n"
 msgstr "数据库簇状态:                         %s\n"
 
-#: pg_controldata.c:158
+#: pg_controldata.c:156
 #, c-format
 msgid "pg_control last modified:             %s\n"
 msgstr "pg_control 最后修改:                  %s\n"
 
-#: pg_controldata.c:159
+#: pg_controldata.c:157
 #, c-format
 msgid "Current log file ID:                  %u\n"
 msgstr "当前日志文件ID:                       %u\n"
 
-#: pg_controldata.c:160
+#: pg_controldata.c:158
 #, c-format
 msgid "Next log file segment:                %u\n"
 msgstr "下一个日志文件段:                     %u\n"
 
-#: pg_controldata.c:161
+#: pg_controldata.c:159
 #, c-format
 msgid "Latest checkpoint location:           %X/%X\n"
 msgstr "最新检查点位置:                       %X/%X\n"
 
-#: pg_controldata.c:163
+#: pg_controldata.c:161
 #, c-format
 msgid "Prior checkpoint location:            %X/%X\n"
 msgstr "优先检查点位置:                       %X/%X\n"
 
-#: pg_controldata.c:165
+#: pg_controldata.c:163
 #, c-format
 msgid "Latest checkpoint's REDO location:    %X/%X\n"
 msgstr "最新检查点的 REDO 位置:               %X/%X\n"
 
-#: pg_controldata.c:167
+#: pg_controldata.c:165
 #, c-format
 msgid "Latest checkpoint's UNDO location:    %X/%X\n"
 msgstr "最新检查点的 UNDO 位置:               %X/%X\n"
 
-#: pg_controldata.c:169
+#: pg_controldata.c:167
 #, c-format
 msgid "Latest checkpoint's TimeLineID:       %u\n"
 msgstr "最新检查点的 TimeLineID:              %u\n"
 
-#: pg_controldata.c:170
+#: pg_controldata.c:168
 #, c-format
 msgid "Latest checkpoint's NextXID:          %u\n"
 msgstr "最新检查点的 NextXID:                 %u\n"
 
-#: pg_controldata.c:171
+#: pg_controldata.c:169
 #, c-format
 msgid "Latest checkpoint's NextOID:          %u\n"
 msgstr "最新检查点的 NextOID:                 %u\n"
 
-#: pg_controldata.c:172
+#: pg_controldata.c:170
 #, c-format
 msgid "Time of latest checkpoint:            %s\n"
 msgstr "最新检查点的时间:                     %s\n"
 
-#: pg_controldata.c:173
+#: pg_controldata.c:171
 #, c-format
 msgid "Database block size:                  %u\n"
 msgstr "数据库块大小:                         %u\n"
 
-#: pg_controldata.c:174
+#: pg_controldata.c:172
 #, c-format
 msgid "Blocks per segment of large relation: %u\n"
 msgstr "大关系的每段块数:                     %u\n"
 
-#: pg_controldata.c:175
+#: pg_controldata.c:173
 #, c-format
 msgid "Bytes per WAL segment:                %u\n"
 msgstr "每一个 WAL 段字节数:                  %u\n"
 
-#: pg_controldata.c:176
+#: pg_controldata.c:174
 #, c-format
 msgid "Maximum length of identifiers:        %u\n"
 msgstr "标识符的最大长度:                     %u\n"
 
-#: pg_controldata.c:177
+#: pg_controldata.c:175
 #, c-format
 msgid "Maximum number of function arguments: %u\n"
 msgstr "函数参数的最大个数:                   %u\n"
 
-#: pg_controldata.c:178
+#: pg_controldata.c:176
 #, c-format
 msgid "Date/time type storage:               %s\n"
 msgstr "日期/时间 类型存储:                   %s\n"
 
-#: pg_controldata.c:179
+#: pg_controldata.c:177
 msgid "64-bit integers"
 msgstr "64位整数"
 
-#: pg_controldata.c:179
+#: pg_controldata.c:177
 msgid "floating-point numbers"
 msgstr "浮点数"
 
-#: pg_controldata.c:180
+#: pg_controldata.c:178
 #, c-format
 msgid "Maximum length of locale name:        %u\n"
 msgstr "本地名字的最大长度:                   %u\n"
 
-#: pg_controldata.c:181
+#: pg_controldata.c:179
 #, c-format
 msgid "LC_COLLATE:                           %s\n"
 msgstr "LC_COLLATE:                           %s\n"
 
-#: pg_controldata.c:182
+#: pg_controldata.c:180
 #, c-format
 msgid "LC_CTYPE:                             %s\n"
 msgstr "LC_CTYPE:                             %s\n"
diff --git a/src/bin/pg_ctl/po/zh_CN.po b/src/bin/pg_ctl/po/zh_CN.po
index 3a46d1314b3..c6b4e116965 100644
--- a/src/bin/pg_ctl/po/zh_CN.po
+++ b/src/bin/pg_ctl/po/zh_CN.po
@@ -4,9 +4,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 7.5\n"
+"Project-Id-Version: PostgreSQL 8.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-08-31 08:57+0000\n"
+"POT-Creation-Date: 2004-12-02 09:53+0000\n"
 "PO-Revision-Date: 2004-06-10 11:23+0000\n"
 "Last-Translator: Bao Wei<weibao@imsi.cn>\n"
 "Language-Team: Weiping He <laser@imsi.cn>\n"
@@ -14,168 +14,160 @@ msgstr ""
 "Content-Type: text/plain; charset=GB2312\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: pg_ctl.c:193 pg_ctl.c:209 pg_ctl.c:1293
+#: pg_ctl.c:201 pg_ctl.c:216 pg_ctl.c:1342
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s: 内存溢出\n"
 
-#: pg_ctl.c:452
+#: pg_ctl.c:250
+#, c-format
+msgid "%s: could not open PID file \"%s\": %s"
+msgstr "%s: 无法打开 PID 文件 \"%s\": %s"
+
+#: pg_ctl.c:469
 #, c-format
 msgid ""
-"%s: Another postmaster may be running. Trying to start postmaster anyway.\n"
-msgstr "%s: 其他 postmaster 可能正在运行. 尝试启动 postmaster.\n"
+"%s: another postmaster may be running; trying to start postmaster anyway\n"
+msgstr "%s: 其他 postmaster 可能正在运行. 尝试启动 postmaster\n"
 
-#: pg_ctl.c:470
+#: pg_ctl.c:487
 #, c-format
-msgid "%s: cannot read %s\n"
-msgstr "%s: 无法读取 %s\n"
+msgid "%s: could not read file \"%s\"\n"
+msgstr "%s: 无法读取文件 \"%s\"\n"
 
-#: pg_ctl.c:476
+#: pg_ctl.c:493
 #, c-format
-msgid "%s: option file %s must have exactly 1 line\n"
-msgstr "%s: 选项文件 %s 只能有一行\n"
+msgid "%s: option file \"%s\" must have exactly one line\n"
+msgstr "%s: 选项文件 \"%s\" 只能有一行\n"
 
-#: pg_ctl.c:522
+#: pg_ctl.c:544
 #, c-format
 msgid ""
-"The program \"postmaster\" is needed by %s but was not found in the same "
-"directory as \"%s\".\n"
+"The program \"postmaster\" is needed by %s but was not found in the\n"
+"same directory as \"%s\".\n"
 "Check your installation.\n"
 msgstr ""
 "程序 \"postmaster\" 是 %s 需要的, 但没有在同一个目录 \"%s\" 发现.\n"
+"\n"
 "检查您的安装.\n"
 
-#: pg_ctl.c:528
+#: pg_ctl.c:550
 #, c-format
 msgid ""
-"The program \"postmaster\" was found by %s but was not the same version as "
-"\"%s\".\n"
+"The program \"postmaster\" was found by \"%s\"\n"
+"but was not the same version as %s.\n"
 "Check your installation.\n"
 msgstr ""
 "%s 找到程序 \"postmaster\", 但版本和 \"%s\" 不一致.\n"
+"\n"
 "检查您的安装.\n"
 
-#: pg_ctl.c:539
-msgid "Unable to run the postmaster binary\n"
-msgstr "无法运行 postmaster 二进制文件\n"
+#: pg_ctl.c:562
+#, c-format
+msgid "%s: could not start postmaster: exit code was %d\n"
+msgstr "%s: 无法启动 postmaster: 退出码为 %d\n"
 
-#: pg_ctl.c:549
+#: pg_ctl.c:573
 #, c-format
 msgid ""
-"%s: cannot start postmaster\n"
-"Examine the log output\n"
+"%s: could not start postmaster\n"
+"Examine the log output.\n"
 msgstr ""
 "%s: 无法启动 postmaster\n"
-"检查日志输出\n"
+"检查日志输出.\n"
 
-#: pg_ctl.c:560
-#, c-format
+#: pg_ctl.c:582
 msgid "waiting for postmaster to start..."
 msgstr "等待 postmaster 启动 ..."
 
-#: pg_ctl.c:565
+#: pg_ctl.c:585
 #, c-format
 msgid "could not start postmaster\n"
 msgstr "无法启动 postmaster\n"
 
-#: pg_ctl.c:567
-#, c-format
-msgid ""
-"done\n"
-"postmaster started\n"
-msgstr ""
-"完成\n"
-"postmaster 已经启动\n"
+#: pg_ctl.c:588 pg_ctl.c:654 pg_ctl.c:721
+msgid " done\n"
+msgstr " 完成\n"
 
-#: pg_ctl.c:570
-#, c-format
+#: pg_ctl.c:589
+msgid "postmaster started\n"
+msgstr "postmaster 已经启动\n"
+
+#: pg_ctl.c:593
 msgid "postmaster starting\n"
 msgstr "启动 postmaster\n"
 
-#: pg_ctl.c:585 pg_ctl.c:664 pg_ctl.c:734
+#: pg_ctl.c:607 pg_ctl.c:675 pg_ctl.c:735
 #, c-format
-msgid "%s: could not find %s\n"
-msgstr "%s: 无法找到 %s\n"
+msgid "%s: PID file \"%s\" does not exist\n"
+msgstr "%s: PID 文件 \"%s\" 不存在\n"
 
-#: pg_ctl.c:586 pg_ctl.c:735
+#: pg_ctl.c:608 pg_ctl.c:676 pg_ctl.c:736
 msgid "Is postmaster running?\n"
 msgstr "是否 postmaster 正在运行?\n"
 
-#: pg_ctl.c:592
+#: pg_ctl.c:614
 #, c-format
 msgid "%s: cannot stop postmaster; postgres is running (PID: %ld)\n"
 msgstr "%s: 无法停止 postmaster; postgres 正在运行 (PID: %ld)\n"
 
-#: pg_ctl.c:600 pg_ctl.c:681
+#: pg_ctl.c:622 pg_ctl.c:693
 #, c-format
-msgid "stop signal failed (PID: %ld): %s\n"
-msgstr "停止信号失败 (PID: %ld): %s\n"
+msgid "%s: could not send stop signal (PID: %ld): %s\n"
+msgstr "%s: 无法发送停止信号 (PID: %ld): %s\n"
 
-#: pg_ctl.c:608
-#, c-format
+#: pg_ctl.c:629
 msgid "postmaster shutting down\n"
 msgstr "关闭 postmaster\n"
 
-#: pg_ctl.c:615 pg_ctl.c:688
-#, c-format
+#: pg_ctl.c:634 pg_ctl.c:698
 msgid "waiting for postmaster to shut down..."
 msgstr "等待 postmaster 关闭 ..."
 
-#: pg_ctl.c:637 pg_ctl.c:712
-#, c-format
+#: pg_ctl.c:649 pg_ctl.c:715
 msgid " failed\n"
 msgstr " 失败\n"
 
-#: pg_ctl.c:639 pg_ctl.c:714
+#: pg_ctl.c:651 pg_ctl.c:717
 #, c-format
 msgid "%s: postmaster does not shut down\n"
 msgstr "%s: postmaster 没有关闭\n"
 
-#: pg_ctl.c:643 pg_ctl.c:719
-#, c-format
-msgid "done\n"
-msgstr "完成\n"
-
-#: pg_ctl.c:645 pg_ctl.c:721
+#: pg_ctl.c:656 pg_ctl.c:722
 #, c-format
 msgid "postmaster stopped\n"
 msgstr "postmaster 已经关闭\n"
 
-#: pg_ctl.c:665
-msgid ""
-"Is postmaster running?\n"
-"starting postmaster anyway\n"
-msgstr ""
-"是否 postmaster 正在运行?\n"
-"尝试启动 postmaster\n"
+#: pg_ctl.c:677
+msgid "starting postmaster anyway\n"
+msgstr "正在尝试启动 postmaster\n"
 
-#: pg_ctl.c:672
+#: pg_ctl.c:684
 #, c-format
 msgid "%s: cannot restart postmaster; postgres is running (PID: %ld)\n"
 msgstr "%s: 无法重启 postmaster; postgres 正在运行 (PID: %ld)\n"
 
-#: pg_ctl.c:675 pg_ctl.c:744
+#: pg_ctl.c:687 pg_ctl.c:745
 msgid "Please terminate postgres and try again.\n"
 msgstr "请终止 postgres 再重试.\n"
 
-#: pg_ctl.c:741
+#: pg_ctl.c:742
 #, c-format
 msgid "%s: cannot reload postmaster; postgres is running (PID: %ld)\n"
 msgstr "%s: 无法重载 postmaser; postgres 正在运行 (PID: %ld)\n"
 
-#: pg_ctl.c:750
+#: pg_ctl.c:751
 #, c-format
-msgid "reload signal failed (PID: %ld): %s\n"
-msgstr "重载信号失败 (PID: %ld): %s\n"
+msgid "%s: could not send reload signal (PID: %ld): %s\n"
+msgstr "%s: 无法发送重载信号 (PID: %ld): %s\n"
 
 #: pg_ctl.c:756
-#, c-format
 msgid "postmaster signaled\n"
 msgstr "postmaster 发出信号\n"
 
 #: pg_ctl.c:771
 #, c-format
-msgid "%s: postmaster or postgres not running\n"
+msgid "%s: neither postmaster nor postgres running\n"
 msgstr "%s: postmaster 或者 postgres 没有运行\n"
 
 #: pg_ctl.c:777
@@ -190,163 +182,155 @@ msgstr "%s: postmaster 
 
 #: pg_ctl.c:800
 #, c-format
-msgid "signal %d failed (PID: %ld): %s\n"
-msgstr "信号 %d 失败 (PID: %ld): %s\n"
+msgid "%s: could not send signal %d (PID: %ld): %s\n"
+msgstr "%s: 无法发送信号 %d (PID: %ld): %s\n"
 
-#: pg_ctl.c:831
-msgid "Unable to find exe"
-msgstr "无法找到执行文件"
+#: pg_ctl.c:833
+#, c-format
+msgid "%s: could not find own program executable\n"
+msgstr "%s: 无法找到执行文件\n"
 
-#: pg_ctl.c:878 pg_ctl.c:910
-msgid "Unable to open service manager\n"
-msgstr "无法打开服务管理器\n"
+#: pg_ctl.c:842
+#, c-format
+msgid "%s: could not find postmaster program executable\n"
+msgstr "%s: 无法找到 postmaster 程序的执行文件\n"
 
-#: pg_ctl.c:884
+#: pg_ctl.c:896 pg_ctl.c:928
 #, c-format
-msgid "Service \"%s\" already registered\n"
-msgstr "服务 \"%s\" 已经注册了\n"
+msgid "%s: could not open service manager\n"
+msgstr "%s: 无法打开服务管理器\n"
 
-#: pg_ctl.c:895
+#: pg_ctl.c:902
 #, c-format
-msgid "Unable to register service \"%s\" [%d]\n"
-msgstr "无法注册服务 \"%s\" [%d]\n"
+msgid "%s: service \"%s\" already registered\n"
+msgstr "%s: 服务 \"%s\" 已经注册了\n"
 
-#: pg_ctl.c:916
+#: pg_ctl.c:913
 #, c-format
-msgid "Service \"%s\" not registered\n"
-msgstr "服务 \"%s\" 没有注册\n"
+msgid "%s: could not register service \"%s\": error code %d\n"
+msgstr "%s: 无法注册服务 \"%s\": 错误码 %d\n"
 
-#: pg_ctl.c:923
+#: pg_ctl.c:934
 #, c-format
-msgid "Unable to open service \"%s\" [%d]\n"
-msgstr "无法打开服务 \"%s\" [%d]\n"
+msgid "%s: service \"%s\" not registered\n"
+msgstr "%s: 服务 \"%s\" 没有注册\n"
 
-#: pg_ctl.c:930
+#: pg_ctl.c:941
 #, c-format
-msgid "Unable to unregister service \"%s\" [%d]\n"
-msgstr "无法取消注册服务 \"%s\" [%d]\n"
+msgid "%s: could not open service \"%s\": error code %d\n"
+msgstr "%s: 无法打开服务 \"%s\": 错误码 %d\n"
 
-#: pg_ctl.c:1067
+#: pg_ctl.c:948
 #, c-format
-msgid ""
-"\n"
-"Try \"%s --help\" for more information.\n"
-msgstr ""
-"\n"
-"请用 \"%s --help\" 获取更多的信息.\n"
+msgid "%s: could not unregister service \"%s\": error code %d\n"
+msgstr "%s: 无法注销服务 \"%s\": 错误码 %d\n"
 
-#: pg_ctl.c:1075
+#: pg_ctl.c:1085
+#, c-format
+msgid "Try \"%s --help\" for more information.\n"
+msgstr "试用 \"%s --help\" 获取更多的信息.\n"
+
+#: pg_ctl.c:1093
 #, c-format
 msgid ""
 "%s is a utility to start, stop, restart, reload configuration files,\n"
-"report the status of a PostgreSQL server, or kill a PostgreSQL process\n"
+"report the status of a PostgreSQL server, or signal a PostgreSQL process.\n"
 "\n"
 msgstr ""
 "%s 是一个启动, 停止, 重启, 重载配置文件, 报告 PostgreSQL 服务器状态,\n"
 "或者杀掉 PostgreSQL 进程的工具\n"
 "\n"
 
-#: pg_ctl.c:1077
+#: pg_ctl.c:1095
 #, c-format
 msgid "Usage:\n"
 msgstr "使用方法:\n"
 
-#: pg_ctl.c:1078
+#: pg_ctl.c:1096
 #, c-format
 msgid "  %s start   [-w] [-D DATADIR] [-s] [-l FILENAME] [-o \"OPTIONS\"]\n"
 msgstr "  %s start   [-w] [-D 数据目录] [-s] [-l 文件名] [-o \"选项\"]\n"
 
-#: pg_ctl.c:1079
+#: pg_ctl.c:1097
 #, c-format
 msgid "  %s stop    [-W] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]\n"
 msgstr "  %s stop    [-W] [-D 数据目录] [-s] [-m 关闭模式]\n"
 
-#: pg_ctl.c:1080
+#: pg_ctl.c:1098
 #, c-format
 msgid ""
 "  %s restart [-w] [-D DATADIR] [-s] [-m SHUTDOWN-MODE] [-o \"OPTIONS\"]\n"
 msgstr "  %s restart [-w] [-D 数据目录] [-s] [-m 关闭模式] [-o \"选项\"]\n"
 
-#: pg_ctl.c:1081
+#: pg_ctl.c:1099
 #, c-format
 msgid "  %s reload  [-D DATADIR] [-s]\n"
 msgstr "  %s reload  [-D 数据目录] [-s]\n"
 
-#: pg_ctl.c:1082
+#: pg_ctl.c:1100
 #, c-format
 msgid "  %s status  [-D DATADIR]\n"
 msgstr "  %s status  [-D 数据目录]\n"
 
-#: pg_ctl.c:1083
+#: pg_ctl.c:1101
 #, c-format
-msgid "  %s kill    SIGNALNAME PROCESSID\n"
-msgstr "  %s kill    信号名称 进程 ID\n"
+msgid "  %s kill    SIGNALNAME PID\n"
+msgstr "  %s kill    信号名称 进程号\n"
 
-#: pg_ctl.c:1085
+#: pg_ctl.c:1103
 #, c-format
 msgid ""
-"  %s register   [-N servicename] [-U username] [-P password] [-D DATADIR] [-"
-"w] [-o \"OPTIONS\"]\n"
+"  %s register   [-N SERVICENAME] [-U USERNAME] [-P PASSWORD] [-D DATADIR]\n"
+"                    [-w] [-o \"OPTIONS\"]\n"
 msgstr ""
-"  %s register   [-N 服务名称] [-U 用户名] [-P 口令] [-D DATADIR] [-"
-"w] [-o \"选项\"]\n"
+"  %s register   [-N 服务名称] [-U 用户名] [-P 口令] [-D 数据目录]\n"
+"                    [-w] [-o \"选项\"]\n"
 
-#: pg_ctl.c:1086
+#: pg_ctl.c:1105
 #, c-format
-msgid "  %s unregister [-N servicename]\n"
+msgid "  %s unregister [-N SERVICENAME]\n"
 msgstr "  %s unregister [-N 服务名称]\n"
 
-#: pg_ctl.c:1088
+#: pg_ctl.c:1108
 #, c-format
-msgid "Common options:\n"
-msgstr "普通选项:\n"
+msgid ""
+"\n"
+"Common options:\n"
+msgstr ""
+"\n"
+"普通选项:\n"
 
-#: pg_ctl.c:1089
+#: pg_ctl.c:1109
 #, c-format
 msgid "  -D, --pgdata DATADIR   location of the database storage area\n"
 msgstr "  -D, --pgdata 数据目录  数据存储的位置\n"
 
-#: pg_ctl.c:1090
-#, c-format
-msgid "  -s, --silent only print errors, no informational messages\n"
-msgstr "  -s, --silent 只打印错误信息, 没有其他信息\n"
-
-#: pg_ctl.c:1092
-#, c-format
-msgid "  -N       service name with which to register PostgreSQL server\n"
-msgstr "  -N       注册到 PostgreSQL 服务器的服务名称\n"
-
-#: pg_ctl.c:1093
-#, c-format
-msgid "  -P       password of account to register PostgreSQL server\n"
-msgstr "  -P       注册到 PostgreSQL 服务器帐户的口令\n"
-
-#: pg_ctl.c:1094
+#: pg_ctl.c:1110
 #, c-format
-msgid "  -U       user name of account to register PostgreSQL server\n"
-msgstr "  -U       注册到 PostgreSQL 服务器帐户的用户名\n"
+msgid "  -s, --silent           only print errors, no informational messages\n"
+msgstr "  -s, --silent           只打印错误信息, 没有其他信息\n"
 
-#: pg_ctl.c:1096
+#: pg_ctl.c:1111
 #, c-format
-msgid "  -w           wait until operation completes\n"
-msgstr "  -w           等待直到操作完成\n"
+msgid "  -w                     wait until operation completes\n"
+msgstr "  -w                     等待直到操作完成\n"
 
-#: pg_ctl.c:1097
+#: pg_ctl.c:1112
 #, c-format
-msgid "  -W           do not wait until operation completes\n"
-msgstr "  -W           不用等待操作完成\n"
+msgid "  -W                     do not wait until operation completes\n"
+msgstr "  -W                     不用等待操作完成\n"
 
-#: pg_ctl.c:1098
+#: pg_ctl.c:1113
 #, c-format
-msgid "  --help       show this help, then exit\n"
-msgstr "  --help       显示此帮助信息, 然后退出\n"
+msgid "  --help                 show this help, then exit\n"
+msgstr "  --help                 显示此帮助信息, 然后退出\n"
 
-#: pg_ctl.c:1099
+#: pg_ctl.c:1114
 #, c-format
-msgid "  --version    output version information, then exit\n"
-msgstr "  --version    输出版本信息, 然后退出\n"
+msgid "  --version              output version information, then exit\n"
+msgstr "  --version              显示版本信息, 然后退出\n"
 
-#: pg_ctl.c:1100
+#: pg_ctl.c:1115
 #, c-format
 msgid ""
 "(The default is to wait for shutdown, but not for start or restart.)\n"
@@ -355,142 +339,200 @@ msgstr ""
 "(默认为关闭等待, 但不是启动或重启.)\n"
 "\n"
 
-#: pg_ctl.c:1101
+#: pg_ctl.c:1116
+#, c-format
+msgid "If the -D option is omitted, the environment variable PGDATA is used.\n"
+msgstr "如果省略了 -D 选项, 将使用 PGDATA 环境变量.\n"
+
+#: pg_ctl.c:1118
 #, c-format
 msgid ""
-"If the -D option is omitted, the environment variable PGDATA is used.\n"
 "\n"
+"Options for start or restart:\n"
 msgstr ""
-"如果省略了 -D 选项, 将使用 PGDATA 环境变量.\n"
 "\n"
+"启动或重启的选项:\n"
 
-#: pg_ctl.c:1102
+#: pg_ctl.c:1119
 #, c-format
-msgid "Options for start or restart:\n"
-msgstr "启动或重启的选项:\n"
+msgid "  -l, --log FILENAME     write (or append) server log to FILENAME\n"
+msgstr "  -l, --log FILENAME     写入 (或追加) 服务器日志到文件 FILENAME\n"
 
-#: pg_ctl.c:1103
+#: pg_ctl.c:1120
 #, c-format
 msgid ""
-"  -l, --log FILENAME      write (or append) server log to FILENAME.  The\n"
-"                          use of this option is highly recommended.\n"
+"  -o OPTIONS             command line options to pass to the postmaster\n"
+"                         (PostgreSQL server executable)\n"
 msgstr ""
-"  -l, --log FILENAME      写入 (或追加) 服务器日志到文件 FILENAME.\n"
-"                          强烈建议使用此选项.\n"
+"  -o OPTIONS             传递给 postmaster 的命令行选项\n"
+"                         (PostgreSQL 服务器执行文件)\n"
 
-#: pg_ctl.c:1105
+#: pg_ctl.c:1122
 #, c-format
-msgid ""
-"  -o OPTIONS              command line options to pass to the postmaster\n"
-"                          (PostgreSQL server executable)\n"
-msgstr ""
-"  -o OPTIONS              传递给 postmaster 的命令行选项\n"
-"                          (PostgreSQL 服务器执行)\n"
+msgid "  -p PATH-TO-POSTMASTER  normally not necessary\n"
+msgstr "  -p PATH-TO-POSTMASTER  正常情况不需要\n"
 
-#: pg_ctl.c:1107
+#: pg_ctl.c:1124
 #, c-format
 msgid ""
-"  -p PATH-TO-POSTMASTER   normally not necessary\n"
 "\n"
+"Options for stop or restart:\n"
 msgstr ""
-"  -p PATH-TO-POSTMASTER   正常情况不需要\n"
 "\n"
+"停止或重启的选项:\n"
 
-#: pg_ctl.c:1108
+#: pg_ctl.c:1125
 #, c-format
-msgid "Options for stop or restart:\n"
-msgstr "停止或重启的选项:\n"
+msgid "  -m SHUTDOWN-MODE   may be \"smart\", \"fast\", or \"immediate\"\n"
+msgstr "  -m SHUTDOWN-MODE   可以是 \"smart\", \"fast\", 或者 \"immediate\"\n"
 
-#: pg_ctl.c:1109
+#: pg_ctl.c:1127
 #, c-format
 msgid ""
-"  -m SHUTDOWN-MODE   may be 'smart', 'fast', or 'immediate'\n"
 "\n"
+"Shutdown modes are:\n"
 msgstr ""
-"  -m SHUTDOWN-MODE   可以是 'smart', 'fast', 或者 'immediate'\n"
 "\n"
+"关闭模式有如下几种:\n"
 
-#: pg_ctl.c:1110
+#: pg_ctl.c:1128
+#, c-format
+msgid "  smart       quit after all clients have disconnected\n"
+msgstr "  smart       所有客户端断开连接后退出\n"
+
+#: pg_ctl.c:1129
 #, c-format
-msgid "Allowed signal names for kill:\n"
-msgstr "允许关闭的信号名称:\n"
+msgid "  fast        quit directly, with proper shutdown\n"
+msgstr "  fast        直接退出, 正确的关闭\n"
 
-#: pg_ctl.c:1111
+#: pg_ctl.c:1130
+#, c-format
+msgid ""
+"  immediate   quit without complete shutdown; will lead to recovery on "
+"restart\n"
+msgstr "  immediate   不完全的关闭退出; 重启后恢复\n"
+
+#: pg_ctl.c:1132
 #, c-format
 msgid ""
-"  HUP INT QUIT ABRT TERM USR1 USR2\n"
 "\n"
+"Allowed signal names for kill:\n"
 msgstr ""
-"  HUP INT QUIT ABRT TERM USR1 USR2\n"
 "\n"
+"允许关闭的信号名称:\n"
 
-#: pg_ctl.c:1112
+#: pg_ctl.c:1136
 #, c-format
-msgid "Shutdown modes are:\n"
-msgstr "关闭模式有如下几种:\n"
+msgid ""
+"\n"
+"Options for register and unregister:\n"
+msgstr ""
+"\n"
+"注册或注销的选项:\n"
 
-#: pg_ctl.c:1113
+#: pg_ctl.c:1137
 #, c-format
-msgid "  smart       quit after all clients have disconnected\n"
-msgstr "  smart       所有客户端断开连接后退出\n"
+msgid ""
+"  -N SERVICENAME  service name with which to register PostgreSQL server\n"
+msgstr "  -N 服务名称     注册到 PostgreSQL 服务器的服务名称\n"
 
-#: pg_ctl.c:1114
+#: pg_ctl.c:1138
 #, c-format
-msgid "  fast        quit directly, with proper shutdown\n"
-msgstr "  fast        直接退出, 正确的关闭\n"
+msgid "  -P PASSWORD     password of account to register PostgreSQL server\n"
+msgstr "  -P 口令         注册到 PostgreSQL 服务器帐户的口令\n"
 
-#: pg_ctl.c:1115
+#: pg_ctl.c:1139
+#, c-format
+msgid "  -U USERNAME     user name of account to register PostgreSQL server\n"
+msgstr "  -U 用户名       注册到 PostgreSQL 服务器帐户的用户名\n"
+
+#: pg_ctl.c:1142
 #, c-format
 msgid ""
-"  immediate   quit without complete shutdown; will lead to recovery on "
-"restart\n"
 "\n"
+"Report bugs to <pgsql-bugs@postgresql.org>.\n"
 msgstr ""
-"  immediate   不完全的关闭退出; 重启后恢复\n"
 "\n"
+"臭虫报告至 <pgsql-bugs@postgresql.org>.\n"
 
-#: pg_ctl.c:1116
+#: pg_ctl.c:1167
 #, c-format
-msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
-msgstr "错误报告至 <pgsql-bugs@postgresql.org>.\n"
+msgid "%s: unrecognized shutdown mode \"%s\"\n"
+msgstr "%s: 无效的关闭模式 \"%s\"\n"
 
-#: pg_ctl.c:1141
+#: pg_ctl.c:1200
 #, c-format
-msgid "%s: invalid shutdown mode %s\n"
-msgstr "%s: 无效的关闭模式 %s\n"
+msgid "%s: unrecognized signal name \"%s\"\n"
+msgstr "%s: 无效信号名称 \"%s\"\n"
 
-#: pg_ctl.c:1174
+#: pg_ctl.c:1265
 #, c-format
-msgid "%s: invalid signal \"%s\"\n"
-msgstr "%s: 无效信号 \"%s\"\n"
+msgid ""
+"%s: cannot be run as root\n"
+"Please log in (using, e.g., \"su\") as the (unprivileged) user that will\n"
+"own the server process.\n"
+msgstr ""
+"%s: 无法以 root 用户运行\n"
+"请以服务器进程所属用户 (非特权用户) 登录 (或使用 \"su\")\n"
+"\n"
 
-#: pg_ctl.c:1309
+#: pg_ctl.c:1358
 #, c-format
 msgid "%s: invalid option %s\n"
 msgstr "%s: 无效选项 %s\n"
 
-#: pg_ctl.c:1320
+#: pg_ctl.c:1369
 #, c-format
-msgid "%s: extra operation mode %s\n"
-msgstr "%s: 额外的操作模式 %s\n"
+msgid "%s: too many command-line arguments (first is \"%s\")\n"
+msgstr "%s: 命令行参数太多 (第一个是 \"%s\")\n"
 
-#: pg_ctl.c:1339
+#: pg_ctl.c:1388
 #, c-format
-msgid "%s: invalid kill syntax\n"
-msgstr "%s: 无效的 kill 语法\n"
+msgid "%s: missing arguments for kill mode\n"
+msgstr "%s: 缺少 kill 模式参数\n"
 
-#: pg_ctl.c:1357
+#: pg_ctl.c:1406
 #, c-format
-msgid "%s: invalid operation mode %s\n"
-msgstr "%s: 无效的操作模式 %s\n"
+msgid "%s: unrecognized operation mode \"%s\"\n"
+msgstr "%s: 无效的操作模式 \"%s\"\n"
 
-#: pg_ctl.c:1367
+#: pg_ctl.c:1416
 #, c-format
 msgid "%s: no operation specified\n"
 msgstr "%s: 没有指定操作\n"
 
-#: pg_ctl.c:1383
+#: pg_ctl.c:1432
 #, c-format
 msgid ""
 "%s: no database directory specified and environment variable PGDATA unset\n"
 msgstr "%s: 没有指定数据目录, 并且没有设置 PGDATA 环境变量\n"
+
+#: ../../port/exec.c:193 ../../port/exec.c:307 ../../port/exec.c:350
+#, c-format
+msgid "could not identify current directory: %s"
+msgstr "无法确认当前目录: %s"
+
+#: ../../port/exec.c:323 ../../port/exec.c:359
+#, c-format
+msgid "could not change directory to \"%s\""
+msgstr "无法进入目录 \"%s\""
+
+#: ../../port/exec.c:338
+#, c-format
+msgid "could not read symbolic link \"%s\""
+msgstr "无法读取符号链结 \"%s\""
+
+#: ../../port/exec.c:569
+#, c-format
+msgid "child process exited with exit code %d"
+msgstr "子进程已退出, 退出码为 %d"
+
+#: ../../port/exec.c:572
+#, c-format
+msgid "child process was terminated by signal %d"
+msgstr "子进程被信号 %d 终止"
+
+#: ../../port/exec.c:575
+#, c-format
+msgid "child process exited with unrecognized status %d"
+msgstr "子进程已退出, 未知状态 %d"
diff --git a/src/bin/pg_dump/po/zh_CN.po b/src/bin/pg_dump/po/zh_CN.po
index 27491a8091b..98cdeb1f0de 100644
--- a/src/bin/pg_dump/po/zh_CN.po
+++ b/src/bin/pg_dump/po/zh_CN.po
@@ -1,12 +1,12 @@
 # simplified Chinese translation file for pg_dump and friends
 # Weiping He <laser@zhengmai.com.cn>, 2001.
-# $PostgreSQL: pgsql/src/bin/pg_dump/po/zh_CN.po,v 1.6 2004/09/13 12:35:12 petere Exp $
+# $PostgreSQL: pgsql/src/bin/pg_dump/po/zh_CN.po,v 1.7 2004/12/11 19:09:05 petere Exp $
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 7.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-08-31 08:57+0000\n"
+"POT-Creation-Date: 2004-12-02 09:55+0000\n"
 "PO-Revision-Date: 2004-01-10 13:46:59+0800\n"
 "Last-Translator: Bao Wei <weibao@qmail.zhengmai.net.cn>\n"
 "Language-Team: Weiping He <laser@zhengmai.com.cn>\n"
@@ -18,18 +18,18 @@ msgstr ""
 msgid "User name: "
 msgstr "用户名: "
 
-#: pg_dump.c:399 pg_restore.c:256 pg_dumpall.c:239
+#: pg_dump.c:399 pg_restore.c:256 pg_dumpall.c:264
 #, c-format
 msgid "%s: invalid -X option -- %s\n"
 msgstr "%s: 无效的 -X 选项 -- %s\n"
 
 #: pg_dump.c:401 pg_dump.c:415 pg_dump.c:424 pg_restore.c:258 pg_restore.c:268
-#: pg_restore.c:285 pg_dumpall.c:241 pg_dumpall.c:250 pg_dumpall.c:267
+#: pg_restore.c:285 pg_dumpall.c:266 pg_dumpall.c:275 pg_dumpall.c:292
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "输入 \"%s --help\" 获取更多的信息.\n"
 
-#: pg_dump.c:422 pg_dumpall.c:265
+#: pg_dump.c:422 pg_dumpall.c:290
 #, c-format
 msgid "%s: too many command-line arguments (first is \"%s\")\n"
 msgstr "%s: 命令行参数太多 (第一个是 \"%s\")\n"
@@ -100,7 +100,7 @@ msgstr ""
 "%s 把一个数据库转储为纯文本文件或者是其它格式.\n"
 "\n"
 
-#: pg_dump.c:663 pg_restore.c:359 pg_dumpall.c:312
+#: pg_dump.c:663 pg_restore.c:359 pg_dumpall.c:337
 #, c-format
 msgid "Usage:\n"
 msgstr "用法:\n"
@@ -110,7 +110,7 @@ msgstr "
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [选项]... [数据库名字]\n"
 
-#: pg_dump.c:666 pg_restore.c:362 pg_dumpall.c:315
+#: pg_dump.c:666 pg_restore.c:362 pg_dumpall.c:340
 #, c-format
 msgid ""
 "\n"
@@ -149,17 +149,17 @@ msgstr "  -v, --verbose            
 msgid "  -Z, --compress=0-9       compression level for compressed formats\n"
 msgstr "  -Z, --compress=0-9       被压缩格式的压缩级别\n"
 
-#: pg_dump.c:673 pg_restore.c:369 pg_dumpall.c:318
+#: pg_dump.c:673 pg_restore.c:369 pg_dumpall.c:343
 #, c-format
 msgid "  --help                   show this help, then exit\n"
 msgstr "  --help                   显示此帮助信息, 然后退出\n"
 
-#: pg_dump.c:674 pg_restore.c:370 pg_dumpall.c:319
+#: pg_dump.c:674 pg_restore.c:370 pg_dumpall.c:344
 #, c-format
 msgid "  --version                output version information, then exit\n"
 msgstr "  --version                输出版本信息, 然后退出\n"
 
-#: pg_dump.c:676 pg_restore.c:372 pg_dumpall.c:320
+#: pg_dump.c:676 pg_dumpall.c:345
 #, c-format
 msgid ""
 "\n"
@@ -168,7 +168,7 @@ msgstr ""
 "\n"
 "控制输出内容选项:\n"
 
-#: pg_dump.c:677 pg_dumpall.c:321
+#: pg_dump.c:677 pg_dumpall.c:346
 #, c-format
 msgid "  -a, --data-only          dump only the data, not the schema\n"
 msgstr "  -a, --data-only          只转储数据,不包括模式\n"
@@ -189,14 +189,14 @@ msgid ""
 "  -C, --create             include commands to create database in dump\n"
 msgstr "  -C, --create             在转储中包括命令,以便创建数据库\n"
 
-#: pg_dump.c:681 pg_dumpall.c:323
+#: pg_dump.c:681 pg_dumpall.c:348
 #, c-format
 msgid ""
 "  -d, --inserts            dump data as INSERT, rather than COPY, commands\n"
 msgstr ""
 "  -d, --inserts            象 INSERT 一样的转储数据, 相当于 COPY, 命令\n"
 
-#: pg_dump.c:682 pg_dumpall.c:324
+#: pg_dump.c:682 pg_dumpall.c:349
 #, c-format
 msgid ""
 "  -D, --column-inserts     dump data as INSERT commands with column names\n"
@@ -207,7 +207,7 @@ msgstr "  -D, --column-inserts     
 msgid "  -n, --schema=SCHEMA      dump the named schema only\n"
 msgstr "  -n, --schema=SCHEMA      只转储指定名称的模式\n"
 
-#: pg_dump.c:684 pg_dumpall.c:326
+#: pg_dump.c:684 pg_dumpall.c:351
 #, c-format
 msgid "  -o, --oids               include OIDs in dump\n"
 msgstr "  -o, --oids               在转储中包括 OID\n"
@@ -221,7 +221,7 @@ msgstr ""
 "  -O, --no-owner           在明文格式中, 设置对象所属者时不输出\n"
 "                           明令\n"
 
-#: pg_dump.c:687 pg_dumpall.c:328
+#: pg_dump.c:687 pg_dumpall.c:353
 #, c-format
 msgid "  -s, --schema-only        dump only the schema, no data\n"
 msgstr "  -s, --schema-only        只转储模式, 不包括数据\n"
@@ -240,12 +240,12 @@ msgstr ""
 msgid "  -t, --table=TABLE        dump the named table only\n"
 msgstr "  -t, --table=TABLE        只转储指定名称的表\n"
 
-#: pg_dump.c:691 pg_dumpall.c:330
+#: pg_dump.c:691 pg_dumpall.c:355
 #, c-format
 msgid "  -x, --no-privileges      do not dump privileges (grant/revoke)\n"
 msgstr "  -x, --no-privileges      不要转储权限 (grant/revoke)\n"
 
-#: pg_dump.c:692 pg_dumpall.c:331
+#: pg_dump.c:692 pg_dumpall.c:356
 #, c-format
 msgid ""
 "  -X disable-dollar-quoting, --disable-dollar-quoting\n"
@@ -254,7 +254,7 @@ msgstr ""
 "  -X disable-dollar-quoting, --disable-dollar-quoting\n"
 "                           取消美元 (符号) 引号, 使用 SQL 标准引号\n"
 
-#: pg_dump.c:694 pg_restore.c:388 pg_dumpall.c:333
+#: pg_dump.c:694 pg_restore.c:388 pg_dumpall.c:358
 #, c-format
 msgid ""
 "  -X disable-triggers, --disable-triggers\n"
@@ -263,7 +263,7 @@ msgstr ""
 "  -X disable-triggers, --disable-triggers\n"
 "                           在只恢复数据的过程中取消触发器\n"
 
-#: pg_dump.c:696 pg_restore.c:390 pg_dumpall.c:335
+#: pg_dump.c:696 pg_restore.c:390 pg_dumpall.c:360
 #, c-format
 msgid ""
 "  -X use-set-session-authorization, --use-set-session-authorization\n"
@@ -274,7 +274,7 @@ msgstr ""
 "                           使用 SESSION AUTHORIZATION 命令代替\n"
 "                           OWNER TO 命令\n"
 
-#: pg_dump.c:700 pg_restore.c:394 pg_dumpall.c:339
+#: pg_dump.c:700 pg_restore.c:394 pg_dumpall.c:364
 #, c-format
 msgid ""
 "\n"
@@ -283,22 +283,22 @@ msgstr ""
 "\n"
 "联接选项:\n"
 
-#: pg_dump.c:701 pg_restore.c:395 pg_dumpall.c:340
+#: pg_dump.c:701 pg_restore.c:395 pg_dumpall.c:365
 #, c-format
 msgid "  -h, --host=HOSTNAME      database server host or socket directory\n"
 msgstr "  -h, --host=主机名        数据库服务器的主机名或套接字目录\n"
 
-#: pg_dump.c:702 pg_restore.c:396 pg_dumpall.c:341
+#: pg_dump.c:702 pg_restore.c:396 pg_dumpall.c:366
 #, c-format
 msgid "  -p, --port=PORT          database server port number\n"
 msgstr "  -p, --port=端口号        数据库服务器的端口号\n"
 
-#: pg_dump.c:703 pg_restore.c:397 pg_dumpall.c:342
+#: pg_dump.c:703 pg_restore.c:397 pg_dumpall.c:367
 #, c-format
 msgid "  -U, --username=NAME      connect as specified database user\n"
 msgstr "  -U, --username=名字      以指定的数据库用户联接\n"
 
-#: pg_dump.c:704 pg_restore.c:398 pg_dumpall.c:343
+#: pg_dump.c:704 pg_restore.c:398 pg_dumpall.c:368
 #, c-format
 msgid ""
 "  -W, --password           force password prompt (should happen "
@@ -318,12 +318,12 @@ msgstr ""
 "的数值.\n"
 "\n"
 
-#: pg_dump.c:708 pg_restore.c:402 pg_dumpall.c:346
+#: pg_dump.c:708 pg_restore.c:402 pg_dumpall.c:371
 #, c-format
 msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
 msgstr "报告错误至 <pgsql-bugs@postgresql.org>.\n"
 
-#: pg_dump.c:716 pg_backup_archiver.c:1208
+#: pg_dump.c:716 pg_backup_archiver.c:1219
 msgid "*** aborted because of error\n"
 msgstr "*** 因为错误退出\n"
 
@@ -339,120 +339,120 @@ msgid ""
 "failed.\n"
 msgstr "转储表 \"%s\" 的内容的 SQL 命令失败: PQendcopy() 失败.\n"
 
-#: pg_dump.c:911 pg_dump.c:8058
+#: pg_dump.c:911 pg_dump.c:8050
 #, c-format
 msgid "Error message from server: %s"
 msgstr "来自服务器的错误信息: %s"
 
-#: pg_dump.c:912 pg_dump.c:8059
+#: pg_dump.c:912 pg_dump.c:8051
 #, c-format
 msgid "The command was: %s\n"
 msgstr "命令是: %s\n"
 
-#: pg_dump.c:1182
+#: pg_dump.c:1183
 msgid "saving database definition\n"
 msgstr "保存数据库定义\n"
 
-#: pg_dump.c:1228
+#: pg_dump.c:1229
 #, c-format
 msgid "missing pg_database entry for database \"%s\"\n"
 msgstr "缺少用于 \"%s\" 的 pg_database 记录\n"
 
-#: pg_dump.c:1235
+#: pg_dump.c:1236
 #, c-format
 msgid ""
 "query returned more than one (%d) pg_database entry for database \"%s\"\n"
 msgstr "查询为数据库 \"%2$s\" 返回了超过一条 (%1$d) pg_database 记录\n"
 
-#: pg_dump.c:1341
+#: pg_dump.c:1344
 msgid "saving encoding\n"
 msgstr "保存编码\n"
 
-#: pg_dump.c:1391
+#: pg_dump.c:1394
 msgid "saving large objects\n"
 msgstr "保存大对象\n"
 
-#: pg_dump.c:1424
+#: pg_dump.c:1427
 #, c-format
 msgid "dumpBlobs(): could not open large object: %s"
 msgstr "dumpBlobs(): 无法打开大对象: %s"
 
-#: pg_dump.c:1437
+#: pg_dump.c:1440
 #, c-format
 msgid "dumpBlobs(): error reading large object: %s"
 msgstr "dumpBlobs(): 读取大对象错误: %s"
 
-#: pg_dump.c:1571
+#: pg_dump.c:1557
 #, c-format
 msgid "WARNING: owner of schema \"%s\" appears to be invalid\n"
 msgstr "警告: 模式 \"%s\" 的所有者非法\n"
 
-#: pg_dump.c:1588
+#: pg_dump.c:1574
 #, c-format
 msgid "specified schema \"%s\" does not exist\n"
 msgstr "指定的模式 \"%s\" 不存在\n"
 
-#: pg_dump.c:1625
+#: pg_dump.c:1611
 #, c-format
 msgid "schema with OID %u does not exist\n"
 msgstr "OID %u 的模式不存在\n"
 
-#: pg_dump.c:1810
+#: pg_dump.c:1796
 #, c-format
 msgid "WARNING: owner of data type \"%s\" appears to be invalid\n"
 msgstr "警告: 数据类型 \"%s\" 的所有者非法\n"
 
-#: pg_dump.c:1908
+#: pg_dump.c:1894
 #, c-format
 msgid "WARNING: owner of operator \"%s\" appears to be invalid\n"
 msgstr "警告: 操作符 \"%s\" 的所有者非法\n"
 
-#: pg_dump.c:2074
+#: pg_dump.c:2060
 #, c-format
 msgid "WARNING: owner of operator class \"%s\" appears to be invalid\n"
 msgstr "警告: 操作符表 \"%s\" 无效\n"
 
-#: pg_dump.c:2178
+#: pg_dump.c:2164
 #, c-format
 msgid "WARNING: owner of aggregate function \"%s\" appears to be invalid\n"
 msgstr "警告: 聚集函数 \"%s\" 的所有者非法\n"
 
-#: pg_dump.c:2312
+#: pg_dump.c:2298
 #, c-format
 msgid "WARNING: owner of function \"%s\" appears to be invalid\n"
 msgstr "警告: 函数 \"%s\" 的所有者非法\n"
 
-#: pg_dump.c:2590
+#: pg_dump.c:2576
 #, c-format
 msgid "WARNING: owner of table \"%s\" appears to be invalid\n"
 msgstr "警告: 数据表 \"%s\" 的所有者非法\n"
 
-#: pg_dump.c:2609
+#: pg_dump.c:2595
 #, c-format
 msgid "specified table \"%s\" does not exist\n"
 msgstr "指定的表 \"%s\" 不存在\n"
 
-#: pg_dump.c:2716
+#: pg_dump.c:2702
 #, c-format
 msgid "reading indexes for table \"%s\"\n"
 msgstr "为表 \"%s\" 读取索引\n"
 
-#: pg_dump.c:2953
+#: pg_dump.c:2939
 #, c-format
 msgid "reading foreign key constraints for table \"%s\"\n"
 msgstr "为表 \"%s\" 读取外键约束\n"
 
-#: pg_dump.c:3229
+#: pg_dump.c:3215
 #, c-format
 msgid "reading triggers for table \"%s\"\n"
 msgstr "为表 \"%s\" 读取触发器\n"
 
-#: pg_dump.c:3301
+#: pg_dump.c:3287
 #, c-format
 msgid "expected %d triggers on table \"%s\" but found %d\n"
 msgstr "预期在表 \"%2$s\" 上有触发器 %1$d , 却发现 %3$d\n"
 
-#: pg_dump.c:3346
+#: pg_dump.c:3332
 #, c-format
 msgid ""
 "query produced null referenced table name for foreign key trigger \"%s\" on "
@@ -461,164 +461,165 @@ msgstr ""
 "对在表 \"%2$s\" 上的外键触发器 \"%1$s\" 上的查询生成了 NULL 个引用表(表的 "
 "OID 是: %3$u)\n"
 
-#: pg_dump.c:3647
+#: pg_dump.c:3633
 #, c-format
 msgid "finding the columns and types of table \"%s\"\n"
 msgstr "正在查找表 \"%s\" 的字段和类型\n"
 
-#: pg_dump.c:3733
+#: pg_dump.c:3719
 #, c-format
 msgid "invalid column numbering in table \"%s\"\n"
 msgstr "在表 \"%s\" 中的字段个数是无效的\n"
 
-#: pg_dump.c:3767
+#: pg_dump.c:3753
 #, c-format
 msgid "finding default expressions of table \"%s\"\n"
 msgstr "正在查找表 \"%s\" 的默认表达式\n"
 
-#: pg_dump.c:3850
+#: pg_dump.c:3836
 #, c-format
 msgid "invalid adnum value %d for table \"%s\"\n"
 msgstr "表 \"%2$s\" 的无效 adnum 值 %1$d\n"
 
-#: pg_dump.c:3868
+#: pg_dump.c:3854
 #, c-format
 msgid "finding check constraints for table \"%s\"\n"
 msgstr "正在为表 \"%s\" 查找检查约束\n"
 
-#: pg_dump.c:3932
+#: pg_dump.c:3918
 #, c-format
 msgid "expected %d check constraints on table \"%s\" but found %d\n"
 msgstr "预计有 %d 个检查约束在表 \"%s\" 上, 但只找到 %d 个\n"
 
-#: pg_dump.c:3934
+#: pg_dump.c:3920
 msgid "(The system catalogs might be corrupted.)\n"
 msgstr "(系统表可能损坏了.)\n"
 
-#: pg_dump.c:4621 pg_dump.c:4786 pg_dump.c:5185 pg_dump.c:5570 pg_dump.c:5867
-#: pg_dump.c:6067 pg_dump.c:6250
+#: pg_dump.c:4605 pg_dump.c:4771 pg_dump.c:5172 pg_dump.c:5558 pg_dump.c:5857
+#: pg_dump.c:6059 pg_dump.c:6244
 #, c-format
 msgid "Got %d rows instead of one from: %s"
 msgstr "已得到 %d 条记录替代来自 %s 的一条"
 
-#: pg_dump.c:4894
+#: pg_dump.c:4880
 #, c-format
 msgid "query yielded no rows: %s\n"
 msgstr "查询放弃, 没有记录: %s\n"
 
-#: pg_dump.c:5241
+#: pg_dump.c:5228
 msgid "WARNING: could not parse proargnames array\n"
 msgstr "警告: 无法分析 proargnames 数组\n"
 
-#: pg_dump.c:5278
+#: pg_dump.c:5265
 #, c-format
 msgid "unrecognized provolatile value for function \"%s\"\n"
 msgstr "函数 \"%s\" 的意外正向易失值\n"
 
-#: pg_dump.c:5792
+#: pg_dump.c:5782
 #, c-format
 msgid "WARNING: could not find operator with OID %s\n"
 msgstr "警告: 未找到 OID 为 %s 的操作符\n"
 
-#: pg_dump.c:6278
+#: pg_dump.c:6272
 #, c-format
 msgid ""
 "WARNING: aggregate function %s could not be dumped correctly for this "
 "database version; ignored\n"
 msgstr "警告: 无法为此版本的数据库正确转储聚集函数 \"%s\"; 忽略\n"
 
-#: pg_dump.c:6410
+#: pg_dump.c:6406
 #, c-format
 msgid "could not parse ACL list (%s) for object \"%s\" (%s)\n"
 msgstr "无法为对象 \"%2$s\" 分析 ACL 列表 (%1$s) (%3$s)\n"
 
-#: pg_dump.c:6503
+#: pg_dump.c:6500
 #, c-format
 msgid "query to obtain definition of view \"%s\" returned no data\n"
 msgstr "获取视图 \"%s\" 定义的查询没有返回数据\n"
 
-#: pg_dump.c:6506
+#: pg_dump.c:6503
 #, c-format
 msgid ""
 "query to obtain definition of view \"%s\" returned more than one definition\n"
 msgstr "获取视图 \"%s\" 定义的查询返回超过一个定义\n"
 
-#: pg_dump.c:6515
+#: pg_dump.c:6512
 #, c-format
 msgid "definition of view \"%s\" appears to be empty (length zero)\n"
 msgstr "视图 \"%s\" 的定义是空的(零长)\n"
 
-#: pg_dump.c:6822
+#: pg_dump.c:6814
 #, c-format
 msgid "invalid column number %d for table \"%s\"\n"
 msgstr "对于表 \"%2$s\" 字段个数 %1$d 是无效的\n"
 
-#: pg_dump.c:6923
+#: pg_dump.c:6916
 #, c-format
-msgid "missing index for constraint %s\n"
-msgstr "对于约束 %s 缺少索引\n"
+msgid "missing index for constraint \"%s\"\n"
+msgstr "对于约束 \"%s\" 缺少索引\n"
 
-#: pg_dump.c:7090
-msgid "unexpected constraint type\n"
-msgstr "意外的约束类型\n"
+#: pg_dump.c:7076
+#, c-format
+msgid "unrecognized constraint type: %c\n"
+msgstr "未知的约束类型: %c\n"
 
-#: pg_dump.c:7132
+#: pg_dump.c:7118
 msgid "inserted invalid OID\n"
 msgstr "插入了非法 OID\n"
 
-#: pg_dump.c:7138
+#: pg_dump.c:7124
 #, c-format
 msgid "maximum system OID is %u\n"
 msgstr "最大系统 OID 是 %u\n"
 
-#: pg_dump.c:7179
+#: pg_dump.c:7165
 msgid "missing pg_database entry for this database\n"
 msgstr "缺少此数据库的 pg_database 记录\n"
 
-#: pg_dump.c:7184
+#: pg_dump.c:7170
 msgid "found more than one pg_database entry for this database\n"
 msgstr "找到此数据库的多于一条的 pg_database 记录\n"
 
-#: pg_dump.c:7216
+#: pg_dump.c:7202
 msgid "could not find entry for pg_indexes in pg_class\n"
 msgstr "在 pg_class 中无法为 pg_indexes 找到记录\n"
 
-#: pg_dump.c:7221
+#: pg_dump.c:7207
 msgid "found more than one entry for pg_indexes in pg_class\n"
 msgstr "在 pg_class 表中找到多条 pg_indexes 的记录\n"
 
-#: pg_dump.c:7270
+#: pg_dump.c:7256
 #, c-format
 msgid "query to get data of sequence \"%s\" returned %d rows (expected 1)\n"
 msgstr "获取序列 \"%s\" 的数据的查询返回了 %d 行 (预期是 1)\n"
 
-#: pg_dump.c:7279
+#: pg_dump.c:7265
 #, c-format
 msgid "query to get data of sequence \"%s\" returned name \"%s\"\n"
 msgstr "获取序列 \"%s\" 的数据的查询返回了名字 \"%s\"\n"
 
-#: pg_dump.c:7516
+#: pg_dump.c:7506
 #, c-format
 msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"\n"
 msgstr "给表 \"%3$s\" 上的触发器 \"%2$s\" 的错误参数 (%1$s)\n"
 
-#: pg_dump.c:7622
+#: pg_dump.c:7613
 #, c-format
 msgid ""
 "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows "
 "returned"
 msgstr "获取表 \"%s\" 的规则 \"%s\" 查询失败: 返回了错误的行数"
 
-#: pg_dump.c:7689
-msgid "fetching dependency data\n"
-msgstr "取回从属数据\n"
+#: pg_dump.c:7681
+msgid "reading dependency data\n"
+msgstr "读取从属数据\n"
 
-#: pg_dump.c:7866
+#: pg_dump.c:7858
 #, c-format
 msgid "query yielded %d rows instead of one: %s\n"
 msgstr "查询放弃 %d 条记录, 由一条记录代替: %s\n"
 
-#: pg_dump.c:8053
+#: pg_dump.c:8045
 msgid "SQL command failed\n"
 msgstr "SQL 命令失败\n"
 
@@ -694,12 +695,12 @@ msgstr "
 msgid "reading triggers\n"
 msgstr "读取触发器\n"
 
-#: common.c:421 common.c:553 common.c:587 pg_backup_archiver.c:616
-#: pg_backup_archiver.c:959 pg_backup_archiver.c:1073
-#: pg_backup_archiver.c:1511 pg_backup_archiver.c:1661
-#: pg_backup_archiver.c:1694 pg_backup_custom.c:141 pg_backup_custom.c:146
+#: common.c:421 common.c:553 common.c:587 pg_backup_archiver.c:619
+#: pg_backup_archiver.c:970 pg_backup_archiver.c:1084
+#: pg_backup_archiver.c:1522 pg_backup_archiver.c:1672
+#: pg_backup_archiver.c:1705 pg_backup_custom.c:141 pg_backup_custom.c:146
 #: pg_backup_custom.c:152 pg_backup_custom.c:167 pg_backup_custom.c:544
-#: pg_backup_db.c:156 pg_backup_db.c:232 pg_backup_files.c:112
+#: pg_backup_db.c:157 pg_backup_db.c:233 pg_backup_files.c:112
 #: pg_backup_tar.c:168 pg_backup_tar.c:960
 msgid "out of memory\n"
 msgstr "内存用尽\n"
@@ -721,312 +722,312 @@ msgstr "
 msgid "archiver"
 msgstr "归档"
 
-#: pg_backup_archiver.c:125
+#: pg_backup_archiver.c:126
 msgid "could not close output archive file\n"
 msgstr "无法关闭输出归档文件\n"
 
-#: pg_backup_archiver.c:152
+#: pg_backup_archiver.c:153
 msgid "-C and -c are incompatible options\n"
 msgstr "-C 和 -c 是互不兼容的选项\n"
 
-#: pg_backup_archiver.c:159
+#: pg_backup_archiver.c:160
 msgid "connecting to database for restore\n"
 msgstr "为恢复数据库与数据库联接\n"
 
-#: pg_backup_archiver.c:161
+#: pg_backup_archiver.c:162
 msgid "direct database connections are not supported in pre-1.3 archives\n"
 msgstr "1.3 以前的归档里不支持直接数据库联接\n"
 
-#: pg_backup_archiver.c:204
+#: pg_backup_archiver.c:205
 msgid "implied data-only restore\n"
 msgstr "隐含的只恢复数据\n"
 
-#: pg_backup_archiver.c:237
+#: pg_backup_archiver.c:238
 #, c-format
 msgid "dropping %s %s\n"
 msgstr "删除 %s %s\n"
 
-#: pg_backup_archiver.c:263 pg_backup_archiver.c:265
+#: pg_backup_archiver.c:264 pg_backup_archiver.c:266
 #, c-format
 msgid "warning from original dump file: %s\n"
 msgstr "来自原始转储文件的警告: %s\n"
 
-#: pg_backup_archiver.c:272
+#: pg_backup_archiver.c:273
 #, c-format
 msgid "creating %s %s\n"
 msgstr "创建 %s %s\n"
 
-#: pg_backup_archiver.c:280
+#: pg_backup_archiver.c:281
 #, c-format
-msgid "connecting to new database \"%s\" as user \"%s\"\n"
-msgstr "以用户 \"%2$s\" 身份联接到新数据库 \"%1$s\"\n"
+msgid "connecting to new database \"%s\"\n"
+msgstr "联接到新数据库 \"%s\"\n"
 
-#: pg_backup_archiver.c:305
+#: pg_backup_archiver.c:306
 msgid ""
 "cannot restore from compressed archive (not configured for compression "
 "support)\n"
 msgstr "无法从压缩的归档中恢复 (未配置压缩支持)\n"
 
-#: pg_backup_archiver.c:325
+#: pg_backup_archiver.c:326
 msgid "WARNING: skipping large-object restoration\n"
 msgstr "警告: 忽略大对象的恢复\n"
 
-#: pg_backup_archiver.c:335
+#: pg_backup_archiver.c:336
 #, c-format
 msgid "restoring data for table \"%s\"\n"
 msgstr "为表 \"%s\" 恢复数据\n"
 
-#: pg_backup_archiver.c:367 pg_backup_archiver.c:453
+#: pg_backup_archiver.c:368 pg_backup_archiver.c:454
 #, c-format
 msgid "fixing up large-object cross-reference for \"%s\"\n"
 msgstr "为 \"%s\" 修复大对象的交叉引用\n"
 
-#: pg_backup_archiver.c:378
+#: pg_backup_archiver.c:379
 #, c-format
 msgid "executing %s %s\n"
 msgstr "执行 %s %s\n"
 
-#: pg_backup_archiver.c:398
+#: pg_backup_archiver.c:399
 #, c-format
-msgid "setting owner and acl for %s %s\n"
-msgstr "为 %s %s 设置属主和权限 (acl)\n"
+msgid "setting owner and privileges for %s %s\n"
+msgstr "为 %s %s 设置属主和权限\n"
 
-#: pg_backup_archiver.c:516
+#: pg_backup_archiver.c:517
 msgid "disabling triggers\n"
 msgstr "关闭触发器\n"
 
-#: pg_backup_archiver.c:555
+#: pg_backup_archiver.c:556
 msgid "enabling triggers\n"
 msgstr "打开触发器\n"
 
-#: pg_backup_archiver.c:590
+#: pg_backup_archiver.c:591
 msgid ""
 "internal error -- WriteData cannot be called outside the context of a "
 "DataDumper routine\n"
 msgstr "内部错误 -- WriteData 不能在 DataDumper 过程的环境之外调用\n"
 
-#: pg_backup_archiver.c:723
+#: pg_backup_archiver.c:734
 msgid "large-object output not supported in chosen format\n"
 msgstr "选定的格式不支持大对象输出\n"
 
-#: pg_backup_archiver.c:763 pg_backup_archiver.c:851
+#: pg_backup_archiver.c:774 pg_backup_archiver.c:862
 msgid "committing large-object transactions\n"
 msgstr "提交大对象事务\n"
 
-#: pg_backup_archiver.c:773
+#: pg_backup_archiver.c:784
 #, c-format
 msgid "restored %d large objects\n"
 msgstr "恢复了 %d 个大对象\n"
 
-#: pg_backup_archiver.c:790
+#: pg_backup_archiver.c:801
 msgid "cannot restore large objects without a database connection\n"
 msgstr "没有数据库联接时无法恢复大对象\n"
 
-#: pg_backup_archiver.c:804
+#: pg_backup_archiver.c:815
 msgid "starting large-object transactions\n"
 msgstr "开始大对象事务\n"
 
-#: pg_backup_archiver.c:812
+#: pg_backup_archiver.c:823
 msgid "could not create large object\n"
 msgstr "无法创建大对象\n"
 
-#: pg_backup_archiver.c:814
+#: pg_backup_archiver.c:825
 #, c-format
 msgid "restoring large object with OID %u as %u\n"
 msgstr "把 OID 为 %u 的大对象恢复为 %u\n"
 
-#: pg_backup_archiver.c:820
+#: pg_backup_archiver.c:831
 msgid "could not open large object\n"
 msgstr "无法打开大对象\n"
 
-#: pg_backup_archiver.c:835
+#: pg_backup_archiver.c:846
 #, c-format
 msgid "wrote remaining %lu bytes of large-object data (result = %lu)\n"
 msgstr "写剩下了 %lu 字节的大对象数据 (结果 = %lu)\n"
 
-#: pg_backup_archiver.c:838 pg_backup_archiver.c:1130
+#: pg_backup_archiver.c:849 pg_backup_archiver.c:1141
 #, c-format
 msgid "could not write to large object (result: %lu, expected: %lu)\n"
 msgstr "无法写入大对象 (结果: %lu, 预期: %lu)\n"
 
-#: pg_backup_archiver.c:884
+#: pg_backup_archiver.c:895
 msgid "could not open TOC file\n"
 msgstr "无法打开 TOC 文件\n"
 
-#: pg_backup_archiver.c:905
+#: pg_backup_archiver.c:916
 #, c-format
 msgid "WARNING: line ignored: %s\n"
 msgstr "警告: 忽略的行: %s\n"
 
-#: pg_backup_archiver.c:912
+#: pg_backup_archiver.c:923
 #, c-format
 msgid "could not find entry for ID %d\n"
 msgstr "无法为 ID %d 找到记录\n"
 
-#: pg_backup_archiver.c:922 pg_backup_files.c:156 pg_backup_files.c:439
+#: pg_backup_archiver.c:933 pg_backup_files.c:156 pg_backup_files.c:439
 #, c-format
 msgid "could not close TOC file: %s\n"
 msgstr "无法关闭 TOC 文件: %s\n"
 
-#: pg_backup_archiver.c:1021 pg_backup_files.c:130
+#: pg_backup_archiver.c:1032 pg_backup_files.c:130
 #, c-format
 msgid "could not open output file: %s\n"
 msgstr "无法打开输出文件: %s\n"
 
-#: pg_backup_archiver.c:1037
+#: pg_backup_archiver.c:1048
 #, c-format
 msgid "could not close output file: %s\n"
 msgstr "无法关闭输出文件: %s\n"
 
-#: pg_backup_archiver.c:1126
+#: pg_backup_archiver.c:1137
 #, c-format
 msgid "wrote %lu bytes of large object data (result = %lu)\n"
 msgstr "写了 %lu 字节的大对象数据 (结果 = %lu)\n"
 
-#: pg_backup_archiver.c:1148
+#: pg_backup_archiver.c:1159
 msgid "could not write to compressed archive\n"
 msgstr "无法写入压缩的归档\n"
 
-#: pg_backup_archiver.c:1156
+#: pg_backup_archiver.c:1167
 msgid "could not write to custom output routine\n"
 msgstr "无法写出到客户输出过程\n"
 
-#: pg_backup_archiver.c:1171
+#: pg_backup_archiver.c:1182
 #, c-format
 msgid "could not write to output file (%lu != %lu)\n"
 msgstr "无法写出到输出文件 (%lu != %lu)\n"
 
-#: pg_backup_archiver.c:1256
+#: pg_backup_archiver.c:1267
 msgid "Error while INITIALIZING:\n"
 msgstr "INITIALIZING 时错误:\n"
 
-#: pg_backup_archiver.c:1261
+#: pg_backup_archiver.c:1272
 msgid "Error while PROCESSING TOC:\n"
 msgstr "PROCESSING TOC 时错误:\n"
 
-#: pg_backup_archiver.c:1266
+#: pg_backup_archiver.c:1277
 msgid "Error while FINALIZING:\n"
 msgstr "FINALIZING 时错误:\n"
 
-#: pg_backup_archiver.c:1271
+#: pg_backup_archiver.c:1282
 #, c-format
-msgid "Error from TOC Entry %d; %u %u %s %s %s\n"
+msgid "Error from TOC entry %d; %u %u %s %s %s\n"
 msgstr "错误来自 TOC 记录 %d; %u %u %s %s %s\n"
 
-#: pg_backup_archiver.c:1404
+#: pg_backup_archiver.c:1415
 #, c-format
 msgid "Unexpected data offset flag %d\n"
 msgstr "意外的数据偏移标志 %d\n"
 
-#: pg_backup_archiver.c:1417
+#: pg_backup_archiver.c:1428
 msgid "file offset in dump file is too large\n"
 msgstr "在转储文件中的文件偏移量太大\n"
 
-#: pg_backup_archiver.c:1529
+#: pg_backup_archiver.c:1540
 msgid "attempting to ascertain archive format\n"
 msgstr "试图确认归档格式\n"
 
-#: pg_backup_archiver.c:1549 pg_backup_files.c:148
+#: pg_backup_archiver.c:1560 pg_backup_files.c:148
 #, c-format
 msgid "could not open input file: %s\n"
 msgstr "无法打开输入文件: %s\n"
 
-#: pg_backup_archiver.c:1556
+#: pg_backup_archiver.c:1567
 #, c-format
 msgid "could not read input file: %s\n"
 msgstr "无法读取输入文件: %s\n"
 
-#: pg_backup_archiver.c:1558
+#: pg_backup_archiver.c:1569
 #, c-format
 msgid "input file is too short (read %lu, expected 5)\n"
 msgstr "输入文件太短 (读了 %lu, 预期 5)\n"
 
-#: pg_backup_archiver.c:1611
+#: pg_backup_archiver.c:1622
 msgid "input file does not appear to be a valid archive (too short?)\n"
 msgstr "输入文件看上去不象有效的归档 (太短?)\n"
 
-#: pg_backup_archiver.c:1614
+#: pg_backup_archiver.c:1625
 msgid "input file does not appear to be a valid archive\n"
 msgstr "输入文件看上去不象有效的归档\n"
 
-#: pg_backup_archiver.c:1632
+#: pg_backup_archiver.c:1643
 #, c-format
 msgid "read %lu bytes into lookahead buffer\n"
 msgstr "读取 %lu 字节到预览缓冲区\n"
 
-#: pg_backup_archiver.c:1639
+#: pg_backup_archiver.c:1650
 #, c-format
 msgid "could not close the input file after reading header: %s\n"
 msgstr "读取头之后无法关闭输入文件: %s\n"
 
-#: pg_backup_archiver.c:1656
+#: pg_backup_archiver.c:1667
 #, c-format
 msgid "allocating AH for %s, format %d\n"
 msgstr "为 %s 分配 AH, 格式 %d\n"
 
-#: pg_backup_archiver.c:1710
+#: pg_backup_archiver.c:1721
 #, c-format
 msgid "archive format is %d\n"
 msgstr "归档格式是 %d\n"
 
-#: pg_backup_archiver.c:1738
+#: pg_backup_archiver.c:1749
 #, c-format
 msgid "unrecognized file format \"%d\"\n"
 msgstr "不可识别的文件格式 \"%d\"\n"
 
-#: pg_backup_archiver.c:1865
+#: pg_backup_archiver.c:1877
 #, c-format
 msgid "entry ID %d out of range -- perhaps a corrupt TOC\n"
 msgstr "记录 ID %d 超出范围 - 可能是损坏了的 TOC\n"
 
-#: pg_backup_archiver.c:1947
+#: pg_backup_archiver.c:1962
 #, c-format
 msgid "read TOC entry %d (ID %d) for %s %s\n"
 msgstr "为 %3$s %4$s 读取 TOC 记录 %1$d (ID %2$d)\n"
 
-#: pg_backup_archiver.c:2109
+#: pg_backup_archiver.c:2124
 #, c-format
 msgid "could not set session user to \"%s\": %s"
 msgstr "无法设置会话用户为 \"%s\": %s"
 
-#: pg_backup_archiver.c:2494
+#: pg_backup_archiver.c:2569
 msgid ""
 "WARNING: requested compression not available in this installation -- archive "
 "will be uncompressed\n"
 msgstr "警告: 所要求的压缩无法在本次安装中获取 - 归档将不被压缩\n"
 
-#: pg_backup_archiver.c:2527
+#: pg_backup_archiver.c:2604
 msgid "did not find magic string in file header\n"
 msgstr "在文件头中没有找到魔术字串\n"
 
-#: pg_backup_archiver.c:2541
+#: pg_backup_archiver.c:2618
 #, c-format
 msgid "unsupported version (%d.%d) in file header\n"
 msgstr "在文件头中有不支持的版本 (%d.%d)\n"
 
-#: pg_backup_archiver.c:2546
+#: pg_backup_archiver.c:2623
 #, c-format
 msgid "sanity check on integer size (%lu) failed\n"
 msgstr "整数尺寸 (%lu) 的健全检查失败\n"
 
-#: pg_backup_archiver.c:2550
+#: pg_backup_archiver.c:2627
 msgid ""
 "WARNING: archive was made on a machine with larger integers, some operations "
 "may fail\n"
 msgstr "警告: 归档是在一台有着更大的整数的机器上制作的, 有些操作可能失败\n"
 
-#: pg_backup_archiver.c:2560
+#: pg_backup_archiver.c:2637
 #, c-format
 msgid "expected format (%d) differs from format found in file (%d)\n"
 msgstr "预期的格式 (%d) 和在文件里找到的格式 (%d) 不同\n"
 
-#: pg_backup_archiver.c:2576
+#: pg_backup_archiver.c:2653
 msgid ""
 "WARNING: archive is compressed, but this installation does not support "
 "compression -- no data will be available\n"
 msgstr "警告: 归档是压缩过的, 但是当前安装不支持压缩 - 数据将不可使用\n"
 
-#: pg_backup_archiver.c:2594
+#: pg_backup_archiver.c:2671
 msgid "WARNING: invalid creation date in header\n"
 msgstr "警告: 在头中的创建日期无效\n"
 
@@ -1140,32 +1141,32 @@ msgstr "
 msgid "could not get server_version from libpq\n"
 msgstr "无法从 libpq 获取服务器版本\n"
 
-#: pg_backup_db.c:78
+#: pg_backup_db.c:79
 #, c-format
 msgid "server version: %s; %s version: %s\n"
 msgstr "服务器版本: %s; %s 版本: %s\n"
 
-#: pg_backup_db.c:81
+#: pg_backup_db.c:82
 msgid "proceeding despite version mismatch\n"
 msgstr "忽略版本差异继续处理\n"
 
-#: pg_backup_db.c:83
+#: pg_backup_db.c:84
 msgid ""
 "aborting because of version mismatch  (Use the -i option to proceed "
 "anyway.)\n"
 msgstr "因版本差异退出 (用 -i 选项忽略差异继续处理.)\n"
 
-#: pg_backup_db.c:150
+#: pg_backup_db.c:151
 #, c-format
 msgid "connecting to database \"%s\" as user \"%s\"\n"
 msgstr "以用户 \"%2$s\" 的身份联接到数据库 \"%1$s\"\n"
 
-#: pg_backup_db.c:154 pg_backup_db.c:187 pg_backup_db.c:230 pg_backup_db.c:259
-#: pg_dumpall.c:916 pg_dumpall.c:942
+#: pg_backup_db.c:155 pg_backup_db.c:187 pg_backup_db.c:231 pg_backup_db.c:260
+#: pg_dumpall.c:941 pg_dumpall.c:967
 msgid "Password: "
 msgstr "口令: "
 
-#: pg_backup_db.c:166
+#: pg_backup_db.c:167
 msgid "failed to reconnect to database\n"
 msgstr "与数据库重新联接失败\n"
 
@@ -1174,108 +1175,108 @@ msgstr "
 msgid "could not reconnect to database: %s"
 msgstr "无法与数据库重新联接: %s"
 
-#: pg_backup_db.c:226
+#: pg_backup_db.c:227
 msgid "already connected to a database\n"
 msgstr "已经与一个数据库联接\n"
 
-#: pg_backup_db.c:249
+#: pg_backup_db.c:250
 msgid "failed to connect to database\n"
 msgstr "与数据库联接失败\n"
 
-#: pg_backup_db.c:268
+#: pg_backup_db.c:269
 #, c-format
 msgid "connection to database \"%s\" failed: %s"
 msgstr "与数据库 \"%s\" 联接失败: %s"
 
-#: pg_backup_db.c:283
+#: pg_backup_db.c:284
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pg_backup_db.c:312
+#: pg_backup_db.c:313
 #, c-format
 msgid "%s: no result from server\n"
 msgstr "%s: 没有来自服务器的结果\n"
 
-#: pg_backup_db.c:319
+#: pg_backup_db.c:320
 msgid "COPY command executed in non-primary connection\n"
 msgstr "COPY 命令在没有主联接的环境下执行\n"
 
-#: pg_backup_db.c:409
+#: pg_backup_db.c:410
 msgid "error returned by PQputline\n"
 msgstr "PQputline 返回错误\n"
 
-#: pg_backup_db.c:420
+#: pg_backup_db.c:421
 msgid "error returned by PQendcopy\n"
 msgstr "PQendcopy 返回错误\n"
 
-#: pg_backup_db.c:480
+#: pg_backup_db.c:481
 msgid "could not execute query"
 msgstr "无法执行查询"
 
-#: pg_backup_db.c:700
+#: pg_backup_db.c:701
 #, c-format
 msgid "could not find OID columns of table \"%s\": %s"
 msgstr "无法寻找表 \"%s\" 的 OID 字段: %s"
 
-#: pg_backup_db.c:706
+#: pg_backup_db.c:707
 #, c-format
 msgid "no OID type columns in table %s\n"
 msgstr "表 %s 中没有 OID 类型字段\n"
 
-#: pg_backup_db.c:720
+#: pg_backup_db.c:721
 #, c-format
 msgid "fixing large object cross-references for %s.%s\n"
 msgstr "为 %s.%s 修补大对象交叉引用\n"
 
-#: pg_backup_db.c:759
+#: pg_backup_db.c:760
 #, c-format
 msgid "SQL: %s\n"
 msgstr "SQL: %s\n"
 
-#: pg_backup_db.c:764
+#: pg_backup_db.c:765
 #, c-format
 msgid "could not update column \"%s\" of table \"%s\": %s"
 msgstr "无法更新表 \"%2$s\" 的字段 \"%1$s\": %3$s"
 
-#: pg_backup_db.c:769
+#: pg_backup_db.c:770
 #, c-format
 msgid "error while updating column \"%s\" of table \"%s\": %s"
 msgstr "更新表 \"%2$s\" 的字段 \"%1$s\" 时出错: %3$s"
 
-#: pg_backup_db.c:792
+#: pg_backup_db.c:793
 msgid "creating table for large object cross-references\n"
 msgstr "为大对象交叉引用创建表\n"
 
-#: pg_backup_db.c:795
+#: pg_backup_db.c:796
 msgid "could not create large object cross-reference table"
 msgstr "无法创建大对象交叉引用表"
 
-#: pg_backup_db.c:805
+#: pg_backup_db.c:806
 msgid "creating index for large object cross-references\n"
 msgstr "为大对象交叉引用创建索引\n"
 
-#: pg_backup_db.c:809
+#: pg_backup_db.c:810
 msgid "could not create index on large object cross-reference table"
 msgstr "无法在大对象交叉引用表上创建索引"
 
-#: pg_backup_db.c:822
+#: pg_backup_db.c:823
 msgid "could not create large object cross-reference entry"
 msgstr "无法创建大对象交叉引用记录"
 
-#: pg_backup_db.c:834
+#: pg_backup_db.c:835
 msgid "could not start database transaction"
 msgstr "无法开始数据库事务"
 
-#: pg_backup_db.c:848
+#: pg_backup_db.c:849
 msgid "could not start transaction for large object cross-references"
 msgstr "无法为大对象交叉引用启动事务"
 
-#: pg_backup_db.c:861
+#: pg_backup_db.c:862
 msgid "could not commit database transaction"
 msgstr "无法提交数据库事务"
 
-#: pg_backup_db.c:874
+#: pg_backup_db.c:875
 msgid "could not commit transaction for large object cross-references"
 msgstr "无法为大对象交叉引用提交事务"
 
@@ -1422,50 +1423,50 @@ msgstr "
 msgid "could not write null block at end of tar archive\n"
 msgstr "无法在 tar 归档末尾写 null 块\n"
 
-#: pg_backup_tar.c:1023
+#: pg_backup_tar.c:1027
 msgid "archive member too large for tar format\n"
 msgstr "在 tar 格式中归档成员太大\n"
 
-#: pg_backup_tar.c:1033
+#: pg_backup_tar.c:1037
 #, c-format
 msgid "write error appending to tar archive (wrote %lu, attempted %lu)\n"
 msgstr "向 tar 归档附加时写错误 (写了 %lu, 试图写 %lu)\n"
 
-#: pg_backup_tar.c:1039
+#: pg_backup_tar.c:1043
 #, c-format
 msgid "could not close tar member: %s\n"
 msgstr "无法关闭 tar 成员: %s\n"
 
-#: pg_backup_tar.c:1048
+#: pg_backup_tar.c:1052
 #, c-format
 msgid "actual file length (%s) does not match expected (%s)\n"
 msgstr "实际文件长度 (%s) 不匹配预期的长度 (%s)\n"
 
-#: pg_backup_tar.c:1056
+#: pg_backup_tar.c:1060
 msgid "could not output padding at end of tar member\n"
 msgstr "无法在 tar 成员尾部输出填充内容\n"
 
-#: pg_backup_tar.c:1085
+#: pg_backup_tar.c:1089
 #, c-format
 msgid "moving from position %s to next member at file position %s\n"
 msgstr "从位置 %s 移动到文件位置 %s 的下一个成员\n"
 
-#: pg_backup_tar.c:1096
+#: pg_backup_tar.c:1100
 #, c-format
 msgid "now at file position %s\n"
 msgstr "现在在文件的位置 %s\n"
 
-#: pg_backup_tar.c:1105 pg_backup_tar.c:1132
+#: pg_backup_tar.c:1109 pg_backup_tar.c:1136
 #, c-format
 msgid "could not find header for file %s in tar archive\n"
 msgstr "无法在 tar 归档里为文件 %s 找到头标\n"
 
-#: pg_backup_tar.c:1116
+#: pg_backup_tar.c:1120
 #, c-format
 msgid "skipping tar member %s\n"
 msgstr "忽略 tar 成员 %s\n"
 
-#: pg_backup_tar.c:1120
+#: pg_backup_tar.c:1124
 #, c-format
 msgid ""
 "dumping data out of order is not supported in this archive format: %s is "
@@ -1473,29 +1474,29 @@ msgid ""
 msgstr ""
 "这个归档格式里不支持乱序转储数据: 要求 %s,但它在归档文件里位于 %s 前面.\n"
 
-#: pg_backup_tar.c:1168
+#: pg_backup_tar.c:1172
 #, c-format
 msgid "mismatch in actual vs. predicted file position (%s vs. %s)\n"
 msgstr "实际文件位置和预期文件位置不匹配 (%s 对 %s)\n"
 
-#: pg_backup_tar.c:1183
+#: pg_backup_tar.c:1187
 #, c-format
 msgid "incomplete tar header found (%lu bytes)\n"
 msgstr "发现不完整 tar 头 (%lu 字节)\n"
 
-#: pg_backup_tar.c:1218
+#: pg_backup_tar.c:1222
 #, c-format
 msgid "TOC Entry %s at %s (length %lu, checksum %d)\n"
 msgstr "在 %2$s 的 TOC 记录 %1$s (长度 %3$lu, 校验和 %4$d)\n"
 
-#: pg_backup_tar.c:1228
+#: pg_backup_tar.c:1232
 #, c-format
 msgid ""
 "corrupt tar header found in %s (expected %d, computed %d) file position %s\n"
 msgstr ""
 "在文件 %1$s 的位置 %4$s 发现崩溃的 tar 头(预计在 %2$d, 计算出来在 %3$d)\n"
 
-#: pg_backup_tar.c:1321
+#: pg_backup_tar.c:1325
 msgid "could not write tar header\n"
 msgstr "无法写 tar 头\n"
 
@@ -1506,8 +1507,8 @@ msgstr "%s: 
 
 #: pg_restore.c:344
 #, c-format
-msgid "WARNING, errors ignored on restore: %d\n"
-msgstr "警告, 恢复中忽略错误: %d\n"
+msgid "WARNING: errors ignored on restore: %d\n"
+msgstr "警告: 恢复中忽略错误: %d\n"
 
 #: pg_restore.c:358
 #, c-format
@@ -1525,8 +1526,8 @@ msgstr "  %s [选
 
 #: pg_restore.c:363
 #, c-format
-msgid "  -d, --dbname=NAME        output database name\n"
-msgstr "  -d, --dbname=名字        数据库名字\n"
+msgid "  -d, --dbname=NAME        connect to database name\n"
+msgstr "  -d, --dbname=名字        连接数据库名字\n"
 
 #: pg_restore.c:365
 #, c-format
@@ -1544,6 +1545,15 @@ msgstr "  -i, --ignore-version     
 msgid "  -l, --list               print summarized TOC of the archive\n"
 msgstr "  -l, --list               打印归档文件的 TOC 概述\n"
 
+#: pg_restore.c:372
+#, c-format
+msgid ""
+"\n"
+"Options controlling the restore:\n"
+msgstr ""
+"\n"
+"恢复控制选项:\n"
+
 #: pg_restore.c:373
 #, c-format
 msgid "  -a, --data-only          restore only the data, no schema\n"
@@ -1551,13 +1561,13 @@ msgstr "  -a, --data-only          只
 
 #: pg_restore.c:375
 #, c-format
-msgid "  -C, --create             issue commands to create the database\n"
-msgstr "  -C, --create             运行命令创建数据库\n"
+msgid "  -C, --create             create the target database\n"
+msgstr "  -C, --create             创建目标数据库\n"
 
 #: pg_restore.c:376
 #, c-format
 msgid "  -I, --index=NAME         restore named index\n"
-msgstr "  -I, --index=名字         恢复指定命字的索引\n"
+msgstr "  -I, --index=名称         恢复指定名称的索引\n"
 
 #: pg_restore.c:377
 #, c-format
@@ -1568,13 +1578,11 @@ msgstr ""
 "  -L, --use-list=文件名    从这个文件中使用指定的内容表排序\n"
 "                           输出\n"
 
-#: pg_restore.c:379 pg_dumpall.c:327
+#: pg_restore.c:379
 #, c-format
 msgid ""
-"  -O, --no-owner           do not output commands to set object ownership\n"
-msgstr ""
-"  -O, --no-owner           设置对象的所属者时不输出\n"
-"                           命令\n"
+"  -O, --no-owner           do not issue commands to set object ownership\n"
+msgstr "  -O, --no-owner           设置对象的所属者时不输出命令\n"
 
 #: pg_restore.c:380
 #, c-format
@@ -1632,27 +1640,29 @@ msgstr ""
 "如果没有提供输入文件名, 则使用标准输入.\n"
 "\n"
 
-#: pg_dumpall.c:144
+#: pg_dumpall.c:149
 #, c-format
 msgid ""
-"The program \"pg_dump\" is needed by %s but was not found in the same "
-"directory as \"%s\".\n"
+"The program \"pg_dump\" is needed by %s but was not found in the\n"
+"same directory as \"%s\".\n"
 "Check your installation.\n"
 msgstr ""
 "%s 需要程序 \"pg_dump\", 但是在同一个目录 \"%s\" 没有找到.\n"
+"\n"
 "检查您的安装.\n"
 
-#: pg_dumpall.c:150
+#: pg_dumpall.c:156
 #, c-format
 msgid ""
-"The program \"pg_dump\" was found by %s but was not the same version as \"%s"
-"\".\n"
+"The program \"pg_dump\" was found by \"%s\"\n"
+"but was not the same version as %s.\n"
 "Check your installation.\n"
 msgstr ""
 "%s 找到程序 \"pg_dump\", 但是和版本 \"%s\" 不一致.\n"
+"\n"
 "检查您的安装.\n"
 
-#: pg_dumpall.c:311
+#: pg_dumpall.c:336
 #, c-format
 msgid ""
 "%s extracts a PostgreSQL database cluster into an SQL script file.\n"
@@ -1661,12 +1671,12 @@ msgstr ""
 "%s 抽取一个 PostgreSQL 数据库簇进一个 SQL 脚本文件.\n"
 "\n"
 
-#: pg_dumpall.c:313
+#: pg_dumpall.c:338
 #, c-format
 msgid "  %s [OPTION]...\n"
 msgstr "  %s [选项]...\n"
 
-#: pg_dumpall.c:316
+#: pg_dumpall.c:341
 #, c-format
 msgid ""
 "  -i, --ignore-version     proceed even when server version mismatches\n"
@@ -1675,24 +1685,32 @@ msgstr ""
 "  -i, --ignore-version     当服务器版本与 pg_dumpall 不匹配时\n"
 "                           继续运行\n"
 
-#: pg_dumpall.c:322
+#: pg_dumpall.c:347
 #, c-format
 msgid "  -c, --clean              clean (drop) databases prior to create\n"
 msgstr "  -c, --clean              清除 (删除) 预先的数据库, 以便再创建\n"
 
-#: pg_dumpall.c:325
+#: pg_dumpall.c:350
 #, c-format
 msgid "  -g, --globals-only       dump only global objects, no databases\n"
 msgstr "  -g, --globals-only       只转储全局对象, 不包括数据库\n"
 
-#: pg_dumpall.c:329
+#: pg_dumpall.c:352
+#, c-format
+msgid ""
+"  -O, --no-owner           do not output commands to set object ownership\n"
+msgstr ""
+"  -O, --no-owner           设置对象的所属者时不输出\n"
+"                           命令\n"
+
+#: pg_dumpall.c:354
 #, c-format
 msgid ""
 "  -S, --superuser=NAME     specify the superuser user name to use in the "
 "dump\n"
 msgstr "  -S, --superuser=NAME     在转储中, 指定的超级用户名\n"
 
-#: pg_dumpall.c:345
+#: pg_dumpall.c:370
 #, c-format
 msgid ""
 "\n"
@@ -1703,91 +1721,92 @@ msgstr ""
 "将把 SQL 脚本写到标准输出上.\n"
 "\n"
 
-#: pg_dumpall.c:545
+#: pg_dumpall.c:570
 #, c-format
 msgid "%s: could not parse ACL list (%s) for tablespace \"%s\"\n"
 msgstr "%1$s: 无法为表空间 \"%3$s\" 分析 ACL 列表 (%2$s)\n"
 
-#: pg_dumpall.c:677
+#: pg_dumpall.c:702
 #, c-format
 msgid "%s: could not parse ACL list (%s) for database \"%s\"\n"
 msgstr "%1$s: 无法为数据库 \"%3$s\" 分析 ACL 列表 (%2$s)\n"
 
-#: pg_dumpall.c:827
+#: pg_dumpall.c:852
 #, c-format
 msgid "%s: dumping database \"%s\"...\n"
 msgstr "%s: 正在转储数据库 \"%s\"...\n"
 
-#: pg_dumpall.c:833
+#: pg_dumpall.c:858
 #, c-format
 msgid "%s: pg_dump failed on database \"%s\", exiting\n"
 msgstr "%s: pg_dump 失败在数据库 \"%s\", 正在退出\n"
 
-#: pg_dumpall.c:888
+#: pg_dumpall.c:913
 #, c-format
 msgid "%s: running \"%s\"\n"
 msgstr "%s: 正在运行 \"%s\"\n"
 
-#: pg_dumpall.c:929
+#: pg_dumpall.c:954
 #, c-format
 msgid "%s: could not connect to database \"%s\"\n"
 msgstr "%s: 无法与数据库 \"%s\" 联接\n"
 
-#: pg_dumpall.c:952
+#: pg_dumpall.c:977
 #, c-format
 msgid "%s: could not connect to database \"%s\": %s\n"
 msgstr "%s: 无法与数据库 \"%s\" 联接: %s\n"
 
-#: pg_dumpall.c:960
+#: pg_dumpall.c:985
 #, c-format
 msgid "%s: could not get server version\n"
 msgstr "%s: 无法从服务器获取版本\n"
 
-#: pg_dumpall.c:966
+#: pg_dumpall.c:991
 #, c-format
 msgid "%s: could not parse server version \"%s\"\n"
 msgstr "%s: 无法分析版本字串 \"%s\"\n"
 
-#: pg_dumpall.c:985
+#: pg_dumpall.c:1010
 #, c-format
 msgid "%s: executing %s\n"
 msgstr "%s: 执行 %s\n"
 
-#: pg_dumpall.c:991
+#: pg_dumpall.c:1016
 #, c-format
 msgid "%s: query failed: %s"
 msgstr "%s: 查询失败: %s"
 
-#: pg_dumpall.c:992
+#: pg_dumpall.c:1017
 #, c-format
 msgid "%s: query was: %s\n"
 msgstr "%s: 查询是: %s\n"
 
-#~ msgid ""
-#~ "\n"
-#~ "Options:\n"
-#~ msgstr ""
-#~ "\n"
-#~ "选项:\n"
-
-#~ msgid ""
-#~ "%s: could not find pg_dump\n"
-#~ "Make sure it is in the path or in the same directory as %s.\n"
-#~ msgstr ""
-#~ "%s: 没找到 pg_dump\n"
-#~ "确定在路径中或与 %s 一样的目录中.\n"
+#: ../../port/exec.c:193 ../../port/exec.c:307 ../../port/exec.c:350
+#, c-format
+msgid "could not identify current directory: %s"
+msgstr "无法确认当前目录: %s"
 
-#~ msgid "could not set default_with_oids: %s"
-#~ msgstr "无法设置 default_with_oids: %s"
+#: ../../port/exec.c:323 ../../port/exec.c:359
+#, c-format
+msgid "could not change directory to \"%s\""
+msgstr "无法进入目录 \"%s\""
 
-#~ msgid "could not set search_path to \"%s\": %s"
-#~ msgstr "无法设置查找路径为 \"%s\": %s"
+#: ../../port/exec.c:338
+#, c-format
+msgid "could not read symbolic link \"%s\""
+msgstr "无法读取符号链结 \"%s\""
 
-#~ msgid "%s: %s"
-#~ msgstr "%s: %s"
+#: ../../port/exec.c:569
+#, c-format
+msgid "child process exited with exit code %d"
+msgstr "子进程已退出, 退出码为 %d"
 
-#~ msgid "checking whether we loaded \"%s\"\n"
-#~ msgstr "检查我们是否装载了 \"%s\"\n"
+#: ../../port/exec.c:572
+#, c-format
+msgid "child process was terminated by signal %d"
+msgstr "子进程被信号 %d 终止"
 
-#~ msgid "ignoring large-object cross-references for %s %s\n"
-#~ msgstr "为 %s %s 忽略大对象交叉引用\n"
+#: ../../port/exec.c:575
+#, c-format
+msgid "child process exited with unrecognized status %d"
+msgstr "子进程已退出, 未知状态 %d"
diff --git a/src/bin/pg_resetxlog/po/zh_CN.po b/src/bin/pg_resetxlog/po/zh_CN.po
index ab5f7efb53c..0ef03a9cbbf 100644
--- a/src/bin/pg_resetxlog/po/zh_CN.po
+++ b/src/bin/pg_resetxlog/po/zh_CN.po
@@ -3,9 +3,9 @@
 # 
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 7.4\n"
+"Project-Id-Version: PostgreSQL 8.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-08-31 08:57+0000\n"
+"POT-Creation-Date: 2004-12-02 09:58+0000\n"
 "PO-Revision-Date: 2004-01-10 13:47+0800\n"
 "Last-Translator: Bao Wei <weibao@qmail.zhengmai.net.cn>\n"
 "Language-Team: Weiping He <laser@zhengmai.com.cn>\n"
@@ -13,48 +13,48 @@ msgstr ""
 "Content-Type: text/plain; charset=GB2312\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: pg_resetxlog.c:120
+#: pg_resetxlog.c:123
 #, c-format
 msgid "%s: invalid argument for option -x\n"
 msgstr "%s: 为 -x 选项的无效参数\n"
 
-#: pg_resetxlog.c:121 pg_resetxlog.c:136 pg_resetxlog.c:151 pg_resetxlog.c:158
-#: pg_resetxlog.c:164 pg_resetxlog.c:172
+#: pg_resetxlog.c:124 pg_resetxlog.c:139 pg_resetxlog.c:154 pg_resetxlog.c:161
+#: pg_resetxlog.c:167 pg_resetxlog.c:175
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "输入 \"%s --help\" 获取更多的信息.\n"
 
-#: pg_resetxlog.c:126
+#: pg_resetxlog.c:129
 #, c-format
 msgid "%s: transaction ID (-x) must not be 0\n"
 msgstr "%s: 事务 ID (-x) 不能为 0\n"
 
-#: pg_resetxlog.c:135
+#: pg_resetxlog.c:138
 #, c-format
 msgid "%s: invalid argument for option -o\n"
 msgstr "%s: 为 -o 选项的无效参数\n"
 
-#: pg_resetxlog.c:141
+#: pg_resetxlog.c:144
 #, c-format
 msgid "%s: OID (-o) must not be 0\n"
 msgstr "%s: OID (-o) 不能为 0\n"
 
-#: pg_resetxlog.c:150 pg_resetxlog.c:157
+#: pg_resetxlog.c:153 pg_resetxlog.c:160
 #, c-format
 msgid "%s: invalid argument for option -l\n"
 msgstr "%s: 为 -l 选项的无效参数\n"
 
-#: pg_resetxlog.c:171
+#: pg_resetxlog.c:174
 #, c-format
 msgid "%s: no data directory specified\n"
 msgstr "%s: 没有指定数据目录\n"
 
-#: pg_resetxlog.c:191 pg_resetxlog.c:287
+#: pg_resetxlog.c:194 pg_resetxlog.c:290
 #, c-format
 msgid "%s: could not open file \"%s\" for reading: %s\n"
 msgstr "%s: 无法打开文件 \"%s\" 读取信息: %s\n"
 
-#: pg_resetxlog.c:197
+#: pg_resetxlog.c:200
 #, c-format
 msgid ""
 "%s: lock file \"%s\" exists\n"
@@ -63,7 +63,7 @@ msgstr ""
 "%s: 锁文件 \"%s\" 已经存在\n"
 "是否有一个服务正在运行? 如果没有, 删除那个锁文件然后再试一次.\n"
 
-#: pg_resetxlog.c:236
+#: pg_resetxlog.c:239
 #, c-format
 msgid ""
 "\n"
@@ -72,7 +72,7 @@ msgstr ""
 "\n"
 "如果这些值可接受, 用 -f 强制重置.\n"
 
-#: pg_resetxlog.c:248
+#: pg_resetxlog.c:251
 #, c-format
 msgid ""
 "The database server was not shut down cleanly.\n"
@@ -83,12 +83,12 @@ msgstr ""
 "重置事务日志有可能会引起丢失数据.\n"
 "如果你仍想继续, 用 -f 强制重置.\n"
 
-#: pg_resetxlog.c:261
+#: pg_resetxlog.c:264
 #, c-format
 msgid "Transaction log reset\n"
 msgstr "事务日志重置\n"
 
-#: pg_resetxlog.c:290
+#: pg_resetxlog.c:293
 #, c-format
 msgid ""
 "If you are sure the data directory path is correct, execute\n"
@@ -99,32 +99,32 @@ msgstr ""
 "  touch %s\n"
 "然后再试一次.\n"
 
-#: pg_resetxlog.c:303
+#: pg_resetxlog.c:306
 #, c-format
 msgid "%s: could not read file \"%s\": %s\n"
 msgstr "%s: 无法读取文件 \"%s\": %s\n"
 
-#: pg_resetxlog.c:326
+#: pg_resetxlog.c:329
 #, c-format
 msgid "%s: pg_control exists but has invalid CRC; proceed with caution\n"
 msgstr "%s: pg_control 已经存在, 但有无效的CRC; 带有警告的继续运行\n"
 
-#: pg_resetxlog.c:335
+#: pg_resetxlog.c:338
 #, c-format
 msgid "%s: pg_control exists but is broken or unknown version; ignoring it\n"
 msgstr "%s: pg_control 已经存在, 但已破坏或无效版本; 忽略它\n"
 
-#: pg_resetxlog.c:399
+#: pg_resetxlog.c:402
 #, c-format
 msgid "%s: invalid LC_COLLATE setting\n"
 msgstr "%s: 无效的 LC_COLLATE 设置\n"
 
-#: pg_resetxlog.c:406
+#: pg_resetxlog.c:409
 #, c-format
 msgid "%s: invalid LC_CTYPE setting\n"
 msgstr "%s: 无效的 LC_CTYPE 设置\n"
 
-#: pg_resetxlog.c:430
+#: pg_resetxlog.c:433
 #, c-format
 msgid ""
 "Guessed pg_control values:\n"
@@ -133,7 +133,7 @@ msgstr ""
 "猜测的 pg_control 值:\n"
 "\n"
 
-#: pg_resetxlog.c:432
+#: pg_resetxlog.c:435
 #, c-format
 msgid ""
 "pg_control values:\n"
@@ -142,141 +142,141 @@ msgstr ""
 "pg_control 值:\n"
 "\n"
 
-#: pg_resetxlog.c:441
+#: pg_resetxlog.c:444
 #, c-format
 msgid "pg_control version number:            %u\n"
 msgstr "pg_control 版本:                      %u\n"
 
-#: pg_resetxlog.c:442
+#: pg_resetxlog.c:445
 #, c-format
 msgid "Catalog version number:               %u\n"
 msgstr "Catalog 版本:                         %u\n"
 
-#: pg_resetxlog.c:443
+#: pg_resetxlog.c:446
 #, c-format
 msgid "Database system identifier:           %s\n"
 msgstr "数据库系统标识符:                     %s\n"
 
-#: pg_resetxlog.c:444
+#: pg_resetxlog.c:447
 #, c-format
 msgid "Current log file ID:                  %u\n"
 msgstr "当前日志文件ID:                       %u\n"
 
-#: pg_resetxlog.c:445
+#: pg_resetxlog.c:448
 #, c-format
 msgid "Next log file segment:                %u\n"
 msgstr "下一个日志文件段:                     %u\n"
 
-#: pg_resetxlog.c:446
+#: pg_resetxlog.c:449
 #, c-format
 msgid "Latest checkpoint's TimeLineID:       %u\n"
 msgstr "最新检查点的 TimeLineID:              %u\n"
 
-#: pg_resetxlog.c:447
+#: pg_resetxlog.c:450
 #, c-format
 msgid "Latest checkpoint's NextXID:          %u\n"
 msgstr "最新检查点的 NextXID:                 %u\n"
 
-#: pg_resetxlog.c:448
+#: pg_resetxlog.c:451
 #, c-format
 msgid "Latest checkpoint's NextOID:          %u\n"
 msgstr "最新检查点的 NextOID:                 %u\n"
 
-#: pg_resetxlog.c:449
+#: pg_resetxlog.c:452
 #, c-format
 msgid "Database block size:                  %u\n"
 msgstr "数据库块大小:                         %u\n"
 
-#: pg_resetxlog.c:450
+#: pg_resetxlog.c:453
 #, c-format
 msgid "Blocks per segment of large relation: %u\n"
 msgstr "大关系的每段块数:                     %u\n"
 
-#: pg_resetxlog.c:451
+#: pg_resetxlog.c:454
 #, c-format
 msgid "Maximum length of identifiers:        %u\n"
 msgstr "标示符的最大长度:                     %u\n"
 
-#: pg_resetxlog.c:452
+#: pg_resetxlog.c:455
 #, c-format
 msgid "Maximum number of function arguments: %u\n"
 msgstr "函数参数的最大个数:                   %u\n"
 
-#: pg_resetxlog.c:453
+#: pg_resetxlog.c:456
 #, c-format
 msgid "Date/time type storage:               %s\n"
 msgstr "日期/时间类型存储:                    %s\n"
 
-#: pg_resetxlog.c:454
+#: pg_resetxlog.c:457
 msgid "64-bit integers"
 msgstr "64位整型"
 
-#: pg_resetxlog.c:454
+#: pg_resetxlog.c:457
 msgid "floating-point numbers"
 msgstr "浮点数"
 
-#: pg_resetxlog.c:455
+#: pg_resetxlog.c:458
 #, c-format
 msgid "Maximum length of locale name:        %u\n"
 msgstr "本地名字的最大长度:                   %u\n"
 
-#: pg_resetxlog.c:456
+#: pg_resetxlog.c:459
 #, c-format
 msgid "LC_COLLATE:                           %s\n"
 msgstr "LC_COLLATE:                           %s\n"
 
-#: pg_resetxlog.c:457
+#: pg_resetxlog.c:460
 #, c-format
 msgid "LC_CTYPE:                             %s\n"
 msgstr "LC_CTYPE:                             %s\n"
 
-#: pg_resetxlog.c:518
+#: pg_resetxlog.c:521
 #, c-format
 msgid ""
 "%s: internal error -- sizeof(ControlFileData) is too large ... fix xlog.c\n"
 msgstr "%s: 内部错误 -- sizeof(ControlFileData) 太大 ... 修复 xlog.c\n"
 
-#: pg_resetxlog.c:531
+#: pg_resetxlog.c:534
 #, c-format
 msgid "%s: could not create pg_control file: %s\n"
 msgstr "%s: 无法创建 pg_control 文件: %s\n"
 
-#: pg_resetxlog.c:542
+#: pg_resetxlog.c:545
 #, c-format
 msgid "%s: could not write pg_control file: %s\n"
 msgstr "%s: 无法写 pg_control 文件: %s\n"
 
-#: pg_resetxlog.c:549 pg_resetxlog.c:705
+#: pg_resetxlog.c:552 pg_resetxlog.c:708
 #, c-format
 msgid "%s: fsync error: %s\n"
 msgstr "%s: fsync 错误: %s\n"
 
-#: pg_resetxlog.c:570
+#: pg_resetxlog.c:573
 #, c-format
 msgid "%s: could not open directory \"%s\": %s\n"
 msgstr "%s: 无法打开目录 \"%s\": %s\n"
 
-#: pg_resetxlog.c:584
+#: pg_resetxlog.c:587
 #, c-format
 msgid "%s: could not delete file \"%s\": %s\n"
 msgstr "%s: 无法删除文件 \"%s\": %s\n"
 
-#: pg_resetxlog.c:603
+#: pg_resetxlog.c:606
 #, c-format
 msgid "%s: could not read from directory \"%s\": %s\n"
 msgstr "%s: 无法从目录 \"%s\" 中读取: %s\n"
 
-#: pg_resetxlog.c:672
+#: pg_resetxlog.c:675
 #, c-format
 msgid "%s: could not open file \"%s\": %s\n"
 msgstr "%s: 无法打开文件 \"%s\": %s\n"
 
-#: pg_resetxlog.c:683 pg_resetxlog.c:697
+#: pg_resetxlog.c:686 pg_resetxlog.c:700
 #, c-format
 msgid "%s: could not write file \"%s\": %s\n"
 msgstr "%s: 无法写文件 \"%s\": %s\n"
 
-#: pg_resetxlog.c:716
+#: pg_resetxlog.c:719
 #, c-format
 msgid ""
 "%s resets the PostgreSQL transaction log.\n"
@@ -285,7 +285,7 @@ msgstr ""
 "%s 重置 PostgreSQL 事务日志.\n"
 "\n"
 
-#: pg_resetxlog.c:717
+#: pg_resetxlog.c:720
 #, c-format
 msgid ""
 "Usage:\n"
@@ -296,51 +296,51 @@ msgstr ""
 "  %s [选项]... 数据目录\n"
 "\n"
 
-#: pg_resetxlog.c:718
+#: pg_resetxlog.c:721
 #, c-format
 msgid "Options:\n"
 msgstr "选项:\n"
 
-#: pg_resetxlog.c:719
+#: pg_resetxlog.c:722
 #, c-format
 msgid "  -f              force update to be done\n"
 msgstr "  -f                强制更新\n"
 
-#: pg_resetxlog.c:720
+#: pg_resetxlog.c:723
 #, c-format
 msgid ""
 "  -l FILEID,SEG   force minimum WAL starting location for new transaction "
 "log\n"
 msgstr "  -l FILEID,SEG     在新的事务日志中强制最小 WAL 起始位置\n"
 
-#: pg_resetxlog.c:721
+#: pg_resetxlog.c:724
 #, c-format
 msgid ""
 "  -n              no update, just show extracted control values (for "
 "testing)\n"
 msgstr "  -n                未更新, 只显示抽取的控制值 (测试用途)\n"
 
-#: pg_resetxlog.c:722
+#: pg_resetxlog.c:725
 #, c-format
 msgid "  -o OID          set next OID\n"
 msgstr "  -o OID            设置下一个 OID\n"
 
-#: pg_resetxlog.c:723
+#: pg_resetxlog.c:726
 #, c-format
 msgid "  -x XID          set next transaction ID\n"
 msgstr "  -x XID            设置下一个事务 ID\n"
 
-#: pg_resetxlog.c:724
+#: pg_resetxlog.c:727
 #, c-format
 msgid "  --help          show this help, then exit\n"
 msgstr "  --help            显示此帮助信息, 然后退出\n"
 
-#: pg_resetxlog.c:725
+#: pg_resetxlog.c:728
 #, c-format
 msgid "  --version       output version information, then exit\n"
 msgstr "  --version         输出版本信息, 然后退出\n"
 
-#: pg_resetxlog.c:726
+#: pg_resetxlog.c:729
 #, c-format
 msgid ""
 "\n"
diff --git a/src/bin/psql/po/zh_CN.po b/src/bin/psql/po/zh_CN.po
index e6243185862..66c7154351d 100644
--- a/src/bin/psql/po/zh_CN.po
+++ b/src/bin/psql/po/zh_CN.po
@@ -1,13 +1,13 @@
 # simplified Chinese translation file for psql
 # Weiping He <laser@zhengmai.com.cn>, 2002.
 # 
-# $PostgreSQL: pgsql/src/bin/psql/po/zh_CN.po,v 1.6 2004/09/13 12:35:15 petere Exp $
+# $PostgreSQL: pgsql/src/bin/psql/po/zh_CN.po,v 1.7 2004/12/11 19:09:07 petere Exp $
 # 
 msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 7.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-08-31 08:54+0000\n"
+"POT-Creation-Date: 2004-12-02 09:58+0000\n"
 "PO-Revision-Date: 2004-01-12 13:48:19+0800\n"
 "Last-Translator: Bao Wei <weibao@qmail.zhengmai.net.cn>\n"
 "Language-Team: Weiping He <laser@zhengmai.com.cn>\n"
@@ -15,232 +15,240 @@ msgstr ""
 "Content-Type: text/plain; charset=GB2312\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: command.c:112
+#: command.c:116
 msgid "Warning: This syntax is deprecated.\n"
 msgstr "警告: 这种语法已经废弃.\n"
 
-#: command.c:120
+#: command.c:124
 #, c-format
 msgid "Invalid command \\%s. Try \\? for help.\n"
 msgstr "无效的命令 \\%s. 用 \\? 获取帮助.\n"
 
-#: command.c:122
+#: command.c:126
 #, c-format
 msgid "invalid command \\%s\n"
 msgstr "无效的命令 \\%s\n"
 
-#: command.c:131
+#: command.c:135
 #, c-format
 msgid "\\%s: extra argument \"%s\" ignored\n"
 msgstr "\\%s: 忽略多余的参数 \"%s\"\n"
 
-#: command.c:240
+#: command.c:244
 #, c-format
 msgid "could not get home directory: %s\n"
 msgstr "无法获得家目录: %s\n"
 
-#: command.c:256
+#: command.c:260
 #, c-format
 msgid "\\%s: could not change directory to \"%s\": %s\n"
 msgstr "\\%s: 不能改变到 \"%s\" 目录: %s\n"
 
-#: command.c:370 command.c:760
+#: command.c:374 command.c:766
 msgid "no query buffer\n"
 msgstr "无查询缓冲区\n"
 
-#: command.c:433
+#: command.c:437
 #, c-format
 msgid "%s: invalid encoding name or conversion procedure not found\n"
 msgstr "%s: 无效编码名字或没有找到转换过程\n"
 
-#: command.c:501 command.c:535 command.c:549 command.c:566 command.c:612
-#: command.c:740 command.c:771
+#: command.c:505 command.c:539 command.c:553 command.c:570 command.c:616
+#: command.c:746 command.c:777
 #, c-format
 msgid "\\%s: missing required argument\n"
 msgstr "\\%s: 缺少所需参数\n"
 
-#: command.c:598
+#: command.c:602
 msgid "Query buffer is empty."
 msgstr "查询缓冲区为空."
 
-#: command.c:632
+#: command.c:636
 msgid "Query buffer reset (cleared)."
 msgstr "重置(清空)查询缓冲区."
 
-#: command.c:646
+#: command.c:650
 #, c-format
 msgid "Wrote history to file \"%s\".\n"
 msgstr "向文件 \"%s\" 中写入历史.\n"
 
-#: command.c:681 common.c:85 common.c:99 mainloop.c:71
+#: command.c:687 common.c:85 common.c:99 mainloop.c:71 print.c:230 print.c:237
+#: print.c:256 print.c:440 print.c:464 print.c:488 print.c:517 print.c:535
+#: print.c:1156 print.c:1168 print.c:1189 print.c:1196 print.c:1211
+#, c-format
 msgid "out of memory\n"
 msgstr "内存用尽\n"
 
-#: command.c:696 command.c:745
+#: command.c:702 command.c:751
 #, c-format
 msgid "\\%s: error\n"
 msgstr "\\%s: 错误\n"
 
-#: command.c:726
+#: command.c:732
 msgid "Timing is on."
 msgstr "开始计时."
 
-#: command.c:728
+#: command.c:734
 msgid "Timing is off."
 msgstr "结束计时."
 
-#: command.c:788 command.c:808 command.c:1164 command.c:1171 command.c:1181
-#: command.c:1193 command.c:1206 command.c:1220 command.c:1242 command.c:1273
+#: command.c:794 command.c:814 command.c:1199 command.c:1206 command.c:1216
+#: command.c:1228 command.c:1241 command.c:1255 command.c:1277 command.c:1308
 #: common.c:170 copy.c:530 copy.c:575
 #, c-format
 msgid "%s: %s\n"
 msgstr "%s: %s\n"
 
-#: command.c:915 command.c:939 startup.c:184 startup.c:202
+#: command.c:921 command.c:945 startup.c:188 startup.c:206
 msgid "Password: "
 msgstr "口令: "
 
-#: command.c:953 common.c:216 common.c:605 common.c:660 common.c:903
+#: command.c:959 common.c:216 common.c:685 common.c:740 common.c:983
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: command.c:957
+#: command.c:963
 msgid "Previous connection kept\n"
 msgstr "保留上一次联接\n"
 
-#: command.c:969
+#: command.c:975
 #, c-format
 msgid "\\connect: %s"
 msgstr "\\联接: %s"
 
-#: command.c:981
+#: command.c:987
 #, c-format
 msgid "You are now connected to database \"%s\".\n"
 msgstr "你现在已经联接到数据库 \"%s\".\n"
 
-#: command.c:983
+#: command.c:989
 #, c-format
 msgid "You are now connected as new user \"%s\".\n"
 msgstr "你现在是作为新用户 \"%s\" 联接的.\n"
 
-#: command.c:986
+#: command.c:992
 #, c-format
 msgid "You are now connected to database \"%s\" as user \"%s\".\n"
 msgstr "你现在是以用户 \"%2$s\" 的身份联接到数据库 \"%1$s\".\n"
 
-#: command.c:1103
+#: command.c:1117
 #, c-format
 msgid "could not start editor \"%s\"\n"
 msgstr "无法运行编辑器 \"%s\"\n"
 
-#: command.c:1105
+#: command.c:1119
 msgid "could not start /bin/sh\n"
 msgstr "无法运行 /bin/sh\n"
 
-#: command.c:1149
+#: command.c:1158
+#, c-format
+msgid "cannot locate temporary directory: %s"
+msgstr "无法找到临时目录: %s"
+
+#: command.c:1184
 #, c-format
 msgid "could not open temporary file \"%s\": %s\n"
 msgstr "无法打开临时文件 \"%s\": %s\n"
 
-#: command.c:1341
+#: command.c:1376
 msgid "\\pset: allowed formats are unaligned, aligned, html, latex\n"
 msgstr "\\pset: 允许的格式是无对齐, 对齐, html, latex\n"
 
-#: command.c:1346
+#: command.c:1381
 #, c-format
 msgid "Output format is %s.\n"
 msgstr "输出格式是 %s.\n"
 
-#: command.c:1356
+#: command.c:1391
 #, c-format
 msgid "Border style is %d.\n"
 msgstr "边界风格是 %d.\n"
 
-#: command.c:1365
+#: command.c:1400
 #, c-format
 msgid "Expanded display is on.\n"
 msgstr "扩展显示已打开.\n"
 
-#: command.c:1366
+#: command.c:1401
 #, c-format
 msgid "Expanded display is off.\n"
 msgstr "扩展显示已关闭.\n"
 
-#: command.c:1378
+#: command.c:1413
 #, c-format
 msgid "Null display is \"%s\".\n"
 msgstr "Null 显示为 \"%s\".\n"
 
-#: command.c:1390
+#: command.c:1425
 #, c-format
 msgid "Field separator is \"%s\".\n"
 msgstr "域分隔符是 \"%s\".\n"
 
-#: command.c:1404
+#: command.c:1439
 #, c-format
 msgid "Record separator is <newline>."
 msgstr "记录分隔符是 <新行>."
 
-#: command.c:1406
+#: command.c:1441
 #, c-format
 msgid "Record separator is \"%s\".\n"
 msgstr "记录分隔符是 \"%s\".\n"
 
-#: command.c:1417
+#: command.c:1452
 msgid "Showing only tuples."
 msgstr "只显示元组."
 
-#: command.c:1419
+#: command.c:1454
 msgid "Tuples only is off."
 msgstr "关闭只显示元组."
 
-#: command.c:1435
+#: command.c:1470
 #, c-format
 msgid "Title is \"%s\".\n"
 msgstr "标题是 \"%s\".\n"
 
-#: command.c:1437
+#: command.c:1472
 #, c-format
 msgid "Title is unset.\n"
 msgstr "无标题.\n"
 
-#: command.c:1453
+#: command.c:1488
 #, c-format
 msgid "Table attribute is \"%s\".\n"
 msgstr "表属性是 \"%s\".\n"
 
-#: command.c:1455
+#: command.c:1490
 #, c-format
 msgid "Table attributes unset.\n"
 msgstr "未设置表属性.\n"
 
-#: command.c:1471
+#: command.c:1506
 msgid "Pager is used for long output."
 msgstr "分页器是为长输出使用的."
 
-#: command.c:1473
+#: command.c:1508
 msgid "Pager is always used."
 msgstr "总是使用分页器."
 
-#: command.c:1475
+#: command.c:1510
 msgid "Pager usage is off."
 msgstr "关闭分页器的使用."
 
-#: command.c:1486
+#: command.c:1521
 msgid "Default footer is on."
 msgstr "打开缺省脚标."
 
-#: command.c:1488
+#: command.c:1523
 msgid "Default footer is off."
 msgstr "关闭缺省脚标."
 
-#: command.c:1494
+#: command.c:1529
 #, c-format
 msgid "\\pset: unknown option: %s\n"
 msgstr "\\pset: 未知选项: %s\n"
 
-#: command.c:1533
+#: command.c:1582
 msgid "\\!: failed\n"
 msgstr "\\!: 失败\n"
 
@@ -253,48 +261,48 @@ msgstr "%s: xstrdup: 
 msgid "out of memory"
 msgstr "内存用尽"
 
-#: common.c:298
+#: common.c:356
 msgid "connection to server was lost\n"
 msgstr "与数据库的联接丢失\n"
 
-#: common.c:302
+#: common.c:360
 msgid "The connection to the server was lost. Attempting reset: "
 msgstr "与服务器的联接已丢失. 尝试重置: "
 
-#: common.c:307
+#: common.c:365
 msgid "Failed.\n"
 msgstr "失败.\n"
 
-#: common.c:314
+#: common.c:372
 msgid "Succeeded.\n"
 msgstr "成功.\n"
 
-#: common.c:391
+#: common.c:471
 #, c-format
 msgid "INTERNAL ERROR: unexpected statement position \"%s\"\n"
 msgstr "内部错误: 意外的语句位置 \"%s\"\n"
 
-#: common.c:527
+#: common.c:607
 #, c-format
 msgid "LINE %d: "
 msgstr "第 %d 行: "
 
-#: common.c:544 common.c:553
+#: common.c:624 common.c:633
 #, c-format
 msgid "%s\n"
 msgstr "%s\n"
 
-#: common.c:636 common.c:871
+#: common.c:716 common.c:951
 msgid "You are currently not connected to a database.\n"
 msgstr "你目前没有与数据库联接.\n"
 
-#: common.c:691
+#: common.c:771
 #, c-format
 msgid ""
 "Asynchronous notification \"%s\" received from server process with PID %d.\n"
 msgstr "接收到服务器进程 PID %2$d 的异步通知 \"%1$s\".\n"
 
-#: common.c:879
+#: common.c:959
 #, c-format
 msgid ""
 "***(Single step mode: verify command)"
@@ -307,7 +315,7 @@ msgstr ""
 "%s\n"
 "***(按回车继续或者输入 x 然后按回车取消)********************\n"
 
-#: common.c:930
+#: common.c:1010
 #, c-format
 msgid "Time: %.3f ms\n"
 msgstr "时间: %.3f ms\n"
@@ -348,20 +356,20 @@ msgstr ""
 "输入要拷贝的数据然后输入一个新行.\n"
 "在独立的一行上输入一个反斜扛和一个句点结束."
 
-#: help.c:48
+#: help.c:49
 msgid "on"
 msgstr "打开"
 
-#: help.c:48
+#: help.c:49
 msgid "off"
 msgstr "关闭"
 
-#: help.c:70
+#: help.c:71
 #, c-format
 msgid "could not get current user name: %s\n"
-msgstr "无法获取当前用户名字: %s\n"
+msgstr "无法获取当前用户名称: %s\n"
 
-#: help.c:83
+#: help.c:84
 #, c-format
 msgid ""
 "This is psql %s, the PostgreSQL interactive terminal.\n"
@@ -370,53 +378,53 @@ msgstr ""
 "这里是 psql %s, PostgreSQL 的交互终端.\n"
 "\n"
 
-#: help.c:85
+#: help.c:86
 msgid "Usage:"
 msgstr "用法:"
 
-#: help.c:86
+#: help.c:87
 msgid "  psql [OPTIONS]... [DBNAME [USERNAME]]\n"
-msgstr "  psql [选项]... [数据库名字 [用户名]]\n"
+msgstr "  psql [选项]... [数据库名字 [用户名称]]\n"
 
-#: help.c:88
+#: help.c:89
 msgid "General options:"
 msgstr "一般选项:"
 
-#: help.c:93
+#: help.c:94
 #, c-format
 msgid ""
 "  -d DBNAME       specify database name to connect to (default: \"%s\")\n"
 msgstr "  -d 数据库名     声明要联接的数据库名(缺省: \"%s\")\n"
 
-#: help.c:94
+#: help.c:95
 msgid "  -c COMMAND      run only single command (SQL or internal) and exit"
 msgstr "  -c 命令         只运行一条命令(SQL 或者内部)然后退出"
 
-#: help.c:95
+#: help.c:96
 msgid "  -f FILENAME     execute commands from file, then exit"
 msgstr "  -f 文件名       执行来自文件的命令, 然后退出"
 
-#: help.c:96
+#: help.c:97
 msgid "  -l              list available databases, then exit"
 msgstr "  -l              列出所有可用数据库, 然后退出"
 
-#: help.c:97
+#: help.c:98
 msgid "  -v NAME=VALUE   set psql variable NAME to VALUE"
 msgstr "  -v NAME=VALUE   设置 psql 变量 NAME 的值为 VALUE"
 
-#: help.c:98
+#: help.c:99
 msgid "  -X              do not read startup file (~/.psqlrc)"
 msgstr "  -X              不要读取启动文件 (~/.psqlrc)"
 
-#: help.c:99
+#: help.c:100
 msgid "  --help          show this help, then exit"
 msgstr "  --help          显示此帮助信息, 然后退出"
 
-#: help.c:100
+#: help.c:101
 msgid "  --version       output version information, then exit"
 msgstr "  --version       显示版本信息, 然后退出"
 
-#: help.c:102
+#: help.c:103
 msgid ""
 "\n"
 "Input and output options:"
@@ -424,39 +432,39 @@ msgstr ""
 "\n"
 "输入和输出选项:"
 
-#: help.c:103
+#: help.c:104
 msgid "  -a              echo all input from script"
 msgstr "  -a              回显所有来自脚本的输入"
 
-#: help.c:104
+#: help.c:105
 msgid "  -e              echo commands sent to server"
 msgstr "  -e              回显发送给服务器的命令"
 
-#: help.c:105
+#: help.c:106
 msgid "  -E              display queries that internal commands generate"
 msgstr "  -E              显示内部命令生成的查询"
 
-#: help.c:106
+#: help.c:107
 msgid "  -q              run quietly (no messages, only query output)"
 msgstr "  -q              安静运行 (没有信息, 只有查询输出)"
 
-#: help.c:107
+#: help.c:108
 msgid "  -o FILENAME     send query results to file (or |pipe)"
 msgstr "  -o 文件名       向文件(或者 |管道)发送查询结果"
 
-#: help.c:108
+#: help.c:109
 msgid "  -n              disable enhanced command line editing (readline)"
 msgstr "  -n              关闭增强的命令行编辑功能 (readline)"
 
-#: help.c:109
+#: help.c:110
 msgid "  -s              single-step mode (confirm each query)"
 msgstr "  -s              单步模式 (核实每个查询)"
 
-#: help.c:110
+#: help.c:111
 msgid "  -S              single-line mode (end of line terminates SQL command)"
 msgstr "  -S              单行模式 (一行结束同时也标志着 SQL 命令结束)"
 
-#: help.c:112
+#: help.c:113
 msgid ""
 "\n"
 "Output format options:"
@@ -464,44 +472,44 @@ msgstr ""
 "\n"
 "输出格式选项:"
 
-#: help.c:113
+#: help.c:114
 msgid "  -A              unaligned table output mode (-P format=unaligned)"
 msgstr "  -A              非对齐的表输出模式(-P format=unaligned)"
 
-#: help.c:114
+#: help.c:115
 msgid "  -H              HTML table output mode (-P format=html)"
 msgstr "  -H              HTML 表输出模式 (-P format=html)"
 
-#: help.c:115
+#: help.c:116
 msgid "  -t              print rows only (-P tuples_only)"
 msgstr "  -t              只打印行 (-P tuples_onle)"
 
-#: help.c:116
+#: help.c:117
 msgid ""
 "  -T TEXT         set HTML table tag attributes (width, border) (-P "
 "tableattr=)"
 msgstr "  -T 文本         设置 HTML 表标记属性 (表宽, 边宽) (-P tableattr=)"
 
-#: help.c:117
+#: help.c:118
 msgid "  -x              turn on expanded table output (-P expanded)"
 msgstr "  -x              打开扩展表输出 (-P expended)"
 
-#: help.c:118
+#: help.c:119
 msgid "  -P VAR[=ARG]    set printing option VAR to ARG (see \\pset command)"
 msgstr "  -P VAR[=ARG]    把打印选项 VAR 设置为 ARG (见 \\pset 命令)"
 
-#: help.c:119
+#: help.c:120
 #, c-format
 msgid ""
 "  -F STRING       set field separator (default: \"%s\") (-P fieldsep=)\n"
 msgstr "  -F 字串         设置域分隔符 (缺省: \"%s\") (-P fieldsep=)\n"
 
-#: help.c:121
+#: help.c:122
 msgid ""
 "  -R STRING       set record separator (default: newline) (-P recordsep=)"
 msgstr "  -R 字串         设置记录分隔符 (缺省: 新行) (-P recordsep=)"
 
-#: help.c:123
+#: help.c:124
 msgid ""
 "\n"
 "Connection options:"
@@ -509,32 +517,32 @@ msgstr ""
 "\n"
 "联接选项:"
 
-#: help.c:126
+#: help.c:127
 #, c-format
 msgid ""
 "  -h HOSTNAME     database server host or socket directory (default: \"%s"
 "\")\n"
 msgstr "  -h 主机名       声明数据库服务器主机或套接字目录 (缺省: \"%s\")\n"
 
-#: help.c:127
+#: help.c:128
 msgid "local socket"
 msgstr "本地套接字"
 
-#: help.c:130
+#: help.c:131
 #, c-format
 msgid "  -p PORT         database server port (default: \"%s\")\n"
 msgstr "  -p 端口         数据库服务器端口 (缺省: %s)\n"
 
-#: help.c:136
+#: help.c:137
 #, c-format
 msgid "  -U NAME         database user name (default: \"%s\")\n"
-msgstr "  -U 名字         数据库用户名 (缺省: \"%s\")\n"
+msgstr "  -U 名字         数据库用户名称 (缺省: \"%s\")\n"
 
-#: help.c:137
+#: help.c:138
 msgid "  -W              prompt for password (should happen automatically)"
 msgstr "  -W              提示输入口令 (将自动发生)"
 
-#: help.c:140
+#: help.c:141
 msgid ""
 "\n"
 "For more information, type \"\\?\" (for internal commands) or \"\\help\"\n"
@@ -549,85 +557,85 @@ msgstr ""
 "\n"
 "向 <pgsql-bugs@postgresql.org> 汇报臭虫."
 
-#: help.c:174
+#: help.c:175
 #, c-format
 msgid "General\n"
 msgstr "一般选项\n"
 
-#: help.c:175
+#: help.c:176
 #, c-format
 msgid ""
 "  \\c[onnect] [DBNAME|- [USER]]\n"
 "                 connect to new database (currently \"%s\")\n"
 msgstr ""
-"  \\c[onnect] [数据库名|- [用户名]]\n"
-"                   联接到新的数据库 (当前为 \"%s\")\n"
+"  \\c[onnect] [数据库名|- [用户名称]]\n"
+"                    联接到新的数据库 (当前为 \"%s\")\n"
 
-#: help.c:178
+#: help.c:179
 #, c-format
 msgid "  \\cd [DIR]      change the current working directory\n"
 msgstr "  \\cd [目录名]     改变当前的工作目录\n"
 
-#: help.c:179
+#: help.c:180
 #, c-format
 msgid "  \\copyright     show PostgreSQL usage and distribution terms\n"
 msgstr "  \\copyright       显示 PostgreSQL 用法和发布信息\n"
 
-#: help.c:180
+#: help.c:181
 #, c-format
 msgid ""
 "  \\encoding [ENCODING]\n"
 "                 show or set client encoding\n"
 msgstr ""
 "  \\encoding [编码]\n"
-"                   显示或设置客户端编码\n"
+"                    显示或设置客户端编码\n"
 
-#: help.c:182
+#: help.c:183
 #, c-format
 msgid "  \\h [NAME]      help on syntax of SQL commands, * for all commands\n"
 msgstr "  \\h [名字]        SQL 命令的语法帮助, 用 * 可以看所有命令的帮助\n"
 
-#: help.c:183
+#: help.c:184
 #, c-format
 msgid "  \\q             quit psql\n"
 msgstr "  \\q               退出 psql\n"
 
-#: help.c:184
+#: help.c:185
 #, c-format
 msgid ""
 "  \\set [NAME [VALUE]]\n"
 "                 set internal variable, or list all if no parameters\n"
 msgstr ""
 "  \\set [名字 [值]]\n"
-"                   设置内部变量, 如果没有参数就列出所有\n"
+"                    设置内部变量, 如果没有参数就列出所有\n"
 
-#: help.c:186
+#: help.c:187
 #, c-format
 msgid "  \\timing        toggle timing of commands (currently %s)\n"
 msgstr "  \\timing          查询计时开关切换 (目前是 %s)\n"
 
-#: help.c:188
+#: help.c:189
 #, c-format
 msgid "  \\unset NAME    unset (delete) internal variable\n"
 msgstr "  \\unset 名字      取消(删除)内部变量\n"
 
-#: help.c:189
+#: help.c:190
 #, c-format
 msgid "  \\! [COMMAND]   execute command in shell or start interactive shell\n"
 msgstr "  \\! [命令]        在 shell 里执行命令或者开始一个交互的 shell\n"
 
-#: help.c:192
+#: help.c:193
 #, c-format
 msgid "Query Buffer\n"
 msgstr "查询缓冲区选项\n"
 
-#: help.c:193
+#: help.c:194
 #, c-format
 msgid ""
 "  \\e [FILE]      edit the query buffer (or file) with external editor\n"
 msgstr "  \\e [文件名]      用一个外部编辑器编辑当前查询缓冲区或者文件\n"
 
-#: help.c:194
+#: help.c:195
 #, c-format
 msgid ""
 "  \\g [FILE]      send query buffer to server (and results to file or |"
@@ -635,183 +643,183 @@ msgid ""
 msgstr ""
 "  \\g [文件名]      向服务器发送 SQL 命令 (并且把结果写到文件或者 |管道)\n"
 
-#: help.c:195
+#: help.c:196
 #, c-format
 msgid "  \\p             show the contents of the query buffer\n"
 msgstr "  \\p               显示当前查询缓冲区的内容\n"
 
-#: help.c:196
+#: help.c:197
 #, c-format
 msgid "  \\r             reset (clear) the query buffer\n"
 msgstr "  \\r               重置 (清理) 查询缓冲区\n"
 
-#: help.c:197
+#: help.c:199
 #, c-format
 msgid "  \\s [FILE]      display history or save it to file\n"
 msgstr "  \\s [文件名]      打印历史或者将其保存到文件\n"
 
-#: help.c:198
+#: help.c:201
 #, c-format
 msgid "  \\w FILE        write query buffer to file\n"
 msgstr "  \\w [文件名]      将查询缓冲区写出到文件\n"
 
-#: help.c:201
+#: help.c:204
 #, c-format
 msgid "Input/Output\n"
 msgstr "输入/输出选项\n"
 
-#: help.c:202
+#: help.c:205
 #, c-format
 msgid "  \\echo [STRING] write string to standard output\n"
 msgstr "  \\echo [字串]     向标准输出写出文本\n"
 
-#: help.c:203
+#: help.c:206
 #, c-format
 msgid "  \\i FILE        execute commands from file\n"
 msgstr "  \\i 文件名        执行来自文件的命令\n"
 
-#: help.c:204
+#: help.c:207
 #, c-format
 msgid "  \\o [FILE]      send all query results to file or |pipe\n"
 msgstr "  \\o [文件名]      向文件或者 |管道 发送所有查询结果\n"
 
-#: help.c:205
+#: help.c:208
 #, c-format
 msgid ""
 "  \\qecho [STRING]\n"
 "                 write string to query output stream (see \\o)\n"
 msgstr ""
 "  \\qecho [字串]\n"
-"                   向查询输出流写出文本 (见 \\o)\n"
+"                    向查询输出流写出文本 (见 \\o)\n"
 
-#: help.c:209
+#: help.c:212
 #, c-format
 msgid "Informational\n"
 msgstr "信息选项\n"
 
-#: help.c:210
+#: help.c:213
 #, c-format
 msgid "  \\d [NAME]      describe table, index, sequence, or view\n"
 msgstr "  \\d [名字]        描述表, 索引, 序列, 或者视图\n"
 
-#: help.c:211
+#: help.c:214
 #, c-format
 msgid ""
 "  \\d{t|i|s|v|S} [PATTERN] (add \"+\" for more detail)\n"
 "                 list tables/indexes/sequences/views/system tables\n"
 msgstr ""
 "  \\d{t|i|s|v|S} [模式] (加 \"+\" 获取更多信息)\n"
-"                   列出表/索引/序列/视图/系统表\n"
+"                    列出表/索引/序列/视图/系统表\n"
 
-#: help.c:213
+#: help.c:216
 #, c-format
 msgid "  \\da [PATTERN]  list aggregate functions\n"
 msgstr "  \\da [模式]       列出聚集函数\n"
 
-#: help.c:214
+#: help.c:217
 #, c-format
 msgid "  \\db [PATTERN]  list tablespaces (add \"+\" for more detail)\n"
 msgstr "  \\db [模式]       列出表空间 (加 \"+\" 获取更多的信息)\n"
 
-#: help.c:215
+#: help.c:218
 #, c-format
 msgid "  \\dc [PATTERN]  list conversions\n"
 msgstr "  \\dc [模式]       列出编码转换\n"
 
-#: help.c:216
+#: help.c:219
 #, c-format
 msgid "  \\dC            list casts\n"
 msgstr "  \\dC              列出类型转换\n"
 
-#: help.c:217
+#: help.c:220
 #, c-format
 msgid "  \\dd [PATTERN]  show comment for object\n"
 msgstr "  \\dd [模式]       显示目标的注释\n"
 
-#: help.c:218
+#: help.c:221
 #, c-format
 msgid "  \\dD [PATTERN]  list domains\n"
 msgstr "  \\dD [模式]       列出域\n"
 
-#: help.c:219
+#: help.c:222
 #, c-format
 msgid "  \\df [PATTERN]  list functions (add \"+\" for more detail)\n"
 msgstr "  \\df [模式]       列出函数 (加 \"+\" 获取更多的信息)\n"
 
-#: help.c:220
+#: help.c:223
 #, c-format
 msgid "  \\dg [PATTERN]  list groups\n"
 msgstr "  \\dg [模式]       列出组\n"
 
-#: help.c:221
+#: help.c:224
 #, c-format
 msgid "  \\dn [PATTERN]  list schemas (add \"+\" for more detail)\n"
 msgstr "  \\dn [模式]       列出模式 (加 \"+\" 获取更多的信息)\n"
 
-#: help.c:222
+#: help.c:225
 #, c-format
 msgid "  \\do [NAME]     list operators\n"
 msgstr "  \\do [名字]       列出操作符\n"
 
-#: help.c:223
+#: help.c:226
 #, c-format
 msgid "  \\dl            list large objects, same as \\lo_list\n"
 msgstr "  \\dl              列出大对象, 和 \\lo_list 一样\n"
 
-#: help.c:224
+#: help.c:227
 #, c-format
-msgid "  \\dp [PATTERN]  list table, view and sequence access privileges\n"
+msgid "  \\dp [PATTERN]  list table, view, and sequence access privileges\n"
 msgstr "  \\dp [模式]       列出表, 视图, 序列的访问权限\n"
 
-#: help.c:225
+#: help.c:228
 #, c-format
 msgid "  \\dT [PATTERN]  list data types (add \"+\" for more detail)\n"
 msgstr "  \\dT [模式]       列出数据类型 (加 \"+\" 获取更多的信息)\n"
 
-#: help.c:226
+#: help.c:229
 #, c-format
 msgid "  \\du [PATTERN]  list users\n"
 msgstr "  \\du [模式]       列出用户\n"
 
-#: help.c:227
+#: help.c:230
 #, c-format
 msgid "  \\l             list all databases (add \"+\" for more detail)\n"
 msgstr "  \\l               列出所有数据库 (加 \"+\" 获取更多的信息)\n"
 
-#: help.c:228
+#: help.c:231
 #, c-format
 msgid ""
-"  \\z [PATTERN]   list table, view and sequence access privileges (same as "
+"  \\z [PATTERN]   list table, view, and sequence access privileges (same as "
 "\\dp)\n"
 msgstr "  \\z [模式]        列出表, 视图, 序列的访问权限 (和 \\dp 一样)\n"
 
-#: help.c:231
+#: help.c:234
 #, c-format
 msgid "Formatting\n"
 msgstr "格式选项\n"
 
-#: help.c:232
+#: help.c:235
 #, c-format
 msgid "  \\a             toggle between unaligned and aligned output mode\n"
 msgstr "  \\a               在非对齐和对齐的输出模式之间切换\n"
 
-#: help.c:233
+#: help.c:236
 #, c-format
 msgid "  \\C [STRING]    set table title, or unset if none\n"
 msgstr "  \\C [字串]        设置表标题, 如果参数空则取消标题\n"
 
-#: help.c:234
+#: help.c:237
 #, c-format
 msgid ""
 "  \\f [STRING]    show or set field separator for unaligned query output\n"
 msgstr " \\f [字串]         为非对齐查询输出显示或设置域分隔符\n"
 
-#: help.c:235
+#: help.c:238
 #, c-format
 msgid "  \\H             toggle HTML output mode (currently %s)\n"
 msgstr "  \\H               在 HTML 输出模式之间切换 (当前是 %s)\n"
 
-#: help.c:237
+#: help.c:240
 #, c-format
 msgid ""
 "  \\pset NAME [VALUE]\n"
@@ -820,41 +828,41 @@ msgid ""
 "                 recordsep|tuples_only|title|tableattr|pager})\n"
 msgstr ""
 "  \\pset 变量 [值]\n"
-"                   设置表的输出选项\n"
-"                   (变量 := {foramt|border|expanded|fieldsep|null|\n"
-"                   recordsep|tuples_only|title|tableattr|pager})\n"
+"                    设置表的输出选项\n"
+"                    (变量 := {foramt|border|expanded|fieldsep|null|\n"
+"                    recordsep|tuples_only|title|tableattr|pager})\n"
 
-#: help.c:241
+#: help.c:244
 #, c-format
 msgid "  \\t             show only rows (currently %s)\n"
 msgstr "  \\t               只显示行 (当前是 %s)\n"
 
-#: help.c:243
+#: help.c:246
 #, c-format
 msgid "  \\T [STRING]    set HTML <table> tag attributes, or unset if none\n"
 msgstr "  \\T [字串]        设置 HTML <表> 标记属性, 如果没有参数就取消设置\n"
 
-#: help.c:244
+#: help.c:247
 #, c-format
 msgid "  \\x             toggle expanded output (currently %s)\n"
 msgstr "  \\x               在扩展输出之间切换 (目前是 %s)\n"
 
-#: help.c:248
+#: help.c:251
 #, c-format
 msgid "Copy, Large Object\n"
 msgstr "拷贝, 大对象选项\n"
 
-#: help.c:249
+#: help.c:252
 #, c-format
 msgid ""
 "  \\copy ...      perform SQL COPY with data stream to the client host\n"
 msgstr "  \\copy ...        执行 SQL COPY, 数据流指向客户端主机\n"
 
-#: help.c:250
+#: help.c:253
 #, c-format
 msgid ""
 "  \\lo_export LOBOID FILE\n"
-"  \\lo_import FILE [COMMENT] \n"
+"  \\lo_import FILE [COMMENT]\n"
 "  \\lo_list\n"
 "  \\lo_unlink LOBOID    large object operations\n"
 msgstr ""
@@ -863,11 +871,11 @@ msgstr ""
 "  \\lo_list\n"
 "  \\lo_unlink LOBOID    大对象操作\n"
 
-#: help.c:283
+#: help.c:286
 msgid "Available help:\n"
 msgstr "可用帮助:\n"
 
-#: help.c:342
+#: help.c:345
 #, c-format
 msgid ""
 "Command:     %s\n"
@@ -882,7 +890,7 @@ msgstr ""
 "%s\n"
 "\n"
 
-#: help.c:355
+#: help.c:358
 #, c-format
 msgid ""
 "No help available for \"%-.*s\".\n"
@@ -891,11 +899,15 @@ msgstr ""
 "没有 \"%-.*s\" 的可用帮助.\n"
 "用不带参数的 \\h 获取可用帮助.\n"
 
-#: input.c:214
+#: input.c:210
 #, c-format
 msgid "could not save history to file \"%s\": %s\n"
 msgstr "无法将历史保存到文件 \"%s\": %s\n"
 
+#: input.c:213
+msgid "history is not supported by this installation\n"
+msgstr "此安装不支持历史\n"
+
 #: large_obj.c:36
 #, c-format
 msgid "%s: not connected to a database\n"
@@ -911,17 +923,17 @@ msgstr "%s: 
 msgid "%s: unknown transaction status\n"
 msgstr "%s: 未知事务状态\n"
 
-#: large_obj.c:255 describe.c:83 describe.c:187 describe.c:260 describe.c:322
-#: describe.c:369 describe.c:469 describe.c:758 describe.c:1483
-#: describe.c:1730
+#: large_obj.c:256 describe.c:83 describe.c:187 describe.c:260 describe.c:322
+#: describe.c:369 describe.c:469 describe.c:758 describe.c:1488
+#: describe.c:1733
 msgid "Description"
 msgstr "描述"
 
-#: large_obj.c:263
+#: large_obj.c:264
 msgid "Large objects"
 msgstr "大对象"
 
-#: mainloop.c:172
+#: mainloop.c:175
 #, c-format
 msgid "Use \"\\q\" to leave %s.\n"
 msgstr "使用 \"\\q\" 离开 %s.\n"
@@ -945,11 +957,11 @@ msgstr "(%d 
 msgid "%s: out of memory\n"
 msgstr "%s: 内存用尽\n"
 
-#: startup.c:178
+#: startup.c:182
 msgid "User name: "
-msgstr "用户名:"
+msgstr "用户名称:"
 
-#: startup.c:286
+#: startup.c:293
 #, c-format
 msgid ""
 "Welcome to %s %s, the PostgreSQL interactive terminal.\n"
@@ -1000,11 +1012,11 @@ msgstr "%s: 
 msgid "%s: Warning: The -u option is deprecated. Use -U.\n"
 msgstr "%s: 警告: -u 选项已经废弃. 请用 -U.\n"
 
-#: startup.c:629
+#: startup.c:630
 msgid "contains support for command-line editing"
 msgstr "包括命令行编辑的支持"
 
-#: startup.c:652
+#: startup.c:653
 #, c-format
 msgid ""
 "SSL connection (cipher: %s, bits: %i)\n"
@@ -1014,13 +1026,13 @@ msgstr ""
 "\n"
 
 #: describe.c:82 describe.c:177 describe.c:247 describe.c:320 describe.c:415
-#: describe.c:469 describe.c:1476 describe.c:1582 describe.c:1630
+#: describe.c:469 describe.c:1476 describe.c:1585 describe.c:1633
 msgid "Schema"
 msgstr "模式"
 
 #: describe.c:82 describe.c:128 describe.c:177 describe.c:247 describe.c:320
 #: describe.c:362 describe.c:415 describe.c:469 describe.c:1476
-#: describe.c:1583 describe.c:1631 describe.c:1724
+#: describe.c:1586 describe.c:1634 describe.c:1727
 msgid "Name"
 msgstr "名字"
 
@@ -1038,11 +1050,11 @@ msgstr "
 
 #: describe.c:117
 #, c-format
-msgid "This server version (%d) does not support tablespaces.\n"
+msgid "The server version (%d) does not support tablespaces.\n"
 msgstr "此服务器版本 (%d) 不支持表空间.\n"
 
 #: describe.c:128 describe.c:186 describe.c:362 describe.c:1478
-#: describe.c:1724
+#: describe.c:1727
 msgid "Owner"
 msgstr "所有者"
 
@@ -1050,7 +1062,7 @@ msgstr "
 msgid "Location"
 msgstr "位置"
 
-#: describe.c:133 describe.c:415 describe.c:1730
+#: describe.c:133 describe.c:415 describe.c:1733
 msgid "Access privileges"
 msgstr "访问权限"
 
@@ -1126,7 +1138,7 @@ msgstr "
 msgid "sequence"
 msgstr "序列"
 
-#: describe.c:415 describe.c:745 describe.c:1478 describe.c:1584
+#: describe.c:415 describe.c:745 describe.c:1478 describe.c:1587
 msgid "Type"
 msgstr "类型"
 
@@ -1230,12 +1242,12 @@ msgid "?%c? \"%s.%s\""
 msgstr "?%c? \"%s.%s\""
 
 #: describe.c:925
-msgid "PRIMARY KEY, "
-msgstr " PRIMARY KEY, "
+msgid "primary key, "
+msgstr "主键, "
 
 #: describe.c:927
-msgid "UNIQUE, "
-msgstr " UNIQUE, "
+msgid "unique, "
+msgstr "唯一, "
 
 #: describe.c:933
 #, c-format
@@ -1248,8 +1260,8 @@ msgid ", predicate (%s)"
 msgstr ", 术语 (%s)"
 
 #: describe.c:940
-msgid ", CLUSTER"
-msgstr ", CLUSTER"
+msgid ", clustered"
+msgstr ", 簇"
 
 #: describe.c:977
 #, c-format
@@ -1273,18 +1285,6 @@ msgstr "
 msgid "    \"%s\""
 msgstr "    \"%s\""
 
-#: describe.c:1152
-msgid " PRIMARY KEY,"
-msgstr " PRIMARY KEY,"
-
-#: describe.c:1154
-msgid " UNIQUE,"
-msgstr " UNIQUE,"
-
-#: describe.c:1165
-msgid " CLUSTER"
-msgstr " CLUSTER"
-
 #: describe.c:1174
 msgid "Check constraints:"
 msgstr "检查约束:"
@@ -1307,14 +1307,14 @@ msgid "Inherits"
 msgstr "继承"
 
 #: describe.c:1259
-msgid "Contains OIDs"
-msgstr "Contains OIDs"
+msgid "Has OIDs"
+msgstr "Has OIDs"
 
-#: describe.c:1262 describe.c:1634 describe.c:1691
+#: describe.c:1262 describe.c:1637 describe.c:1694
 msgid "yes"
 msgstr "yes"
 
-#: describe.c:1262 describe.c:1635 describe.c:1689
+#: describe.c:1262 describe.c:1638 describe.c:1692
 msgid "no"
 msgstr "no"
 
@@ -1325,7 +1325,7 @@ msgstr "
 
 #: describe.c:1375
 msgid "User name"
-msgstr "用户名"
+msgstr "用户名称"
 
 #: describe.c:1375
 msgid "User ID"
@@ -1352,8 +1352,8 @@ msgid "Groups"
 msgstr "组"
 
 #: describe.c:1391
-msgid "List of database users"
-msgstr "数据库用户列表"
+msgid "List of users"
+msgstr "用户列表"
 
 #: describe.c:1418
 msgid "Group name"
@@ -1364,84 +1364,84 @@ msgid "Group ID"
 msgstr "组 ID"
 
 #: describe.c:1431
-msgid "List of database groups"
-msgstr "数据库组列表"
+msgid "List of groups"
+msgstr "组列表"
 
 #: describe.c:1478
 msgid "special"
 msgstr "特殊"
 
-#: describe.c:1493
+#: describe.c:1483
 msgid "Table"
 msgstr "表"
 
-#: describe.c:1539
+#: describe.c:1542
 #, c-format
 msgid "No matching relations found.\n"
 msgstr "没有找到匹配的关系.\n"
 
-#: describe.c:1541
+#: describe.c:1544
 #, c-format
 msgid "No relations found.\n"
 msgstr "没有找到关系.\n"
 
-#: describe.c:1546
+#: describe.c:1549
 msgid "List of relations"
 msgstr "关系列表"
 
-#: describe.c:1585
+#: describe.c:1588
 msgid "Modifier"
 msgstr "修改者"
 
-#: describe.c:1599
+#: describe.c:1602
 msgid "List of domains"
 msgstr "域列表"
 
-#: describe.c:1632
+#: describe.c:1635
 msgid "Source"
 msgstr "Source"
 
-#: describe.c:1633
+#: describe.c:1636
 msgid "Destination"
 msgstr "Destination"
 
-#: describe.c:1636
+#: describe.c:1639
 msgid "Default?"
 msgstr "Default?"
 
-#: describe.c:1650
+#: describe.c:1653
 msgid "List of conversions"
 msgstr "转换列表"
 
-#: describe.c:1685
+#: describe.c:1688
 msgid "Source type"
 msgstr "源类型"
 
-#: describe.c:1686
+#: describe.c:1689
 msgid "Target type"
 msgstr "目标类型"
 
-#: describe.c:1687
+#: describe.c:1690
 msgid "(binary compatible)"
 msgstr "(二进制兼容)"
 
-#: describe.c:1688
+#: describe.c:1691
 msgid "Function"
 msgstr "函数"
 
-#: describe.c:1690
+#: describe.c:1693
 msgid "in assignment"
 msgstr "in assignment"
 
-#: describe.c:1692
+#: describe.c:1695
 msgid "Implicit?"
 msgstr "隐含的?"
 
-#: describe.c:1700
+#: describe.c:1703
 msgid "List of casts"
 msgstr "类型转换列表"
 
-#: describe.c:1750
+#: describe.c:1753
 msgid "List of schemas"
 msgstr "模式列表"
 
@@ -1548,10 +1548,10 @@ msgid ""
 "\n"
 "ALTER GROUP groupname RENAME TO newname"
 msgstr ""
-"ALTER GROUP 组名 ADD USER 用户名 [, ... ]\n"
-"ALTER GROUP 组名 DROP USER 用户名 [, ... ]\n"
+"ALTER GROUP 组名称 ADD USER 用户名称 [, ... ]\n"
+"ALTER GROUP 组名称 DROP USER 用户名称 [, ... ]\n"
 "\n"
-"ALTER GROUP 组名 RENAME TO 新名字"
+"ALTER GROUP 组名称 RENAME TO 新名称"
 
 #: sql_help.h:53
 msgid "change the definition of an index"
@@ -2187,15 +2187,12 @@ msgstr "
 
 #: sql_help.h:182
 msgid ""
-"CREATE SCHEMA schemaname [ AUTHORIZATION username ] [ TABLESPACE "
-"tablespace ] [ schema_element [ ... ] ]\n"
-"CREATE SCHEMA AUTHORIZATION username [ TABLESPACE tablespace ] "
-"[ schema_element [ ... ] ]"
+"CREATE SCHEMA schemaname [ AUTHORIZATION username ] [ schema_element "
+"[ ... ] ]\n"
+"CREATE SCHEMA AUTHORIZATION username [ schema_element [ ... ] ]"
 msgstr ""
-"CREATE SCHEMA schemaname [ AUTHORIZATION username ] [ TABLESPACE "
-"tablespace ] [ schema_element [ ... ] ]\n"
-"CREATE SCHEMA AUTHORIZATION username [ TABLESPACE tablespace ] "
-"[ schema_element [ ... ] ]"
+"CREATE SCHEMA 模式名称 [ AUTHORIZATION 用户名称 ] [ 模式元素 [ ... ] ]\n"
+"CREATE SCHEMA AUTHORIZATION 用户名称 [ 模式元素 [ ... ] ]"
 
 #: sql_help.h:185
 msgid "define a new sequence generator"
@@ -2314,7 +2311,7 @@ msgstr "
 #: sql_help.h:198
 msgid ""
 "CREATE TABLESPACE tablespacename [ OWNER username ] LOCATION 'directory'"
-msgstr "CREATE TABLESPACE 表空间名称 [ OWNER 用户名 ] LOCATION '目录'"
+msgstr "CREATE TABLESPACE 表空间名称 [ OWNER 用户名称 ] LOCATION '目录'"
 
 #: sql_help.h:201
 msgid "define a new trigger"
@@ -2683,11 +2680,6 @@ msgid ""
 "    TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT "
 "OPTION ]\n"
 "\n"
-"GRANT { CREATE | ALL [ PRIVILEGES ] }\n"
-"    ON TABLESPACE tablespacename [, ...]\n"
-"    TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT "
-"OPTION ]\n"
-"\n"
 "GRANT { EXECUTE | ALL [ PRIVILEGES ] }\n"
 "    ON FUNCTION funcname ([type, ...]) [, ...]\n"
 "    TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT "
@@ -2700,32 +2692,37 @@ msgid ""
 "\n"
 "GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }\n"
 "    ON SCHEMA schemaname [, ...]\n"
+"    TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT "
+"OPTION ]\n"
+"\n"
+"GRANT { CREATE | ALL [ PRIVILEGES ] }\n"
+"    ON TABLESPACE tablespacename [, ...]\n"
 "    TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]"
 msgstr ""
 "GRANT { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }\n"
 "    [,...] | ALL [ PRIVILEGES ] }\n"
 "    ON [ TABLE ] 表名称 [, ...]\n"
-"    TO { 用户名 | GROUP 组名 | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+"    TO { 用户名称 | GROUP 组名称 | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
 "\n"
 "GRANT { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }\n"
 "    ON DATABASE 数据库名称 [, ...]\n"
-"    TO { 用户名 | GROUP 组名 | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-"\n"
-"GRANT { CREATE | ALL [ PRIVILEGES ] }\n"
-"    ON TABLESPACE 表空间名称 [, ...]\n"
-"    TO { 用户名 | GROUP 组名 | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+"    TO { 用户名称 | GROUP 组名称 | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
 "\n"
 "GRANT { EXECUTE | ALL [ PRIVILEGES ] }\n"
 "    ON FUNCTION 函数名称 ([类型, ...]) [, ...]\n"
-"    TO { 用户名 | GROUP 组名 | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+"    TO { 用户名称 | GROUP 组名称 | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
 "\n"
 "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
 "    ON LANGUAGE 语言名称 [, ...]\n"
-"    TO { 用户名 | GROUP 组名 | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+"    TO { 用户名称 | GROUP 组名称 | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
 "\n"
 "GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }\n"
 "    ON SCHEMA 模式名称 [, ...]\n"
-"    TO { 用户名 | GROUP 组名 | PUBLIC } [, ...] [ WITH GRANT OPTION ]"
+"    TO { 用户名称 | GROUP 组名称 | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+"\n"
+"GRANT { CREATE | ALL [ PRIVILEGES ] }\n"
+"    ON TABLESPACE 表空间名称 [, ...]\n"
+"    TO { 用户名称 | GROUP 组名称 | PUBLIC } [, ...] [ WITH GRANT OPTION ]"
 
 #: sql_help.h:329
 msgid "create new rows in a table"
@@ -2847,12 +2844,6 @@ msgid ""
 "    [ CASCADE | RESTRICT ]\n"
 "\n"
 "REVOKE [ GRANT OPTION FOR ]\n"
-"    { CREATE | ALL [ PRIVILEGES ] }\n"
-"    ON TABLESPACE tablespacename [, ...]\n"
-"    FROM { username | GROUP groupname | PUBLIC } [, ...]\n"
-"    [ CASCADE | RESTRICT ]\n"
-"\n"
-"REVOKE [ GRANT OPTION FOR ]\n"
 "    { EXECUTE | ALL [ PRIVILEGES ] }\n"
 "    ON FUNCTION funcname ([type, ...]) [, ...]\n"
 "    FROM { username | GROUP groupname | PUBLIC } [, ...]\n"
@@ -2868,43 +2859,49 @@ msgid ""
 "    { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }\n"
 "    ON SCHEMA schemaname [, ...]\n"
 "    FROM { username | GROUP groupname | PUBLIC } [, ...]\n"
+"    [ CASCADE | RESTRICT ]\n"
+"\n"
+"REVOKE [ GRANT OPTION FOR ]\n"
+"    { CREATE | ALL [ PRIVILEGES ] }\n"
+"    ON TABLESPACE tablespacename [, ...]\n"
+"    FROM { username | GROUP groupname | PUBLIC } [, ...]\n"
 "    [ CASCADE | RESTRICT ]"
 msgstr ""
 "REVOKE [ GRANT OPTION FOR ]\n"
 "    { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER }\n"
 "    [,...] | ALL [ PRIVILEGES ] }\n"
 "    ON [ TABLE ] 表名称 [, ...]\n"
-"    FROM { 用户名 | GROUP 组名 | PUBLIC } [, ...]\n"
+"    FROM { 用户名称 | GROUP 组名称 | PUBLIC } [, ...]\n"
 "    [ CASCADE | RESTRICT ]\n"
 "\n"
 "REVOKE [ GRANT OPTION FOR ]\n"
 "    { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }\n"
 "    ON DATABASE 数据库名称 [, ...]\n"
-"    FROM { 用户名 | GROUP 组名 | PUBLIC } [, ...]\n"
-"    [ CASCADE | RESTRICT ]\n"
-"\n"
-"REVOKE [ GRANT OPTION FOR ]\n"
-"    { CREATE | ALL [ PRIVILEGES ] }\n"
-"    ON TABLESPACE 表空间名称 [, ...]\n"
-"    FROM { 用户名 | GROUP 组名 | PUBLIC } [, ...]\n"
+"    FROM { 用户名称 | GROUP 组名称 | PUBLIC } [, ...]\n"
 "    [ CASCADE | RESTRICT ]\n"
 "\n"
 "REVOKE [ GRANT OPTION FOR ]\n"
 "    { EXECUTE | ALL [ PRIVILEGES ] }\n"
 "    ON FUNCTION 函数名称 ([类型, ...]) [, ...]\n"
-"    FROM { 用户名 | GROUP 组名 | PUBLIC } [, ...]\n"
+"    FROM { 用户名称 | GROUP 组名称 | PUBLIC } [, ...]\n"
 "    [ CASCADE | RESTRICT ]\n"
 "\n"
 "REVOKE [ GRANT OPTION FOR ]\n"
 "    { USAGE | ALL [ PRIVILEGES ] }\n"
 "    ON LANGUAGE 语言名称 [, ...]\n"
-"    FROM { 用户名 | GROUP 组名 | PUBLIC } [, ...]\n"
+"    FROM { 用户名称 | GROUP 组名称 | PUBLIC } [, ...]\n"
 "    [ CASCADE | RESTRICT ]\n"
 "\n"
 "REVOKE [ GRANT OPTION FOR ]\n"
 "    { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }\n"
 "    ON SCHEMA 模式名称 [, ...]\n"
-"    FROM { 用户名 | GROUP 组名 | PUBLIC } [, ...]\n"
+"    FROM { 用户名称 | GROUP 组名称 | PUBLIC } [, ...]\n"
+"    [ CASCADE | RESTRICT ]\n"
+"\n"
+"REVOKE [ GRANT OPTION FOR ]\n"
+"    { CREATE | ALL [ PRIVILEGES ] }\n"
+"    ON TABLESPACE 表空间名称 [, ...]\n"
+"    FROM { 用户名称 | GROUP 组名称 | PUBLIC } [, ...]\n"
 "    [ CASCADE | RESTRICT ]"
 
 #: sql_help.h:374
@@ -3018,8 +3015,8 @@ msgstr ""
 "SET [ SESSION | LOCAL ] TIME ZONE { timezone | LOCAL | DEFAULT }"
 
 #: sql_help.h:397
-msgid "set the constraint mode of the current transaction"
-msgstr "设置当前交易的约束模式"
+msgid "set constraint checking modes for the current transaction"
+msgstr "设置当前交易的约束检查模式"
 
 #: sql_help.h:398
 msgid "SET CONSTRAINTS { ALL | name [, ...] } { DEFERRED | IMMEDIATE }"
@@ -3037,7 +3034,7 @@ msgid ""
 "SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT\n"
 "RESET SESSION AUTHORIZATION"
 msgstr ""
-"SET [ SESSION | LOCAL ] SESSION AUTHORIZATION 用户名\n"
+"SET [ SESSION | LOCAL ] SESSION AUTHORIZATION 用户名称\n"
 "SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT\n"
 "RESET SESSION AUTHORIZATION"
 
@@ -3138,51 +3135,32 @@ msgstr ""
 "VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ 表 ]\n"
 "VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ 表 [ (列 [, ...] ) ] ]"
 
-#~ msgid "RELEASE savepoint_name"
-#~ msgstr "RELEASE savepoint_name"
-
-#~ msgid "ROLLBACK TO savepoint_name"
-#~ msgstr "ROLLBACK TO savepoint_name"
-
-#~ msgid ""
-#~ "SET TRANSACTION\n"
-#~ "    [ ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTED | REPEATABLE "
-#~ "READ | SERIALIZABLE } ]\n"
-#~ "    [ READ WRITE | READ ONLY ]\n"
-#~ "\n"
-#~ "SET SESSION CHARACTERISTICS AS TRANSACTION\n"
-#~ "    [ ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTED | REPEATABLE "
-#~ "READ | SERIALIZABLE } ]\n"
-#~ "    [ READ WRITE | READ ONLY ]"
-#~ msgstr ""
-#~ "SET TRANSACTION\n"
-#~ "    [ ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTED | REPEATABLE "
-#~ "READ | SERIALIZABLE } ]\n"
-#~ "    [ READ WRITE | READ ONLY ]\n"
-#~ "\n"
-#~ "SET SESSION CHARACTERISTICS AS TRANSACTION\n"
-#~ "    [ ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTED | REPEATABLE "
-#~ "READ | SERIALIZABLE } ]\n"
-#~ "    [ READ WRITE | READ ONLY ]"
-
-#~ msgid "  \\db [PATTERN]  list tablespaces\n"
-#~ msgstr "  \\db [模式]       列出表空间\n"
-
-#~ msgid "  \\dn [PATTERN]  list schemas\n"
-#~ msgstr "  \\dn [模式]       列出模式\n"
-
-#~ msgid ""
-#~ "CREATE [ TEMPORARY | TEMP ] SEQUENCE name [ INCREMENT [ BY ] increment ]\n"
-#~ "    [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO "
-#~ "MAXVALUE ]\n"
-#~ "    [ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]\n"
-#~ "    [ TABLESPACE tablespace ]"
-#~ msgstr ""
-#~ "CREATE [ TEMPORARY | TEMP ] SEQUENCE name [ INCREMENT [ BY ] increment ]\n"
-#~ "    [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO "
-#~ "MAXVALUE ]\n"
-#~ "    [ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]\n"
-#~ "    [ TABLESPACE tablespace ]"
-
-#~ msgid "parse error at the end of line\n"
-#~ msgstr "在行尾发生分析错\n"
+#: ../../port/exec.c:193 ../../port/exec.c:307 ../../port/exec.c:350
+#, c-format
+msgid "could not identify current directory: %s"
+msgstr "无法确认当前目录: %s"
+
+#: ../../port/exec.c:323 ../../port/exec.c:359
+#, c-format
+msgid "could not change directory to \"%s\""
+msgstr "无法进入目录 \"%s\""
+
+#: ../../port/exec.c:338
+#, c-format
+msgid "could not read symbolic link \"%s\""
+msgstr "无法读取符号链结 \"%s\""
+
+#: ../../port/exec.c:569
+#, c-format
+msgid "child process exited with exit code %d"
+msgstr "子进程已退出, 退出码为 %d"
+
+#: ../../port/exec.c:572
+#, c-format
+msgid "child process was terminated by signal %d"
+msgstr "子进程被信号 %d 终止"
+
+#: ../../port/exec.c:575
+#, c-format
+msgid "child process exited with unrecognized status %d"
+msgstr "子进程已退出, 未知状态 %d"
diff --git a/src/bin/scripts/po/zh_CN.po b/src/bin/scripts/po/zh_CN.po
index dd6987ceed2..24442f44ec5 100644
--- a/src/bin/scripts/po/zh_CN.po
+++ b/src/bin/scripts/po/zh_CN.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 7.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-08-31 08:56+0000\n"
+"POT-Creation-Date: 2004-11-15 14:20+0000\n"
 "PO-Revision-Date: 2003-09-15 21:03+0000\n"
 "Last-Translator: Bao Wei <weibao@qmail.zhengmai.net.cn>\n"
 "Language-Team: Weiping He <laser@zhengmai.com.cn>\n"
@@ -657,37 +657,47 @@ msgstr ""
 "\n"
 "阅读 SQL 命令 VACUUM 的描述信息, 以便获得更详细的信息.\n"
 
-#: common.c:86 common.c:112
+#: common.c:33
+#, c-format
+msgid "%s: could not obtain information about current user: %s"
+msgstr "%s: 无法获得当前用户的信息: %s"
+
+#: common.c:44
+#, c-format
+msgid "%s: could not get current user name: %s"
+msgstr "%s: 无法获取当前用户名称: %s"
+
+#: common.c:89 common.c:115
 msgid "Password: "
 msgstr "口令: "
 
-#: common.c:99
+#: common.c:102
 #, c-format
 msgid "%s: could not connect to database %s\n"
 msgstr "%s: 无法联接到数据库 %s\n"
 
-#: common.c:122
+#: common.c:125
 #, c-format
 msgid "%s: could not connect to database %s: %s"
 msgstr "%s: 无法联接到数据库 %s: %s"
 
-#: common.c:146
+#: common.c:149
 #, c-format
 msgid "%s: query failed: %s"
 msgstr "%s: 查询失败: %s"
 
-#: common.c:147
+#: common.c:150
 #, c-format
 msgid "%s: query was: %s\n"
 msgstr "%s: 查询是: %s\n"
 
 #. translator: Make sure the (y/n) prompts match the translation of this.
-#: common.c:161
+#: common.c:164
 msgid "y"
 msgstr "y"
 
 #. translator: Make sure the (y/n) prompts match the translation of this.
-#: common.c:163
+#: common.c:166
 msgid "n"
 msgstr "n"
 
diff --git a/src/interfaces/libpq/po/zh_CN.po b/src/interfaces/libpq/po/zh_CN.po
index c8d12aec42d..9c1474e38fa 100644
--- a/src/interfaces/libpq/po/zh_CN.po
+++ b/src/interfaces/libpq/po/zh_CN.po
@@ -1,13 +1,13 @@
 # simplified Chinese translation file for libpq
 # Bao Wei <weibao@forevertek.com>, 2002
 #
-# $PostgreSQL: pgsql/src/interfaces/libpq/po/zh_CN.po,v 1.6 2004/09/13 12:35:18 petere Exp $
+# $PostgreSQL: pgsql/src/interfaces/libpq/po/zh_CN.po,v 1.7 2004/12/11 19:09:08 petere Exp $
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 7.4\n"
+"Project-Id-Version: PostgreSQL 8.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-08-31 08:59+0000\n"
+"POT-Creation-Date: 2004-12-02 10:00+0000\n"
 "PO-Revision-Date: 2003-09-15 13:47:06+0800\n"
 "Last-Translator: Bao Wei <weibao@qmail.zhengmai.net.cn>\n"
 "Language-Team: Weiping He <laser@zhengmai.com.cn>\n"
@@ -44,6 +44,13 @@ msgstr "
 msgid "SCM_CRED authentication method not supported\n"
 msgstr "不支持 SCM_CRED 认证方式\n"
 
+# fe-connect.c:2427 fe-connect.c:2436 fe-connect.c:2933 fe-exec.c:1284
+# fe-lobj.c:536
+#: fe-auth.c:530 fe-connect.c:1414 fe-connect.c:2629 fe-connect.c:2638
+#: fe-connect.c:3217 fe-lobj.c:556 fe-protocol2.c:1007 fe-protocol3.c:958
+msgid "out of memory\n"
+msgstr "内存用尽\n"
+
 # fe-auth.c:589
 #: fe-auth.c:600
 msgid "Kerberos 4 authentication failed\n"
@@ -82,30 +89,24 @@ msgstr "
 msgid "fe_getauthname: invalid authentication system: %d\n"
 msgstr "fe_getauthname: 无效的认证系统: %d\n"
 
-#: fe-connect.c:452
+#: fe-connect.c:458
 #, c-format
 msgid "invalid sslmode value: \"%s\"\n"
 msgstr "无效的 sslmode 值: \"%s\"\n"
 
-#: fe-connect.c:472
+#: fe-connect.c:478
 #, c-format
 msgid "sslmode value \"%s\" invalid when SSL support is not compiled in\n"
 msgstr "无效的 sslmode 值 \"%s\" 当没有把 SSL 支持编译进来时\n"
 
-# fe-connect.c:708
-#: fe-connect.c:783
-#, c-format
-msgid "could not set socket to non-blocking mode: %s\n"
-msgstr "无法将套接字设置为非阻塞模式: %s\n"
-
 # fe-connect.c:732
-#: fe-connect.c:810
+#: fe-connect.c:794
 #, c-format
 msgid "could not set socket to TCP no delay mode: %s\n"
 msgstr "无法将套接字设置为 TCP 无延迟模式: %s\n"
 
 # fe-connect.c:752
-#: fe-connect.c:841
+#: fe-connect.c:825
 #, c-format
 msgid ""
 "could not connect to server: %s\n"
@@ -117,7 +118,7 @@ msgstr ""
 "\t\"%s\"上准备接受联接?\n"
 
 # fe-connect.c:761
-#: fe-connect.c:853
+#: fe-connect.c:837
 #, c-format
 msgid ""
 "could not connect to server: %s\n"
@@ -129,28 +130,40 @@ msgstr ""
 "%s 上的 TCP/IP 联接?\n"
 
 # fe-misc.c:702
-#: fe-connect.c:946
+#: fe-connect.c:930
 #, c-format
 msgid "could not translate host name \"%s\" to address: %s\n"
 msgstr "无法解释主机名 \"%s\" 到地址: %s\n"
 
 # fe-misc.c:702
-#: fe-connect.c:950
+#: fe-connect.c:934
 #, c-format
 msgid "could not translate Unix-domain socket path \"%s\" to address: %s\n"
 msgstr "无法解释 Unix-domian 套接字路径 \"%s\" 到地址: %s\n"
 
 # fe-connect.c:1232
-#: fe-connect.c:1154
+#: fe-connect.c:1138
 msgid "invalid connection state, probably indicative of memory corruption\n"
 msgstr "无效的联接状态, 可能是存储器数据被破坏的标志\n"
 
 # fe-connect.c:891
-#: fe-connect.c:1197
+#: fe-connect.c:1181
 #, c-format
 msgid "could not create socket: %s\n"
 msgstr "无法创建套接字: %s\n"
 
+# fe-connect.c:708
+#: fe-connect.c:1204
+#, c-format
+msgid "could not set socket to non-blocking mode: %s\n"
+msgstr "无法将套接字设置为非阻塞模式: %s\n"
+
+# fe-auth.c:395
+#: fe-connect.c:1216
+#, c-format
+msgid "could not set socket to close-on-exec mode: %s\n"
+msgstr "无法将套接字设置为执行时关闭 (close-on-exec) 模式: %s\n"
+
 # fe-connect.c:1263
 #: fe-connect.c:1308
 #, c-format
@@ -169,13 +182,6 @@ msgstr "
 msgid "could not send SSL negotiation packet: %s\n"
 msgstr "无法发送 SSL 握手包: %s\n"
 
-# fe-connect.c:2427 fe-connect.c:2436 fe-connect.c:2933 fe-exec.c:1284
-# fe-lobj.c:536
-#: fe-connect.c:1414 fe-connect.c:2538 fe-connect.c:2547 fe-connect.c:3126
-#: fe-lobj.c:556
-msgid "out of memory\n"
-msgstr "内存用尽\n"
-
 # fe-connect.c:1322
 #: fe-connect.c:1427
 #, c-format
@@ -217,112 +223,113 @@ msgid "invalid connection state %c, probably indicative of memory corruption\n"
 msgstr "无效的联接状态 %c, 可能是存储器数据被破坏的标志\n"
 
 # fe-connect.c:2475
-#: fe-connect.c:2586
+#: fe-connect.c:2677
 #, c-format
 msgid "missing \"=\" after \"%s\" in connection info string\n"
 msgstr "在联接信息字串里的 \"%s\" 后面缺少 \"=\"\n"
 
 # fe-connect.c:2524
-#: fe-connect.c:2635
+#: fe-connect.c:2726
 msgid "unterminated quoted string in connection info string\n"
 msgstr "联接信息字串中未结束的引号字串\n"
 
 # fe-connect.c:2558
-#: fe-connect.c:2669
+#: fe-connect.c:2760
 #, c-format
 msgid "invalid connection option \"%s\"\n"
 msgstr "非法联接选项 \"%s\"\n"
 
 # fe-connect.c:2744
-#: fe-connect.c:2891
+#: fe-connect.c:2982
 msgid "connection pointer is NULL\n"
 msgstr "联接指针是 NULL\n"
 
 # fe-connect.c:2953
-#: fe-connect.c:3148
+#: fe-connect.c:3239
 #, c-format
 msgid ""
 "WARNING: Password file %s has world or group read access; permission should "
 "be u=rw (0600)\n"
 msgstr "警告: 口令文件 %s 权限设置不对; 权限应设置 为 u=rw (0600)\n"
 
-#: fe-exec.c:484
+#: fe-exec.c:479
 msgid "NOTICE"
 msgstr "注意"
 
 # fe-exec.c:737
-#: fe-exec.c:653 fe-exec.c:705
+#: fe-exec.c:648 fe-exec.c:700 fe-exec.c:740
 msgid "command string is a null pointer\n"
 msgstr "命令字串是一个空指针\n"
 
 # fe-exec.c:737
-#: fe-exec.c:740
+#: fe-exec.c:733 fe-exec.c:823
 msgid "statement name is a null pointer\n"
 msgstr "声明名字是一个空指针\n"
 
+#: fe-exec.c:748 fe-exec.c:897 fe-exec.c:1572
+msgid "function requires at least protocol version 3.0\n"
+msgstr "函数至少需要 3.0 版本的协议\n"
+
 # fe-exec.c:745
-#: fe-exec.c:771
+#: fe-exec.c:854
 msgid "no connection to the server\n"
 msgstr "没有到服务器的联接\n"
 
 # fe-exec.c:752
-#: fe-exec.c:778
+#: fe-exec.c:861
 msgid "another command is already in progress\n"
 msgstr "已经有另外一条命令在处理\n"
 
-#: fe-exec.c:814 fe-exec.c:1466
-msgid "function requires at least protocol version 3.0\n"
-msgstr "函数至少需要 3.0 版本的协议\n"
-
 # fe-exec.c:1371
-#: fe-exec.c:1116
+#: fe-exec.c:1199
 #, c-format
 msgid "unexpected asyncStatus: %d\n"
 msgstr "意外的 asyncStatus(异步状态): %d\n"
 
-#: fe-exec.c:1221
+#: fe-exec.c:1326
 msgid "COPY terminated by new PQexec"
 msgstr "COPY 被一个新的 PQexec 终止"
 
 # fe-exec.c:1421
-#: fe-exec.c:1229
+#: fe-exec.c:1334
 msgid "COPY IN state must be terminated first\n"
 msgstr "COPY IN 状态必须先结束\n"
 
 # fe-exec.c:1421
-#: fe-exec.c:1249
+#: fe-exec.c:1354
 msgid "COPY OUT state must be terminated first\n"
 msgstr "COPY OUT 状态必须先结束\n"
 
 # fe-exec.c:1780
-#: fe-exec.c:1358 fe-exec.c:1423 fe-exec.c:1508
+#: fe-exec.c:1464 fe-exec.c:1529 fe-exec.c:1614 fe-protocol2.c:1153
+#: fe-protocol3.c:1115
 msgid "no COPY in progress\n"
 msgstr "没有正在处理的 COPY\n"
 
 # fe-exec.c:1884
-#: fe-exec.c:1700
+#: fe-exec.c:1806
 msgid "connection in wrong state\n"
 msgstr "联接处于错误状态\n"
 
 # fe-exec.c:2055
-#: fe-exec.c:1731
+#: fe-exec.c:1837
 msgid "invalid ExecStatusType code"
 msgstr "非法 ExecStatusType 代码"
 
 # fe-exec.c:2108 fe-exec.c:2141
-#: fe-exec.c:1795 fe-exec.c:1818
+#: fe-exec.c:1901 fe-exec.c:1924
 #, c-format
 msgid "column number %d is out of range 0..%d"
 msgstr "列号码 %d 超出了范围 0..%d"
 
 # fe-exec.c:2130
-#: fe-exec.c:1811
+#: fe-exec.c:1917
 #, c-format
 msgid "row number %d is out of range 0..%d"
 msgstr "行号码 %d 超出了范围 0..%d"
 
 # fe-exec.c:2325
-#: fe-exec.c:2093
+#: fe-exec.c:2199
 #, c-format
 msgid "could not interpret result from server: %s"
 msgstr "无法解释来自服务器的结果: %s"
@@ -457,126 +464,260 @@ msgstr "
 msgid "select() failed: %s\n"
 msgstr "select() 失败: %s\n"
 
-#: fe-secure.c:262
+# fe-connect.c:1549
+#: fe-protocol2.c:91
+#, c-format
+msgid "invalid setenv state %c, probably indicative of memory corruption\n"
+msgstr "无效的 setenv 状态 %c, 可能是内存被破坏\n"
+
+# fe-connect.c:1549
+#: fe-protocol2.c:333
+#, c-format
+msgid "invalid state %c, probably indicative of memory corruption\n"
+msgstr "无效状态 %c, 可能是内存被破坏\n"
+
+#: fe-protocol2.c:423 fe-protocol3.c:183
+#, c-format
+msgid "message type 0x%02x arrived from server while idle"
+msgstr "当空闲时收到服务起发送过来的消息类型 0x%02x"
+
+#: fe-protocol2.c:462
+#, c-format
+msgid "unexpected character %c following empty query response (\"I\" message)"
+msgstr "unexpected character %c following empty query response (\"I\" message)"
+
+#: fe-protocol2.c:517
+msgid ""
+"server sent data (\"D\" message) without prior row description (\"T\" "
+"message)"
+msgstr ""
+"server sent data (\"D\" message) without prior row description (\"T\" "
+"message)"
+
+#: fe-protocol2.c:533
+msgid ""
+"server sent binary data (\"B\" message) without prior row description (\"T\" "
+"message)"
+msgstr ""
+"server sent binary data (\"B\" message) without prior row description (\"T\" "
+"message)"
+
+# fe-connect.c:1378
+#: fe-protocol2.c:548 fe-protocol3.c:344
+#, c-format
+msgid "unexpected response from server; first received character was \"%c\"\n"
+msgstr "来自服务器意外的回执, 第一个收到的字符是 \"%c\"\n"
+
+# fe-connect.c:2427 fe-connect.c:2436 fe-connect.c:2933 fe-exec.c:1284
+# fe-lobj.c:536
+#: fe-protocol2.c:760 fe-protocol3.c:577
+msgid "out of memory for query result\n"
+msgstr "为查询结果内存用尽\n"
+
+#: fe-protocol2.c:1196 fe-protocol3.c:1184
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: fe-protocol2.c:1208
+msgid "lost synchronization with server, resetting connection"
+msgstr "失去与服务器同步, 重置连接"
+
+#: fe-protocol2.c:1343 fe-protocol2.c:1375 fe-protocol3.c:1387
+#, c-format
+msgid "protocol error: id=0x%x\n"
+msgstr "协议错误: id=0x%x\n"
+
+#: fe-protocol3.c:306
+msgid ""
+"server sent data (\"D\" message) without prior row description (\"T\" "
+"message)\n"
+msgstr ""
+"server sent data (\"D\" message) without prior row description (\"T\" "
+"message)\n"
+
+#: fe-protocol3.c:365
+#, c-format
+msgid "message contents do not agree with length in message type \"%c\"\n"
+msgstr "在消息类型 \"%c\" 中, 消息内容与长度不匹配\n"
+
+#: fe-protocol3.c:386
+#, c-format
+msgid "lost synchronization with server: got message type \"%c\", length %d\n"
+msgstr "失去与服务器同步: 获取到消息类型 \"%c\", 长度 %d\n"
+
+#: fe-protocol3.c:522
+msgid "unexpected field count in \"D\" message\n"
+msgstr "在 \"D\" 消息中, 意外的字段数\n"
+
+#. translator: %s represents a digit string
+#: fe-protocol3.c:651 fe-protocol3.c:659
+#, c-format
+msgid " at character %s"
+msgstr " 在字符 %s"
+
+#: fe-protocol3.c:668
+#, c-format
+msgid "DETAIL:  %s\n"
+msgstr "描述:  %s\n"
+
+#: fe-protocol3.c:671
+#, c-format
+msgid "HINT:  %s\n"
+msgstr "提示:  %s\n"
+
+#: fe-protocol3.c:674
+#, c-format
+msgid "QUERY:  %s\n"
+msgstr "查询:  %s\n"
+
+#: fe-protocol3.c:677
+#, c-format
+msgid "CONTEXT:  %s\n"
+msgstr "背景:  %s\n"
+
+#: fe-protocol3.c:689
+msgid "LOCATION:  "
+msgstr "位置:  "
+
+#: fe-protocol3.c:691
+#, c-format
+msgid "%s, "
+msgstr "%s, "
+
+#: fe-protocol3.c:693
+#, c-format
+msgid "%s:%s"
+msgstr "%s:%s"
+
+#: fe-protocol3.c:1000
+msgid "PQgetline: not doing text COPY OUT\n"
+msgstr "PQgetline: not doing text COPY OUT\n"
+
+#: fe-secure.c:264
 #, c-format
 msgid "could not establish SSL connection: %s\n"
 msgstr "无法建立 SSL 联接: %s\n"
 
-#: fe-secure.c:325 fe-secure.c:406 fe-secure.c:1036
+#: fe-secure.c:335 fe-secure.c:420 fe-secure.c:1033
 #, c-format
 msgid "SSL SYSCALL error: %s\n"
 msgstr "SSL SYSCALL 错误: %s\n"
 
-#: fe-secure.c:330 fe-secure.c:411 fe-secure.c:1040
+#: fe-secure.c:340 fe-secure.c:425 fe-secure.c:1037
 msgid "SSL SYSCALL error: EOF detected\n"
 msgstr "SSL SYSCALL 错误: 发现结束符\n"
 
 # fe-auth.c:232
-#: fe-secure.c:342 fe-secure.c:422 fe-secure.c:1049
+#: fe-secure.c:352 fe-secure.c:436 fe-secure.c:1056
 #, c-format
 msgid "SSL error: %s\n"
 msgstr "SSL 错误: %s\n"
 
-#: fe-secure.c:352 fe-secure.c:432 fe-secure.c:1057
-msgid "unrecognized SSL error code\n"
-msgstr "未知的 SSL 错误码\n"
+#: fe-secure.c:362 fe-secure.c:446 fe-secure.c:1066
+#, c-format
+msgid "unrecognized SSL error code: %d\n"
+msgstr "未知的 SSL 错误码: %d\n"
 
 # fe-lobj.c:498
-#: fe-secure.c:494
+#: fe-secure.c:509
 #, c-format
 msgid "error querying socket: %s\n"
 msgstr "查询套接字错误: %s\n"
 
 # fe-connect.c:1263
-#: fe-secure.c:522
+#: fe-secure.c:537
 #, c-format
-msgid "could not get information about host (%s): %s\n"
-msgstr "无法获取关于主机 (%s) 的信息: %s\n"
+msgid "could not get information about host \"%s\": %s\n"
+msgstr "无法获取关于主机 \"%s\" 的信息: %s\n"
 
-#: fe-secure.c:541
+#: fe-secure.c:556
 msgid "unsupported protocol\n"
 msgstr "不支持的协议\n"
 
-#: fe-secure.c:563
+#: fe-secure.c:578
 #, c-format
 msgid "server common name \"%s\" does not resolve to %ld.%ld.%ld.%ld\n"
 msgstr "服务器名字 \"%s\" 不能解析到 %ld.%ld.%ld.%ld\n"
 
-#: fe-secure.c:570
+#: fe-secure.c:585
 #, c-format
 msgid "server common name \"%s\" does not resolve to peer address\n"
 msgstr "服务器名字 \"%s\" 不能解析到对端地址\n"
 
 # fe-connect.c:1263
-#: fe-secure.c:753
+#: fe-secure.c:767
 msgid "could not get user information\n"
 msgstr "无法获取用户信息\n"
 
 # fe-lobj.c:400 fe-lobj.c:483
-#: fe-secure.c:765
+#: fe-secure.c:777
 #, c-format
-msgid "could not open certificate (%s): %s\n"
-msgstr "无法打开证书 (%s): %s\n"
+msgid "could not open certificate file \"%s\": %s\n"
+msgstr "无法打开证书文件 \"%s\": %s\n"
 
 # fe-lobj.c:400 fe-lobj.c:483
-#: fe-secure.c:774
+#: fe-secure.c:786
 #, c-format
-msgid "could not read certificate (%s): %s\n"
-msgstr "无法读取证书 (%s): %s\n"
+msgid "could not read certificate file \"%s\": %s\n"
+msgstr "无法读取证书文件 \"%s\": %s\n"
 
-#: fe-secure.c:788
+#: fe-secure.c:800
 #, c-format
-msgid "certificate present, but not private key (%s)\n"
-msgstr "有证书, 但不是私钥 (%s)\n"
+msgid "certificate present, but not private key file \"%s\"\n"
+msgstr "有证书, 但不是私钥文件 \"%s\"\n"
 
-#: fe-secure.c:797
+#: fe-secure.c:808
 #, c-format
-msgid "private key (%s) has wrong permissions\n"
-msgstr "私钥 (%s) 有错误的许可\n"
+msgid "private key file \"%s\" has wrong permissions\n"
+msgstr "私钥文件 \"%s\" 有错误的许可\n"
 
 # fe-lobj.c:400 fe-lobj.c:483
-#: fe-secure.c:804
+#: fe-secure.c:815
 #, c-format
-msgid "could not open private key file (%s): %s\n"
-msgstr "无法打开私钥文件 (%s): %s\n"
+msgid "could not open private key file \"%s\": %s\n"
+msgstr "无法打开私钥文件 \"%s\": %s\n"
 
-#: fe-secure.c:813
+#: fe-secure.c:823
 #, c-format
-msgid "private key (%s) changed during execution\n"
-msgstr "在执行过程中私钥 (%s) 改变了\n"
+msgid "private key file \"%s\" changed during execution\n"
+msgstr "在执行过程中私钥文件 \"%s\" 改变了\n"
 
 # fe-connect.c:891
-#: fe-secure.c:822
+#: fe-secure.c:831
 #, c-format
-msgid "could not read private key (%s): %s\n"
-msgstr "无法读取私钥 (%s): %s\n"
+msgid "could not read private key file \"%s\": %s\n"
+msgstr "无法读取私钥文件 \"%s\": %s\n"
 
-#: fe-secure.c:837
+#: fe-secure.c:845
 #, c-format
-msgid "certificate/private key mismatch (%s): %s\n"
-msgstr "证书/私钥不匹配 (%s): %s\n"
+msgid "certificate does not match private key file \"%s\": %s\n"
+msgstr "证书不匹配私钥文件 \"%s\": %s\n"
 
-#: fe-secure.c:921
+#: fe-secure.c:927
 #, c-format
 msgid "could not create SSL context: %s\n"
 msgstr "无法创建 SSL 环境: %s\n"
 
 # fe-connect.c:891
-#: fe-secure.c:966 fe-secure.c:976
+#: fe-secure.c:972
 #, c-format
-msgid "could not read root certificate list (%s): %s\n"
-msgstr "无法读取根证书列表 (%s): %s\n"
+msgid "could not read root certificate file \"%s\": %s\n"
+msgstr "无法读取根证书文件 \"%s\": %s\n"
 
-#: fe-secure.c:1076
+#: fe-secure.c:1086
 #, c-format
 msgid "certificate could not be validated: %s\n"
 msgstr "无法验证证书: %s\n"
 
-#: fe-secure.c:1090
+#: fe-secure.c:1100
 #, c-format
 msgid "certificate could not be obtained: %s\n"
 msgstr "无法获得证书: %s\n"
 
+#~ msgid "certificate/private key mismatch (%s): %s\n"
+#~ msgstr "证书/私钥不匹配 (%s): %s\n"
+
 # fe-misc.c:702
 #~ msgid "could not translate local service to address: %s\n"
 #~ msgstr "无法解释本地服务到地址: %s\n"
-- 
GitLab