msgstr ""
"Project-Id-Version: postgres (PostgreSQL 9.0)\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2013-01-29 13:41+0000\n"
-"PO-Revision-Date: 2013-06-24 14:11-0400\n"
+"POT-Creation-Date: 2014-11-22 21:11+0000\n"
+"PO-Revision-Date: 2014-12-06 13:18+0800\n"
"Last-Translator: Xiong He <iihero@qq.com>\n"
"Language-Team: Chinese (Simplified)\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 1.5.4\n"
-#: ../port/chklocale.c:328 ../port/chklocale.c:334
+#: ../common/exec.c:127 ../common/exec.c:241 ../common/exec.c:284
#, c-format
-msgid "could not determine encoding for locale \"%s\": codeset is \"%s\""
-msgstr "无法确定语言环境\"%s\"的编码: 代码集是\"%s\""
+msgid "could not identify current directory: %s"
+msgstr "无法确认当前目录: %s"
-#: ../port/chklocale.c:336
+# command.c:122
+#: ../common/exec.c:146
#, c-format
-msgid "Please report this to <pgsql-bugs@postgresql.org>."
-msgstr "请向 <pgsql-bugs@postgresql.org>发送报告."
+msgid "invalid binary \"%s\""
+msgstr "无效的二进制码 \"%s\""
-#: ../port/dirmod.c:79 ../port/dirmod.c:92 ../port/dirmod.c:109
+# command.c:1103
+#: ../common/exec.c:195
#, c-format
-msgid "out of memory\n"
-msgstr "内存溢出\n"
+msgid "could not read binary \"%s\""
+msgstr "无法读取二进制码 \"%s\""
-#: ../port/dirmod.c:291
+#: ../common/exec.c:202
#, c-format
-msgid "could not set junction for \"%s\": %s"
-msgstr "æ\97 æ³\95为\"%s\"设置è¿\9eæ\8e¥ç\82¹: %s"
+msgid "could not find a \"%s\" to execute"
+msgstr "æ\9cªè\83½æ\89¾å\88°ä¸\80个 \"%s\" æ\9d¥æ\89§è¡\8c"
-#: ../port/dirmod.c:294
+#: ../common/exec.c:257 ../common/exec.c:293
#, c-format
-msgid "could not set junction for \"%s\": %s\n"
-msgstr "无法为\"%s\"设置连接点: %s\n"
+msgid "could not change directory to \"%s\": %s"
+msgstr "无法跳转到目录 \"%s\" 中: %s"
-#: ../port/dirmod.c:366
+#: ../common/exec.c:272
#, c-format
-msgid "could not get junction for \"%s\": %s"
-msgstr "无法得到联接 \"%s\": %s"
+msgid "could not read symbolic link \"%s\""
+msgstr "无法读取符号链接 \"%s\""
-#: ../port/dirmod.c:369
+#: ../common/exec.c:523
#, c-format
-msgid "could not get junction for \"%s\": %s\n"
-msgstr "无法得到联接 \"%s\": %s\n"
+msgid "pclose failed: %s"
+msgstr "pclose调用失败: %s"
+
+#: ../common/fe_memutils.c:33 ../common/fe_memutils.c:60
+#: ../common/fe_memutils.c:83 ../common/psprintf.c:181 ../port/path.c:598
+#: ../port/path.c:636 ../port/path.c:653
+#, c-format
+msgid "out of memory\n"
+msgstr "内存溢出\n"
-#: ../port/dirmod.c:451
+# common.c:78
+#: ../common/fe_memutils.c:77
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "无法复制空指针 (内部错误)\n"
+
+#: ../common/pgfnames.c:45
#, c-format
msgid "could not open directory \"%s\": %s\n"
msgstr "无法打开目录 \"%s\": %s\n"
-#: ../port/dirmod.c:488
+#: ../common/pgfnames.c:72
#, c-format
msgid "could not read directory \"%s\": %s\n"
msgstr "无法读取目录 \"%s\": %s\n"
-#: ../port/dirmod.c:571
+#: ../common/pgfnames.c:84
+#, c-format
+#| msgid "could not open directory \"%s\": %s\n"
+msgid "could not close directory \"%s\": %s\n"
+msgstr "无法关闭目录 \"%s\": %s\n"
+
+#: ../common/psprintf.c:179 ../port/path.c:596 ../port/path.c:634
+#: ../port/path.c:651 access/transam/xlog.c:6123 lib/stringinfo.c:258
+#: libpq/auth.c:823 libpq/auth.c:1179 libpq/auth.c:1247 libpq/auth.c:1647
+#: postmaster/bgworker.c:267 postmaster/bgworker.c:783
+#: postmaster/postmaster.c:2173 postmaster/postmaster.c:2204
+#: postmaster/postmaster.c:3740 postmaster/postmaster.c:4441
+#: postmaster/postmaster.c:4526 postmaster/postmaster.c:5218
+#: postmaster/postmaster.c:5450 storage/buffer/buf_init.c:154
+#: storage/buffer/localbuf.c:396 storage/file/fd.c:458 storage/file/fd.c:855
+#: storage/file/fd.c:973 storage/file/fd.c:1586 storage/ipc/procarray.c:909
+#: storage/ipc/procarray.c:1395 storage/ipc/procarray.c:1402
+#: storage/ipc/procarray.c:1751 storage/ipc/procarray.c:2335
+#: utils/adt/formatting.c:1519 utils/adt/formatting.c:1639
+#: utils/adt/formatting.c:1760 utils/adt/regexp.c:219 utils/adt/varlena.c:3653
+#: utils/adt/varlena.c:3674 utils/fmgr/dfmgr.c:224 utils/hash/dynahash.c:379
+#: utils/hash/dynahash.c:456 utils/hash/dynahash.c:970 utils/mb/mbutils.c:376
+#: utils/mb/mbutils.c:709 utils/misc/guc.c:3571 utils/misc/guc.c:3587
+#: utils/misc/guc.c:3600 utils/misc/tzparser.c:470 utils/mmgr/aset.c:499
+#: utils/mmgr/aset.c:678 utils/mmgr/aset.c:872 utils/mmgr/aset.c:1114
+#, c-format
+msgid "out of memory"
+msgstr "内存用尽"
+
+#: ../common/relpath.c:59
+#, c-format
+msgid "invalid fork name"
+msgstr "无效分支名称"
+
+#: ../common/relpath.c:60
+#, c-format
+#| msgid "Valid fork names are \"main\", \"fsm\", and \"vm\"."
+msgid "Valid fork names are \"main\", \"fsm\", \"vm\", and \"init\"."
+msgstr "有效的分支名称是 \"main\", \"fsm\", \"vm\"和\"init\"."
+
+#: ../common/rmtree.c:77
#, c-format
msgid "could not stat file or directory \"%s\": %s\n"
msgstr "无法获取文件或目录\"%s\"的状态: %s\n"
-#: ../port/dirmod.c:598 ../port/dirmod.c:615
+#: ../common/rmtree.c:104 ../common/rmtree.c:121
#, c-format
msgid "could not remove file or directory \"%s\": %s\n"
msgstr "无法删除目录 \"%s\": %s\n"
-#: ../port/exec.c:125 ../port/exec.c:239 ../port/exec.c:282
-#, c-format
-msgid "could not identify current directory: %s"
-msgstr "无法确认当前目录: %s"
-
-# command.c:122
-#: ../port/exec.c:144
+#: ../common/username.c:45
#, c-format
-msgid "invalid binary \"%s\""
-msgstr "无效的二进制码 \"%s\""
+#| msgid "could not load private key file \"%s\": %s"
+msgid "could not look up effective user ID %ld: %s"
+msgstr "无法找到有效的用户ID %ld: %s"
-# command.c:1103
-#: ../port/exec.c:193
-#, c-format
-msgid "could not read binary \"%s\""
-msgstr "无法读取二进制码 \"%s\""
+#: ../common/username.c:47 libpq/auth.c:1594
+#| msgid "server \"%s\" does not exist"
+msgid "user does not exist"
+msgstr "用户不存在"
-#: ../port/exec.c:200
+#: ../common/username.c:61
#, c-format
-msgid "could not find a \"%s\" to execute"
-msgstr "未能找到一个 \"%s\" 来执行"
+msgid "user name lookup failure: %s"
+msgstr "用户名: %s查找失败"
-#: ../port/exec.c:255 ../port/exec.c:291
+#: ../common/wait_error.c:47
#, c-format
-msgid "could not change directory to \"%s\""
-msgstr "无法进入目录 \"%s\""
+msgid "command not executable"
+msgstr "命令无法执行"
-#: ../port/exec.c:270
+#: ../common/wait_error.c:51
#, c-format
-msgid "could not read symbolic link \"%s\""
-msgstr "无法读取符号链接 \"%s\""
+msgid "command not found"
+msgstr "命令没有找到"
-#: ../port/exec.c:526
+#: ../common/wait_error.c:56
#, c-format
msgid "child process exited with exit code %d"
msgstr "子进程已退出, 退出码为 %d"
-#: ../port/exec.c:530
+#: ../common/wait_error.c:63
#, c-format
msgid "child process was terminated by exception 0x%X"
msgstr "子进程被例外(exception) 0x%X 终止"
-#: ../port/exec.c:539
+#: ../common/wait_error.c:73
#, c-format
msgid "child process was terminated by signal %s"
msgstr "子进程被信号 %s 终止"
-#: ../port/exec.c:542
+#: ../common/wait_error.c:77
#, c-format
msgid "child process was terminated by signal %d"
msgstr "子进程被信号 %d 终止"
-#: ../port/exec.c:546
+#: ../common/wait_error.c:82
#, c-format
msgid "child process exited with unrecognized status %d"
msgstr "子进程已退出, 未知状态 %d"
+#: ../port/chklocale.c:259
+#, c-format
+#| msgid "could not determine encoding for locale \"%s\": codeset is \"%s\""
+msgid "could not determine encoding for codeset \"%s\""
+msgstr "无法确定字符集的编码\"%s\""
+
+#: ../port/chklocale.c:260 ../port/chklocale.c:389
+#, c-format
+msgid "Please report this to <pgsql-bugs@postgresql.org>."
+msgstr "请向 <pgsql-bugs@postgresql.org>发送报告."
+
+#: ../port/chklocale.c:381 ../port/chklocale.c:387
+#, c-format
+msgid "could not determine encoding for locale \"%s\": codeset is \"%s\""
+msgstr "无法确定语言环境\"%s\"的编码: 代码集是\"%s\""
+
+#: ../port/dirmod.c:216
+#, c-format
+msgid "could not set junction for \"%s\": %s"
+msgstr "无法为\"%s\"设置连接点: %s"
+
+#: ../port/dirmod.c:219
+#, c-format
+msgid "could not set junction for \"%s\": %s\n"
+msgstr "无法为\"%s\"设置连接点: %s\n"
+
+#: ../port/dirmod.c:291
+#, c-format
+msgid "could not get junction for \"%s\": %s"
+msgstr "无法得到联接 \"%s\": %s"
+
+#: ../port/dirmod.c:294
+#, c-format
+msgid "could not get junction for \"%s\": %s\n"
+msgstr "无法得到联接 \"%s\": %s\n"
+
# fe-lobj.c:400 fe-lobj.c:483
#: ../port/open.c:112
#, c-format
"database system."
msgstr "您可能有反病毒,备份或类似的软件与数据库系统冲突"
+#: ../port/path.c:620
+#, c-format
+#| msgid "could not identify current directory: %s"
+msgid "could not get current working directory: %s\n"
+msgstr "无法得到当前工作目录: %s\n"
+
#: ../port/strerror.c:25
#, c-format
msgid "unrecognized error %d"
msgstr "未知的 SSL 错误码: %d"
-#: ../port/win32error.c:188
+#: ../port/win32error.c:189
#, c-format
msgid "mapped win32 error code %lu to %d"
msgstr "将win32错误代码%2$d映射为%1$lu"
-#: ../port/win32error.c:199
+#: ../port/win32error.c:201
#, c-format
msgid "unrecognized win32 error code: %lu"
msgstr "未知的 win32 错误码: %lu"
-#: access/common/heaptuple.c:645 access/common/heaptuple.c:1399
+#: access/common/heaptuple.c:679 access/common/heaptuple.c:1419
#, c-format
msgid "number of columns (%d) exceeds limit (%d)"
msgstr "字段个数 (%d) 超出限制 (%d)"
msgid "number of index columns (%d) exceeds limit (%d)"
msgstr "索引字段个数 (%d) 超出限制 (%d)"
-#: access/common/indextuple.c:168 access/spgist/spgutils.c:605
+#: access/common/indextuple.c:173 access/spgist/spgutils.c:605
#, c-format
-msgid "index row requires %lu bytes, maximum size is %lu"
-msgstr "索引行需要 %lu 字节, 最大值为 %lu"
+#| msgid "index row requires %lu bytes, maximum size is %lu"
+msgid "index row requires %zu bytes, maximum size is %zu"
+msgstr "索引行需要 %zu 字节, 最大值为 %zu"
-#: access/common/printtup.c:278 tcop/fastpath.c:180 tcop/fastpath.c:567
-#: tcop/postgres.c:1671
+#: access/common/printtup.c:294 tcop/fastpath.c:182 tcop/fastpath.c:571
+#: tcop/postgres.c:1672
#, c-format
msgid "unsupported format code: %d"
msgstr "不支持的格式代码: %d"
-#: access/common/reloptions.c:351
+#: access/common/reloptions.c:396
#, c-format
msgid "user-defined relation parameter types limit exceeded"
msgstr "用户定义的关系参数类型超过限制"
-#: access/common/reloptions.c:635
+#: access/common/reloptions.c:680
#, c-format
msgid "RESET must not include values for parameters"
msgstr "RESET中不能包含参数的值"
-#: access/common/reloptions.c:668
+#: access/common/reloptions.c:713
#, c-format
msgid "unrecognized parameter namespace \"%s\""
msgstr "未识别的参数命名空间 \"%s\""
-#: access/common/reloptions.c:912
+#: access/common/reloptions.c:959 parser/parse_clause.c:268
#, c-format
msgid "unrecognized parameter \"%s\""
msgstr "未识别的参数 \"%s\""
-#: access/common/reloptions.c:937
+#: access/common/reloptions.c:984
#, c-format
msgid "parameter \"%s\" specified more than once"
msgstr "表名 \"%s\" 被指定多次"
-#: access/common/reloptions.c:952
+#: access/common/reloptions.c:999
#, c-format
msgid "invalid value for boolean option \"%s\": %s"
msgstr "布尔选项\"%s\"的值无效:%s"
-#: access/common/reloptions.c:963
+#: access/common/reloptions.c:1010
#, c-format
msgid "invalid value for integer option \"%s\": %s"
msgstr "参数 \"%s\" 的值无效: \"%s\""
-#: access/common/reloptions.c:968 access/common/reloptions.c:986
+#: access/common/reloptions.c:1015 access/common/reloptions.c:1033
#, c-format
msgid "value %s out of bounds for option \"%s\""
msgstr "值 %s超出了选项\"%s\"的范围"
-#: access/common/reloptions.c:970
+#: access/common/reloptions.c:1017
#, c-format
msgid "Valid values are between \"%d\" and \"%d\"."
msgstr "有效值在\"%d\"和\"%d\"之间."
-#: access/common/reloptions.c:981
+#: access/common/reloptions.c:1028
#, c-format
msgid "invalid value for floating point option \"%s\": %s"
msgstr "浮点数类型选项\"%s\"的值无效:%s"
-#: access/common/reloptions.c:988
+#: access/common/reloptions.c:1035
#, c-format
msgid "Valid values are between \"%f\" and \"%f\"."
msgstr "有效值在 \"%f\"和 \"%f\"之间"
-#: access/common/tupconvert.c:107
+#: access/common/tupconvert.c:108
#, c-format
msgid "Returned type %s does not match expected type %s in column %d."
msgstr "在第%3$d列中返回类型%1$s与期望的类型%2$s不匹配."
-#: access/common/tupconvert.c:135
+#: access/common/tupconvert.c:136
#, c-format
msgid ""
"Number of returned columns (%d) does not match expected column count (%d)."
msgstr "所返回列的数量(%d)与所期望列的数量(%d)不匹配."
-#: access/common/tupconvert.c:240
+#: access/common/tupconvert.c:241
#, c-format
msgid ""
"Attribute \"%s\" of type %s does not match corresponding attribute of type "
"%s."
msgstr "类型%2$s的属性\"%1$s\"与对应类型%3$s的属性不匹配。"
-#: access/common/tupconvert.c:252
+#: access/common/tupconvert.c:253
#, c-format
msgid "Attribute \"%s\" of type %s does not exist in type %s."
msgstr "类型%2$s的属性\"%1$s\"在类型%3$s中不存在."
-#: access/common/tupdesc.c:584 parser/parse_relation.c:1183
+#: access/common/tupdesc.c:635 parser/parse_relation.c:1339
#, c-format
msgid "column \"%s\" cannot be declared SETOF"
msgstr "字段 \"%s\" 不能被声明为 SETOF"
-#: access/gin/ginentrypage.c:100 access/nbtree/nbtinsert.c:530
-#: access/nbtree/nbtsort.c:482 access/spgist/spgdoinsert.c:1890
+#: access/gin/ginentrypage.c:108 access/gist/gist.c:1281
+#: access/nbtree/nbtinsert.c:545 access/nbtree/nbtsort.c:485
+#: access/spgist/spgdoinsert.c:1880
#, c-format
-msgid "index row size %lu exceeds maximum %lu for index \"%s\""
-msgstr "索引行的大小 %1$lu 超过了索引\"%3$s\"所允许的最大值%2$lu"
+#| msgid "index row size %lu exceeds maximum %lu for index \"%s\""
+msgid "index row size %zu exceeds maximum %zu for index \"%s\""
+msgstr "索引行的大小 %1$zu 超过了索引\"%3$s\"所允许的最大值%2$zu"
-#: access/gin/ginscan.c:400
+#: access/gin/ginscan.c:402
#, c-format
msgid "old GIN indexes do not support whole-index scans nor searches for nulls"
msgstr "老的GIN索引不支持完整索引 (whole-index) 扫描,也不支持null值搜索"
-#: access/gin/ginscan.c:401
+#: access/gin/ginscan.c:403
#, c-format
msgid "To fix this, do REINDEX INDEX \"%s\"."
msgstr "要解决此问题, 可执行REINDEX INDEX \"%s\"."
-#: access/gist/gist.c:76 access/gist/gistbuild.c:169
-#, c-format
-msgid "unlogged GiST indexes are not supported"
-msgstr "不支持不带事务日志的GiST索引"
-
-#: access/gist/gist.c:600 access/gist/gistvacuum.c:267
+#: access/gist/gist.c:624 access/gist/gistvacuum.c:266
#, c-format
msgid "index \"%s\" contains an inner tuple marked as invalid"
msgstr "索引\"%s\"包含无效的内部元组"
-#: access/gist/gist.c:602 access/gist/gistvacuum.c:269
+#: access/gist/gist.c:626 access/gist/gistvacuum.c:268
#, c-format
msgid ""
"This is caused by an incomplete page split at crash recovery before "
"upgrading to PostgreSQL 9.1."
msgstr "这是在升级到PostgreSQL 9.1之前执行灾难恢复时不完全的页分裂引起的."
-#: access/gist/gist.c:603 access/gist/gistutil.c:640
-#: access/gist/gistutil.c:651 access/gist/gistvacuum.c:270
+#: access/gist/gist.c:627 access/gist/gistutil.c:693
+#: access/gist/gistutil.c:704 access/gist/gistvacuum.c:269
#: access/hash/hashutil.c:172 access/hash/hashutil.c:183
#: access/hash/hashutil.c:195 access/hash/hashutil.c:216
-#: access/nbtree/nbtpage.c:434 access/nbtree/nbtpage.c:445
+#: access/nbtree/nbtpage.c:509 access/nbtree/nbtpage.c:520
#, c-format
msgid "Please REINDEX it."
msgstr "请重建索引 (REINDEX)."
-#: access/gist/gistbuild.c:265
+#: access/gist/gistbuild.c:254
#, c-format
msgid "invalid value for \"buffering\" option"
msgstr "\"buffering\"选项值无效"
-#: access/gist/gistbuild.c:266
+#: access/gist/gistbuild.c:255
#, c-format
msgid "Valid values are \"on\", \"off\", and \"auto\"."
msgstr "有效值为\"on\", \"off\", 或 \"auto\"之一."
-#: access/gist/gistbuildbuffers.c:780 utils/sort/logtape.c:213
+#: access/gist/gistbuildbuffers.c:780 utils/sort/logtape.c:212
#, c-format
msgid "could not write block %ld of temporary file: %m"
msgstr "无法写入临时文件块 %ld: %m"
-#: access/gist/gistsplit.c:375
+#: access/gist/gistsplit.c:446
#, c-format
msgid "picksplit method for column %d of index \"%s\" failed"
msgstr "为索引\"%2$s\"的第%1$d列执行picksplit方法失败"
-#: access/gist/gistsplit.c:377
+#: access/gist/gistsplit.c:448
#, c-format
msgid ""
"The index is not optimal. To optimize it, contact a developer, or try to use "
"索引没有优化.为了优化索引,请联系开发人员,或者在CREATE INDEX命令中尝试在这一列"
"上创建第二个索引."
-#: access/gist/gistutil.c:637 access/hash/hashutil.c:169
-#: access/nbtree/nbtpage.c:431
+#: access/gist/gistutil.c:690 access/hash/hashutil.c:169
+#: access/nbtree/nbtpage.c:506
#, c-format
msgid "index \"%s\" contains unexpected zero page at block %u"
msgstr "索引\"%s\"在块%u上包含未期望的零页"
-#: access/gist/gistutil.c:648 access/hash/hashutil.c:180
-#: access/hash/hashutil.c:192 access/nbtree/nbtpage.c:442
+#: access/gist/gistutil.c:701 access/hash/hashutil.c:180
+#: access/hash/hashutil.c:192 access/nbtree/nbtpage.c:517
#, c-format
msgid "index \"%s\" contains corrupted page at block %u"
msgstr "索引\"%s\"在块%u上包含已损坏的页"
-#: access/hash/hashinsert.c:72
+#: access/hash/hashinsert.c:68
#, c-format
-msgid "index row size %lu exceeds hash maximum %lu"
-msgstr "索引列大小 %lu 超过散列最大值 %lu"
+#| msgid "index row size %lu exceeds hash maximum %lu"
+msgid "index row size %zu exceeds hash maximum %zu"
+msgstr "索引行大小 %zu 超过散列最大值 %zu"
-#: access/hash/hashinsert.c:75 access/spgist/spgdoinsert.c:1894
-#: access/spgist/spgutils.c:667
+#: access/hash/hashinsert.c:70 access/spgist/spgdoinsert.c:1884
+#: access/spgist/spgutils.c:666
#, c-format
msgid "Values larger than a buffer page cannot be indexed."
msgstr "大于一个缓冲页的值无法用于创建索引."
msgid "out of overflow pages in hash index \"%s\""
msgstr "散列索引 \"%s\" 中页溢出"
-#: access/hash/hashsearch.c:151
+#: access/hash/hashsearch.c:153
#, c-format
msgid "hash indexes do not support whole-index scans"
msgstr "散列索引不支持完整索引 (whole-index) 扫描"
msgid "index \"%s\" has wrong hash version"
msgstr "索引 \"%s\" 有错误的散列版本"
-#: access/heap/heapam.c:1085 access/heap/heapam.c:1113
-#: access/heap/heapam.c:1145 catalog/aclchk.c:1728
+#: access/heap/heapam.c:1199 access/heap/heapam.c:1227
+#: access/heap/heapam.c:1259 catalog/aclchk.c:1742
#, c-format
msgid "\"%s\" is an index"
msgstr "\"%s\" 是一个索引"
-#: access/heap/heapam.c:1090 access/heap/heapam.c:1118
-#: access/heap/heapam.c:1150 catalog/aclchk.c:1735 commands/tablecmds.c:8140
-#: commands/tablecmds.c:10386
+#: access/heap/heapam.c:1204 access/heap/heapam.c:1232
+#: access/heap/heapam.c:1264 catalog/aclchk.c:1749 commands/tablecmds.c:8495
+#: commands/tablecmds.c:11279
#, c-format
msgid "\"%s\" is a composite type"
msgstr "\"%s\" 为混和类型"
-#: access/heap/heapam.c:3558 access/heap/heapam.c:3589
-#: access/heap/heapam.c:3624
+#: access/heap/heapam.c:4223 access/heap/heapam.c:4436
+#: access/heap/heapam.c:4493 executor/execMain.c:1992
#, c-format
msgid "could not obtain lock on row in relation \"%s\""
msgstr "无法在关系 \"%s\"中的记录上获得锁"
-#: access/heap/hio.c:239 access/heap/rewriteheap.c:592
+#: access/heap/hio.c:240 access/heap/rewriteheap.c:666
+#, c-format
+#| msgid "row is too big: size %lu, maximum size %lu"
+msgid "row is too big: size %zu, maximum size %zu"
+msgstr "行太大: 尺寸 %zu, 最大值 %zu"
+
+#: access/heap/rewriteheap.c:932
+#, c-format
+#| msgid "Could not write to file \"%s\" at offset %u: %m."
+msgid "could not write to file \"%s\", wrote %d of %d: %m"
+msgstr "无法往文件 \"%s\" 偏移量 %d, %d 写入: %m"
+
+#: access/heap/rewriteheap.c:973 access/heap/rewriteheap.c:1185
+#: access/heap/rewriteheap.c:1282 access/transam/timeline.c:407
+#: access/transam/timeline.c:497 access/transam/xlog.c:3185
+#: access/transam/xlog.c:3315 replication/logical/snapbuild.c:1592
+#: replication/slot.c:1042 replication/slot.c:1131 storage/file/fd.c:436
+#: storage/smgr/md.c:966 storage/smgr/md.c:1197 storage/smgr/md.c:1370
+#: utils/misc/guc.c:6599
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "无法 fsync 文件 \"%s\": %m"
+
+#: access/heap/rewriteheap.c:1028 access/heap/rewriteheap.c:1148
+#: access/transam/timeline.c:315 access/transam/timeline.c:475
+#: access/transam/xlog.c:3141 access/transam/xlog.c:3276
+#: access/transam/xlog.c:9915 access/transam/xlog.c:10230
+#: postmaster/postmaster.c:4216 replication/slot.c:999
+#: storage/file/copydir.c:162 storage/smgr/md.c:304 utils/time/snapmgr.c:976
+#, c-format
+msgid "could not create file \"%s\": %m"
+msgstr "无法创建文件 \"%s\": %m"
+
+#: access/heap/rewriteheap.c:1157
+#, c-format
+#| msgid "could not truncate file \"%s\" to %u blocks: %m"
+msgid "could not truncate file \"%s\" to %u: %m"
+msgstr "无法将文件\"%s\"截断为%u:%m"
+
+#: access/heap/rewriteheap.c:1164 replication/walsender.c:465
+#: storage/smgr/md.c:1782
+#, c-format
+msgid "could not seek to end of file \"%s\": %m"
+msgstr "无法查找到文件\"%s\"的末端: %m"
+
+#: access/heap/rewriteheap.c:1175 access/transam/timeline.c:367
+#: access/transam/timeline.c:401 access/transam/timeline.c:491
+#: access/transam/xlog.c:3176 access/transam/xlog.c:3308
+#: postmaster/postmaster.c:4226 postmaster/postmaster.c:4236
+#: replication/logical/snapbuild.c:1576 replication/slot.c:1028
+#: storage/file/copydir.c:187 utils/init/miscinit.c:1057
+#: utils/init/miscinit.c:1066 utils/init/miscinit.c:1073 utils/misc/guc.c:6567
+#: utils/misc/guc.c:6592 utils/misc/guc.c:8290 utils/misc/guc.c:8304
+#: utils/time/snapmgr.c:981 utils/time/snapmgr.c:988
+#, c-format
+msgid "could not write to file \"%s\": %m"
+msgstr "无法写入文件 \"%s\": %m"
+
+#: access/heap/rewriteheap.c:1258 access/transam/xlog.c:10099
+#: access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:467
+#: replication/logical/reorderbuffer.c:2352
+#: replication/logical/reorderbuffer.c:2409
+#: replication/logical/snapbuild.c:1520 replication/logical/snapbuild.c:1895
+#: replication/slot.c:1105 storage/ipc/dsm.c:326 storage/smgr/md.c:404
+#: storage/smgr/md.c:453 storage/smgr/md.c:1317
+#, c-format
+msgid "could not remove file \"%s\": %m"
+msgstr "无法删除文件 \"%s\": %m"
+
+#: access/heap/rewriteheap.c:1272 access/transam/timeline.c:111
+#: access/transam/timeline.c:236 access/transam/timeline.c:334
+#: access/transam/xlog.c:3117 access/transam/xlog.c:3224
+#: access/transam/xlog.c:3261 access/transam/xlog.c:3536
+#: access/transam/xlog.c:3614 replication/basebackup.c:458
+#: replication/basebackup.c:1167 replication/logical/logicalfuncs.c:152
+#: replication/logical/reorderbuffer.c:1965
+#: replication/logical/reorderbuffer.c:2172
+#: replication/logical/reorderbuffer.c:2801
+#: replication/logical/snapbuild.c:1569 replication/logical/snapbuild.c:1653
+#: replication/slot.c:1120 replication/walsender.c:458
+#: replication/walsender.c:2094 storage/file/copydir.c:155
+#: storage/file/fd.c:422 storage/smgr/md.c:586 storage/smgr/md.c:844
+#: utils/error/elog.c:1797 utils/init/miscinit.c:992
+#: utils/init/miscinit.c:1121 utils/misc/guc.c:6795 utils/misc/guc.c:6813
#, c-format
-msgid "row is too big: size %lu, maximum size %lu"
-msgstr "行太大: 尺寸 %lu, 最大值 %lu"
+msgid "could not open file \"%s\": %m"
+msgstr "无法打开文件 \"%s\": %m"
-#: access/index/indexam.c:162 catalog/objectaddress.c:641
-#: commands/indexcmds.c:1745 commands/tablecmds.c:222
-#: commands/tablecmds.c:10377
+#: access/index/indexam.c:172 catalog/objectaddress.c:855
+#: commands/indexcmds.c:1725 commands/tablecmds.c:232
+#: commands/tablecmds.c:11270
#, c-format
msgid "\"%s\" is not an index"
msgstr "\"%s\" 不是一个索引"
-#: access/nbtree/nbtinsert.c:392
+#: access/nbtree/nbtinsert.c:396
#, c-format
msgid "duplicate key value violates unique constraint \"%s\""
msgstr "重复键违反唯一约束\"%s\""
-#: access/nbtree/nbtinsert.c:394
+#: access/nbtree/nbtinsert.c:398
#, c-format
msgid "Key %s already exists."
msgstr "键值\"%s\" 已经存在"
-#: access/nbtree/nbtinsert.c:456
+#: access/nbtree/nbtinsert.c:466
#, c-format
msgid "failed to re-find tuple within index \"%s\""
msgstr "在索引\"%s\"中重新寻找元组失败"
-#: access/nbtree/nbtinsert.c:458
+#: access/nbtree/nbtinsert.c:468
#, c-format
msgid "This may be because of a non-immutable index expression."
msgstr "这可能是由于一个非不可改变的索引表达式引起的"
-#: access/nbtree/nbtinsert.c:534 access/nbtree/nbtsort.c:486
+#: access/nbtree/nbtinsert.c:548 access/nbtree/nbtsort.c:488
#, c-format
msgid ""
"Values larger than 1/3 of a buffer page cannot be indexed.\n"
"值大于缓冲页的1/3,不能建索引.\n"
"请考虑这个值MD5哈希函数索引,或者使用全文索引."
-#: access/nbtree/nbtpage.c:159 access/nbtree/nbtpage.c:363
-#: parser/parse_utilcmd.c:1584
+#: access/nbtree/nbtpage.c:166 access/nbtree/nbtpage.c:362
+#: access/nbtree/nbtpage.c:449 parser/parse_utilcmd.c:1620
#, c-format
msgid "index \"%s\" is not a btree"
msgstr "索引 \"%s\" 不是一个 btree"
-#: access/nbtree/nbtpage.c:165 access/nbtree/nbtpage.c:369
+#: access/nbtree/nbtpage.c:172 access/nbtree/nbtpage.c:368
+#: access/nbtree/nbtpage.c:455
#, c-format
msgid "version mismatch in index \"%s\": file version %d, code version %d"
msgstr "在索引 \"%s\" 中版本不匹配: 文件版本 %d, 代码版本 %d"
-#: access/spgist/spgutils.c:664
+#: access/nbtree/nbtpage.c:1187
+#, c-format
+#| msgid "Index \"%s\" contains a whole-row table reference."
+msgid "index \"%s\" contains a half-dead internal page"
+msgstr "索引 \"%s\" 包含一个半死的内部页."
+
+#: access/nbtree/nbtpage.c:1189
+#, c-format
+msgid ""
+"This can be caused by an interrupted VACUUM in version 9.3 or older, before "
+"upgrade. Please REINDEX it."
+msgstr ""
+"可能是由于升级之前, 使用了9.3或者更老的版本里的VACUUM命令并产生中断造成的. 请"
+"为它重建索引."
+
+#: access/spgist/spgutils.c:663
+#, c-format
+#| msgid "SP-GiST inner tuple size %lu exceeds maximum %lu"
+msgid "SP-GiST inner tuple size %zu exceeds maximum %zu"
+msgstr "SP-GiST内部元组大小%zu超出最大值%zu"
+
+#: access/transam/multixact.c:990
+#, c-format
+#| msgid ""
+#| "database is not accepting commands to avoid wraparound data loss in "
+#| "database \"%s\""
+msgid ""
+"database is not accepting commands that generate new MultiXactIds to avoid "
+"wraparound data loss in database \"%s\""
+msgstr ""
+"数据库没有接收产生新的MultiXactIds的命令来避免在数据库\"%s\"中的重叠数据损失"
+
+#: access/transam/multixact.c:992 access/transam/multixact.c:999
+#: access/transam/multixact.c:1014 access/transam/multixact.c:1023
+#, c-format
+#| msgid ""
+#| "To avoid a database shutdown, execute a database-wide VACUUM in that "
+#| "database.\n"
+#| "You might also need to commit or roll back old prepared transactions."
+msgid ""
+"Execute a database-wide VACUUM in that database.\n"
+"You might also need to commit or roll back old prepared transactions."
+msgstr ""
+"在数据库中执行数据库范围的VACUUM.\n"
+"您也可能需要提交或回滚旧的已准备好的事务."
+
+#: access/transam/multixact.c:997
+#, c-format
+#| msgid ""
+#| "database is not accepting commands to avoid wraparound data loss in "
+#| "database with OID %u"
+msgid ""
+"database is not accepting commands that generate new MultiXactIds to avoid "
+"wraparound data loss in database with OID %u"
+msgstr ""
+"数据库没有接受产生新的MultiXactIds的命令来避免在带有OID为%u的数据库中的重叠数"
+"据损失"
+
+#: access/transam/multixact.c:1009 access/transam/multixact.c:2201
+#, c-format
+#| msgid "database \"%s\" must be vacuumed within %u transactions"
+msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used"
+msgid_plural ""
+"database \"%s\" must be vacuumed before %u more MultiXactIds are used"
+msgstr[0] "数据库 \"%s\"必须在运行%u个事务前进行清理(vacuume)."
+
+#: access/transam/multixact.c:1018 access/transam/multixact.c:2210
+#, c-format
+#| msgid "database with OID %u must be vacuumed within %u transactions"
+msgid ""
+"database with OID %u must be vacuumed before %u more MultiXactId is used"
+msgid_plural ""
+"database with OID %u must be vacuumed before %u more MultiXactIds are used"
+msgstr[0] "带有OID为%u的数据库必须在%u个MultiXactIds使用前进行清理(vacuume)."
+
+#: access/transam/multixact.c:1169
+#, c-format
+msgid "MultiXactId %u does no longer exist -- apparent wraparound"
+msgstr "MultiXactId的值%u不再使用 -- 明显是回卷了"
+
+#: access/transam/multixact.c:1177
+#, c-format
+#| msgid "could not truncate directory \"%s\": apparent wraparound"
+msgid "MultiXactId %u has not been created yet -- apparent wraparound"
+msgstr "MultiXactId %u还没被创建 -- 有明显的重叠"
+
+#: access/transam/multixact.c:2166
+#, c-format
+#| msgid "transaction ID wrap limit is %u, limited by database with OID %u"
+msgid "MultiXactId wrap limit is %u, limited by database with OID %u"
+msgstr "MultiXactId的封装限制是%u, 限制于OID为%u的数据库."
+
+#: access/transam/multixact.c:2206 access/transam/multixact.c:2215
+#: access/transam/varsup.c:137 access/transam/varsup.c:144
+#: access/transam/varsup.c:374 access/transam/varsup.c:381
+#, c-format
+msgid ""
+"To avoid a database shutdown, execute a database-wide VACUUM in that "
+"database.\n"
+"You might also need to commit or roll back old prepared transactions."
+msgstr ""
+"为了避免关闭数据库,需要在数据库中执行数据库范围的VACUUM.\n"
+"您也可能需要提交或回滚旧的已准备好的事务."
+
+#: access/transam/multixact.c:2799
#, c-format
-msgid "SP-GiST inner tuple size %lu exceeds maximum %lu"
-msgstr "SP-GiST内部元组大小%lu超出最大值%lu"
+#| msgid "invalid role OID: %u"
+msgid "invalid MultiXactId: %u"
+msgstr "无效的MultiXactId:%u"
-#: access/transam/slru.c:607
+#: access/transam/slru.c:651
#, c-format
msgid "file \"%s\" doesn't exist, reading as zeroes"
msgstr "文件 \"%s\" 不存在, 假设读取了 0 字节"
-#: access/transam/slru.c:837 access/transam/slru.c:843
-#: access/transam/slru.c:850 access/transam/slru.c:857
-#: access/transam/slru.c:864 access/transam/slru.c:871
+#: access/transam/slru.c:881 access/transam/slru.c:887
+#: access/transam/slru.c:894 access/transam/slru.c:901
+#: access/transam/slru.c:908 access/transam/slru.c:915
#, c-format
msgid "could not access status of transaction %u"
msgstr "无法处理事物 %u 的状态"
-#: access/transam/slru.c:838
+#: access/transam/slru.c:882
#, c-format
msgid "Could not open file \"%s\": %m."
msgstr "无法打开文件 \"%s\": %m"
-#: access/transam/slru.c:844
+#: access/transam/slru.c:888
#, c-format
msgid "Could not seek in file \"%s\" to offset %u: %m."
msgstr "无法在文件 \"%s\" 偏移量 %u 查找: %m"
-#: access/transam/slru.c:851
+#: access/transam/slru.c:895
#, c-format
msgid "Could not read from file \"%s\" at offset %u: %m."
msgstr "无法从文件 \"%s\" 偏移量 %u 读取: %m"
-#: access/transam/slru.c:858
+#: access/transam/slru.c:902
#, c-format
msgid "Could not write to file \"%s\" at offset %u: %m."
msgstr "无法往文件 \"%s\" 偏移量 %u 写入: %m"
-#: access/transam/slru.c:865
+#: access/transam/slru.c:909
#, c-format
msgid "Could not fsync file \"%s\": %m."
msgstr "无法在文件 \"%s\"上执行系统调用fsync: %m"
-#: access/transam/slru.c:872
+#: access/transam/slru.c:916
#, c-format
msgid "Could not close file \"%s\": %m."
msgstr "无法关闭文件 \"%s\": %m"
-#: access/transam/slru.c:1127
+#: access/transam/slru.c:1171
#, c-format
msgid "could not truncate directory \"%s\": apparent wraparound"
msgstr "无法清空目录\"%s\": 有明显的重叠"
-#: access/transam/slru.c:1201 access/transam/slru.c:1219
+#: access/transam/slru.c:1220
#, c-format
msgid "removing file \"%s\""
msgstr "删除文件 \"%s\""
-#: access/transam/twophase.c:252
+#: access/transam/timeline.c:148 access/transam/timeline.c:153
+#, c-format
+msgid "syntax error in history file: %s"
+msgstr "历史文件中的语法错误: %s"
+
+#: access/transam/timeline.c:149
+#, c-format
+msgid "Expected a numeric timeline ID."
+msgstr "期望一个数字 timeline ID."
+
+# sql_help.h:105
+#: access/transam/timeline.c:154
+#, c-format
+#| msgid "force a transaction log checkpoint"
+msgid "Expected a transaction log switchpoint location."
+msgstr "期望一个事务日志切换点位置."
+
+#: access/transam/timeline.c:158
+#, c-format
+msgid "invalid data in history file: %s"
+msgstr "历史文件中的无效数据: %s"
+
+#: access/transam/timeline.c:159
+#, c-format
+msgid "Timeline IDs must be in increasing sequence."
+msgstr "TimeLine ID 必须为递增序列."
+
+#: access/transam/timeline.c:179
+#, c-format
+msgid "invalid data in history file \"%s\""
+msgstr "历史文件 \"%s\" 中存在无效数据"
+
+#: access/transam/timeline.c:180
+#, c-format
+msgid "Timeline IDs must be less than child timeline's ID."
+msgstr "Timeline ID 必须小于子 timeline 的 ID."
+
+#: access/transam/timeline.c:346 access/transam/xlog.c:3289
+#: access/transam/xlog.c:10081 access/transam/xlog.c:10094
+#: access/transam/xlog.c:10462 access/transam/xlog.c:10505
+#: access/transam/xlogfuncs.c:468 access/transam/xlogfuncs.c:487
+#: replication/logical/reorderbuffer.c:2819 replication/walsender.c:483
+#: storage/file/copydir.c:176 utils/adt/genfile.c:139
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "无法读取文件 \"%s\": %m"
+
+#: access/transam/timeline.c:412 access/transam/timeline.c:502
+#: access/transam/xlog.c:3191 access/transam/xlog.c:3320
+#: access/transam/xlogfuncs.c:493 commands/copy.c:1518
+#: storage/file/copydir.c:201
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "无法关闭文件 \"%s\": %m"
+
+#: access/transam/timeline.c:429 access/transam/timeline.c:519
+#, c-format
+msgid "could not link file \"%s\" to \"%s\": %m"
+msgstr "无法把文件 \"%s\" 链接到 \"%s\": %m"
+
+#: access/transam/timeline.c:436 access/transam/timeline.c:526
+#: access/transam/xlog.c:5403 access/transam/xlog.c:6496
+#: access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:475
+#: access/transam/xlogarchive.c:582 postmaster/pgarch.c:759
+#: replication/logical/snapbuild.c:1606 replication/slot.c:468
+#: replication/slot.c:942 replication/slot.c:1054 utils/misc/guc.c:6843
+#: utils/time/snapmgr.c:999
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "无法把文件 \"%s\" 重命名为 \"%s\": %m"
+
+#: access/transam/timeline.c:598
+#, c-format
+#| msgid "%s: starting timeline %u is not present in the server\n"
+msgid "requested timeline %u is not in this server's history"
+msgstr "服务器上没有起始时间表 %u"
+
+#: access/transam/twophase.c:330
#, c-format
msgid "transaction identifier \"%s\" is too long"
msgstr "事务标示符 \"%s\" 太长"
# large_obj.c:55
-#: access/transam/twophase.c:259
+#: access/transam/twophase.c:337
#, c-format
msgid "prepared transactions are disabled"
msgstr "禁用已准备好的事务"
-#: access/transam/twophase.c:260
+#: access/transam/twophase.c:338
#, c-format
msgid "Set max_prepared_transactions to a nonzero value."
msgstr "将max_prepared_transactions设置为一个非零值"
-#: access/transam/twophase.c:293
+#: access/transam/twophase.c:357
#, c-format
msgid "transaction identifier \"%s\" is already in use"
msgstr "事务标示符\"%s\"已经在使用"
-#: access/transam/twophase.c:302
+#: access/transam/twophase.c:366
#, c-format
msgid "maximum number of prepared transactions reached"
msgstr "已经达到已准备好事务的最大数量"
-#: access/transam/twophase.c:303
+#: access/transam/twophase.c:367
#, c-format
msgid "Increase max_prepared_transactions (currently %d)."
msgstr "增加max_prepared_transactions的值(当前值是%d)."
-#: access/transam/twophase.c:431
+#: access/transam/twophase.c:505
#, c-format
msgid "prepared transaction with identifier \"%s\" is busy"
msgstr "标示符为\"%s\"的事务处于繁忙状态."
-#: access/transam/twophase.c:439
+#: access/transam/twophase.c:511
#, c-format
msgid "permission denied to finish prepared transaction"
msgstr "完成已准备好事务的权限不够"
-#: access/transam/twophase.c:440
+#: access/transam/twophase.c:512
#, c-format
msgid "Must be superuser or the user that prepared the transaction."
msgstr "必须是超级用户或者是准备好事务的用户"
-#: access/transam/twophase.c:451
+#: access/transam/twophase.c:523
#, c-format
msgid "prepared transaction belongs to another database"
msgstr "已准备好的事务属于另一个数据库"
-#: access/transam/twophase.c:452
+#: access/transam/twophase.c:524
#, c-format
msgid ""
"Connect to the database where the transaction was prepared to finish it."
msgstr "连接到带有准备好完成事务的数据库"
-#: access/transam/twophase.c:466
+#: access/transam/twophase.c:539
#, c-format
msgid "prepared transaction with identifier \"%s\" does not exist"
msgstr "带有标示符\"%s\" 已准备好事务不存在"
-#: access/transam/twophase.c:969
+#: access/transam/twophase.c:1042
#, c-format
msgid "two-phase state file maximum length exceeded"
msgstr "超过两阶段状态文件的最大长度"
-#: access/transam/twophase.c:987
+#: access/transam/twophase.c:1055
#, c-format
msgid "could not create two-phase state file \"%s\": %m"
msgstr "无法创建两阶段提交状态文件 \"%s\": %m"
-#: access/transam/twophase.c:1001 access/transam/twophase.c:1018
-#: access/transam/twophase.c:1074 access/transam/twophase.c:1494
-#: access/transam/twophase.c:1501
+#: access/transam/twophase.c:1069 access/transam/twophase.c:1086
+#: access/transam/twophase.c:1135 access/transam/twophase.c:1564
+#: access/transam/twophase.c:1571
#, c-format
msgid "could not write two-phase state file: %m"
msgstr "无法对两阶段提交状态文件进行写操作: %m"
-#: access/transam/twophase.c:1027
+#: access/transam/twophase.c:1095
#, c-format
msgid "could not seek in two-phase state file: %m"
msgstr "无法在两阶段提交状态文件中进行查找: %m"
-#: access/transam/twophase.c:1080 access/transam/twophase.c:1519
+#: access/transam/twophase.c:1141 access/transam/twophase.c:1589
#, c-format
msgid "could not close two-phase state file: %m"
msgstr "无法关闭两阶段提交状态文件: %m"
-#: access/transam/twophase.c:1160 access/transam/twophase.c:1600
+#: access/transam/twophase.c:1228 access/transam/twophase.c:1670
#, c-format
msgid "could not open two-phase state file \"%s\": %m"
msgstr "无法打开两阶段提交状态文件\"%s\": %m"
-#: access/transam/twophase.c:1177
+#: access/transam/twophase.c:1245
#, c-format
msgid "could not stat two-phase state file \"%s\": %m"
msgstr "无法获取两阶段提交状态文件 \"%s\" 的状态: %m"
-#: access/transam/twophase.c:1209
+#: access/transam/twophase.c:1277
#, c-format
msgid "could not read two-phase state file \"%s\": %m"
msgstr "无法读取两阶段提交状态文件 \"%s\": %m"
-#: access/transam/twophase.c:1305
+#: access/transam/twophase.c:1373
#, c-format
msgid "two-phase state file for transaction %u is corrupt"
msgstr "事务%u的两阶段提交状态文件损坏"
-#: access/transam/twophase.c:1456
+#: access/transam/twophase.c:1526
#, c-format
msgid "could not remove two-phase state file \"%s\": %m"
msgstr "无法删除两阶段提交状态文件\"%s\": %m"
-#: access/transam/twophase.c:1485
+#: access/transam/twophase.c:1555
#, c-format
msgid "could not recreate two-phase state file \"%s\": %m"
msgstr "无法重新创建两阶段提交状态文件 \"%s\": %m"
-#: access/transam/twophase.c:1513
+#: access/transam/twophase.c:1583
#, c-format
msgid "could not fsync two-phase state file: %m"
msgstr "无法在两阶段提交状态文件上执行系统调用fsync: %m"
-#: access/transam/twophase.c:1609
+#: access/transam/twophase.c:1679
#, c-format
msgid "could not fsync two-phase state file \"%s\": %m"
msgstr "无法在两阶段提交状态文件\"%s\"上执行系统调用fsync: %m"
-#: access/transam/twophase.c:1616
+#: access/transam/twophase.c:1686
#, c-format
msgid "could not close two-phase state file \"%s\": %m"
msgstr "无法关闭两阶段提交状态文件 \"%s\": %m"
-#: access/transam/twophase.c:1681
+#: access/transam/twophase.c:1751
#, c-format
msgid "removing future two-phase state file \"%s\""
msgstr "删除可能产生的两阶段提交状态文件 \"%s\""
-#: access/transam/twophase.c:1697 access/transam/twophase.c:1708
-#: access/transam/twophase.c:1827 access/transam/twophase.c:1838
-#: access/transam/twophase.c:1911
+#: access/transam/twophase.c:1767 access/transam/twophase.c:1778
+#: access/transam/twophase.c:1897 access/transam/twophase.c:1908
+#: access/transam/twophase.c:1981
#, c-format
msgid "removing corrupt two-phase state file \"%s\""
msgstr "删除已损坏的两阶段提交状态文件\"%s\""
-#: access/transam/twophase.c:1816 access/transam/twophase.c:1900
+#: access/transam/twophase.c:1886 access/transam/twophase.c:1970
#, c-format
msgid "removing stale two-phase state file \"%s\""
msgstr "正在删除无用的两阶段提交状态文件\"%s\""
-#: access/transam/twophase.c:1918
+#: access/transam/twophase.c:1988
#, c-format
msgid "recovering prepared transaction %u"
msgstr "正在恢复已准备事务%u"
-#: access/transam/varsup.c:113
+#: access/transam/varsup.c:115
#, c-format
msgid ""
"database is not accepting commands to avoid wraparound data loss in database "
"\"%s\""
msgstr "数据库没有接收命令来避免在数据库\"%s\"中的重叠数据损失"
-#: access/transam/varsup.c:115 access/transam/varsup.c:122
+#: access/transam/varsup.c:117 access/transam/varsup.c:124
#, c-format
+#| msgid ""
+#| "Stop the postmaster and use a standalone backend to vacuum that "
+#| "database.\n"
+#| "You might also need to commit or roll back old prepared transactions."
msgid ""
-"Stop the postmaster and use a standalone backend to vacuum that database.\n"
+"Stop the postmaster and vacuum that database in single-user mode.\n"
"You might also need to commit or roll back old prepared transactions."
msgstr ""
-"停止postmaster进程,然后使用单独的后台进程来清理数据库.\n"
+"停止postmaster进程,然后在单用户模式下清理数据库.\n"
"您也可能需要提交或回滚旧的已准备好事务."
-#: access/transam/varsup.c:120
+#: access/transam/varsup.c:122
#, c-format
msgid ""
"database is not accepting commands to avoid wraparound data loss in database "
"with OID %u"
msgstr "数据库没有接受命令来避免在带有OID为%u的数据库中的重叠数据损失"
-#: access/transam/varsup.c:132 access/transam/varsup.c:368
+#: access/transam/varsup.c:134 access/transam/varsup.c:371
#, c-format
msgid "database \"%s\" must be vacuumed within %u transactions"
msgstr "数据库 \"%s\"在运行%u个事务中进行清理(vacuume)."
-#: access/transam/varsup.c:135 access/transam/varsup.c:142
-#: access/transam/varsup.c:371 access/transam/varsup.c:378
-#, c-format
-msgid ""
-"To avoid a database shutdown, execute a database-wide VACUUM in that "
-"database.\n"
-"You might also need to commit or roll back old prepared transactions."
-msgstr ""
-"为了避免关闭数据库,需要在数据库中执行数据库范围的VACUUM.\n"
-"您也可能需要提交或回滚旧的已准备好的事务."
-
-#: access/transam/varsup.c:139 access/transam/varsup.c:375
+#: access/transam/varsup.c:141 access/transam/varsup.c:378
#, c-format
msgid "database with OID %u must be vacuumed within %u transactions"
msgstr "带有OID为%u的数据库必须在%u个事务中进行清理(vacuume)."
-#: access/transam/varsup.c:333
+#: access/transam/varsup.c:336
#, c-format
msgid "transaction ID wrap limit is %u, limited by database with OID %u"
msgstr "事务ID的封装限制是%u, 由带有OID为%u的数据库限制."
-#: access/transam/xact.c:753
+#: access/transam/xact.c:814
#, c-format
-msgid "cannot have more than 2^32-1 commands in a transaction"
-msgstr "在一个事物中不可以超过 2^32-1 个命令"
+#| msgid "cannot have more than 2^32-1 commands in a transaction"
+msgid "cannot have more than 2^32-2 commands in a transaction"
+msgstr "一个事物中拥有最多不能超过 2^32-2 个命令"
-#: access/transam/xact.c:1324
+#: access/transam/xact.c:1370
#, c-format
msgid "maximum number of committed subtransactions (%d) exceeded"
msgstr "超过已提交子事务的最大数量(%d)"
-#: access/transam/xact.c:2097
+#: access/transam/xact.c:2151
#, c-format
msgid "cannot PREPARE a transaction that has operated on temporary tables"
msgstr "无法在一个已经在临时表上操作的事务上执行PREPARE操作"
-#: access/transam/xact.c:2107
+#: access/transam/xact.c:2161
#, c-format
msgid "cannot PREPARE a transaction that has exported snapshots"
msgstr "无法在一个已经导出快照的事务上执行PREPARE操作"
#. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2916
+#: access/transam/xact.c:3000
#, c-format
msgid "%s cannot run inside a transaction block"
msgstr "%s 无法在事物块中运行"
#. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2926
+#: access/transam/xact.c:3010
#, c-format
msgid "%s cannot run inside a subtransaction"
msgstr "%s 无法在一个子事物中运行"
#. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2936
+#: access/transam/xact.c:3020
#, c-format
msgid "%s cannot be executed from a function or multi-command string"
msgstr "%s 无法从函数或包含多条命令的字符串中执行."
#. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2987
+#: access/transam/xact.c:3091
#, c-format
msgid "%s can only be used in transaction blocks"
msgstr "%s 只能在事务块中使用"
-#: access/transam/xact.c:3169
+#: access/transam/xact.c:3274
#, c-format
msgid "there is already a transaction in progress"
msgstr "已经有一个事物在运行中"
-#: access/transam/xact.c:3337 access/transam/xact.c:3430
+#: access/transam/xact.c:3442 access/transam/xact.c:3535
#, c-format
msgid "there is no transaction in progress"
msgstr "没有事物在运行中"
-#: access/transam/xact.c:3526 access/transam/xact.c:3577
-#: access/transam/xact.c:3583 access/transam/xact.c:3627
-#: access/transam/xact.c:3676 access/transam/xact.c:3682
+#: access/transam/xact.c:3631 access/transam/xact.c:3682
+#: access/transam/xact.c:3688 access/transam/xact.c:3732
+#: access/transam/xact.c:3781 access/transam/xact.c:3787
#, c-format
msgid "no such savepoint"
msgstr "没有这个保存点"
-#: access/transam/xact.c:4335
+#: access/transam/xact.c:4464
#, c-format
msgid "cannot have more than 2^32-1 subtransactions in a transaction"
msgstr "在一个事物中不可以超过有 2^32-1 个子事物"
-#: access/transam/xlog.c:1313 access/transam/xlog.c:1382
+#: access/transam/xlog.c:2416
#, c-format
-msgid "could not create archive status file \"%s\": %m"
-msgstr "无法创建归档状态文件 \"%s\": %m"
+#| msgid "Could not seek in file \"%s\" to offset %u: %m."
+msgid "could not seek in log file %s to offset %u: %m"
+msgstr "无法在日志文件 \"%s\" 中定位 %u: %m"
-#: access/transam/xlog.c:1321 access/transam/xlog.c:1390
+#: access/transam/xlog.c:2436
#, c-format
-msgid "could not write archive status file \"%s\": %m"
-msgstr "无法写入归档状态文件 \"%s\": %m"
+#| msgid ""
+#| "could not write to log file %u, segment %u at offset %u, length %lu: %m"
+msgid "could not write to log file %s at offset %u, length %zu: %m"
+msgstr "无法在偏移量 %2$u,长度 %3$zu写入日志文件%1$s: %4$m"
-#: access/transam/xlog.c:1370 access/transam/xlog.c:3002
-#: access/transam/xlog.c:3019 access/transam/xlog.c:4806
-#: access/transam/xlog.c:5789 access/transam/xlog.c:6547
-#: postmaster/pgarch.c:755 utils/time/snapmgr.c:883
+#: access/transam/xlog.c:2712
#, c-format
-msgid "could not rename file \"%s\" to \"%s\": %m"
-msgstr "无法把文件 \"%s\" 重命名为 \"%s\": %m"
+#| msgid "updated min recovery point to %X/%X"
+msgid "updated min recovery point to %X/%X on timeline %u"
+msgstr "在时间点%3$u上将最小恢复点更新到%1$X/%2$X"
-#: access/transam/xlog.c:1836 access/transam/xlog.c:10570
-#: replication/walreceiver.c:543 replication/walsender.c:1040
+#: access/transam/xlog.c:3292
#, c-format
-msgid "could not seek in log file %u, segment %u to offset %u: %m"
-msgstr "æ\97 æ³\95å\9c¨æ\97¥å¿\97æ\96\87ä»¶ %u 䏿\9f¥æ\89¾, 段 %u å\81\8fç§»é\87\8f %u: %m"
+msgid "not enough data in file \"%s\""
+msgstr "æ\96\87ä»¶ \"%s\" ä¸ç\9a\84æ\95°æ\8d®ä¸\8dè¶³"
-#: access/transam/xlog.c:1853 replication/walreceiver.c:560
+#: access/transam/xlog.c:3411
#, c-format
-msgid "could not write to log file %u, segment %u at offset %u, length %lu: %m"
-msgstr "无法在偏移量 %3$u,长度 %4$lu写入日志文件%1$u, 段 %2$u: %5$m"
+#| msgid ""
+#| "could not link file \"%s\" to \"%s\" (initialization of log file %u, "
+#| "segment %u): %m"
+msgid "could not link file \"%s\" to \"%s\" (initialization of log file): %m"
+msgstr "无法链接文件 \"%s\" 到 \"%s\" (日志文件初始化): %m"
-#: access/transam/xlog.c:2082
+#: access/transam/xlog.c:3423
#, c-format
-msgid "updated min recovery point to %X/%X"
-msgstr "将最小恢复点更新到%X/%X"
+#| msgid ""
+#| "could not rename file \"%s\" to \"%s\" (initialization of log file %u, "
+#| "segment %u): %m"
+msgid "could not rename file \"%s\" to \"%s\" (initialization of log file): %m"
+msgstr "无法重命名文件 \"%s\" 为 \"%s\" (日志文件初始化): %m"
-#: access/transam/xlog.c:2459 access/transam/xlog.c:2563
-#: access/transam/xlog.c:2792 access/transam/xlog.c:2877
-#: access/transam/xlog.c:2934 replication/walsender.c:1028
+#: access/transam/xlog.c:3451
#, c-format
-msgid "could not open file \"%s\" (log file %u, segment %u): %m"
-msgstr "无法打开文件 \"%s\" (日志文件 %u, 段 %u): %m"
+#| msgid "%s: could not open transaction log file \"%s\": %s\n"
+msgid "could not open transaction log file \"%s\": %m"
+msgstr "无法打开事务日志文件 \"%s\": %m"
-#: access/transam/xlog.c:2484 access/transam/xlog.c:2617
-#: access/transam/xlog.c:4656 access/transam/xlog.c:9552
-#: access/transam/xlog.c:9857 postmaster/postmaster.c:3709
-#: storage/file/copydir.c:172 storage/smgr/md.c:297 utils/time/snapmgr.c:860
+#: access/transam/xlog.c:3640
#, c-format
-msgid "could not create file \"%s\": %m"
-msgstr "无法创建文件 \"%s\": %m"
+#| msgid "could not close file \"%s\": %m"
+msgid "could not close log file %s: %m"
+msgstr "无法关闭日志文件 %s: %m"
-#: access/transam/xlog.c:2516 access/transam/xlog.c:2649
-#: access/transam/xlog.c:4708 access/transam/xlog.c:4771
-#: postmaster/postmaster.c:3719 postmaster/postmaster.c:3729
-#: storage/file/copydir.c:197 utils/init/miscinit.c:1089
-#: utils/init/miscinit.c:1098 utils/init/miscinit.c:1105 utils/misc/guc.c:7564
-#: utils/misc/guc.c:7578 utils/time/snapmgr.c:865 utils/time/snapmgr.c:872
+#: access/transam/xlog.c:3699 replication/logical/logicalfuncs.c:147
+#: replication/walsender.c:2089
#, c-format
-msgid "could not write to file \"%s\": %m"
-msgstr "æ\97 æ³\95å\86\99å\85¥æ\96\87ä»¶ \"%s\": %m"
+msgid "requested WAL segment %s has already been removed"
+msgstr "æ\89\80è¦\81æ±\82ç\9a\84WAL段%så·²ç»\8f被å\88 é\99¤"
-#: access/transam/xlog.c:2524 access/transam/xlog.c:2656
-#: access/transam/xlog.c:4777 storage/file/copydir.c:269 storage/smgr/md.c:959
-#: storage/smgr/md.c:1190 storage/smgr/md.c:1363
+#: access/transam/xlog.c:3777 access/transam/xlog.c:3954
#, c-format
-msgid "could not fsync file \"%s\": %m"
-msgstr "无法 fsync 文件 \"%s\": %m"
+msgid "could not open transaction log directory \"%s\": %m"
+msgstr "无法打开事务日志目录 \"%s\": %m"
-#: access/transam/xlog.c:2529 access/transam/xlog.c:2661
-#: access/transam/xlog.c:4782 commands/copy.c:1341 storage/file/copydir.c:211
+#: access/transam/xlog.c:3825
#, c-format
-msgid "could not close file \"%s\": %m"
-msgstr "无法关闭文件 \"%s\": %m"
+msgid "recycled transaction log file \"%s\""
+msgstr "回收事务日志文件 \"%s\""
-#: access/transam/xlog.c:2602 access/transam/xlog.c:4413
-#: access/transam/xlog.c:4514 access/transam/xlog.c:4675
-#: replication/basebackup.c:362 replication/basebackup.c:966
-#: storage/file/copydir.c:165 storage/file/copydir.c:255 storage/smgr/md.c:579
-#: storage/smgr/md.c:837 utils/error/elog.c:1536 utils/init/miscinit.c:1038
-#: utils/init/miscinit.c:1153
+#: access/transam/xlog.c:3841
#, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "无法打开文件 \"%s\": %m"
+msgid "removing transaction log file \"%s\""
+msgstr "删除事务日志文件 \"%s\""
-#: access/transam/xlog.c:2630 access/transam/xlog.c:4687
-#: access/transam/xlog.c:9713 access/transam/xlog.c:9726
-#: access/transam/xlog.c:10095 access/transam/xlog.c:10138
-#: storage/file/copydir.c:186 utils/adt/genfile.c:138
+#: access/transam/xlog.c:3864
#, c-format
-msgid "could not read file \"%s\": %m"
-msgstr "无法读取文件 \"%s\": %m"
+msgid "could not rename old transaction log file \"%s\": %m"
+msgstr "无法重命名旧的事务日志文件\"%s\": %m"
-#: access/transam/xlog.c:2633
+#: access/transam/xlog.c:3876
#, c-format
-msgid "not enough data in file \"%s\""
-msgstr "æ\96\87ä»¶ \"%s\" ä¸ç\9a\84æ\95°æ\8d®ä¸\8dè¶³"
+msgid "could not remove old transaction log file \"%s\": %m"
+msgstr "æ\97 æ³\95å\88 é\99¤æ\97§ç\9a\84äº\8bå\8a¡æ\97¥å¿\97æ\96\87ä»¶ \"%s\": %m"
-#: access/transam/xlog.c:2752
+#: access/transam/xlog.c:3914 access/transam/xlog.c:3924
#, c-format
-msgid ""
-"could not link file \"%s\" to \"%s\" (initialization of log file %u, segment "
-"%u): %m"
-msgstr "无法链接文件 \"%s\" 到 \"%s\" (日志文件 %u 的初始化, 段 %u): %m"
+msgid "required WAL directory \"%s\" does not exist"
+msgstr "所需要的WAL目录 \"%s\" 不存在"
-#: access/transam/xlog.c:2764
-#, 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:2961 replication/walreceiver.c:509
-#, c-format
-msgid "could not close log file %u, segment %u: %m"
-msgstr "无法关闭日志文件 %u, 段 %u: %m"
-
-#: access/transam/xlog.c:3011 access/transam/xlog.c:3118
-#: access/transam/xlog.c:9731 storage/smgr/md.c:397 storage/smgr/md.c:446
-#: storage/smgr/md.c:1310
-#, c-format
-msgid "could not remove file \"%s\": %m"
-msgstr "无法删除文件 \"%s\": %m"
-
-#: access/transam/xlog.c:3110 access/transam/xlog.c:3270
-#: access/transam/xlog.c:9537 access/transam/xlog.c:9701
-#: replication/basebackup.c:368 replication/basebackup.c:422
-#: storage/file/copydir.c:86 storage/file/copydir.c:125 utils/adt/dbsize.c:66
-#: utils/adt/dbsize.c:216 utils/adt/dbsize.c:296 utils/adt/genfile.c:107
-#: utils/adt/genfile.c:279
-#, c-format
-msgid "could not stat file \"%s\": %m"
-msgstr "无法取文件 \"%s\" 的状态: %m"
-
-#: access/transam/xlog.c:3249
-#, c-format
-msgid "archive file \"%s\" has wrong size: %lu instead of %lu"
-msgstr "归档文件\"%s\"大小错误:应该是%lu而不是%lu"
-
-#: access/transam/xlog.c:3258
-#, c-format
-msgid "restored log file \"%s\" from archive"
-msgstr "从归档中恢复日志文件 \"%s\""
-
-#: access/transam/xlog.c:3308
-#, c-format
-msgid "could not restore file \"%s\" from archive: return code %d"
-msgstr "无法从归档中恢复文件 \"%s\": 返回码为 %d"
-
-#. translator: First %s represents a recovery.conf parameter name like
-#. "recovery_end_command", and the 2nd is the value of that parameter.
-#: access/transam/xlog.c:3422
-#, c-format
-msgid "%s \"%s\": return code %d"
-msgstr "%s \"%s\": 返回码为 %d"
-
-#: access/transam/xlog.c:3486 replication/walsender.c:1022
-#, c-format
-msgid "requested WAL segment %s has already been removed"
-msgstr "所要求的WAL段%s已经被删除"
-
-#: access/transam/xlog.c:3549 access/transam/xlog.c:3721
-#, c-format
-msgid "could not open transaction log directory \"%s\": %m"
-msgstr "无法打开事务日志目录 \"%s\": %m"
-
-#: access/transam/xlog.c:3592
-#, c-format
-msgid "recycled transaction log file \"%s\""
-msgstr "回收事务日志文件 \"%s\""
-
-#: access/transam/xlog.c:3608
-#, c-format
-msgid "removing transaction log file \"%s\""
-msgstr "删除事务日志文件 \"%s\""
-
-#: access/transam/xlog.c:3631
-#, c-format
-msgid "could not rename old transaction log file \"%s\": %m"
-msgstr "无法重命名旧的事务日志文件\"%s\": %m"
-
-#: access/transam/xlog.c:3643
-#, c-format
-msgid "could not remove old transaction log file \"%s\": %m"
-msgstr "无法删除旧的事务日志文件 \"%s\": %m"
-
-#: access/transam/xlog.c:3681 access/transam/xlog.c:3691
-#, c-format
-msgid "required WAL directory \"%s\" does not exist"
-msgstr "所需要的WAL目录 \"%s\" 不存在"
-
-#: access/transam/xlog.c:3697
+#: access/transam/xlog.c:3930
#, c-format
msgid "creating missing WAL directory \"%s\""
msgstr "正在创建丢失的WAL目录\"%s\""
-#: access/transam/xlog.c:3700
+#: access/transam/xlog.c:3933
#, c-format
msgid "could not create missing directory \"%s\": %m"
msgstr "无法创建丢失的目录 \"%s\": %m"
-#: access/transam/xlog.c:3734
+#: access/transam/xlog.c:3967
#, c-format
msgid "removing transaction log backup history file \"%s\""
msgstr "正在删除事务日志备份历史文件 \"%s\""
-#: access/transam/xlog.c:3876
-#, c-format
-msgid "incorrect hole size in record at %X/%X"
-msgstr "在%X/%X上的记录中页的未使用空洞大小不正确"
-
-#: access/transam/xlog.c:3889
-#, c-format
-msgid "incorrect total length in record at %X/%X"
-msgstr "在%X/%X上的记录中的总长度不正确"
-
-#: access/transam/xlog.c:3902
-#, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "在记录的 %X/%X 中的不正确资源管理数据校验值"
-
-#: access/transam/xlog.c:3980 access/transam/xlog.c:4018
-#, c-format
-msgid "invalid record offset at %X/%X"
-msgstr "无效的记录偏移量 %X/%X"
-
-#: access/transam/xlog.c:4026
-#, c-format
-msgid "contrecord is requested by %X/%X"
-msgstr "%X/%X 需要 contrecord"
-
-#: access/transam/xlog.c:4041
+#: access/transam/xlog.c:4159
#, c-format
-msgid "invalid xlog switch record at %X/%X"
-msgstr "在%X/%X上的xlog切换记录无效"
+#| msgid "unexpected timeline ID %u in log file %u, segment %u, offset %u"
+msgid "unexpected timeline ID %u in log segment %s, offset %u"
+msgstr "日志段%2$s,偏移%3$u出现意外的时间点ID %1$u"
-#: access/transam/xlog.c:4049
+#: access/transam/xlog.c:4281
#, c-format
-msgid "record with zero length at %X/%X"
-msgstr "在 %X/%X 位置有零长度的记录"
-
-#: access/transam/xlog.c:4058
-#, c-format
-msgid "invalid record length at %X/%X"
-msgstr "在%X/%X的无效的记录长度 "
-
-#: access/transam/xlog.c:4065
-#, c-format
-msgid "invalid resource manager ID %u at %X/%X"
-msgstr "在 %2$X/%3$X 位置, 为无效的资源管理 ID %1$u"
-
-#: access/transam/xlog.c:4078 access/transam/xlog.c:4094
-#, c-format
-msgid "record with incorrect prev-link %X/%X at %X/%X"
-msgstr "在 %3$X/%4$X位置的记录带有不正确的prev-link %1$X/%2$X"
-
-#: access/transam/xlog.c:4123
-#, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "在 %2$X/%3$X, 记录长度 %1$u 太长"
-
-#: access/transam/xlog.c:4163
-#, 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:4173
-#, 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:4263
-#, 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:4270 access/transam/xlog.c:4316
-#, 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:4292 access/transam/xlog.c:4300
-#: access/transam/xlog.c:4307
-#, c-format
-msgid "WAL file is from different database system"
-msgstr "WAL 文件来自不同的数据库系统"
-
-#: access/transam/xlog.c:4293
-#, c-format
-msgid ""
-"WAL file database system identifier is %s, pg_control database system "
-"identifier is %s."
-msgstr "WAL文件的数据库系统标识符是%s,pg_control的数据库系统标识符是%s."
-
-#: access/transam/xlog.c:4301
-#, c-format
-msgid "Incorrect XLOG_SEG_SIZE in page header."
-msgstr "页头中不正确的 XLOG_SEG_SIZE."
-
-#: access/transam/xlog.c:4308
-#, c-format
-msgid "Incorrect XLOG_BLCKSZ in page header."
-msgstr "页头中不正确的 XLOG_SEG_SIZE."
-
-#: access/transam/xlog.c:4324
-#, 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:4336
-#, 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"
+msgid "new timeline %u is not a child of database system timeline %u"
+msgstr "新的时间线%u不附属于数据库系统时间线%u"
-#: access/transam/xlog.c:4363
+#: access/transam/xlog.c:4295
#, c-format
+#| msgid "new timeline %u is not a child of database system timeline %u"
msgid ""
-"out-of-sequence timeline ID %u (after %u) in log file %u, segment %u, offset "
-"%u"
+"new timeline %u forked off current database system timeline %u before "
+"current recovery point %X/%X"
msgstr ""
-"日志文件 %3$u 中超出序列的 timeline ID %1$u (%2$u 之后), 段 %4$u, 偏移量 %5$u"
-
-#: access/transam/xlog.c:4442
-#, c-format
-msgid "syntax error in history file: %s"
-msgstr "历史文件中的语法错误: %s"
-
-#: access/transam/xlog.c:4443
-#, c-format
-msgid "Expected a numeric timeline ID."
-msgstr "期望一个数字 timeline ID."
-
-#: access/transam/xlog.c:4448
-#, c-format
-msgid "invalid data in history file: %s"
-msgstr "历史文件中的无效数据: %s"
-
-#: access/transam/xlog.c:4449
-#, c-format
-msgid "Timeline IDs must be in increasing sequence."
-msgstr "TimeLine ID 必须为递增序列."
-
-#: access/transam/xlog.c:4462
-#, c-format
-msgid "invalid data in history file \"%s\""
-msgstr "历史文件 \"%s\" 中存在无效数据"
-
-#: access/transam/xlog.c:4463
-#, c-format
-msgid "Timeline IDs must be less than child timeline's ID."
-msgstr "Timeline ID 必须小于子 timeline 的 ID."
+"在当前恢复点%3$X/%4$X之前, 新的时间点%1$u脱离了当前茅的数据库系统时间点%2$u"
-#: access/transam/xlog.c:4556
-#, c-format
-msgid "new timeline %u is not a child of database system timeline %u"
-msgstr "新的时间线%u不附属于数据库系统时间线%u"
-
-#: access/transam/xlog.c:4574
+#: access/transam/xlog.c:4314
#, c-format
msgid "new target timeline is %u"
msgstr "新的目标时间线为%u"
-#: access/transam/xlog.c:4799
-#, c-format
-msgid "could not link file \"%s\" to \"%s\": %m"
-msgstr "无法把文件 \"%s\" 链接到 \"%s\": %m"
-
-#: access/transam/xlog.c:4888
+#: access/transam/xlog.c:4394
#, c-format
msgid "could not create control file \"%s\": %m"
msgstr "无法创建控制文件 \"%s\": %m"
-#: access/transam/xlog.c:4899 access/transam/xlog.c:5124
+#: access/transam/xlog.c:4405 access/transam/xlog.c:4641
#, c-format
msgid "could not write to control file: %m"
msgstr "无法写入控制文件: %m"
-#: access/transam/xlog.c:4905 access/transam/xlog.c:5130
+#: access/transam/xlog.c:4411 access/transam/xlog.c:4647
#, c-format
msgid "could not fsync control file: %m"
msgstr "无法 fsync 控制文件: %m"
-#: access/transam/xlog.c:4910 access/transam/xlog.c:5135
+#: access/transam/xlog.c:4416 access/transam/xlog.c:4652
#, c-format
msgid "could not close control file: %m"
msgstr "无法关闭控制文件: %m"
-#: access/transam/xlog.c:4928 access/transam/xlog.c:5113
+#: access/transam/xlog.c:4434 access/transam/xlog.c:4630
#, c-format
msgid "could not open control file \"%s\": %m"
msgstr "无法打开控制文件 \"%s\": %m"
-#: access/transam/xlog.c:4934
+#: access/transam/xlog.c:4440
#, c-format
msgid "could not read from control file: %m"
msgstr "无法读取控制文件: %m"
-#: access/transam/xlog.c:4947 access/transam/xlog.c:4956
-#: access/transam/xlog.c:4980 access/transam/xlog.c:4987
-#: access/transam/xlog.c:4994 access/transam/xlog.c:4999
-#: access/transam/xlog.c:5006 access/transam/xlog.c:5013
-#: access/transam/xlog.c:5020 access/transam/xlog.c:5027
-#: access/transam/xlog.c:5034 access/transam/xlog.c:5041
-#: access/transam/xlog.c:5050 access/transam/xlog.c:5057
-#: access/transam/xlog.c:5066 access/transam/xlog.c:5073
-#: access/transam/xlog.c:5082 access/transam/xlog.c:5089
-#: utils/init/miscinit.c:1171
+#: access/transam/xlog.c:4453 access/transam/xlog.c:4462
+#: access/transam/xlog.c:4486 access/transam/xlog.c:4493
+#: access/transam/xlog.c:4500 access/transam/xlog.c:4505
+#: access/transam/xlog.c:4512 access/transam/xlog.c:4519
+#: access/transam/xlog.c:4526 access/transam/xlog.c:4533
+#: access/transam/xlog.c:4540 access/transam/xlog.c:4547
+#: access/transam/xlog.c:4554 access/transam/xlog.c:4563
+#: access/transam/xlog.c:4570 access/transam/xlog.c:4579
+#: access/transam/xlog.c:4586 access/transam/xlog.c:4595
+#: access/transam/xlog.c:4602 utils/init/miscinit.c:1139
#, c-format
msgid "database files are incompatible with server"
msgstr "数据库文件和服务器不兼容"
-#: access/transam/xlog.c:4948
+#: access/transam/xlog.c:4454
#, c-format
msgid ""
"The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), "
"数据库集群是以 PG_CONTROL_VERSION %d (0x%08x)初始化的, 但是 服务器是以 "
"PG_CONTROL_VERSION %d (0x%08x)编译的."
-#: access/transam/xlog.c:4952
+#: access/transam/xlog.c:4458
#, c-format
msgid ""
"This could be a problem of mismatched byte ordering. It looks like you need "
"to initdb."
msgstr "这是一个字节顺序不匹配的问题.您需要运行initdb."
-#: access/transam/xlog.c:4957
+#: access/transam/xlog.c:4463
#, c-format
msgid ""
"The database cluster was initialized with PG_CONTROL_VERSION %d, but the "
"数据库集群是以 PG_CONTROL_VERSION %d 初始化的, 但是 服务器是以 "
"PG_CONTROL_VERSION %d 编译的."
-#: access/transam/xlog.c:4960 access/transam/xlog.c:4984
-#: access/transam/xlog.c:4991 access/transam/xlog.c:4996
+#: access/transam/xlog.c:4466 access/transam/xlog.c:4490
+#: access/transam/xlog.c:4497 access/transam/xlog.c:4502
#, c-format
msgid "It looks like you need to initdb."
msgstr "看上去, 你需要初始化数据库."
-#: access/transam/xlog.c:4971
+#: access/transam/xlog.c:4477
#, c-format
msgid "incorrect checksum in control file"
msgstr "控制文件的校验值不正确"
-#: access/transam/xlog.c:4981
+#: access/transam/xlog.c:4487
#, c-format
msgid ""
"The database cluster was initialized with CATALOG_VERSION_NO %d, but the "
"数据库簇是以 CATALOG_VERSION_NO %d 初始化的, 但是 服务器是以 "
"CATALOG_VERSION_NO %d 编译的."
-#: access/transam/xlog.c:4988
+#: access/transam/xlog.c:4494
#, c-format
msgid ""
"The database cluster was initialized with MAXALIGN %d, but the server was "
msgstr ""
"数据库集群是以 MAXALIGN%d 初始化的, 但是 服务器是以 NAMEDATALEN %d 编译的."
-#: access/transam/xlog.c:4995
+#: access/transam/xlog.c:4501
#, c-format
msgid ""
"The database cluster appears to use a different floating-point number format "
"than the server executable."
msgstr "数据库集群在使用与服务器执行部分不同的浮点数格式"
-#: access/transam/xlog.c:5000
+#: access/transam/xlog.c:4506
#, 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:5003 access/transam/xlog.c:5010
-#: access/transam/xlog.c:5017 access/transam/xlog.c:5024
-#: access/transam/xlog.c:5031 access/transam/xlog.c:5038
-#: access/transam/xlog.c:5045 access/transam/xlog.c:5053
-#: access/transam/xlog.c:5060 access/transam/xlog.c:5069
-#: access/transam/xlog.c:5076 access/transam/xlog.c:5085
-#: access/transam/xlog.c:5092
+#: access/transam/xlog.c:4509 access/transam/xlog.c:4516
+#: access/transam/xlog.c:4523 access/transam/xlog.c:4530
+#: access/transam/xlog.c:4537 access/transam/xlog.c:4544
+#: access/transam/xlog.c:4551 access/transam/xlog.c:4558
+#: access/transam/xlog.c:4566 access/transam/xlog.c:4573
+#: access/transam/xlog.c:4582 access/transam/xlog.c:4589
+#: access/transam/xlog.c:4598 access/transam/xlog.c:4605
#, c-format
msgid "It looks like you need to recompile or initdb."
msgstr "看上去, 你需要重新编译或初始化数据库."
-#: access/transam/xlog.c:5007
+#: access/transam/xlog.c:4513
#, c-format
msgid ""
"The database cluster was initialized with RELSEG_SIZE %d, but the server was "
msgstr ""
"数据库簇是以 RELSEG_SIZE %d 初始化的, 但是 服务器是以 RELSEG_SIZE %d 编译的."
-#: access/transam/xlog.c:5014
+#: access/transam/xlog.c:4520
#, c-format
msgid ""
"The database cluster was initialized with XLOG_BLCKSZ %d, but the server was "
"数据库集群是以 XLOG_BLCKSZ %d 初始化的, 但是 服务器是以 XLOG_BLCKSZ %d 编译"
"的."
-#: access/transam/xlog.c:5021
+#: access/transam/xlog.c:4527
#, c-format
msgid ""
"The database cluster was initialized with XLOG_SEG_SIZE %d, but the server "
"数据库簇是以 XLOG_SEG_SIZE %d 初始化的, 但是 服务器是以 XLOG_SEG_SIZE %d 编译"
"的."
-#: access/transam/xlog.c:5028
+#: access/transam/xlog.c:4534
#, c-format
msgid ""
"The database cluster was initialized with NAMEDATALEN %d, but the server was "
msgstr ""
"数据库簇是以 NAMEDATALEN %d 初始化的, 但是 服务器是以 NAMEDATALEN %d 编译的."
-#: access/transam/xlog.c:5035
+#: access/transam/xlog.c:4541
#, c-format
msgid ""
"The database cluster was initialized with INDEX_MAX_KEYS %d, but the server "
"数据库集群是以 INDEX_MAX_KEYS %d 初始化的, 但是 服务器是以 INDEX_MAX_KEYS "
"%d 编译的."
-#: access/transam/xlog.c:5042
+#: access/transam/xlog.c:4548
#, c-format
msgid ""
"The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the "
"数据库集群是以 TOAST_MAX_CHUNK_SIZE %d 初始化的, 但是 服务器是以 "
"TOAST_MAX_CHUNK_SIZE %d 编译的."
-#: access/transam/xlog.c:5051
+#: access/transam/xlog.c:4555
+#, c-format
+#| msgid ""
+#| "The database cluster was initialized with BLCKSZ %d, but the server was "
+#| "compiled with BLCKSZ %d."
+msgid ""
+"The database cluster was initialized with LOBLKSIZE %d, but the server was "
+"compiled with LOBLKSIZE %d."
+msgstr ""
+"数据库簇是以 LOBLKSIZE %d 初始化的, 但是 服务器是以 LOBLKSIZE %d 编译的."
+
+#: access/transam/xlog.c:4564
#, c-format
msgid ""
"The database cluster was initialized without HAVE_INT64_TIMESTAMP but the "
"数据库簇初始化时没有定义 HAVE_INT64_TIMESTAMP, 但是 服务器编译时定义了 "
"HAVE_INT64_TIMESTAMP."
-#: access/transam/xlog.c:5058
+#: access/transam/xlog.c:4571
#, c-format
msgid ""
"The database cluster was initialized with HAVE_INT64_TIMESTAMP but the "
"数据库簇初始化时定义了 HAVE_INT64_TIMESTAMP, 但是 服务器编译时没有定义 "
"HAVE_INT64_TIMESTAMP."
-#: access/transam/xlog.c:5067
+#: access/transam/xlog.c:4580
#, c-format
msgid ""
"The database cluster was initialized without USE_FLOAT4_BYVAL but the server "
"数据库集群在初始化时没带有USE_FLOAT4_BYVAL选项, 但是服务器是以"
"USE_FLOAT4_BYVAL选项编译的."
-#: access/transam/xlog.c:5074
+#: access/transam/xlog.c:4587
#, c-format
msgid ""
"The database cluster was initialized with USE_FLOAT4_BYVAL but the server "
"数据库集群是以USE_FLOAT4_BYVAL 初始化的, 但是服务器是以USE_FLOAT4_BYVAL编译"
"的."
-#: access/transam/xlog.c:5083
+#: access/transam/xlog.c:4596
#, c-format
msgid ""
"The database cluster was initialized without USE_FLOAT8_BYVAL but the server "
"数据库集群在初始化时没有带有 USE_FLOAT8_BYVAL, 但是服务器是以 "
"USE_FLOAT8_BYVAL编译的."
-#: access/transam/xlog.c:5090
+#: access/transam/xlog.c:4603
#, c-format
msgid ""
"The database cluster was initialized with USE_FLOAT8_BYVAL but the server "
"数据库集群是以USE_FLOAT8_BYVAL初始化的, 但是 服务器没有以USE_FLOAT8_BYVAL编"
"译."
-#: access/transam/xlog.c:5417
+#: access/transam/xlog.c:5004
#, c-format
msgid "could not write bootstrap transaction log file: %m"
msgstr "无法写入 bootstrap 事务日志文件: %m"
-#: access/transam/xlog.c:5423
+#: access/transam/xlog.c:5010
#, c-format
msgid "could not fsync bootstrap transaction log file: %m"
msgstr "无法同步 (fsync) 事务日志文件: %m"
-#: access/transam/xlog.c:5428
+#: access/transam/xlog.c:5015
#, c-format
msgid "could not close bootstrap transaction log file: %m"
msgstr "无法关闭 bootstrap 事务日志文件: %m"
-#: access/transam/xlog.c:5495
+#: access/transam/xlog.c:5086
#, c-format
msgid "could not open recovery command file \"%s\": %m"
msgstr "无法打开恢复命令文件 \"%s\": %m"
-#: access/transam/xlog.c:5535 access/transam/xlog.c:5626
-#: access/transam/xlog.c:5637 commands/extension.c:525
-#: commands/extension.c:533 utils/misc/guc.c:5343
+#: access/transam/xlog.c:5126 access/transam/xlog.c:5217
+#: access/transam/xlog.c:5228 commands/extension.c:527
+#: commands/extension.c:535 utils/misc/guc.c:5369
#, c-format
msgid "parameter \"%s\" requires a Boolean value"
msgstr "参数 \"%s\" 需要一个布尔值"
-#: access/transam/xlog.c:5551
+#: access/transam/xlog.c:5142
#, c-format
msgid "recovery_target_timeline is not a valid number: \"%s\""
msgstr "recovery_target_timeline 不是一个有效的数字: \"%s\""
-#: access/transam/xlog.c:5567
+#: access/transam/xlog.c:5158
#, c-format
msgid "recovery_target_xid is not a valid number: \"%s\""
msgstr "recovery_target_xid 不是一个有效的数字: \"%s\""
-#: access/transam/xlog.c:5611
+#: access/transam/xlog.c:5189
#, c-format
msgid "recovery_target_name is too long (maximum %d characters)"
msgstr "recovery_target_name 值超长 (最大长度为 %d 个字符)"
-#: access/transam/xlog.c:5658
+#: access/transam/xlog.c:5203
+#, c-format
+#| msgid "invalid value for parameter \"%s\": %d"
+msgid "invalid value for recovery parameter \"recovery_target\""
+msgstr "恢复参数\"recovery_target\"的值无效"
+
+#: access/transam/xlog.c:5204
+#, c-format
+msgid "The only allowed value is \"immediate\"."
+msgstr "唯一有效的值是\"immediate\"."
+
+#: access/transam/xlog.c:5263
+#, c-format
+#| msgid "parameter \"%s\" requires a Boolean value"
+msgid "parameter \"%s\" requires a temporal value"
+msgstr "参数 \"%s\" 需要一个临时值"
+
+#: access/transam/xlog.c:5265 catalog/dependency.c:970
+#: catalog/dependency.c:971 catalog/dependency.c:977 catalog/dependency.c:978
+#: catalog/dependency.c:989 catalog/dependency.c:990
+#: catalog/objectaddress.c:764 commands/tablecmds.c:763
+#: commands/tablecmds.c:8949 commands/user.c:988 commands/view.c:475
+#: libpq/auth.c:285 port/win32/security.c:51 storage/lmgr/deadlock.c:955
+#: storage/lmgr/proc.c:1184 utils/misc/guc.c:5401 utils/misc/guc.c:5526
+#: utils/misc/guc.c:8867 utils/misc/guc.c:8901 utils/misc/guc.c:8935
+#: utils/misc/guc.c:8969 utils/misc/guc.c:9004
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: access/transam/xlog.c:5271
#, c-format
msgid "unrecognized recovery parameter \"%s\""
msgstr "未认可的恢复参数 \"%s\""
-#: access/transam/xlog.c:5669
+#: access/transam/xlog.c:5282
#, c-format
msgid ""
"recovery command file \"%s\" specified neither primary_conninfo nor "
msgstr ""
"恢复命令文件 \"%s\" 既没有指定restore_command,也没有指定primary_conninfo"
-#: access/transam/xlog.c:5671
+#: access/transam/xlog.c:5284
#, c-format
msgid ""
"The database server will regularly poll the pg_xlog subdirectory to check "
"for files placed there."
msgstr "数据服务器将会通过定期轮询pg_xlog子目录来检查放在这里的文件。"
-#: access/transam/xlog.c:5677
+#: access/transam/xlog.c:5290
#, c-format
msgid ""
"recovery command file \"%s\" must specify restore_command when standby mode "
msgstr ""
"当没有启用备份模式的时候恢复命令文件 \"%s\" 必须指定 restore_command的值"
-#: access/transam/xlog.c:5697
+#: access/transam/xlog.c:5310
#, c-format
msgid "recovery target timeline %u does not exist"
msgstr "恢复目标的时间线 %u 不存在"
-#: access/transam/xlog.c:5793
+#: access/transam/xlog.c:5407
#, c-format
msgid "archive recovery complete"
msgstr "归档恢复完毕"
-#: access/transam/xlog.c:5918
+#: access/transam/xlog.c:5477 access/transam/xlog.c:5671
#, c-format
-msgid "recovery stopping after commit of transaction %u, time %s"
-msgstr "恢复停止在事物 %u 提交之后, 时间 %s"
+#| msgid "recovery stopping after commit of transaction %u, time %s"
+msgid "recovery stopping after reaching consistency"
+msgstr "达到一致性前恢复停止"
-#: access/transam/xlog.c:5923
+#: access/transam/xlog.c:5552
#, c-format
msgid "recovery stopping before commit of transaction %u, time %s"
msgstr "恢复停止在事物 %u 提交之前, 时间 %s"
-#: access/transam/xlog.c:5931
-#, c-format
-msgid "recovery stopping after abort of transaction %u, time %s"
-msgstr "恢复停止在事物 %u 中断之后, 时间 %s"
-
-#: access/transam/xlog.c:5936
+#: access/transam/xlog.c:5559
#, c-format
msgid "recovery stopping before abort of transaction %u, time %s"
msgstr "恢复停止在事物 %u 中断之前, 时间 %s"
-#: access/transam/xlog.c:5945
+#: access/transam/xlog.c:5601
#, c-format
msgid "recovery stopping at restore point \"%s\", time %s"
msgstr "恢复停止在恢复点 \"%s\", 时间 %s"
-#: access/transam/xlog.c:5979
+#: access/transam/xlog.c:5651
+#, c-format
+msgid "recovery stopping after commit of transaction %u, time %s"
+msgstr "恢复停止在事物 %u 提交之后, 时间 %s"
+
+#: access/transam/xlog.c:5659
+#, c-format
+msgid "recovery stopping after abort of transaction %u, time %s"
+msgstr "恢复停止在事物 %u 中断之后, 时间 %s"
+
+#: access/transam/xlog.c:5698
#, c-format
msgid "recovery has paused"
msgstr "恢复操作已暂停"
-#: access/transam/xlog.c:5980
+#: access/transam/xlog.c:5699
#, c-format
msgid "Execute pg_xlog_replay_resume() to continue."
msgstr "执行 pg_xlog_replay_resume() 以继续."
-#: access/transam/xlog.c:6110
+#: access/transam/xlog.c:5914
#, c-format
msgid ""
"hot standby is not possible because %s = %d is a lower setting than on the "
"在备用点无法实施热备操作,因为%s = %d这个设置低于在主服务器的设置(它的值"
"是%d)"
-#: access/transam/xlog.c:6132
+#: access/transam/xlog.c:5936
#, c-format
msgid "WAL was generated with wal_level=minimal, data may be missing"
msgstr "WAL文件由wal_level=minimal的设置而产生,这种情况下数据可能会丢失"
-#: access/transam/xlog.c:6133
+#: access/transam/xlog.c:5937
#, c-format
msgid ""
"This happens if you temporarily set wal_level=minimal without taking a new "
msgstr ""
"发生这种情况是因为您临时将wal_level设置为minimal,而没有同时进行基础备份"
-#: access/transam/xlog.c:6144
+#: access/transam/xlog.c:5948
#, c-format
+#| msgid ""
+#| "hot standby is not possible because wal_level was not set to \"hot_standby"
+#| "\" on the master server"
msgid ""
"hot standby is not possible because wal_level was not set to \"hot_standby\" "
-"on the master server"
+"or higher on the master server"
msgstr ""
-"无法实施热备份,因为在主用服务器上参数wal_level没有设置为\"hot_standby\""
+"无法实施热备份,因为在主用服务器上参数wal_level没有设置为\"hot_standby\"或更"
+"高等级的值"
-#: access/transam/xlog.c:6145
+#: access/transam/xlog.c:5949
#, c-format
msgid ""
"Either set wal_level to \"hot_standby\" on the master, or turn off "
msgstr ""
"在这里既可以将参数wal_level设置为\"hot_standby\" ,也可以将hot_standby关闭"
-#: access/transam/xlog.c:6195
+#: access/transam/xlog.c:6004
#, c-format
msgid "control file contains invalid data"
msgstr "控制文件包含无效的数据"
-#: access/transam/xlog.c:6199
+#: access/transam/xlog.c:6010
#, c-format
msgid "database system was shut down at %s"
msgstr "数据库上次关闭时间为 %s"
-#: access/transam/xlog.c:6203
+#: access/transam/xlog.c:6015
#, c-format
msgid "database system was shut down in recovery at %s"
msgstr "在%s,数据库在恢复中关闭"
-#: access/transam/xlog.c:6207
+#: access/transam/xlog.c:6019
#, c-format
msgid "database system shutdown was interrupted; last known up at %s"
msgstr "数据库系统关闭操作被中断;上一次已知的运行是在%s"
-#: access/transam/xlog.c:6211
+#: access/transam/xlog.c:6023
#, c-format
msgid "database system was interrupted while in recovery at %s"
msgstr "恢复时, 数据库系统在 %s 被中断"
-#: access/transam/xlog.c:6213
+#: access/transam/xlog.c:6025
#, c-format
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:6217
+#: access/transam/xlog.c:6029
#, c-format
msgid "database system was interrupted while in recovery at log time %s"
msgstr "当日志时间%s进行恢复时,数据库系统被中断"
-#: access/transam/xlog.c:6219
+#: access/transam/xlog.c:6031
#, c-format
msgid ""
"If this has occurred more than once some data might be corrupted and you "
"如果这种现象多次发生,那么表示数据可能已经损坏,您可能需要选择更早一点的恢复"
"目标"
-#: access/transam/xlog.c:6223
+#: access/transam/xlog.c:6035
#, c-format
msgid "database system was interrupted; last known up at %s"
msgstr "数据库系统中断;上一次的启动时间是在%s"
-#: access/transam/xlog.c:6272
-#, c-format
-msgid "requested timeline %u is not a child of database system timeline %u"
-msgstr "所要求的时间线%u不附属数据库系统时间线%u"
-
-#: access/transam/xlog.c:6290
+#: access/transam/xlog.c:6089
#, c-format
msgid "entering standby mode"
msgstr "正在进入备用模式"
-#: access/transam/xlog.c:6293
+#: access/transam/xlog.c:6092
#, c-format
msgid "starting point-in-time recovery to XID %u"
msgstr "开始执行到XID %u的基于时间点恢复"
-#: access/transam/xlog.c:6297
+#: access/transam/xlog.c:6096
#, c-format
msgid "starting point-in-time recovery to %s"
msgstr "开始执行到%s的基于时间点恢复"
-#: access/transam/xlog.c:6301
+#: access/transam/xlog.c:6100
#, c-format
msgid "starting point-in-time recovery to \"%s\""
msgstr "开始执行到基于时间点恢复的时间点\"%s\""
-#: access/transam/xlog.c:6305
+#: access/transam/xlog.c:6104
+#, c-format
+#| msgid "starting point-in-time recovery to %s"
+msgid "starting point-in-time recovery to earliest consistent point"
+msgstr "开始执行到最早一致点的基于时间点恢复"
+
+#: access/transam/xlog.c:6107
#, c-format
msgid "starting archive recovery"
msgstr "开始归档恢复"
-#: access/transam/xlog.c:6328 access/transam/xlog.c:6368
+#: access/transam/xlog.c:6124
+#, c-format
+msgid "Failed while allocating an XLog reading processor."
+msgstr "分配XLog读取处理器失败."
+
+#: access/transam/xlog.c:6149 access/transam/xlog.c:6216
#, c-format
msgid "checkpoint record is at %X/%X"
msgstr "checkpoint 记录位置在 %X/%X"
-#: access/transam/xlog.c:6342
+#: access/transam/xlog.c:6163
#, c-format
msgid "could not find redo location referenced by checkpoint record"
msgstr "无法找到checkpoint 记录对应的重做日志位置"
-#: access/transam/xlog.c:6343 access/transam/xlog.c:6350
+#: access/transam/xlog.c:6164 access/transam/xlog.c:6171
#, c-format
msgid ""
"If you are not restoring from a backup, try removing the file \"%s/"
"backup_label\"."
msgstr "如果你不是从备份恢复, 请删除 \"%s/backup_label\"."
-#: access/transam/xlog.c:6349
+#: access/transam/xlog.c:6170
#, c-format
msgid "could not locate required checkpoint record"
msgstr "无法找到需要的 checkpoint 记录"
-#: access/transam/xlog.c:6378 access/transam/xlog.c:6393
+#: access/transam/xlog.c:6226 access/transam/xlog.c:6241
#, c-format
msgid "could not locate a valid checkpoint record"
msgstr "无法找到一个有效的 checkpoint 记录"
-#: access/transam/xlog.c:6387
+#: access/transam/xlog.c:6235
#, c-format
msgid "using previous checkpoint record at %X/%X"
msgstr "使用在 %X/%X 的前一个 checkpoint 记录"
-#: access/transam/xlog.c:6402
+#: access/transam/xlog.c:6265
+#, c-format
+#| msgid "requested timeline %u is not a child of database system timeline %u"
+msgid "requested timeline %u is not a child of this server's history"
+msgstr "所要求的时间线%u不在服务器的历史时间线里"
+
+#: access/transam/xlog.c:6267
+#, c-format
+msgid ""
+"Latest checkpoint is at %X/%X on timeline %u, but in the history of the "
+"requested timeline, the server forked off from that timeline at %X/%X."
+msgstr ""
+"最近的检查点位于%X/%X,时间点为%u, 但是在请求的历史时间点中,服务器端在那个时"
+"间点会产生分支%X/%X."
+
+#: access/transam/xlog.c:6283
+#, c-format
+#| msgid "requested timeline %u is not a child of database system timeline %u"
+msgid ""
+"requested timeline %u does not contain minimum recovery point %X/%X on "
+"timeline %u"
+msgstr "所要求的时间线%u不包含最小恢复点%X/%X,在时间线%u处"
+
+#: access/transam/xlog.c:6292
#, c-format
msgid "redo record is at %X/%X; shutdown %s"
msgstr "重做记录是在%X/%X; 关闭 %s"
-#: access/transam/xlog.c:6406
+#: access/transam/xlog.c:6296
#, c-format
msgid "next transaction ID: %u/%u; next OID: %u"
msgstr "下一个事务ID: %u/%u; 下一个 OID: %u"
-#: access/transam/xlog.c:6410
+#: access/transam/xlog.c:6300
#, c-format
msgid "next MultiXactId: %u; next MultiXactOffset: %u"
msgstr "下一个MultiXactId: %u; 下一个MultiXactOffset: %u"
-#: access/transam/xlog.c:6413
+#: access/transam/xlog.c:6303
#, c-format
msgid "oldest unfrozen transaction ID: %u, in database %u"
msgstr "在数据库%2$u中,最旧的非冻结事务ID是%1$u"
-#: access/transam/xlog.c:6417
+#: access/transam/xlog.c:6306
+#, c-format
+#| msgid "oldest unfrozen transaction ID: %u, in database %u"
+msgid "oldest MultiXactId: %u, in database %u"
+msgstr "在数据库%2$u中,最旧的事务ID是%1$u"
+
+#: access/transam/xlog.c:6310
#, c-format
msgid "invalid next transaction ID"
msgstr "无效的下一个事务 ID"
-#: access/transam/xlog.c:6441
+#: access/transam/xlog.c:6380
#, c-format
msgid "invalid redo in checkpoint record"
msgstr "在检查点记录中无效的redo操作"
-#: access/transam/xlog.c:6452
+#: access/transam/xlog.c:6391
#, c-format
msgid "invalid redo record in shutdown checkpoint"
msgstr "在关闭检查点中的redo记录无效"
-#: access/transam/xlog.c:6483
+#: access/transam/xlog.c:6422
#, c-format
msgid ""
"database system was not properly shut down; automatic recovery in progress"
msgstr "数据库系统没有正确的关闭; 处于自动恢复状态中"
-#: access/transam/xlog.c:6515
+#: access/transam/xlog.c:6426
+#, c-format
+#| msgid "recovery target timeline %u does not exist"
+msgid "crash recovery starts in timeline %u and has target timeline %u"
+msgstr "崩溃恢复开始于时间线%u, 目标时间线是%u"
+
+#: access/transam/xlog.c:6463
#, c-format
msgid "backup_label contains data inconsistent with control file"
msgstr "backup_label 包含了与控制文件不一致的数据"
-#: access/transam/xlog.c:6516
+#: access/transam/xlog.c:6464
#, c-format
msgid ""
"This means that the backup is corrupted and you will have to use another "
"backup for recovery."
msgstr "这意味着一些数据备份已毁坏, 你将不得不使用别的备份进行恢复."
-#: access/transam/xlog.c:6580
+#: access/transam/xlog.c:6529
#, c-format
msgid "initializing for hot standby"
msgstr "正在为热备进行初始化"
-#: access/transam/xlog.c:6711
+#: access/transam/xlog.c:6661
#, c-format
msgid "redo starts at %X/%X"
msgstr "redo 在 %X/%X 开始"
-#: access/transam/xlog.c:6848
+#: access/transam/xlog.c:6876
#, c-format
msgid "redo done at %X/%X"
msgstr "redo 在 %X/%X 完成"
-#: access/transam/xlog.c:6853 access/transam/xlog.c:8493
+#: access/transam/xlog.c:6881 access/transam/xlog.c:8735
#, c-format
msgid "last completed transaction was at log time %s"
msgstr "上一次完成事务是在日志时间%s完成的."
-#: access/transam/xlog.c:6861
+#: access/transam/xlog.c:6889
#, c-format
msgid "redo is not required"
msgstr "不需要 redo"
-#: access/transam/xlog.c:6909
+#: access/transam/xlog.c:6947
#, c-format
msgid "requested recovery stop point is before consistent recovery point"
msgstr "所要求的恢复停止点在一致性恢复点之前"
-#: access/transam/xlog.c:6925 access/transam/xlog.c:6929
+#: access/transam/xlog.c:6963 access/transam/xlog.c:6967
#, c-format
msgid "WAL ends before end of online backup"
msgstr "联机备份终止之前,WAL已经终止"
-#: access/transam/xlog.c:6926
+#: access/transam/xlog.c:6964
#, c-format
msgid ""
"All WAL generated while online backup was taken must be available at "
"recovery."
msgstr "所有联机备份时产生的WAL日志在恢复时必须存在."
-#: access/transam/xlog.c:6930
+#: access/transam/xlog.c:6968
#, c-format
msgid ""
"Online backup started with pg_start_backup() must be ended with "
"由pg_start_backup()发起的联机备份必须通过调用pg_stop_backup()来终止, 并且到那"
"一刻为止所有的WAL日志在恢复时必须存在."
-#: access/transam/xlog.c:6933
+#: access/transam/xlog.c:6971
#, c-format
msgid "WAL ends before consistent recovery point"
msgstr "在一致性恢复点前结束WAL"
-#: access/transam/xlog.c:6955
+#: access/transam/xlog.c:6998
#, c-format
msgid "selected new timeline ID: %u"
msgstr "已选择的新时间线ID:%u"
-#: access/transam/xlog.c:7247
+#: access/transam/xlog.c:7339
#, c-format
msgid "consistent recovery state reached at %X/%X"
msgstr "在%X/%X上已到达一致性恢复状态"
-#: access/transam/xlog.c:7414
+#: access/transam/xlog.c:7536
#, c-format
msgid "invalid primary checkpoint link in control file"
msgstr "在控制文件中无效的主 checkpoint 链接"
-#: access/transam/xlog.c:7418
+#: access/transam/xlog.c:7540
#, c-format
msgid "invalid secondary checkpoint link in control file"
msgstr "在控制文件中无效的次 checkpoint 链接"
-#: access/transam/xlog.c:7422
+#: access/transam/xlog.c:7544
#, c-format
msgid "invalid checkpoint link in backup_label file"
msgstr "在 backup_label 文件中无效的 checkpoint 链接"
-#: access/transam/xlog.c:7436
+#: access/transam/xlog.c:7561
#, c-format
msgid "invalid primary checkpoint record"
msgstr "无效的主 checkpoint 记录"
-#: access/transam/xlog.c:7440
+#: access/transam/xlog.c:7565
#, c-format
msgid "invalid secondary checkpoint record"
msgstr "无效的次 checkpoint 记录"
-#: access/transam/xlog.c:7444
+#: access/transam/xlog.c:7569
#, c-format
msgid "invalid checkpoint record"
msgstr "无效的 checkpoint 记录"
-#: access/transam/xlog.c:7455
+#: access/transam/xlog.c:7580
#, c-format
msgid "invalid resource manager ID in primary checkpoint record"
msgstr "在主 checkpoint 记录中的无效资源管理器 ID"
-#: access/transam/xlog.c:7459
+#: access/transam/xlog.c:7584
#, c-format
msgid "invalid resource manager ID in secondary checkpoint record"
msgstr "在次 checkpoint 记录中的无效资源管理器 ID"
-#: access/transam/xlog.c:7463
+#: access/transam/xlog.c:7588
#, c-format
msgid "invalid resource manager ID in checkpoint record"
msgstr "在 checkpoint 记录中的无效资源管理器 ID"
-#: access/transam/xlog.c:7475
+#: access/transam/xlog.c:7600
#, c-format
msgid "invalid xl_info in primary checkpoint record"
msgstr "在主 checkpoint 记录中无效的 xl_info"
-#: access/transam/xlog.c:7479
+#: access/transam/xlog.c:7604
#, c-format
msgid "invalid xl_info in secondary checkpoint record"
msgstr "在次 checkpoint 记录中无效的 xl_info"
-#: access/transam/xlog.c:7483
+#: access/transam/xlog.c:7608
#, c-format
msgid "invalid xl_info in checkpoint record"
msgstr "在 checkpoint 记录中无效的 xl_info"
-#: access/transam/xlog.c:7495
+#: access/transam/xlog.c:7620
#, c-format
msgid "invalid length of primary checkpoint record"
msgstr "无效的主 checkpoint 记录长度"
-#: access/transam/xlog.c:7499
+#: access/transam/xlog.c:7624
#, c-format
msgid "invalid length of secondary checkpoint record"
msgstr "无效的次 checkpoint 记录长度"
-#: access/transam/xlog.c:7503
+#: access/transam/xlog.c:7628
#, c-format
msgid "invalid length of checkpoint record"
msgstr "无效的 checkpoint 记录长度"
-#: access/transam/xlog.c:7672
+#: access/transam/xlog.c:7788
#, c-format
msgid "shutting down"
msgstr "正在关闭"
-#: access/transam/xlog.c:7694
+#: access/transam/xlog.c:7811
#, c-format
msgid "database system is shut down"
msgstr "数据库系统已关闭"
-#: access/transam/xlog.c:8140
+#: access/transam/xlog.c:8277
#, c-format
msgid ""
"concurrent transaction log activity while database system is shutting down"
msgstr "当数据库正在关闭时, 仍有活跃的并发事物日志"
-#: access/transam/xlog.c:8351
+#: access/transam/xlog.c:8546
#, c-format
msgid "skipping restartpoint, recovery has already ended"
msgstr "正在跳过重新启动点, 恢复已经结束"
-#: access/transam/xlog.c:8374
+#: access/transam/xlog.c:8569
#, c-format
msgid "skipping restartpoint, already performed at %X/%X"
msgstr "跳过重新启动点,它已经在%X/%X上执行了."
-#: access/transam/xlog.c:8491
+#: access/transam/xlog.c:8733
#, c-format
msgid "recovery restart point at %X/%X"
msgstr "恢复得重新启动点是在%X/%X开始"
-#: access/transam/xlog.c:8635
+#: access/transam/xlog.c:8878
#, c-format
msgid "restore point \"%s\" created at %X/%X"
msgstr "恢复点\"%s\",创建于%X/%X"
-#: access/transam/xlog.c:8806
+#: access/transam/xlog.c:9102
#, c-format
-msgid "online backup was canceled, recovery cannot continue"
-msgstr "在线备份操作已取消,恢复操作无法继续"
+#| msgid "unexpected timeline ID %u (after %u) in checkpoint record"
+msgid ""
+"unexpected previous timeline ID %u (current timeline ID %u) in checkpoint "
+"record"
+msgstr "在检查点记录中出现未期望的时间线ID%u(当前时间线%u)"
-#: access/transam/xlog.c:8869
+#: access/transam/xlog.c:9111
#, c-format
msgid "unexpected timeline ID %u (after %u) in checkpoint record"
msgstr "在检查点记录中出现未期望的时间线ID%u(在%u之后)"
-#: access/transam/xlog.c:8918
+#: access/transam/xlog.c:9127
+#, c-format
+msgid ""
+"unexpected timeline ID %u in checkpoint record, before reaching minimum "
+"recovery point %X/%X on timeline %u"
+msgstr ""
+"在达到最小恢复点%2$X/%3$X之前,时间点%4$u处,在检查点记录中出现意外的时间点"
+"ID %1$u"
+
+#: access/transam/xlog.c:9195
+#, c-format
+msgid "online backup was canceled, recovery cannot continue"
+msgstr "在线备份操作已取消,恢复操作无法继续"
+
+#: access/transam/xlog.c:9256 access/transam/xlog.c:9305
+#: access/transam/xlog.c:9328
#, c-format
msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
msgstr "在检查点记录中出现未期望的时间线ID%u(应该是%u)"
-#: access/transam/xlog.c:9215 access/transam/xlog.c:9239
+#: access/transam/xlog.c:9563
#, c-format
-msgid "could not fsync log file %u, segment %u: %m"
-msgstr "无法同步 (fsync) 日志文件 %u, 段 %u: %m"
+#| msgid "could not fsync log file %u, segment %u: %m"
+msgid "could not fsync log segment %s: %m"
+msgstr "无法同步 (fsync) 日志段 %s: %m"
-#: access/transam/xlog.c:9247
+#: access/transam/xlog.c:9587
#, c-format
-msgid "could not fsync write-through log file %u, segment %u: %m"
-msgstr "无法同步 (fsync) 日志文件 %u, 段 %u: %m"
+#| msgid "could not fsync file \"%s\": %m"
+msgid "could not fsync log file %s: %m"
+msgstr "无法 fsync 日志文件 %s: %m"
-#: access/transam/xlog.c:9256
+#: access/transam/xlog.c:9595
#, c-format
-msgid "could not fdatasync log file %u, segment %u: %m"
-msgstr "无法同步 (fdatasync) 日志文件 %u, 段 %u: %m"
+#| msgid "could not fsync write-through log file %u, segment %u: %m"
+msgid "could not fsync write-through log file %s: %m"
+msgstr "无法同步 (fsync) 写入日志文件%s: %m"
-#: access/transam/xlog.c:9312 access/transam/xlog.c:9642
+#: access/transam/xlog.c:9604
#, c-format
-msgid "must be superuser or replication role to run a backup"
-msgstr "运行备份必须为超级用户或者是复制角色用户"
+#| msgid "could not fdatasync log file %u, segment %u: %m"
+msgid "could not fdatasync log file %s: %m"
+msgstr "无法同步 (fdatasync) 日志文件 %s: %m"
-#: access/transam/xlog.c:9320 access/transam/xlog.c:9650
-#: access/transam/xlogfuncs.c:107 access/transam/xlogfuncs.c:139
-#: access/transam/xlogfuncs.c:181 access/transam/xlogfuncs.c:205
-#: access/transam/xlogfuncs.c:288 access/transam/xlogfuncs.c:365
+#: access/transam/xlog.c:9682 access/transam/xlog.c:10018
+#: access/transam/xlogfuncs.c:111 access/transam/xlogfuncs.c:140
+#: access/transam/xlogfuncs.c:179 access/transam/xlogfuncs.c:200
+#: access/transam/xlogfuncs.c:270 access/transam/xlogfuncs.c:326
#, c-format
msgid "recovery is in progress"
msgstr "恢复操作正在进行中"
-#: access/transam/xlog.c:9321 access/transam/xlog.c:9651
-#: access/transam/xlogfuncs.c:108 access/transam/xlogfuncs.c:140
-#: access/transam/xlogfuncs.c:182 access/transam/xlogfuncs.c:206
+#: access/transam/xlog.c:9683 access/transam/xlog.c:10019
+#: access/transam/xlogfuncs.c:112 access/transam/xlogfuncs.c:141
+#: access/transam/xlogfuncs.c:180 access/transam/xlogfuncs.c:201
#, c-format
msgid "WAL control functions cannot be executed during recovery."
msgstr "在恢复期间无法执行WAL控制函数"
-#: access/transam/xlog.c:9330 access/transam/xlog.c:9660
+#: access/transam/xlog.c:9692 access/transam/xlog.c:10028
#, c-format
msgid "WAL level not sufficient for making an online backup"
msgstr "WAL的级别不能满足在线备份的要求"
-#: access/transam/xlog.c:9331 access/transam/xlog.c:9661
-#: access/transam/xlogfuncs.c:146
+#: access/transam/xlog.c:9693 access/transam/xlog.c:10029
+#: access/transam/xlogfuncs.c:147
#, c-format
+#| msgid ""
+#| "wal_level must be set to \"archive\" or \"hot_standby\" at server start."
msgid ""
-"wal_level must be set to \"archive\" or \"hot_standby\" at server start."
-msgstr "在服务器启动的时候wal_level必须被设置为\"archive\"或\"hot_standby\"."
+"wal_level must be set to \"archive\", \"hot_standby\", or \"logical\" at "
+"server start."
+msgstr ""
+"在服务器启动的时候wal_level必须被设置为\"archive\",\"hot_standby\"或\"logical"
+"\"."
-#: access/transam/xlog.c:9336
+#: access/transam/xlog.c:9698
#, c-format
msgid "backup label too long (max %d bytes)"
msgstr "备份标签名超长(最大为%d字节)"
-#: access/transam/xlog.c:9367 access/transam/xlog.c:9543
+#: access/transam/xlog.c:9729 access/transam/xlog.c:9906
#, c-format
msgid "a backup is already in progress"
msgstr "一个备份已经在运行中"
-#: access/transam/xlog.c:9368
+#: access/transam/xlog.c:9730
#, c-format
msgid "Run pg_stop_backup() and try again."
msgstr "运行pg_stop_backup(),然后重新尝试一次."
-#: access/transam/xlog.c:9461
+#: access/transam/xlog.c:9824
#, c-format
msgid ""
"WAL generated with full_page_writes=off was replayed since last restartpoint"
msgstr "使用full_page_writes=off产生的WAL日志自最后一次重启点,已经重做了"
-#: access/transam/xlog.c:9463 access/transam/xlog.c:9810
-#, fuzzy, c-format
+#: access/transam/xlog.c:9826 access/transam/xlog.c:10179
+#, c-format
msgid ""
"This means that the backup being taken on the standby is corrupt and should "
"not be used. Enable full_page_writes and run CHECKPOINT on the master, and "
"then try an online backup again."
msgstr ""
"这意味着备用节点上的备份已经损坏,不应该使用。启用 full_page_writes并在主节点"
-"上运行CHECKPOING,然后再试着执行联机备份."
+"上运行CHECKPOINT,然后再试着执行联机备份."
+
+#: access/transam/xlog.c:9900 access/transam/xlog.c:10069
+#: access/transam/xlogarchive.c:106 access/transam/xlogarchive.c:265
+#: guc-file.l:885 replication/basebackup.c:464 replication/basebackup.c:521
+#: replication/logical/snapbuild.c:1478 storage/file/copydir.c:72
+#: storage/file/copydir.c:115 utils/adt/dbsize.c:68 utils/adt/dbsize.c:218
+#: utils/adt/dbsize.c:298 utils/adt/genfile.c:108 utils/adt/genfile.c:280
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "无法取文件 \"%s\" 的状态: %m"
-#: access/transam/xlog.c:9544
+#: access/transam/xlog.c:9907
#, 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:9561 access/transam/xlog.c:9869
+#: access/transam/xlog.c:9924 access/transam/xlog.c:10242
#, c-format
msgid "could not write file \"%s\": %m"
msgstr "无法写入文件 \"%s\": %m"
-#: access/transam/xlog.c:9705
+#: access/transam/xlog.c:10073
#, c-format
msgid "a backup is not in progress"
msgstr "没有备份在运行中"
-#: access/transam/xlog.c:9744 access/transam/xlog.c:9756
-#: access/transam/xlog.c:10110 access/transam/xlog.c:10116
+#: access/transam/xlog.c:10112 access/transam/xlog.c:10125
+#: access/transam/xlog.c:10476 access/transam/xlog.c:10482
+#: access/transam/xlogfuncs.c:498
#, c-format
msgid "invalid data in file \"%s\""
msgstr "文件 \"%s\" 中存在无效数据"
-#: access/transam/xlog.c:9760
+#: access/transam/xlog.c:10129 replication/basebackup.c:951
#, c-format
msgid "the standby was promoted during online backup"
msgstr "联机备份期间,备用节点已提升为主节点"
-#: access/transam/xlog.c:9761
+#: access/transam/xlog.c:10130 replication/basebackup.c:952
#, c-format
msgid ""
"This means that the backup being taken is corrupt and should not be used. "
"Try taking another online backup."
msgstr "这意味着备用节点上的备份已经损坏,不应该使用. 请尝试再次执行联机备份."
-#: access/transam/xlog.c:9808
+#: access/transam/xlog.c:10177
#, c-format
msgid ""
"WAL generated with full_page_writes=off was replayed during online backup"
msgstr "由full_page_writes=off产生的WAL日志在联机备份期间已经完成重做"
-#: access/transam/xlog.c:9918
+#: access/transam/xlog.c:10291
#, c-format
msgid ""
"pg_stop_backup cleanup done, waiting for required WAL segments to be archived"
msgstr "pg_stop_backup命令所执行的清理操作已完成,正在等待所要求的WAL段归档"
-#: access/transam/xlog.c:9928
+#: access/transam/xlog.c:10301
#, c-format
msgid ""
"pg_stop_backup still waiting for all required WAL segments to be archived "
"(%d seconds elapsed)"
msgstr "pg_stop_backup在等待所有需要的WAL段归档(已过去%d秒)"
-#: access/transam/xlog.c:9930
+#: access/transam/xlog.c:10303
#, c-format
msgid ""
"Check that your archive_command is executing properly. pg_stop_backup can "
"请检查您的归档命令是否正确执行。pg_stop_backup命令可以安全退出,但是如果没有"
"所有需要的WAL段,数据库备份将无法使用."
-#: access/transam/xlog.c:9937
+#: access/transam/xlog.c:10310
#, c-format
msgid "pg_stop_backup complete, all required WAL segments have been archived"
msgstr "pg_stop_backup 执行完成,所有需要的WAL段都已经归档完成。"
-#: access/transam/xlog.c:9941
+#: access/transam/xlog.c:10314
#, c-format
msgid ""
"WAL archiving is not enabled; you must ensure that all required WAL segments "
msgstr ""
"没有启用WAL归档;您必须确保所有的WAL段已通过其他的方法拷贝,这样才能完成备份"
-#: access/transam/xlog.c:10160
+#: access/transam/xlog.c:10527
#, c-format
msgid "xlog redo %s"
msgstr "xlog重做 %s"
-#: access/transam/xlog.c:10200
+#: access/transam/xlog.c:10567
#, c-format
msgid "online backup mode canceled"
msgstr "在线备份模式已取消"
-#: access/transam/xlog.c:10201
+#: access/transam/xlog.c:10568
#, c-format
msgid "\"%s\" was renamed to \"%s\"."
msgstr "\"%s\" 被重新命名为\"%s\"."
-#: access/transam/xlog.c:10208
+#: access/transam/xlog.c:10575
#, c-format
msgid "online backup mode was not canceled"
msgstr "在线备份模式没有取消"
-#: access/transam/xlog.c:10209
+#: access/transam/xlog.c:10576
#, c-format
msgid "Could not rename \"%s\" to \"%s\": %m."
msgstr "无法把文件 \"%s\" 重命名为 \"%s\": %m"
-#: access/transam/xlog.c:10556 access/transam/xlog.c:10578
+#: access/transam/xlog.c:10696 replication/logical/logicalfuncs.c:169
+#: replication/walreceiver.c:937 replication/walsender.c:2106
#, c-format
-msgid "could not read from log file %u, segment %u, offset %u: %m"
-msgstr "无法从日志文件 %u 读取, 段 %u, 偏移量 %u: %m"
+#| msgid "could not seek in log file %u, segment %u to offset %u: %m"
+msgid "could not seek in log segment %s to offset %u: %m"
+msgstr "无法在日志段%s中查找, 偏移量 %u: %m"
-#: access/transam/xlog.c:10667
+#: access/transam/xlog.c:10708
+#, c-format
+#| msgid "could not read from log file %u, segment %u, offset %u: %m"
+msgid "could not read from log segment %s, offset %u: %m"
+msgstr "无法从日志段%s中读取偏移量 %u: %m"
+
+#: access/transam/xlog.c:11171
#, c-format
msgid "received promote request"
msgstr "接收到提或请求"
-#: access/transam/xlog.c:10680
+#: access/transam/xlog.c:11184
#, c-format
msgid "trigger file found: %s"
msgstr "已找到触发器文件:%s"
-#: access/transam/xlogfuncs.c:102
+#: access/transam/xlog.c:11193
+#, c-format
+#| msgid "could not stat file \"%s\": %m"
+msgid "could not stat trigger file \"%s\": %m"
+msgstr "无法统计触发器文件 \"%s\": %m"
+
+#: access/transam/xlogarchive.c:244
+#, c-format
+msgid "archive file \"%s\" has wrong size: %lu instead of %lu"
+msgstr "归档文件\"%s\"大小错误:应该是%lu而不是%lu"
+
+#: access/transam/xlogarchive.c:253
+#, c-format
+msgid "restored log file \"%s\" from archive"
+msgstr "从归档中恢复日志文件 \"%s\""
+
+#: access/transam/xlogarchive.c:303
+#, c-format
+#| msgid "could not restore file \"%s\" from archive: return code %d"
+msgid "could not restore file \"%s\" from archive: %s"
+msgstr "无法从归档文件%2$s中恢复文件 \"%1$s\""
+
+#. translator: First %s represents a recovery.conf parameter name like
+#. "recovery_end_command", the 2nd is the value of that parameter, the
+#. third an already translated error message.
+#: access/transam/xlogarchive.c:415
+#, c-format
+#| msgid "%s %s%s%s: %s"
+msgid "%s \"%s\": %s"
+msgstr "%s \"%s\": %s"
+
+#: access/transam/xlogarchive.c:525 access/transam/xlogarchive.c:594
+#, c-format
+msgid "could not create archive status file \"%s\": %m"
+msgstr "无法创建归档状态文件 \"%s\": %m"
+
+#: access/transam/xlogarchive.c:533 access/transam/xlogarchive.c:602
+#, c-format
+msgid "could not write archive status file \"%s\": %m"
+msgstr "无法写入归档状态文件 \"%s\": %m"
+
+#: access/transam/xlogfuncs.c:60 access/transam/xlogfuncs.c:88
+#, c-format
+msgid "must be superuser or replication role to run a backup"
+msgstr "运行备份必须为超级用户或者是复制角色用户"
+
+#: access/transam/xlogfuncs.c:106
#, c-format
msgid "must be superuser to switch transaction log files"
msgstr "必须为超级用户才能切换事务日志文件"
-#: access/transam/xlogfuncs.c:134
+#: access/transam/xlogfuncs.c:135
#, c-format
msgid "must be superuser to create a restore point"
msgstr "只有超级用户能创建恢复点"
-#: access/transam/xlogfuncs.c:145
+#: access/transam/xlogfuncs.c:146
#, c-format
msgid "WAL level not sufficient for creating a restore point"
msgstr "WAL的级别不能满足创建恢复点的要求"
-#: access/transam/xlogfuncs.c:153
+#: access/transam/xlogfuncs.c:154
#, c-format
msgid "value too long for restore point (maximum %d characters)"
msgstr "恢复点值超长(最大%d个字符)"
-#: access/transam/xlogfuncs.c:289
+#: access/transam/xlogfuncs.c:271
#, c-format
msgid "pg_xlogfile_name_offset() cannot be executed during recovery."
msgstr "在恢复过程中不能执行pg_xlogfile_name_offset()"
-#: access/transam/xlogfuncs.c:301 access/transam/xlogfuncs.c:375
-#: access/transam/xlogfuncs.c:530 access/transam/xlogfuncs.c:534
-#, c-format
-msgid "could not parse transaction log location \"%s\""
-msgstr "无法解析事务日志位置\"%s\""
-
-#: access/transam/xlogfuncs.c:366
+#: access/transam/xlogfuncs.c:327
#, c-format
msgid "pg_xlogfile_name() cannot be executed during recovery."
msgstr "在恢复过程中无法执行pg_xlogfile_name() "
-#: access/transam/xlogfuncs.c:396 access/transam/xlogfuncs.c:418
-#: access/transam/xlogfuncs.c:440
+#: access/transam/xlogfuncs.c:344 access/transam/xlogfuncs.c:366
#, c-format
msgid "must be superuser to control recovery"
msgstr "只有超级用户才能控制恢复"
-#: access/transam/xlogfuncs.c:401 access/transam/xlogfuncs.c:423
-#: access/transam/xlogfuncs.c:445
+#: access/transam/xlogfuncs.c:349 access/transam/xlogfuncs.c:371
+#: access/transam/xlogfuncs.c:388
#, c-format
msgid "recovery is not in progress"
msgstr "恢复操作没在进行中"
-#: access/transam/xlogfuncs.c:402 access/transam/xlogfuncs.c:424
-#: access/transam/xlogfuncs.c:446
+#: access/transam/xlogfuncs.c:350 access/transam/xlogfuncs.c:372
+#: access/transam/xlogfuncs.c:389
#, c-format
msgid "Recovery control functions can only be executed during recovery."
msgstr "在恢复期间无法执行恢复控制函数"
-#: access/transam/xlogfuncs.c:495 access/transam/xlogfuncs.c:501
-#, c-format
-msgid "invalid input syntax for transaction log location: \"%s\""
-msgstr "事务日志位置\"%s\"出现无效的输入语法"
-
-#: access/transam/xlogfuncs.c:542 access/transam/xlogfuncs.c:546
-#, c-format
-msgid "xrecoff \"%X\" is out of valid range, 0..%X"
-msgstr "xrecoff \"%X\"超出有效范围, 0..%X"
-
-#: bootstrap/bootstrap.c:279 postmaster/postmaster.c:701 tcop/postgres.c:3425
+#: bootstrap/bootstrap.c:273 postmaster/postmaster.c:759 tcop/postgres.c:3462
#, c-format
msgid "--%s requires a value"
msgstr "--%s 需要一个值"
-#: bootstrap/bootstrap.c:284 postmaster/postmaster.c:706 tcop/postgres.c:3430
+#: bootstrap/bootstrap.c:278 postmaster/postmaster.c:764 tcop/postgres.c:3467
#, c-format
msgid "-c %s requires a value"
msgstr "-c %s 需要一个值"
-#: bootstrap/bootstrap.c:295 postmaster/postmaster.c:718
-#: postmaster/postmaster.c:731
+#: bootstrap/bootstrap.c:289 postmaster/postmaster.c:776
+#: postmaster/postmaster.c:789
#, c-format
msgid "Try \"%s --help\" for more information.\n"
msgstr "请用 \"%s --help\" 获取更多的信息.\n"
-#: bootstrap/bootstrap.c:304
+#: bootstrap/bootstrap.c:298
#, c-format
msgid "%s: invalid command-line arguments\n"
msgstr "%s: 无效的命令行参数\n"
-#: catalog/aclchk.c:203
+#: catalog/aclchk.c:206
#, c-format
msgid "grant options can only be granted to roles"
msgstr "grant 选项只能用于个体用户上"
-#: catalog/aclchk.c:322
+#: catalog/aclchk.c:329
#, c-format
msgid "no privileges were granted for column \"%s\" of relation \"%s\""
msgstr "没有为关系\"%2$s\"的列\"%1$s\"授予相应的权限"
-#: catalog/aclchk.c:327
+#: catalog/aclchk.c:334
#, c-format
msgid "no privileges were granted for \"%s\""
msgstr "没有为\"%s\"授予权限"
-#: catalog/aclchk.c:335
+#: catalog/aclchk.c:342
#, c-format
msgid "not all privileges were granted for column \"%s\" of relation \"%s\""
msgstr "没有为关系\"%2$s\"的列\"%1$s\"授予所有权限"
-#: catalog/aclchk.c:340
+#: catalog/aclchk.c:347
#, c-format
msgid "not all privileges were granted for \"%s\""
msgstr "没有为\"%s\"授予所有的权限"
-#: catalog/aclchk.c:351
+#: catalog/aclchk.c:358
#, c-format
msgid "no privileges could be revoked for column \"%s\" of relation \"%s\""
msgstr "不能从关系\"%2$s\"的列\"%1$s\"上撤销权限"
-#: catalog/aclchk.c:356
+#: catalog/aclchk.c:363
#, c-format
msgid "no privileges could be revoked for \"%s\""
msgstr "不能为\"%s\"撤销权限"
-#: catalog/aclchk.c:364
+#: catalog/aclchk.c:371
#, c-format
msgid ""
"not all privileges could be revoked for column \"%s\" of relation \"%s\""
msgstr "不能从关系\"%2$s\"的列\"%1$s\"上撤销所有权限"
-#: catalog/aclchk.c:369
+#: catalog/aclchk.c:376
#, c-format
msgid "not all privileges could be revoked for \"%s\""
msgstr "不能为\"%s\"撤销所有权限"
-#: catalog/aclchk.c:448 catalog/aclchk.c:925
+#: catalog/aclchk.c:455 catalog/aclchk.c:933
#, c-format
msgid "invalid privilege type %s for relation"
msgstr "关系的权限类型%s无效"
-#: catalog/aclchk.c:452 catalog/aclchk.c:929
+#: catalog/aclchk.c:459 catalog/aclchk.c:937
#, c-format
msgid "invalid privilege type %s for sequence"
msgstr "序列的权限类型 %s 无效"
-#: catalog/aclchk.c:456
+#: catalog/aclchk.c:463
#, c-format
msgid "invalid privilege type %s for database"
msgstr "无效的数据库权限类型 %s"
-#: catalog/aclchk.c:460
+#: catalog/aclchk.c:467
#, c-format
msgid "invalid privilege type %s for domain"
msgstr "域的权限类型%s无效"
-#: catalog/aclchk.c:464 catalog/aclchk.c:933
+#: catalog/aclchk.c:471 catalog/aclchk.c:941
#, c-format
msgid "invalid privilege type %s for function"
msgstr "无效的函数权限类型 %s"
-#: catalog/aclchk.c:468
+#: catalog/aclchk.c:475
#, c-format
msgid "invalid privilege type %s for language"
msgstr "无效的语言权限类型 %s"
-#: catalog/aclchk.c:472
+#: catalog/aclchk.c:479
#, c-format
msgid "invalid privilege type %s for large object"
msgstr "用于大对象的无效权限类型%s"
-#: catalog/aclchk.c:476
+#: catalog/aclchk.c:483
#, c-format
msgid "invalid privilege type %s for schema"
msgstr "无效的模式权限类型 %s"
-#: catalog/aclchk.c:480
+#: catalog/aclchk.c:487
#, c-format
msgid "invalid privilege type %s for tablespace"
msgstr "无效的表空间权限类型 %s"
-#: catalog/aclchk.c:484 catalog/aclchk.c:937
+#: catalog/aclchk.c:491 catalog/aclchk.c:945
#, c-format
msgid "invalid privilege type %s for type"
msgstr "类型的权限类型 %s无效"
-#: catalog/aclchk.c:488
+#: catalog/aclchk.c:495
#, c-format
msgid "invalid privilege type %s for foreign-data wrapper"
msgstr "外部数据封装器的权限类型 %s 无效"
-#: catalog/aclchk.c:492
+#: catalog/aclchk.c:499
#, c-format
msgid "invalid privilege type %s for foreign server"
msgstr "外部服务器的权限类型%s无效"
-#: catalog/aclchk.c:531
+#: catalog/aclchk.c:538
#, c-format
msgid "column privileges are only valid for relations"
msgstr "列权限只对关系有效"
-#: catalog/aclchk.c:681 catalog/aclchk.c:3879 catalog/aclchk.c:4656
-#: catalog/objectaddress.c:382 catalog/pg_largeobject.c:112
-#: catalog/pg_largeobject.c:172 storage/large_object/inv_api.c:273
+#: catalog/aclchk.c:688 catalog/aclchk.c:3904 catalog/aclchk.c:4681
+#: catalog/objectaddress.c:586 catalog/pg_largeobject.c:113
+#: storage/large_object/inv_api.c:291
#, c-format
msgid "large object %u does not exist"
msgstr "大对象 %u 不存在"
-#: catalog/aclchk.c:867 catalog/aclchk.c:875 commands/collationcmds.c:93
-#: commands/copy.c:873 commands/copy.c:891 commands/copy.c:899
-#: commands/copy.c:907 commands/copy.c:915 commands/copy.c:923
-#: commands/copy.c:931 commands/copy.c:939 commands/copy.c:955
-#: commands/copy.c:969 commands/dbcommands.c:144 commands/dbcommands.c:152
-#: commands/dbcommands.c:160 commands/dbcommands.c:168
-#: commands/dbcommands.c:176 commands/dbcommands.c:184
-#: commands/dbcommands.c:192 commands/dbcommands.c:1353
-#: commands/dbcommands.c:1361 commands/extension.c:1248
-#: commands/extension.c:1256 commands/extension.c:1264
-#: commands/extension.c:2662 commands/foreigncmds.c:543
-#: commands/foreigncmds.c:552 commands/functioncmds.c:507
-#: commands/functioncmds.c:599 commands/functioncmds.c:607
-#: commands/functioncmds.c:615 commands/functioncmds.c:1935
-#: commands/functioncmds.c:1943 commands/sequence.c:1156
-#: commands/sequence.c:1164 commands/sequence.c:1172 commands/sequence.c:1180
-#: commands/sequence.c:1188 commands/sequence.c:1196 commands/sequence.c:1204
-#: commands/sequence.c:1212 commands/typecmds.c:293 commands/typecmds.c:1300
-#: commands/typecmds.c:1309 commands/typecmds.c:1317 commands/typecmds.c:1325
-#: commands/typecmds.c:1333 commands/user.c:134 commands/user.c:151
-#: commands/user.c:159 commands/user.c:167 commands/user.c:175
-#: commands/user.c:183 commands/user.c:191 commands/user.c:199
-#: commands/user.c:207 commands/user.c:215 commands/user.c:223
-#: commands/user.c:231 commands/user.c:494 commands/user.c:506
-#: commands/user.c:514 commands/user.c:522 commands/user.c:530
-#: commands/user.c:538 commands/user.c:546 commands/user.c:554
-#: commands/user.c:563 commands/user.c:571
+#: catalog/aclchk.c:875 catalog/aclchk.c:883 commands/collationcmds.c:91
+#: commands/copy.c:925 commands/copy.c:943 commands/copy.c:951
+#: commands/copy.c:959 commands/copy.c:967 commands/copy.c:975
+#: commands/copy.c:983 commands/copy.c:991 commands/copy.c:999
+#: commands/copy.c:1015 commands/copy.c:1029 commands/copy.c:1048
+#: commands/copy.c:1063 commands/dbcommands.c:148 commands/dbcommands.c:156
+#: commands/dbcommands.c:164 commands/dbcommands.c:172
+#: commands/dbcommands.c:180 commands/dbcommands.c:188
+#: commands/dbcommands.c:196 commands/dbcommands.c:1372
+#: commands/dbcommands.c:1380 commands/extension.c:1246
+#: commands/extension.c:1254 commands/extension.c:1262
+#: commands/extension.c:2670 commands/foreigncmds.c:486
+#: commands/foreigncmds.c:495 commands/functioncmds.c:522
+#: commands/functioncmds.c:614 commands/functioncmds.c:622
+#: commands/functioncmds.c:630 commands/functioncmds.c:1700
+#: commands/functioncmds.c:1708 commands/sequence.c:1146
+#: commands/sequence.c:1154 commands/sequence.c:1162 commands/sequence.c:1170
+#: commands/sequence.c:1178 commands/sequence.c:1186 commands/sequence.c:1194
+#: commands/sequence.c:1202 commands/typecmds.c:297 commands/typecmds.c:1332
+#: commands/typecmds.c:1341 commands/typecmds.c:1349 commands/typecmds.c:1357
+#: commands/typecmds.c:1365 commands/user.c:135 commands/user.c:152
+#: commands/user.c:160 commands/user.c:168 commands/user.c:176
+#: commands/user.c:184 commands/user.c:192 commands/user.c:200
+#: commands/user.c:208 commands/user.c:216 commands/user.c:224
+#: commands/user.c:232 commands/user.c:496 commands/user.c:508
+#: commands/user.c:516 commands/user.c:524 commands/user.c:532
+#: commands/user.c:540 commands/user.c:548 commands/user.c:556
+#: commands/user.c:565 commands/user.c:573
#, c-format
msgid "conflicting or redundant options"
msgstr "选项冲突或过多"
-#: catalog/aclchk.c:970
+#: catalog/aclchk.c:978
#, c-format
msgid "default privileges cannot be set for columns"
msgstr "无法为列设置缺省权限"
-#: catalog/aclchk.c:1478 catalog/objectaddress.c:813 commands/analyze.c:384
-#: commands/copy.c:3934 commands/sequence.c:1457 commands/tablecmds.c:4769
-#: commands/tablecmds.c:4861 commands/tablecmds.c:4908
-#: commands/tablecmds.c:5010 commands/tablecmds.c:5054
-#: commands/tablecmds.c:5133 commands/tablecmds.c:5217
-#: commands/tablecmds.c:7159 commands/tablecmds.c:7376
-#: commands/tablecmds.c:7765 commands/trigger.c:604 parser/analyze.c:2046
-#: parser/parse_relation.c:2057 parser/parse_relation.c:2114
-#: parser/parse_target.c:896 parser/parse_type.c:123 utils/adt/acl.c:2838
-#: utils/adt/ruleutils.c:1614
+#: catalog/aclchk.c:1492 catalog/objectaddress.c:1042 commands/analyze.c:390
+#: commands/copy.c:4247 commands/sequence.c:1448 commands/tablecmds.c:4939
+#: commands/tablecmds.c:5034 commands/tablecmds.c:5084
+#: commands/tablecmds.c:5188 commands/tablecmds.c:5235
+#: commands/tablecmds.c:5319 commands/tablecmds.c:5407
+#: commands/tablecmds.c:7494 commands/tablecmds.c:7698
+#: commands/tablecmds.c:8090 commands/trigger.c:635 parser/analyze.c:1994
+#: parser/parse_relation.c:2358 parser/parse_relation.c:2420
+#: parser/parse_target.c:920 parser/parse_type.c:128 utils/adt/acl.c:2840
+#: utils/adt/ruleutils.c:1820
#, c-format
msgid "column \"%s\" of relation \"%s\" does not exist"
msgstr "关系 \"%2$s\" 的 \"%1$s\" 字段不存在"
-#: catalog/aclchk.c:1743 catalog/objectaddress.c:648 commands/sequence.c:1046
-#: commands/tablecmds.c:210 commands/tablecmds.c:10356 utils/adt/acl.c:2074
-#: utils/adt/acl.c:2104 utils/adt/acl.c:2136 utils/adt/acl.c:2168
-#: utils/adt/acl.c:2196 utils/adt/acl.c:2226
+#: catalog/aclchk.c:1757 catalog/objectaddress.c:862 commands/sequence.c:1035
+#: commands/tablecmds.c:214 commands/tablecmds.c:11244 utils/adt/acl.c:2076
+#: utils/adt/acl.c:2106 utils/adt/acl.c:2138 utils/adt/acl.c:2170
+#: utils/adt/acl.c:2198 utils/adt/acl.c:2228
#, c-format
msgid "\"%s\" is not a sequence"
msgstr "\"%s\" 不是一个序列"
-#: catalog/aclchk.c:1781
+#: catalog/aclchk.c:1795
#, c-format
msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges"
msgstr "序列\"%s\"只支持权限USAGE, SELECT 和UPDATE"
-#: catalog/aclchk.c:1798
+#: catalog/aclchk.c:1812
#, c-format
msgid "invalid privilege type USAGE for table"
msgstr "表的权限类型 USAGE 无效"
-#: catalog/aclchk.c:1963
+#: catalog/aclchk.c:1977
#, c-format
msgid "invalid privilege type %s for column"
msgstr "列的权限类型%s无效"
-#: catalog/aclchk.c:1976
+#: catalog/aclchk.c:1990
#, c-format
msgid "sequence \"%s\" only supports SELECT column privileges"
msgstr "序列\"%s\"只支持在列上的SELECT权限"
-#: catalog/aclchk.c:2560
+#: catalog/aclchk.c:2574
#, c-format
msgid "language \"%s\" is not trusted"
msgstr "语言 \"%s\" 不可信"
-#: catalog/aclchk.c:2562
+#: catalog/aclchk.c:2576
#, c-format
msgid "Only superusers can use untrusted languages."
msgstr "只有超级用户可以使用非信任语言."
-#: catalog/aclchk.c:3078
+#: catalog/aclchk.c:3092
#, c-format
msgid "cannot set privileges of array types"
msgstr "不能设置数组类型的权限"
-#: catalog/aclchk.c:3079
+#: catalog/aclchk.c:3093
#, c-format
msgid "Set the privileges of the element type instead."
msgstr "设置元素类型的权限."
-#: catalog/aclchk.c:3086 catalog/objectaddress.c:864 commands/typecmds.c:3128
+#: catalog/aclchk.c:3100 catalog/objectaddress.c:1094 commands/typecmds.c:3187
#, c-format
msgid "\"%s\" is not a domain"
msgstr "\"%s\" 不是一个域"
-#: catalog/aclchk.c:3206
+#: catalog/aclchk.c:3220
#, c-format
msgid "unrecognized privilege type \"%s\""
msgstr "未知的权限类型: \"%s\""
-#: catalog/aclchk.c:3255
+#: catalog/aclchk.c:3269
#, c-format
msgid "permission denied for column %s"
msgstr "访问列 %s 的权限不够"
-#: catalog/aclchk.c:3257
+#: catalog/aclchk.c:3271
#, c-format
msgid "permission denied for relation %s"
msgstr "对关系 %s 权限不够"
-#: catalog/aclchk.c:3259 commands/sequence.c:551 commands/sequence.c:765
-#: commands/sequence.c:807 commands/sequence.c:844 commands/sequence.c:1509
+#: catalog/aclchk.c:3273 commands/sequence.c:535 commands/sequence.c:748
+#: commands/sequence.c:790 commands/sequence.c:827 commands/sequence.c:1500
#, c-format
msgid "permission denied for sequence %s"
msgstr "对于序列 %s, 权限不够"
-#: catalog/aclchk.c:3261
+#: catalog/aclchk.c:3275
#, c-format
msgid "permission denied for database %s"
msgstr "对数据库 %s 权限不够"
-#: catalog/aclchk.c:3263
+#: catalog/aclchk.c:3277
#, c-format
msgid "permission denied for function %s"
msgstr "对函数 %s 权限不够"
-#: catalog/aclchk.c:3265
+#: catalog/aclchk.c:3279
#, c-format
msgid "permission denied for operator %s"
msgstr "对操作符 %s 权限不够"
-#: catalog/aclchk.c:3267
+#: catalog/aclchk.c:3281
#, c-format
msgid "permission denied for type %s"
msgstr "对类型 %s 权限不够"
-#: catalog/aclchk.c:3269
+#: catalog/aclchk.c:3283
#, c-format
msgid "permission denied for language %s"
msgstr "对语言 %s 权限不够"
-#: catalog/aclchk.c:3271
+#: catalog/aclchk.c:3285
#, c-format
msgid "permission denied for large object %s"
msgstr "在大对象%s上的权限不够"
-#: catalog/aclchk.c:3273
+#: catalog/aclchk.c:3287
#, c-format
msgid "permission denied for schema %s"
msgstr "对模式 %s 权限不够"
-#: catalog/aclchk.c:3275
+#: catalog/aclchk.c:3289
#, c-format
msgid "permission denied for operator class %s"
msgstr "对操作符表 %s 权限不够"
-#: catalog/aclchk.c:3277
+#: catalog/aclchk.c:3291
#, c-format
msgid "permission denied for operator family %s"
msgstr "对于操作符表%s的权限不够"
-#: catalog/aclchk.c:3279
+#: catalog/aclchk.c:3293
#, c-format
msgid "permission denied for collation %s"
msgstr "对排序规则 %s 权限不够"
-#: catalog/aclchk.c:3281
+#: catalog/aclchk.c:3295
#, c-format
msgid "permission denied for conversion %s"
msgstr "对编码转换 %s 权限不够"
-#: catalog/aclchk.c:3283
+#: catalog/aclchk.c:3297
#, c-format
msgid "permission denied for tablespace %s"
msgstr "对表空间 %s 权限不够"
-#: catalog/aclchk.c:3285
+#: catalog/aclchk.c:3299
#, c-format
msgid "permission denied for text search dictionary %s"
msgstr "访问文本搜索字典%s的权限不够"
-#: catalog/aclchk.c:3287
+#: catalog/aclchk.c:3301
#, c-format
msgid "permission denied for text search configuration %s"
msgstr "访问文本搜索配置%s的权限不足"
-#: catalog/aclchk.c:3289
+#: catalog/aclchk.c:3303
#, c-format
msgid "permission denied for foreign-data wrapper %s"
msgstr "访问外部数据封装器 %s 的权限不足"
-#: catalog/aclchk.c:3291
+#: catalog/aclchk.c:3305
#, c-format
msgid "permission denied for foreign server %s"
msgstr "访问外部服务器%s的权限不足"
-#: catalog/aclchk.c:3293
+#: catalog/aclchk.c:3307
+#, c-format
+#| msgid "permission denied for sequence %s"
+msgid "permission denied for event trigger %s"
+msgstr "事件触发器 %s, 权限不够"
+
+#: catalog/aclchk.c:3309
#, c-format
msgid "permission denied for extension %s"
msgstr "对扩展 %s 权限不够"
-#: catalog/aclchk.c:3299 catalog/aclchk.c:3301
+#: catalog/aclchk.c:3315 catalog/aclchk.c:3317
#, c-format
msgid "must be owner of relation %s"
msgstr "必须是关系 %s 的属主"
-#: catalog/aclchk.c:3303
+#: catalog/aclchk.c:3319
#, c-format
msgid "must be owner of sequence %s"
msgstr "必须是序列 %s 的属主"
-#: catalog/aclchk.c:3305
+#: catalog/aclchk.c:3321
#, c-format
msgid "must be owner of database %s"
msgstr "必须是数据库 %s 的属主"
-#: catalog/aclchk.c:3307
+#: catalog/aclchk.c:3323
#, c-format
msgid "must be owner of function %s"
msgstr "必须是函数 %s 的属主"
-#: catalog/aclchk.c:3309
+#: catalog/aclchk.c:3325
#, c-format
msgid "must be owner of operator %s"
msgstr "必须是操作符 %s 的属主"
-#: catalog/aclchk.c:3311
+#: catalog/aclchk.c:3327
#, c-format
msgid "must be owner of type %s"
msgstr "必须是类型 %s 的属主"
-#: catalog/aclchk.c:3313
+#: catalog/aclchk.c:3329
#, c-format
msgid "must be owner of language %s"
msgstr "必须是语言 %s 的属主"
-#: catalog/aclchk.c:3315
+#: catalog/aclchk.c:3331
#, c-format
msgid "must be owner of large object %s"
msgstr "必须是大对象%s的属主"
-#: catalog/aclchk.c:3317
+#: catalog/aclchk.c:3333
#, c-format
msgid "must be owner of schema %s"
msgstr "必须是模式 %s 的属主"
-#: catalog/aclchk.c:3319
+#: catalog/aclchk.c:3335
#, c-format
msgid "must be owner of operator class %s"
msgstr "必须是操作符表 %s 的属主"
-#: catalog/aclchk.c:3321
+#: catalog/aclchk.c:3337
#, c-format
msgid "must be owner of operator family %s"
msgstr "必须是操作符集合 %s 的属主"
-#: catalog/aclchk.c:3323
+#: catalog/aclchk.c:3339
#, c-format
msgid "must be owner of collation %s"
msgstr "必须是排序规则 %s 的属主"
-#: catalog/aclchk.c:3325
+#: catalog/aclchk.c:3341
#, c-format
msgid "must be owner of conversion %s"
msgstr "必须是编码转换 %s 的属主"
-#: catalog/aclchk.c:3327
+#: catalog/aclchk.c:3343
#, c-format
msgid "must be owner of tablespace %s"
msgstr "必须是表空间 %s 的属主"
# describe.c:1549
-#: catalog/aclchk.c:3329
+#: catalog/aclchk.c:3345
#, c-format
msgid "must be owner of text search dictionary %s"
msgstr "必须是文本搜寻字典%s的属主"
# describe.c:97
-#: catalog/aclchk.c:3331
+#: catalog/aclchk.c:3347
#, c-format
msgid "must be owner of text search configuration %s"
msgstr "必须是文本搜索配置%s的属主"
-#: catalog/aclchk.c:3333
+#: catalog/aclchk.c:3349
#, c-format
msgid "must be owner of foreign-data wrapper %s"
msgstr "必须是外部数据封装器 %s 的属主"
-#: catalog/aclchk.c:3335
+#: catalog/aclchk.c:3351
#, c-format
msgid "must be owner of foreign server %s"
msgstr "必须是外部服务器 %s 的属主"
-#: catalog/aclchk.c:3337
+#: catalog/aclchk.c:3353
+#, c-format
+#| msgid "must be owner of sequence %s"
+msgid "must be owner of event trigger %s"
+msgstr "必须是事件触发器 %s 的属主"
+
+#: catalog/aclchk.c:3355
#, c-format
msgid "must be owner of extension %s"
msgstr "必须是扩展 %s 的属主"
-#: catalog/aclchk.c:3379
+#: catalog/aclchk.c:3397
#, c-format
msgid "permission denied for column \"%s\" of relation \"%s\""
msgstr "访问关系\"%2$s\"的列\"%1$s\"的权限不够"
-#: catalog/aclchk.c:3419
+#: catalog/aclchk.c:3437
#, c-format
msgid "role with OID %u does not exist"
msgstr "OID为%u的角色不存在"
-#: catalog/aclchk.c:3514 catalog/aclchk.c:3522
+#: catalog/aclchk.c:3536 catalog/aclchk.c:3544
#, c-format
msgid "attribute %d of relation with OID %u does not exist"
msgstr "带有OID为%2$u的关系的属性%1$d不存在"
-#: catalog/aclchk.c:3595 catalog/aclchk.c:4507
+#: catalog/aclchk.c:3617 catalog/aclchk.c:4532
#, c-format
msgid "relation with OID %u does not exist"
msgstr "OID 为 %u 的关系不存在"
-#: catalog/aclchk.c:3695 catalog/aclchk.c:4898
+#: catalog/aclchk.c:3717 catalog/aclchk.c:4950
#, c-format
msgid "database with OID %u does not exist"
msgstr "OID 为 %u 的数据库不存在"
-#: catalog/aclchk.c:3749 catalog/aclchk.c:4585 tcop/fastpath.c:221
+#: catalog/aclchk.c:3771 catalog/aclchk.c:4610 tcop/fastpath.c:223
#, c-format
msgid "function with OID %u does not exist"
msgstr "OID 为 %u 的函数不存在"
-#: catalog/aclchk.c:3803 catalog/aclchk.c:4611
+#: catalog/aclchk.c:3825 catalog/aclchk.c:4636
#, c-format
msgid "language with OID %u does not exist"
msgstr "OID 为 %u 的语言不存在"
-#: catalog/aclchk.c:3964 catalog/aclchk.c:4683
+#: catalog/aclchk.c:3989 catalog/aclchk.c:4708
#, c-format
msgid "schema with OID %u does not exist"
msgstr "OID 为 %u 的模式不存在"
-#: catalog/aclchk.c:4018 catalog/aclchk.c:4710
+#: catalog/aclchk.c:4043 catalog/aclchk.c:4735
#, c-format
msgid "tablespace with OID %u does not exist"
msgstr "OID 为 %u 的表空间不存在"
-#: catalog/aclchk.c:4076 catalog/aclchk.c:4844 commands/foreigncmds.c:367
+#: catalog/aclchk.c:4101 catalog/aclchk.c:4869 commands/foreigncmds.c:302
#, c-format
msgid "foreign-data wrapper with OID %u does not exist"
msgstr "带有OID为%u的外部数据封装器(foreign-data wrapper)不存在"
-#: catalog/aclchk.c:4137 catalog/aclchk.c:4871 commands/foreigncmds.c:466
+#: catalog/aclchk.c:4162 catalog/aclchk.c:4896 commands/foreigncmds.c:409
#, c-format
msgid "foreign server with OID %u does not exist"
msgstr "带有OID为%u的外部服务器不存在"
-#: catalog/aclchk.c:4196 catalog/aclchk.c:4210 catalog/aclchk.c:4533
+#: catalog/aclchk.c:4221 catalog/aclchk.c:4235 catalog/aclchk.c:4558
#, c-format
msgid "type with OID %u does not exist"
msgstr "OID 为 %u 的类型不存在"
-#: catalog/aclchk.c:4559
+#: catalog/aclchk.c:4584
#, c-format
msgid "operator with OID %u does not exist"
msgstr "OID 为 %u 的操作符不存在"
-#: catalog/aclchk.c:4736
+#: catalog/aclchk.c:4761
#, c-format
msgid "operator class with OID %u does not exist"
msgstr "OID 为 %u 的操作符表不存在"
-#: catalog/aclchk.c:4763
+#: catalog/aclchk.c:4788
#, c-format
msgid "operator family with OID %u does not exist"
msgstr "OID 为 %u 的操作符表不存在"
-#: catalog/aclchk.c:4790
+#: catalog/aclchk.c:4815
#, c-format
msgid "text search dictionary with OID %u does not exist"
msgstr "带有OID为%u的文本搜索字典不存在"
-#: catalog/aclchk.c:4817
+#: catalog/aclchk.c:4842
#, c-format
msgid "text search configuration with OID %u does not exist"
msgstr "带有OID为%u的文本搜索配置不存在"
-#: catalog/aclchk.c:4924
+#: catalog/aclchk.c:4923 commands/event_trigger.c:509
+#, c-format
+#| msgid "language with OID %u does not exist"
+msgid "event trigger with OID %u does not exist"
+msgstr "OID 为 %u 的事件触发器不存在"
+
+#: catalog/aclchk.c:4976
#, c-format
msgid "collation with OID %u does not exist"
msgstr "OID 为 %u 的排序规则不存在"
-#: catalog/aclchk.c:4950
+#: catalog/aclchk.c:5002
#, c-format
msgid "conversion with OID %u does not exist"
msgstr "OID 为 %u 的编码转换不存在"
-#: catalog/aclchk.c:4991
+#: catalog/aclchk.c:5043
#, c-format
msgid "extension with OID %u does not exist"
msgstr "OID 为 %u 的扩展不存在"
-#: catalog/catalog.c:77
-#, c-format
-msgid "invalid fork name"
-msgstr "无效分支名称"
-
-#: catalog/catalog.c:78
-#, c-format
-msgid "Valid fork names are \"main\", \"fsm\", and \"vm\"."
-msgstr "有效的分支名称是 \"main\", \"fsm\", 和 \"vm\"."
-
-#: catalog/dependency.c:605
+#: catalog/dependency.c:626
#, c-format
msgid "cannot drop %s because %s requires it"
msgstr "无法删除 %s, 因为 %s 需要它"
-#: catalog/dependency.c:608
+#: catalog/dependency.c:629
#, c-format
msgid "You can drop %s instead."
msgstr "您也可以删除 %s 代替."
-#: catalog/dependency.c:769 catalog/pg_shdepend.c:566
+#: catalog/dependency.c:790 catalog/pg_shdepend.c:573
#, c-format
msgid "cannot drop %s because it is required by the database system"
msgstr "无法删除 %s, 因为它是数据库系统所需要的"
-#: catalog/dependency.c:885
+#: catalog/dependency.c:906
#, c-format
msgid "drop auto-cascades to %s"
msgstr "自动递归删除 %s"
-#: catalog/dependency.c:897 catalog/dependency.c:906
+#: catalog/dependency.c:918 catalog/dependency.c:927
#, c-format
msgid "%s depends on %s"
msgstr "%s 倚赖于 %s"
-#: catalog/dependency.c:918 catalog/dependency.c:927
+#: catalog/dependency.c:939 catalog/dependency.c:948
#, c-format
msgid "drop cascades to %s"
msgstr "递归删除 %s"
-#: catalog/dependency.c:935 catalog/pg_shdepend.c:677
+#: catalog/dependency.c:956 catalog/pg_shdepend.c:684
#, c-format
msgid ""
"\n"
"\n"
"%d个其它对象(相关列表参见服务器日志)"
-#: catalog/dependency.c:947
+#: catalog/dependency.c:968
#, c-format
msgid "cannot drop %s because other objects depend on it"
msgstr "无法删除 %s 因为有其它对象倚赖它"
-#: catalog/dependency.c:949 catalog/dependency.c:950 catalog/dependency.c:956
-#: catalog/dependency.c:957 catalog/dependency.c:968 catalog/dependency.c:969
-#: catalog/objectaddress.c:555 commands/tablecmds.c:729 commands/user.c:960
-#: port/win32/security.c:51 storage/lmgr/deadlock.c:955
-#: storage/lmgr/proc.c:1140 utils/misc/guc.c:5440 utils/misc/guc.c:5775
-#: utils/misc/guc.c:8136 utils/misc/guc.c:8170 utils/misc/guc.c:8204
-#: utils/misc/guc.c:8238 utils/misc/guc.c:8273
-#, c-format
-msgid "%s"
-msgstr "%s"
-
-#: catalog/dependency.c:951 catalog/dependency.c:958
+#: catalog/dependency.c:972 catalog/dependency.c:979
#, c-format
msgid "Use DROP ... CASCADE to drop the dependent objects too."
msgstr "使用 DROP .. CASCADE 把倚赖对象一并删除."
-#: catalog/dependency.c:955
+#: catalog/dependency.c:976
#, c-format
msgid "cannot drop desired object(s) because other objects depend on them"
msgstr "无法删除希望的对象,因为有其它对象倚赖它"
#. translator: %d always has a value larger than 1
-#: catalog/dependency.c:964
+#: catalog/dependency.c:985
#, c-format
msgid "drop cascades to %d other object"
msgid_plural "drop cascades to %d other objects"
msgstr[0] "串联删除%d个其它对象"
-#: catalog/dependency.c:2313
-#, c-format
-msgid " column %s"
-msgstr " 字段 %s"
-
-#: catalog/dependency.c:2319
-#, c-format
-msgid "function %s"
-msgstr "函数 %s"
-
-#: catalog/dependency.c:2324
-#, c-format
-msgid "type %s"
-msgstr "类型 %s"
-
-#: catalog/dependency.c:2354
-#, c-format
-msgid "cast from %s to %s"
-msgstr "%s 转换为 %s"
-
-#: catalog/dependency.c:2374
-#, c-format
-msgid "collation %s"
-msgstr "排序规则 %s"
-
-#: catalog/dependency.c:2398
-#, c-format
-msgid "constraint %s on %s"
-msgstr "在%2$s上的约束%1$s "
-
-#: catalog/dependency.c:2404
-#, c-format
-msgid "constraint %s"
-msgstr "约束 %s"
-
-#: catalog/dependency.c:2421
-#, c-format
-msgid "conversion %s"
-msgstr "编码转换 %s"
-
-#: catalog/dependency.c:2458
-#, c-format
-msgid "default for %s"
-msgstr "%s的缺省"
-
-#: catalog/dependency.c:2475
-#, c-format
-msgid "language %s"
-msgstr "语言 %s"
-
-#: catalog/dependency.c:2481
-#, c-format
-msgid "large object %u"
-msgstr "大对象 %u "
-
-#: catalog/dependency.c:2486
-#, c-format
-msgid "operator %s"
-msgstr "操作符 %s"
-
-#: catalog/dependency.c:2518
-#, c-format
-msgid "operator class %s for access method %s"
-msgstr "处理方法 %s 的操作符类 %s"
-
-#. translator: %d is the operator strategy (a number), the
-#. first two %s's are data type names, the third %s is the
-#. description of the operator family, and the last %s is the
-#. textual form of the operator with arguments.
-#: catalog/dependency.c:2568
-#, c-format
-msgid "operator %d (%s, %s) of %s: %s"
-msgstr "%5$s: %4$s中的操作符%1$d (%2$s,%3$s)"
-
-#. translator: %d is the function number, the first two %s's
-#. are data type names, the third %s is the description of the
-#. operator family, and the last %s is the textual form of the
-#. function with arguments.
-#: catalog/dependency.c:2618
-#, c-format
-msgid "function %d (%s, %s) of %s: %s"
-msgstr "%4$s: %5$s 的函数%1$d (%2$s, %3$s)"
-
-#: catalog/dependency.c:2658
-#, c-format
-msgid "rule %s on "
-msgstr "规则 %s 在 "
-
-#: catalog/dependency.c:2693
-#, c-format
-msgid "trigger %s on "
-msgstr "触发器 %s 在 "
-
-#: catalog/dependency.c:2710
-#, c-format
-msgid "schema %s"
-msgstr "模式 %s"
-
-#: catalog/dependency.c:2723
-#, c-format
-msgid "text search parser %s"
-msgstr "文本搜寻解析器 %s"
-
-# sql_help.h:301
-#: catalog/dependency.c:2738
-#, c-format
-msgid "text search dictionary %s"
-msgstr "文本搜寻字典 %s"
-
-# describe.c:1753
-#: catalog/dependency.c:2753
-#, c-format
-msgid "text search template %s"
-msgstr "文本搜寻模版 %s"
-
-#: catalog/dependency.c:2768
-#, c-format
-msgid "text search configuration %s"
-msgstr "文本搜寻配置 %s"
-
-#: catalog/dependency.c:2776
-#, c-format
-msgid "role %s"
-msgstr "角色 %s"
-
-#: catalog/dependency.c:2789
-#, c-format
-msgid "database %s"
-msgstr "数据库 %s"
-
-# describe.c:1342
-#: catalog/dependency.c:2801
-#, c-format
-msgid "tablespace %s"
-msgstr "表空间 %s"
-
-#: catalog/dependency.c:2810
-#, c-format
-msgid "foreign-data wrapper %s"
-msgstr "外部数据封装器 %s"
-
-#: catalog/dependency.c:2819
-#, c-format
-msgid "server %s"
-msgstr "服务器 %s"
-
-#: catalog/dependency.c:2844
-#, c-format
-msgid "user mapping for %s"
-msgstr "用于 %s 的用户映射"
-
-#: catalog/dependency.c:2878
-#, c-format
-msgid "default privileges on new relations belonging to role %s"
-msgstr "在新的关系上的缺省权限属于角色%s"
-
-#: catalog/dependency.c:2883
-#, c-format
-msgid "default privileges on new sequences belonging to role %s"
-msgstr "在新的序列上的缺省权限属于角色%s"
-
-#: catalog/dependency.c:2888
-#, c-format
-msgid "default privileges on new functions belonging to role %s"
-msgstr "在新的函数上的缺省权限属于角色%s"
-
-#: catalog/dependency.c:2893
-#, c-format
-msgid "default privileges on new types belonging to role %s"
-msgstr "在新类型上的缺省权限属于角色 %s"
-
-#: catalog/dependency.c:2899
-#, c-format
-msgid "default privileges belonging to role %s"
-msgstr "缺省权限属于角色%s"
-
-#: catalog/dependency.c:2907
-#, c-format
-msgid " in schema %s"
-msgstr "在模式%s中"
-
-#: catalog/dependency.c:2924
-#, c-format
-msgid "extension %s"
-msgstr "扩展 %s"
-
-#: catalog/dependency.c:2982
-#, c-format
-msgid "table %s"
-msgstr "表 %s"
-
-#: catalog/dependency.c:2986
-#, c-format
-msgid "index %s"
-msgstr "索引 %s"
-
-#: catalog/dependency.c:2990
-#, c-format
-msgid "sequence %s"
-msgstr "序列 %s"
-
-#: catalog/dependency.c:2994
-#, c-format
-msgid "uncataloged table %s"
-msgstr "未归类的表 %s"
-
-#: catalog/dependency.c:2998
-#, c-format
-msgid "toast table %s"
-msgstr "toast 表 %s"
-
-#: catalog/dependency.c:3002
-#, c-format
-msgid "view %s"
-msgstr "视图 %s"
-
-#: catalog/dependency.c:3006
-#, c-format
-msgid "composite type %s"
-msgstr "复合类型 %s"
-
-#: catalog/dependency.c:3010
-#, c-format
-msgid "foreign table %s"
-msgstr "外部表 %s"
-
-#: catalog/dependency.c:3015
-#, c-format
-msgid "relation %s"
-msgstr "关系 %s"
-
-#: catalog/dependency.c:3052
-#, c-format
-msgid "operator family %s for access method %s"
-msgstr "访问方法 %2$s 的操作符类 %1$s"
-
-#: catalog/heap.c:262
+#: catalog/heap.c:274
#, c-format
msgid "permission denied to create \"%s.%s\""
msgstr "创建 \"%s.%s\" 权限不够"
-#: catalog/heap.c:264
+#: catalog/heap.c:276
#, c-format
msgid "System catalog modifications are currently disallowed."
msgstr "系统表修改是不被同时允许的"
-#: catalog/heap.c:398 commands/tablecmds.c:1361 commands/tablecmds.c:1802
-#: commands/tablecmds.c:4409
+#: catalog/heap.c:411 commands/tablecmds.c:1402 commands/tablecmds.c:1844
+#: commands/tablecmds.c:4583
#, c-format
msgid "tables can have at most %d columns"
msgstr "表最多可以有 %d 个字段"
-#: catalog/heap.c:415 commands/tablecmds.c:4670
+#: catalog/heap.c:428 commands/tablecmds.c:4839
#, c-format
msgid "column name \"%s\" conflicts with a system column name"
msgstr "字段名 \"%s\" 与系统字段名冲突"
-#: catalog/heap.c:431
+#: catalog/heap.c:444
#, c-format
msgid "column name \"%s\" specified more than once"
msgstr "字段名称\"%s\" 被定义多次"
-#: catalog/heap.c:481
+#: catalog/heap.c:494
#, c-format
msgid "column \"%s\" has type \"unknown\""
msgstr "字段 \"%s\" 类型为 \"未知\""
-#: catalog/heap.c:482
+#: catalog/heap.c:495
#, c-format
msgid "Proceeding with relation creation anyway."
msgstr "继续关系的创建."
-#: catalog/heap.c:495
+#: catalog/heap.c:508
#, c-format
msgid "column \"%s\" has pseudo-type %s"
msgstr "字段 \"%s\" 有伪类型 %s"
-#: catalog/heap.c:525
+#: catalog/heap.c:538
#, c-format
msgid "composite type %s cannot be made a member of itself"
msgstr "混合类型 %s 的成员不能为自身"
-#: catalog/heap.c:567 commands/createas.c:291
+#: catalog/heap.c:580 commands/createas.c:343
#, c-format
msgid "no collation was derived for column \"%s\" with collatable type %s"
msgstr "没有来自列 \"%s\"的排序规则带有可排序类型 %s"
-#: catalog/heap.c:569 commands/createas.c:293 commands/indexcmds.c:1094
-#: commands/view.c:147 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1522
-#: utils/adt/formatting.c:1574 utils/adt/formatting.c:1647
-#: utils/adt/formatting.c:1699 utils/adt/formatting.c:1784
-#: utils/adt/formatting.c:1848 utils/adt/like.c:212 utils/adt/selfuncs.c:5186
-#: utils/adt/varlena.c:1372
+#: catalog/heap.c:582 commands/createas.c:345 commands/indexcmds.c:1072
+#: commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1510
+#: utils/adt/formatting.c:1562 utils/adt/formatting.c:1630
+#: utils/adt/formatting.c:1682 utils/adt/formatting.c:1751
+#: utils/adt/formatting.c:1815 utils/adt/like.c:212 utils/adt/selfuncs.c:5221
+#: utils/adt/varlena.c:1381
#, c-format
msgid "Use the COLLATE clause to set the collation explicitly."
msgstr "使用COLLATE子句来显示设置排序规则."
-#: catalog/heap.c:1027 catalog/index.c:771 commands/tablecmds.c:2483
+#: catalog/heap.c:1055 catalog/index.c:778 commands/tablecmds.c:2549
#, c-format
msgid "relation \"%s\" already exists"
msgstr "关系 \"%s\" 已经存在"
-#: catalog/heap.c:1043 catalog/pg_type.c:402 catalog/pg_type.c:706
-#: commands/typecmds.c:235 commands/typecmds.c:733 commands/typecmds.c:1084
-#: commands/typecmds.c:1276 commands/typecmds.c:2026
+#: catalog/heap.c:1071 catalog/pg_type.c:403 catalog/pg_type.c:706
+#: commands/typecmds.c:239 commands/typecmds.c:739 commands/typecmds.c:1090
+#: commands/typecmds.c:1308 commands/typecmds.c:2060
#, c-format
msgid "type \"%s\" already exists"
msgstr "类型 \"%s\" 已经存在"
-#: catalog/heap.c:1044
+#: catalog/heap.c:1072
#, c-format
msgid ""
"A relation has an associated type of the same name, so you must use a name "
msgstr ""
"关系和与它相关联的类型名称相同,所以不能使用与任何已存在类型名称相冲突的名称."
-#: catalog/heap.c:2171
+#: catalog/heap.c:2257
#, c-format
msgid "check constraint \"%s\" already exists"
msgstr "检查约束 \"%s\" 已经存在"
-#: catalog/heap.c:2324 catalog/pg_constraint.c:648 commands/tablecmds.c:5542
+#: catalog/heap.c:2410 catalog/pg_constraint.c:650 commands/tablecmds.c:5734
#, c-format
msgid "constraint \"%s\" for relation \"%s\" already exists"
msgstr "关系 \"%2$s\" 的约束 \"%1$s\" 已经存在"
-#: catalog/heap.c:2334
+#: catalog/heap.c:2420
#, c-format
msgid ""
"constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\""
msgstr "关系\"%2$s\"上的约束\"%1$s\"与非继承约束相冲突"
-#: catalog/heap.c:2348
+#: catalog/heap.c:2434
#, c-format
msgid "merging constraint \"%s\" with inherited definition"
msgstr "正在合并带有已继承定义的约束\"%s\" "
-#: catalog/heap.c:2440
+#: catalog/heap.c:2527
#, c-format
msgid "cannot use column references in default expression"
msgstr "在默认的表达式中不能使用字段关联"
-#: catalog/heap.c:2448
+#: catalog/heap.c:2538
#, c-format
msgid "default expression must not return a set"
msgstr "默认表达式不能返回一个组合"
-#: catalog/heap.c:2456
-#, c-format
-msgid "cannot use subquery in default expression"
-msgstr "在默认的表达式中不能使用子查询"
-
-#: catalog/heap.c:2460
-#, c-format
-msgid "cannot use aggregate function in default expression"
-msgstr "在默认的表达式中不能使用聚合函数"
-
-#: catalog/heap.c:2464
-#, c-format
-msgid "cannot use window function in default expression"
-msgstr "在缺省表达式中不能使用窗口函数"
-
-#: catalog/heap.c:2483 rewrite/rewriteHandler.c:1030
+#: catalog/heap.c:2557 rewrite/rewriteHandler.c:1066
#, c-format
msgid "column \"%s\" is of type %s but default expression is of type %s"
msgstr "字段 \"%s\" 类型是 %s, 但默认表达式类型是 %s"
-#: catalog/heap.c:2488 commands/prepare.c:388 parser/parse_node.c:397
-#: parser/parse_target.c:490 parser/parse_target.c:736
-#: parser/parse_target.c:746 rewrite/rewriteHandler.c:1035
+#: catalog/heap.c:2562 commands/prepare.c:374 parser/parse_node.c:411
+#: parser/parse_target.c:509 parser/parse_target.c:758
+#: parser/parse_target.c:768 rewrite/rewriteHandler.c:1071
#, c-format
msgid "You will need to rewrite or cast the expression."
msgstr "你需要重写或转换表达式"
-#: catalog/heap.c:2534
+#: catalog/heap.c:2609
#, c-format
msgid "only table \"%s\" can be referenced in check constraint"
msgstr "在检查约束中只有表 \"%s\" 能被关联的"
-#: catalog/heap.c:2543 commands/typecmds.c:2909
-#, c-format
-msgid "cannot use subquery in check constraint"
-msgstr "在检查约束中不可以使用子查询"
-
-#: catalog/heap.c:2547 commands/typecmds.c:2913
-#, c-format
-msgid "cannot use aggregate function in check constraint"
-msgstr "在检查约束中不能使用聚合函数"
-
-#: catalog/heap.c:2551 commands/typecmds.c:2917
-#, c-format
-msgid "cannot use window function in check constraint"
-msgstr "在检查约束中不能使用窗口函数"
-
-#: catalog/heap.c:2790
+#: catalog/heap.c:2849
#, c-format
msgid "unsupported ON COMMIT and foreign key combination"
msgstr "不支持ON COMMIT和外键一同使用"
-#: catalog/heap.c:2791
+#: catalog/heap.c:2850
#, c-format
msgid ""
"Table \"%s\" references \"%s\", but they do not have the same ON COMMIT "
"setting."
msgstr "表 \"%s\"引用表\"%s\",但是它们没有相同的ON COMMIT设置."
-#: catalog/heap.c:2796
+#: catalog/heap.c:2855
#, c-format
msgid "cannot truncate a table referenced in a foreign key constraint"
msgstr "在一个外键约束中无法删除 (truncate) 一个表的关联"
-#: catalog/heap.c:2797
+#: catalog/heap.c:2856
#, c-format
msgid "Table \"%s\" references \"%s\"."
msgstr "表\"%s\" 引用\"%s\"."
-#: catalog/heap.c:2799
+#: catalog/heap.c:2858
#, c-format
msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE."
msgstr "同时截断表\"%s\" ,或者使用TRUNCATE ... CASCADE."
-#: catalog/index.c:201 parser/parse_utilcmd.c:1357 parser/parse_utilcmd.c:1443
+#: catalog/index.c:204 parser/parse_utilcmd.c:1393 parser/parse_utilcmd.c:1479
#, c-format
msgid "multiple primary keys for table \"%s\" are not allowed"
msgstr "对表 \"%s\" 指定多个主键是不允许的"
-#: catalog/index.c:219
+#: catalog/index.c:222
#, c-format
msgid "primary keys cannot be expressions"
msgstr "主键不能是表达式"
-#: catalog/index.c:732 catalog/index.c:1131
+#: catalog/index.c:739 catalog/index.c:1143
#, c-format
msgid "user-defined indexes on system catalog tables are not supported"
msgstr "在系统表上用户定义的索引是不被支持的"
-#: catalog/index.c:742
+#: catalog/index.c:749
#, c-format
msgid "concurrent index creation on system catalog tables is not supported"
msgstr "不支持在系统目录表上同时创建索引"
-#: catalog/index.c:760
+#: catalog/index.c:767
#, c-format
msgid "shared indexes cannot be created after initdb"
msgstr "在 initdb 之后, 不能创建共享索引"
-#: catalog/index.c:1395
+#: catalog/index.c:1403
#, c-format
msgid "DROP INDEX CONCURRENTLY must be first action in transaction"
msgstr "DROP INDEX CONCURRENTLY在一个事务当中必须是最先执行"
-#: catalog/index.c:1963
+#: catalog/index.c:1936
#, c-format
msgid "building index \"%s\" on table \"%s\""
msgstr "为表 \"%2$s\" 建立索引\"%1$s\""
-#: catalog/index.c:3138
+#: catalog/index.c:3121
#, c-format
msgid "cannot reindex temporary tables of other sessions"
msgstr "不能重新创建其他会话的临时表上的索引"
-#: catalog/namespace.c:244 catalog/namespace.c:434 catalog/namespace.c:528
-#: commands/trigger.c:4196
+#: catalog/namespace.c:247 catalog/namespace.c:445 catalog/namespace.c:539
+#: commands/trigger.c:4486
#, c-format
msgid "cross-database references are not implemented: \"%s.%s.%s\""
msgstr "未实现跨数据库关联: \"%s.%s.%s\""
-#: catalog/namespace.c:296
+#: catalog/namespace.c:304
#, c-format
msgid "temporary tables cannot specify a schema name"
msgstr "临时表不能指定模式名称"
-#: catalog/namespace.c:372
+#: catalog/namespace.c:383
#, c-format
msgid "could not obtain lock on relation \"%s.%s\""
msgstr "无法在关系 \"%s.%s\" 上获得锁"
-#: catalog/namespace.c:377 commands/lockcmds.c:144
+#: catalog/namespace.c:388 commands/lockcmds.c:146
#, c-format
msgid "could not obtain lock on relation \"%s\""
msgstr "无法在关系 \"%s\" 上获得锁"
-#: catalog/namespace.c:401 parser/parse_relation.c:849
+#: catalog/namespace.c:412 parser/parse_relation.c:964
#, c-format
msgid "relation \"%s.%s\" does not exist"
msgstr "关系 \"%s.%s\" 不存在"
-#: catalog/namespace.c:406 parser/parse_relation.c:862
-#: parser/parse_relation.c:870 utils/adt/regproc.c:810
+#: catalog/namespace.c:417 parser/parse_relation.c:977
+#: parser/parse_relation.c:985 utils/adt/regproc.c:974
#, c-format
msgid "relation \"%s\" does not exist"
msgstr "关系 \"%s\" 不存在"
-#: catalog/namespace.c:474 catalog/namespace.c:2805
+#: catalog/namespace.c:485 catalog/namespace.c:2849 commands/extension.c:1396
+#: commands/extension.c:1402
#, c-format
msgid "no schema has been selected to create in"
msgstr "创建中没有选择模式"
-#: catalog/namespace.c:626 catalog/namespace.c:639
+#: catalog/namespace.c:637 catalog/namespace.c:650
#, c-format
msgid "cannot create relations in temporary schemas of other sessions"
msgstr "不能在其他会话的临时方案上创建关系"
-#: catalog/namespace.c:630
+#: catalog/namespace.c:641
#, c-format
msgid "cannot create temporary relation in non-temporary schema"
msgstr "不能在非临时方案上创建临时关系"
-#: catalog/namespace.c:645
+#: catalog/namespace.c:656
#, c-format
msgid "only temporary relations may be created in temporary schemas"
msgstr "临时方案里只能创建临时关系"
-#: catalog/namespace.c:2122
+#: catalog/namespace.c:2151
#, c-format
msgid "text search parser \"%s\" does not exist"
msgstr "文本搜索解析器 \"%s\" 不存在"
-#: catalog/namespace.c:2245
+#: catalog/namespace.c:2277
#, c-format
msgid "text search dictionary \"%s\" does not exist"
msgstr "文本搜索字典 \"%s\" 不存在"
-#: catalog/namespace.c:2369
+#: catalog/namespace.c:2404
#, c-format
msgid "text search template \"%s\" does not exist"
msgstr "文本搜索模版 \"%s\" 不存在"
-#: catalog/namespace.c:2492 commands/tsearchcmds.c:1654
-#: utils/cache/ts_cache.c:617
+#: catalog/namespace.c:2530 commands/tsearchcmds.c:1168
+#: utils/cache/ts_cache.c:616
#, c-format
msgid "text search configuration \"%s\" does not exist"
msgstr "文本搜寻配置 \"%s\" 不存在"
-#: catalog/namespace.c:2605 parser/parse_expr.c:777 parser/parse_target.c:1086
+#: catalog/namespace.c:2643 parser/parse_expr.c:788 parser/parse_target.c:1110
#, c-format
msgid "cross-database references are not implemented: %s"
msgstr "未实现跨数据库关联: %s"
-#: catalog/namespace.c:2611 parser/parse_expr.c:784 parser/parse_target.c:1093
-#: gram.y:12027 gram.y:13218
+#: catalog/namespace.c:2649 gram.y:12556 gram.y:13788 parser/parse_expr.c:795
+#: parser/parse_target.c:1117
#, c-format
msgid "improper qualified name (too many dotted names): %s"
msgstr "不合适的条件名称 (名字中太多的点符号): %s"
-#: catalog/namespace.c:2739
+#: catalog/namespace.c:2783
#, c-format
msgid "%s is already in schema \"%s\""
msgstr "在模式\"%2$s\"中已存在 %1$s了"
-#: catalog/namespace.c:2747
+#: catalog/namespace.c:2791
#, c-format
msgid "cannot move objects into or out of temporary schemas"
msgstr "无法将对象移入或移出临时模式"
-#: catalog/namespace.c:2753
+#: catalog/namespace.c:2797
#, c-format
msgid "cannot move objects into or out of TOAST schema"
msgstr "无法将对象移入或移出TOAST模式"
-#: catalog/namespace.c:2826 commands/schemacmds.c:189
-#: commands/schemacmds.c:258
+#: catalog/namespace.c:2870 commands/schemacmds.c:212
+#: commands/schemacmds.c:288 commands/tablecmds.c:708
#, c-format
msgid "schema \"%s\" does not exist"
msgstr "模式 \"%s\" 不存在"
-#: catalog/namespace.c:2857
+#: catalog/namespace.c:2901
#, c-format
msgid "improper relation name (too many dotted names): %s"
msgstr "不合适的关系名称 (名字中太多的点符号): %s"
-#: catalog/namespace.c:3274
+#: catalog/namespace.c:3342
#, c-format
msgid "collation \"%s\" for encoding \"%s\" does not exist"
msgstr "编码 \"%2$s\" 中的排序规则 \"%1$s\" 不存在"
-#: catalog/namespace.c:3326
+#: catalog/namespace.c:3397
#, c-format
msgid "conversion \"%s\" does not exist"
msgstr "编码转换 \"%s\" 不存在"
-#: catalog/namespace.c:3531
+#: catalog/namespace.c:3605
#, c-format
msgid "permission denied to create temporary tables in database \"%s\""
msgstr "不允许在数据库 \"%s\" 中创建临时表"
-#: catalog/namespace.c:3547
+#: catalog/namespace.c:3621
#, c-format
msgid "cannot create temporary tables during recovery"
msgstr "不能在恢复过程中创建临时表"
-#: catalog/namespace.c:3791 commands/tablespace.c:1168 commands/variable.c:60
-#: replication/syncrep.c:683 utils/misc/guc.c:8303
+#: catalog/namespace.c:3865 commands/tablespace.c:1113 commands/variable.c:61
+#: replication/syncrep.c:677 utils/misc/guc.c:9034
#, c-format
msgid "List syntax is invalid."
msgstr "列表语法无效."
-#: catalog/objectaddress.c:526
+#: catalog/objectaddress.c:732
msgid "database name cannot be qualified"
msgstr "不能限定数据库名称"
-#: catalog/objectaddress.c:529 commands/extension.c:2419
+#: catalog/objectaddress.c:735 commands/extension.c:2423
#, c-format
msgid "extension name cannot be qualified"
msgstr "扩展名不合格"
-#: catalog/objectaddress.c:532
+#: catalog/objectaddress.c:738
msgid "tablespace name cannot be qualified"
msgstr "不能限定表空间名称"
-#: catalog/objectaddress.c:535
+#: catalog/objectaddress.c:741
msgid "role name cannot be qualified"
msgstr "不能限定角色名称"
-#: catalog/objectaddress.c:538
+#: catalog/objectaddress.c:744
msgid "schema name cannot be qualified"
msgstr "不能限定模式名称"
-#: catalog/objectaddress.c:541
+#: catalog/objectaddress.c:747
msgid "language name cannot be qualified"
msgstr "不能限定language名称"
-#: catalog/objectaddress.c:544
+#: catalog/objectaddress.c:750
msgid "foreign-data wrapper name cannot be qualified"
msgstr "foreign-data包装器名无法限定"
-#: catalog/objectaddress.c:547
+#: catalog/objectaddress.c:753
msgid "server name cannot be qualified"
msgstr "无法限定服务器名"
-#: catalog/objectaddress.c:655 catalog/toasting.c:92 commands/indexcmds.c:374
-#: commands/lockcmds.c:92 commands/tablecmds.c:204 commands/tablecmds.c:1222
-#: commands/tablecmds.c:3966 commands/tablecmds.c:7279
-#: commands/tablecmds.c:10281
+#: catalog/objectaddress.c:756
+#| msgid "server name cannot be qualified"
+msgid "event trigger name cannot be qualified"
+msgstr "事件触发器命名无法确定"
+
+#: catalog/objectaddress.c:869 commands/lockcmds.c:94 commands/tablecmds.c:208
+#: commands/tablecmds.c:1263 commands/tablecmds.c:4130
+#: commands/tablecmds.c:7601
#, c-format
msgid "\"%s\" is not a table"
msgstr "\"%s\" 不是一个表"
-#: catalog/objectaddress.c:662 commands/tablecmds.c:216
-#: commands/tablecmds.c:3981 commands/tablecmds.c:10361 commands/view.c:185
+#: catalog/objectaddress.c:876 commands/tablecmds.c:220
+#: commands/tablecmds.c:4154 commands/tablecmds.c:11249 commands/view.c:154
#, c-format
msgid "\"%s\" is not a view"
msgstr "\"%s\" 不是一个视图"
-#: catalog/objectaddress.c:669 commands/tablecmds.c:234
-#: commands/tablecmds.c:3984 commands/tablecmds.c:10366
+#: catalog/objectaddress.c:883 commands/matview.c:171 commands/tablecmds.c:226
+#: commands/tablecmds.c:11254
+#, c-format
+#| msgid "\"%s\" is not a table or view"
+msgid "\"%s\" is not a materialized view"
+msgstr "\"%s\" 不是一个物化视图"
+
+#: catalog/objectaddress.c:890 commands/tablecmds.c:244
+#: commands/tablecmds.c:4157 commands/tablecmds.c:11259
#, c-format
msgid "\"%s\" is not a foreign table"
msgstr "\"%s\" 不是一个外部表"
-#: catalog/objectaddress.c:800
+#: catalog/objectaddress.c:1028
#, c-format
msgid "column name must be qualified"
msgstr "不能限定列名称"
-#: catalog/objectaddress.c:853 commands/functioncmds.c:130
-#: commands/tablecmds.c:226 commands/typecmds.c:3192 parser/parse_func.c:1583
-#: parser/parse_type.c:202 utils/adt/acl.c:4372 utils/adt/regproc.c:974
+#: catalog/objectaddress.c:1083 commands/functioncmds.c:126
+#: commands/tablecmds.c:236 commands/typecmds.c:3253 parser/parse_type.c:222
+#: parser/parse_type.c:251 parser/parse_type.c:795 utils/adt/acl.c:4374
+#: utils/adt/regproc.c:1165
#, c-format
msgid "type \"%s\" does not exist"
msgstr "类型 \"%s\" 不存在"
-#: catalog/objectaddress.c:1003 catalog/pg_largeobject.c:196
-#: libpq/be-fsstubs.c:286
+#: catalog/objectaddress.c:1240 libpq/be-fsstubs.c:352
#, c-format
msgid "must be owner of large object %u"
msgstr "必须是大对象%u的属主"
-#: catalog/objectaddress.c:1018 commands/functioncmds.c:1505
+#: catalog/objectaddress.c:1255 commands/functioncmds.c:1328
#, c-format
msgid "must be owner of type %s or type %s"
msgstr "只能是类型 %s 或 %s 的所由者"
-#: catalog/objectaddress.c:1049 catalog/objectaddress.c:1065
+#: catalog/objectaddress.c:1286 catalog/objectaddress.c:1302
#, c-format
msgid "must be superuser"
msgstr "必须是超级用户"
-#: catalog/objectaddress.c:1056
+#: catalog/objectaddress.c:1293
#, c-format
msgid "must have CREATEROLE privilege"
msgstr "必须拥有CREATEROLE权限."
-#: catalog/pg_aggregate.c:101
+#: catalog/objectaddress.c:1539
+#, c-format
+msgid " column %s"
+msgstr " 字段 %s"
+
+#: catalog/objectaddress.c:1545
+#, c-format
+msgid "function %s"
+msgstr "函数 %s"
+
+#: catalog/objectaddress.c:1550
+#, c-format
+msgid "type %s"
+msgstr "类型 %s"
+
+#: catalog/objectaddress.c:1580
+#, c-format
+msgid "cast from %s to %s"
+msgstr "%s 转换为 %s"
+
+#: catalog/objectaddress.c:1600
+#, c-format
+msgid "collation %s"
+msgstr "排序规则 %s"
+
+#: catalog/objectaddress.c:1624
+#, c-format
+msgid "constraint %s on %s"
+msgstr "在%2$s上的约束%1$s "
+
+#: catalog/objectaddress.c:1630
+#, c-format
+msgid "constraint %s"
+msgstr "约束 %s"
+
+#: catalog/objectaddress.c:1647
+#, c-format
+msgid "conversion %s"
+msgstr "编码转换 %s"
+
+#: catalog/objectaddress.c:1684
+#, c-format
+msgid "default for %s"
+msgstr "%s的缺省"
+
+#: catalog/objectaddress.c:1701
+#, c-format
+msgid "language %s"
+msgstr "语言 %s"
+
+#: catalog/objectaddress.c:1707
+#, c-format
+msgid "large object %u"
+msgstr "大对象 %u "
+
+#: catalog/objectaddress.c:1712
+#, c-format
+msgid "operator %s"
+msgstr "操作符 %s"
+
+#: catalog/objectaddress.c:1744
+#, c-format
+msgid "operator class %s for access method %s"
+msgstr "处理方法 %s 的操作符类 %s"
+
+#. translator: %d is the operator strategy (a number), the
+#. first two %s's are data type names, the third %s is the
+#. description of the operator family, and the last %s is the
+#. textual form of the operator with arguments.
+#: catalog/objectaddress.c:1794
+#, c-format
+msgid "operator %d (%s, %s) of %s: %s"
+msgstr "%5$s: %4$s中的操作符%1$d (%2$s,%3$s)"
+
+#. translator: %d is the function number, the first two %s's
+#. are data type names, the third %s is the description of the
+#. operator family, and the last %s is the textual form of the
+#. function with arguments.
+#: catalog/objectaddress.c:1844
+#, c-format
+msgid "function %d (%s, %s) of %s: %s"
+msgstr "%4$s: %5$s 的函数%1$d (%2$s, %3$s)"
+
+#: catalog/objectaddress.c:1884
+#, c-format
+msgid "rule %s on "
+msgstr "规则 %s 在 "
+
+#: catalog/objectaddress.c:1919
+#, c-format
+msgid "trigger %s on "
+msgstr "触发器 %s 在 "
+
+#: catalog/objectaddress.c:1936
+#, c-format
+msgid "schema %s"
+msgstr "模式 %s"
+
+#: catalog/objectaddress.c:1949
+#, c-format
+msgid "text search parser %s"
+msgstr "文本搜寻解析器 %s"
+
+# sql_help.h:301
+#: catalog/objectaddress.c:1964
+#, c-format
+msgid "text search dictionary %s"
+msgstr "文本搜寻字典 %s"
+
+# describe.c:1753
+#: catalog/objectaddress.c:1979
+#, c-format
+msgid "text search template %s"
+msgstr "文本搜寻模版 %s"
+
+#: catalog/objectaddress.c:1994
+#, c-format
+msgid "text search configuration %s"
+msgstr "文本搜寻配置 %s"
+
+#: catalog/objectaddress.c:2002
+#, c-format
+msgid "role %s"
+msgstr "角色 %s"
+
+#: catalog/objectaddress.c:2015
+#, c-format
+msgid "database %s"
+msgstr "数据库 %s"
+
+# describe.c:1342
+#: catalog/objectaddress.c:2027
+#, c-format
+msgid "tablespace %s"
+msgstr "表空间 %s"
+
+#: catalog/objectaddress.c:2036
+#, c-format
+msgid "foreign-data wrapper %s"
+msgstr "外部数据封装器 %s"
+
+#: catalog/objectaddress.c:2045
+#, c-format
+msgid "server %s"
+msgstr "服务器 %s"
+
+#: catalog/objectaddress.c:2070
+#, c-format
+msgid "user mapping for %s"
+msgstr "用于 %s 的用户映射"
+
+#: catalog/objectaddress.c:2104
+#, c-format
+msgid "default privileges on new relations belonging to role %s"
+msgstr "在新的关系上的缺省权限属于角色%s"
+
+#: catalog/objectaddress.c:2109
+#, c-format
+msgid "default privileges on new sequences belonging to role %s"
+msgstr "在新的序列上的缺省权限属于角色%s"
+
+#: catalog/objectaddress.c:2114
+#, c-format
+msgid "default privileges on new functions belonging to role %s"
+msgstr "在新的函数上的缺省权限属于角色%s"
+
+#: catalog/objectaddress.c:2119
+#, c-format
+msgid "default privileges on new types belonging to role %s"
+msgstr "在新类型上的缺省权限属于角色 %s"
+
+#: catalog/objectaddress.c:2125
+#, c-format
+msgid "default privileges belonging to role %s"
+msgstr "缺省权限属于角色%s"
+
+#: catalog/objectaddress.c:2133
+#, c-format
+msgid " in schema %s"
+msgstr "在模式%s中"
+
+#: catalog/objectaddress.c:2150
+#, c-format
+msgid "extension %s"
+msgstr "扩展 %s"
+
+# describe.c:1549
+#: catalog/objectaddress.c:2163
+#, c-format
+#| msgid "List of event triggers"
+msgid "event trigger %s"
+msgstr "事件触发器%s"
+
+#: catalog/objectaddress.c:2223
+#, c-format
+msgid "table %s"
+msgstr "表 %s"
+
+#: catalog/objectaddress.c:2227
+#, c-format
+msgid "index %s"
+msgstr "索引 %s"
+
+#: catalog/objectaddress.c:2231
+#, c-format
+msgid "sequence %s"
+msgstr "序列 %s"
+
+#: catalog/objectaddress.c:2235
+#, c-format
+msgid "toast table %s"
+msgstr "toast 表 %s"
+
+#: catalog/objectaddress.c:2239
+#, c-format
+msgid "view %s"
+msgstr "视图 %s"
+
+#: catalog/objectaddress.c:2243
+#, c-format
+#| msgid "materialized view"
+msgid "materialized view %s"
+msgstr "物化视图 %s"
+
+#: catalog/objectaddress.c:2247
+#, c-format
+msgid "composite type %s"
+msgstr "复合类型 %s"
+
+#: catalog/objectaddress.c:2251
+#, c-format
+msgid "foreign table %s"
+msgstr "外部表 %s"
+
+#: catalog/objectaddress.c:2256
+#, c-format
+msgid "relation %s"
+msgstr "关系 %s"
+
+#: catalog/objectaddress.c:2293
+#, c-format
+msgid "operator family %s for access method %s"
+msgstr "访问方法 %2$s 的操作符类 %1$s"
+
+#: catalog/pg_aggregate.c:118
+#, c-format
+#| msgid "functions cannot have more than %d argument"
+#| msgid_plural "functions cannot have more than %d arguments"
+msgid "aggregates cannot have more than %d argument"
+msgid_plural "aggregates cannot have more than %d arguments"
+msgstr[0] "聚集函数的参数不能多于%d个"
+
+#: catalog/pg_aggregate.c:141 catalog/pg_aggregate.c:151
#, c-format
msgid "cannot determine transition data type"
msgstr "无法确定转换数据类型"
-#: catalog/pg_aggregate.c:102
+#: catalog/pg_aggregate.c:142 catalog/pg_aggregate.c:152
#, c-format
msgid ""
"An aggregate using a polymorphic transition type must have at least one "
"polymorphic argument."
msgstr "使用多态转换类型的聚合函数必须至少有一个多态的参数"
-#: catalog/pg_aggregate.c:125
+#: catalog/pg_aggregate.c:165
+#, c-format
+msgid "a variadic ordered-set aggregate must use VARIADIC type ANY"
+msgstr "一个可变有序集聚集必须使用可变类型ANY"
+
+#: catalog/pg_aggregate.c:191
+#, c-format
+msgid ""
+"a hypothetical-set aggregate must have direct arguments matching its "
+"aggregated arguments"
+msgstr "一个判定集聚集的直接参数必须与它的聚集参数相匹配"
+
+#: catalog/pg_aggregate.c:238 catalog/pg_aggregate.c:282
#, c-format
msgid "return type of transition function %s is not %s"
msgstr "转换函数的返回类型 %s 不是 %s"
-#: catalog/pg_aggregate.c:145
+#: catalog/pg_aggregate.c:258 catalog/pg_aggregate.c:301
#, c-format
msgid ""
"must not omit initial value when transition function is strict and "
"transition type is not compatible with input type"
msgstr "当转换函数是受限制的并且转换类型与输入类型不兼容时,不能忽略初始化值"
-#: catalog/pg_aggregate.c:176 catalog/pg_proc.c:240 catalog/pg_proc.c:247
+#: catalog/pg_aggregate.c:327
+#, c-format
+#| msgid "return type of transition function %s is not %s"
+msgid "return type of inverse transition function %s is not %s"
+msgstr "逆向转换函数的返回类型 %s 不是 %s"
+
+#: catalog/pg_aggregate.c:344 executor/nodeWindowAgg.c:2301
+#, c-format
+msgid ""
+"strictness of aggregate's forward and inverse transition functions must match"
+msgstr "聚集函数的正向和逆向转换函数必须匹配"
+
+#: catalog/pg_aggregate.c:388 catalog/pg_aggregate.c:464
+#, c-format
+msgid "final function with extra arguments must not be declared STRICT"
+msgstr "带参数的终止函数不能定义为STRICT"
+
+#: catalog/pg_aggregate.c:410 catalog/pg_proc.c:241 catalog/pg_proc.c:248
#, c-format
msgid "cannot determine result data type"
msgstr "无法确定结构数据类型"
-#: catalog/pg_aggregate.c:177
+#: catalog/pg_aggregate.c:411
#, c-format
msgid ""
"An aggregate returning a polymorphic type must have at least one polymorphic "
"argument."
msgstr "使用多态类型的聚合函数必须至少有一个多态的参数"
-#: catalog/pg_aggregate.c:189 catalog/pg_proc.c:253
+#: catalog/pg_aggregate.c:423 catalog/pg_proc.c:254
#, c-format
msgid "unsafe use of pseudo-type \"internal\""
msgstr "使用伪类型\"internal\"的方式不安全"
-#: catalog/pg_aggregate.c:190 catalog/pg_proc.c:254
+#: catalog/pg_aggregate.c:424 catalog/pg_proc.c:255
#, c-format
msgid ""
"A function returning \"internal\" must have at least one \"internal\" "
"argument."
msgstr "返回\"internal\"类型结果的函数必须至少有一个\"internal\" 类型的参数"
-#: catalog/pg_aggregate.c:198
+#: catalog/pg_aggregate.c:477
+#, c-format
+msgid ""
+"moving-aggregate implementation returns type %s, but plain implementation "
+"returns type %s"
+msgstr "moving-aggregate的实现返回类型为%s, 但是普通的实现返回类型为%s"
+
+#: catalog/pg_aggregate.c:488
#, c-format
msgid "sort operator can only be specified for single-argument aggregates"
msgstr "只能为单一参数的聚合函数而定义排序操作符."
-#: catalog/pg_aggregate.c:353 commands/typecmds.c:1623
-#: commands/typecmds.c:1674 commands/typecmds.c:1705 commands/typecmds.c:1728
-#: commands/typecmds.c:1749 commands/typecmds.c:1776 commands/typecmds.c:1803
-#: commands/typecmds.c:1880 commands/typecmds.c:1922 parser/parse_func.c:288
-#: parser/parse_func.c:299 parser/parse_func.c:1562
+#: catalog/pg_aggregate.c:701 commands/typecmds.c:1657
+#: commands/typecmds.c:1708 commands/typecmds.c:1739 commands/typecmds.c:1762
+#: commands/typecmds.c:1783 commands/typecmds.c:1810 commands/typecmds.c:1837
+#: commands/typecmds.c:1914 commands/typecmds.c:1956 parser/parse_func.c:357
+#: parser/parse_func.c:386 parser/parse_func.c:411 parser/parse_func.c:425
+#: parser/parse_func.c:500 parser/parse_func.c:511 parser/parse_func.c:1907
#, c-format
msgid "function %s does not exist"
msgstr "函数 %s 不存在"
-#: catalog/pg_aggregate.c:359
+#: catalog/pg_aggregate.c:707
#, c-format
msgid "function %s returns a set"
msgstr "函数 %s 返回一个组合"
-#: catalog/pg_aggregate.c:384
+#: catalog/pg_aggregate.c:722
+#, c-format
+msgid "function %s must accept VARIADIC ANY to be used in this aggregate"
+msgstr "函数%s必须接受VARIADIC ANY类型,用于聚集函数中"
+
+#: catalog/pg_aggregate.c:746
#, c-format
msgid "function %s requires run-time type coercion"
msgstr "函数 %s 需要运行时类型强制"
-#: catalog/pg_collation.c:76
+#: catalog/pg_collation.c:77
#, c-format
msgid "collation \"%s\" for encoding \"%s\" already exists"
msgstr "编码 \"%2$s\" 的排序规则 \"%1$s\" 已经存在"
-#: catalog/pg_collation.c:90
+#: catalog/pg_collation.c:91
#, c-format
msgid "collation \"%s\" already exists"
msgstr "排序规则 \"%s\" 已经存在"
-#: catalog/pg_constraint.c:657
+#: catalog/pg_constraint.c:659
#, c-format
msgid "constraint \"%s\" for domain %s already exists"
msgstr "域 %2$s 的约束 \"%1$s\" 已经存在"
-#: catalog/pg_constraint.c:786
+#: catalog/pg_constraint.c:811
#, c-format
msgid "table \"%s\" has multiple constraints named \"%s\""
msgstr "表 \"%s\" 有多个名为 \"%s\" 的约束"
-#: catalog/pg_constraint.c:798
+#: catalog/pg_constraint.c:823
#, c-format
msgid "constraint \"%s\" for table \"%s\" does not exist"
msgstr "表 \"%2$s\" 的 \"%1$s\" 约束不存在"
-#: catalog/pg_constraint.c:844
+#: catalog/pg_constraint.c:869
#, c-format
msgid "domain \"%s\" has multiple constraints named \"%s\""
msgstr "域 \"%s\" 有多个名为 \"%s\" 的约束"
-#: catalog/pg_constraint.c:856
+#: catalog/pg_constraint.c:881
#, c-format
msgid "constraint \"%s\" for domain \"%s\" does not exist"
msgstr "域 \"%2$s\" 的 \"%1$s\" 约束不存在"
-#: catalog/pg_conversion.c:65
+#: catalog/pg_conversion.c:67
#, c-format
msgid "conversion \"%s\" already exists"
msgstr "编码转换 \"%s\" 已经存在"
-#: catalog/pg_conversion.c:78
+#: catalog/pg_conversion.c:80
#, c-format
msgid "default conversion for %s to %s already exists"
msgstr "默认的 %s 到 %s 的转换已经存在"
-#: catalog/pg_depend.c:164 commands/extension.c:2914
+#: catalog/pg_depend.c:165 commands/extension.c:2926
#, c-format
msgid "%s is already a member of extension \"%s\""
msgstr "\"%s\" 已经是扩展\"%s\"的成员"
-#: catalog/pg_depend.c:323
+#: catalog/pg_depend.c:324
#, c-format
msgid "cannot remove dependency on %s because it is a system object"
msgstr "无法删除在%s上的依赖关系,因为它是一个系统对象"
-#: catalog/pg_enum.c:112 catalog/pg_enum.c:198
+#: catalog/pg_enum.c:115 catalog/pg_enum.c:202
#, c-format
msgid "invalid enum label \"%s\""
msgstr "无效的枚举类型标签 \"%s\""
-#: catalog/pg_enum.c:113 catalog/pg_enum.c:199
+#: catalog/pg_enum.c:116 catalog/pg_enum.c:203
#, c-format
msgid "Labels must be %d characters or less."
msgstr "标签必需为 %d 个字符或更少"
-#: catalog/pg_enum.c:263
+#: catalog/pg_enum.c:231
+#, c-format
+#| msgid "relation \"%s\" already exists, skipping"
+msgid "enum label \"%s\" already exists, skipping"
+msgstr "枚举标签 \"%s\" 已经存在, 跳过"
+
+#: catalog/pg_enum.c:238
+#, c-format
+#| msgid "language \"%s\" already exists"
+msgid "enum label \"%s\" already exists"
+msgstr "枚举标签 \"%s\" 已经存在"
+
+#: catalog/pg_enum.c:293
#, c-format
msgid "\"%s\" is not an existing enum label"
msgstr "枚举标签\"%s\" 不存在"
-#: catalog/pg_enum.c:324
+#: catalog/pg_enum.c:354
#, c-format
msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade"
msgstr "ALTER TYPE ADD BEFORE/AFTER与二进制升级不兼容"
-#: catalog/pg_namespace.c:60 commands/schemacmds.c:195
+#: catalog/pg_namespace.c:61 commands/schemacmds.c:220
#, c-format
msgid "schema \"%s\" already exists"
msgstr "模式 \"%s\" 已经存在"
-#: catalog/pg_operator.c:221 catalog/pg_operator.c:362
+#: catalog/pg_operator.c:222 catalog/pg_operator.c:362
#, c-format
msgid "\"%s\" is not a valid operator name"
msgstr "\"%s\" 不是一个有效的操作符名称"
msgid "operator %s already exists"
msgstr "操作符 %s 已经存在"
-#: catalog/pg_operator.c:614
+#: catalog/pg_operator.c:615
#, c-format
msgid "operator cannot be its own negator or sort operator"
msgstr "操作符不能否定自己或者排序分类操作符"
-#: catalog/pg_proc.c:128 parser/parse_func.c:1607 parser/parse_func.c:1647
+#: catalog/pg_proc.c:129 parser/parse_func.c:1931 parser/parse_func.c:1971
#, c-format
msgid "functions cannot have more than %d argument"
msgid_plural "functions cannot have more than %d arguments"
msgstr[0] "函数的参数不能多于%d个"
-#: catalog/pg_proc.c:241
+#: catalog/pg_proc.c:242
#, c-format
msgid ""
"A function returning a polymorphic type must have at least one polymorphic "
"argument."
msgstr "返回一个多态类型的函数必须至少有一个多态参数"
-#: catalog/pg_proc.c:248
+#: catalog/pg_proc.c:249
#, c-format
-msgid "A function returning ANYRANGE must have at least one ANYRANGE argument."
-msgstr "返回ARYRANGE类型结果的函数必须至少有一个ANYRANGE 类型的参数."
+#| msgid ""
+#| "A function returning \"internal\" must have at least one \"internal\" "
+#| "argument."
+msgid ""
+"A function returning \"anyrange\" must have at least one \"anyrange\" "
+"argument."
+msgstr "返回\"anyrange\"类型结果的函数必须至少有一个\"anyrange\" 类型的参数"
-#: catalog/pg_proc.c:266
+#: catalog/pg_proc.c:267
#, c-format
msgid "\"%s\" is already an attribute of type %s"
msgstr "\"%s\" 已经是类型 %s 的一个属性"
-#: catalog/pg_proc.c:392
+#: catalog/pg_proc.c:393
#, c-format
msgid "function \"%s\" already exists with same argument types"
msgstr "带相同参数类型的函数 \"%s\" 已经存在"
-#: catalog/pg_proc.c:406 catalog/pg_proc.c:428
+#: catalog/pg_proc.c:407 catalog/pg_proc.c:430
#, c-format
msgid "cannot change return type of existing function"
msgstr "不能改变已经存在的函数的返回值类型"
-#: catalog/pg_proc.c:407 catalog/pg_proc.c:430 catalog/pg_proc.c:472
-#: catalog/pg_proc.c:495 catalog/pg_proc.c:521
+#: catalog/pg_proc.c:408 catalog/pg_proc.c:432 catalog/pg_proc.c:475
+#: catalog/pg_proc.c:499 catalog/pg_proc.c:526
#, c-format
-msgid "Use DROP FUNCTION first."
-msgstr "请先使用 DROP FUNCTION."
+#| msgid "Use DROP FUNCTION first."
+msgid "Use DROP FUNCTION %s first."
+msgstr "请先使用 DROP FUNCTION %s."
-#: catalog/pg_proc.c:429
+#: catalog/pg_proc.c:431
#, c-format
msgid "Row type defined by OUT parameters is different."
msgstr "由OUT模式参数定义的记录类型不同"
-#: catalog/pg_proc.c:470
+#: catalog/pg_proc.c:473
#, c-format
msgid "cannot change name of input parameter \"%s\""
msgstr "无法改变输入参数\"%s\"的名称"
-#: catalog/pg_proc.c:494
+#: catalog/pg_proc.c:498
#, c-format
msgid "cannot remove parameter defaults from existing function"
msgstr "不能从已存在的函数种删除参数缺正值"
-#: catalog/pg_proc.c:520
+#: catalog/pg_proc.c:525
#, c-format
msgid "cannot change data type of existing parameter default value"
msgstr "不能改变已经存在参数缺省值的数据类型"
-#: catalog/pg_proc.c:532
+#: catalog/pg_proc.c:538
#, c-format
msgid "function \"%s\" is an aggregate function"
msgstr "函数\"%s\" 是一个聚合函数"
-#: catalog/pg_proc.c:537
+#: catalog/pg_proc.c:543
#, c-format
msgid "function \"%s\" is not an aggregate function"
msgstr "函数 \"%s\" 不是一个聚合函数"
-#: catalog/pg_proc.c:545
+#: catalog/pg_proc.c:551
#, c-format
msgid "function \"%s\" is a window function"
msgstr "函数\"%s\"是一个窗口函数"
-#: catalog/pg_proc.c:550
+#: catalog/pg_proc.c:556
#, c-format
msgid "function \"%s\" is not a window function"
msgstr "函数 \"%s\" 不是一个窗口函数"
-#: catalog/pg_proc.c:728
+#: catalog/pg_proc.c:746
#, c-format
msgid "there is no built-in function named \"%s\""
msgstr "没有名为 \"%s\" 的内建函数"
-#: catalog/pg_proc.c:820
+#: catalog/pg_proc.c:844
#, c-format
msgid "SQL functions cannot return type %s"
msgstr "SQL 函数无法返回 %s 类型"
-#: catalog/pg_proc.c:835
+#: catalog/pg_proc.c:859
#, c-format
msgid "SQL functions cannot have arguments of type %s"
msgstr "SQL 函数不能有 %s 类型的参数"
-#: catalog/pg_proc.c:921 executor/functions.c:1346
+#: catalog/pg_proc.c:945 executor/functions.c:1418
#, c-format
msgid "SQL function \"%s\""
msgstr "SQL 函数 \"%s\""
-#: catalog/pg_shdepend.c:684
+#: catalog/pg_shdepend.c:691
#, c-format
msgid ""
"\n"
"\n"
"对象在 %d 个其它数据库中"
-#: catalog/pg_shdepend.c:996
+#: catalog/pg_shdepend.c:1003
#, c-format
msgid "role %u was concurrently dropped"
msgstr "角色%u被同时删除"
-#: catalog/pg_shdepend.c:1015
+#: catalog/pg_shdepend.c:1022
#, c-format
msgid "tablespace %u was concurrently dropped"
msgstr "表空间 %u 被同时删除"
-#: catalog/pg_shdepend.c:1030
+#: catalog/pg_shdepend.c:1037
#, c-format
msgid "database %u was concurrently dropped"
msgstr "数据库 %u 被同时删除"
-#: catalog/pg_shdepend.c:1074
+#: catalog/pg_shdepend.c:1081
#, c-format
msgid "owner of %s"
msgstr "%s的属主"
-#: catalog/pg_shdepend.c:1076
+#: catalog/pg_shdepend.c:1083
#, c-format
msgid "privileges for %s"
msgstr "%s的权限"
#. translator: %s will always be "database %s"
-#: catalog/pg_shdepend.c:1084
+#: catalog/pg_shdepend.c:1091
#, c-format
msgid "%d object in %s"
msgid_plural "%d objects in %s"
msgstr[0] "在%2$s中的%1$d个对象"
-#: catalog/pg_shdepend.c:1195
+#: catalog/pg_shdepend.c:1202
#, c-format
msgid ""
"cannot drop objects owned by %s because they are required by the database "
"system"
msgstr "无法删除由%s所拥有的对象, 因为数据库系统需要这些对象"
-#: catalog/pg_shdepend.c:1298
+#: catalog/pg_shdepend.c:1305
#, c-format
msgid ""
"cannot reassign ownership of objects owned by %s because they are required "
"by the database system"
msgstr "无法再分配由%s所拥有的对象, 因为数据库系统需要这些对象"
-#: catalog/pg_type.c:243
+#: catalog/pg_type.c:244
#, c-format
msgid "invalid type internal size %d"
msgstr "无效类型内部大小 %d"
-#: catalog/pg_type.c:259 catalog/pg_type.c:267 catalog/pg_type.c:275
-#: catalog/pg_type.c:284
+#: catalog/pg_type.c:260 catalog/pg_type.c:268 catalog/pg_type.c:276
+#: catalog/pg_type.c:285
#, c-format
msgid "alignment \"%c\" is invalid for passed-by-value type of size %d"
msgstr "对齐方式 \"%c\"对于大小为%d的passed-by-value 类型是无效的"
-#: catalog/pg_type.c:291
+#: catalog/pg_type.c:292
#, c-format
msgid "internal size %d is invalid for passed-by-value type"
msgstr "internal 大小 %d 对于 passed-by-value 类型是无效的"
-#: catalog/pg_type.c:300 catalog/pg_type.c:306
+#: catalog/pg_type.c:301 catalog/pg_type.c:307
#, c-format
msgid "alignment \"%c\" is invalid for variable-length type"
msgstr "对齐方式 \"%c\"对于大小为可变长度的类型是无效的"
-#: catalog/pg_type.c:314
+#: catalog/pg_type.c:315
#, c-format
msgid "fixed-size types must have storage PLAIN"
msgstr "固定大小类型必需有明确的存储"
-#: catalog/pg_type.c:771
+#: catalog/pg_type.c:773
#, c-format
msgid "could not form array type name for type \"%s\""
msgstr "无法为类型\"%s\"来形成数组类型名称"
-#: catalog/toasting.c:143
+#: catalog/toasting.c:104 commands/indexcmds.c:380 commands/tablecmds.c:4139
+#: commands/tablecmds.c:11137
+#, c-format
+#| msgid "\"%s\" is not a table or view"
+msgid "\"%s\" is not a table or materialized view"
+msgstr "\"%s\" 不是一个表或物化视图"
+
+#: catalog/toasting.c:157
#, c-format
msgid "shared tables cannot be toasted after initdb"
msgstr "在 initdb 之后, 不可以 toasted 共享表"
-#: commands/aggregatecmds.c:103
+#: commands/aggregatecmds.c:148
+#, c-format
+msgid "only ordered-set aggregates can be hypothetical"
+msgstr "只有有序集聚焦函数可用被用于判定"
+
+#: commands/aggregatecmds.c:171
#, c-format
msgid "aggregate attribute \"%s\" not recognized"
msgstr "聚集属性 \"%s\" 不被认可"
-#: commands/aggregatecmds.c:113
+#: commands/aggregatecmds.c:181
#, c-format
msgid "aggregate stype must be specified"
msgstr "聚集 stype 必须指定"
-#: commands/aggregatecmds.c:117
+#: commands/aggregatecmds.c:185
#, c-format
msgid "aggregate sfunc must be specified"
msgstr "聚集 sfunc 必须指定"
-#: commands/aggregatecmds.c:134
+#: commands/aggregatecmds.c:197
#, c-format
-msgid "aggregate input type must be specified"
-msgstr "必须指定聚合函数的输入参数类型"
+#| msgid "aggregate sfunc must be specified"
+msgid "aggregate msfunc must be specified when mstype is specified"
+msgstr "当mstype指定了的时候, 聚集 sfunc 必须指定"
-#: commands/aggregatecmds.c:159
+#: commands/aggregatecmds.c:201
#, c-format
-msgid "basetype is redundant with aggregate input type specification"
-msgstr "如果带有聚合函数输入类型定义,那么基类型定义就是冗余的."
+#| msgid "aggregate sfunc must be specified"
+msgid "aggregate minvfunc must be specified when mstype is specified"
+msgstr "当mstype指定了的时候, 聚集 minvfunc 必须指定"
-#: commands/aggregatecmds.c:191
+#: commands/aggregatecmds.c:208
#, c-format
-msgid "aggregate transition data type cannot be %s"
-msgstr "聚集转换数据类型不能为 %s"
+#| msgid "aggregate sfunc must be specified"
+msgid "aggregate msfunc must not be specified without mstype"
+msgstr "当mstype没被指定时, 聚集 msfunc 也不能指定"
-#: commands/aggregatecmds.c:243 commands/functioncmds.c:1090
+#: commands/aggregatecmds.c:212
#, c-format
-msgid "function %s already exists in schema \"%s\""
-msgstr "在模式 \"%2$s\" 中函数 %1$s 已经存在"
+#| msgid "aggregate sfunc must be specified"
+msgid "aggregate minvfunc must not be specified without mstype"
+msgstr "没有mstype, 就不能指定聚集minvfunc"
-#: commands/alter.c:386
+#: commands/aggregatecmds.c:216
#, c-format
-msgid "must be superuser to set schema of %s"
-msgstr "只有超级用户能设置%s的模式"
+#| msgid "aggregate sfunc must be specified"
+msgid "aggregate mfinalfunc must not be specified without mstype"
+msgstr "没有mstype, 就不能指定聚集 mfinalfunc"
-#: commands/alter.c:414
+#: commands/aggregatecmds.c:220
#, c-format
-msgid "%s already exists in schema \"%s\""
-msgstr "在于模式\"%2$s\"中已存在类型%1$s"
+#| msgid "aggregate stype must be specified"
+msgid "aggregate msspace must not be specified without mstype"
+msgstr "没有指定mstype,就不能指定聚集msspace"
-#: commands/analyze.c:154
+#: commands/aggregatecmds.c:224
#, c-format
-msgid "skipping analyze of \"%s\" --- lock not available"
-msgstr "跳过对 \"%s\"的分析 --- 锁无法得到"
+#| msgid "aggregate sfunc must be specified"
+msgid "aggregate minitcond must not be specified without mstype"
+msgstr "没有指定mstype,就不能指定minitcond"
-#: commands/analyze.c:171
+#: commands/aggregatecmds.c:244
#, c-format
-msgid "skipping \"%s\" --- only superuser can analyze it"
-msgstr "忽ç\95¥ \"%s\" --- å\8fªæ\9c\89è¶\85级ç\94¨æ\88·è\83½å¤\9få\88\86æ\9e\90å®\83"
+msgid "aggregate input type must be specified"
+msgstr "å¿\85é¡»æ\8c\87å®\9aè\81\9aå\90\88å\87½æ\95°ç\9a\84è¾\93å\85¥å\8f\82æ\95°ç±»å\9e\8b"
-#: commands/analyze.c:175
+#: commands/aggregatecmds.c:274
#, c-format
-msgid "skipping \"%s\" --- only superuser or database owner can analyze it"
-msgstr "忽ç\95¥ \"%s\" --- å\8fªæ\9c\89è¶\85级ç\94¨æ\88·æ\88\96æ\95°æ\8d®åº\93ç\9a\84å±\9e主è\83½å¤\9få\88\86æ\9e\90å®\83"
+msgid "basetype is redundant with aggregate input type specification"
+msgstr "å¦\82æ\9e\9c带æ\9c\89è\81\9aå\90\88å\87½æ\95°è¾\93å\85¥ç±»å\9e\8bå®\9aä¹\89ï¼\8cé\82£ä¹\88å\9fºç±»å\9e\8bå®\9aä¹\89å°±æ\98¯å\86\97ä½\99ç\9a\84."
-#: commands/analyze.c:179
+#: commands/aggregatecmds.c:315 commands/aggregatecmds.c:335
#, c-format
-msgid "skipping \"%s\" --- only table or database owner can analyze it"
-msgstr "忽略 \"%s\" --- 只有表或数据库的属主能够分析它"
+msgid "aggregate transition data type cannot be %s"
+msgstr "聚集转换数据类型不能为 %s"
-#: commands/analyze.c:238
+#: commands/alter.c:79 commands/event_trigger.c:194
#, c-format
-msgid "skipping \"%s\" --- cannot analyze this foreign table"
-msgstr "忽略 \"%s\" --- 无法分析该外部表"
+#| msgid "server \"%s\" already exists"
+msgid "event trigger \"%s\" already exists"
+msgstr "事件触发器 \"%s\" 已经存在"
-#: commands/analyze.c:249
+#: commands/alter.c:82 commands/foreigncmds.c:544
#, c-format
-msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables"
-msgstr "忽ç\95¥ \"%s\" --- æ\97 æ³\95å\88\86æ\9e\90é\9d\9e表æ\88\96ç\89¹æ®\8aç\9a\84ç³»ç»\9f表"
+msgid "foreign-data wrapper \"%s\" already exists"
+msgstr "å¤\96é\83¨æ\95°æ\8d®å°\81è£\85å\99¨\"%s\"å·²ç»\8få\98å\9c¨"
-#: commands/analyze.c:326
+#: commands/alter.c:85 commands/foreigncmds.c:838
#, c-format
-msgid "analyzing \"%s.%s\" inheritance tree"
-msgstr "正在分析 \"%s.%s\"继承树"
-
-#: commands/analyze.c:331
+msgid "server \"%s\" already exists"
+msgstr "服务器 \"%s\" 已经存在"
+
+#: commands/alter.c:88 commands/proclang.c:356
+#, c-format
+msgid "language \"%s\" already exists"
+msgstr "语言 \"%s\" 已经存在"
+
+#: commands/alter.c:111
+#, c-format
+msgid "conversion \"%s\" already exists in schema \"%s\""
+msgstr "约束 \"%s\" 已经存在于模式 \"%s\" 中"
+
+#: commands/alter.c:115
+#, c-format
+#| msgid "text search parser \"%s\" already exists"
+msgid "text search parser \"%s\" already exists in schema \"%s\""
+msgstr "文本搜索解析器\"%s\"已存在于方案\"%s\"中"
+
+#: commands/alter.c:119
+#, c-format
+#| msgid "text search dictionary \"%s\" already exists"
+msgid "text search dictionary \"%s\" already exists in schema \"%s\""
+msgstr "文本搜索字典\"%s\" 已经存在于方案\"%s\"中"
+
+#: commands/alter.c:123
+#, c-format
+#| msgid "text search template \"%s\" already exists"
+msgid "text search template \"%s\" already exists in schema \"%s\""
+msgstr "文本搜索模板\"%s\" 已经存在于方案\"%s\"中"
+
+#: commands/alter.c:127
+#, c-format
+#| msgid "text search configuration \"%s\" already exists"
+msgid "text search configuration \"%s\" already exists in schema \"%s\""
+msgstr "文本搜索配置\"%s\"已存在于方案\"%s\"中"
+
+#: commands/alter.c:201
+#, c-format
+#| msgid "must be superuser to examine \"%s\""
+msgid "must be superuser to rename %s"
+msgstr "必须为超级用户才能进行重命名\"%s\" "
+
+#: commands/alter.c:585
+#, c-format
+msgid "must be superuser to set schema of %s"
+msgstr "只有超级用户能设置%s的模式"
+
+#: commands/analyze.c:157
+#, c-format
+msgid "skipping analyze of \"%s\" --- lock not available"
+msgstr "跳过对 \"%s\"的分析 --- 锁无法得到"
+
+#: commands/analyze.c:174
+#, c-format
+msgid "skipping \"%s\" --- only superuser can analyze it"
+msgstr "忽略 \"%s\" --- 只有超级用户能够分析它"
+
+#: commands/analyze.c:178
+#, c-format
+msgid "skipping \"%s\" --- only superuser or database owner can analyze it"
+msgstr "忽略 \"%s\" --- 只有超级用户或数据库的属主能够分析它"
+
+#: commands/analyze.c:182
+#, c-format
+msgid "skipping \"%s\" --- only table or database owner can analyze it"
+msgstr "忽略 \"%s\" --- 只有表或数据库的属主能够分析它"
+
+#: commands/analyze.c:242
+#, c-format
+msgid "skipping \"%s\" --- cannot analyze this foreign table"
+msgstr "忽略 \"%s\" --- 无法分析该外部表"
+
+#: commands/analyze.c:253
+#, c-format
+msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables"
+msgstr "忽略 \"%s\" --- 无法分析非表或特殊的系统表"
+
+#: commands/analyze.c:332
+#, c-format
+msgid "analyzing \"%s.%s\" inheritance tree"
+msgstr "正在分析 \"%s.%s\"继承树"
+
+#: commands/analyze.c:337
#, c-format
msgid "analyzing \"%s.%s\""
msgstr "正在分析 \"%s.%s\""
-#: commands/analyze.c:647
+#: commands/analyze.c:657
#, c-format
msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s"
msgstr "自动分析表 \"%s.%s.%s\"的系统使用情况: %s"
-#: commands/analyze.c:1289
+#: commands/analyze.c:1300
#, c-format
msgid ""
"\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead "
"\"%1$s\": 已经扫描了%3$u页的%2$d, 包含%4$.0f可用的记录和%5$.0f不能用的记录; "
"在示例中有%6$d条记录,估算所有记录为%7$.0f ."
-#: commands/analyze.c:1553 executor/execQual.c:2837
+#: commands/analyze.c:1564 executor/execQual.c:2904
msgid "could not convert row type"
msgstr "无法转换记录类型"
-#: commands/async.c:546
+#: commands/async.c:545
#, c-format
msgid "channel name cannot be empty"
msgstr "通道名称不能为空"
-#: commands/async.c:551
+#: commands/async.c:550
#, c-format
msgid "channel name too long"
msgstr "通道名称太长"
-#: commands/async.c:558
+#: commands/async.c:557
#, c-format
msgid "payload string too long"
msgstr "流量负载字符串太长"
"cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY"
msgstr "无法在一个已经执行了LISTEN或UNLISTEN、NOTIFY操作的事务上执行PREPARE"
-#: commands/async.c:847
+#: commands/async.c:845
#, c-format
msgid "too many notifications in the NOTIFY queue"
msgstr "在NOTIFY队列中的通知太多了"
-#: commands/async.c:1426
+#: commands/async.c:1418
#, c-format
msgid "NOTIFY queue is %.0f%% full"
msgstr "NOTIFY队列达到了%.0f%%的容量"
-#: commands/async.c:1428
+#: commands/async.c:1420
#, c-format
msgid ""
"The server process with PID %d is among those with the oldest transactions."
msgstr "带有PID为%d的服务器进程在那些带有最老事务的进程中。"
-#: commands/async.c:1431
+#: commands/async.c:1423
#, c-format
msgid ""
"The NOTIFY queue cannot be emptied until that process ends its current "
"transaction."
msgstr "在进程结束它所处理的当前事务前, NOTIFY队列不能为空."
-#: commands/cluster.c:124 commands/cluster.c:362
+#: commands/cluster.c:126 commands/cluster.c:363
#, c-format
msgid "cannot cluster temporary tables of other sessions"
msgstr "无法为其它会话的临时表建簇"
-#: commands/cluster.c:154
+#: commands/cluster.c:156
#, c-format
msgid "there is no previously clustered index for table \"%s\""
msgstr "在表 \"%s\" 中未找到先前建簇的索引"
-#: commands/cluster.c:168 commands/tablecmds.c:8436
+#: commands/cluster.c:170 commands/tablecmds.c:8795 commands/tablecmds.c:10461
#, c-format
msgid "index \"%s\" for table \"%s\" does not exist"
msgstr "表 \"%2$s\" 的 \"%1$s\" 索引不存在"
-#: commands/cluster.c:351
+#: commands/cluster.c:352
#, c-format
msgid "cannot cluster a shared catalog"
msgstr "无法在共享目录视图上进行聚簇操作"
-#: commands/cluster.c:366
+#: commands/cluster.c:367
#, c-format
msgid "cannot vacuum temporary tables of other sessions"
msgstr "无法对其它会话的临时表进行清理操作"
-#: commands/cluster.c:416
+#: commands/cluster.c:430 commands/tablecmds.c:10471
#, c-format
msgid "\"%s\" is not an index for table \"%s\""
msgstr "对于表 \"%2$s\" \"%1$s\" 不是一个索引"
-#: commands/cluster.c:424
+#: commands/cluster.c:438
#, c-format
msgid ""
"cannot cluster on index \"%s\" because access method does not support "
"clustering"
msgstr "无法在索引\"%s\"进行聚簇操作,因为访问方法不支持进行聚簇操作"
-#: commands/cluster.c:436
+#: commands/cluster.c:450
#, c-format
msgid "cannot cluster on partial index \"%s\""
msgstr "无法在部分索引 \"%s\"上进行聚簇操作"
-#: commands/cluster.c:450
+#: commands/cluster.c:464
#, c-format
msgid "cannot cluster on invalid index \"%s\""
msgstr "无法在无效索引\"%s\"进行聚簇操作"
-#: commands/cluster.c:881
+#: commands/cluster.c:920
#, c-format
msgid "clustering \"%s.%s\" using index scan on \"%s\""
msgstr "簇 \"%s.%s\" 正在 \"%s\"进行索引扫描"
-#: commands/cluster.c:887
+#: commands/cluster.c:926
#, c-format
msgid "clustering \"%s.%s\" using sequential scan and sort"
msgstr "簇 \"%s.%s\"正在进行顺序扫描和排序"
-#: commands/cluster.c:892 commands/vacuumlazy.c:405
+#: commands/cluster.c:931 commands/vacuumlazy.c:445
#, c-format
msgid "vacuuming \"%s.%s\""
msgstr "正在清理 (vacuum) \"%s.%s\""
-#: commands/cluster.c:1052
+#: commands/cluster.c:1090
#, c-format
msgid ""
"\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
msgstr ""
"\"%1$s\": 在%4$u个页中找到%2$.0f个可删除行版本,%3$.0f不可删除的行版本."
-#: commands/cluster.c:1056
+#: commands/cluster.c:1094
#, c-format
msgid ""
"%.0f dead row versions cannot be removed yet.\n"
"%.0f 死行版本号仍不能移除.\n"
"%s."
-#: commands/collationcmds.c:81
+#: commands/collationcmds.c:79
#, c-format
msgid "collation attribute \"%s\" not recognized"
msgstr "无法识别排序规则属性 \"%s\""
-#: commands/collationcmds.c:126
+#: commands/collationcmds.c:124
#, c-format
msgid "parameter \"lc_collate\" must be specified"
msgstr "参数\"lc_collate\" 必须指定"
-#: commands/collationcmds.c:131
+#: commands/collationcmds.c:129
#, c-format
msgid "parameter \"lc_ctype\" must be specified"
msgstr "参数\"lc_ctype\"必须指定"
-#: commands/collationcmds.c:176 commands/collationcmds.c:355
+#: commands/collationcmds.c:163
#, c-format
msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\""
msgstr "在模式\"%3$s\"中已经存在对应于编码\"%2$s\"的排序规则\"%1$s\""
-#: commands/collationcmds.c:188 commands/collationcmds.c:367
+#: commands/collationcmds.c:174
#, c-format
msgid "collation \"%s\" already exists in schema \"%s\""
msgstr "在模式\"%2$s\"中已经存在排序规则\"%1$s\""
-#: commands/comment.c:61 commands/dbcommands.c:791 commands/dbcommands.c:947
-#: commands/dbcommands.c:1046 commands/dbcommands.c:1219
-#: commands/dbcommands.c:1404 commands/dbcommands.c:1489
-#: commands/dbcommands.c:1917 utils/init/postinit.c:717
-#: utils/init/postinit.c:785 utils/init/postinit.c:802
+#: commands/comment.c:62 commands/dbcommands.c:775 commands/dbcommands.c:939
+#: commands/dbcommands.c:1042 commands/dbcommands.c:1234
+#: commands/dbcommands.c:1423 commands/dbcommands.c:1518
+#: commands/dbcommands.c:1935 utils/init/postinit.c:794
+#: utils/init/postinit.c:862 utils/init/postinit.c:879
#, c-format
msgid "database \"%s\" does not exist"
msgstr "数据库 \"%s\" 不存在"
-#: commands/comment.c:98 commands/seclabel.c:112 parser/parse_utilcmd.c:652
+#: commands/comment.c:101 commands/seclabel.c:114 parser/parse_utilcmd.c:686
#, c-format
-msgid "\"%s\" is not a table, view, composite type, or foreign table"
-msgstr "\"%s\" 不是一个表,视图,组合类型或者外部表"
+#| msgid "\"%s\" is not a table, view, composite type, or foreign table"
+msgid ""
+"\"%s\" is not a table, view, materialized view, composite type, or foreign "
+"table"
+msgstr "\"%s\" 不是一个表,物化视图,组合类型或者外部表"
-#: commands/constraint.c:60 utils/adt/ri_triggers.c:3080
+#: commands/constraint.c:60 utils/adt/ri_triggers.c:2699
#, c-format
msgid "function \"%s\" was not called by trigger manager"
msgstr "函数 \"%s\" 没有被触发器管理器调用"
-#: commands/constraint.c:67 utils/adt/ri_triggers.c:3089
+#: commands/constraint.c:67 utils/adt/ri_triggers.c:2708
#, c-format
msgid "function \"%s\" must be fired AFTER ROW"
msgstr "函数 \"%s\"必须为AFTER ROW触发"
-#: commands/constraint.c:81 utils/adt/ri_triggers.c:3110
+#: commands/constraint.c:81
#, c-format
msgid "function \"%s\" must be fired for INSERT or UPDATE"
msgstr "函数 \"%s\"必须为INSERT或UPDATE操作触发"
-#: commands/conversioncmds.c:69
+#: commands/conversioncmds.c:67
#, c-format
msgid "source encoding \"%s\" does not exist"
msgstr "源编码 \"%s\" 不存在"
-#: commands/conversioncmds.c:76
+#: commands/conversioncmds.c:74
#, c-format
msgid "destination encoding \"%s\" does not exist"
msgstr "目标编码 \"%s\" 不存在"
-#: commands/conversioncmds.c:90
+#: commands/conversioncmds.c:88
#, c-format
msgid "encoding conversion function %s must return type \"void\""
msgstr "编码转换函数%s必须返回类型\"void\""
-#: commands/conversioncmds.c:148
-#, c-format
-msgid "conversion \"%s\" already exists in schema \"%s\""
-msgstr "约束 \"%s\" 已经存在于模式 \"%s\" 中"
-
-#: commands/copy.c:347 commands/copy.c:359 commands/copy.c:393
-#: commands/copy.c:403
+#: commands/copy.c:360 commands/copy.c:372 commands/copy.c:406
+#: commands/copy.c:416
#, c-format
msgid "COPY BINARY is not supported to stdout or from stdin"
msgstr "COPOY BINARY 不支持输出到标准输出或来自标准输入"
-#: commands/copy.c:481
+#: commands/copy.c:514
+#, c-format
+#| msgid "could not write to COPY file: %m"
+msgid "could not write to COPY program: %m"
+msgstr "无法写入 COPY 程序: %m"
+
+#: commands/copy.c:519
#, c-format
msgid "could not write to COPY file: %m"
msgstr "无法写入 COPY 文件: %m"
-#: commands/copy.c:493
+#: commands/copy.c:532
#, c-format
msgid "connection lost during COPY to stdout"
msgstr "COPY 到标准输出的过程中联接中断"
-#: commands/copy.c:534
+#: commands/copy.c:573
#, c-format
msgid "could not read from COPY file: %m"
msgstr "无法从COPY命令中文件进行读操作: %m"
-#: commands/copy.c:550 commands/copy.c:569 commands/copy.c:573
-#: tcop/fastpath.c:291 tcop/postgres.c:349 tcop/postgres.c:385
+#: commands/copy.c:589 commands/copy.c:608 commands/copy.c:612
+#: tcop/fastpath.c:293 tcop/postgres.c:342 tcop/postgres.c:378
#, c-format
msgid "unexpected EOF on client connection with an open transaction"
msgstr "在客户端连接上的已打开事务中出现意外 EOF"
-#: commands/copy.c:585
+#: commands/copy.c:624
#, c-format
msgid "COPY from stdin failed: %s"
msgstr "从标准输入上 COPY 失败: %s"
-#: commands/copy.c:601
+#: commands/copy.c:640
#, c-format
msgid "unexpected message type 0x%02X during COPY from stdin"
msgstr "意外的信息类型 0x%02X, 在标准输入上 COPY 的过程中"
-#: commands/copy.c:753
+#: commands/copy.c:794
#, c-format
-msgid "must be superuser to COPY to or from a file"
-msgstr "必须成为超级用户才能 COPY 到文件或从文件 COPY"
+#| msgid "must be superuser to COPY to or from a file"
+msgid "must be superuser to COPY to or from an external program"
+msgstr "必须成为超级用户才能 COPY 到外部程序或者从外部程序进行COPY"
-#: commands/copy.c:754
+#: commands/copy.c:795 commands/copy.c:801
#, c-format
msgid ""
"Anyone can COPY to stdout or from stdin. psql's \\copy command also works "
"任何人可以 COPY 到标准输出或来自标准输入的 COPY. 任何人也可以使用 Psql 的 "
"\\copy 命令."
-#: commands/copy.c:884
+#: commands/copy.c:800
+#, c-format
+msgid "must be superuser to COPY to or from a file"
+msgstr "必须成为超级用户才能 COPY 到文件或从文件 COPY"
+
+#: commands/copy.c:936
#, c-format
msgid "COPY format \"%s\" not recognized"
msgstr "没有识别COPY命令的格式\"%s\""
-#: commands/copy.c:947 commands/copy.c:961
+#: commands/copy.c:1007 commands/copy.c:1021 commands/copy.c:1035
+#: commands/copy.c:1055
#, c-format
msgid "argument to option \"%s\" must be a list of column names"
msgstr "选项 \"%s\"的参数必须是一个包含列名的列表"
-#: commands/copy.c:974
+#: commands/copy.c:1068
#, c-format
msgid "argument to option \"%s\" must be a valid encoding name"
msgstr "选项 \"%s\"的参数必须是一个有效的编码名"
-#: commands/copy.c:980
+#: commands/copy.c:1074
#, c-format
msgid "option \"%s\" not recognized"
msgstr "未识别选项\"%s\""
-#: commands/copy.c:991
+#: commands/copy.c:1085
#, c-format
msgid "cannot specify DELIMITER in BINARY mode"
msgstr "在 BINARY 模式中你不能指定 DELIMITER"
-#: commands/copy.c:996
+#: commands/copy.c:1090
#, c-format
msgid "cannot specify NULL in BINARY mode"
msgstr "在 BINARY 模式中你不能指定 NULL"
-#: commands/copy.c:1018
+#: commands/copy.c:1112
#, c-format
msgid "COPY delimiter must be a single one-byte character"
msgstr "COPY命令中 的分隔符必需是单字节字符"
-#: commands/copy.c:1025
+#: commands/copy.c:1119
#, c-format
msgid "COPY delimiter cannot be newline or carriage return"
msgstr "COPY 命令中的分隔符不能使新行或回车符"
-#: commands/copy.c:1031
+#: commands/copy.c:1125
#, c-format
msgid "COPY null representation cannot use newline or carriage return"
msgstr "在COPY命令中空表达式中不能使用新行或换行回车."
-#: commands/copy.c:1048
+#: commands/copy.c:1142
#, c-format
msgid "COPY delimiter cannot be \"%s\""
msgstr "COPY命令中的分隔符不能为\"%s\""
-#: commands/copy.c:1054
+#: commands/copy.c:1148
#, c-format
msgid "COPY HEADER available only in CSV mode"
msgstr "只在CSV 模式中才能使用COPY HEADER命令"
-#: commands/copy.c:1060
+#: commands/copy.c:1154
#, c-format
msgid "COPY quote available only in CSV mode"
msgstr "只有在CSV模式中才能在COPY命令中使用引号"
-#: commands/copy.c:1065
+#: commands/copy.c:1159
#, c-format
msgid "COPY quote must be a single one-byte character"
msgstr "在COPY命令中的引号必须是单字节字符"
-#: commands/copy.c:1070
+#: commands/copy.c:1164
#, c-format
msgid "COPY delimiter and quote must be different"
msgstr "COPY命令中的分隔符和引号不能一样."
-#: commands/copy.c:1076
+#: commands/copy.c:1170
#, c-format
msgid "COPY escape available only in CSV mode"
msgstr "COPY 转义 (escape) 只在 CSV 模式中有效"
-#: commands/copy.c:1081
+#: commands/copy.c:1175
#, c-format
msgid "COPY escape must be a single one-byte character"
msgstr "在COPY命令中的转义字符必须是单个单字节字符"
-#: commands/copy.c:1087
+#: commands/copy.c:1181
#, c-format
msgid "COPY force quote available only in CSV mode"
msgstr "只有在CSV模式中才能在COPY命令中进行强制引用操作"
-#: commands/copy.c:1091
+#: commands/copy.c:1185
#, c-format
msgid "COPY force quote only available using COPY TO"
msgstr "只有使用COPY TO命令时, COPY强制引用操作才有效"
-#: commands/copy.c:1097
+#: commands/copy.c:1191
#, c-format
msgid "COPY force not null available only in CSV mode"
msgstr "只有在CSV模式中强制不为空的COPY命令才有效"
-#: commands/copy.c:1101
+#: commands/copy.c:1195
#, c-format
msgid "COPY force not null only available using COPY FROM"
msgstr "只有在使用COPY FROM命令时,在COPY命令中的强制不可为空的操作才有效"
-#: commands/copy.c:1107
+#: commands/copy.c:1201
+#, c-format
+#| msgid "COPY force not null available only in CSV mode"
+msgid "COPY force null available only in CSV mode"
+msgstr "只有在CSV模式中强制为空的COPY命令才有效"
+
+#: commands/copy.c:1206
+#, c-format
+#| msgid "COPY force not null only available using COPY FROM"
+msgid "COPY force null only available using COPY FROM"
+msgstr "只有在使用COPY FROM命令时,在COPY命令中的强制为空的操作才有效"
+
+#: commands/copy.c:1212
#, c-format
msgid "COPY delimiter must not appear in the NULL specification"
msgstr "COPY分隔符不能出现NULL定义中"
-#: commands/copy.c:1114
+#: commands/copy.c:1219
#, c-format
msgid "CSV quote character must not appear in the NULL specification"
msgstr "CSV引用字符不能出现在NULL定义中."
-#: commands/copy.c:1176
+#: commands/copy.c:1281
#, c-format
msgid "table \"%s\" does not have OIDs"
msgstr "表 \"%s\" 没有 OID"
-#: commands/copy.c:1193
+#: commands/copy.c:1298
#, c-format
msgid "COPY (SELECT) WITH OIDS is not supported"
msgstr "不支持使用COPY (SELECT) WITH OIDS"
-#: commands/copy.c:1219
+#: commands/copy.c:1324
#, c-format
msgid "COPY (SELECT INTO) is not supported"
msgstr "不支持使用COPY (SELECT INTO)命令."
-#: commands/copy.c:1282
+#: commands/copy.c:1387
#, c-format
msgid "FORCE QUOTE column \"%s\" not referenced by COPY"
msgstr "COPY命令没有引用FORCE QUOTE的列\"%s\" ."
-#: commands/copy.c:1304
+#: commands/copy.c:1409
#, c-format
msgid "FORCE NOT NULL column \"%s\" not referenced by COPY"
msgstr "COPY命令没有引用FORCE NOT NULL的列\"%s\" ."
-#: commands/copy.c:1368
+#: commands/copy.c:1431
+#, c-format
+#| msgid "FORCE NOT NULL column \"%s\" not referenced by COPY"
+msgid "FORCE NULL column \"%s\" not referenced by COPY"
+msgstr "COPY命令没有引用FORCE NULL的列\"%s\" ."
+
+#: commands/copy.c:1495
+#, c-format
+#| msgid "could not close pipe to external command: %s\n"
+msgid "could not close pipe to external command: %m"
+msgstr "无法为外部命令: %m关闭管道"
+
+#: commands/copy.c:1498
+#, c-format
+msgid "program \"%s\" failed"
+msgstr "程序\"%s\"失败"
+
+#: commands/copy.c:1547
#, c-format
msgid "cannot copy from view \"%s\""
msgstr "不可以从视图 \"%s\" 拷贝"
-#: commands/copy.c:1370 commands/copy.c:1376
+#: commands/copy.c:1549 commands/copy.c:1555 commands/copy.c:1561
#, c-format
msgid "Try the COPY (SELECT ...) TO variant."
msgstr "尝试不同形式的COPY (SELECT ...) TO命令"
-#: commands/copy.c:1374
+#: commands/copy.c:1553
+#, c-format
+#| msgid "cannot copy from view \"%s\""
+msgid "cannot copy from materialized view \"%s\""
+msgstr "不可以从物化视图 \"%s\" 拷贝"
+
+#: commands/copy.c:1559
#, c-format
msgid "cannot copy from foreign table \"%s\""
msgstr "不可以从外部表 \"%s\" 拷贝"
-#: commands/copy.c:1380
+#: commands/copy.c:1565
#, c-format
msgid "cannot copy from sequence \"%s\""
msgstr "不可以从序列 \"%s\" 拷贝"
-#: commands/copy.c:1385
+#: commands/copy.c:1570
#, c-format
msgid "cannot copy from non-table relation \"%s\""
msgstr "不可以从非表关系 \"%s\" 拷贝"
-#: commands/copy.c:1409
+#: commands/copy.c:1593 commands/copy.c:2616
+#, c-format
+#| msgid "could not execute command \"%s\": %s\n"
+msgid "could not execute command \"%s\": %m"
+msgstr "无法执行命令 \"%s\": %m"
+
+#: commands/copy.c:1608
#, c-format
msgid "relative path not allowed for COPY to file"
msgstr "COPY 到文件不允许相对路径"
-#: commands/copy.c:1419
+#: commands/copy.c:1616
#, c-format
msgid "could not open file \"%s\" for writing: %m"
msgstr "为了写入, 无法打开文件 \"%s\": %m"
-#: commands/copy.c:1426 commands/copy.c:2347
+#: commands/copy.c:1623 commands/copy.c:2634
#, c-format
msgid "\"%s\" is a directory"
msgstr "\"%s\" 是一个目录"
-#: commands/copy.c:1750
+#: commands/copy.c:1948
#, c-format
msgid "COPY %s, line %d, column %s"
msgstr "COPY %s, 行 %d, 列 %s"
-#: commands/copy.c:1754 commands/copy.c:1799
+#: commands/copy.c:1952 commands/copy.c:1999
#, c-format
msgid "COPY %s, line %d"
msgstr "COPY %s, 行 %d"
-#: commands/copy.c:1765
+#: commands/copy.c:1963
#, c-format
msgid "COPY %s, line %d, column %s: \"%s\""
msgstr "COPY %s, 行 %d, 列 %s: \"%s\""
-#: commands/copy.c:1773
+#: commands/copy.c:1971
#, c-format
msgid "COPY %s, line %d, column %s: null input"
msgstr "COPY %s, 行 %d, 列 %s: 空的输入"
-#: commands/copy.c:1785
+#: commands/copy.c:1993
#, c-format
msgid "COPY %s, line %d: \"%s\""
msgstr "COPY %s, 行 %d: \"%s\""
-#: commands/copy.c:1876
+#: commands/copy.c:2077
#, c-format
msgid "cannot copy to view \"%s\""
msgstr "不可以拷贝到视图 \"%s\""
-#: commands/copy.c:1881
+#: commands/copy.c:2082
+#, c-format
+#| msgid "cannot copy to view \"%s\""
+msgid "cannot copy to materialized view \"%s\""
+msgstr "不可以拷贝到物化视图 \"%s\""
+
+#: commands/copy.c:2087
#, c-format
msgid "cannot copy to foreign table \"%s\""
msgstr "不可以拷贝到外部表 \"%s\""
-#: commands/copy.c:1886
+#: commands/copy.c:2092
#, c-format
msgid "cannot copy to sequence \"%s\""
msgstr "不可以拷贝到序列 \"%s\""
-#: commands/copy.c:1891
+#: commands/copy.c:2097
#, c-format
msgid "cannot copy to non-table relation \"%s\""
msgstr "不可以拷贝到非表关系 \"%s\""
-#: commands/copy.c:2340 utils/adt/genfile.c:122
+#: commands/copy.c:2160
+#, c-format
+msgid "cannot perform FREEZE because of prior transaction activity"
+msgstr "由于前一个事务是活动的,无法执行FREEZE操作"
+
+#: commands/copy.c:2166
+#, c-format
+msgid ""
+"cannot perform FREEZE because the table was not created or truncated in the "
+"current subtransaction"
+msgstr "当前子事务中,因为表未建或被截短,无法执行FREEZE操作"
+
+#: commands/copy.c:2627 utils/adt/genfile.c:123
#, c-format
msgid "could not open file \"%s\" for reading: %m"
msgstr "为了读取, 无法打开文件 \"%s\": %m"
-#: commands/copy.c:2366
+#: commands/copy.c:2654
#, c-format
msgid "COPY file signature not recognized"
msgstr "文件签字不被认可"
-#: commands/copy.c:2371
+#: commands/copy.c:2659
#, c-format
msgid "invalid COPY file header (missing flags)"
msgstr "无效的 COPY 文件头 (缺少标志)"
-#: commands/copy.c:2377
+#: commands/copy.c:2665
#, c-format
msgid "unrecognized critical flags in COPY file header"
msgstr "在 COPY 文件头有不认可的危险标志"
-#: commands/copy.c:2383
+#: commands/copy.c:2671
#, c-format
msgid "invalid COPY file header (missing length)"
msgstr "无效的 COPY 文件头 (缺少长度)"
-#: commands/copy.c:2390
+#: commands/copy.c:2678
#, c-format
msgid "invalid COPY file header (wrong length)"
msgstr "无效的 COPY 文件头 (错误长度)"
-#: commands/copy.c:2523 commands/copy.c:3205 commands/copy.c:3435
+#: commands/copy.c:2811 commands/copy.c:3518 commands/copy.c:3748
#, c-format
msgid "extra data after last expected column"
msgstr "最后期望字段后有额外数据"
-#: commands/copy.c:2533
+#: commands/copy.c:2821
#, c-format
msgid "missing data for OID column"
msgstr "OID列丢失数据"
-#: commands/copy.c:2539
+#: commands/copy.c:2827
#, c-format
msgid "null OID in COPY data"
msgstr "在 COPY 数据中没有 OID"
-#: commands/copy.c:2549 commands/copy.c:2648
+#: commands/copy.c:2837 commands/copy.c:2960
#, c-format
msgid "invalid OID in COPY data"
msgstr "在 COPY 数据中无效的 OID"
-#: commands/copy.c:2564
+#: commands/copy.c:2852
#, c-format
msgid "missing data for column \"%s\""
msgstr "字段 \"%s\" 缺少数据"
-#: commands/copy.c:2623
+#: commands/copy.c:2935
#, c-format
msgid "received copy data after EOF marker"
msgstr "在EOF标志后收到了复制数据"
-#: commands/copy.c:2630
+#: commands/copy.c:2942
#, c-format
msgid "row field count is %d, expected %d"
msgstr "元组字段计数是 %d, 期望计数是 %d"
-#: commands/copy.c:2969 commands/copy.c:2986
+#: commands/copy.c:3282 commands/copy.c:3299
#, c-format
msgid "literal carriage return found in data"
msgstr "在数据中找到了文字的回车换行符"
-#: commands/copy.c:2970 commands/copy.c:2987
+#: commands/copy.c:3283 commands/copy.c:3300
#, c-format
msgid "unquoted carriage return found in data"
msgstr "在数据中找到了未用引号引起来的回车换行符"
-#: commands/copy.c:2972 commands/copy.c:2989
+#: commands/copy.c:3285 commands/copy.c:3302
#, c-format
msgid "Use \"\\r\" to represent carriage return."
msgstr "使用\"\\r\"来代表换行回车"
-#: commands/copy.c:2973 commands/copy.c:2990
+#: commands/copy.c:3286 commands/copy.c:3303
#, c-format
msgid "Use quoted CSV field to represent carriage return."
msgstr "使用以引号引起来的CSV字段代表换行回车."
-#: commands/copy.c:3002
+#: commands/copy.c:3315
#, c-format
msgid "literal newline found in data"
msgstr "在数据中找到了文字形式的新行"
-#: commands/copy.c:3003
+#: commands/copy.c:3316
#, c-format
msgid "unquoted newline found in data"
msgstr "在数据中找到了未用引号引起来的新行"
-#: commands/copy.c:3005
+#: commands/copy.c:3318
#, c-format
msgid "Use \"\\n\" to represent newline."
msgstr "使用 \"\\n\" 表示新行."
-#: commands/copy.c:3006
+#: commands/copy.c:3319
#, c-format
msgid "Use quoted CSV field to represent newline."
msgstr "使用用引号因起来的CSV字段来表示新行."
-#: commands/copy.c:3052 commands/copy.c:3088
+#: commands/copy.c:3365 commands/copy.c:3401
#, c-format
msgid "end-of-copy marker does not match previous newline style"
msgstr "end-of-copy标示不匹配先前的新数据行的风格."
-#: commands/copy.c:3061 commands/copy.c:3077
+#: commands/copy.c:3374 commands/copy.c:3390
#, c-format
msgid "end-of-copy marker corrupt"
msgstr "copy命令结束标记损坏"
-#: commands/copy.c:3519
+#: commands/copy.c:3832
#, c-format
msgid "unterminated CSV quoted field"
msgstr "CSV 引号域没有结束"
-#: commands/copy.c:3596 commands/copy.c:3615
+#: commands/copy.c:3909 commands/copy.c:3928
#, c-format
msgid "unexpected EOF in COPY data"
msgstr "在 COPY 数据中意外的 EOF"
-#: commands/copy.c:3605
+#: commands/copy.c:3918
#, c-format
msgid "invalid field size"
msgstr "无效字段尺寸"
-#: commands/copy.c:3628
+#: commands/copy.c:3941
#, c-format
msgid "incorrect binary data format"
msgstr "不正确的二进制数据格式"
-#: commands/copy.c:3939 commands/indexcmds.c:1007 commands/tablecmds.c:1386
-#: commands/tablecmds.c:2185 parser/parse_expr.c:766
+#: commands/copy.c:4252 commands/indexcmds.c:993 commands/tablecmds.c:1427
+#: commands/tablecmds.c:2237 parser/parse_relation.c:2889
#: utils/adt/tsvector_op.c:1417
#, c-format
msgid "column \"%s\" does not exist"
msgstr "字段 \"%s\" 不存在"
-#: commands/copy.c:3946 commands/tablecmds.c:1412 commands/trigger.c:613
-#: parser/parse_target.c:912 parser/parse_target.c:923
+#: commands/copy.c:4259 commands/tablecmds.c:1453 commands/trigger.c:644
+#: parser/parse_target.c:936 parser/parse_target.c:947
#, c-format
msgid "column \"%s\" specified more than once"
msgstr "字段 \"%s\" 被指定多次"
-#: commands/createas.c:301
+#: commands/createas.c:353
#, c-format
-msgid "CREATE TABLE AS specifies too many column names"
-msgstr "CREATE TABLE AS 指定了太多的字段名字"
+#| msgid "too many column aliases specified for function %s"
+msgid "too many column names were specified"
+msgstr "指定了太多的列名"
-#: commands/dbcommands.c:199
+#: commands/dbcommands.c:203
#, c-format
msgid "LOCATION is not supported anymore"
msgstr "不再支持 LOCATION"
-#: commands/dbcommands.c:200
+#: commands/dbcommands.c:204
#, c-format
msgid "Consider using tablespaces instead."
msgstr "考虑使用表空间代替."
-#: commands/dbcommands.c:223 utils/adt/ascii.c:144
+#: commands/dbcommands.c:227 utils/adt/ascii.c:144
#, c-format
msgid "%d is not a valid encoding code"
msgstr "%d 是一个无效编码"
-#: commands/dbcommands.c:233 utils/adt/ascii.c:126
+#: commands/dbcommands.c:237 utils/adt/ascii.c:126
#, c-format
msgid "%s is not a valid encoding name"
msgstr "%s 是一个无效编码名字"
# fe-connect.c:2558
-#: commands/dbcommands.c:251 commands/dbcommands.c:1385 commands/user.c:259
-#: commands/user.c:599
+#: commands/dbcommands.c:255 commands/dbcommands.c:1404 commands/user.c:260
+#: commands/user.c:601
#, c-format
msgid "invalid connection limit: %d"
msgstr "无效的连接限制:%d"
-#: commands/dbcommands.c:270
+#: commands/dbcommands.c:274
#, c-format
msgid "permission denied to create database"
msgstr "创建数据库权限不够"
-#: commands/dbcommands.c:293
+#: commands/dbcommands.c:297
#, c-format
msgid "template database \"%s\" does not exist"
msgstr "template 数据库 \"%s\" 不存在"
-#: commands/dbcommands.c:305
+#: commands/dbcommands.c:309
#, c-format
msgid "permission denied to copy database \"%s\""
msgstr "拷贝数据库 \"%s\" 权限不够"
-#: commands/dbcommands.c:321
+#: commands/dbcommands.c:325
#, c-format
msgid "invalid server encoding %d"
msgstr "无效服务器编码 %d"
-#: commands/dbcommands.c:327 commands/dbcommands.c:332
+#: commands/dbcommands.c:331 commands/dbcommands.c:336
#, c-format
msgid "invalid locale name: \"%s\""
msgstr "无效的语言环境名称: \"%s\""
-#: commands/dbcommands.c:352
+#: commands/dbcommands.c:356
#, c-format
msgid ""
"new encoding (%s) is incompatible with the encoding of the template database "
"(%s)"
msgstr "新的编码(%s)与模板数据库(%s)的编码不兼容"
-#: commands/dbcommands.c:355
+#: commands/dbcommands.c:359
#, c-format
msgid ""
"Use the same encoding as in the template database, or use template0 as "
"template."
msgstr "在模版数据库中使用同一编码,或者使用template0作为模版."
-#: commands/dbcommands.c:360
+#: commands/dbcommands.c:364
#, c-format
msgid ""
"new collation (%s) is incompatible with the collation of the template "
"database (%s)"
msgstr "新的排序规则(%s)与模版数据库(%s)中的排序规则不兼容"
-#: commands/dbcommands.c:362
+#: commands/dbcommands.c:366
#, c-format
msgid ""
"Use the same collation as in the template database, or use template0 as "
"template."
msgstr "在模版数据库中使用同一排序规则,或者使用template0作为模版."
-#: commands/dbcommands.c:367
+#: commands/dbcommands.c:371
#, c-format
msgid ""
"new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database "
"(%s)"
msgstr "新的LC_CTYPE (%s)与模版数据库(%s)中的LC_CTYPE不兼容."
-#: commands/dbcommands.c:369
+#: commands/dbcommands.c:373
#, c-format
msgid ""
"Use the same LC_CTYPE as in the template database, or use template0 as "
"template."
msgstr "在模版数据库中使用同一LC_CTYPE,或者使用template0作为模版."
-#: commands/dbcommands.c:391 commands/dbcommands.c:1092
+#: commands/dbcommands.c:395 commands/dbcommands.c:1088
#, c-format
msgid "pg_global cannot be used as default tablespace"
msgstr "pg_global不能作为缺省表空间使用"
-#: commands/dbcommands.c:417
+#: commands/dbcommands.c:421
#, c-format
msgid "cannot assign new default tablespace \"%s\""
msgstr "无法分配新的默认表空间 \"%s\""
-#: commands/dbcommands.c:419
+#: commands/dbcommands.c:423
#, c-format
msgid ""
"There is a conflict because database \"%s\" already has some tables in this "
"tablespace."
msgstr "此处有冲突, 因为数据库 \"%s\" 已经有一些表在此表空间中."
-#: commands/dbcommands.c:439 commands/dbcommands.c:967
+#: commands/dbcommands.c:443 commands/dbcommands.c:959
#, c-format
msgid "database \"%s\" already exists"
msgstr "数据库 \"%s\" 已经存在"
-#: commands/dbcommands.c:453
+#: commands/dbcommands.c:457
#, c-format
msgid "source database \"%s\" is being accessed by other users"
msgstr "其他用户正在使用源数据库 \"%s\""
-#: commands/dbcommands.c:722 commands/dbcommands.c:737
+#: commands/dbcommands.c:704 commands/dbcommands.c:719
#, c-format
msgid "encoding \"%s\" does not match locale \"%s\""
msgstr "编码 \"%s\"与本地化环境\"%s\"不匹配"
-#: commands/dbcommands.c:725
+#: commands/dbcommands.c:707
#, c-format
msgid "The chosen LC_CTYPE setting requires encoding \"%s\"."
msgstr "所选择的LC_CTYPE设置需要编码\"%s\"."
-#: commands/dbcommands.c:740
+#: commands/dbcommands.c:722
#, c-format
msgid "The chosen LC_COLLATE setting requires encoding \"%s\"."
msgstr "所选择的 LC_COLLATE设置需要编码\"%s\"."
-#: commands/dbcommands.c:798
+#: commands/dbcommands.c:782
#, c-format
msgid "database \"%s\" does not exist, skipping"
msgstr "数据库 \"%s\" 不存在,跳过"
-#: commands/dbcommands.c:829
+#: commands/dbcommands.c:806
#, c-format
msgid "cannot drop a template database"
msgstr "无法删除模板数据库"
-#: commands/dbcommands.c:835
+#: commands/dbcommands.c:812
#, c-format
msgid "cannot drop the currently open database"
msgstr "无法删除当前使用的数据库"
-#: commands/dbcommands.c:846 commands/dbcommands.c:989
-#: commands/dbcommands.c:1114
+#: commands/dbcommands.c:822
+#, c-format
+#| msgid "variable \"%s\" is hidden by a local variable"
+msgid "database \"%s\" is used by a logical replication slot"
+msgstr "数据库\"%s\"被一个逻辑复制槽使用"
+
+#: commands/dbcommands.c:824
+#, c-format
+#| msgid "There is %d other session using the database."
+#| msgid_plural "There are %d other sessions using the database."
+msgid "There is %d slot, %d of them active."
+msgid_plural "There are %d slots, %d of them active."
+msgstr[0] "有%d个槽,其中%d个是活动的."
+
+#: commands/dbcommands.c:838 commands/dbcommands.c:981
+#: commands/dbcommands.c:1110
#, c-format
msgid "database \"%s\" is being accessed by other users"
msgstr "其他用户正在使用数据库 \"%s\""
-#: commands/dbcommands.c:958
+#: commands/dbcommands.c:950
#, c-format
msgid "permission denied to rename database"
msgstr "重命名数据库权限不够"
-#: commands/dbcommands.c:978
+#: commands/dbcommands.c:970
#, c-format
msgid "current database cannot be renamed"
msgstr "不能对当前数据库进行改名"
-#: commands/dbcommands.c:1070
+#: commands/dbcommands.c:1066
#, c-format
msgid "cannot change the tablespace of the currently open database"
msgstr "无法改变当前已打开数据库的表空间"
-#: commands/dbcommands.c:1154
+#: commands/dbcommands.c:1169
#, c-format
msgid "some relations of database \"%s\" are already in tablespace \"%s\""
msgstr "在表空间 \"%2$s\"中已经存储了数据库\"%1$s\"中的一些关系了"
-#: commands/dbcommands.c:1156
+#: commands/dbcommands.c:1171
#, c-format
msgid ""
"You must move them back to the database's default tablespace before using "
"this command."
msgstr "在使用这条命令前,您必须把它们移动回数据库的缺省表空间"
-#: commands/dbcommands.c:1284 commands/dbcommands.c:1763
-#: commands/dbcommands.c:1978 commands/dbcommands.c:2026
-#: commands/tablespace.c:589
+#: commands/dbcommands.c:1302 commands/dbcommands.c:1790
+#: commands/dbcommands.c:1996 commands/dbcommands.c:2044
+#: commands/tablespace.c:604
#, c-format
msgid "some useless files may be left behind in old database directory \"%s\""
msgstr "在原先的数据库目录\"%s\"可能留下了一些无用的文件"
-#: commands/dbcommands.c:1528
+#: commands/dbcommands.c:1558
#, c-format
msgid "permission denied to change owner of database"
msgstr "改变数据库属主的权限不够"
-#: commands/dbcommands.c:1861
+#: commands/dbcommands.c:1879
#, c-format
msgid ""
"There are %d other session(s) and %d prepared transaction(s) using the "
"database."
msgstr "这里有%d个其它的会话和%d个已准备好的事务正在使用数据库."
-#: commands/dbcommands.c:1864
+#: commands/dbcommands.c:1882
#, c-format
msgid "There is %d other session using the database."
msgid_plural "There are %d other sessions using the database."
msgstr[0] "那里有%d个其它会话正在使用数据库."
-#: commands/dbcommands.c:1869
+#: commands/dbcommands.c:1887
#, c-format
msgid "There is %d prepared transaction using the database."
msgid_plural "There are %d prepared transactions using the database."
msgstr[0] "那里有%d个已准备好的事务正在使用数据库."
-#: commands/define.c:54 commands/define.c:209 commands/define.c:241
-#: commands/define.c:269
+#: commands/define.c:54 commands/define.c:228 commands/define.c:260
+#: commands/define.c:288
#, c-format
msgid "%s requires a parameter"
msgstr "%s 需要一个参数"
-#: commands/define.c:95 commands/define.c:106 commands/define.c:176
-#: commands/define.c:194
+#: commands/define.c:90 commands/define.c:101 commands/define.c:195
+#: commands/define.c:213
#, c-format
msgid "%s requires a numeric value"
msgstr "%s 需要一个数字值"
-#: commands/define.c:162
+#: commands/define.c:157
#, c-format
msgid "%s requires a Boolean value"
msgstr "%s 需要一个布尔值"
-#: commands/define.c:223
+#: commands/define.c:171 commands/define.c:180 commands/define.c:297
+#, c-format
+msgid "%s requires an integer value"
+msgstr "%s 需要一个整数值"
+
+#: commands/define.c:242
#, c-format
msgid "argument of %s must be a name"
msgstr "%s 的参数必须是一个名字"
-#: commands/define.c:253
+#: commands/define.c:272
#, c-format
msgid "argument of %s must be a type name"
msgstr "%s 的参数必需是一个类型名"
-#: commands/define.c:278
-#, c-format
-msgid "%s requires an integer value"
-msgstr "%s 需要一个整数值"
-
-#: commands/define.c:299
+#: commands/define.c:318
#, c-format
msgid "invalid argument for %s: \"%s\""
msgstr "%s 的无效参数: \"%s\""
-#: commands/dropcmds.c:100 commands/functioncmds.c:1076
-#: commands/functioncmds.c:1139 commands/functioncmds.c:1291
-#: utils/adt/ruleutils.c:1730
+#: commands/dropcmds.c:112 commands/functioncmds.c:1110
+#: utils/adt/ruleutils.c:1936
#, c-format
msgid "\"%s\" is an aggregate function"
msgstr "\"%s\" 是一个聚合函数"
-#: commands/dropcmds.c:102
+#: commands/dropcmds.c:114
#, c-format
msgid "Use DROP AGGREGATE to drop aggregate functions."
msgstr "使用 DROP AGGREGATE 删除一个聚合函数."
-#: commands/dropcmds.c:143 commands/tablecmds.c:227
+#: commands/dropcmds.c:165 commands/sequence.c:400 commands/tablecmds.c:2318
+#: commands/tablecmds.c:2499 commands/tablecmds.c:10625 tcop/utility.c:1006
+#, c-format
+msgid "relation \"%s\" does not exist, skipping"
+msgstr "关系 \"%s\" 不存在,忽略"
+
+#: commands/dropcmds.c:195 commands/dropcmds.c:288 commands/tablecmds.c:713
+#, c-format
+msgid "schema \"%s\" does not exist, skipping"
+msgstr "模式 \"%s\" 不存在"
+
+#: commands/dropcmds.c:237 commands/dropcmds.c:269 commands/tablecmds.c:237
#, c-format
msgid "type \"%s\" does not exist, skipping"
msgstr "类型 \"%s\" 不存在"
-#: commands/dropcmds.c:147
+#: commands/dropcmds.c:276
#, c-format
msgid "collation \"%s\" does not exist, skipping"
msgstr "排序规则 \"%s\" 不存在,跳过"
-#: commands/dropcmds.c:151
+#: commands/dropcmds.c:283
#, c-format
msgid "conversion \"%s\" does not exist, skipping"
msgstr "编码转换 \"%s\" 不存在,跳过"
-#: commands/dropcmds.c:155
-#, c-format
-msgid "schema \"%s\" does not exist, skipping"
-msgstr "模式 \"%s\" 不存在"
-
-#: commands/dropcmds.c:159
+#: commands/dropcmds.c:294
#, c-format
msgid "text search parser \"%s\" does not exist, skipping"
msgstr "文本搜索解析器\"%s\"不存在,跳过"
-#: commands/dropcmds.c:163
+#: commands/dropcmds.c:301
#, c-format
msgid "text search dictionary \"%s\" does not exist, skipping"
msgstr "文本搜索字典 \"%s\" 不存在,跳过"
-#: commands/dropcmds.c:167
+#: commands/dropcmds.c:308
#, c-format
msgid "text search template \"%s\" does not exist, skipping"
msgstr "文本搜索模板\"%s\"不存在,跳过"
-#: commands/dropcmds.c:171
+#: commands/dropcmds.c:315
#, c-format
msgid "text search configuration \"%s\" does not exist, skipping"
msgstr "文本搜寻配置 \"%s\"不存在,跳过"
-#: commands/dropcmds.c:175
+#: commands/dropcmds.c:320
#, c-format
msgid "extension \"%s\" does not exist, skipping"
msgstr "扩展 \"%s\" 不存在,跳过"
-#: commands/dropcmds.c:179
+#: commands/dropcmds.c:327
#, c-format
msgid "function %s(%s) does not exist, skipping"
msgstr "函数 %s(%s) 不存在,跳过"
-#: commands/dropcmds.c:184
+#: commands/dropcmds.c:336
#, c-format
msgid "aggregate %s(%s) does not exist, skipping"
msgstr "聚合函数 %s(%s) 不存在,跳过"
-#: commands/dropcmds.c:189
+#: commands/dropcmds.c:345
#, c-format
msgid "operator %s does not exist, skipping"
msgstr "操作符 %s不存在,跳过"
-#: commands/dropcmds.c:193
+#: commands/dropcmds.c:350
#, c-format
msgid "language \"%s\" does not exist, skipping"
msgstr "语言 \"%s\" 不存在"
-#: commands/dropcmds.c:197
+#: commands/dropcmds.c:359
#, c-format
msgid "cast from type %s to type %s does not exist, skipping"
msgstr "从类型 %s 到类型 %s 的类型转换不存在,跳过"
-#: commands/dropcmds.c:204
+#: commands/dropcmds.c:368
#, c-format
-msgid "trigger \"%s\" for table \"%s\" does not exist, skipping"
-msgstr "表 \"%2$s\" 的 \"%1$s\" 触发器不存在"
+#| msgid "rule \"%s\" for relation \"%s\" does not exist, skipping"
+msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping"
+msgstr "关系 \"%2$s\"的触发器\"%1$s\"不存在,跳过"
+
+#: commands/dropcmds.c:375
+#, c-format
+#| msgid "server \"%s\" does not exist, skipping"
+msgid "event trigger \"%s\" does not exist, skipping"
+msgstr "事件触发器 \"%s\"不存在,跳过 "
-#: commands/dropcmds.c:210
+#: commands/dropcmds.c:381
#, c-format
msgid "rule \"%s\" for relation \"%s\" does not exist, skipping"
msgstr "关系 \"%2$s\"的规则\"%1$s\"不存在,跳过"
-#: commands/dropcmds.c:216
+#: commands/dropcmds.c:388
#, c-format
msgid "foreign-data wrapper \"%s\" does not exist, skipping"
msgstr "外部数据封装器\"%s\" 不存在,跳过"
-#: commands/dropcmds.c:220
+#: commands/dropcmds.c:392
#, c-format
msgid "server \"%s\" does not exist, skipping"
msgstr "服务器 \"%s\"不存在,跳过 "
-#: commands/dropcmds.c:224
+#: commands/dropcmds.c:398
#, c-format
msgid "operator class \"%s\" does not exist for access method \"%s\", skipping"
msgstr "处理方法 \"%2$s\" 的操作符类 \"%1$s\" 不存在, 跳过"
-#: commands/dropcmds.c:229
+#: commands/dropcmds.c:406
#, c-format
msgid ""
"operator family \"%s\" does not exist for access method \"%s\", skipping"
msgstr "访问方法\"%2$s\"的操作符表 \"%1$s\" 不存在, 跳过"
-#: commands/explain.c:158
+#: commands/event_trigger.c:149
+#, c-format
+#| msgid "permission denied to create extension \"%s\""
+msgid "permission denied to create event trigger \"%s\""
+msgstr "创建事件触发器 \"%s\" 权限不够"
+
+#: commands/event_trigger.c:151
+#, c-format
+#| msgid "Must be superuser to create a foreign-data wrapper."
+msgid "Must be superuser to create an event trigger."
+msgstr "只有超级用户能创建事件触发器."
+
+#: commands/event_trigger.c:159
+#, c-format
+#| msgid "unrecognized reset target: \"%s\""
+msgid "unrecognized event name \"%s\""
+msgstr "无法识别的事件名:\"%s\""
+
+#: commands/event_trigger.c:176
+#, c-format
+#| msgid "unrecognized file format \"%d\"\n"
+msgid "unrecognized filter variable \"%s\""
+msgstr "不可识别的过滤器变量 \"%s\""
+
+#: commands/event_trigger.c:203
+#, c-format
+#| msgid "function %s must return type \"trigger\""
+msgid "function \"%s\" must return type \"event_trigger\""
+msgstr "函数 %s 必需返回 \"event_trigger\" 类型"
+
+#: commands/event_trigger.c:228
+#, c-format
+#| msgid "interval units \"%s\" not recognized"
+msgid "filter value \"%s\" not recognized for filter variable \"%s\""
+msgstr "过滤器变量 \"%2$s\"中的过滤器值\"%1$s\"不能识别"
+
+#. translator: %s represents an SQL statement name
+#: commands/event_trigger.c:234
+#, c-format
+#| msgid "collations are not supported by type %s"
+msgid "event triggers are not supported for %s"
+msgstr "事件触发器在%s中不被支持"
+
+#: commands/event_trigger.c:289
+#, c-format
+#| msgid "table name \"%s\" specified more than once"
+msgid "filter variable \"%s\" specified more than once"
+msgstr "过滤器变量 \"%s\" 被指定多次"
+
+#: commands/event_trigger.c:437 commands/event_trigger.c:480
+#: commands/event_trigger.c:571
+#, c-format
+#| msgid "server \"%s\" does not exist"
+msgid "event trigger \"%s\" does not exist"
+msgstr "过滤器变量\"%s\" 不存在"
+
+#: commands/event_trigger.c:539
+#, c-format
+#| msgid "permission denied to change owner of foreign-data wrapper \"%s\""
+msgid "permission denied to change owner of event trigger \"%s\""
+msgstr "修改事件触发器的 \"%s\" 的属主权限不够"
+
+#: commands/event_trigger.c:541
+#, c-format
+#| msgid "The owner of a foreign-data wrapper must be a superuser."
+msgid "The owner of an event trigger must be a superuser."
+msgstr "事件触发器的属主必须是超级用户."
+
+#: commands/event_trigger.c:1219
+#, c-format
+#| msgid "%s is not allowed in a non-volatile function"
+msgid "%s can only be called in a sql_drop event trigger function"
+msgstr "%s只能在sql_drop事件触发器函数中被调用"
+
+#: commands/event_trigger.c:1226 commands/extension.c:1646
+#: commands/extension.c:1755 commands/extension.c:1948 commands/prepare.c:702
+#: executor/execQual.c:1739 executor/execQual.c:1764 executor/execQual.c:2139
+#: executor/execQual.c:5315 executor/functions.c:1018 foreign/foreign.c:421
+#: replication/logical/logicalfuncs.c:310 replication/slotfuncs.c:173
+#: replication/walsender.c:2746 utils/adt/jsonfuncs.c:1386
+#: utils/adt/jsonfuncs.c:1518 utils/adt/jsonfuncs.c:1708
+#: utils/adt/jsonfuncs.c:1837 utils/adt/jsonfuncs.c:2601
+#: utils/fmgr/funcapi.c:61 utils/mmgr/portalmem.c:986
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr "在不能接受使用集合的环境中调用set-valued函数"
+
+#: commands/event_trigger.c:1230 commands/extension.c:1650
+#: commands/extension.c:1759 commands/extension.c:1952 commands/prepare.c:706
+#: foreign/foreign.c:426 replication/logical/logicalfuncs.c:314
+#: replication/slotfuncs.c:177 replication/walsender.c:2750
+#: utils/mmgr/portalmem.c:990
+#, c-format
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "要求使用物化模式,但是在这种环境下不允许使用."
+
+#: commands/explain.c:169
#, c-format
msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\""
msgstr "用于EXPLAIN选项\"%s\"的值无效:\"%s\""
-#: commands/explain.c:164
+#: commands/explain.c:175
#, c-format
msgid "unrecognized EXPLAIN option \"%s\""
msgstr "无法识别的EXPLAIN选项\"%s\""
-#: commands/explain.c:171
+#: commands/explain.c:182
#, c-format
msgid "EXPLAIN option BUFFERS requires ANALYZE"
msgstr "在EXPLAIN命令中BUFFERS和ANALYZE选项需要一起使用"
-#: commands/explain.c:180
+#: commands/explain.c:191
#, c-format
msgid "EXPLAIN option TIMING requires ANALYZE"
msgstr "在EXPLAIN命令中的TIMING选项需要ANALYZE"
-#: commands/extension.c:146 commands/extension.c:2620
+#: commands/extension.c:148 commands/extension.c:2628
#, c-format
msgid "extension \"%s\" does not exist"
msgstr "扩展 \"%s\" 不存在"
-#: commands/extension.c:245 commands/extension.c:254 commands/extension.c:266
-#: commands/extension.c:276
+#: commands/extension.c:247 commands/extension.c:256 commands/extension.c:268
+#: commands/extension.c:278
#, c-format
msgid "invalid extension name: \"%s\""
msgstr "无效扩展名: \"%s\""
-#: commands/extension.c:246
+#: commands/extension.c:248
#, c-format
msgid "Extension names must not be empty."
msgstr "扩展名不能为空."
-#: commands/extension.c:255
+#: commands/extension.c:257
#, c-format
msgid "Extension names must not contain \"--\"."
msgstr "扩展名不能包含\"--\"."
-#: commands/extension.c:267
+#: commands/extension.c:269
#, c-format
msgid "Extension names must not begin or end with \"-\"."
msgstr "扩展名不能以 \"-\"作为开始或结束符."
-#: commands/extension.c:277
+#: commands/extension.c:279
#, c-format
msgid "Extension names must not contain directory separator characters."
msgstr "扩展名不能包含目录分隔符."
-#: commands/extension.c:292 commands/extension.c:301 commands/extension.c:310
-#: commands/extension.c:320
+#: commands/extension.c:294 commands/extension.c:303 commands/extension.c:312
+#: commands/extension.c:322
#, c-format
msgid "invalid extension version name: \"%s\""
msgstr "无效的扩展版本名: \"%s\""
-#: commands/extension.c:293
+#: commands/extension.c:295
#, c-format
msgid "Version names must not be empty."
msgstr "版本名不能为空."
-#: commands/extension.c:302
+#: commands/extension.c:304
#, c-format
msgid "Version names must not contain \"--\"."
msgstr "版本名不能包含\"--\"."
-#: commands/extension.c:311
+#: commands/extension.c:313
#, c-format
msgid "Version names must not begin or end with \"-\"."
msgstr "版本名不能以 \"-\"作为开始或结束符."
-#: commands/extension.c:321
+#: commands/extension.c:323
#, c-format
msgid "Version names must not contain directory separator characters."
msgstr "版本名不能包含目录分隔符."
-#: commands/extension.c:471
+#: commands/extension.c:473
#, c-format
msgid "could not open extension control file \"%s\": %m"
msgstr "无法打开扩展控制文件 \"%s\": %m"
-#: commands/extension.c:493 commands/extension.c:503
+#: commands/extension.c:495 commands/extension.c:505
#, c-format
msgid "parameter \"%s\" cannot be set in a secondary extension control file"
msgstr "第二扩展控制文件中, 无法设置参数 \"%s\""
-#: commands/extension.c:542
+#: commands/extension.c:544
#, c-format
msgid "\"%s\" is not a valid encoding name"
msgstr "\"%s\" 是一个无效编码名"
-#: commands/extension.c:556
+#: commands/extension.c:558
#, c-format
msgid "parameter \"%s\" must be a list of extension names"
msgstr "参数 \"%s\"必须是一个包含扩展名的列表"
-#: commands/extension.c:563
+#: commands/extension.c:565
#, c-format
msgid "unrecognized parameter \"%s\" in file \"%s\""
msgstr "文件\"%2$s\"中出现未识别的参数 \"%1$s\""
-#: commands/extension.c:572
+#: commands/extension.c:574
#, c-format
msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true"
msgstr "当\"relocatable\"为真时,参数\"schema\"不允许被指定"
-#: commands/extension.c:724
+#: commands/extension.c:722
#, c-format
msgid ""
"transaction control statements are not allowed within an extension script"
msgstr "扩展脚本中不允许出现事务控制语句"
-#: commands/extension.c:792
+#: commands/extension.c:790
#, c-format
msgid "permission denied to create extension \"%s\""
msgstr "创建扩展 \"%s\" 权限不够"
-#: commands/extension.c:794
+#: commands/extension.c:792
#, c-format
msgid "Must be superuser to create this extension."
msgstr "只有超级用户能创建扩展."
-#: commands/extension.c:798
+#: commands/extension.c:796
#, c-format
msgid "permission denied to update extension \"%s\""
msgstr "更新扩展 \"%s\" 权限不够"
-#: commands/extension.c:800
+#: commands/extension.c:798
#, c-format
msgid "Must be superuser to update this extension."
msgstr "只有超级用户能更新扩展."
-#: commands/extension.c:1082
+#: commands/extension.c:1080
#, c-format
msgid ""
"extension \"%s\" has no update path from version \"%s\" to version \"%s\""
msgstr "扩展 \"%s\" 没有从版本\"%s\"到版本\"%s\"的更新路径"
-#: commands/extension.c:1209
+#: commands/extension.c:1207
#, c-format
msgid "extension \"%s\" already exists, skipping"
msgstr "扩展 \"%s\" 已经存在,跳过"
-#: commands/extension.c:1216
+#: commands/extension.c:1214
#, c-format
msgid "extension \"%s\" already exists"
msgstr "扩展 \"%s\" 已经存在"
-#: commands/extension.c:1227
+#: commands/extension.c:1225
#, c-format
msgid "nested CREATE EXTENSION is not supported"
msgstr "不支持嵌套的CREATE EXTENSION"
-#: commands/extension.c:1282 commands/extension.c:2680
+#: commands/extension.c:1280 commands/extension.c:2688
#, c-format
msgid "version to install must be specified"
msgstr "必须指定安装版本"
-#: commands/extension.c:1299
+#: commands/extension.c:1297
#, c-format
msgid "FROM version must be different from installation target version \"%s\""
msgstr "FROM 版本与安装的目标版本 \"%s\" 必须不同"
-#: commands/extension.c:1354
+#: commands/extension.c:1352
#, c-format
msgid "extension \"%s\" must be installed in schema \"%s\""
msgstr "扩展\"%s\"已经安装到模式\"%s\"中了"
-#: commands/extension.c:1433 commands/extension.c:2821
+#: commands/extension.c:1436 commands/extension.c:2831
#, c-format
msgid "required extension \"%s\" is not installed"
msgstr "所需要的扩展\"%s\"没被安装"
-#: commands/extension.c:1594
+#: commands/extension.c:1598
#, c-format
msgid "cannot drop extension \"%s\" because it is being modified"
msgstr "无法删除扩展\"%s\",因为它正被修改中"
-#: commands/extension.c:1642 commands/extension.c:1751
-#: commands/extension.c:1944 commands/prepare.c:716 executor/execQual.c:1716
-#: executor/execQual.c:1741 executor/execQual.c:2102 executor/execQual.c:5232
-#: executor/functions.c:969 foreign/foreign.c:373 replication/walsender.c:1509
-#: utils/fmgr/funcapi.c:60 utils/mmgr/portalmem.c:986
-#, c-format
-msgid "set-valued function called in context that cannot accept a set"
-msgstr "在不能接受使用集合的环境中调用set-valued函数"
-
-#: commands/extension.c:1646 commands/extension.c:1755
-#: commands/extension.c:1948 commands/prepare.c:720 foreign/foreign.c:378
-#: replication/walsender.c:1513 utils/mmgr/portalmem.c:990
-#, c-format
-msgid "materialize mode required, but it is not allowed in this context"
-msgstr "要求使用物化模式,但是在这种环境下不允许使用."
-
-#: commands/extension.c:2065
+#: commands/extension.c:2069
#, c-format
msgid ""
"pg_extension_config_dump() can only be called from an SQL script executed by "
"CREATE EXTENSION"
msgstr "pg_extension_config_dump() 只能在执行 CREATE EXTENSION的SQL脚本里调用"
-#: commands/extension.c:2077
+#: commands/extension.c:2081
#, c-format
msgid "OID %u does not refer to a table"
msgstr "OID %u没有引用任何表"
-#: commands/extension.c:2082
+#: commands/extension.c:2086
#, c-format
msgid "table \"%s\" is not a member of the extension being created"
msgstr "表\"%s\"不是被创建的任何一个扩展的成员"
-#: commands/extension.c:2446
+#: commands/extension.c:2450
#, c-format
msgid ""
"cannot move extension \"%s\" into schema \"%s\" because the extension "
"contains the schema"
msgstr "不能将扩展 \"%s\" 转移到模式 \"%s\" 里,因为该扩展已经拥有该模式"
-#: commands/extension.c:2486 commands/extension.c:2549
+#: commands/extension.c:2490 commands/extension.c:2553
#, c-format
msgid "extension \"%s\" does not support SET SCHEMA"
msgstr "扩展 \"%s\" 不支持SET SCHEMA操作"
-#: commands/extension.c:2551
+#: commands/extension.c:2555
#, c-format
msgid "%s is not in the extension's schema \"%s\""
msgstr "扩展模式\"%2$s\"中不存在%1$s"
-#: commands/extension.c:2600
+#: commands/extension.c:2608
#, c-format
msgid "nested ALTER EXTENSION is not supported"
msgstr "不支持使用嵌套的ALTER EXTENSION"
-#: commands/extension.c:2691
+#: commands/extension.c:2699
#, c-format
msgid "version \"%s\" of extension \"%s\" is already installed"
msgstr "扩展\"%2$s\"的版本\"%1$s\"已经安装"
-#: commands/extension.c:2926
+#: commands/extension.c:2938
#, c-format
msgid ""
"cannot add schema \"%s\" to extension \"%s\" because the schema contains the "
"extension"
msgstr "无法为扩展\"%2$s\"添加模式\"%1$s\",因为该模式已经包含此扩展"
-#: commands/extension.c:2944
+#: commands/extension.c:2956
#, c-format
msgid "%s is not a member of extension \"%s\""
-msgstr ""
+msgstr "%s不是扩展的成员\"%s\""
-#: commands/foreigncmds.c:134 commands/foreigncmds.c:143
+#: commands/foreigncmds.c:138 commands/foreigncmds.c:147
#, c-format
msgid "option \"%s\" not found"
msgstr "没有找到选项 \"%s\" "
-#: commands/foreigncmds.c:153
+#: commands/foreigncmds.c:157
#, c-format
msgid "option \"%s\" provided more than once"
msgstr "选项 \"%s\" 被提供了多次"
-#: commands/foreigncmds.c:218 commands/foreigncmds.c:340
-#: commands/foreigncmds.c:711 foreign/foreign.c:548
-#, c-format
-msgid "foreign-data wrapper \"%s\" does not exist"
-msgstr "外部数据封装器 \"%s\" 不存在"
-
-#: commands/foreigncmds.c:224 commands/foreigncmds.c:601
-#, c-format
-msgid "foreign-data wrapper \"%s\" already exists"
-msgstr "外部数据封装器\"%s\"已经存在"
-
-#: commands/foreigncmds.c:256 commands/foreigncmds.c:441
-#: commands/foreigncmds.c:994 commands/foreigncmds.c:1328
-#: foreign/foreign.c:569
-#, c-format
-msgid "server \"%s\" does not exist"
-msgstr "服务器\"%s\" 不存在"
-
-#: commands/foreigncmds.c:262 commands/foreigncmds.c:889
-#, c-format
-msgid "server \"%s\" already exists"
-msgstr "服务器 \"%s\" 已经存在"
-
-#: commands/foreigncmds.c:296 commands/foreigncmds.c:304
+#: commands/foreigncmds.c:223 commands/foreigncmds.c:231
#, c-format
msgid "permission denied to change owner of foreign-data wrapper \"%s\""
msgstr "修改外部数据封装器的 \"%s\" 的属主权限不够"
-#: commands/foreigncmds.c:298
+#: commands/foreigncmds.c:225
#, c-format
msgid "Must be superuser to change owner of a foreign-data wrapper."
msgstr "只有超级用户可以更改外部数据封装器的属主"
-#: commands/foreigncmds.c:306
+#: commands/foreigncmds.c:233
#, c-format
msgid "The owner of a foreign-data wrapper must be a superuser."
msgstr "外部数据封装器的属主必须是超级用户."
-#: commands/foreigncmds.c:493
+#: commands/foreigncmds.c:271 commands/foreigncmds.c:655 foreign/foreign.c:600
+#, c-format
+msgid "foreign-data wrapper \"%s\" does not exist"
+msgstr "外部数据封装器 \"%s\" 不存在"
+
+#: commands/foreigncmds.c:380 commands/foreigncmds.c:944
+#: commands/foreigncmds.c:1285 foreign/foreign.c:621
+#, c-format
+msgid "server \"%s\" does not exist"
+msgstr "服务器\"%s\" 不存在"
+
+#: commands/foreigncmds.c:436
#, c-format
msgid "function %s must return type \"fdw_handler\""
msgstr "函数 %s 必须返回 \"fdw_handler\" 类型"
-#: commands/foreigncmds.c:588
+#: commands/foreigncmds.c:531
#, c-format
msgid "permission denied to create foreign-data wrapper \"%s\""
msgstr "创建外部数据封装器\"%s\"失败"
-#: commands/foreigncmds.c:590
+#: commands/foreigncmds.c:533
#, c-format
msgid "Must be superuser to create a foreign-data wrapper."
msgstr "只有超级用户能创建外部数据封装器"
-#: commands/foreigncmds.c:701
+#: commands/foreigncmds.c:645
#, c-format
msgid "permission denied to alter foreign-data wrapper \"%s\""
msgstr "不允许修改外部数据封装器\"%s\""
-#: commands/foreigncmds.c:703
+#: commands/foreigncmds.c:647
#, c-format
msgid "Must be superuser to alter a foreign-data wrapper."
msgstr "只有超级用户才能修改一个外部数据封装器."
-#: commands/foreigncmds.c:734
+#: commands/foreigncmds.c:678
#, c-format
msgid ""
"changing the foreign-data wrapper handler can change behavior of existing "
"foreign tables"
msgstr "改变外部数据封装器可能会改变现存的外部表的行为"
-#: commands/foreigncmds.c:748
+#: commands/foreigncmds.c:693
#, c-format
msgid ""
"changing the foreign-data wrapper validator can cause the options for "
"dependent objects to become invalid"
msgstr "改变外部数据封装器的验证能够使所它依赖对象的选项变为无效"
-#: commands/foreigncmds.c:1152
+#: commands/foreigncmds.c:1106
#, c-format
msgid "user mapping \"%s\" already exists for server %s"
msgstr "对于服务器%2$s,用户映射\"%1$s\"已存在 "
-#: commands/foreigncmds.c:1239 commands/foreigncmds.c:1344
+#: commands/foreigncmds.c:1194 commands/foreigncmds.c:1301
#, c-format
msgid "user mapping \"%s\" does not exist for the server"
msgstr "对于服务器来说,用户映射\"%s\"不存在"
-#: commands/foreigncmds.c:1331
+#: commands/foreigncmds.c:1288
#, c-format
msgid "server does not exist, skipping"
msgstr "服务器不存在,跳过"
-#: commands/foreigncmds.c:1349
+#: commands/foreigncmds.c:1306
#, c-format
msgid "user mapping \"%s\" does not exist for the server, skipping"
msgstr "用户映射\"%s\"对于服务器来说不存在,跳过"
-#: commands/functioncmds.c:102
+#: commands/functioncmds.c:98
#, c-format
msgid "SQL function cannot return shell type %s"
msgstr "SQL 函数不能返回 shell 类型 %s"
-#: commands/functioncmds.c:107
+#: commands/functioncmds.c:103
#, c-format
msgid "return type %s is only a shell"
msgstr "返回类型 %s 只是一个 shell"
-#: commands/functioncmds.c:136 parser/parse_type.c:284
+#: commands/functioncmds.c:132 parser/parse_type.c:333
#, c-format
msgid "type modifier cannot be specified for shell type \"%s\""
msgstr "不能为shell类型\"%s\"指定类型修改器"
-#: commands/functioncmds.c:142
+#: commands/functioncmds.c:138
#, c-format
msgid "type \"%s\" is not yet defined"
msgstr "类型 \"%s\" 仍没被定义"
-#: commands/functioncmds.c:143
+#: commands/functioncmds.c:139
#, c-format
msgid "Creating a shell type definition."
msgstr "创建一个 shell 类型定义."
-#: commands/functioncmds.c:227
+#: commands/functioncmds.c:236
#, c-format
msgid "SQL function cannot accept shell type %s"
msgstr "SQL 函数不能接收 shell 类型 %s"
-#: commands/functioncmds.c:232
+#: commands/functioncmds.c:242
+#, c-format
+#| msgid "SQL function cannot accept shell type %s"
+msgid "aggregate cannot accept shell type %s"
+msgstr "聚集函数不能接收 shell 类型 %s"
+
+#: commands/functioncmds.c:247
#, c-format
msgid "argument type %s is only a shell"
msgstr "参数类型 %s 只是一个 shell"
-#: commands/functioncmds.c:242
+#: commands/functioncmds.c:257
#, c-format
msgid "type %s does not exist"
msgstr "类型 %s 不存在"
-#: commands/functioncmds.c:254
+#: commands/functioncmds.c:271
+#, c-format
+#| msgid "aggregates cannot use named arguments"
+msgid "aggregates cannot accept set arguments"
+msgstr "聚合函数不能接受集合类型参数"
+
+#: commands/functioncmds.c:275
#, c-format
msgid "functions cannot accept set arguments"
msgstr "函数不能接收设定参数"
-#: commands/functioncmds.c:263
+#: commands/functioncmds.c:285
#, c-format
msgid "VARIADIC parameter must be the last input parameter"
msgstr "参数VARIADIC必须是最后一个输入参数"
-#: commands/functioncmds.c:290
+#: commands/functioncmds.c:313
#, c-format
msgid "VARIADIC parameter must be an array"
msgstr "参数VARIADIC必须是一个数组"
-#: commands/functioncmds.c:330
+#: commands/functioncmds.c:353
#, c-format
msgid "parameter name \"%s\" used more than once"
msgstr "多次使用参数名称 \"%s\""
-#: commands/functioncmds.c:345
+#: commands/functioncmds.c:368
#, c-format
msgid "only input parameters can have default values"
msgstr "只有输入参数才能有缺省值"
-#: commands/functioncmds.c:358
+#: commands/functioncmds.c:383
#, c-format
msgid "cannot use table references in parameter default value"
msgstr "在参数缺省值中不能使用表引用"
-#: commands/functioncmds.c:374
-#, c-format
-msgid "cannot use subquery in parameter default value"
-msgstr "在参数缺省值中不能使用自查询"
-
-#: commands/functioncmds.c:378
-#, c-format
-msgid "cannot use aggregate function in parameter default value"
-msgstr "在参数的缺省值中不能使用聚合函数"
-
-#: commands/functioncmds.c:382
-#, c-format
-msgid "cannot use window function in parameter default value"
-msgstr "在参数的缺省值中不能使用窗口函数"
-
-#: commands/functioncmds.c:392
+#: commands/functioncmds.c:407
#, c-format
msgid "input parameters after one with a default value must also have defaults"
msgstr "在带有缺省值参数后面的输入参数必须也带有缺省值."
-#: commands/functioncmds.c:642
+#: commands/functioncmds.c:657
#, c-format
msgid "no function body specified"
msgstr "没有指定函数体"
-#: commands/functioncmds.c:652
+#: commands/functioncmds.c:667
#, c-format
msgid "no language specified"
msgstr "没有指定语言"
-#: commands/functioncmds.c:675 commands/functioncmds.c:1330
+#: commands/functioncmds.c:690 commands/functioncmds.c:1149
#, c-format
msgid "COST must be positive"
msgstr "COST必需为正数"
-#: commands/functioncmds.c:683 commands/functioncmds.c:1338
+#: commands/functioncmds.c:698 commands/functioncmds.c:1157
#, c-format
msgid "ROWS must be positive"
msgstr "ROWS必需为正数"
-#: commands/functioncmds.c:722
+#: commands/functioncmds.c:737
#, c-format
msgid "unrecognized function attribute \"%s\" ignored"
msgstr "忽略未认可的函数属性 \"%s\""
-#: commands/functioncmds.c:773
+#: commands/functioncmds.c:788
#, c-format
msgid "only one AS item needed for language \"%s\""
msgstr "对于 \"%s\" 语言只能要求一个 AS 项目"
-#: commands/functioncmds.c:861 commands/functioncmds.c:1969
-#: commands/proclang.c:554 commands/proclang.c:591 commands/proclang.c:705
+#: commands/functioncmds.c:877 commands/functioncmds.c:1734
+#: commands/proclang.c:553
#, c-format
msgid "language \"%s\" does not exist"
msgstr "语言 \"%s\" 不存在"
-#: commands/functioncmds.c:863 commands/functioncmds.c:1971
+#: commands/functioncmds.c:879 commands/functioncmds.c:1736
#, c-format
msgid "Use CREATE LANGUAGE to load the language into the database."
msgstr "使用CREATE LANGUAGE向数据库加载语言."
-#: commands/functioncmds.c:898 commands/functioncmds.c:1321
+#: commands/functioncmds.c:914 commands/functioncmds.c:1140
#, c-format
msgid "only superuser can define a leakproof function"
msgstr "只有超级用户才能定义一个密封函数"
-#: commands/functioncmds.c:920
+#: commands/functioncmds.c:940
#, c-format
msgid "function result type must be %s because of OUT parameters"
msgstr "因为OUT参数,函数的结果类型必须是%s"
-#: commands/functioncmds.c:933
+#: commands/functioncmds.c:953
#, c-format
msgid "function result type must be specified"
msgstr "必须指定函数返回结果的类型"
-#: commands/functioncmds.c:968 commands/functioncmds.c:1342
+#: commands/functioncmds.c:988 commands/functioncmds.c:1161
#, c-format
msgid "ROWS is not applicable when function does not return a set"
msgstr "当转换函数不返回一个组合时,不适用ROWS"
-#: commands/functioncmds.c:1078
-#, c-format
-msgid "Use ALTER AGGREGATE to rename aggregate functions."
-msgstr "使用 ALTER AGGREGATE 对聚合函数重命名."
-
-#: commands/functioncmds.c:1141
-#, c-format
-msgid "Use ALTER AGGREGATE to change owner of aggregate functions."
-msgstr "使用 ALTER AGGREGATE 改变聚合函数的属主."
-
-#: commands/functioncmds.c:1491
+#: commands/functioncmds.c:1314
#, c-format
msgid "source data type %s is a pseudo-type"
msgstr "源数据类型 %s 是一个伪类型"
-#: commands/functioncmds.c:1497
+#: commands/functioncmds.c:1320
#, c-format
msgid "target data type %s is a pseudo-type"
msgstr "目标数据类型 %s 是一个伪类型"
-#: commands/functioncmds.c:1521
+#: commands/functioncmds.c:1344
#, c-format
msgid "cast will be ignored because the source data type is a domain"
msgstr "转换将被忽略,因为源数据类型是一个域"
-#: commands/functioncmds.c:1526
+#: commands/functioncmds.c:1349
#, c-format
msgid "cast will be ignored because the target data type is a domain"
msgstr "转换将被忽略,因为目标数据类型是一个域"
-#: commands/functioncmds.c:1553
+#: commands/functioncmds.c:1376
#, c-format
msgid "cast function must take one to three arguments"
msgstr "类型转换函数只能带一到三个参数"
-#: commands/functioncmds.c:1557
+#: commands/functioncmds.c:1380
#, c-format
msgid ""
"argument of cast function must match or be binary-coercible from source data "
"type"
msgstr "功能指派函数的参数必须匹配或者是或者从源数据类型以二进制方式强制转换的"
-#: commands/functioncmds.c:1561
+#: commands/functioncmds.c:1384
#, c-format
msgid "second argument of cast function must be type integer"
msgstr "类型转换函数的第二个参数必须为整型"
-#: commands/functioncmds.c:1565
+#: commands/functioncmds.c:1388
#, c-format
msgid "third argument of cast function must be type boolean"
msgstr "类型转换函数的第三个参数必须为布尔类型"
-#: commands/functioncmds.c:1569
+#: commands/functioncmds.c:1392
#, c-format
msgid ""
"return data type of cast function must match or be binary-coercible to "
"target data type"
msgstr "功能指派函数的返回数据类型必须匹配或者强制二进制方式转换的目标数据类型"
-#: commands/functioncmds.c:1580
+#: commands/functioncmds.c:1403
#, c-format
msgid "cast function must not be volatile"
msgstr "类型转换函数不能为易失的 (volatile)"
-#: commands/functioncmds.c:1585
+#: commands/functioncmds.c:1408
#, c-format
msgid "cast function must not be an aggregate function"
msgstr "转换函数不能是一个聚合函数"
-#: commands/functioncmds.c:1589
+#: commands/functioncmds.c:1412
#, c-format
msgid "cast function must not be a window function"
msgstr "功能转换函数不能使窗口函数"
-#: commands/functioncmds.c:1593
+#: commands/functioncmds.c:1416
#, c-format
msgid "cast function must not return a set"
msgstr "转换函数不能返回一个组合"
-#: commands/functioncmds.c:1619
+#: commands/functioncmds.c:1442
#, c-format
msgid "must be superuser to create a cast WITHOUT FUNCTION"
msgstr "只有超级用户能创建一个非函数的类型转换"
-#: commands/functioncmds.c:1634
+#: commands/functioncmds.c:1457
#, c-format
msgid "source and target data types are not physically compatible"
msgstr "源数据类型和目标数据类型不相容"
-#: commands/functioncmds.c:1649
+#: commands/functioncmds.c:1472
#, c-format
msgid "composite data types are not binary-compatible"
msgstr "组合数据类型不是二进制兼容"
-#: commands/functioncmds.c:1655
+#: commands/functioncmds.c:1478
#, c-format
msgid "enum data types are not binary-compatible"
msgstr "枚举数据类型不是二进制兼容"
-#: commands/functioncmds.c:1661
+#: commands/functioncmds.c:1484
#, c-format
msgid "array data types are not binary-compatible"
msgstr "数组数据类型不是二进制兼容的"
-#: commands/functioncmds.c:1678
+#: commands/functioncmds.c:1501
#, c-format
msgid "domain data types must not be marked binary-compatible"
msgstr "域数据类型不能标为二进制兼容"
-#: commands/functioncmds.c:1688
+#: commands/functioncmds.c:1511
#, c-format
msgid "source data type and target data type are the same"
msgstr "源数据类型和目标数据类型相同"
-#: commands/functioncmds.c:1721
+#: commands/functioncmds.c:1544
#, c-format
msgid "cast from type %s to type %s already exists"
msgstr "类型 %s 到 %s 的转换已经存在"
-#: commands/functioncmds.c:1795
+#: commands/functioncmds.c:1619
#, c-format
msgid "cast from type %s to type %s does not exist"
msgstr "类型 %s 到类型 %s 的转换不存在"
-#: commands/functioncmds.c:1883
+#: commands/functioncmds.c:1668
#, c-format
-msgid "function \"%s\" already exists in schema \"%s\""
-msgstr "在模式 \"%2$s\" 中函数 \"%1$s\" 已经存在"
+msgid "function %s already exists in schema \"%s\""
+msgstr "在模式 \"%2$s\" 中函数 %1$s 已经存在"
-#: commands/functioncmds.c:1956
+#: commands/functioncmds.c:1721
#, c-format
msgid "no inline code specified"
msgstr "没有指定内联代码"
-#: commands/functioncmds.c:2001
+#: commands/functioncmds.c:1766
#, c-format
msgid "language \"%s\" does not support inline code execution"
msgstr "语言 \"%s\" 不支持执行内联代码"
-#: commands/indexcmds.c:159 commands/indexcmds.c:480
-#: commands/opclasscmds.c:369 commands/opclasscmds.c:788
-#: commands/opclasscmds.c:2121
+#: commands/indexcmds.c:159 commands/indexcmds.c:486
+#: commands/opclasscmds.c:370 commands/opclasscmds.c:790
+#: commands/opclasscmds.c:1749
#, c-format
msgid "access method \"%s\" does not exist"
msgstr "访问方式 \"%s\" 不存在"
-#: commands/indexcmds.c:337
+#: commands/indexcmds.c:340
#, c-format
msgid "must specify at least one column"
msgstr "必需至少指定一个字段"
-#: commands/indexcmds.c:341
+#: commands/indexcmds.c:344
#, c-format
msgid "cannot use more than %d columns in an index"
msgstr "在一个索引中不能使用超过 %d 个字段"
-#: commands/indexcmds.c:369
+#: commands/indexcmds.c:375
#, c-format
msgid "cannot create index on foreign table \"%s\""
msgstr "外部表\"%s\"上无法创建索引"
-#: commands/indexcmds.c:384
+#: commands/indexcmds.c:390
#, c-format
msgid "cannot create indexes on temporary tables of other sessions"
msgstr "不能在其他会话的临时表上创建索引"
-#: commands/indexcmds.c:439 commands/tablecmds.c:509 commands/tablecmds.c:8691
+#: commands/indexcmds.c:445 commands/tablecmds.c:525 commands/tablecmds.c:9101
#, c-format
msgid "only shared relations can be placed in pg_global tablespace"
msgstr "在pg_global表空间中只能放置共享关系"
-#: commands/indexcmds.c:472
+#: commands/indexcmds.c:478
#, c-format
msgid "substituting access method \"gist\" for obsolete method \"rtree\""
msgstr "将已作废的方法\"rtree\"替换为访问方法\"gist\" "
-#: commands/indexcmds.c:489
+#: commands/indexcmds.c:495
#, c-format
msgid "access method \"%s\" does not support unique indexes"
msgstr "存取方法 \"%s\" 不支持唯一索引"
-#: commands/indexcmds.c:494
+#: commands/indexcmds.c:500
#, c-format
msgid "access method \"%s\" does not support multicolumn indexes"
msgstr "存取方法 \"%s\" 不支持多字段索引"
-#: commands/indexcmds.c:499
+#: commands/indexcmds.c:505
#, c-format
msgid "access method \"%s\" does not support exclusion constraints"
msgstr "访问方法 \"%s\" 不支持排他约束"
-#: commands/indexcmds.c:578
+#: commands/indexcmds.c:584
#, 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:923
-#, c-format
-msgid "cannot use subquery in index predicate"
-msgstr "索引声明中不能使用子查询"
-
-#: commands/indexcmds.c:927
-#, c-format
-msgid "cannot use aggregate in index predicate"
-msgstr "索引声明中不能使用聚合函数"
-
-#: commands/indexcmds.c:936
+#: commands/indexcmds.c:922
#, c-format
msgid "functions in index predicate must be marked IMMUTABLE"
msgstr "索引声明中函数必需标记为 IMMUTABLE"
-#: commands/indexcmds.c:1002 parser/parse_utilcmd.c:1761
+#: commands/indexcmds.c:988 parser/parse_utilcmd.c:1797
#, c-format
msgid "column \"%s\" named in key does not exist"
msgstr "在键字中命名的字段 \"%s\" 不存在"
-#: commands/indexcmds.c:1055
-#, c-format
-msgid "cannot use subquery in index expression"
-msgstr "索引表达式中不能使用子查询"
-
-#: commands/indexcmds.c:1059
-#, c-format
-msgid "cannot use aggregate function in index expression"
-msgstr "索引表达式中不能使用聚合函数"
-
-#: commands/indexcmds.c:1070
+#: commands/indexcmds.c:1048
#, c-format
msgid "functions in index expression must be marked IMMUTABLE"
msgstr "索引表达式中函数必需标记为 IMMUTABLE"
-#: commands/indexcmds.c:1093
+#: commands/indexcmds.c:1071
#, c-format
msgid "could not determine which collation to use for index expression"
msgstr "索引表达式上无法确定使用哪个排序规则"
-#: commands/indexcmds.c:1101 commands/typecmds.c:776 parser/parse_expr.c:2171
-#: parser/parse_type.c:498 parser/parse_utilcmd.c:2621 utils/adt/misc.c:518
+#: commands/indexcmds.c:1079 commands/typecmds.c:782 parser/parse_expr.c:2278
+#: parser/parse_type.c:546 parser/parse_utilcmd.c:2648 utils/adt/misc.c:520
#, c-format
msgid "collations are not supported by type %s"
msgstr "类型%s不能使用排序规则"
-#: commands/indexcmds.c:1139
+#: commands/indexcmds.c:1117
#, c-format
msgid "operator %s is not commutative"
msgstr "操作符%s不是可交换的"
-#: commands/indexcmds.c:1141
+#: commands/indexcmds.c:1119
#, c-format
msgid "Only commutative operators can be used in exclusion constraints."
msgstr "只有可交换操作符能够在排他约束中使用."
-#: commands/indexcmds.c:1167
+#: commands/indexcmds.c:1145
#, c-format
msgid "operator %s is not a member of operator family \"%s\""
msgstr "操作符%s不是操作符表\"%s\"的成员"
-#: commands/indexcmds.c:1170
+#: commands/indexcmds.c:1148
#, c-format
msgid ""
"The exclusion operator must be related to the index operator class for the "
"constraint."
msgstr "排他操作符必须和用于约束的索引操作符级别相关联"
-#: commands/indexcmds.c:1205
+#: commands/indexcmds.c:1183
#, c-format
msgid "access method \"%s\" does not support ASC/DESC options"
msgstr "访问方法 \"%s\" 不支持ASC/DESC选项"
-#: commands/indexcmds.c:1210
+#: commands/indexcmds.c:1188
#, c-format
msgid "access method \"%s\" does not support NULLS FIRST/LAST options"
msgstr "访问方法 \"%s\" 不支持NULLS FIRST/LAST选项"
-#: commands/indexcmds.c:1266 commands/typecmds.c:1853
+#: commands/indexcmds.c:1244 commands/typecmds.c:1887
#, c-format
msgid "data type %s has no default operator class for access method \"%s\""
msgstr "对访问方法 \"%2$s\" 数据类型 %1$s 没有默认的操作符表"
-#: commands/indexcmds.c:1268
+#: commands/indexcmds.c:1246
#, c-format
msgid ""
"You must specify an operator class for the index or define a default "
"operator class for the data type."
msgstr "你必须指定一个操作符表给索引或定义一个默认的操作符表给数据类型."
-#: commands/indexcmds.c:1297 commands/indexcmds.c:1305
-#: commands/opclasscmds.c:212
+#: commands/indexcmds.c:1275 commands/indexcmds.c:1283
+#: commands/opclasscmds.c:214
#, c-format
msgid "operator class \"%s\" does not exist for access method \"%s\""
msgstr "处理方法 \"%s\" 的操作符类 \"%s\" 不存在"
-#: commands/indexcmds.c:1318 commands/typecmds.c:1841
+#: commands/indexcmds.c:1296 commands/typecmds.c:1875
#, c-format
msgid "operator class \"%s\" does not accept data type %s"
msgstr "操作符表 \"%s\" 不能处理数据类型 %s"
-#: commands/indexcmds.c:1408
+#: commands/indexcmds.c:1386
#, c-format
msgid "there are multiple default operator classes for data type %s"
msgstr "数据类型 %s 有多个默认的操作符表"
-#: commands/indexcmds.c:1780
+#: commands/indexcmds.c:1762
#, c-format
msgid "table \"%s\" has no indexes"
msgstr "表 \"%s\" 没有索引"
-#: commands/indexcmds.c:1808
+#: commands/indexcmds.c:1792
#, c-format
msgid "can only reindex the currently open database"
msgstr "只能在当前打开的数据库上重建索引"
-#: commands/indexcmds.c:1893
+#: commands/indexcmds.c:1881
#, c-format
msgid "table \"%s.%s\" was reindexed"
msgstr "表 \"%s.%s\" 已被重新索引"
-#: commands/opclasscmds.c:136 commands/opclasscmds.c:1757
-#: commands/opclasscmds.c:1768 commands/opclasscmds.c:2002
-#: commands/opclasscmds.c:2013
+#: commands/matview.c:178
+#, c-format
+msgid "CONCURRENTLY cannot be used when the materialized view is not populated"
+msgstr "CONCURRENTLY 不能用于物化视图未被产生之前"
+
+#: commands/matview.c:184
+#, c-format
+#| msgid "INSERT (-d, -D) and OID (-o) options cannot be used together\n"
+msgid "CONCURRENTLY and WITH NO DATA options cannot be used together"
+msgstr "CONCURRENTLY 和 WITH NO DATA 两个选项不能同时使用"
+
+#: commands/matview.c:591
+#, c-format
+msgid "new data for \"%s\" contains duplicate rows without any null columns"
+msgstr "新数据 \"%s\" 包含重复的记录行,这些记录不带任何非空列"
+
+#: commands/matview.c:593
+#, c-format
+msgid "Row: %s"
+msgstr "行: %s"
+
+# describe.c:933
+#: commands/matview.c:681
+#, c-format
+#| msgid "Unlogged materialized view \"%s.%s\""
+msgid "cannot refresh materialized view \"%s\" concurrently"
+msgstr "不能同时刷新物化视图 \"%s\""
+
+#: commands/matview.c:683
+#, c-format
+msgid ""
+"Create a unique index with no WHERE clause on one or more columns of the "
+"materialized view."
+msgstr "在物化视图的一个或多个列上创建不带WHERE子句的唯一索引."
+
+#: commands/opclasscmds.c:135
#, c-format
msgid "operator family \"%s\" does not exist for access method \"%s\""
msgstr "访问方法\"%2$s\"的操作符表 \"%1$s\" 不存在"
-#: commands/opclasscmds.c:271
+#: commands/opclasscmds.c:273
#, c-format
msgid "operator family \"%s\" for access method \"%s\" already exists"
msgstr "访问方法 \"%2$s\" 操作符表 \"%1$s\" 已经存在"
-#: commands/opclasscmds.c:408
+#: commands/opclasscmds.c:409
#, c-format
msgid "must be superuser to create an operator class"
msgstr "只有超级用户能创建一个操作符表"
-#: commands/opclasscmds.c:479 commands/opclasscmds.c:862
-#: commands/opclasscmds.c:992
+#: commands/opclasscmds.c:480 commands/opclasscmds.c:866
+#: commands/opclasscmds.c:996
#, c-format
msgid "invalid operator number %d, must be between 1 and %d"
msgstr "无效的操作符号 %d, 必需在 1 到 %d 之间"
-#: commands/opclasscmds.c:530 commands/opclasscmds.c:913
-#: commands/opclasscmds.c:1007
+#: commands/opclasscmds.c:531 commands/opclasscmds.c:917
+#: commands/opclasscmds.c:1011
#, c-format
msgid "invalid procedure number %d, must be between 1 and %d"
msgstr "无效的过程号 %d, 必需在 1 到 %d 之间"
-#: commands/opclasscmds.c:560
+#: commands/opclasscmds.c:561
#, c-format
msgid "storage type specified more than once"
msgstr "存储类型指定了多次"
-#: commands/opclasscmds.c:587
+#: commands/opclasscmds.c:588
#, c-format
msgid ""
"storage type cannot be different from data type for access method \"%s\""
msgstr "存储类型应该和用于访问方法 \"%s\" 数据类型一样"
-#: commands/opclasscmds.c:603
+#: commands/opclasscmds.c:604
#, c-format
msgid "operator class \"%s\" for access method \"%s\" already exists"
msgstr "访问方法 \"%2$s\" 操作符表 \"%1$s\" 已经存在"
-#: commands/opclasscmds.c:631
+#: commands/opclasscmds.c:632
#, c-format
msgid "could not make operator class \"%s\" be default for type %s"
msgstr "无法把操作符表 \"%s\" 设置为类型 %s 的默认操作符表"
-#: commands/opclasscmds.c:634
+#: commands/opclasscmds.c:635
#, c-format
msgid "Operator class \"%s\" already is the default."
msgstr "操作符表 \"%s\" 已经是默认的了."
-#: commands/opclasscmds.c:758
+#: commands/opclasscmds.c:760
#, c-format
msgid "must be superuser to create an operator family"
msgstr "只有超级用户能创建一个操作符表"
-#: commands/opclasscmds.c:814
+#: commands/opclasscmds.c:816
#, c-format
msgid "must be superuser to alter an operator family"
msgstr "只有超级用户能修改一个操作符表"
-#: commands/opclasscmds.c:878
+#: commands/opclasscmds.c:882
#, c-format
msgid "operator argument types must be specified in ALTER OPERATOR FAMILY"
msgstr "在ALTER OPERATOR FAMILY中必须指定操作符参数类型"
-#: commands/opclasscmds.c:942
+#: commands/opclasscmds.c:946
#, c-format
msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY"
msgstr "在ALTER OPERATOR FAMILY中无法指定参数STORAGE"
-#: commands/opclasscmds.c:1058
+#: commands/opclasscmds.c:1062
#, c-format
msgid "one or two argument types must be specified"
msgstr "必须指定一个或两个参数类型"
-#: commands/opclasscmds.c:1084
+#: commands/opclasscmds.c:1088
#, c-format
msgid "index operators must be binary"
msgstr "索引操作符必须为二进制"
-#: commands/opclasscmds.c:1109
+#: commands/opclasscmds.c:1113
#, c-format
msgid "access method \"%s\" does not support ordering operators"
msgstr "访问方法 \"%s\" 不支持排序操作符"
-#: commands/opclasscmds.c:1122
+#: commands/opclasscmds.c:1126
#, c-format
msgid "index search operators must return boolean"
msgstr "索引搜索操作符必须返回布尔值"
-#: commands/opclasscmds.c:1164
+#: commands/opclasscmds.c:1168
#, c-format
msgid "btree comparison procedures must have two arguments"
msgstr "B树比较过程必须有两个参数"
-#: commands/opclasscmds.c:1168
+#: commands/opclasscmds.c:1172
#, c-format
msgid "btree comparison procedures must return integer"
msgstr "B树比较过程必须返回整数"
-#: commands/opclasscmds.c:1185
+#: commands/opclasscmds.c:1189
#, c-format
msgid "btree sort support procedures must accept type \"internal\""
msgstr "B树排序支持过程必须接受\"internal\"类型"
-#: commands/opclasscmds.c:1189
+#: commands/opclasscmds.c:1193
#, c-format
msgid "btree sort support procedures must return void"
msgstr "B树排序支持过程必须返回void"
-#: commands/opclasscmds.c:1201
+#: commands/opclasscmds.c:1205
#, c-format
msgid "hash procedures must have one argument"
msgstr "哈希存储过程必须有一个参数"
-#: commands/opclasscmds.c:1205
+#: commands/opclasscmds.c:1209
#, c-format
msgid "hash procedures must return integer"
msgstr "哈希存储过程必须返回整数"
-#: commands/opclasscmds.c:1229
+#: commands/opclasscmds.c:1233
#, c-format
msgid "associated data types must be specified for index support procedure"
msgstr "必须为索引支持的存储过程指定相关联的数据类型"
-#: commands/opclasscmds.c:1254
+#: commands/opclasscmds.c:1258
#, c-format
msgid "procedure number %d for (%s,%s) appears more than once"
msgstr "对于(%2$s,%3$s)的存储过程号%1$d出现了多次 "
-#: commands/opclasscmds.c:1261
+#: commands/opclasscmds.c:1265
#, c-format
msgid "operator number %d for (%s,%s) appears more than once"
msgstr "对于(%2$s,%3$s)操作符号%1$d出现过多次"
-#: commands/opclasscmds.c:1310
+#: commands/opclasscmds.c:1314
#, c-format
msgid "operator %d(%s,%s) already exists in operator family \"%s\""
msgstr "在操作符表\"%4$s\"中已存在操作符 %1$d(%2$s,%3$s)"
-#: commands/opclasscmds.c:1423
+#: commands/opclasscmds.c:1430
#, c-format
msgid "function %d(%s,%s) already exists in operator family \"%s\""
msgstr "在操作符表\"%4$s\"中已存在函数 %1$d(%2$s,%3$s)"
-#: commands/opclasscmds.c:1510
+#: commands/opclasscmds.c:1520
#, c-format
msgid "operator %d(%s,%s) does not exist in operator family \"%s\""
msgstr "在操作符表\"%4$s\"中不存在操作符 %1$d(%2$s,%3$s)"
-#: commands/opclasscmds.c:1550
+#: commands/opclasscmds.c:1560
#, c-format
msgid "function %d(%s,%s) does not exist in operator family \"%s\""
msgstr "在操作符表\"%4$s\"中不存在函数 %1$d(%2$s,%3$s)"
-#: commands/opclasscmds.c:1697
+#: commands/opclasscmds.c:1705
#, c-format
msgid ""
"operator class \"%s\" for access method \"%s\" already exists in schema \"%s"
"\""
msgstr "访问方法 \"%s\" 的操作符表 \"%s\" 已经在模式 \"%s\" 存在了"
-#: commands/opclasscmds.c:1786
+#: commands/opclasscmds.c:1728
#, c-format
msgid ""
"operator family \"%s\" for access method \"%s\" already exists in schema \"%s"
"\""
msgstr "对于访问方法 \"%2$s\" 的操作符表 \"%1$s\" 已经在模式 \"%3$s\" 存在了"
-#: commands/operatorcmds.c:99
+#: commands/operatorcmds.c:97
#, c-format
msgid "=> is deprecated as an operator name"
msgstr "=>做为操作符名称已被废弃"
-#: commands/operatorcmds.c:100
+#: commands/operatorcmds.c:98
#, c-format
msgid ""
"This name may be disallowed altogether in future versions of PostgreSQL."
msgstr "在将来的PostgreSQL版本中不允许使用这个名称."
-#: commands/operatorcmds.c:121 commands/operatorcmds.c:129
+#: commands/operatorcmds.c:119 commands/operatorcmds.c:127
#, c-format
msgid "SETOF type not allowed for operator argument"
msgstr "不允许将SETOF类型用于操作符参数"
-#: commands/operatorcmds.c:157
+#: commands/operatorcmds.c:155
#, c-format
msgid "operator attribute \"%s\" not recognized"
msgstr "操作符属性 \"%s\" 不被认可"
-#: commands/operatorcmds.c:167
+#: commands/operatorcmds.c:165
#, c-format
msgid "operator procedure must be specified"
msgstr "必须指定操作符过程"
-#: commands/operatorcmds.c:178
+#: commands/operatorcmds.c:176
#, c-format
msgid "at least one of leftarg or rightarg must be specified"
msgstr "必须至少指定一个左参数 (leftarg) 或右参数 (rightarg)"
-#: commands/operatorcmds.c:246
+#: commands/operatorcmds.c:244
#, c-format
msgid "restriction estimator function %s must return type \"float8\""
msgstr "限制估算函数 %s 必需返回类型\"float8\""
-#: commands/operatorcmds.c:285
+#: commands/operatorcmds.c:283
#, c-format
msgid "join estimator function %s must return type \"float8\""
msgstr "连接估算函数 %s 必需返回类型\"float8\""
msgstr "无效的游标名称: 不能为空"
#: commands/portalcmds.c:168 commands/portalcmds.c:222
-#: executor/execCurrent.c:67 utils/adt/xml.c:2387 utils/adt/xml.c:2551
+#: executor/execCurrent.c:67 utils/adt/xml.c:2386 utils/adt/xml.c:2553
#, c-format
msgid "cursor \"%s\" does not exist"
msgstr "游标 \"%s\" 不存在"
-#: commands/portalcmds.c:340 tcop/pquery.c:739 tcop/pquery.c:1402
+#: commands/portalcmds.c:341 tcop/pquery.c:740 tcop/pquery.c:1404
#, c-format
msgid "portal \"%s\" cannot be run"
msgstr "入口 \"%s\" 不可以运行"
-#: commands/portalcmds.c:413
+#: commands/portalcmds.c:411
#, c-format
msgid "could not reposition held cursor"
msgstr "无法定位游标"
msgid "invalid statement name: must not be empty"
msgstr "无效的语句名称: 不能为空"
-#: commands/prepare.c:129 parser/parse_param.c:303 tcop/postgres.c:1297
+#: commands/prepare.c:129 parser/parse_param.c:304 tcop/postgres.c:1296
#, c-format
msgid "could not determine data type of parameter $%d"
msgstr "无法确定参数 $%d 的数据类型"
msgid "Expected %d parameters but got %d."
msgstr "预计 %d 个参数, 但得到了 %d 个."
-#: commands/prepare.c:363
-#, c-format
-msgid "cannot use subquery in EXECUTE parameter"
-msgstr "在 EXECUTE 参数中不可以使用子查询"
-
-#: commands/prepare.c:367
-#, c-format
-msgid "cannot use aggregate function in EXECUTE parameter"
-msgstr "在 EXECUTE 参数中不可以使用聚合函数"
-
-#: commands/prepare.c:371
-#, c-format
-msgid "cannot use window function in EXECUTE parameter"
-msgstr "在EXECUTE参数中不能使用窗口函数"
-
-#: commands/prepare.c:384
+#: commands/prepare.c:370
#, c-format
msgid "parameter $%d of type %s cannot be coerced to the expected type %s"
msgstr "类型 %2$s 的参数 $%1$d 不能强制到预计 (expected) 类型 %3$s"
-#: commands/prepare.c:479
+#: commands/prepare.c:465
#, c-format
msgid "prepared statement \"%s\" already exists"
msgstr "准备好的语句 \"%s\" 已经存在"
-#: commands/prepare.c:518
+#: commands/prepare.c:504
#, c-format
msgid "prepared statement \"%s\" does not exist"
msgstr "准备好的语句 \"%s\" 不存在"
-#: commands/proclang.c:88
+#: commands/proclang.c:86
#, c-format
msgid "using pg_pltemplate information instead of CREATE LANGUAGE parameters"
msgstr "使用pg_pltemplate信息,而不是CREATE LANGUAGE的参数"
-#: commands/proclang.c:98
+#: commands/proclang.c:96
#, c-format
msgid "must be superuser to create procedural language \"%s\""
msgstr "只有有超级用户权限的用户才能创建过程语言\"%s\""
-#: commands/proclang.c:118 commands/proclang.c:280
+#: commands/proclang.c:116 commands/proclang.c:278
#, c-format
msgid "function %s must return type \"language_handler\""
msgstr "函数 %s 必须返回 \"language_handler\" 类型"
-#: commands/proclang.c:244
+#: commands/proclang.c:242
#, c-format
msgid "unsupported language \"%s\""
msgstr "不支持语言 \"%s\""
-#: commands/proclang.c:246
+#: commands/proclang.c:244
#, c-format
msgid "The supported languages are listed in the pg_pltemplate system catalog."
msgstr "在pg_pltemplate系统目录视图中列出了所支持的语言."
-#: commands/proclang.c:254
+#: commands/proclang.c:252
#, c-format
msgid "must be superuser to create custom procedural language"
msgstr "只有有超级用户权限的用户才能创建过程语言"
-#: commands/proclang.c:273
+#: commands/proclang.c:271
#, c-format
msgid ""
"changing return type of function %s from \"opaque\" to \"language_handler\""
msgstr "函数 %s 的返回类型 \"opaque\" 改变成 \"language_handler\""
-#: commands/proclang.c:358 commands/proclang.c:560
-#, c-format
-msgid "language \"%s\" already exists"
-msgstr "语言 \"%s\" 已经存在"
-
-#: commands/schemacmds.c:81 commands/schemacmds.c:211
+#: commands/schemacmds.c:84 commands/schemacmds.c:236
#, c-format
msgid "unacceptable schema name \"%s\""
msgstr "不可访问的模式名字 \"%s\""
-#: commands/schemacmds.c:82 commands/schemacmds.c:212
+#: commands/schemacmds.c:85 commands/schemacmds.c:237
#, c-format
msgid "The prefix \"pg_\" is reserved for system schemas."
msgstr "前缀 \"pg_\" 是保留给系统模式的."
-#: commands/seclabel.c:57
+#: commands/schemacmds.c:99
+#, c-format
+#| msgid "relation \"%s\" already exists, skipping"
+msgid "schema \"%s\" already exists, skipping"
+msgstr "模式 \"%s\" 已存在, 跳过"
+
+#: commands/seclabel.c:58
#, c-format
msgid "no security label providers have been loaded"
msgstr "没有安全标签提供者被加载"
-#: commands/seclabel.c:61
+#: commands/seclabel.c:62
#, c-format
msgid ""
"must specify provider when multiple security label providers have been loaded"
msgstr "当多个安全提供者已经加载时,必须指定提供者"
-#: commands/seclabel.c:79
+#: commands/seclabel.c:80
#, c-format
msgid "security label provider \"%s\" is not loaded"
msgstr "安装标签提供者\"%s\"没有加载"
-#: commands/sequence.c:124
+#: commands/sequence.c:123
#, c-format
msgid "unlogged sequences are not supported"
msgstr "非事务日志型序列不被支持"
-#: commands/sequence.c:419 commands/tablecmds.c:2264 commands/tablecmds.c:2436
-#: commands/tablecmds.c:9788 parser/parse_utilcmd.c:2321 tcop/utility.c:756
-#, c-format
-msgid "relation \"%s\" does not exist, skipping"
-msgstr "关系 \"%s\" 不存在,忽略"
-
-#: commands/sequence.c:634
+#: commands/sequence.c:618
#, c-format
msgid "nextval: reached maximum value of sequence \"%s\" (%s)"
msgstr "nextval: 达到序列 \"%s\" 的最大值了 (%s)"
-#: commands/sequence.c:657
+#: commands/sequence.c:641
#, c-format
msgid "nextval: reached minimum value of sequence \"%s\" (%s)"
msgstr "nextval: 达到序列 \"%s\" 的最小值了 (%s)"
-#: commands/sequence.c:771
+#: commands/sequence.c:754
#, c-format
msgid "currval of sequence \"%s\" is not yet defined in this session"
msgstr "在此会话中序列 \"%s\" 的 currval 仍没被定义"
-#: commands/sequence.c:790 commands/sequence.c:796
+#: commands/sequence.c:773 commands/sequence.c:779
#, c-format
msgid "lastval is not yet defined in this session"
msgstr "在这个会话中还没有定义lastval "
-#: commands/sequence.c:865
+#: commands/sequence.c:848
#, c-format
msgid "setval: value %s is out of bounds for sequence \"%s\" (%s..%s)"
msgstr "setval: 值 %s 超出序列 \"%s\" 的范围 (%s..%s)"
-#: commands/sequence.c:1028 lib/stringinfo.c:266 libpq/auth.c:1018
-#: libpq/auth.c:1378 libpq/auth.c:1446 libpq/auth.c:1848
-#: postmaster/postmaster.c:1921 postmaster/postmaster.c:1952
-#: postmaster/postmaster.c:3250 postmaster/postmaster.c:3934
-#: postmaster/postmaster.c:4020 postmaster/postmaster.c:4643
-#: storage/buffer/buf_init.c:154 storage/buffer/localbuf.c:393
-#: storage/file/fd.c:369 storage/file/fd.c:752 storage/file/fd.c:870
-#: storage/ipc/procarray.c:845 storage/ipc/procarray.c:1285
-#: storage/ipc/procarray.c:1292 storage/ipc/procarray.c:1611
-#: storage/ipc/procarray.c:2080 utils/adt/formatting.c:1531
-#: utils/adt/formatting.c:1656 utils/adt/formatting.c:1793
-#: utils/adt/regexp.c:209 utils/adt/varlena.c:3527 utils/adt/varlena.c:3548
-#: utils/fmgr/dfmgr.c:224 utils/hash/dynahash.c:373 utils/hash/dynahash.c:450
-#: utils/hash/dynahash.c:964 utils/init/miscinit.c:150
-#: utils/init/miscinit.c:171 utils/init/miscinit.c:181 utils/mb/mbutils.c:374
-#: utils/mb/mbutils.c:675 utils/misc/guc.c:3362 utils/misc/guc.c:3378
-#: utils/misc/guc.c:3391 utils/misc/tzparser.c:455 utils/mmgr/aset.c:416
-#: utils/mmgr/aset.c:587 utils/mmgr/aset.c:765 utils/mmgr/aset.c:966
-#, c-format
-msgid "out of memory"
-msgstr "内存用尽"
-
-#: commands/sequence.c:1234
+#: commands/sequence.c:1224
#, c-format
msgid "INCREMENT must not be zero"
msgstr "INCREMENT 不必为零"
-#: commands/sequence.c:1290
+#: commands/sequence.c:1280
#, c-format
msgid "MINVALUE (%s) must be less than MAXVALUE (%s)"
msgstr "MINVALUE (%s) 必需小于 MAXVALUE (%s)"
-#: commands/sequence.c:1315
+#: commands/sequence.c:1305
#, c-format
msgid "START value (%s) cannot be less than MINVALUE (%s)"
msgstr "START 值 (%s) 不能小于 MINVALUE (%s)"
-#: commands/sequence.c:1327
+#: commands/sequence.c:1317
#, c-format
msgid "START value (%s) cannot be greater than MAXVALUE (%s)"
msgstr "START 值 (%s) 不能大于 MAXVALUE (%s)"
-#: commands/sequence.c:1357
+#: commands/sequence.c:1347
#, c-format
msgid "RESTART value (%s) cannot be less than MINVALUE (%s)"
msgstr "RESTART值 (%s) 不能小于 MINVALUE (%s)"
-#: commands/sequence.c:1369
+#: commands/sequence.c:1359
#, c-format
msgid "RESTART value (%s) cannot be greater than MAXVALUE (%s)"
msgstr "RESTART 值 (%s) 不能大于 MAXVALUE (%s)"
-#: commands/sequence.c:1384
+#: commands/sequence.c:1374
#, c-format
msgid "CACHE (%s) must be greater than zero"
msgstr "CACHE (%s) 必须大于零"
-#: commands/sequence.c:1416
+#: commands/sequence.c:1406
#, c-format
msgid "invalid OWNED BY option"
msgstr "无效的OWNED BY选项"
-#: commands/sequence.c:1417
+#: commands/sequence.c:1407
#, c-format
msgid "Specify OWNED BY table.column or OWNED BY NONE."
msgstr "指定OWNED BY 表.列 or OWNED BY NONE."
-#: commands/sequence.c:1439 commands/tablecmds.c:5740
+#: commands/sequence.c:1430
#, c-format
-msgid "referenced relation \"%s\" is not a table"
-msgstr "关联的关系 \"%s\" 不是一个表"
+#| msgid "referenced relation \"%s\" is not a table"
+msgid "referenced relation \"%s\" is not a table or foreign table"
+msgstr "关联的关系 \"%s\" 不是一个表或外部参照表"
-#: commands/sequence.c:1446
+#: commands/sequence.c:1437
#, c-format
msgid "sequence must have same owner as table it is linked to"
msgstr "序列的属主必须和与它相链接的表的属主相同."
-#: commands/sequence.c:1450
+#: commands/sequence.c:1441
#, c-format
msgid "sequence must be in same schema as table it is linked to"
msgstr "序列必须和与它相链接的表存放在同一个模式"
-#: commands/tablecmds.c:202
+#: commands/tablecmds.c:206
#, c-format
msgid "table \"%s\" does not exist"
msgstr "表 \"%s\" 不存在"
-#: commands/tablecmds.c:203
+#: commands/tablecmds.c:207
#, c-format
msgid "table \"%s\" does not exist, skipping"
msgstr "表 \"%s\" 不存在"
-#: commands/tablecmds.c:205
+#: commands/tablecmds.c:209
msgid "Use DROP TABLE to remove a table."
msgstr "请使用 DROP TABLE 删除一个表."
-#: commands/tablecmds.c:208
+#: commands/tablecmds.c:212
#, c-format
msgid "sequence \"%s\" does not exist"
msgstr "序列 \"%s\" 不存在"
-#: commands/tablecmds.c:209
+#: commands/tablecmds.c:213
#, c-format
msgid "sequence \"%s\" does not exist, skipping"
msgstr "序列 \"%s\" 不存在"
-#: commands/tablecmds.c:211
+#: commands/tablecmds.c:215
msgid "Use DROP SEQUENCE to remove a sequence."
msgstr "请使用 DROP SEQUENCE 删除一个序列."
-#: commands/tablecmds.c:214
+#: commands/tablecmds.c:218
#, c-format
msgid "view \"%s\" does not exist"
msgstr "视图 \"%s\" 不存在"
-#: commands/tablecmds.c:215
+#: commands/tablecmds.c:219
#, c-format
msgid "view \"%s\" does not exist, skipping"
msgstr "视图 \"%s\" 不存在"
-#: commands/tablecmds.c:217
+#: commands/tablecmds.c:221
msgid "Use DROP VIEW to remove a view."
msgstr "请使用 DROP VIEW 删除一个视图."
-#: commands/tablecmds.c:220 parser/parse_utilcmd.c:1512
+#: commands/tablecmds.c:224
+#, c-format
+#| msgid "view \"%s\" does not exist"
+msgid "materialized view \"%s\" does not exist"
+msgstr "物化视图 \"%s\" 不存在"
+
+#: commands/tablecmds.c:225
+#, c-format
+#| msgid "view \"%s\" does not exist, skipping"
+msgid "materialized view \"%s\" does not exist, skipping"
+msgstr "物化视图 \"%s\" 不存在,跳过"
+
+#: commands/tablecmds.c:227
+#| msgid "Use DROP VIEW to remove a view."
+msgid "Use DROP MATERIALIZED VIEW to remove a materialized view."
+msgstr "请使用 DROP MATERIALIZED VIEW 删除一个物化视图."
+
+#: commands/tablecmds.c:230 parser/parse_utilcmd.c:1548
#, c-format
msgid "index \"%s\" does not exist"
msgstr "索引 \"%s\" 不存在"
-#: commands/tablecmds.c:221
+#: commands/tablecmds.c:231
#, c-format
msgid "index \"%s\" does not exist, skipping"
msgstr "索引 \"%s\" 不存在"
-#: commands/tablecmds.c:223
+#: commands/tablecmds.c:233
msgid "Use DROP INDEX to remove an index."
msgstr "请使用 DROP INDEX 删除一个索引."
-#: commands/tablecmds.c:228
+#: commands/tablecmds.c:238
#, c-format
msgid "\"%s\" is not a type"
msgstr "\"%s\" 不是一个类型"
-#: commands/tablecmds.c:229
+#: commands/tablecmds.c:239
msgid "Use DROP TYPE to remove a type."
msgstr "请使用 DROP TYPE 删除一个类型."
-#: commands/tablecmds.c:232 commands/tablecmds.c:7751
-#: commands/tablecmds.c:9723
+#: commands/tablecmds.c:242 commands/tablecmds.c:8076
+#: commands/tablecmds.c:10557
#, c-format
msgid "foreign table \"%s\" does not exist"
msgstr "外部表 \"%s\" 不存在"
-#: commands/tablecmds.c:233
+#: commands/tablecmds.c:243
#, c-format
msgid "foreign table \"%s\" does not exist, skipping"
msgstr "外部表 \"%s\" 不存在, 跳过"
-#: commands/tablecmds.c:235
+#: commands/tablecmds.c:245
msgid "Use DROP FOREIGN TABLE to remove a foreign table."
msgstr "请使用 DROP FOREIGN TABLE 删除一个外部表."
-#: commands/tablecmds.c:453
+#: commands/tablecmds.c:469
#, c-format
msgid "ON COMMIT can only be used on temporary tables"
msgstr "ON COMMIT 只能被用于临时表"
-#: commands/tablecmds.c:457
+#: commands/tablecmds.c:473 parser/parse_utilcmd.c:521
+#: parser/parse_utilcmd.c:532 parser/parse_utilcmd.c:549
+#: parser/parse_utilcmd.c:611
#, c-format
-msgid "constraints on foreign tables are not supported"
-msgstr "不支持在外部表上使用约束"
+#| msgid "collations are not supported by type %s"
+msgid "constraints are not supported on foreign tables"
+msgstr "外部表不支持使用约束"
-#: commands/tablecmds.c:477
+#: commands/tablecmds.c:493
#, c-format
msgid "cannot create temporary table within security-restricted operation"
msgstr "不能在安全限制的操作中创建临时表"
-#: commands/tablecmds.c:583 commands/tablecmds.c:4489
-#, c-format
-msgid "default values on foreign tables are not supported"
-msgstr "外部表中不支持使用缺省值"
-
-#: commands/tablecmds.c:755
+#: commands/tablecmds.c:789
#, c-format
msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects"
msgstr "DROP INDEX CONCURRENTLY不支持同时删除多个对象"
-#: commands/tablecmds.c:759
+#: commands/tablecmds.c:793
#, c-format
msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
msgstr "DROP INDEX CONCURRENTLY 不支持级联操作"
-#: commands/tablecmds.c:900 commands/tablecmds.c:1235
-#: commands/tablecmds.c:2081 commands/tablecmds.c:3948
-#: commands/tablecmds.c:5746 commands/tablecmds.c:10317 commands/trigger.c:194
-#: commands/trigger.c:1085 commands/trigger.c:1191 rewrite/rewriteDefine.c:266
-#: tcop/utility.c:104
+#: commands/tablecmds.c:938 commands/tablecmds.c:1276
+#: commands/tablecmds.c:2133 commands/tablecmds.c:4112
+#: commands/tablecmds.c:5942 commands/tablecmds.c:11170
+#: commands/tablecmds.c:11205 commands/trigger.c:232 commands/trigger.c:1118
+#: commands/trigger.c:1226 rewrite/rewriteDefine.c:271
+#: rewrite/rewriteDefine.c:887
#, c-format
msgid "permission denied: \"%s\" is a system catalog"
msgstr "权限不够: \"%s\" 是一个系统表"
-#: commands/tablecmds.c:1014
+#: commands/tablecmds.c:1052
#, c-format
msgid "truncate cascades to table \"%s\""
msgstr "级联截断表\"%s\""
-#: commands/tablecmds.c:1245
+#: commands/tablecmds.c:1286
#, c-format
msgid "cannot truncate temporary tables of other sessions"
msgstr "不能缩短其他会话的临时表"
-#: commands/tablecmds.c:1450 parser/parse_utilcmd.c:1724
+#: commands/tablecmds.c:1491 parser/parse_utilcmd.c:1760
#, c-format
msgid "inherited relation \"%s\" is not a table"
msgstr "继承关系 \"%s\" 不是一个表"
-#: commands/tablecmds.c:1457 commands/tablecmds.c:8923
+#: commands/tablecmds.c:1498 commands/tablecmds.c:9531
#, c-format
msgid "cannot inherit from temporary relation \"%s\""
msgstr "不能从临时关系 \"%s\" 继承"
-#: commands/tablecmds.c:1465 commands/tablecmds.c:8931
-#, fuzzy, c-format
+#: commands/tablecmds.c:1506 commands/tablecmds.c:9539
+#, c-format
msgid "cannot inherit from temporary relation of another session"
-msgstr "不能从临时关系 \"%s\" 继承"
+msgstr "不能从另一个会话的临时关系继承"
-#: commands/tablecmds.c:1481 commands/tablecmds.c:8965
+#: commands/tablecmds.c:1522 commands/tablecmds.c:9573
#, c-format
msgid "relation \"%s\" would be inherited from more than once"
msgstr "关系 \"%s\" 将被继承多次"
-#: commands/tablecmds.c:1529
+#: commands/tablecmds.c:1570
#, c-format
msgid "merging multiple inherited definitions of column \"%s\""
msgstr "合并属性 \"%s\" 的多个继承定义"
-#: commands/tablecmds.c:1537
+#: commands/tablecmds.c:1578
#, c-format
msgid "inherited column \"%s\" has a type conflict"
msgstr "继承属性 \"%s\" 类型冲突"
-#: commands/tablecmds.c:1539 commands/tablecmds.c:1560
-#: commands/tablecmds.c:1747 commands/tablecmds.c:1769
-#: parser/parse_coerce.c:1591 parser/parse_coerce.c:1611
-#: parser/parse_coerce.c:1631 parser/parse_coerce.c:1676
-#: parser/parse_coerce.c:1713 parser/parse_param.c:217
+#: commands/tablecmds.c:1580 commands/tablecmds.c:1601
+#: commands/tablecmds.c:1789 commands/tablecmds.c:1811
+#: parser/parse_coerce.c:1592 parser/parse_coerce.c:1612
+#: parser/parse_coerce.c:1632 parser/parse_coerce.c:1677
+#: parser/parse_coerce.c:1714 parser/parse_param.c:218
#, c-format
msgid "%s versus %s"
msgstr "%s 对 %s"
-#: commands/tablecmds.c:1546
+#: commands/tablecmds.c:1587
#, c-format
msgid "inherited column \"%s\" has a collation conflict"
msgstr "继承列 \"%s\" 出现排序规则冲突"
-#: commands/tablecmds.c:1548 commands/tablecmds.c:1757
-#: commands/tablecmds.c:4362
+#: commands/tablecmds.c:1589 commands/tablecmds.c:1799
+#: commands/tablecmds.c:4536
#, c-format
msgid "\"%s\" versus \"%s\""
msgstr "\"%s\" 对 \"%s\""
-#: commands/tablecmds.c:1558
+#: commands/tablecmds.c:1599
#, c-format
msgid "inherited column \"%s\" has a storage parameter conflict"
msgstr "继承列 \"%s\" 有一个存储参数冲突"
-#: commands/tablecmds.c:1670 parser/parse_utilcmd.c:818
-#: parser/parse_utilcmd.c:1159 parser/parse_utilcmd.c:1235
+#: commands/tablecmds.c:1712 parser/parse_utilcmd.c:853
+#: parser/parse_utilcmd.c:1195 parser/parse_utilcmd.c:1271
#, c-format
msgid "cannot convert whole-row table reference"
msgstr "无法转换整行表引用"
-#: commands/tablecmds.c:1671 parser/parse_utilcmd.c:819
+#: commands/tablecmds.c:1713 parser/parse_utilcmd.c:854
#, c-format
msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"."
msgstr "约束\"%s\"包含到表\"%s\"的整行引用."
-#: commands/tablecmds.c:1737
+#: commands/tablecmds.c:1779
#, c-format
msgid "merging column \"%s\" with inherited definition"
msgstr "合并属性 \"%s\" 连同继承定义"
-#: commands/tablecmds.c:1745
+#: commands/tablecmds.c:1787
#, c-format
msgid "column \"%s\" has a type conflict"
msgstr "属性 \"%s\" 类型冲突"
-#: commands/tablecmds.c:1755
+#: commands/tablecmds.c:1797
#, c-format
msgid "column \"%s\" has a collation conflict"
msgstr "列 \"%s\" 出现排序规则冲突"
-#: commands/tablecmds.c:1767
+#: commands/tablecmds.c:1809
#, c-format
msgid "column \"%s\" has a storage parameter conflict"
msgstr "列 \"%s\" 带有一个冲突的存储参数"
-#: commands/tablecmds.c:1819
+#: commands/tablecmds.c:1861
#, c-format
msgid "column \"%s\" inherits conflicting default values"
msgstr "属性 \"%s\" 继承与默认值冲突"
-#: commands/tablecmds.c:1821
+#: commands/tablecmds.c:1863
#, c-format
msgid "To resolve the conflict, specify a default explicitly."
msgstr "要解决冲突, 指定明确的默认值"
-#: commands/tablecmds.c:1868
+#: commands/tablecmds.c:1910
#, c-format
msgid ""
"check constraint name \"%s\" appears multiple times but with different "
"expressions"
msgstr "检查约束名称\"%s\"出现多次,但是带有不同的表达式"
-#: commands/tablecmds.c:2053
+#: commands/tablecmds.c:2104
#, c-format
msgid "cannot rename column of typed table"
msgstr "无法重新命名已确定类型表(typed table)的列"
-#: commands/tablecmds.c:2069
+#: commands/tablecmds.c:2121
#, c-format
-msgid "\"%s\" is not a table, view, composite type, index, or foreign table"
-msgstr "\"%s\" 不是一个表,视图,组合类型,索引或者外部表"
+#| msgid "\"%s\" is not a table, view, composite type, index, or foreign table"
+msgid ""
+"\"%s\" is not a table, view, materialized view, composite type, index, or "
+"foreign table"
+msgstr "\"%s\" 不是一个表,视图,物化视图,组合类型,索引或者外部表"
-#: commands/tablecmds.c:2161
+#: commands/tablecmds.c:2213
#, c-format
msgid "inherited column \"%s\" must be renamed in child tables too"
msgstr "在子表中继承属性 \"%s\" 也必需重命名"
-#: commands/tablecmds.c:2193
+#: commands/tablecmds.c:2245
#, c-format
msgid "cannot rename system column \"%s\""
msgstr "不能对系统字段 \"%s\" 重命名"
-#: commands/tablecmds.c:2208
+#: commands/tablecmds.c:2260
#, c-format
msgid "cannot rename inherited column \"%s\""
msgstr "不能对继承字段 \"%s\" 重命名"
-#: commands/tablecmds.c:2350
+#: commands/tablecmds.c:2407
#, c-format
msgid "inherited constraint \"%s\" must be renamed in child tables too"
msgstr "继承约束 \"%s\" 在子表中也必须重命名"
-#: commands/tablecmds.c:2357
+#: commands/tablecmds.c:2414
#, c-format
msgid "cannot rename inherited constraint \"%s\""
msgstr "无法重命名约束\"%s\""
#. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:2559
+#: commands/tablecmds.c:2628
#, c-format
msgid ""
"cannot %s \"%s\" because it is being used by active queries in this session"
msgstr "无法%s \"%s\" 因为它正在被这个会话中的活动查询使用"
#. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:2568
+#: commands/tablecmds.c:2637
#, c-format
msgid "cannot %s \"%s\" because it has pending trigger events"
msgstr "无法%s \"%s\"因为它有一个待发生的触发器事件"
-#: commands/tablecmds.c:3467
+#: commands/tablecmds.c:3607
#, c-format
msgid "cannot rewrite system relation \"%s\""
msgstr "不能改写系统关系 \"%s\""
-#: commands/tablecmds.c:3477
+#: commands/tablecmds.c:3613
+#, c-format
+#| msgid "could not convert table \"%s\" to a view because it has child tables"
+msgid "cannot rewrite table \"%s\" used as a catalog table"
+msgstr "无法重写表\"%s\",以用作一个目录表"
+
+#: commands/tablecmds.c:3623
#, c-format
msgid "cannot rewrite temporary tables of other sessions"
msgstr "不能改写其他会话的临时表"
-#: commands/tablecmds.c:3703
+#: commands/tablecmds.c:3854
#, c-format
msgid "rewriting table \"%s\""
msgstr "重写表 \"%s\""
-#: commands/tablecmds.c:3707
+#: commands/tablecmds.c:3858
#, c-format
msgid "verifying table \"%s\""
msgstr "校验表\"%s\""
-#: commands/tablecmds.c:3814
+#: commands/tablecmds.c:3972
#, c-format
msgid "column \"%s\" contains null values"
msgstr "字段 \"%s\" 包含空值"
-#: commands/tablecmds.c:3828 commands/tablecmds.c:6645
+#: commands/tablecmds.c:3987 commands/tablecmds.c:6985
#, c-format
msgid "check constraint \"%s\" is violated by some row"
msgstr "一些行违反了检查约束 \"%s\""
-#: commands/tablecmds.c:3969
-#, c-format
-msgid "\"%s\" is not a table or index"
-msgstr "\"%s\" 不是一个表或索引"
-
-#: commands/tablecmds.c:3972 commands/trigger.c:188 commands/trigger.c:1079
-#: commands/trigger.c:1183 rewrite/rewriteDefine.c:260
+#: commands/tablecmds.c:4133 commands/trigger.c:226
+#: rewrite/rewriteDefine.c:265 rewrite/rewriteDefine.c:882
#, c-format
msgid "\"%s\" is not a table or view"
msgstr "\"%s\" 不是一个视图或视图"
-#: commands/tablecmds.c:3975
+#: commands/tablecmds.c:4136
+#, c-format
+#| msgid "\"%s\" is not a table, view, sequence, or foreign table"
+msgid "\"%s\" is not a table, view, materialized view, or index"
+msgstr "\"%s\" 不是表,视图,物化视图,或者索引"
+
+#: commands/tablecmds.c:4142
+#, c-format
+#| msgid "\"%s\" is not a table or index"
+msgid "\"%s\" is not a table, materialized view, or index"
+msgstr "\"%s\" 不是一个表,物化视图或索引"
+
+#: commands/tablecmds.c:4145
#, c-format
msgid "\"%s\" is not a table or foreign table"
msgstr "\"%s\" 不是表或外部表"
-#: commands/tablecmds.c:3978
+#: commands/tablecmds.c:4148
#, c-format
msgid "\"%s\" is not a table, composite type, or foreign table"
msgstr "\"%s\" 不是一个表,组合类型或者外部表"
-#: commands/tablecmds.c:3988
+#: commands/tablecmds.c:4151
+#, c-format
+#| msgid "\"%s\" is not a table, view, composite type, or foreign table"
+msgid ""
+"\"%s\" is not a table, materialized view, composite type, or foreign table"
+msgstr "\"%s\" 不是一个表,物化视图,组合类型或者外部表"
+
+#: commands/tablecmds.c:4161
#, c-format
msgid "\"%s\" is of the wrong type"
msgstr "\"%s\" 是一个错误类型"
-#: commands/tablecmds.c:4137 commands/tablecmds.c:4144
+#: commands/tablecmds.c:4311 commands/tablecmds.c:4318
#, c-format
msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it"
msgstr "不能修改类型 \"%s\", 因为列 \"%s.%s\"正在使用它"
-#: commands/tablecmds.c:4151
+#: commands/tablecmds.c:4325
#, c-format
msgid ""
"cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type"
msgstr "无法修改外部表\"%s\" ,因为列\"%s.%s\"使用它的行类型"
-#: commands/tablecmds.c:4158
+#: commands/tablecmds.c:4332
#, c-format
msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type"
msgstr "无法修改表\"%s\" ,因为列\"%s.%s\"使用它的行类型"
-#: commands/tablecmds.c:4220
+#: commands/tablecmds.c:4394
#, c-format
msgid "cannot alter type \"%s\" because it is the type of a typed table"
msgstr "无法修改已确定类型表(typed table)中列的类型\"%s\""
-#: commands/tablecmds.c:4222
+#: commands/tablecmds.c:4396
#, c-format
msgid "Use ALTER ... CASCADE to alter the typed tables too."
msgstr "使用ALTER .. CASCADE 把类型表一并修改."
-#: commands/tablecmds.c:4266
+#: commands/tablecmds.c:4440
#, c-format
msgid "type %s is not a composite type"
msgstr "类型 %s 不是复合类型"
-#: commands/tablecmds.c:4292
+#: commands/tablecmds.c:4466
#, c-format
msgid "cannot add column to typed table"
msgstr "无法为已确定类型表(typed table)添加列"
-#: commands/tablecmds.c:4354 commands/tablecmds.c:9119
+#: commands/tablecmds.c:4528 commands/tablecmds.c:9727
#, c-format
msgid "child table \"%s\" has different type for column \"%s\""
msgstr "子表 \"%s\" 的字段 \"%s\" 有不同的类型"
-#: commands/tablecmds.c:4360 commands/tablecmds.c:9126
+#: commands/tablecmds.c:4534 commands/tablecmds.c:9734
#, c-format
msgid "child table \"%s\" has different collation for column \"%s\""
msgstr "子表 \"%s\" 的字段 \"%s\" 有不同的排序规则"
-#: commands/tablecmds.c:4370
+#: commands/tablecmds.c:4544
#, c-format
msgid "child table \"%s\" has a conflicting \"%s\" column"
msgstr "子表\"%s\"有一个冲突列\"%s\""
-#: commands/tablecmds.c:4382
+#: commands/tablecmds.c:4556
#, c-format
msgid "merging definition of column \"%s\" for child \"%s\""
msgstr "合并子表 \"%2$s\" 的字段 \"%1$s\" 定义"
-#: commands/tablecmds.c:4608
+#: commands/tablecmds.c:4777
#, c-format
msgid "column must be added to child tables too"
msgstr "属性也必需加入到子表中"
-#: commands/tablecmds.c:4675
+#: commands/tablecmds.c:4844
#, c-format
msgid "column \"%s\" of relation \"%s\" already exists"
msgstr "关系 \"%s\" 的属性 \"%s\" 已经存在"
-#: commands/tablecmds.c:4778 commands/tablecmds.c:4870
-#: commands/tablecmds.c:4915 commands/tablecmds.c:5017
-#: commands/tablecmds.c:5061 commands/tablecmds.c:5140
-#: commands/tablecmds.c:7168 commands/tablecmds.c:7773
+#: commands/tablecmds.c:4948 commands/tablecmds.c:5043
+#: commands/tablecmds.c:5091 commands/tablecmds.c:5195
+#: commands/tablecmds.c:5242 commands/tablecmds.c:5326
+#: commands/tablecmds.c:7503 commands/tablecmds.c:8098
#, c-format
msgid "cannot alter system column \"%s\""
msgstr "不能更改系统字段 \"%s\""
-#: commands/tablecmds.c:4814
+#: commands/tablecmds.c:4984
#, c-format
msgid "column \"%s\" is in a primary key"
msgstr "字段 \"%s\" 是一个主键"
-#: commands/tablecmds.c:4964
+#: commands/tablecmds.c:5142
#, c-format
-msgid "\"%s\" is not a table, index, or foreign table"
-msgstr "\"%s\"不是表,索引或外部表"
+#| msgid "\"%s\" is not a table, index, or foreign table"
+msgid "\"%s\" is not a table, materialized view, index, or foreign table"
+msgstr "\"%s\"不是表,物化视图, 索引或外部表"
-#: commands/tablecmds.c:4991
+#: commands/tablecmds.c:5169
#, c-format
msgid "statistics target %d is too low"
msgstr "目标统计 %d 太低"
-#: commands/tablecmds.c:4999
+#: commands/tablecmds.c:5177
#, c-format
msgid "lowering statistics target to %d"
msgstr "降低目标统计到 %d"
-#: commands/tablecmds.c:5121
+#: commands/tablecmds.c:5307
#, c-format
msgid "invalid storage type \"%s\""
msgstr "无效存储类型 \"%s\""
-#: commands/tablecmds.c:5152
+#: commands/tablecmds.c:5338
#, c-format
msgid "column data type %s can only have storage PLAIN"
msgstr "字段数据类型 %s 只能存储为明文 (PLAIN)"
-#: commands/tablecmds.c:5182
+#: commands/tablecmds.c:5372
#, c-format
msgid "cannot drop column from typed table"
msgstr "无法从已确定类型表(typed table)中删除列"
-#: commands/tablecmds.c:5223
+#: commands/tablecmds.c:5413
#, c-format
msgid "column \"%s\" of relation \"%s\" does not exist, skipping"
msgstr "关系 \"%2$s\" 的 列\"%1$s\"不存在"
-#: commands/tablecmds.c:5236
+#: commands/tablecmds.c:5426
#, c-format
msgid "cannot drop system column \"%s\""
msgstr "不能删除系统字段 \"%s\""
-#: commands/tablecmds.c:5243
+#: commands/tablecmds.c:5433
#, c-format
msgid "cannot drop inherited column \"%s\""
msgstr "不能删除继承字段 \"%s\""
-#: commands/tablecmds.c:5472
+#: commands/tablecmds.c:5663
#, c-format
msgid ""
"ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\""
msgstr ""
"ALTER TABLE / ADD CONSTRAINT USING INDEX 会把索引 \"%s\" 重命名为 \"%s\""
-#: commands/tablecmds.c:5673
+#: commands/tablecmds.c:5866
#, c-format
msgid "constraint must be added to child tables too"
msgstr "必须也要对子表加上约束"
-#: commands/tablecmds.c:5763
+#: commands/tablecmds.c:5936
+#, c-format
+msgid "referenced relation \"%s\" is not a table"
+msgstr "关联的关系 \"%s\" 不是一个表"
+
+#: commands/tablecmds.c:5959
#, c-format
msgid "constraints on permanent tables may reference only permanent tables"
msgstr "永久表上的约束只能引用永久表"
-#: commands/tablecmds.c:5770
+#: commands/tablecmds.c:5966
#, c-format
msgid ""
"constraints on unlogged tables may reference only permanent or unlogged "
"tables"
msgstr "无事务日志的表上的约束只能引用持久表或者无事务日志的表"
-#: commands/tablecmds.c:5776
+#: commands/tablecmds.c:5972
#, c-format
msgid "constraints on temporary tables may reference only temporary tables"
msgstr "临时表上的约束只能引用临时表"
-#: commands/tablecmds.c:5780
-#, fuzzy, c-format
+#: commands/tablecmds.c:5976
+#, c-format
msgid ""
"constraints on temporary tables must involve temporary tables of this session"
-msgstr "临时表上的约束只能引用临时表"
+msgstr "临时表上的约束只能引用该会话里的临时表"
-#: commands/tablecmds.c:5841
+#: commands/tablecmds.c:6037
#, c-format
msgid "number of referencing and referenced columns for foreign key disagree"
msgstr "外键的关联数和关联字段不一致"
-#: commands/tablecmds.c:5948
+#: commands/tablecmds.c:6144
#, c-format
msgid "foreign key constraint \"%s\" cannot be implemented"
msgstr "无法实现外键约束 \"%s\""
-#: commands/tablecmds.c:5951
+#: commands/tablecmds.c:6147
#, c-format
msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s."
msgstr "关键字段 \"%s\" 和 \"%s\" 为混和类型: %s 和 %s."
-#: commands/tablecmds.c:6143 commands/tablecmds.c:7007
-#: commands/tablecmds.c:7063
+#: commands/tablecmds.c:6347 commands/tablecmds.c:6470
+#: commands/tablecmds.c:7342 commands/tablecmds.c:7398
#, c-format
msgid "constraint \"%s\" of relation \"%s\" does not exist"
msgstr "关系 \"%2$s\" 的 约束\"%1$s\" 不存在"
-#: commands/tablecmds.c:6150
+#: commands/tablecmds.c:6353
+#, c-format
+#| msgid ""
+#| "constraint \"%s\" of relation \"%s\" is not a foreign key or check "
+#| "constraint"
+msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint"
+msgstr "关系 \"%2$s\" 的 约束\"%1$s\"不是外键约束"
+
+#: commands/tablecmds.c:6477
#, c-format
msgid ""
"constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint"
msgstr "关系 \"%2$s\" 的 约束\"%1$s\"不是外键,也不是check约束"
-#: commands/tablecmds.c:6219
+#: commands/tablecmds.c:6546
#, c-format
msgid "constraint must be validated on child tables too"
msgstr "子表上的约束也必须进行验证"
-#: commands/tablecmds.c:6277
+#: commands/tablecmds.c:6608
#, c-format
msgid "column \"%s\" referenced in foreign key constraint does not exist"
msgstr "在外键约束中的关联字段 \"%s\" 不存在"
-#: commands/tablecmds.c:6282
+#: commands/tablecmds.c:6613
#, c-format
msgid "cannot have more than %d keys in a foreign key"
msgstr "在一个外键中不能超过 %d 个键"
-#: commands/tablecmds.c:6347
+#: commands/tablecmds.c:6678
#, c-format
msgid "cannot use a deferrable primary key for referenced table \"%s\""
msgstr "无法为被引用的表\"%s\"使用可延迟的主键"
-#: commands/tablecmds.c:6364
+#: commands/tablecmds.c:6695
#, c-format
msgid "there is no primary key for referenced table \"%s\""
msgstr "关联表 \"%s\" 没有主键"
-#: commands/tablecmds.c:6516
+#: commands/tablecmds.c:6760
+#, c-format
+msgid "foreign key referenced-columns list must not contain duplicates"
+msgstr "外键参照列的列表不能有重复值"
+
+#: commands/tablecmds.c:6854
#, c-format
msgid "cannot use a deferrable unique constraint for referenced table \"%s\""
msgstr "无法为被引用的表\"%s\"使用可延迟的唯一性约束"
-#: commands/tablecmds.c:6521
+#: commands/tablecmds.c:6859
#, c-format
msgid ""
"there is no unique constraint matching given keys for referenced table \"%s\""
msgstr "没有唯一约束与关联表 \"%s\" 给定的键值匹配"
-#: commands/tablecmds.c:6675
+#: commands/tablecmds.c:7018
#, c-format
msgid "validating foreign key constraint \"%s\""
msgstr "正验证外键约束 \"%s\""
-#: commands/tablecmds.c:6969
+#: commands/tablecmds.c:7314
#, c-format
msgid "cannot drop inherited constraint \"%s\" of relation \"%s\""
msgstr "不能删除关系\"%2$s\"的继承约束\"%1$s\""
-#: commands/tablecmds.c:7013
+#: commands/tablecmds.c:7348
#, c-format
msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping"
msgstr "关系 \"%2$s\" 的 约束\"%1$s\" 不存在"
-#: commands/tablecmds.c:7152
+#: commands/tablecmds.c:7487
#, c-format
msgid "cannot alter column type of typed table"
msgstr "无法修改已确定类型表(typed table)中列的类型"
-#: commands/tablecmds.c:7175
+#: commands/tablecmds.c:7510
#, c-format
msgid "cannot alter inherited column \"%s\""
msgstr "不能修改继承字段 \"%s\""
-#: commands/tablecmds.c:7221
+#: commands/tablecmds.c:7557
#, c-format
msgid "transform expression must not return a set"
msgstr "转换表达式不能返回一个组合"
-#: commands/tablecmds.c:7227
-#, c-format
-msgid "cannot use subquery in transform expression"
-msgstr "在转换表达式中不能使用子查询"
-
-#: commands/tablecmds.c:7231
-#, c-format
-msgid "cannot use aggregate function in transform expression"
-msgstr "转换表达式中不能使用聚合函数"
-
-#: commands/tablecmds.c:7235
-#, c-format
-msgid "cannot use window function in transform expression"
-msgstr "在转换表达式中不能使用窗口函数"
-
-#: commands/tablecmds.c:7254
+#: commands/tablecmds.c:7576
#, c-format
msgid "column \"%s\" cannot be cast automatically to type %s"
msgstr "字段 \"%s\" 不能自动转换成类型 %s"
-#: commands/tablecmds.c:7256
+#: commands/tablecmds.c:7578
#, c-format
msgid "Specify a USING expression to perform the conversion."
msgstr "指定一个USING表达式来执行转换"
-#: commands/tablecmds.c:7305
+#: commands/tablecmds.c:7627
#, c-format
msgid "type of inherited column \"%s\" must be changed in child tables too"
msgstr "在子表中继承字段 \"%s\" 的类型也必需改变"
-#: commands/tablecmds.c:7386
+#: commands/tablecmds.c:7708
#, c-format
msgid "cannot alter type of column \"%s\" twice"
msgstr "不能更改字段 \"%s\" 的类型两遍"
-#: commands/tablecmds.c:7422
+#: commands/tablecmds.c:7744
#, c-format
msgid "default for column \"%s\" cannot be cast automatically to type %s"
msgstr "字段 \"%s\" 的默认值不能转换成类型 %s"
-#: commands/tablecmds.c:7548
+#: commands/tablecmds.c:7870
#, c-format
msgid "cannot alter type of a column used by a view or rule"
msgstr "不能使用视图或规则改变一个字段的类型"
-#: commands/tablecmds.c:7549 commands/tablecmds.c:7568
+#: commands/tablecmds.c:7871 commands/tablecmds.c:7890
#, c-format
msgid "%s depends on column \"%s\""
msgstr "%s 倚赖于字段 \"%s\""
-#: commands/tablecmds.c:7567
+#: commands/tablecmds.c:7889
#, c-format
msgid "cannot alter type of a column used in a trigger definition"
msgstr "无法更改触发器定义中的列类型"
-#: commands/tablecmds.c:8110
+#: commands/tablecmds.c:8465
#, c-format
msgid "cannot change owner of index \"%s\""
msgstr "无法改变索引\"%s\" 的属主"
-#: commands/tablecmds.c:8112
+#: commands/tablecmds.c:8467
#, c-format
msgid "Change the ownership of the index's table, instead."
msgstr "可以改变索引表的所有权"
-#: commands/tablecmds.c:8128
+#: commands/tablecmds.c:8483
#, c-format
msgid "cannot change owner of sequence \"%s\""
msgstr "无法改变序列 \"%s\"的属主"
-#: commands/tablecmds.c:8130 commands/tablecmds.c:9807
+#: commands/tablecmds.c:8485 commands/tablecmds.c:10644
#, c-format
msgid "Sequence \"%s\" is linked to table \"%s\"."
msgstr "序列 \"%s\"已链接到表\"%s\"."
-#: commands/tablecmds.c:8142 commands/tablecmds.c:10387
+#: commands/tablecmds.c:8497 commands/tablecmds.c:11280
#, c-format
msgid "Use ALTER TYPE instead."
msgstr "请使用ALTER TYPE"
-#: commands/tablecmds.c:8151 commands/tablecmds.c:10404
+#: commands/tablecmds.c:8506
#, c-format
msgid "\"%s\" is not a table, view, sequence, or foreign table"
msgstr "\"%s\" 不是表,视图,序列或者外部表"
-#: commands/tablecmds.c:8479
+#: commands/tablecmds.c:8842
#, c-format
msgid "cannot have multiple SET TABLESPACE subcommands"
msgstr "无法执行多个SET TABLESPACE子命令"
-#: commands/tablecmds.c:8548
+#: commands/tablecmds.c:8915
+#, c-format
+#| msgid "\"%s\" is not a table, index, or TOAST table"
+msgid "\"%s\" is not a table, view, materialized view, index, or TOAST table"
+msgstr "\"%s\"不是表,视图, 物化视图, 索引或TOAST表"
+
+#: commands/tablecmds.c:8948 commands/view.c:474
#, c-format
-msgid "\"%s\" is not a table, index, or TOAST table"
-msgstr "\"%s\"不是表,索引或TOAST表"
+msgid "WITH CHECK OPTION is supported only on automatically updatable views"
+msgstr "WITH CHECK OPTION只能用于自动更新视图上"
-#: commands/tablecmds.c:8684
+#: commands/tablecmds.c:9094
#, c-format
msgid "cannot move system relation \"%s\""
msgstr "不能删除系统关系 \"%s\""
-#: commands/tablecmds.c:8700
+#: commands/tablecmds.c:9110
#, c-format
msgid "cannot move temporary tables of other sessions"
msgstr "不能在其他会话中删除临时表"
-#: commands/tablecmds.c:8892
+#: commands/tablecmds.c:9238
+#, c-format
+msgid "only tables, indexes, and materialized views exist in tablespaces"
+msgstr "只有表、索引以及物化视图存在于表空间当中"
+
+#: commands/tablecmds.c:9250
+#, c-format
+#| msgid "cannot move objects into or out of temporary schemas"
+msgid "cannot move relations in to or out of pg_global tablespace"
+msgstr "无法将关系移入或移出表空间pg_global"
+
+#: commands/tablecmds.c:9341
+#, c-format
+#| msgid "inherited relation \"%s\" is not a table"
+msgid "aborting because lock on relation \"%s\".\"%s\" is not available"
+msgstr "由于关系\"%s\".\"%s\"上的锁无法得到而放弃"
+
+# describe.c:1542
+#: commands/tablecmds.c:9357
+#, c-format
+#| msgid "No matching relations found.\n"
+msgid "no matching relations in tablespace \"%s\" found"
+msgstr "表空间\"%s\"中没有找到符合的关系"
+
+#: commands/tablecmds.c:9418 storage/buffer/bufmgr.c:501
+#, c-format
+#| msgid "invalid page header in block %u of relation %s"
+msgid "invalid page in block %u of relation %s"
+msgstr "关系 \"%2$s\" 中的块 %1$u 存在无效的页"
+
+#: commands/tablecmds.c:9500
#, c-format
msgid "cannot change inheritance of typed table"
msgstr "无法改变已确定类型表(typed table)的继承性"
-#: commands/tablecmds.c:8938
-#, fuzzy, c-format
+#: commands/tablecmds.c:9546
+#, c-format
msgid "cannot inherit to temporary relation of another session"
-msgstr "不能改写其他会话的临时表"
+msgstr "无法继承来自另一会话中的临时关系"
-#: commands/tablecmds.c:8992
+#: commands/tablecmds.c:9600
#, c-format
msgid "circular inheritance not allowed"
msgstr "不允许循环继承"
-#: commands/tablecmds.c:8993
+#: commands/tablecmds.c:9601
#, c-format
msgid "\"%s\" is already a child of \"%s\"."
msgstr "\"%s\" 已经是 \"%s\"的子表了."
-#: commands/tablecmds.c:9001
+#: commands/tablecmds.c:9609
#, c-format
msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs"
msgstr "不带有OIDs的表\"%s\"无法从带有OIDs的表\"%s\"继承。"
-#: commands/tablecmds.c:9137
+#: commands/tablecmds.c:9745
#, c-format
msgid "column \"%s\" in child table must be marked NOT NULL"
msgstr "在子表中的列\"%s\"必须标识为NOT NULL"
-#: commands/tablecmds.c:9153
+#: commands/tablecmds.c:9761
#, c-format
msgid "child table is missing column \"%s\""
msgstr "在子表中没有列\"%s\""
-#: commands/tablecmds.c:9236
+#: commands/tablecmds.c:9844
#, c-format
msgid "child table \"%s\" has different definition for check constraint \"%s\""
msgstr "子表 \"%s\" 对于检查约束\"%s\"有不同的定义"
-#: commands/tablecmds.c:9244
+#: commands/tablecmds.c:9852
#, c-format
msgid ""
"constraint \"%s\" conflicts with non-inherited constraint on child table \"%s"
"\""
msgstr "约束 \"%s\" 与子表中的非继承约束 \"%s\"相冲突"
-#: commands/tablecmds.c:9268
+#: commands/tablecmds.c:9876
#, c-format
msgid "child table is missing constraint \"%s\""
msgstr "子表丢失约束\"%s\""
-#: commands/tablecmds.c:9348
+#: commands/tablecmds.c:9956
#, c-format
msgid "relation \"%s\" is not a parent of relation \"%s\""
msgstr "关系 \"%s\" 不是关系\"%s\"的父表"
-#: commands/tablecmds.c:9565
+#: commands/tablecmds.c:10182
#, c-format
msgid "typed tables cannot inherit"
msgstr "类型表不能继承"
-#: commands/tablecmds.c:9596
+#: commands/tablecmds.c:10213
#, c-format
msgid "table is missing column \"%s\""
msgstr "表中没有列\"%s\""
-#: commands/tablecmds.c:9606
+#: commands/tablecmds.c:10223
#, c-format
msgid "table has column \"%s\" where type requires \"%s\""
msgstr "表中含有列\"%s\",需要类型\"%s\""
-#: commands/tablecmds.c:9615
+#: commands/tablecmds.c:10232
#, c-format
msgid "table \"%s\" has different type for column \"%s\""
msgstr "表\"%s\"中的列\"%s\"带有不同的类型"
-#: commands/tablecmds.c:9628
+#: commands/tablecmds.c:10245
#, c-format
msgid "table has extra column \"%s\""
msgstr "表含有多余的列\"%s\""
-#: commands/tablecmds.c:9675
+#: commands/tablecmds.c:10295
#, c-format
msgid "\"%s\" is not a typed table"
msgstr "\"%s\" 不是一个类型表"
-#: commands/tablecmds.c:9806
+#: commands/tablecmds.c:10478
+#, c-format
+#| msgid "cannot use subquery in index predicate"
+msgid "cannot use non-unique index \"%s\" as replica identity"
+msgstr "不能将非唯一索引\"%s\"用作复制标识"
+
+#: commands/tablecmds.c:10484
+#, c-format
+msgid "cannot use non-immediate index \"%s\" as replica identity"
+msgstr "不能把非立即索引\"%s\"用作复制标识"
+
+#: commands/tablecmds.c:10490
+#, c-format
+#| msgid "cannot use subquery in index predicate"
+msgid "cannot use expression index \"%s\" as replica identity"
+msgstr "不能将表达式索引\"%s\"用作复制标识"
+
+#: commands/tablecmds.c:10496
+#, c-format
+#| msgid "cannot cluster on partial index \"%s\""
+msgid "cannot use partial index \"%s\" as replica identity"
+msgstr "不能将局部索引\"%s\"用作复制标识"
+
+#: commands/tablecmds.c:10502
+#, c-format
+#| msgid "cannot cluster on invalid index \"%s\""
+msgid "cannot use invalid index \"%s\" as replica identity"
+msgstr "不能将无效索引\"%s\"用作复制标识"
+
+#: commands/tablecmds.c:10520
+#, c-format
+msgid ""
+"index \"%s\" cannot be used as replica identity because column \"%s\" is "
+"nullable"
+msgstr "索引 \"%s\" 不能用于复制标识,因为列\"%s\"非空"
+
+#: commands/tablecmds.c:10643
#, c-format
msgid "cannot move an owned sequence into another schema"
msgstr "无法将已分配的序列移动到另一个模式中"
-#: commands/tablecmds.c:9897
+#: commands/tablecmds.c:10739
#, c-format
msgid "relation \"%s\" already exists in schema \"%s\""
msgstr "在模式\"%2$s\"中已经存在关系\"%1$s\""
-#: commands/tablecmds.c:10371
+#: commands/tablecmds.c:11264
#, c-format
msgid "\"%s\" is not a composite type"
msgstr "\"%s\" 不是组合类型"
-#: commands/tablecmds.c:10392
-#, c-format
-msgid "\"%s\" is a foreign table"
-msgstr "\"%s\" 是一个外部表"
-
-#: commands/tablecmds.c:10393
+#: commands/tablecmds.c:11294
#, c-format
-msgid "Use ALTER FOREIGN TABLE instead."
-msgstr "请使用 ALTER FOREIGN TABLE 命令代替."
+#| msgid "\"%s\" is not a table, view, sequence, or foreign table"
+msgid ""
+"\"%s\" is not a table, view, materialized view, sequence, or foreign table"
+msgstr "\"%s\" 不是表,视图,物化视图,序列或者外部表"
-#: commands/tablespace.c:154 commands/tablespace.c:171
-#: commands/tablespace.c:182 commands/tablespace.c:190
-#: commands/tablespace.c:608 storage/file/copydir.c:61
+#: commands/tablespace.c:160 commands/tablespace.c:177
+#: commands/tablespace.c:188 commands/tablespace.c:196
+#: commands/tablespace.c:623 replication/slot.c:930 storage/file/copydir.c:47
#, c-format
msgid "could not create directory \"%s\": %m"
msgstr "无法创建目录 \"%s\": %m"
-#: commands/tablespace.c:201
+#: commands/tablespace.c:207
#, c-format
msgid "could not stat directory \"%s\": %m"
msgstr "无法取目录 \"%s\" 状态: %m"
-#: commands/tablespace.c:210
+#: commands/tablespace.c:216
#, c-format
msgid "\"%s\" exists but is not a directory"
msgstr "\"%s\" 存在, 但不是一个目录"
-#: commands/tablespace.c:240
+#: commands/tablespace.c:247
#, c-format
msgid "permission denied to create tablespace \"%s\""
msgstr "创建表空间 \"%s\" 权限不够"
-#: commands/tablespace.c:242
+#: commands/tablespace.c:249
#, c-format
msgid "Must be superuser to create a tablespace."
msgstr "只有超级用户能创建表空间"
-#: commands/tablespace.c:258
+#: commands/tablespace.c:265
#, c-format
msgid "tablespace location cannot contain single quotes"
msgstr "表空间路径不能包含单引号"
-#: commands/tablespace.c:268
+#: commands/tablespace.c:275
#, c-format
msgid "tablespace location must be an absolute path"
msgstr "表空间路径必须为绝对路径"
-#: commands/tablespace.c:279
+#: commands/tablespace.c:286
#, c-format
msgid "tablespace location \"%s\" is too long"
msgstr "表空间路径 \"%s\" 太长"
-#: commands/tablespace.c:289 commands/tablespace.c:858
+#: commands/tablespace.c:296 commands/tablespace.c:894
#, c-format
msgid "unacceptable tablespace name \"%s\""
msgstr "不可访问的表空间名字 \"%s\""
-#: commands/tablespace.c:291 commands/tablespace.c:859
+#: commands/tablespace.c:298 commands/tablespace.c:895
#, c-format
msgid "The prefix \"pg_\" is reserved for system tablespaces."
msgstr "前缀 \"pg_\" 是保留给系统表空间的."
-#: commands/tablespace.c:301 commands/tablespace.c:871
+#: commands/tablespace.c:308 commands/tablespace.c:907
#, c-format
msgid "tablespace \"%s\" already exists"
msgstr "表空间 \"%s\" 已经存在"
-#: commands/tablespace.c:371 commands/tablespace.c:534
-#: replication/basebackup.c:151 replication/basebackup.c:851
-#: utils/adt/misc.c:370
+#: commands/tablespace.c:386 commands/tablespace.c:551
+#: replication/basebackup.c:222 replication/basebackup.c:1064
+#: utils/adt/misc.c:365
#, c-format
msgid "tablespaces are not supported on this platform"
msgstr "在此平台上不支持表空间"
-#: commands/tablespace.c:409 commands/tablespace.c:842
-#: commands/tablespace.c:909 commands/tablespace.c:1014
-#: commands/tablespace.c:1080 commands/tablespace.c:1218
-#: commands/tablespace.c:1418
+#: commands/tablespace.c:426 commands/tablespace.c:877
+#: commands/tablespace.c:956 commands/tablespace.c:1025
+#: commands/tablespace.c:1158 commands/tablespace.c:1358
#, c-format
msgid "tablespace \"%s\" does not exist"
msgstr "表空间 \"%s\" 不存在"
-#: commands/tablespace.c:415
+#: commands/tablespace.c:432
#, c-format
msgid "tablespace \"%s\" does not exist, skipping"
msgstr "表空间 \"%s\" 不存在,跳过"
-#: commands/tablespace.c:491
+#: commands/tablespace.c:508
#, c-format
msgid "tablespace \"%s\" is not empty"
msgstr "表空间 \"%s\" 不是空的"
-#: commands/tablespace.c:565
+#: commands/tablespace.c:582
#, c-format
msgid "directory \"%s\" does not exist"
msgstr "目录 \"%s\" 不存在"
-#: commands/tablespace.c:566
+#: commands/tablespace.c:583
#, c-format
msgid "Create this directory for the tablespace before restarting the server."
msgstr "在重新启动服务器前为这个表空间创建该目录."
-#: commands/tablespace.c:571
+#: commands/tablespace.c:588
#, c-format
msgid "could not set permissions on directory \"%s\": %m"
msgstr "无法为目录 \"%s\" 的设置权限: %m"
-#: commands/tablespace.c:603
+#: commands/tablespace.c:618
#, c-format
msgid "directory \"%s\" already in use as a tablespace"
msgstr "目录 \"%s\" 以一个表空间的形式正在使用"
-#: commands/tablespace.c:618 commands/tablespace.c:779
+#: commands/tablespace.c:642 commands/tablespace.c:764
+#: commands/tablespace.c:777 commands/tablespace.c:801
+#, c-format
+msgid "could not remove directory \"%s\": %m"
+msgstr "无法删除目录 \"%s\": %m"
+
+#: commands/tablespace.c:650 commands/tablespace.c:812
#, c-format
msgid "could not remove symbolic link \"%s\": %m"
msgstr "无法删除符号链接 \"%s\": %m"
-#: commands/tablespace.c:628
+#: commands/tablespace.c:661
#, c-format
msgid "could not create symbolic link \"%s\": %m"
msgstr "无法创建符号链接 \"%s\": %m"
-#: commands/tablespace.c:694 commands/tablespace.c:704
-#: postmaster/postmaster.c:1177 replication/basebackup.c:260
-#: replication/basebackup.c:557 storage/file/copydir.c:67
-#: storage/file/copydir.c:106 storage/file/fd.c:1664 utils/adt/genfile.c:353
-#: utils/adt/misc.c:270 utils/misc/tzparser.c:323
+#: commands/tablespace.c:725 commands/tablespace.c:735
+#: postmaster/postmaster.c:1284 replication/basebackup.c:349
+#: replication/basebackup.c:667 storage/file/copydir.c:53
+#: storage/file/copydir.c:96 storage/file/fd.c:1951 storage/ipc/dsm.c:300
+#: utils/adt/genfile.c:354 utils/adt/misc.c:267 utils/misc/tzparser.c:339
#, c-format
msgid "could not open directory \"%s\": %m"
msgstr "无法打开目录 \"%s\": %m"
-#: commands/tablespace.c:734 commands/tablespace.c:747
-#: commands/tablespace.c:771
-#, c-format
-msgid "could not remove directory \"%s\": %m"
-msgstr "无法删除目录 \"%s\": %m"
-
-#: commands/tablespace.c:1085
+#: commands/tablespace.c:1030
#, c-format
msgid "Tablespace \"%s\" does not exist."
msgstr "表空间 \"%s\" 不存在."
-#: commands/tablespace.c:1517
+#: commands/tablespace.c:1457
#, c-format
msgid "directories for tablespace %u could not be removed"
msgstr "表空间 %u 的目录不能被移除"
-#: commands/tablespace.c:1519
+#: commands/tablespace.c:1459
#, c-format
msgid "You can remove the directories manually if necessary."
msgstr "如有必要您可以手动移除这些目录."
-#: commands/trigger.c:161
+#: commands/trigger.c:175
#, c-format
msgid "\"%s\" is a table"
msgstr "\"%s\" 是一个表"
-#: commands/trigger.c:163
+#: commands/trigger.c:177
#, c-format
msgid "Tables cannot have INSTEAD OF triggers."
msgstr "表不能使用INSTEAD OF触发器."
-#: commands/trigger.c:174 commands/trigger.c:181
+#: commands/trigger.c:188 commands/trigger.c:195
#, c-format
msgid "\"%s\" is a view"
msgstr "\"%s\" 是一个视图"
-#: commands/trigger.c:176
+#: commands/trigger.c:190
#, c-format
msgid "Views cannot have row-level BEFORE or AFTER triggers."
msgstr "视图不能使用行级 BEFORE 或 AFTER 触发器."
-#: commands/trigger.c:183
+#: commands/trigger.c:197
#, c-format
msgid "Views cannot have TRUNCATE triggers."
msgstr "视图不能使用 TRUNCATE 触发器."
-#: commands/trigger.c:239
+#: commands/trigger.c:205 commands/trigger.c:212 commands/trigger.c:219
+#, c-format
+msgid "\"%s\" is a foreign table"
+msgstr "\"%s\" 是一个外部表"
+
+#: commands/trigger.c:207
+#, c-format
+#| msgid "Tables cannot have INSTEAD OF triggers."
+msgid "Foreign tables cannot have INSTEAD OF triggers."
+msgstr "外部表不能使用INSTEAD OF触发器."
+
+#: commands/trigger.c:214
+#, c-format
+#| msgid "Views cannot have TRUNCATE triggers."
+msgid "Foreign tables cannot have TRUNCATE triggers."
+msgstr "外部表不能使用 TRUNCATE 触发器."
+
+#: commands/trigger.c:221
+#, c-format
+#| msgid "Tables cannot have INSTEAD OF triggers."
+msgid "Foreign tables cannot have constraint triggers."
+msgstr "外部表不能使用约束触发器."
+
+#: commands/trigger.c:284
#, c-format
msgid "TRUNCATE FOR EACH ROW triggers are not supported"
msgstr "不支持使用TRUNCATE FOR EACH ROW触发器"
-#: commands/trigger.c:247
+#: commands/trigger.c:292
#, c-format
msgid "INSTEAD OF triggers must be FOR EACH ROW"
msgstr "INSTEAD OF 触发器必须使用 FOR EACH ROW"
-#: commands/trigger.c:251
+#: commands/trigger.c:296
#, c-format
msgid "INSTEAD OF triggers cannot have WHEN conditions"
msgstr "INSTEAD OF 触发器不能使用 WHEN 条件子句"
-#: commands/trigger.c:255
+#: commands/trigger.c:300
#, c-format
msgid "INSTEAD OF triggers cannot have column lists"
msgstr "INSTEAD OF 触发器不能带有字段列表"
-#: commands/trigger.c:299
-#, c-format
-msgid "cannot use subquery in trigger WHEN condition"
-msgstr "在触发器的WHEN条件中无法使用子查询"
-
-#: commands/trigger.c:303
-#, c-format
-msgid "cannot use aggregate function in trigger WHEN condition"
-msgstr "在触发器的WHEN条件中无法使用聚合函数"
-
-#: commands/trigger.c:307
-#, c-format
-msgid "cannot use window function in trigger WHEN condition"
-msgstr "在触发器的WHEN条件中无法使用窗口函数"
-
-#: commands/trigger.c:329 commands/trigger.c:342
+#: commands/trigger.c:359 commands/trigger.c:372
#, c-format
msgid "statement trigger's WHEN condition cannot reference column values"
msgstr "语句级触发器的WHEN条件中不能引用列的值。"
-#: commands/trigger.c:334
+#: commands/trigger.c:364
#, c-format
msgid "INSERT trigger's WHEN condition cannot reference OLD values"
msgstr "在INSERT触发器的WHEN条件中不能引用OLD值。"
-#: commands/trigger.c:347
+#: commands/trigger.c:377
#, c-format
msgid "DELETE trigger's WHEN condition cannot reference NEW values"
msgstr "在DELETE触发器的WHEN条件中不能引用NEW值。"
-#: commands/trigger.c:352
+#: commands/trigger.c:382
#, c-format
msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns"
msgstr "BEFORE类型触发器的WHERE条件不能引用NEW系统列"
-#: commands/trigger.c:397
+#: commands/trigger.c:427
#, c-format
msgid "changing return type of function %s from \"opaque\" to \"trigger\""
msgstr "改变函数 %s 的返回类型 \"opaque\" 为 \"trigger\""
-#: commands/trigger.c:404
+#: commands/trigger.c:434
#, c-format
msgid "function %s must return type \"trigger\""
msgstr "函数 %s 必需返回 \"trigger\" 类型"
-#: commands/trigger.c:515 commands/trigger.c:1259
+#: commands/trigger.c:546 commands/trigger.c:1295
#, c-format
msgid "trigger \"%s\" for relation \"%s\" already exists"
msgstr "对于关系 \"%2$s\" 的 \"%1$s\" 触发器已经存在"
-#: commands/trigger.c:800
+#: commands/trigger.c:831
msgid "Found referenced table's UPDATE trigger."
msgstr "找到被引用表的UPDATE触发器"
-#: commands/trigger.c:801
+#: commands/trigger.c:832
msgid "Found referenced table's DELETE trigger."
msgstr "找到被引用表的DELETE触发器"
-#: commands/trigger.c:802
+#: commands/trigger.c:833
msgid "Found referencing table's trigger."
msgstr "找到正在引用表的触发器"
-#: commands/trigger.c:911 commands/trigger.c:927
+#: commands/trigger.c:942 commands/trigger.c:958
#, c-format
msgid "ignoring incomplete trigger group for constraint \"%s\" %s"
msgstr "对于\"%s\" %s,忽略未完成的触发器组"
-#: commands/trigger.c:939
+#: commands/trigger.c:970
#, c-format
msgid "converting trigger group into constraint \"%s\" %s"
msgstr "正在将触发器组转换为约束\"%s\" %s"
-#: commands/trigger.c:1150 commands/trigger.c:1302 commands/trigger.c:1413
+#: commands/trigger.c:1112 commands/trigger.c:1217
+#, c-format
+#| msgid "\"%s\" is not a table, index, or foreign table"
+msgid "\"%s\" is not a table, view, or foreign table"
+msgstr "\"%s\"不是表,视图或外部表"
+
+#: commands/trigger.c:1183 commands/trigger.c:1343 commands/trigger.c:1459
#, c-format
msgid "trigger \"%s\" for table \"%s\" does not exist"
msgstr "表 \"%2$s\" 的 \"%1$s\" 触发器不存在"
-#: commands/trigger.c:1381
+#: commands/trigger.c:1424
#, c-format
msgid "permission denied: \"%s\" is a system trigger"
msgstr "权限不够: \"%s\" 是一个系统触发器"
-#: commands/trigger.c:1874
+#: commands/trigger.c:1920
#, c-format
msgid "trigger function %u returned null value"
msgstr "触发器函数 %u 返回了空值"
-#: commands/trigger.c:1933 commands/trigger.c:2132 commands/trigger.c:2316
-#: commands/trigger.c:2558
+#: commands/trigger.c:1979 commands/trigger.c:2178 commands/trigger.c:2382
+#: commands/trigger.c:2664
#, c-format
msgid "BEFORE STATEMENT trigger cannot return a value"
msgstr "BEFORE STATEMENT 触发器不能返回一个值"
-#: commands/trigger.c:2620 executor/execMain.c:1883
-#: executor/nodeLockRows.c:138 executor/nodeModifyTable.c:367
-#: executor/nodeModifyTable.c:583
+#: commands/trigger.c:2726 executor/nodeModifyTable.c:434
+#: executor/nodeModifyTable.c:712
+#, c-format
+msgid ""
+"tuple to be updated was already modified by an operation triggered by the "
+"current command"
+msgstr "待更新元组值已经被当前命令触发的操作修改了"
+
+#: commands/trigger.c:2727 executor/nodeModifyTable.c:435
+#: executor/nodeModifyTable.c:713
+#, c-format
+msgid ""
+"Consider using an AFTER trigger instead of a BEFORE trigger to propagate "
+"changes to other rows."
+msgstr "考虑使用AFTER触发器代替BEFORE触发器,来改变其它行的值."
+
+#: commands/trigger.c:2741 executor/execMain.c:2059
+#: executor/nodeLockRows.c:165 executor/nodeModifyTable.c:447
+#: executor/nodeModifyTable.c:725
#, c-format
msgid "could not serialize access due to concurrent update"
msgstr "由于同步更新而无法串行访问"
-#: commands/trigger.c:4247
+#: commands/trigger.c:4538
#, c-format
msgid "constraint \"%s\" is not deferrable"
msgstr "约束 \"%s\" 不可展缓"
-#: commands/trigger.c:4270
+#: commands/trigger.c:4561
#, c-format
msgid "constraint \"%s\" does not exist"
msgstr "约束 \"%s\" 不存在"
-#: commands/tsearchcmds.c:113 commands/tsearchcmds.c:912
+#: commands/tsearchcmds.c:114 commands/tsearchcmds.c:671
#, c-format
msgid "function %s should return type %s"
msgstr "函数%s应该返回类型%s的值"
-#: commands/tsearchcmds.c:185
+#: commands/tsearchcmds.c:186
#, c-format
msgid "must be superuser to create text search parsers"
msgstr "只有超级用户能创建文本搜索解析器"
-#: commands/tsearchcmds.c:233
+#: commands/tsearchcmds.c:234
#, c-format
msgid "text search parser parameter \"%s\" not recognized"
msgstr "未识别文本搜索参数\"%s\""
-#: commands/tsearchcmds.c:243
+#: commands/tsearchcmds.c:244
#, c-format
msgid "text search parser start method is required"
msgstr "需要使用文本搜索解析器的start方法"
-#: commands/tsearchcmds.c:248
+#: commands/tsearchcmds.c:249
#, c-format
msgid "text search parser gettoken method is required"
msgstr "需要使用文本搜索解析器的gettoken方法"
-#: commands/tsearchcmds.c:253
+#: commands/tsearchcmds.c:254
#, c-format
msgid "text search parser end method is required"
msgstr "需要使用文本搜索解析器的end方法"
-#: commands/tsearchcmds.c:258
+#: commands/tsearchcmds.c:259
#, c-format
msgid "text search parser lextypes method is required"
msgstr "需要使用文本搜索解析器的lextypes方法"
-#: commands/tsearchcmds.c:319
-#, c-format
-msgid "must be superuser to rename text search parsers"
-msgstr "只有超级用户可以重新命名文本搜索解析器"
-
-#: commands/tsearchcmds.c:337
-#, c-format
-msgid "text search parser \"%s\" already exists"
-msgstr "文本搜索解析器\"%s\"已存在"
-
-#: commands/tsearchcmds.c:463
+#: commands/tsearchcmds.c:376
#, c-format
msgid "text search template \"%s\" does not accept options"
msgstr "文本搜索模板 \"%s\"不接受使用选项"
# describe.c:1753
-#: commands/tsearchcmds.c:536
+#: commands/tsearchcmds.c:449
#, c-format
msgid "text search template is required"
msgstr "要求使用文本搜寻模板"
-#: commands/tsearchcmds.c:605
-#, c-format
-msgid "text search dictionary \"%s\" already exists"
-msgstr "文本搜索字典\"%s\" 已经存在"
-
-#: commands/tsearchcmds.c:976
+#: commands/tsearchcmds.c:735
#, c-format
msgid "must be superuser to create text search templates"
msgstr "只有超级用户能创建文本搜索模板"
-#: commands/tsearchcmds.c:1013
+#: commands/tsearchcmds.c:772
#, c-format
msgid "text search template parameter \"%s\" not recognized"
msgstr "未识别文本搜索模板参数\"%s\""
-#: commands/tsearchcmds.c:1023
+#: commands/tsearchcmds.c:782
#, c-format
msgid "text search template lexize method is required"
msgstr "要求使用文本搜索模板词汇方法"
-#: commands/tsearchcmds.c:1062
-#, c-format
-msgid "must be superuser to rename text search templates"
-msgstr "只有超级用户可以重新命名文本搜索模板"
-
-#: commands/tsearchcmds.c:1081
-#, c-format
-msgid "text search template \"%s\" already exists"
-msgstr "文本搜索模板\"%s\" 已经存在"
-
-#: commands/tsearchcmds.c:1318
+#: commands/tsearchcmds.c:988
#, c-format
msgid "text search configuration parameter \"%s\" not recognized"
msgstr "未识别文本搜索配置参数\"%s\""
-#: commands/tsearchcmds.c:1325
+#: commands/tsearchcmds.c:995
#, c-format
msgid "cannot specify both PARSER and COPY options"
msgstr "不能同时指定PARSER和COPY选项"
-#: commands/tsearchcmds.c:1353
+#: commands/tsearchcmds.c:1023
#, c-format
msgid "text search parser is required"
msgstr "需要使用文本搜索解析器"
-#: commands/tsearchcmds.c:1463
-#, c-format
-msgid "text search configuration \"%s\" already exists"
-msgstr "文本搜索配置\"%s\"已存在"
-
-#: commands/tsearchcmds.c:1726
+#: commands/tsearchcmds.c:1247
#, c-format
msgid "token type \"%s\" does not exist"
msgstr "符号类型 \"%s\" 不存在"
-#: commands/tsearchcmds.c:1948
+#: commands/tsearchcmds.c:1469
#, c-format
msgid "mapping for token type \"%s\" does not exist"
msgstr "符号类型\"%s\"的映射不存在"
-#: commands/tsearchcmds.c:1954
+#: commands/tsearchcmds.c:1475
#, c-format
msgid "mapping for token type \"%s\" does not exist, skipping"
msgstr "符号类型\"%s\"的映射不存在, 跳过"
-#: commands/tsearchcmds.c:2107 commands/tsearchcmds.c:2218
+#: commands/tsearchcmds.c:1628 commands/tsearchcmds.c:1739
#, c-format
msgid "invalid parameter list format: \"%s\""
msgstr "无效参数列表格式: \"%s\""
-#: commands/typecmds.c:180
+#: commands/typecmds.c:184
#, c-format
msgid "must be superuser to create a base type"
msgstr "只有超级用户能创建基类型"
-#: commands/typecmds.c:286 commands/typecmds.c:1339
+#: commands/typecmds.c:290 commands/typecmds.c:1371
#, c-format
msgid "type attribute \"%s\" not recognized"
msgstr "类型属性 \"%s\" 不被认可"
-#: commands/typecmds.c:340
+#: commands/typecmds.c:344
#, c-format
msgid "invalid type category \"%s\": must be simple ASCII"
msgstr "无效的类型目录 \"%s\": 必须是简单ASCII"
-#: commands/typecmds.c:359
+#: commands/typecmds.c:363
#, c-format
msgid "array element type cannot be %s"
msgstr "排列元素类型不能为 %s"
-#: commands/typecmds.c:391
+#: commands/typecmds.c:395
#, c-format
msgid "alignment \"%s\" not recognized"
msgstr "alignment \"%s\" 不被认可"
-#: commands/typecmds.c:408
+#: commands/typecmds.c:412
#, c-format
msgid "storage \"%s\" not recognized"
msgstr "存储 \"%s\" 不被认可"
-#: commands/typecmds.c:419
+#: commands/typecmds.c:423
#, c-format
msgid "type input function must be specified"
msgstr "类型输入函数必需指定"
-#: commands/typecmds.c:423
+#: commands/typecmds.c:427
#, c-format
msgid "type output function must be specified"
msgstr "类型输出函数必需指定"
-#: commands/typecmds.c:428
+#: commands/typecmds.c:432
#, c-format
msgid ""
"type modifier output function is useless without a type modifier input "
"function"
msgstr "如果没有类型修改器的输入函数,那么类型修改器的输出函数没有用"
-#: commands/typecmds.c:451
+#: commands/typecmds.c:455
#, c-format
msgid "changing return type of function %s from \"opaque\" to %s"
msgstr "改变函数 %s 的返回类型 \"opaque\" 为 %s"
-#: commands/typecmds.c:458
+#: commands/typecmds.c:462
#, c-format
msgid "type input function %s must return type %s"
msgstr "类型输入函数 %s 必需返回类型 %s"
-#: commands/typecmds.c:468
+#: commands/typecmds.c:472
#, c-format
msgid "changing return type of function %s from \"opaque\" to \"cstring\""
msgstr "改变函数 %s 的返回类型 \"opaque\" 为 \"cstring\""
-#: commands/typecmds.c:475
+#: commands/typecmds.c:479
#, c-format
msgid "type output function %s must return type \"cstring\""
msgstr "类型输出函数 %s 必需返回类型 \"cstring\""
-#: commands/typecmds.c:484
+#: commands/typecmds.c:488
#, c-format
msgid "type receive function %s must return type %s"
msgstr "类型接收函数 %s 必需返回类型 %s"
-#: commands/typecmds.c:493
+#: commands/typecmds.c:497
#, c-format
msgid "type send function %s must return type \"bytea\""
msgstr "类型发送函数 %s 必需返回类型 \"bytea\""
-#: commands/typecmds.c:756
+#: commands/typecmds.c:762
#, c-format
msgid "\"%s\" is not a valid base type for a domain"
msgstr "对于一个域, \"%s\" 不是一个有效的基本类型"
-#: commands/typecmds.c:842
+#: commands/typecmds.c:848
#, c-format
msgid "multiple default expressions"
msgstr "多遍默认表达式"
-#: commands/typecmds.c:906 commands/typecmds.c:915
+#: commands/typecmds.c:910 commands/typecmds.c:919
#, c-format
msgid "conflicting NULL/NOT NULL constraints"
msgstr "NULL/NOT NULL 约束冲突"
-#: commands/typecmds.c:931
+#: commands/typecmds.c:935
#, c-format
-msgid "CHECK constraints for domains cannot be marked NO INHERIT"
-msgstr "域的CHECK约束不能标为NO INHERIT(不可继承)"
+#| msgid "CHECK constraints for domains cannot be marked NO INHERIT"
+msgid "check constraints for domains cannot be marked NO INHERIT"
+msgstr "域的CHECK约束不能标为NO INHERIT"
-#: commands/typecmds.c:940 commands/typecmds.c:2397
+#: commands/typecmds.c:944 commands/typecmds.c:2453
#, c-format
msgid "unique constraints not possible for domains"
msgstr "唯一约束对于域不可用"
-#: commands/typecmds.c:946 commands/typecmds.c:2403
+#: commands/typecmds.c:950 commands/typecmds.c:2459
#, c-format
msgid "primary key constraints not possible for domains"
msgstr "不可为域使用主键约束"
-#: commands/typecmds.c:952 commands/typecmds.c:2409
+#: commands/typecmds.c:956 commands/typecmds.c:2465
#, c-format
msgid "exclusion constraints not possible for domains"
msgstr "排他约束对于域不可用"
-#: commands/typecmds.c:958 commands/typecmds.c:2415
+#: commands/typecmds.c:962 commands/typecmds.c:2471
#, c-format
msgid "foreign key constraints not possible for domains"
msgstr "外键约束对于域不可用"
-#: commands/typecmds.c:967 commands/typecmds.c:2424
+#: commands/typecmds.c:971 commands/typecmds.c:2480
#, c-format
msgid "specifying constraint deferrability not supported for domains"
msgstr "所指定的约束延迟对域不支持"
-#: commands/typecmds.c:1211 utils/cache/typcache.c:1064
+#: commands/typecmds.c:1243 utils/cache/typcache.c:1071
#, c-format
msgid "%s is not an enum"
msgstr "%s 不是枚举"
-#: commands/typecmds.c:1347
+#: commands/typecmds.c:1379
#, c-format
msgid "type attribute \"subtype\" is required"
msgstr "类型属性 \"subtype\" 不是必需的"
-#: commands/typecmds.c:1352
+#: commands/typecmds.c:1384
#, c-format
msgid "range subtype cannot be %s"
msgstr "范围子类型不能为 %s"
-#: commands/typecmds.c:1371
+#: commands/typecmds.c:1403
#, c-format
msgid "range collation specified but subtype does not support collation"
msgstr "已指定了范围排序规则但是子类型并不支持排序"
-#: commands/typecmds.c:1605
+#: commands/typecmds.c:1639
#, c-format
msgid "changing argument type of function %s from \"opaque\" to \"cstring\""
msgstr "改变函数 %s 的参数类型 \"opaque\" 为 \"cstring\""
-#: commands/typecmds.c:1656
+#: commands/typecmds.c:1690
#, c-format
msgid "changing argument type of function %s from \"opaque\" to %s"
msgstr "改变函数 %s 的参数类型 \"opaque\" 为 %s"
-#: commands/typecmds.c:1755
+#: commands/typecmds.c:1789
#, c-format
msgid "typmod_in function %s must return type \"integer\""
msgstr "typmod_in类型函数 %s 必需返回 \"trigger\" 类型"
-#: commands/typecmds.c:1782
+#: commands/typecmds.c:1816
#, c-format
msgid "typmod_out function %s must return type \"cstring\""
msgstr "typmod_out类型函数 %s 必需返回类型 \"cstring\""
-#: commands/typecmds.c:1809
+#: commands/typecmds.c:1843
#, c-format
msgid "type analyze function %s must return type \"boolean\""
msgstr "类型 analyze 函数 %s 必需返回类型 \"boolean\""
-#: commands/typecmds.c:1855
+#: commands/typecmds.c:1889
#, c-format
msgid ""
"You must specify an operator class for the range type or define a default "
"operator class for the subtype."
msgstr "你必须为范围类型指定一个操作符类或者为子类型定义一个默认的操作符类."
-#: commands/typecmds.c:1886
+#: commands/typecmds.c:1920
#, c-format
msgid "range canonical function %s must return range type"
msgstr "范围的标准函数%s必须返回范围类型"
-#: commands/typecmds.c:1892
+#: commands/typecmds.c:1926
#, c-format
msgid "range canonical function %s must be immutable"
msgstr "范围的标准函数%s必须是不可变的"
-#: commands/typecmds.c:1928
+#: commands/typecmds.c:1962
#, c-format
msgid "range subtype diff function %s must return type double precision"
msgstr "范围子类型的diff函数%s必须返回double precision(双精浮点)类型"
-#: commands/typecmds.c:1934
+#: commands/typecmds.c:1968
#, c-format
msgid "range subtype diff function %s must be immutable"
msgstr "范围的子类型diff函数%s必须是不可变的"
-#: commands/typecmds.c:2240
+#: commands/typecmds.c:2287
#, c-format
msgid "column \"%s\" of table \"%s\" contains null values"
msgstr "表 \"%2$s\" 的字段 \"%1$s\" 包含空值"
-#: commands/typecmds.c:2342 commands/typecmds.c:2516
+#: commands/typecmds.c:2396 commands/typecmds.c:2574
#, c-format
msgid "constraint \"%s\" of domain \"%s\" does not exist"
msgstr "域 \"%2$s\" 的 约束\"%1$s\" 不存在"
-#: commands/typecmds.c:2346
+#: commands/typecmds.c:2400
#, c-format
msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping"
msgstr "域 \"%2$s\" 的 约束\"%1$s\" 不存在, 跳过"
-#: commands/typecmds.c:2522
+#: commands/typecmds.c:2580
#, c-format
msgid "constraint \"%s\" of domain \"%s\" is not a check constraint"
msgstr "域 \"%2$s\" 的 约束\"%1$s\" 不是一个check约束"
-#: commands/typecmds.c:2609
+#: commands/typecmds.c:2684
#, c-format
msgid ""
"column \"%s\" of table \"%s\" contains values that violate the new constraint"
msgstr "表 \"%2$s\" 的字段 \"%1$s\" 包含的值违反了新约束"
-#: commands/typecmds.c:2811 commands/typecmds.c:3206 commands/typecmds.c:3356
+#: commands/typecmds.c:2897 commands/typecmds.c:3267 commands/typecmds.c:3425
#, c-format
msgid "%s is not a domain"
msgstr "%s 不是一个域"
-#: commands/typecmds.c:2844
+#: commands/typecmds.c:2930
#, c-format
msgid "constraint \"%s\" for domain \"%s\" already exists"
msgstr "域 \"%2$s\" 的约束 \"%1$s\" 已经存在"
-#: commands/typecmds.c:2892 commands/typecmds.c:2901
+#: commands/typecmds.c:2980
#, c-format
msgid "cannot use table references in domain check constraint"
msgstr "在域检查约束中不可以使用表关联"
-#: commands/typecmds.c:3140 commands/typecmds.c:3218 commands/typecmds.c:3462
+#: commands/typecmds.c:3199 commands/typecmds.c:3279 commands/typecmds.c:3533
#, c-format
msgid "%s is a table's row type"
msgstr "%s 是一个表的记录类型"
-#: commands/typecmds.c:3142 commands/typecmds.c:3220 commands/typecmds.c:3464
+#: commands/typecmds.c:3201 commands/typecmds.c:3281 commands/typecmds.c:3535
#, c-format
msgid "Use ALTER TABLE instead."
msgstr "请使用 ALTER TABLE命令代替."
-#: commands/typecmds.c:3149 commands/typecmds.c:3227 commands/typecmds.c:3381
+#: commands/typecmds.c:3208 commands/typecmds.c:3288 commands/typecmds.c:3452
#, c-format
msgid "cannot alter array type %s"
msgstr "不能更改数组类型%s"
-#: commands/typecmds.c:3151 commands/typecmds.c:3229 commands/typecmds.c:3383
+#: commands/typecmds.c:3210 commands/typecmds.c:3290 commands/typecmds.c:3454
#, c-format
msgid "You can alter type %s, which will alter the array type as well."
msgstr "您能够修改类型%s, 因而也能修改数组类型"
-#: commands/typecmds.c:3448
+#: commands/typecmds.c:3519
#, c-format
msgid "type \"%s\" already exists in schema \"%s\""
msgstr "在于模式\"%2$s\"中已存在类型\"%1$s\""
-#: commands/user.c:144
+#: commands/user.c:145
#, c-format
msgid "SYSID can no longer be specified"
msgstr "不能再指定SYSID"
-#: commands/user.c:276
+#: commands/user.c:277
#, c-format
msgid "must be superuser to create superusers"
msgstr "只有超级用户能创建另一个超级用户"
-#: commands/user.c:283
+#: commands/user.c:284
#, c-format
msgid "must be superuser to create replication users"
msgstr "只有超级用户能创建复制用户"
-#: commands/user.c:290
+#: commands/user.c:291
#, c-format
msgid "permission denied to create role"
msgstr "创建角色的权限不够"
-#: commands/user.c:297 commands/user.c:1091
+#: commands/user.c:298 commands/user.c:1119
#, c-format
msgid "role name \"%s\" is reserved"
msgstr "角色名称 \"%s\" 被保留了"
-#: commands/user.c:310 commands/user.c:1085
+#: commands/user.c:311 commands/user.c:1113
#, c-format
msgid "role \"%s\" already exists"
msgstr "角色\"%s\" 已经存在"
-#: commands/user.c:616 commands/user.c:818 commands/user.c:898
-#: commands/user.c:1060 commands/variable.c:855 commands/variable.c:927
-#: utils/adt/acl.c:5088 utils/init/miscinit.c:432
+#: commands/user.c:618 commands/user.c:827 commands/user.c:933
+#: commands/user.c:1088 commands/variable.c:797 commands/variable.c:869
+#: utils/adt/acl.c:5121 utils/init/miscinit.c:362
#, c-format
msgid "role \"%s\" does not exist"
msgstr "角色 \"%s\" 不存在"
-#: commands/user.c:629 commands/user.c:835 commands/user.c:1325
-#: commands/user.c:1462
+#: commands/user.c:631 commands/user.c:846 commands/user.c:1357
+#: commands/user.c:1503
#, c-format
msgid "must be superuser to alter superusers"
msgstr "只有超级用户能修改超级用户"
-#: commands/user.c:636
+#: commands/user.c:638
#, c-format
msgid "must be superuser to alter replication users"
msgstr "只有超级用户能修改复制用户"
-#: commands/user.c:652 commands/user.c:843
+#: commands/user.c:654 commands/user.c:854
#, c-format
msgid "permission denied"
msgstr "权限不够"
-#: commands/user.c:871
+#: commands/user.c:884
+#, c-format
+#| msgid "must be superuser to alter an operator family"
+msgid "must be superuser to alter settings globally"
+msgstr "只有超级用户可以做全局的alter settings操作"
+
+#: commands/user.c:906
#, c-format
msgid "permission denied to drop role"
msgstr "删除角色的权限不够"
-#: commands/user.c:903
+#: commands/user.c:938
#, c-format
msgid "role \"%s\" does not exist, skipping"
msgstr "角色 \"%s\" 不存在"
-#: commands/user.c:915 commands/user.c:919
+#: commands/user.c:950 commands/user.c:954
#, c-format
msgid "current user cannot be dropped"
msgstr "当前用户不能被删除"
-#: commands/user.c:923
+#: commands/user.c:958
#, c-format
msgid "session user cannot be dropped"
msgstr "会话用户不能被删除"
-#: commands/user.c:934
+#: commands/user.c:969
#, c-format
msgid "must be superuser to drop superusers"
msgstr "只有超级用户可以删除超级用户"
-#: commands/user.c:957
+#: commands/user.c:985
#, c-format
msgid "role \"%s\" cannot be dropped because some objects depend on it"
msgstr "无法删除\"%s\"因为有其它对象倚赖它"
-#: commands/user.c:1075
+#: commands/user.c:1103
#, c-format
msgid "session user cannot be renamed"
msgstr "无法重命名会话用户"
-#: commands/user.c:1079
+#: commands/user.c:1107
#, c-format
msgid "current user cannot be renamed"
msgstr "无法重新命名当前用户"
-#: commands/user.c:1102
+#: commands/user.c:1130
#, c-format
msgid "must be superuser to rename superusers"
msgstr "只有超级用户可以对超级用户重命名"
-#: commands/user.c:1109
+#: commands/user.c:1137
#, c-format
msgid "permission denied to rename role"
msgstr "重命名角色的权限不够"
-#: commands/user.c:1130
+#: commands/user.c:1158
#, c-format
msgid "MD5 password cleared because of role rename"
msgstr "由于对角色重命名, 需要清除以MD5方式加密的口令"
-#: commands/user.c:1186
+#: commands/user.c:1218
#, c-format
msgid "column names cannot be included in GRANT/REVOKE ROLE"
msgstr "在GRANT/REVOKE ROLE中不能包含列名"
-#: commands/user.c:1224
+#: commands/user.c:1256
#, c-format
msgid "permission denied to drop objects"
msgstr "删除对象的权限不足"
-#: commands/user.c:1251 commands/user.c:1260
+#: commands/user.c:1283 commands/user.c:1292
#, c-format
msgid "permission denied to reassign objects"
msgstr "重新分配对象的权限不足"
-#: commands/user.c:1333 commands/user.c:1470
+#: commands/user.c:1365 commands/user.c:1511
#, c-format
msgid "must have admin option on role \"%s\""
msgstr "在角色\"%s\"上必须有admin选项"
-#: commands/user.c:1341
+#: commands/user.c:1382
#, c-format
msgid "must be superuser to set grantor"
msgstr "只有超级用户能设置授权者"
-#: commands/user.c:1366
+#: commands/user.c:1407
#, c-format
msgid "role \"%s\" is a member of role \"%s\""
msgstr "角色\"%s\" 是角色\"%s\"的成员"
-#: commands/user.c:1381
+#: commands/user.c:1422
#, c-format
msgid "role \"%s\" is already a member of role \"%s\""
msgstr "角色\"%s\" 已经是角色\"%s\"的成员"
-#: commands/user.c:1492
+#: commands/user.c:1533
#, c-format
msgid "role \"%s\" is not a member of role \"%s\""
msgstr "角色 \"%s\"不是角色 \"%s\"的成员"
-#: commands/vacuum.c:431
+#: commands/vacuum.c:468
#, c-format
msgid "oldest xmin is far in the past"
msgstr "最旧的xmin"
-#: commands/vacuum.c:432
+#: commands/vacuum.c:469
#, c-format
msgid "Close open transactions soon to avoid wraparound problems."
msgstr "立即关闭已打开的事物, 以避免 wraparound 问题."
-#: commands/vacuum.c:829
+#: commands/vacuum.c:501
+#, c-format
+#| msgid "oldest xmin is far in the past"
+msgid "oldest multixact is far in the past"
+msgstr "最旧的multixact远在过去"
+
+#: commands/vacuum.c:502
+#, c-format
+#| msgid "Close open transactions soon to avoid wraparound problems."
+msgid ""
+"Close open transactions with multixacts soon to avoid wraparound problems."
+msgstr "立即关闭已打开的事务, 以避免重叠问题."
+
+#: commands/vacuum.c:1064
#, c-format
msgid "some databases have not been vacuumed in over 2 billion transactions"
msgstr "一些数据库在超过 20 亿笔事物后没有做清理 (vacuum)."
-#: commands/vacuum.c:830
+#: commands/vacuum.c:1065
#, c-format
msgid "You might have already suffered transaction-wraparound data loss."
msgstr "您可能已经遇到了由于事务重叠而造成的数据丢失."
-#: commands/vacuum.c:937
+#: commands/vacuum.c:1182
#, c-format
msgid "skipping vacuum of \"%s\" --- lock not available"
msgstr "跳过对 \"%s\" 的压缩处理 --- 无法获取相应锁"
-#: commands/vacuum.c:963
+#: commands/vacuum.c:1208
#, c-format
msgid "skipping \"%s\" --- only superuser can vacuum it"
msgstr "忽略 \"%s\" --- 只有超级用户能够清理 (vacuum)"
-#: commands/vacuum.c:967
+#: commands/vacuum.c:1212
#, c-format
msgid "skipping \"%s\" --- only superuser or database owner can vacuum it"
msgstr "忽略 \"%s\" --- 只有超级用户或数据库属主能够清理 (vacuum)"
-#: commands/vacuum.c:971
+#: commands/vacuum.c:1216
#, c-format
msgid "skipping \"%s\" --- only table or database owner can vacuum it"
msgstr "忽略 \"%s\" --- 只有表或数据库属主能够清理 (vacuum)"
-#: commands/vacuum.c:988
+#: commands/vacuum.c:1234
#, c-format
msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables"
msgstr "忽略 \"%s\" --- 无法清理 (vacuum) 非表或者特殊的系统表"
-#: commands/vacuumlazy.c:308
+#: commands/vacuumlazy.c:346
#, c-format
+#| msgid ""
+#| "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
+#| "pages: %d removed, %d remain\n"
+#| "tuples: %.0f removed, %.0f remain\n"
+#| "buffer usage: %d hits, %d misses, %d dirtied\n"
+#| "avg read rate: %.3f MiB/s, avg write rate: %.3f MiB/s\n"
+#| "system usage: %s"
msgid ""
"automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
"pages: %d removed, %d remain\n"
-"tuples: %.0f removed, %.0f remain\n"
+"tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable\n"
"buffer usage: %d hits, %d misses, %d dirtied\n"
-"avg read rate: %.3f MiB/s, avg write rate: %.3f MiB/s\n"
+"avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
"system usage: %s"
msgstr ""
"自动清理表\"%s.%s.%s\": 索引扫描: %d\n"
"页:已删除%d页, %d页保留\n"
-"元组: 已删除%.0f,%.0f保留\n"
+"元组: 已删除%.0f,%.0f保留, %.0f已死,但还未被删除\n"
"缓冲使用:命中%d, %d丢失, %d脏页\n"
-"平均读效率:%.3f MiB/s, 平均写效率: %.3f MiB/s\n"
+"平均读效率:%.3f MB/s, 平均写效率: %.3f MB/s\n"
"系统使用情况: %s "
-#: commands/vacuumlazy.c:639
+#: commands/vacuumlazy.c:680
#, c-format
msgid "relation \"%s\" page %u is uninitialized --- fixing"
msgstr "关系 \"%s\" 页 %u 没有初始化 --- 修复"
-#: commands/vacuumlazy.c:1005
+#: commands/vacuumlazy.c:1092
#, c-format
msgid "\"%s\": removed %.0f row versions in %u pages"
msgstr "\"%1$s\": 在%3$u页中已删除%2$.0f行版本号"
-#: commands/vacuumlazy.c:1010
+#: commands/vacuumlazy.c:1097
#, c-format
msgid ""
"\"%s\": found %.0f removable, %.0f nonremovable row versions in %u out of %u "
msgstr ""
"\"%1$s\": 在超出%5$u页的%4$u中找到可删除版本号%2$.0f, 不可删除的版本号%3$.0f"
-#: commands/vacuumlazy.c:1014
+#: commands/vacuumlazy.c:1101
#, c-format
msgid ""
"%.0f dead row versions cannot be removed yet.\n"
"%u页当前完全是空的.\n"
"%s."
-#: commands/vacuumlazy.c:1077
+#: commands/vacuumlazy.c:1172
#, c-format
msgid "\"%s\": removed %d row versions in %d pages"
msgstr "\"%1$s\": 在%3$d个页中已删除%2$d记录版本"
-#: commands/vacuumlazy.c:1080 commands/vacuumlazy.c:1216
-#: commands/vacuumlazy.c:1393
+#: commands/vacuumlazy.c:1175 commands/vacuumlazy.c:1342
+#: commands/vacuumlazy.c:1514
#, c-format
msgid "%s."
msgstr "%s"
-#: commands/vacuumlazy.c:1213
+#: commands/vacuumlazy.c:1339
#, c-format
msgid "scanned index \"%s\" to remove %d row versions"
msgstr "扫描索引\"%s\"来删除%d记录版本"
-#: commands/vacuumlazy.c:1257
+#: commands/vacuumlazy.c:1385
#, c-format
msgid "index \"%s\" now contains %.0f row versions in %u pages"
msgstr "索引\"%1$s\"在%3$u个页中包含了行版本号%2$.0f"
-#: commands/vacuumlazy.c:1261
+#: commands/vacuumlazy.c:1389
#, c-format
msgid ""
"%.0f index row versions were removed.\n"
"%u个索引页已经被删除,%u当前可重用.\n"
"%s."
-#: commands/vacuumlazy.c:1321
+#: commands/vacuumlazy.c:1446
#, c-format
-msgid ""
-"automatic vacuum of table \"%s.%s.%s\": cannot (re)acquire exclusive lock "
-"for truncate scan"
-msgstr ""
+msgid "\"%s\": stopping truncate due to conflicting lock request"
+msgstr "\"%s\":由于与锁请求相冲突,停止截断操作"
-#: commands/vacuumlazy.c:1390
+#: commands/vacuumlazy.c:1511
#, c-format
msgid "\"%s\": truncated %u to %u pages"
msgstr "\"%s\": 将%u截断到%u pages"
-#: commands/vacuumlazy.c:1445
+#: commands/vacuumlazy.c:1567
#, c-format
msgid "\"%s\": suspending truncate due to conflicting lock request"
-msgstr ""
+msgstr "\"%s\":由于与锁请求相冲突,暂停截断操作"
-#: commands/variable.c:161 utils/misc/guc.c:8327
+#: commands/variable.c:162 utils/misc/guc.c:9058
#, c-format
msgid "Unrecognized key word: \"%s\"."
msgstr "未知的关键字: \"%s\"."
-#: commands/variable.c:173
+#: commands/variable.c:174
#, c-format
msgid "Conflicting \"datestyle\" specifications."
msgstr "\"datestyle\" 规范冲突."
-#: commands/variable.c:312
+#: commands/variable.c:296
#, c-format
msgid "Cannot specify months in time zone interval."
msgstr "在 time zone interval中无法指定月."
-#: commands/variable.c:318
+#: commands/variable.c:302
#, c-format
msgid "Cannot specify days in time zone interval."
msgstr "在 time zone interval中无法指定天."
-#: commands/variable.c:362 commands/variable.c:485
+#: commands/variable.c:344 commands/variable.c:426
#, c-format
msgid "time zone \"%s\" appears to use leap seconds"
msgstr "时区 \"%s\" 看上去使用了闰秒"
-#: commands/variable.c:364 commands/variable.c:487
+#: commands/variable.c:346 commands/variable.c:428
#, c-format
msgid "PostgreSQL does not support leap seconds."
msgstr "PostgreSQL 不支持闰秒"
-#: commands/variable.c:551
+#: commands/variable.c:355
+#, c-format
+#| msgid "time zone displacement out of range"
+msgid "UTC timezone offset is out of range."
+msgstr "UTC时区偏移已超出范围"
+
+#: commands/variable.c:493
#, c-format
msgid "cannot set transaction read-write mode inside a read-only transaction"
msgstr "不能在一个只读事物里面设置读写模式"
-#: commands/variable.c:558
+#: commands/variable.c:500
#, c-format
msgid "transaction read-write mode must be set before any query"
msgstr "执行任意查询前必须设置事务的读写模式"
-#: commands/variable.c:565
+#: commands/variable.c:507
#, c-format
msgid "cannot set transaction read-write mode during recovery"
msgstr "在恢复操作期间不能设置事务的读写模式"
-#: commands/variable.c:614
+#: commands/variable.c:556
#, c-format
msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query"
msgstr "SET TRANSACTION ISOLATION LEVEL 必须在任何查询之前调用"
-#: commands/variable.c:621
+#: commands/variable.c:563
#, c-format
msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction"
msgstr "SET TRANSACTION ISOLATION LEVEL 不能在子事物中调用"
-#: commands/variable.c:628 storage/lmgr/predicate.c:1582
+#: commands/variable.c:570 storage/lmgr/predicate.c:1588
#, c-format
msgid "cannot use serializable mode in a hot standby"
msgstr "热备过程中无法使用可串行化模式"
-#: commands/variable.c:629
+#: commands/variable.c:571
#, c-format
msgid "You can use REPEATABLE READ instead."
msgstr "您必须使用REPEATABLE READ来代替"
-#: commands/variable.c:677
+#: commands/variable.c:619
#, c-format
msgid ""
"SET TRANSACTION [NOT] DEFERRABLE cannot be called within a subtransaction"
msgstr "SET TRANSACTION [NOT] DEFERRABLE 不能在子事物中调用"
-#: commands/variable.c:683
+#: commands/variable.c:625
#, c-format
msgid "SET TRANSACTION [NOT] DEFERRABLE must be called before any query"
msgstr "SET TRANSACTION [NOT] DEFERRABLE 必须在任何查询之前调用"
-#: commands/variable.c:765
+#: commands/variable.c:707
#, c-format
msgid "Conversion between %s and %s is not supported."
msgstr "不支持 %s 和 %s 之间的编码转换."
-#: commands/variable.c:772
+#: commands/variable.c:714
#, c-format
msgid "Cannot change \"client_encoding\" now."
msgstr "现在无法改变 \"client_encoding\" 值."
-#: commands/variable.c:942
+#: commands/variable.c:884
#, c-format
msgid "permission denied to set role \"%s\""
msgstr "设置角色\"%s\"的权限不足"
-#: commands/view.c:145
+#: commands/view.c:54
+#, c-format
+#| msgid "invalid value for \"buffering\" option"
+msgid "invalid value for \"check_option\" option"
+msgstr " \"check_option\" 选项的值无效"
+
+#: commands/view.c:55
+#, c-format
+#| msgid "Valid values are \"on\", \"off\", and \"auto\"."
+msgid "Valid values are \"local\" and \"cascaded\"."
+msgstr "有效值为 \"local\" 和 \"cascaded\"."
+
+#: commands/view.c:114
#, c-format
msgid "could not determine which collation to use for view column \"%s\""
msgstr "视图中的列\"%s\"无法确定使用哪种排序规则"
-#: commands/view.c:160
+#: commands/view.c:129
#, c-format
msgid "view must have at least one column"
msgstr "视图必需至少有一个字段"
-#: commands/view.c:292 commands/view.c:304
+#: commands/view.c:260 commands/view.c:272
#, c-format
msgid "cannot drop columns from view"
msgstr "无法从视图中删除列"
-#: commands/view.c:309
+#: commands/view.c:277
#, c-format
msgid "cannot change name of view column \"%s\" to \"%s\""
msgstr "不能将视图字段的名称从\"%s\"改成\"%s\""
-#: commands/view.c:317
+#: commands/view.c:285
#, c-format
msgid "cannot change data type of view column \"%s\" from %s to %s"
msgstr "不可以将视图字段 \"%s\" 的数据类型从%s改为%s"
-#: commands/view.c:450
+#: commands/view.c:420
#, c-format
msgid "views must not contain SELECT INTO"
msgstr "视力中不能包含SELECT INTO"
-#: commands/view.c:463
+#: commands/view.c:433
#, c-format
msgid "views must not contain data-modifying statements in WITH"
msgstr "视图不能包含修改数据的WITH子句"
-#: commands/view.c:491
+#: commands/view.c:504
#, c-format
msgid "CREATE VIEW specifies more column names than columns"
msgstr "CREATE VIEW 指定的字段名比实际字段多"
-#: commands/view.c:499
+#: commands/view.c:512
#, c-format
msgid "views cannot be unlogged because they do not have storage"
msgstr "视图无法取消事务日志,因为它们没有相应存储"
-#: commands/view.c:513
+#: commands/view.c:526
#, c-format
msgid "view \"%s\" will be a temporary view"
msgstr "视图\"%s\" 将是一个临时视图."
msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\""
msgstr "游标\"%s\"不对表\"%s\"进行可更新扫描"
-#: executor/execCurrent.c:231 executor/execQual.c:1136
+#: executor/execCurrent.c:231 executor/execQual.c:1160
#, c-format
msgid ""
"type of parameter %d (%s) does not match that when preparing the plan (%s)"
msgstr "第%d个参数(%s)的类型与正在执行计划(%s)中的不匹配"
-#: executor/execCurrent.c:243 executor/execQual.c:1148
+#: executor/execCurrent.c:243 executor/execQual.c:1172
#, c-format
msgid "no value found for parameter %d"
msgstr "没有找到参数 %d 的值"
-#: executor/execMain.c:947
+#: executor/execMain.c:955
#, c-format
msgid "cannot change sequence \"%s\""
msgstr "不可以改变序列 \"%s\""
-#: executor/execMain.c:953
+#: executor/execMain.c:961
#, c-format
msgid "cannot change TOAST relation \"%s\""
msgstr "不可以改变 TOAST 关系 \"%s\""
-#: executor/execMain.c:963
+#: executor/execMain.c:979 rewrite/rewriteHandler.c:2512
#, c-format
msgid "cannot insert into view \"%s\""
msgstr "无法插入到视图\"%s\""
-#: executor/execMain.c:965
+#: executor/execMain.c:981 rewrite/rewriteHandler.c:2515
#, c-format
msgid ""
-"You need an unconditional ON INSERT DO INSTEAD rule or an INSTEAD OF INSERT "
-"trigger."
+"To enable inserting into the view, provide an INSTEAD OF INSERT trigger or "
+"an unconditional ON INSERT DO INSTEAD rule."
msgstr ""
-"你需要一个无条件的 ON INSERT DO INSTEAD 规则或者INSTEAD OF INSERT触发器."
+"启用向视图插入操作, 要提供INSTEAD OF INSERT触发器或者提供一个无条件的 ON "
+"INSERT DO INSTEAD 规则."
-#: executor/execMain.c:971
+#: executor/execMain.c:987 rewrite/rewriteHandler.c:2520
#, c-format
msgid "cannot update view \"%s\""
msgstr "无法更新视图\"%s\""
-#: executor/execMain.c:973
+#: executor/execMain.c:989 rewrite/rewriteHandler.c:2523
#, c-format
msgid ""
-"You need an unconditional ON UPDATE DO INSTEAD rule or an INSTEAD OF UPDATE "
-"trigger."
+"To enable updating the view, provide an INSTEAD OF UPDATE trigger or an "
+"unconditional ON UPDATE DO INSTEAD rule."
msgstr ""
-"你需要一个无条件的 ON UPDATE DO INSTEAD 规则或者INSTEAD OF UPDATE触发器."
+"启用对视图的更新操作, 需要提供INSTEAD OF UPDATE触发器或者一个无条件的 ON "
+"UPDATE DO INSTEAD 规则."
-#: executor/execMain.c:979
+#: executor/execMain.c:995 rewrite/rewriteHandler.c:2528
#, c-format
msgid "cannot delete from view \"%s\""
msgstr "无法删除视图\"%s\""
-#: executor/execMain.c:981
+#: executor/execMain.c:997 rewrite/rewriteHandler.c:2531
#, c-format
msgid ""
-"You need an unconditional ON DELETE DO INSTEAD rule or an INSTEAD OF DELETE "
-"trigger."
+"To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an "
+"unconditional ON DELETE DO INSTEAD rule."
msgstr ""
-"你需要一个无条件的 ON DELETE DO INSTEAD 规则或者INSTEAD OF DELETE触发器."
+"启用从视图删除数据, 需要提供一个INSTEAD OF DELETE 触发器或者一个无条件的 ON "
+"DELETE DO INSTEAD 规则."
+
+# describe.c:933
+#: executor/execMain.c:1008
+#, c-format
+#| msgid "Unlogged materialized view \"%s.%s\""
+msgid "cannot change materialized view \"%s\""
+msgstr "不能改变物化视图 \"%s\""
+
+#: executor/execMain.c:1020
+#, c-format
+#| msgid "cannot copy to foreign table \"%s\""
+msgid "cannot insert into foreign table \"%s\""
+msgstr "不能插值到外部表 \"%s\""
+
+#: executor/execMain.c:1026
+#, c-format
+#| msgid "foreign table \"%s\" does not exist"
+msgid "foreign table \"%s\" does not allow inserts"
+msgstr "外部表 \"%s\" 不允许插入操作"
-#: executor/execMain.c:991
+#: executor/execMain.c:1033
#, c-format
-msgid "cannot change foreign table \"%s\""
-msgstr "无法改变外部表 \"%s\""
+#| msgid "cannot change foreign table \"%s\""
+msgid "cannot update foreign table \"%s\""
+msgstr "无法更新外部表 \"%s\""
-#: executor/execMain.c:997
+#: executor/execMain.c:1039
+#, c-format
+#| msgid "foreign table \"%s\" does not exist"
+msgid "foreign table \"%s\" does not allow updates"
+msgstr "外部表 \"%s\" 不允许更新"
+
+#: executor/execMain.c:1046
+#, c-format
+#| msgid "cannot copy from foreign table \"%s\""
+msgid "cannot delete from foreign table \"%s\""
+msgstr "不能从外部表 \"%s\" 删除数据"
+
+#: executor/execMain.c:1052
+#, c-format
+#| msgid "foreign table \"%s\" does not exist"
+msgid "foreign table \"%s\" does not allow deletes"
+msgstr "外部表 \"%s\" 不允许删除数据"
+
+#: executor/execMain.c:1063
#, c-format
msgid "cannot change relation \"%s\""
msgstr "无法改变关系 \"%s\""
-#: executor/execMain.c:1021
+#: executor/execMain.c:1087
#, c-format
msgid "cannot lock rows in sequence \"%s\""
msgstr "无法锁定序列\"%s\"中的行"
-#: executor/execMain.c:1028
+#: executor/execMain.c:1094
#, c-format
msgid "cannot lock rows in TOAST relation \"%s\""
msgstr "无法锁定TOAST 关系 \"%s\"中的行"
-#: executor/execMain.c:1035
+#: executor/execMain.c:1101
#, c-format
msgid "cannot lock rows in view \"%s\""
msgstr "无法锁定 \"%s\" 中的行"
-#: executor/execMain.c:1042
+#: executor/execMain.c:1109
+#, c-format
+#| msgid "cannot lock rows in view \"%s\""
+msgid "cannot lock rows in materialized view \"%s\""
+msgstr "无法锁定物化视图 \"%s\" 中的行"
+
+#: executor/execMain.c:1116
#, c-format
msgid "cannot lock rows in foreign table \"%s\""
msgstr "无法锁定外部表 \"%s\"中的行"
-#: executor/execMain.c:1048
+#: executor/execMain.c:1122
#, c-format
msgid "cannot lock rows in relation \"%s\""
msgstr "无法锁定关系 \"%s\"中的行"
-#: executor/execMain.c:1524
+#: executor/execMain.c:1607
#, c-format
msgid "null value in column \"%s\" violates not-null constraint"
msgstr "在字段 \"%s\" 中空值违反了非空约束"
-#: executor/execMain.c:1526 executor/execMain.c:1540
+#: executor/execMain.c:1609 executor/execMain.c:1626 executor/execMain.c:1673
#, c-format
msgid "Failing row contains %s."
msgstr "失败, 行包含%s."
-#: executor/execMain.c:1538
+#: executor/execMain.c:1624
#, c-format
msgid "new row for relation \"%s\" violates check constraint \"%s\""
msgstr "关系 \"%s\" 的新列违反了检查约束 \"%s\""
-#: executor/execQual.c:303 executor/execQual.c:331 executor/execQual.c:3090
-#: utils/adt/array_userfuncs.c:430 utils/adt/arrayfuncs.c:227
-#: utils/adt/arrayfuncs.c:506 utils/adt/arrayfuncs.c:1241
-#: utils/adt/arrayfuncs.c:2914 utils/adt/arrayfuncs.c:4939
+#: executor/execMain.c:1671
+#, c-format
+msgid "new row violates WITH CHECK OPTION for view \"%s\""
+msgstr "新行 违反了 视图 \"%s\"的WITH CHECK OPTION"
+
+#: executor/execQual.c:306 executor/execQual.c:334 executor/execQual.c:3157
+#: utils/adt/array_userfuncs.c:430 utils/adt/arrayfuncs.c:233
+#: utils/adt/arrayfuncs.c:512 utils/adt/arrayfuncs.c:1247
+#: utils/adt/arrayfuncs.c:2933 utils/adt/arrayfuncs.c:4958
#, c-format
msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
msgstr "数组的维数(%d)超过最大允许值(%d)"
-#: executor/execQual.c:316 executor/execQual.c:344
+#: executor/execQual.c:319 executor/execQual.c:347
#, c-format
msgid "array subscript in assignment must not be null"
msgstr "在分配中的数组下标不能为空"
-#: executor/execQual.c:639 executor/execQual.c:4008
+#: executor/execQual.c:642 executor/execQual.c:4078
#, c-format
msgid "attribute %d has wrong type"
msgstr "属性%d的类型错误"
-#: executor/execQual.c:640 executor/execQual.c:4009
+#: executor/execQual.c:643 executor/execQual.c:4079
#, c-format
msgid "Table has type %s, but query expects %s."
msgstr "表具有类型%s,但是查询期望类型%s."
-#: executor/execQual.c:843 executor/execQual.c:860 executor/execQual.c:1024
-#: executor/nodeModifyTable.c:83 executor/nodeModifyTable.c:93
-#: executor/nodeModifyTable.c:110 executor/nodeModifyTable.c:118
+#: executor/execQual.c:836 executor/execQual.c:853 executor/execQual.c:1050
+#: executor/nodeModifyTable.c:85 executor/nodeModifyTable.c:95
+#: executor/nodeModifyTable.c:112 executor/nodeModifyTable.c:120
#, c-format
msgid "table row type and query-specified row type do not match"
msgstr "表记录类型和查询指定记录不匹配"
-#: executor/execQual.c:844
+#: executor/execQual.c:837
#, c-format
msgid "Table row contains %d attribute, but query expects %d."
msgid_plural "Table row contains %d attributes, but query expects %d."
msgstr[0] "在表记录中包含%d个属性, 但是查询期望%d个属性"
-#: executor/execQual.c:861 executor/nodeModifyTable.c:94
+#: executor/execQual.c:854 executor/nodeModifyTable.c:96
#, c-format
msgid "Table has type %s at ordinal position %d, but query expects %s."
msgstr "表在位置%2$d具有类型%1$s,但是查询期望类型%3$s."
-#: executor/execQual.c:1025 executor/execQual.c:1622
+#: executor/execQual.c:1051 executor/execQual.c:1647
#, c-format
msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
msgstr "在顺序位置%d上已删除属性与物理存储上的不匹配."
-#: executor/execQual.c:1301 parser/parse_func.c:91 parser/parse_func.c:323
-#: parser/parse_func.c:642
+#: executor/execQual.c:1326 parser/parse_func.c:114 parser/parse_func.c:535
+#: parser/parse_func.c:887
#, c-format
msgid "cannot pass more than %d argument to a function"
msgid_plural "cannot pass more than %d arguments to a function"
msgstr[0] "向函数传递的参数不多于%d个"
-#: executor/execQual.c:1490
+#: executor/execQual.c:1515
#, c-format
msgid "functions and operators can take at most one set argument"
msgstr "函数和操作符最多带一组参数"
-#: executor/execQual.c:1540
+#: executor/execQual.c:1565
#, c-format
msgid ""
"function returning setof record called in context that cannot accept type "
"record"
msgstr "调用用于返回setof记录的函数的环境不能接受使用记录类型"
-#: executor/execQual.c:1595 executor/execQual.c:1611 executor/execQual.c:1621
+#: executor/execQual.c:1620 executor/execQual.c:1636 executor/execQual.c:1646
#, c-format
msgid "function return row and query-specified return row do not match"
msgstr "指定查询返回记录和实际函数返回记录不匹配"
-#: executor/execQual.c:1596
+#: executor/execQual.c:1621
#, c-format
msgid "Returned row contains %d attribute, but query expects %d."
msgid_plural "Returned row contains %d attributes, but query expects %d."
msgstr[0] "在所返回的记录中包含了%d个属性,但是查询期望有%d个属性"
-#: executor/execQual.c:1612
+#: executor/execQual.c:1637
#, c-format
msgid "Returned type %s at ordinal position %d, but query expects %s."
msgstr "在顺序位置%2$d的返回类型是%1$s, 但是查询期望使用类型%3$s."
-#: executor/execQual.c:1848 executor/execQual.c:2273
+#: executor/execQual.c:1879 executor/execQual.c:2310
#, c-format
msgid "table-function protocol for materialize mode was not followed"
msgstr "没有跟随针对物化模式的表函数协议"
-#: executor/execQual.c:1868 executor/execQual.c:2280
+#: executor/execQual.c:1899 executor/execQual.c:2317
#, c-format
msgid "unrecognized table-function returnMode: %d"
msgstr "未认可的表函数返回模式 (returnMode): %d"
-#: executor/execQual.c:2190
+#: executor/execQual.c:2227
#, c-format
msgid "function returning set of rows cannot return null value"
msgstr "函数返回值为多列时不能返回空值"
-#: executor/execQual.c:2247
+#: executor/execQual.c:2284
#, c-format
msgid "rows returned by function are not all of the same row type"
msgstr "函数返回的记录不完全属于相同的记录类型"
-#: executor/execQual.c:2438
+#: executor/execQual.c:2499
#, c-format
msgid "IS DISTINCT FROM does not support set arguments"
msgstr "IS DISTINCT FROM 不支持一组参数"
-#: executor/execQual.c:2515
+#: executor/execQual.c:2576
#, c-format
msgid "op ANY/ALL (array) does not support set arguments"
msgstr "操作符 ANY/ALL (数组) 不支持设置参数"
-#: executor/execQual.c:3068
+#: executor/execQual.c:3135
#, c-format
msgid "cannot merge incompatible arrays"
msgstr "无法合并不兼容的排列"
-#: executor/execQual.c:3069
+#: executor/execQual.c:3136
#, c-format
msgid ""
"Array with element type %s cannot be included in ARRAY construct with "
"element type %s."
msgstr "元素类型为 %s 的 ARRAY 结构中不能包含带有元素类型为 %s 的数组."
-#: executor/execQual.c:3110 executor/execQual.c:3137
-#: utils/adt/arrayfuncs.c:541
+#: executor/execQual.c:3177 executor/execQual.c:3204
+#: utils/adt/arrayfuncs.c:547
#, c-format
msgid ""
"multidimensional arrays must have array expressions with matching dimensions"
msgstr "多维数组必须有符合维度的数组表达式"
-#: executor/execQual.c:3652
+#: executor/execQual.c:3719
#, c-format
msgid "NULLIF does not support set arguments"
msgstr "NULLIF 不支持一组参数"
-#: executor/execQual.c:3882 utils/adt/domains.c:127
+#: executor/execQual.c:3949 utils/adt/domains.c:131
#, c-format
msgid "domain %s does not allow null values"
msgstr "域 %s 不允许空值"
-#: executor/execQual.c:3911 utils/adt/domains.c:163
+#: executor/execQual.c:3979 utils/adt/domains.c:168
#, c-format
msgid "value for domain %s violates check constraint \"%s\""
msgstr "域 %s 的值违反了检查约束 \"%s\""
-#: executor/execQual.c:4404 optimizer/util/clauses.c:570
-#: parser/parse_agg.c:162
+#: executor/execQual.c:4337
+#, c-format
+#| msgid "pointer to pointer is not supported for this data type"
+msgid "WHERE CURRENT OF is not supported for this table type"
+msgstr "这种表类型不能使用WHERE CURRENT OF"
+
+#: executor/execQual.c:4484 parser/parse_agg.c:434 parser/parse_agg.c:464
#, c-format
msgid "aggregate function calls cannot be nested"
msgstr "不允许嵌套调用聚合函数"
-#: executor/execQual.c:4442 optimizer/util/clauses.c:644
-#: parser/parse_agg.c:209
+#: executor/execQual.c:4524 parser/parse_agg.c:565
#, c-format
msgid "window function calls cannot be nested"
msgstr "不允许嵌套调用窗口函数"
-#: executor/execQual.c:4654
+#: executor/execQual.c:4736
#, c-format
msgid "target type is not an array"
msgstr "目标类型不是一个数组"
-#: executor/execQual.c:4768
+#: executor/execQual.c:4851
#, c-format
msgid "ROW() column has type %s instead of type %s"
msgstr "ROW() 列类型 %s 替换为 %s"
-#: executor/execQual.c:4903 utils/adt/arrayfuncs.c:3377
-#: utils/adt/rowtypes.c:950
+#: executor/execQual.c:4986 utils/adt/arrayfuncs.c:3396
+#: utils/adt/rowtypes.c:921
#, c-format
msgid "could not identify a comparison function for type %s"
msgstr "无法为类型 %s 确认一个比对函数"
-#: executor/execUtils.c:1307
+#: executor/execUtils.c:844
+#, c-format
+#| msgid "Materialized view \"%s.%s\""
+msgid "materialized view \"%s\" has not been populated"
+msgstr "物化视图 \"%s\"未被初始化"
+
+#: executor/execUtils.c:846
+#, c-format
+msgid "Use the REFRESH MATERIALIZED VIEW command."
+msgstr "使用命令 REFRESH MATERIALIZED VIEW."
+
+#: executor/execUtils.c:1324
#, c-format
msgid "could not create exclusion constraint \"%s\""
msgstr "无法创建排他约束\"%s\""
-#: executor/execUtils.c:1309
+#: executor/execUtils.c:1326
#, c-format
msgid "Key %s conflicts with key %s."
msgstr "键%s与另外一个键%s冲突"
-#: executor/execUtils.c:1314
+#: executor/execUtils.c:1333
#, c-format
msgid "conflicting key value violates exclusion constraint \"%s\""
msgstr "互相冲突的键值违反排他约束\"%s\""
-#: executor/execUtils.c:1316
+#: executor/execUtils.c:1335
#, c-format
msgid "Key %s conflicts with existing key %s."
msgstr "键%s与已存在的键%s冲突"
-#: executor/functions.c:207
+#: executor/functions.c:225
#, c-format
msgid "could not determine actual type of argument declared %s"
msgstr "无法确定声明为 %s 的参数的实际类型"
#. translator: %s is a SQL statement name
-#: executor/functions.c:480
+#: executor/functions.c:506
#, c-format
msgid "%s is not allowed in a SQL function"
msgstr "%s 不允许在一个 SQL 函数中"
#. translator: %s is a SQL statement name
-#: executor/functions.c:487 executor/spi.c:1269 executor/spi.c:1982
+#: executor/functions.c:513 executor/spi.c:1343 executor/spi.c:2129
#, c-format
msgid "%s is not allowed in a non-volatile function"
msgstr "%s 在一个 non-valatile 函数中是不允许的"
-#: executor/functions.c:592
+#: executor/functions.c:638
#, c-format
msgid ""
"could not determine actual result type for function declared to return type "
"%s"
msgstr "无法确定实际结果类型为函数声明返回类型 %s"
-#: executor/functions.c:1330
+#: executor/functions.c:1402
#, c-format
msgid "SQL function \"%s\" statement %d"
msgstr "SQL 函数 \"%s\" 语句 %d"
-#: executor/functions.c:1356
+#: executor/functions.c:1428
#, c-format
msgid "SQL function \"%s\" during startup"
msgstr "SQL 函数 \"%s\" 在启动的时候"
-#: executor/functions.c:1515 executor/functions.c:1552
-#: executor/functions.c:1564 executor/functions.c:1677
-#: executor/functions.c:1710 executor/functions.c:1740
+#: executor/functions.c:1587 executor/functions.c:1624
+#: executor/functions.c:1636 executor/functions.c:1749
+#: executor/functions.c:1782 executor/functions.c:1812
#, c-format
msgid "return type mismatch in function declared to return %s"
msgstr "函数返回类型和声明类型 %s 不匹配"
-#: executor/functions.c:1517
+#: executor/functions.c:1589
#, c-format
msgid ""
"Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING."
msgstr "函数的最后语句必须是 SELECT 或 INSERT/UPDATE/DELETE RETURNING."
-#: executor/functions.c:1554
+#: executor/functions.c:1626
#, c-format
msgid "Final statement must return exactly one column."
msgstr "最终的语句必须返回一列."
-#: executor/functions.c:1566
+#: executor/functions.c:1638
#, c-format
msgid "Actual return type is %s."
msgstr "实际返回类型是 %s."
-#: executor/functions.c:1679
+#: executor/functions.c:1751
#, c-format
msgid "Final statement returns too many columns."
msgstr "最终的语句的返回列太多."
-#: executor/functions.c:1712
+#: executor/functions.c:1784
#, c-format
msgid "Final statement returns %s instead of %s at column %d."
msgstr "最终语句在第 %3$d 列返回 %1$s 而不是 %2$s"
-#: executor/functions.c:1742
+#: executor/functions.c:1814
#, c-format
msgid "Final statement returns too few columns."
msgstr "最终的语句返回的列太少."
-#: executor/functions.c:1791
+#: executor/functions.c:1863
#, c-format
msgid "return type %s is not supported for SQL functions"
msgstr "SQL 函数不支持返回类型 %s"
-#: executor/nodeAgg.c:1734 executor/nodeWindowAgg.c:1851
+#: executor/nodeAgg.c:1865 executor/nodeWindowAgg.c:2285
#, c-format
msgid "aggregate %u needs to have compatible input type and transition type"
msgstr "聚集 %u 需要有兼容的输入类型和转换类型"
-#: executor/nodeHashjoin.c:822 executor/nodeHashjoin.c:852
+#: executor/nodeHashjoin.c:823 executor/nodeHashjoin.c:853
#, c-format
msgid "could not rewind hash-join temporary file: %m"
msgstr "无法卷回 (rewind) 散列联接 (hash-join) 临时文件: %m"
-#: executor/nodeHashjoin.c:887 executor/nodeHashjoin.c:893
+#: executor/nodeHashjoin.c:888 executor/nodeHashjoin.c:894
#, c-format
msgid "could not write to hash-join temporary file: %m"
msgstr "无法写入散列联接 (hash-join) 临时文件: %m"
-#: executor/nodeHashjoin.c:927 executor/nodeHashjoin.c:937
+#: executor/nodeHashjoin.c:928 executor/nodeHashjoin.c:938
#, c-format
msgid "could not read from hash-join temporary file: %m"
msgstr "无法从散列联接 (hash-join) 临时文件读取: %m"
msgid "FULL JOIN is only supported with merge-joinable join conditions"
msgstr "只有在合并连接查询条件中才支持FULL JOIN"
-#: executor/nodeModifyTable.c:84
+#: executor/nodeModifyTable.c:86
#, c-format
msgid "Query has too many columns."
msgstr "查询中的列太多了"
-#: executor/nodeModifyTable.c:111
+#: executor/nodeModifyTable.c:113
#, c-format
msgid "Query provides a value for a dropped column at ordinal position %d."
msgstr "在顺序位置%d上查询为已删除的列提供了一个值"
-#: executor/nodeModifyTable.c:119
+#: executor/nodeModifyTable.c:121
#, c-format
msgid "Query has too few columns."
msgstr "查询中的列太少了"
-#: executor/nodeSubplan.c:302 executor/nodeSubplan.c:341
-#: executor/nodeSubplan.c:968
+#: executor/nodeSubplan.c:304 executor/nodeSubplan.c:343
+#: executor/nodeSubplan.c:970
#, c-format
msgid "more than one row returned by a subquery used as an expression"
msgstr "作为一个表达式使用的子查询返回了多列"
-#: executor/nodeWindowAgg.c:1238
+#: executor/nodeWindowAgg.c:353
+#, c-format
+#| msgid "cast function must not return a set"
+msgid "moving-aggregate transition function must not return null"
+msgstr "移动聚合转换函数不能返回null值"
+
+#: executor/nodeWindowAgg.c:1609
#, c-format
msgid "frame starting offset must not be null"
msgstr "框架(frame)的启动偏移量不能为空"
-#: executor/nodeWindowAgg.c:1251
+#: executor/nodeWindowAgg.c:1622
#, c-format
msgid "frame starting offset must not be negative"
msgstr "框架(frame)的启动偏移量不能为负数"
-#: executor/nodeWindowAgg.c:1264
+#: executor/nodeWindowAgg.c:1635
#, c-format
msgid "frame ending offset must not be null"
msgstr "框架(frame)的结束偏移量不能为空"
-#: executor/nodeWindowAgg.c:1277
+#: executor/nodeWindowAgg.c:1648
#, c-format
msgid "frame ending offset must not be negative"
msgstr "框架(frame)的结束偏移量不能为负数"
-#: executor/spi.c:211
+#: executor/spi.c:213
#, c-format
msgid "transaction left non-empty SPI stack"
msgstr "事物剩下非空的 SPI 栈"
-#: executor/spi.c:212 executor/spi.c:276
+#: executor/spi.c:214 executor/spi.c:278
#, c-format
msgid "Check for missing \"SPI_finish\" calls."
msgstr "检查是否缺少 \"SPI_finish\" 调用."
-#: executor/spi.c:275
+#: executor/spi.c:277
#, c-format
msgid "subtransaction left non-empty SPI stack"
msgstr "子事物剩下非空的 SPI 栈"
-#: executor/spi.c:1145
+#: executor/spi.c:1207
#, c-format
msgid "cannot open multi-query plan as cursor"
msgstr "无法作为游标打开多条查询规划"
#. translator: %s is name of a SQL command, eg INSERT
-#: executor/spi.c:1150
+#: executor/spi.c:1212
#, c-format
msgid "cannot open %s query as cursor"
msgstr "无法以游标的形式打开查询%s"
-#: executor/spi.c:1246 parser/analyze.c:2205
+#: executor/spi.c:1320
#, c-format
msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
msgstr "不支持DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE "
-#: executor/spi.c:1247 parser/analyze.c:2206
+#: executor/spi.c:1321 parser/analyze.c:2128
#, c-format
msgid "Scrollable cursors must be READ ONLY."
msgstr "可滚动游标必须为只读."
-#: executor/spi.c:2266
+#: executor/spi.c:2419
#, c-format
msgid "SQL statement \"%s\""
msgstr "SQL 语句 \"%s\""
-#: foreign/foreign.c:188
+#: foreign/foreign.c:192
#, c-format
msgid "user mapping not found for \"%s\""
msgstr "没有找到对于\"%s\"的用户映射"
-#: foreign/foreign.c:344
+#: foreign/foreign.c:348
#, c-format
msgid "foreign-data wrapper \"%s\" has no handler"
msgstr "外部数据封装器 \"%s\"没有处理函数"
-#: foreign/foreign.c:521
+#: foreign/foreign.c:573
#, c-format
msgid "invalid option \"%s\""
msgstr "无效选项 \"%s\""
-#: foreign/foreign.c:522
+#: foreign/foreign.c:574
#, c-format
msgid "Valid options in this context are: %s"
msgstr "这个环境中有效选项是:%s"
-#: lib/stringinfo.c:267
+#: gram.y:956
#, c-format
-msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes."
-msgstr "无法为包含%d字节的字符串缓冲区扩大%d个更多字节."
+msgid "unrecognized role option \"%s\""
+msgstr "无法识别的角色选项\"%s\""
-#: libpq/auth.c:257
+#: gram.y:1238 gram.y:1253
#, c-format
-msgid "authentication failed for user \"%s\": host rejected"
-msgstr "用户 \"%s\" 认证失败: 主机拒绝"
+msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements"
+msgstr "CREATE SCHEMA IF NOT EXISTS不能包含方案(schema)元素"
-#: libpq/auth.c:260
+#: gram.y:1398
#, c-format
-msgid "Kerberos 5 authentication failed for user \"%s\""
-msgstr "用户 \"%s\" Kerberos5 认证失败"
+msgid "current database cannot be changed"
+msgstr "不能改变当前使用的数据库"
-#: libpq/auth.c:263
+#: gram.y:1522 gram.y:1537
#, c-format
-msgid "\"trust\" authentication failed for user \"%s\""
-msgstr "用户 \"%s\" \"trust\" 认证失败"
+msgid "time zone interval must be HOUR or HOUR TO MINUTE"
+msgstr "时区间隔必须为 HOUR 或者 HOUR TO MINUTE"
-#: libpq/auth.c:266
+#: gram.y:1542 gram.y:10351 gram.y:12688
#, c-format
-msgid "Ident authentication failed for user \"%s\""
-msgstr "用户 \"%s\" Ident 认证失败"
+msgid "interval precision specified twice"
+msgstr "两次指定间隔精度"
-#: libpq/auth.c:269
+#: gram.y:2511 gram.y:2540
#, c-format
-msgid "Peer authentication failed for user \"%s\""
-msgstr "对用户\"%s\"的对等认证失败"
+msgid "STDIN/STDOUT not allowed with PROGRAM"
+msgstr "STDIN/STDOUT 不允许与PROGRAM一起使用"
-#: libpq/auth.c:273
+#: gram.y:2802 gram.y:2809 gram.y:9589 gram.y:9597
#, c-format
-msgid "password authentication failed for user \"%s\""
-msgstr "用户 \"%s\" Password 认证失败"
+msgid "GLOBAL is deprecated in temporary table creation"
+msgstr "GLOBAL在临时表中的创建中已经被废弃使用"
-#: libpq/auth.c:278
+#: gram.y:3248 utils/adt/ri_triggers.c:310 utils/adt/ri_triggers.c:367
+#: utils/adt/ri_triggers.c:786 utils/adt/ri_triggers.c:1009
+#: utils/adt/ri_triggers.c:1165 utils/adt/ri_triggers.c:1346
+#: utils/adt/ri_triggers.c:1511 utils/adt/ri_triggers.c:1687
+#: utils/adt/ri_triggers.c:1867 utils/adt/ri_triggers.c:2058
+#: utils/adt/ri_triggers.c:2116 utils/adt/ri_triggers.c:2221
+#: utils/adt/ri_triggers.c:2386
#, c-format
-msgid "GSSAPI authentication failed for user \"%s\""
-msgstr "对于用户\"%s\"的GSSAPI 认证失败"
+msgid "MATCH PARTIAL not yet implemented"
+msgstr "MATCH PARTIAL 仍未实现"
-#: libpq/auth.c:281
+#: gram.y:4482
+msgid "duplicate trigger events specified"
+msgstr "重复指定触发器事件"
+
+#: gram.y:4577 parser/parse_utilcmd.c:2569 parser/parse_utilcmd.c:2595
#, c-format
-msgid "SSPI authentication failed for user \"%s\""
-msgstr "对于用户 \"%s\" 的 SSPI 认证失败"
+msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
+msgstr "约束声明 INITIALLY DEFERRED 必须为 DEFERRABLE"
-#: libpq/auth.c:284
+#: gram.y:4584
#, c-format
-msgid "PAM authentication failed for user \"%s\""
-msgstr "ç\94¨æ\88· \"%s\" 认è¯\81 PAM 失败"
+msgid "conflicting constraint properties"
+msgstr "约æ\9d\9få±\9eæ\80§å\86²çª\81"
-#: libpq/auth.c:287
+#: gram.y:4716
#, c-format
-msgid "LDAP authentication failed for user \"%s\""
-msgstr "对于用户 \"%s\"的LDAP认证失败"
+msgid "CREATE ASSERTION is not yet implemented"
+msgstr "CREATE ASSERTION 仍未实现"
-#: libpq/auth.c:290
+#: gram.y:4732
#, c-format
-msgid "certificate authentication failed for user \"%s\""
-msgstr "用户 \"%s\" 的认证失败"
+msgid "DROP ASSERTION is not yet implemented"
+msgstr "DROP ASSERTION 仍未实现"
-#: libpq/auth.c:293
+#: gram.y:5078
#, c-format
-msgid "RADIUS authentication failed for user \"%s\""
-msgstr "用户 \"%s\" 的RADIUS认证失败"
+msgid "RECHECK is no longer required"
+msgstr "不再需要RECHECK选项了"
-#: libpq/auth.c:296
+# describe.c:289
+#: gram.y:5079
#, c-format
-msgid "authentication failed for user \"%s\": invalid authentication method"
-msgstr "用户 \"%s\" 认证失败: 无效的认证方式"
+msgid "Update your data type."
+msgstr "更改您的数据类型"
-#: libpq/auth.c:352
+#: gram.y:6540
#, c-format
-msgid "connection requires a valid client certificate"
-msgstr "连接中需要一个有效的客户端认证"
+#| msgid "aggregates cannot use named arguments"
+msgid "aggregates cannot have output arguments"
+msgstr "聚合函数不能使用输出参数"
-#: libpq/auth.c:394
+#: gram.y:6846 utils/adt/regproc.c:738 utils/adt/regproc.c:779
#, c-format
-msgid ""
-"pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
-msgstr "pg_hba.conf中的记录拒绝来自主机\"%s\",用户 \"%s\",%s的复制连接"
+msgid "missing argument"
+msgstr "缺少参数"
-#: libpq/auth.c:396 libpq/auth.c:412 libpq/auth.c:460 libpq/auth.c:478
-msgid "SSL off"
-msgstr "SSL 关闭"
+#: gram.y:6847 utils/adt/regproc.c:739 utils/adt/regproc.c:780
+#, c-format
+msgid "Use NONE to denote the missing argument of a unary operator."
+msgstr "使用 NONE 表示一元操作符缺少的参数."
-#: libpq/auth.c:396 libpq/auth.c:412 libpq/auth.c:460 libpq/auth.c:478
-msgid "SSL on"
-msgstr "SSL 开启"
+#: gram.y:8236 gram.y:8254
+#, c-format
+#| msgid "WITH CHECK OPTION is not implemented"
+msgid "WITH CHECK OPTION not supported on recursive views"
+msgstr "递归视图不能使用WITH CHECK OPTION"
-#: libpq/auth.c:400
+#: gram.y:9234
#, c-format
-msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\""
-msgstr "pg_hba.conf 记录拒绝来自主机\"%s\", 用户\"%s\"的复制连接"
+msgid "number of columns does not match number of values"
+msgstr "列的数量与值的数量不匹配"
-#: libpq/auth.c:409
+#: gram.y:9693
#, c-format
-msgid ""
-"pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s"
-"\", %s"
-msgstr ""
-"pg_hba.conf 记录拒绝来自主机\"%s\", 用户\"%s\", 数据库\"%s\", %s的复制连接"
+msgid "LIMIT #,# syntax is not supported"
+msgstr "不支持 LIMIT #,# 语法"
-#: libpq/auth.c:416
+#: gram.y:9694
#, c-format
-msgid ""
-"pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\""
-msgstr "pg_hba.conf 记录拒绝来自主机\"%s\", 用户\"%s\", 数据库\"%s\"的复制连接"
+msgid "Use separate LIMIT and OFFSET clauses."
+msgstr "LIMIT和OFFSET子句要分隔开"
-#: libpq/auth.c:445
+#: gram.y:9882 gram.y:9907
#, c-format
-msgid "Client IP address resolved to \"%s\", forward lookup matches."
-msgstr "客户端IP地址解析为 \"%s\", 与转发查找结果相匹配."
+msgid "VALUES in FROM must have an alias"
+msgstr "FROM中的VALUES子句必须有一个别名"
-#: libpq/auth.c:447
+#: gram.y:9883 gram.y:9908
#, c-format
-msgid "Client IP address resolved to \"%s\", forward lookup not checked."
-msgstr "客户端IP地址解析为 \"%s\", 转发查找结果没有检查."
+msgid "For example, FROM (VALUES ...) [AS] foo."
+msgstr "例如, FROM (SELECT ...) [AS] foo."
-#: libpq/auth.c:449
+#: gram.y:9888 gram.y:9913
#, c-format
-msgid "Client IP address resolved to \"%s\", forward lookup does not match."
-msgstr "客户端IP地址解析为 \"%s\", 与转发查找结果不匹配."
+msgid "subquery in FROM must have an alias"
+msgstr "FROM 中的子查询必须有一个别名"
-#: libpq/auth.c:458
+#: gram.y:9889 gram.y:9914
#, c-format
-msgid ""
-"no pg_hba.conf entry for replication connection from host \"%s\", user \"%s"
-"\", %s"
-msgstr "没有来自主机 \"%s\", 用户\"%s\", %s的复制连接的pg_hba.conf记录"
+msgid "For example, FROM (SELECT ...) [AS] foo."
+msgstr "例如, FROM (SELECT ...) [AS] foo."
-#: libpq/auth.c:465
+#: gram.y:10477
#, c-format
-msgid ""
-"no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\""
-msgstr "没有来自主机 \"%s\", 用户\"%s\"的复制连接的pg_hba.conf记录"
+msgid "precision for type float must be at least 1 bit"
+msgstr "浮点类型的精确度必须至少 1 位"
-#: libpq/auth.c:475
+#: gram.y:10486
#, c-format
-msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s"
-msgstr ""
-"没有用于主机 \"%s\", 用户 \"%s\", 数据库 \"%s\", %s 的 pg_hba.conf 记录"
+msgid "precision for type float must be less than 54 bits"
+msgstr "浮点类型的精确度必须小于 54 位"
-#: libpq/auth.c:483
+#: gram.y:10952
#, c-format
-msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\""
-msgstr "没有用于主机 \"%s\", 用户 \"%s\", 数据库 \"%s\" 的 pg_hba.conf 记录"
+msgid "wrong number of parameters on left side of OVERLAPS expression"
+msgstr "OVERLAPS 表达式左边的参数个数不对"
-#: libpq/auth.c:535 libpq/hba.c:1180
+#: gram.y:10957
#, c-format
-msgid ""
-"MD5 authentication is not supported when \"db_user_namespace\" is enabled"
-msgstr "当启用 \"db_user_namespace\" 时不支持 MD5 认证"
+msgid "wrong number of parameters on right side of OVERLAPS expression"
+msgstr "OVERLAPS 表达式右边的参数个数不对"
-#: libpq/auth.c:659
+#: gram.y:11141
#, c-format
-msgid "expected password response, got message type %d"
-msgstr "æ\9c\9fæ\9c\9bå¾\97å\88°å\8f£ä»¤å\9b\9eåº\94,ä½\86æ\98¯å¾\97å\88°äº\86æ¶\88æ\81¯ç±»å\9e\8b%d."
+msgid "UNIQUE predicate is not yet implemented"
+msgstr "没æ\9c\89å®\9eç\8e°UNIQUEè°\93è¯\8d"
-#: libpq/auth.c:687
+#: gram.y:11428
#, c-format
-msgid "invalid password packet size"
-msgstr "无效的口令包尺寸"
+#| msgid "multiple ORDER BY clauses not allowed"
+msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP"
+msgstr "WITHIN GROUP不允许多个 ORDER BY 子句"
-#: libpq/auth.c:691
+#: gram.y:11433
#, c-format
-msgid "received password packet"
-msgstr "接收到口令包"
+msgid "cannot use DISTINCT with WITHIN GROUP"
+msgstr "不能将 DISTINCT 和 WITHIN GROUP混在一起使用"
-#: libpq/auth.c:749
+#: gram.y:11438
#, c-format
-msgid "Kerberos initialization returned error %d"
-msgstr "Kerberos 初始化返回错误 %d"
+msgid "cannot use VARIADIC with WITHIN GROUP"
+msgstr "不能将 VARIADIC 和 WITHIN GROUP在一起混用"
-#: libpq/auth.c:759
+#: gram.y:11944
#, c-format
-msgid "Kerberos keytab resolving returned error %d"
-msgstr "Kerberos keytab 解析返回错误 %d"
+msgid "RANGE PRECEDING is only supported with UNBOUNDED"
+msgstr "UNBOUNDED不支持RANGE PRECEDING"
-#: libpq/auth.c:783
+#: gram.y:11950
#, c-format
-msgid "Kerberos sname_to_principal(\"%s\", \"%s\") returned error %d"
-msgstr "Kerberos sname_to_principal(\"%s\", \"%s\") 返回错误 %d"
+msgid "RANGE FOLLOWING is only supported with UNBOUNDED"
+msgstr "UNBOUNDED不支持RANGE FOLLOWING"
-#: libpq/auth.c:828
+#: gram.y:11977 gram.y:12000
#, c-format
-msgid "Kerberos recvauth returned error %d"
-msgstr "Kerberos recvauth 返回错误 %d"
+msgid "frame start cannot be UNBOUNDED FOLLOWING"
+msgstr "框架的起始位置不能被执行UNBOUNDED FOLLOWING操作."
-#: libpq/auth.c:851
+#: gram.y:11982
#, c-format
-msgid "Kerberos unparse_name returned error %d"
-msgstr "Kerberos unparse_name 返回错误 %d"
+msgid "frame starting from following row cannot end with current row"
+msgstr "从后面记录启动的窗口框架(frame)不能以当前记录结束"
-#: libpq/auth.c:999
+#: gram.y:12005
#, c-format
-msgid "GSSAPI is not supported in protocol version 2"
-msgstr "在协议版本2中不支持使用GSSAPI"
+msgid "frame end cannot be UNBOUNDED PRECEDING"
+msgstr "框架的结束位置不能被执行UNBOUNDED FOLLOWING操作."
-#: libpq/auth.c:1054
+#: gram.y:12011
#, c-format
-msgid "expected GSS response, got message type %d"
-msgstr "期望GSS回应,但是得到了信息类型%d"
-
-#: libpq/auth.c:1117
-msgid "accepting GSS security context failed"
-msgstr "接收GSS安全环境失败"
-
-#: libpq/auth.c:1143
-msgid "retrieving GSS user name failed"
-msgstr "获取GSS用户名失败"
+msgid "frame starting from current row cannot have preceding rows"
+msgstr "从当前记录启动的窗口框架(frame)不能拥有正在处理的记录"
-#: libpq/auth.c:1260
+#: gram.y:12018
#, c-format
-msgid "SSPI is not supported in protocol version 2"
-msgstr "在协议版本2中不支持使用SSPI"
+msgid "frame starting from following row cannot have preceding rows"
+msgstr "从后面记录启动的窗口框架(frame)不能拥有正在处理的记录"
-#: libpq/auth.c:1275
-msgid "could not acquire SSPI credentials"
-msgstr "无法获得同等 (peer) 证书: %m"
+#: gram.y:12657
+#, c-format
+msgid "type modifier cannot have parameter name"
+msgstr "类型修改器不能有参数名称"
-#: libpq/auth.c:1292
+#: gram.y:12663
#, c-format
-msgid "expected SSPI response, got message type %d"
-msgstr "期望SSPI回应,但是得到了消息类型%d"
+#| msgid "type modifier cannot have parameter name"
+msgid "type modifier cannot have ORDER BY"
+msgstr "类型修改器不能有ORDER BY"
-#: libpq/auth.c:1364
-msgid "could not accept SSPI security context"
-msgstr "无法访问SSPI安全环境"
+#: gram.y:13284 gram.y:13459
+msgid "improper use of \"*\""
+msgstr "对\"*\"的使用不正确"
-#: libpq/auth.c:1426
-msgid "could not get token from SSPI security context"
-msgstr "无法从SSPI安全环境中获取令牌(token)"
+#: gram.y:13422 gram.y:13439 tsearch/spell.c:518 tsearch/spell.c:535
+#: tsearch/spell.c:552 tsearch/spell.c:569 tsearch/spell.c:591
+#, c-format
+msgid "syntax error"
+msgstr "语法错误"
-#: libpq/auth.c:1670
+#: gram.y:13523
#, c-format
-msgid "could not create socket for Ident connection: %m"
-msgstr "无法为 Ident 联接创建套接字: %m"
+msgid ""
+"an ordered-set aggregate with a VARIADIC direct argument must have one "
+"VARIADIC aggregated argument of the same data type"
+msgstr "带可变直接参数的有序集聚集函数必须有一个 相同类型的VARIADIC 聚集参数 "
-#: libpq/auth.c:1685
+#: gram.y:13560
#, c-format
-msgid "could not bind to local address \"%s\": %m"
-msgstr "无法绑定到本地地址 \"%s\": %m"
+msgid "multiple ORDER BY clauses not allowed"
+msgstr "不允许多个 ORDER BY 子句"
-#: libpq/auth.c:1697
+#: gram.y:13571
#, c-format
-msgid "could not connect to Ident server at address \"%s\", port %s: %m"
-msgstr "无法联接到地址为 \"%s\", 端口为 %s 的 Ident 服务器: %m"
+msgid "multiple OFFSET clauses not allowed"
+msgstr "不允许多个 OFFSET 子句"
-#: libpq/auth.c:1717
+#: gram.y:13580
#, c-format
-msgid "could not send query to Ident server at address \"%s\", port %s: %m"
-msgstr "无法发送查询到地址为 \"%s\", 端口为 %s 的 Ident 服务器: %m"
+msgid "multiple LIMIT clauses not allowed"
+msgstr "不允许多个 LIMIT 子句"
-#: libpq/auth.c:1732
+#: gram.y:13589
#, c-format
-msgid ""
-"could not receive response from Ident server at address \"%s\", port %s: %m"
-msgstr "无法从地址为 \"%s\", 端口为 %s 的 Ident 服务器接收应答: %m"
+msgid "multiple WITH clauses not allowed"
+msgstr "不允许使用多个WITH子句"
-#: libpq/auth.c:1742
+#: gram.y:13729
#, c-format
-msgid "invalidly formatted response from Ident server: \"%s\""
-msgstr "从 Ident 服务器接收的无效格式应答: \"%s\""
+msgid "OUT and INOUT arguments aren't allowed in TABLE functions"
+msgstr "在TABLE函数中不允许使用OUT或INOUT模式的参数"
-# fe-auth.c:640
-#: libpq/auth.c:1781
+#: gram.y:13830
#, c-format
-msgid "peer authentication is not supported on this platform"
-msgstr "对等认证在这个平台上不支持"
+msgid "multiple COLLATE clauses not allowed"
+msgstr "不允许多个 COLLATE 子句"
-#: libpq/auth.c:1785
+#. translator: %s is CHECK, UNIQUE, or similar
+#: gram.y:13868 gram.y:13881
#, c-format
-msgid "could not get peer credentials: %m"
-msgstr "无法获得同等 (peer) 证书: %m"
+msgid "%s constraints cannot be marked DEFERRABLE"
+msgstr "%s约束不能标为DEFERRABLE"
-#: libpq/auth.c:1794
+#. translator: %s is CHECK, UNIQUE, or similar
+#: gram.y:13894
#, c-format
-msgid "local user with ID %d does not exist"
-msgstr "ID 为 %d 的本地用户不存在"
+msgid "%s constraints cannot be marked NOT VALID"
+msgstr "%s约束不能标为NOT VALID"
-#: libpq/auth.c:1877 libpq/auth.c:2149 libpq/auth.c:2509
+#. translator: %s is CHECK, UNIQUE, or similar
+#: gram.y:13907
#, c-format
-msgid "empty password returned by client"
-msgstr "客户端返回了空口令"
+msgid "%s constraints cannot be marked NO INHERIT"
+msgstr "%s约束不能标为NO INHERIT"
-#: libpq/auth.c:1887
+#: guc-file.l:263
#, c-format
-msgid "error from underlying PAM layer: %s"
-msgstr "æ\9d¥è\87ª PAM å±\82ä¸\8bé\9d¢ç\9a\84é\94\99误: %s"
+msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %u"
+msgstr "æ\9cªè®¤å\8f¯ç\9a\84é\85\8dç½®å\8f\82æ\95° \"%s\", æ\96\87ä»¶\"%s\", è¡\8c%u"
-#: libpq/auth.c:1956
+#: guc-file.l:299 utils/misc/guc.c:5650 utils/misc/guc.c:5833
+#: utils/misc/guc.c:5919 utils/misc/guc.c:6005 utils/misc/guc.c:6109
+#: utils/misc/guc.c:6200
#, c-format
-msgid "could not create PAM authenticator: %s"
-msgstr "无法创建 PAM 类型器: %s"
+msgid "parameter \"%s\" cannot be changed without restarting the server"
+msgstr "在没有启动服务器的情况下,不能改变参数 \"%s\" "
-#: libpq/auth.c:1967
+#: guc-file.l:327
#, c-format
-msgid "pam_set_item(PAM_USER) failed: %s"
-msgstr "pam_set_item(PAM_USER) 失败: %s"
+msgid "parameter \"%s\" removed from configuration file, reset to default"
+msgstr "参数\"%s\"已从配置文件中删除,重新设置为缺省"
-#: libpq/auth.c:1978
+#: guc-file.l:389
#, c-format
-msgid "pam_set_item(PAM_CONV) failed: %s"
-msgstr "pam_set_item(PAM_CONV) 失败: %s"
+msgid "parameter \"%s\" changed to \"%s\""
+msgstr "参数 \"%s\"被改为\"%s\""
-#: libpq/auth.c:1989
+#: guc-file.l:424
#, c-format
-msgid "pam_authenticate failed: %s"
-msgstr "pam_authenticate 失败: %s"
+msgid "configuration file \"%s\" contains errors"
+msgstr "配置文件 \"%s\" 有错"
-#: libpq/auth.c:2000
+#: guc-file.l:429
#, c-format
-msgid "pam_acct_mgmt failed: %s"
-msgstr "pam_acct_mgmt 失败: %s"
+msgid ""
+"configuration file \"%s\" contains errors; unaffected changes were applied"
+msgstr "配置文件 \"%s\" 有错; 使用了不受影响的内容变动"
-#: libpq/auth.c:2011
+#: guc-file.l:434
#, c-format
-msgid "could not release PAM authenticator: %s"
-msgstr "无法释放 PAM 类型器: %s"
+msgid "configuration file \"%s\" contains errors; no changes were applied"
+msgstr "配置文件 \"%s\" 有错; 没有内容变动"
-#: libpq/auth.c:2044 libpq/auth.c:2048
+#: guc-file.l:504
#, c-format
-msgid "could not initialize LDAP: error code %d"
-msgstr "无法初始化LDAP: 错误代码%d"
+msgid ""
+"could not open configuration file \"%s\": maximum nesting depth exceeded"
+msgstr "无法打开配置文件 \"%s\": 已超过最大的嵌套深度"
-#: libpq/auth.c:2058
+#: guc-file.l:517 libpq/hba.c:1789
#, c-format
-msgid "could not set LDAP protocol version: error code %d"
-msgstr "无法设置LDAP协议版本: 错误代码 %d"
+msgid "could not open configuration file \"%s\": %m"
+msgstr "无法打开配置文件 \"%s\": %m"
-#: libpq/auth.c:2087
+#: guc-file.l:524
#, c-format
-msgid "could not load wldap32.dll"
-msgstr "无法加载wldap32.dll"
+msgid "skipping missing configuration file \"%s\""
+msgstr "忽略丢失的配置文件\"%s\""
-#: libpq/auth.c:2095
+#: guc-file.l:763
#, c-format
-msgid "could not load function _ldap_start_tls_sA in wldap32.dll"
-msgstr "无法加载在wldap32.dll中的函数_ldap_start_tls_sA"
+msgid "syntax error in file \"%s\" line %u, near end of line"
+msgstr "在文件 \"%s\" 第 %u 行, 行尾附近语法错误"
-#: libpq/auth.c:2096
+#: guc-file.l:768
#, c-format
-msgid "LDAP over SSL is not supported on this platform."
-msgstr "å\9c¨æ¤å¹³å\8f°ä¸\8aä¸\8dæ\94¯æ\8c\81å\9c¨SSLè¿\9eæ\8e¥ä¸\8aç\9a\84LDAP"
+msgid "syntax error in file \"%s\" line %u, near token \"%s\""
+msgstr "å\9c¨æ\96\87ä»¶ \"%s\" 第 %u è¡\8c, è®°å\8f· \"%s\" é\99\84è¿\91è¯æ³\95é\94\99误"
-#: libpq/auth.c:2111
+#: guc-file.l:784
#, c-format
-msgid "could not start LDAP TLS session: error code %d"
-msgstr "无法启动LDAP TLS会话: 错误码 %d"
+msgid "too many syntax errors found, abandoning file \"%s\""
+msgstr "发现太多的语法错误, 放弃文件 \"%s\""
-#: libpq/auth.c:2133
+#: guc-file.l:829
#, c-format
-msgid "LDAP server not specified"
-msgstr "没有指定LDAP服务器"
+#| msgid "could not open configuration file \"%s\": %m"
+msgid "could not open configuration directory \"%s\": %m"
+msgstr "无法打开配置文件目录 \"%s\": %m"
-#: libpq/auth.c:2185
+#: lib/stringinfo.c:259
#, c-format
-msgid "invalid character in user name for LDAP authentication"
-msgstr "在需要进行LDAP认证的用户名中出现无效字符"
+msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes."
+msgstr "无法为包含%d字节的字符串缓冲区扩大%d个更多字节."
-#: libpq/auth.c:2200
+#: libpq/auth.c:235
#, c-format
-msgid ""
-"could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": "
-"error code %d"
-msgstr ""
-"无法在服务器\"%2$s\"上为ldapbinddn\"%1$s\"执行初始化LDAP绑定: 错误代码%3$d"
+msgid "authentication failed for user \"%s\": host rejected"
+msgstr "用户 \"%s\" 认证失败: 主机拒绝"
-#: libpq/auth.c:2225
+#: libpq/auth.c:238
#, c-format
-msgid "could not search LDAP for filter \"%s\" on server \"%s\": error code %d"
-msgstr "无法在服务器\"%2$s\"上为过滤器\"%1$s\"进行的搜索LDAP:错误代码%3$d"
+msgid "\"trust\" authentication failed for user \"%s\""
+msgstr "用户 \"%s\" \"trust\" 认证失败"
-#: libpq/auth.c:2235
+#: libpq/auth.c:241
#, c-format
-msgid "LDAP search failed for filter \"%s\" on server \"%s\": no such user"
-msgstr "在服务器\"%2$s\"上为过滤器\"%1$s\"进行的LDAP搜索失败:没有此用户"
+msgid "Ident authentication failed for user \"%s\""
+msgstr "用户 \"%s\" Ident 认证失败"
-#: libpq/auth.c:2239
+#: libpq/auth.c:244
#, c-format
-msgid ""
-"LDAP search failed for filter \"%s\" on server \"%s\": user is not unique "
-"(%ld matches)"
-msgstr ""
-"在服务器\"%2$s\"上的为过滤器\"%1$s\"进行的LDAP搜索失败:用户不是唯一的(找"
-"到%3$ld个匹配)"
+msgid "Peer authentication failed for user \"%s\""
+msgstr "对用户\"%s\"的对等认证失败"
-#: libpq/auth.c:2256
+#: libpq/auth.c:248
#, c-format
-msgid ""
-"could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
-msgstr "无法为在服务器\"%2$s\"上第一个与\"%1$s\"匹配的项获取dn: %3$s"
+msgid "password authentication failed for user \"%s\""
+msgstr "用户 \"%s\" Password 认证失败"
-#: libpq/auth.c:2276
+#: libpq/auth.c:253
#, c-format
-msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s"
-msgstr "å\9c¨æ\9c\8då\8a¡å\99¨ \"%2$s\"ä¸\8aæ\90\9cç´¢ç\94¨æ\88·\"%1$s\"å\90\8eæ\97 æ³\95è§£é\99¤ç»\91å®\9a:%3$s"
+msgid "GSSAPI authentication failed for user \"%s\""
+msgstr "对äº\8eç\94¨æ\88·\"%s\"ç\9a\84GSSAPI 认è¯\81失败"
-#: libpq/auth.c:2313
+#: libpq/auth.c:256
#, c-format
-msgid "LDAP login failed for user \"%s\" on server \"%s\": error code %d"
-msgstr "用户 \"%s\" 在服务器 \"%s\" 进行LDAP登录失败:错误代码 %d"
+msgid "SSPI authentication failed for user \"%s\""
+msgstr "对于用户 \"%s\" 的 SSPI 认证失败"
-#: libpq/auth.c:2341
+#: libpq/auth.c:259
#, c-format
-msgid ""
-"certificate authentication failed for user \"%s\": client certificate "
-"contains no user name"
-msgstr "用户\"%s\"的认证鉴权失败: 客户端认证没有包含用户名"
+msgid "PAM authentication failed for user \"%s\""
+msgstr "用户 \"%s\" 认证 PAM 失败"
-#: libpq/auth.c:2465
+#: libpq/auth.c:262
#, c-format
-msgid "RADIUS server not specified"
-msgstr "没有指定RADIUS服务器"
+msgid "LDAP authentication failed for user \"%s\""
+msgstr "对于用户 \"%s\"的LDAP认证失败"
-#: libpq/auth.c:2472
+#: libpq/auth.c:265
#, c-format
-msgid "RADIUS secret not specified"
-msgstr "没有指定RADIUS机密(secret) "
+msgid "certificate authentication failed for user \"%s\""
+msgstr "用户 \"%s\" 的认证失败"
-#: libpq/auth.c:2488 libpq/hba.c:1543
+#: libpq/auth.c:268
#, c-format
-msgid "could not translate RADIUS server name \"%s\" to address: %s"
-msgstr "无法将RADIUS服务器名称 \"%s\" 翻译为相应地址:%s"
+msgid "RADIUS authentication failed for user \"%s\""
+msgstr "用户 \"%s\" 的RADIUS认证失败"
-#: libpq/auth.c:2516
+#: libpq/auth.c:271
#, c-format
-msgid ""
-"RADIUS authentication does not support passwords longer than 16 characters"
-msgstr "RADIUS认证不支持长度超过16个字符的口令"
+msgid "authentication failed for user \"%s\": invalid authentication method"
+msgstr "用户 \"%s\" 认证失败: 无效的认证方式"
-#: libpq/auth.c:2527
+#: libpq/auth.c:275
#, c-format
-msgid "could not generate random encryption vector"
-msgstr "无法产生随机加密向量"
+msgid "Connection matched pg_hba.conf line %d: \"%s\""
+msgstr "与Connection相匹配的文件行位于 pg_hba.conf %d: \"%s\""
-#: libpq/auth.c:2550
+#: libpq/auth.c:337
#, c-format
-msgid "could not perform MD5 encryption of password"
-msgstr "无法执行口令的MD5加密"
+msgid "connection requires a valid client certificate"
+msgstr "连接中需要一个有效的客户端认证"
-#: libpq/auth.c:2572
+#: libpq/auth.c:379
#, c-format
-msgid "could not create RADIUS socket: %m"
-msgstr "无法创建RADIUS套接字: %m"
+msgid ""
+"pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
+msgstr "pg_hba.conf中的记录拒绝来自主机\"%s\",用户 \"%s\",%s的复制连接"
-#: libpq/auth.c:2593
-#, c-format
-msgid "could not bind local RADIUS socket: %m"
-msgstr "无法绑定本地RADIUS套接字: %m"
+#: libpq/auth.c:381 libpq/auth.c:397 libpq/auth.c:455 libpq/auth.c:473
+msgid "SSL off"
+msgstr "SSL 关闭"
-#: libpq/auth.c:2603
-#, c-format
-msgid "could not send RADIUS packet: %m"
-msgstr "无法发送RADIUS包: %m"
+#: libpq/auth.c:381 libpq/auth.c:397 libpq/auth.c:455 libpq/auth.c:473
+msgid "SSL on"
+msgstr "SSL 开启"
-#: libpq/auth.c:2632 libpq/auth.c:2657
+#: libpq/auth.c:385
#, c-format
-msgid "timeout waiting for RADIUS response"
-msgstr "在等待RADIUS回应包时超时"
+msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\""
+msgstr "pg_hba.conf 记录拒绝来自主机\"%s\", 用户\"%s\"的复制连接"
-#: libpq/auth.c:2650
+#: libpq/auth.c:394
#, c-format
-msgid "could not check status on RADIUS socket: %m"
-msgstr "无法在RADIUS套接字上检查状态: %m"
+msgid ""
+"pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s"
+"\", %s"
+msgstr ""
+"pg_hba.conf 记录拒绝来自主机\"%s\", 用户\"%s\", 数据库\"%s\", %s的复制连接"
-#: libpq/auth.c:2679
+#: libpq/auth.c:401
#, c-format
-msgid "could not read RADIUS response: %m"
-msgstr "无法读取RADIUS回应包: %m"
+msgid ""
+"pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\""
+msgstr "pg_hba.conf 记录拒绝来自主机\"%s\", 用户\"%s\", 数据库\"%s\"的复制连接"
-#: libpq/auth.c:2691 libpq/auth.c:2695
+#: libpq/auth.c:430
#, c-format
-msgid "RADIUS response was sent from incorrect port: %d"
-msgstr "RADIUS回应数据包是从不正确的端口中发出的: %d"
+msgid "Client IP address resolved to \"%s\", forward lookup matches."
+msgstr "客户端IP地址解析为 \"%s\", 与转发查找结果相匹配."
-#: libpq/auth.c:2704
+#: libpq/auth.c:433
#, c-format
-msgid "RADIUS response too short: %d"
-msgstr "RADIUS回应包的长度太短:%d"
+msgid "Client IP address resolved to \"%s\", forward lookup not checked."
+msgstr "客户端IP地址解析为 \"%s\", 转发查找结果没有检查."
-#: libpq/auth.c:2711
+#: libpq/auth.c:436
#, c-format
-msgid "RADIUS response has corrupt length: %d (actual length %d)"
-msgstr "RADIUS回应包的长度不正确:%i(实际长度是%d)"
+msgid "Client IP address resolved to \"%s\", forward lookup does not match."
+msgstr "客户端IP地址解析为 \"%s\", 与转发查找结果不匹配."
-#: libpq/auth.c:2719
+# fe-misc.c:702
+#: libpq/auth.c:439
#, c-format
-msgid "RADIUS response is to a different request: %d (should be %d)"
-msgstr "RADIUS回应包发送到了一个不同的请求上:%d (应该是%d)"
+#| msgid "could not translate host name \"%s\" to address: %s"
+msgid "Could not translate client host name \"%s\" to IP address: %s."
+msgstr "无法解析主机名 \"%s\" 对应的IP地址: %s."
-#: libpq/auth.c:2744
+# fe-connect.c:1283
+#: libpq/auth.c:444
#, c-format
-msgid "could not perform MD5 encryption of received packet"
-msgstr "无法执行所接收数据包的MD5加密"
+#| msgid "could not get client address from socket: %s\n"
+msgid "Could not resolve client IP address to a host name: %s."
+msgstr "无法解析客户端地址主机名: %s."
-#: libpq/auth.c:2753
+#: libpq/auth.c:453
#, c-format
-msgid "RADIUS response has incorrect MD5 signature"
-msgstr "RADIUS回应包带有不正确的MD5签名"
+msgid ""
+"no pg_hba.conf entry for replication connection from host \"%s\", user \"%s"
+"\", %s"
+msgstr "没有来自主机 \"%s\", 用户\"%s\", %s的复制连接的pg_hba.conf记录"
-#: libpq/auth.c:2770
+#: libpq/auth.c:460
#, c-format
-msgid "RADIUS response has invalid code (%d) for user \"%s\""
-msgstr "对于用户\"%2$s\"来说RADIUS回应包带有无效编码(%1$d) "
+msgid ""
+"no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\""
+msgstr "没有来自主机 \"%s\", 用户\"%s\"的复制连接的pg_hba.conf记录"
-#: libpq/be-fsstubs.c:132 libpq/be-fsstubs.c:162 libpq/be-fsstubs.c:188
-#: libpq/be-fsstubs.c:224 libpq/be-fsstubs.c:271 libpq/be-fsstubs.c:518
+#: libpq/auth.c:470
#, c-format
-msgid "invalid large-object descriptor: %d"
-msgstr "无效的大对象描述符: %d"
+msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s"
+msgstr ""
+"没有用于主机 \"%s\", 用户 \"%s\", 数据库 \"%s\", %s 的 pg_hba.conf 记录"
-#: libpq/be-fsstubs.c:172 libpq/be-fsstubs.c:204 libpq/be-fsstubs.c:528
+#: libpq/auth.c:478
#, c-format
-msgid "permission denied for large object %u"
-msgstr "访问大对象%u的权限不够"
+msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\""
+msgstr "没有用于主机 \"%s\", 用户 \"%s\", 数据库 \"%s\" 的 pg_hba.conf 记录"
-#: libpq/be-fsstubs.c:193
+#: libpq/auth.c:521 libpq/hba.c:1212
#, c-format
-msgid "large object descriptor %d was not opened for writing"
-msgstr "无法打开大对象描述符%d进行写操作"
+msgid ""
+"MD5 authentication is not supported when \"db_user_namespace\" is enabled"
+msgstr "当启用 \"db_user_namespace\" 时不支持 MD5 认证"
-#: libpq/be-fsstubs.c:391
+#: libpq/auth.c:645
#, c-format
-msgid "must be superuser to use server-side lo_import()"
-msgstr "必须是超级用户才可以使用服务器端的 lo_import()"
+msgid "expected password response, got message type %d"
+msgstr "期望得到口令回应,但是得到了消息类型%d."
-#: libpq/be-fsstubs.c:392
+#: libpq/auth.c:673
#, c-format
-msgid "Anyone can use the client-side lo_import() provided by libpq."
-msgstr "任何人都可以使用 libpq 提供的客户端 lo_import()."
+msgid "invalid password packet size"
+msgstr "无效的口令包尺寸"
-#: libpq/be-fsstubs.c:405
+#: libpq/auth.c:677
#, c-format
-msgid "could not open server file \"%s\": %m"
-msgstr "æ\97 æ³\95æ\89\93å¼\80æ\9c\8då\8a¡å\99¨æ\96\87ä»¶ \"%s\": %m"
+msgid "received password packet"
+msgstr "æ\8e¥æ\94¶å\88°å\8f£ä»¤å\8c\85"
-#: libpq/be-fsstubs.c:427
+#: libpq/auth.c:804
#, c-format
-msgid "could not read server file \"%s\": %m"
-msgstr "无法读取服务器文件 \"%s\": %m"
+msgid "GSSAPI is not supported in protocol version 2"
+msgstr "在协议版本2中不支持使用GSSAPI"
-#: libpq/be-fsstubs.c:457
+#: libpq/auth.c:859
#, c-format
-msgid "must be superuser to use server-side lo_export()"
-msgstr "必须是超级用户才可以使用服务器端的 lo_export()"
+msgid "expected GSS response, got message type %d"
+msgstr "期望GSS回应,但是得到了信息类型%d"
-#: libpq/be-fsstubs.c:458
-#, c-format
-msgid "Anyone can use the client-side lo_export() provided by libpq."
-msgstr "任何人都可以使用 libpq 提供的客户端 lo_export()."
+#: libpq/auth.c:918
+msgid "accepting GSS security context failed"
+msgstr "接收GSS安全环境失败"
-#: libpq/be-fsstubs.c:483
-#, c-format
-msgid "could not create server file \"%s\": %m"
-msgstr "无法创建服务器文件 \"%s\": %m"
+#: libpq/auth.c:944
+msgid "retrieving GSS user name failed"
+msgstr "获取GSS用户名失败"
-#: libpq/be-fsstubs.c:495
+#: libpq/auth.c:1061
#, c-format
-msgid "could not write server file \"%s\": %m"
-msgstr "无法写入服务器文件 \"%s\": %m"
+msgid "SSPI is not supported in protocol version 2"
+msgstr "在协议版本2中不支持使用SSPI"
-#: libpq/be-secure.c:284 libpq/be-secure.c:379
+#: libpq/auth.c:1076
+msgid "could not acquire SSPI credentials"
+msgstr "无法获得SSPI证书"
+
+#: libpq/auth.c:1093
#, c-format
-msgid "SSL error: %s"
-msgstr "SSL 错误: %s"
+msgid "expected SSPI response, got message type %d"
+msgstr "期望SSPI回应,但是得到了消息类型%d"
+
+#: libpq/auth.c:1165
+msgid "could not accept SSPI security context"
+msgstr "无法访问SSPI安全环境"
+
+#: libpq/auth.c:1227
+msgid "could not get token from SSPI security context"
+msgstr "无法从SSPI安全环境中获取令牌(token)"
-#: libpq/be-secure.c:293 libpq/be-secure.c:388 libpq/be-secure.c:939
+#: libpq/auth.c:1470
#, c-format
-msgid "unrecognized SSL error code: %d"
-msgstr "æ\9cªç\9f¥ç\9a\84 SSL é\94\99误ç \81: %d"
+msgid "could not create socket for Ident connection: %m"
+msgstr "æ\97 æ³\95为 Ident è\81\94æ\8e¥å\88\9b建å¥\97æ\8e¥å\97: %m"
-#: libpq/be-secure.c:332 libpq/be-secure.c:336 libpq/be-secure.c:346
+#: libpq/auth.c:1485
#, c-format
-msgid "SSL renegotiation failure"
-msgstr "SSL 协商失败"
+msgid "could not bind to local address \"%s\": %m"
+msgstr "无法绑定到本地地址 \"%s\": %m"
-#: libpq/be-secure.c:340
+#: libpq/auth.c:1497
#, c-format
-msgid "SSL failed to send renegotiation request"
-msgstr "发送 SSL 协商响应失败"
+msgid "could not connect to Ident server at address \"%s\", port %s: %m"
+msgstr "无法联接到地址为 \"%s\", 端口为 %s 的 Ident 服务器: %m"
-#: libpq/be-secure.c:737
+#: libpq/auth.c:1517
#, c-format
-msgid "could not create SSL context: %s"
-msgstr "æ\97 æ³\95å\88\9b建 SSL ç\8e¯å¢\83: %s"
+msgid "could not send query to Ident server at address \"%s\", port %s: %m"
+msgstr "æ\97 æ³\95å\8f\91é\80\81æ\9f¥è¯¢å\88°å\9c°å\9d\80为 \"%s\", 端å\8f£ä¸º %s ç\9a\84 Ident æ\9c\8då\8a¡å\99¨: %m"
-#: libpq/be-secure.c:753
+#: libpq/auth.c:1532
#, c-format
-msgid "could not load server certificate file \"%s\": %s"
-msgstr "无法装载服务器认证文件 \"%s\": %s"
+msgid ""
+"could not receive response from Ident server at address \"%s\", port %s: %m"
+msgstr "无法从地址为 \"%s\", 端口为 %s 的 Ident 服务器接收应答: %m"
-#: libpq/be-secure.c:759
+#: libpq/auth.c:1542
#, c-format
-msgid "could not access private key file \"%s\": %m"
-msgstr "无法处理私钥文件 \"%s\": %m"
+msgid "invalidly formatted response from Ident server: \"%s\""
+msgstr "从 Ident 服务器接收的无效格式应答: \"%s\""
-#: libpq/be-secure.c:774
+# fe-auth.c:640
+#: libpq/auth.c:1580
#, c-format
-msgid "private key file \"%s\" has group or world access"
-msgstr "私钥文件\"%s\"具有由所在组或全局范围访问的权限"
+msgid "peer authentication is not supported on this platform"
+msgstr "对等认证在这个平台上不支持"
-#: libpq/be-secure.c:776
+#: libpq/auth.c:1584
#, c-format
-msgid "Permissions should be u=rw (0600) or less."
-msgstr "æ\9d\83é\99\90åº\94该为u=rw (0600)æ\88\96è\80\85æ\9b´å°\91"
+msgid "could not get peer credentials: %m"
+msgstr "æ\97 æ³\95è\8e·å¾\97å\90\8cç\89 (peer) è¯\81书: %m"
-#: libpq/be-secure.c:783
+#: libpq/auth.c:1593
#, c-format
-msgid "could not load private key file \"%s\": %s"
-msgstr "无法装载私钥文件 \"%s\": %s"
+#| msgid "could not set session user to \"%s\": %s"
+msgid "could not to look up local user ID %ld: %s"
+msgstr "无法查找本地用户 ID %ld: %s"
-#: libpq/be-secure.c:788
+#: libpq/auth.c:1676 libpq/auth.c:1947 libpq/auth.c:2304
#, c-format
-msgid "check of private key failed: %s"
-msgstr "检查私钥失败: %s"
+msgid "empty password returned by client"
+msgstr "客户端返回了空口令"
-#: libpq/be-secure.c:808
+#: libpq/auth.c:1686
#, c-format
-msgid "could not load root certificate file \"%s\": %s"
-msgstr "æ\97 æ³\95è£\85è½½æ ¹ (root) 认è¯\81æ\96\87ä»¶ \"%s\": %s"
+msgid "error from underlying PAM layer: %s"
+msgstr "æ\9d¥è\87ª PAM å±\82ä¸\8bé\9d¢ç\9a\84é\94\99误: %s"
-#: libpq/be-secure.c:832
+#: libpq/auth.c:1755
#, c-format
-msgid "SSL certificate revocation list file \"%s\" ignored"
-msgstr "忽略SSL认证撤销列表文件 \"%s\""
+msgid "could not create PAM authenticator: %s"
+msgstr "无法创建 PAM 类型器: %s"
-#: libpq/be-secure.c:834
+#: libpq/auth.c:1766
#, c-format
-msgid "SSL library does not support certificate revocation lists."
-msgstr "SSL库不支持认证撤销列表"
+msgid "pam_set_item(PAM_USER) failed: %s"
+msgstr "pam_set_item(PAM_USER) 失败: %s"
-#: libpq/be-secure.c:839
+#: libpq/auth.c:1777
#, c-format
-msgid "could not load SSL certificate revocation list file \"%s\": %s"
-msgstr "无法装载根 (root)证书取消列表文件 \"%s\": %s"
+msgid "pam_set_item(PAM_CONV) failed: %s"
+msgstr "pam_set_item(PAM_CONV) 失败: %s"
-#: libpq/be-secure.c:884
+#: libpq/auth.c:1788
#, c-format
-msgid "could not initialize SSL connection: %s"
-msgstr "æ\97 æ³\95å\88\9då§\8bå\8c\96 SSL è\81\94æ\8e¥: %s"
+msgid "pam_authenticate failed: %s"
+msgstr "pam_authenticate 失败: %s"
-#: libpq/be-secure.c:893
+#: libpq/auth.c:1799
#, c-format
-msgid "could not set SSL socket: %s"
-msgstr "无法创建 SSL 套接字: %s"
+msgid "pam_acct_mgmt failed: %s"
+msgstr "pam_acct_mgmt 失败: %s"
-#: libpq/be-secure.c:919
+#: libpq/auth.c:1810
#, c-format
-msgid "could not accept SSL connection: %m"
-msgstr "无法访问 SSL 联接: %m"
+msgid "could not release PAM authenticator: %s"
+msgstr "无法释放 PAM 类型器: %s"
-#: libpq/be-secure.c:923 libpq/be-secure.c:934
+#: libpq/auth.c:1843
#, c-format
-msgid "could not accept SSL connection: EOF detected"
-msgstr "无法访问 SSL 联接: 发现 EOF"
+#| msgid "could not initialize LDAP: error code %d"
+msgid "could not initialize LDAP: %m"
+msgstr "无法初始化LDAP: %m"
-#: libpq/be-secure.c:928
+#: libpq/auth.c:1846
#, c-format
-msgid "could not accept SSL connection: %s"
-msgstr "无法访问 SSL 联接: %s"
+msgid "could not initialize LDAP: error code %d"
+msgstr "无法初始化LDAP: 错误代码%d"
-#: libpq/be-secure.c:984
+#: libpq/auth.c:1856
#, c-format
-msgid "SSL certificate's common name contains embedded null"
-msgstr "在SSL认证的普通名称中包含嵌入的空值"
+#| msgid "could not set LDAP protocol version: error code %d"
+msgid "could not set LDAP protocol version: %s"
+msgstr "无法设置LDAP协议版本: %s"
-#: libpq/be-secure.c:995
+#: libpq/auth.c:1885
#, c-format
-msgid "SSL connection from \"%s\""
-msgstr "æ\9d¥è\87ª \"%s\" ç\9a\84 SSL è\81\94æ\8e¥"
+msgid "could not load wldap32.dll"
+msgstr "æ\97 æ³\95å\8a è½½wldap32.dll"
-#: libpq/be-secure.c:1046
-msgid "no SSL error reported"
-msgstr "没有报告SSL错误"
+#: libpq/auth.c:1893
+#, c-format
+msgid "could not load function _ldap_start_tls_sA in wldap32.dll"
+msgstr "无法加载在wldap32.dll中的函数_ldap_start_tls_sA"
-#: libpq/be-secure.c:1050
+#: libpq/auth.c:1894
#, c-format
-msgid "SSL error code %lu"
-msgstr "SSL错误代码 %lu"
+msgid "LDAP over SSL is not supported on this platform."
+msgstr "在此平台上不支持在SSL连接上的LDAP"
-#: libpq/hba.c:181
+#: libpq/auth.c:1909
#, c-format
-msgid "authentication file token too long, skipping: \"%s\""
-msgstr "认证文件标记 (token) 太长, 忽略: \"%s\""
+#| msgid "could not start LDAP TLS session: error code %d"
+msgid "could not start LDAP TLS session: %s"
+msgstr "无法启动LDAP TLS会话: %s"
-#: libpq/hba.c:326
+#: libpq/auth.c:1931
#, c-format
-msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m"
-msgstr "æ\97 æ³\95æ\89\93å¼\80次认è¯\81æ\96\87ä»¶ \"@%s\" 为 \"%s\": %m"
+msgid "LDAP server not specified"
+msgstr "没æ\9c\89æ\8c\87å®\9aLDAPæ\9c\8då\8a¡å\99¨"
-# fe-misc.c:702
-#: libpq/hba.c:595
+#: libpq/auth.c:1984
#, c-format
-msgid "could not translate host name \"%s\" to address: %s"
-msgstr "无法解释主机名 \"%s\" 到地址: %s"
+msgid "invalid character in user name for LDAP authentication"
+msgstr "在需要进行LDAP认证的用户名中出现无效字符"
-#. translator: the second %s is a list of auth methods
-#: libpq/hba.c:746
+#: libpq/auth.c:1999
#, c-format
+#| msgid ""
+#| "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s"
+#| "\": error code %d"
msgid ""
-"authentication option \"%s\" is only valid for authentication methods %s"
-msgstr "认证选项\"%s\"只对认证方法%s有效"
+"could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": "
+"%s"
+msgstr "无法在服务器\"%2$s\"上为ldapbinddn\"%1$s\"执行初始化LDAP绑定: %3$s"
-#: libpq/hba.c:748 libpq/hba.c:764 libpq/hba.c:795 libpq/hba.c:841
-#: libpq/hba.c:854 libpq/hba.c:876 libpq/hba.c:885 libpq/hba.c:908
-#: libpq/hba.c:920 libpq/hba.c:939 libpq/hba.c:960 libpq/hba.c:971
-#: libpq/hba.c:1026 libpq/hba.c:1044 libpq/hba.c:1056 libpq/hba.c:1073
-#: libpq/hba.c:1083 libpq/hba.c:1097 libpq/hba.c:1113 libpq/hba.c:1128
-#: libpq/hba.c:1139 libpq/hba.c:1181 libpq/hba.c:1213 libpq/hba.c:1224
-#: libpq/hba.c:1244 libpq/hba.c:1255 libpq/hba.c:1266 libpq/hba.c:1283
-#: libpq/hba.c:1308 libpq/hba.c:1345 libpq/hba.c:1355 libpq/hba.c:1408
-#: libpq/hba.c:1420 libpq/hba.c:1433 libpq/hba.c:1467 libpq/hba.c:1545
-#: libpq/hba.c:1563 libpq/hba.c:1584 tsearch/ts_locale.c:182
+#: libpq/auth.c:2023
#, c-format
-msgid "line %d of configuration file \"%s\""
-msgstr "配置文件\"%2$s\"的第%1$d行"
+#| msgid ""
+#| "could not search LDAP for filter \"%s\" on server \"%s\": error code %d"
+msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s"
+msgstr "无法在服务器\"%2$s\"上为过滤器\"%1$s\"进行的搜索LDAP:%3$s"
-# fe-auth.c:640
-#: libpq/hba.c:762
+#: libpq/auth.c:2034
#, c-format
-msgid "authentication method \"%s\" requires argument \"%s\" to be set"
-msgstr "在认证方法\"%s\"需要设置参数\"%s\" "
+#| msgid "server \"%s\" does not exist"
+msgid "LDAP user \"%s\" does not exist"
+msgstr "LDAP用户\"%s\" 不存在"
-#: libpq/hba.c:783
+#: libpq/auth.c:2035
#, c-format
-msgid "missing entry in file \"%s\" at end of line %d"
-msgstr "在 \"%s\" 文件的第 %d 行末尾缺少记录"
+#| msgid "LDAP search failed for filter \"%s\" on server \"%s\": no such user"
+msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries."
+msgstr "在服务器\"%2$s\"上为过滤器\"%1$s\"进行的LDAP搜索无结果."
-#: libpq/hba.c:794
+#: libpq/auth.c:2039
#, c-format
-msgid "multiple values in ident field"
-msgstr "识别字段出现多个值"
+#| msgid "function %s is not unique"
+msgid "LDAP user \"%s\" is not unique"
+msgstr "LDAP用户\"%s\" 不是唯一的"
-#: libpq/hba.c:839
+#: libpq/auth.c:2040
#, c-format
-msgid "multiple values specified for connection type"
-msgstr "连接类型指定了多个值"
+#| msgid "LDAP search failed for filter \"%s\" on server \"%s\": no such user"
+msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry."
+msgid_plural ""
+"LDAP search for filter \"%s\" on server \"%s\" returned %d entries."
+msgstr[0] "在服务器\"%2$s\"上为过滤器\"%1$s\"进行的LDAP搜索返回%3$d条结果."
-#: libpq/hba.c:840
+#: libpq/auth.c:2058
#, c-format
-msgid "Specify exactly one connection type per line."
-msgstr "每行精确指定一个连接类型."
+msgid ""
+"could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
+msgstr "无法为在服务器\"%2$s\"上第一个与\"%1$s\"匹配的项获取dn: %3$s"
-# input.c:213
-#: libpq/hba.c:853
+#: libpq/auth.c:2078
#, c-format
-msgid "local connections are not supported by this build"
-msgstr "这个版本编译不支持本地连接"
+msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s"
+msgstr "在服务器 \"%2$s\"上搜索用户\"%1$s\"后无法解除绑定:%3$s"
-#: libpq/hba.c:874
+#: libpq/auth.c:2108
#, c-format
-msgid "hostssl requires SSL to be turned on"
-msgstr "hostssl 要求开启 SSL开关"
+#| msgid "LDAP login failed for user \"%s\" on server \"%s\": error code %d"
+msgid "LDAP login failed for user \"%s\" on server \"%s\": %s"
+msgstr "用户 \"%s\" 在服务器 \"%s\" 进行LDAP登录失败:%s"
-#: libpq/hba.c:875
+#: libpq/auth.c:2136
#, c-format
-msgid "Set ssl = on in postgresql.conf."
-msgstr "在postgresql.conf配置文件中设置 ssl 开关为 on."
+msgid ""
+"certificate authentication failed for user \"%s\": client certificate "
+"contains no user name"
+msgstr "用户\"%s\"的认证鉴权失败: 客户端认证没有包含用户名"
-# input.c:213
-#: libpq/hba.c:883
+#: libpq/auth.c:2260
#, c-format
-msgid "hostssl is not supported by this build"
-msgstr "这个版本的编译安装不支持使用hostssl"
+msgid "RADIUS server not specified"
+msgstr "没有指定RADIUS服务器"
-#: libpq/hba.c:884
+#: libpq/auth.c:2267
#, c-format
-msgid "Compile with --with-openssl to use SSL connections."
-msgstr "为了使用SSL连接,在编译时需要带有 --with-openssl选项"
+msgid "RADIUS secret not specified"
+msgstr "没有指定RADIUS机密(secret) "
-# fe-connect.c:2558
-#: libpq/hba.c:906
+#: libpq/auth.c:2283 libpq/hba.c:1609
#, c-format
-msgid "invalid connection type \"%s\""
-msgstr "æ\97 æ\95\88è¿\9eæ\8e¥ç±»å\9e\8b\"%s\""
+msgid "could not translate RADIUS server name \"%s\" to address: %s"
+msgstr "æ\97 æ³\95å°\86RADIUSæ\9c\8då\8a¡å\99¨å\90\8dç§° \"%s\" ç¿»è¯\91为ç\9b¸åº\94å\9c°å\9d\80:%s"
-#: libpq/hba.c:919
+#: libpq/auth.c:2311
#, c-format
-msgid "end-of-line before database specification"
-msgstr "在数据库定义前面出现行结束符"
+msgid ""
+"RADIUS authentication does not support passwords longer than 16 characters"
+msgstr "RADIUS认证不支持长度超过16个字符的口令"
-#: libpq/hba.c:938
+#: libpq/auth.c:2322
#, c-format
-msgid "end-of-line before role specification"
-msgstr "在角色定义前面出现行结束符"
+msgid "could not generate random encryption vector"
+msgstr "无法产生随机加密向量"
-#: libpq/hba.c:959
+#: libpq/auth.c:2345
#, c-format
-msgid "end-of-line before IP address specification"
-msgstr "在IP地址定义前面出现行结束符"
+msgid "could not perform MD5 encryption of password"
+msgstr "无法执行口令的MD5加密"
-#: libpq/hba.c:969
+#: libpq/auth.c:2367
#, c-format
-msgid "multiple values specified for host address"
-msgstr "主机地址指定了多个值"
+msgid "could not create RADIUS socket: %m"
+msgstr "无法创建RADIUS套接字: %m"
-#: libpq/hba.c:970
+#: libpq/auth.c:2388
#, c-format
-msgid "Specify one address range per line."
-msgstr "æ¯\8fè¡\8cæ\8c\87å®\9aä¸\80个å\9c°å\9d\80è\8c\83å\9b´."
+msgid "could not bind local RADIUS socket: %m"
+msgstr "æ\97 æ³\95ç»\91å®\9aæ\9c¬å\9c°RADIUSå¥\97æ\8e¥å\97: %m"
-#: libpq/hba.c:1024
+#: libpq/auth.c:2398
#, c-format
-msgid "invalid IP address \"%s\": %s"
-msgstr "IP地址无效\"%s\": %s"
+msgid "could not send RADIUS packet: %m"
+msgstr "无法发送RADIUS包: %m"
-#: libpq/hba.c:1042
+#: libpq/auth.c:2427 libpq/auth.c:2452
#, c-format
-msgid "specifying both host name and CIDR mask is invalid: \"%s\""
-msgstr "指定主机名,同时 CIDR 掩码: \"%s\"值无效"
+msgid "timeout waiting for RADIUS response"
+msgstr "在等待RADIUS回应包时超时"
-#: libpq/hba.c:1054
+#: libpq/auth.c:2445
#, c-format
-msgid "invalid CIDR mask in address \"%s\""
-msgstr "在地址\"%s\"中的CIDR掩码无效"
+msgid "could not check status on RADIUS socket: %m"
+msgstr "无法在RADIUS套接字上检查状态: %m"
-#: libpq/hba.c:1071
+#: libpq/auth.c:2474
#, c-format
-msgid "end-of-line before netmask specification"
-msgstr "在网络掩码定义前的行结束符"
+msgid "could not read RADIUS response: %m"
+msgstr "无法读取RADIUS回应包: %m"
-#: libpq/hba.c:1072
+#: libpq/auth.c:2486 libpq/auth.c:2490
#, c-format
-msgid ""
-"Specify an address range in CIDR notation, or provide a separate netmask."
-msgstr "使用CIDR 符号指定地址范围, 或者提供独立的网络掩码."
+msgid "RADIUS response was sent from incorrect port: %d"
+msgstr "RADIUS回应数据包是从不正确的端口中发出的: %d"
-#: libpq/hba.c:1082
+#: libpq/auth.c:2499
#, c-format
-msgid "multiple values specified for netmask"
-msgstr "网络掩码指定了多个值"
+msgid "RADIUS response too short: %d"
+msgstr "RADIUS回应包的长度太短:%d"
-#: libpq/hba.c:1095
+#: libpq/auth.c:2506
#, c-format
-msgid "invalid IP mask \"%s\": %s"
-msgstr "无效IP地址掩码\"%s\": %s"
+msgid "RADIUS response has corrupt length: %d (actual length %d)"
+msgstr "RADIUS回应包的长度不正确:%d(实际长度是%d)"
-#: libpq/hba.c:1112
+#: libpq/auth.c:2514
#, c-format
-msgid "IP address and mask do not match"
-msgstr "IP地址与掩码不匹配"
+msgid "RADIUS response is to a different request: %d (should be %d)"
+msgstr "RADIUS回应包发送到了一个不同的请求上:%d (应该是%d)"
-#: libpq/hba.c:1127
+#: libpq/auth.c:2539
#, c-format
-msgid "end-of-line before authentication method"
-msgstr "在认证方法前面出现行结束符"
+msgid "could not perform MD5 encryption of received packet"
+msgstr "无法执行所接收数据包的MD5加密"
-#: libpq/hba.c:1137
+#: libpq/auth.c:2548
#, c-format
-msgid "multiple values specified for authentication type"
-msgstr "认证类型指定了多个值"
+msgid "RADIUS response has incorrect MD5 signature"
+msgstr "RADIUS回应包带有不正确的MD5签名"
-#: libpq/hba.c:1138
+#: libpq/auth.c:2565
#, c-format
-msgid "Specify exactly one authentication type per line."
-msgstr "每行精确指定一个认证类型."
+msgid "RADIUS response has invalid code (%d) for user \"%s\""
+msgstr "对于用户\"%2$s\"来说RADIUS回应包带有无效编码(%1$d) "
-#: libpq/hba.c:1211
+#: libpq/be-fsstubs.c:134 libpq/be-fsstubs.c:165 libpq/be-fsstubs.c:199
+#: libpq/be-fsstubs.c:239 libpq/be-fsstubs.c:264 libpq/be-fsstubs.c:312
+#: libpq/be-fsstubs.c:335 libpq/be-fsstubs.c:583
#, c-format
-msgid "invalid authentication method \"%s\""
-msgstr "无效认证方法\"%s\""
+msgid "invalid large-object descriptor: %d"
+msgstr "无效的大对象描述符: %d"
-# fe-auth.c:640
-#: libpq/hba.c:1222
+#: libpq/be-fsstubs.c:180 libpq/be-fsstubs.c:218 libpq/be-fsstubs.c:602
+#: libpq/be-fsstubs.c:790
#, c-format
-msgid "invalid authentication method \"%s\": not supported by this build"
-msgstr "è¿\99个ç\89\88æ\9c¬ç\9a\84ç¼\96è¯\91å®\89è£\85ä¸\8dæ\94¯æ\8c\81æ\97 æ\95\88ç\9a\84认è¯\81æ\96¹æ³\95\"%s\""
+msgid "permission denied for large object %u"
+msgstr "访é\97®å¤§å¯¹è±¡%uç\9a\84æ\9d\83é\99\90ä¸\8då¤\9f"
-#: libpq/hba.c:1243
+#: libpq/be-fsstubs.c:205 libpq/be-fsstubs.c:589
#, c-format
-msgid "krb5 authentication is not supported on local sockets"
-msgstr "在本地套接字上不支持krb5认证"
+msgid "large object descriptor %d was not opened for writing"
+msgstr "无法打开大对象描述符%d进行写操作"
-#: libpq/hba.c:1254
+#: libpq/be-fsstubs.c:247
#, c-format
-msgid "gssapi authentication is not supported on local sockets"
-msgstr "在本地套接字上不支持gssapi认证"
+msgid "lo_lseek result out of range for large-object descriptor %d"
+msgstr "lo_lseek的结果超出了大对象的描述符 %d所在范围"
-#: libpq/hba.c:1265
+#: libpq/be-fsstubs.c:320
#, c-format
-msgid "peer authentication is only supported on local sockets"
-msgstr "对等认证只支持在本地套接字的情形下使用"
+#| msgid "invalid large-object descriptor: %d"
+msgid "lo_tell result out of range for large-object descriptor %d"
+msgstr "lo_tell 产生的结果超出了大对象描述符%d的有效范围"
-#: libpq/hba.c:1282
+#: libpq/be-fsstubs.c:457
#, c-format
-msgid "cert authentication is only supported on hostssl connections"
-msgstr "å\8fªæ\9c\89å\9c¨hostsslè¿\9eæ\8e¥ä¸\8aæ\89\8dæ\94¯æ\8c\81cert认è¯\81"
+msgid "must be superuser to use server-side lo_import()"
+msgstr "å¿\85é¡»æ\98¯è¶\85级ç\94¨æ\88·æ\89\8då\8f¯ä»¥ä½¿ç\94¨æ\9c\8då\8a¡å\99¨ç«¯ç\9a\84 lo_import()"
-#: libpq/hba.c:1307
+#: libpq/be-fsstubs.c:458
#, c-format
-msgid "authentication option not in name=value format: %s"
-msgstr "认证选项的格式不是名称=值:%s"
+msgid "Anyone can use the client-side lo_import() provided by libpq."
+msgstr "任何人都可以使用 libpq 提供的客户端 lo_import()."
-#: libpq/hba.c:1344
+#: libpq/be-fsstubs.c:471
#, c-format
-msgid ""
-"cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, or ldapsearchattribute "
-"together with ldapprefix"
-msgstr ""
-"无法和ldapprefix一同使用ldapbasedn, ldapbinddn, ldapbindpasswd或"
-"ldapsearchattribute"
+msgid "could not open server file \"%s\": %m"
+msgstr "无法打开服务器文件 \"%s\": %m"
-# fe-auth.c:640
-#: libpq/hba.c:1354
+#: libpq/be-fsstubs.c:493
#, c-format
-msgid ""
-"authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix"
-"\", or \"ldapsuffix\" to be set"
-msgstr ""
-"在认证方法\"ldap\"中需要设置参数 \"ldapbasedn\", \"ldapprefix\"或\"ldapsuffix"
-"\""
+msgid "could not read server file \"%s\": %m"
+msgstr "无法读取服务器文件 \"%s\": %m"
-#: libpq/hba.c:1394
-msgid "ident, peer, krb5, gssapi, sspi, and cert"
-msgstr "ident, peer, krb5, gssapi, sspi和cert"
+#: libpq/be-fsstubs.c:523
+#, c-format
+msgid "must be superuser to use server-side lo_export()"
+msgstr "必须是超级用户才可以使用服务器端的 lo_export()"
-#: libpq/hba.c:1407
+#: libpq/be-fsstubs.c:524
#, c-format
-msgid "clientcert can only be configured for \"hostssl\" rows"
-msgstr "只能为\"hostssl\" 记录配置clientcert "
+msgid "Anyone can use the client-side lo_export() provided by libpq."
+msgstr "任何人都可以使用 libpq 提供的客户端 lo_export()."
-#: libpq/hba.c:1418
+#: libpq/be-fsstubs.c:549
#, c-format
-msgid ""
-"client certificates can only be checked if a root certificate store is "
-"available"
-msgstr "只有在根认证有效的情况下才能检查客户端认证"
+msgid "could not create server file \"%s\": %m"
+msgstr "无法创建服务器文件 \"%s\": %m"
-#: libpq/hba.c:1419
+#: libpq/be-fsstubs.c:561
#, c-format
-msgid "Make sure the configuration parameter \"ssl_ca_file\" is set."
-msgstr "确保配置参数\"ssl_ca_file\"已经设置."
+msgid "could not write server file \"%s\": %m"
+msgstr "无法写入服务器文件 \"%s\": %m"
-#: libpq/hba.c:1432
+#: libpq/be-fsstubs.c:815
#, c-format
-msgid "clientcert can not be set to 0 when using \"cert\" authentication"
-msgstr "当使用\"cert\"认证时clientcert不能设置为0"
+#| msgid "large object %u does not exist"
+msgid "large object read request is too large"
+msgstr "大对象读请求太大"
-#: libpq/hba.c:1466
+#: libpq/be-fsstubs.c:857 utils/adt/genfile.c:187 utils/adt/genfile.c:232
#, c-format
-msgid "invalid LDAP port number: \"%s\""
-msgstr "æ\97 æ\95\88LDAP端å\8f£å\8f·: \"%s\""
+msgid "requested length cannot be negative"
+msgstr "æ\89\80请æ±\82ç\9a\84é\95¿åº¦ä¸\8dè\83½æ\98¯è´\9fæ\95°"
-#: libpq/hba.c:1512 libpq/hba.c:1520
-msgid "krb5, gssapi, and sspi"
-msgstr "krb5, gssapi, 和sspi"
+#: libpq/be-secure.c:296 libpq/be-secure.c:418
+#, c-format
+msgid "SSL error: %s"
+msgstr "SSL 错误: %s"
-#: libpq/hba.c:1562
+#: libpq/be-secure.c:305 libpq/be-secure.c:427 libpq/be-secure.c:1046
#, c-format
-msgid "invalid RADIUS port number: \"%s\""
-msgstr "æ\97 æ\95\88RADIUS端å\8f£å\8f·: \"%s\""
+msgid "unrecognized SSL error code: %d"
+msgstr "æ\9cªç\9f¥ç\9a\84 SSL é\94\99误ç \81: %d"
-#: libpq/hba.c:1582
+#: libpq/be-secure.c:365
#, c-format
-msgid "unrecognized authentication option name: \"%s\""
-msgstr "未知认证选项名称:\"%s\""
+#| msgid "SSL failed to send renegotiation request"
+msgid "SSL failure during renegotiation start"
+msgstr "再协商开始时SSL失败"
-#: libpq/hba.c:1721 guc-file.l:430
+#: libpq/be-secure.c:380
#, c-format
-msgid "could not open configuration file \"%s\": %m"
-msgstr "无法打开配置文件 \"%s\": %m"
+#| msgid "SSL failed to send renegotiation request"
+msgid "SSL handshake failure on renegotiation, retrying"
+msgstr "再协商阶段SSL握手失败,重试"
-#: libpq/hba.c:1771
+#: libpq/be-secure.c:384
#, c-format
-msgid "configuration file \"%s\" contains no entries"
-msgstr "配置文件 \"%s\" 没有配置项"
+msgid "could not complete SSL handshake on renegotiation, too many failures"
+msgstr "在再次协商阶段无法完成 SSL 握手 , 因为其间出现了太多的失败"
-#: libpq/hba.c:1878
+#: libpq/be-secure.c:453
#, c-format
-msgid "invalid regular expression \"%s\": %s"
-msgstr "无效的正则表达式\"%s\": %s"
+#| msgid "SSL failed to send renegotiation request"
+msgid "SSL failed to renegotiate connection before limit expired"
+msgstr "限制过期前,SSL未能再协商好连接"
-#: libpq/hba.c:1901
+#: libpq/be-secure.c:793
#, c-format
-msgid "regular expression match for \"%s\" failed: %s"
-msgstr "正则表达式匹配\"%s\"失败:%s"
+#| msgid "%s: unrecognized section name: \"%s\"\n"
+msgid "ECDH: unrecognized curve name: %s"
+msgstr "ECDH: 无法识别的曲线名: %s"
-#: libpq/hba.c:1919
+# fe-connect.c:891
+#: libpq/be-secure.c:798
#, c-format
-msgid ""
-"regular expression \"%s\" has no subexpressions as requested by "
-"backreference in \"%s\""
-msgstr "正则表达式\"%s\"没有在\"%s\"中的后项引用所要求的子表达式."
+#| msgid "could not create socket: %s\n"
+msgid "ECDH: could not create key"
+msgstr "ECDH: 无法创建键"
-#: libpq/hba.c:2018
+#: libpq/be-secure.c:835
#, c-format
-msgid "provided user name (%s) and authenticated user name (%s) do not match"
-msgstr "æ\89\80æ\8f\90ä¾\9bç\9a\84ç\94¨æ\88·å\90\8d(%s)å\92\8c被认è¯\81ç\9a\84ç\94¨æ\88·å\90\8d(%s) ä¸\8då\8c¹é\85\8d"
+msgid "could not create SSL context: %s"
+msgstr "æ\97 æ³\95å\88\9b建 SSL ç\8e¯å¢\83: %s"
-#: libpq/hba.c:2039
+#: libpq/be-secure.c:851
#, c-format
-msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\""
-msgstr "对于以\"%3$s\"身份认证为的用户\"%2$s\",在用户映射\"%1$s\"中没有匹配"
+msgid "could not load server certificate file \"%s\": %s"
+msgstr "无法装载服务器认证文件 \"%s\": %s"
-#: libpq/hba.c:2069
+#: libpq/be-secure.c:857
#, c-format
-msgid "could not open usermap file \"%s\": %m"
-msgstr "无法打开用户映射文件\"%s\": %m"
+msgid "could not access private key file \"%s\": %m"
+msgstr "无法处理私钥文件 \"%s\": %m"
-#: libpq/pqcomm.c:306
+#: libpq/be-secure.c:872
#, c-format
-msgid "could not translate host name \"%s\", service \"%s\" to address: %s"
-msgstr "无法解析主机名 \"%s\", 服务 \"%s\" 到地址: %s"
+msgid "private key file \"%s\" has group or world access"
+msgstr "私钥文件\"%s\"具有由所在组或全局范围访问的权限"
-#: libpq/pqcomm.c:310
+#: libpq/be-secure.c:874
#, c-format
-msgid "could not translate service \"%s\" to address: %s"
-msgstr "æ\97 æ³\95è§£æ\9e\90æ\9c\8då\8a¡ \"%s\" å\88°å\9c°å\9d\80: %s"
+msgid "Permissions should be u=rw (0600) or less."
+msgstr "æ\9d\83é\99\90åº\94该为u=rw (0600)æ\88\96è\80\85æ\9b´å°\91"
-#: libpq/pqcomm.c:337
+#: libpq/be-secure.c:881
#, c-format
-msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded"
-msgstr "无法绑定所有需要的地址:超过最大数量MAXLISTEN (%d)"
+msgid "could not load private key file \"%s\": %s"
+msgstr "无法装载私钥文件 \"%s\": %s"
-#: libpq/pqcomm.c:346
-msgid "IPv4"
-msgstr "IPv4"
+#: libpq/be-secure.c:886
+#, c-format
+msgid "check of private key failed: %s"
+msgstr "检查私钥失败: %s"
-#: libpq/pqcomm.c:350
-msgid "IPv6"
-msgstr "IPv6"
+#: libpq/be-secure.c:915
+#, c-format
+msgid "could not load root certificate file \"%s\": %s"
+msgstr "无法装载根 (root) 认证文件 \"%s\": %s"
-#: libpq/pqcomm.c:355
-msgid "Unix"
-msgstr "Unix"
+#: libpq/be-secure.c:939
+#, c-format
+msgid "SSL certificate revocation list file \"%s\" ignored"
+msgstr "忽略SSL认证撤销列表文件 \"%s\""
-#: libpq/pqcomm.c:360
+#: libpq/be-secure.c:941
#, c-format
-msgid "unrecognized address family %d"
-msgstr "不认可的地址族 %d"
+msgid "SSL library does not support certificate revocation lists."
+msgstr "SSL库不支持认证撤销列表"
-#. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:371
+#: libpq/be-secure.c:946
#, c-format
-msgid "could not create %s socket: %m"
-msgstr "无法创建 %s 套接字: %m"
+msgid "could not load SSL certificate revocation list file \"%s\": %s"
+msgstr "无法装载根 (root)证书取消列表文件 \"%s\": %s"
-#: libpq/pqcomm.c:396
+#: libpq/be-secure.c:991
#, c-format
-msgid "setsockopt(SO_REUSEADDR) failed: %m"
-msgstr "setsockopt(SO_REUSEADDR) 失败: %m"
+msgid "could not initialize SSL connection: %s"
+msgstr "无法初始化 SSL 联接: %s"
-#: libpq/pqcomm.c:411
+#: libpq/be-secure.c:1000
#, c-format
-msgid "setsockopt(IPV6_V6ONLY) failed: %m"
-msgstr "setsockopt(IPV6_V6ONLY) 失败: %m"
+msgid "could not set SSL socket: %s"
+msgstr "无法创建 SSL 套接字: %s"
-#. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:430
+#: libpq/be-secure.c:1026
#, c-format
-msgid "could not bind %s socket: %m"
-msgstr "无法绑定 %s 套接字: %m"
+msgid "could not accept SSL connection: %m"
+msgstr "无法访问 SSL 联接: %m"
-#: libpq/pqcomm.c:433
+#: libpq/be-secure.c:1030 libpq/be-secure.c:1041
#, c-format
-msgid ""
-"Is another postmaster already running on port %d? If not, remove socket file "
-"\"%s\" and retry."
-msgstr ""
-"是否有其它 postmaster 已经在端口 %d 上运行了? 如果没有, 删除套接字文件 \"%s"
-"\" 然后再重试."
+msgid "could not accept SSL connection: EOF detected"
+msgstr "无法访问 SSL 联接: 发现 EOF"
-#: libpq/pqcomm.c:436
+#: libpq/be-secure.c:1035
#, c-format
-msgid ""
-"Is another postmaster already running on port %d? If not, wait a few seconds "
-"and retry."
-msgstr ""
-"是否有其它 postmaster 已经在端口 %d 上运行了? 如果没有, 请等待几秒钟后然后再"
-"重试."
+msgid "could not accept SSL connection: %s"
+msgstr "无法访问 SSL 联接: %s"
-#. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:469
+#: libpq/be-secure.c:1091
#, c-format
-msgid "could not listen on %s socket: %m"
-msgstr "无法在 %s 套接字上监听: %m"
+msgid "SSL certificate's common name contains embedded null"
+msgstr "在SSL认证的普通名称中包含嵌入的空值"
-#: libpq/pqcomm.c:499
+#: libpq/be-secure.c:1102
#, c-format
-msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)"
-msgstr "Unix域的套接字路径 \"%s\" 超长(最大为%d字节)"
+msgid "SSL connection from \"%s\""
+msgstr "来自 \"%s\" 的 SSL 联接"
+
+#: libpq/be-secure.c:1153
+msgid "no SSL error reported"
+msgstr "没有报告SSL错误"
-#: libpq/pqcomm.c:562
+#: libpq/be-secure.c:1157
#, c-format
-msgid "group \"%s\" does not exist"
-msgstr "组 \"%s\" 不存在"
+msgid "SSL error code %lu"
+msgstr "SSL错误代码 %lu"
-#: libpq/pqcomm.c:572
+#: libpq/crypt.c:67
#, c-format
-msgid "could not set group of file \"%s\": %m"
-msgstr "无法设置文件 \"%s\" 的组: %m"
+#| msgid "record \"%s\" is not assigned yet"
+msgid "User \"%s\" has no password assigned."
+msgstr "用户 \"%s\" 没有分配密码."
-#: libpq/pqcomm.c:583
+#: libpq/crypt.c:160
#, c-format
-msgid "could not set permissions of file \"%s\": %m"
-msgstr "无法设置文件 \"%s\" 的权限: %m"
+#| msgid "record \"%s\" has no field \"%s\""
+msgid "User \"%s\" has an expired password."
+msgstr "User \"%s\" 密码过期."
-#: libpq/pqcomm.c:613
+#: libpq/hba.c:188
#, c-format
-msgid "could not accept new connection: %m"
-msgstr "无法访问新联接: %m"
+msgid "authentication file token too long, skipping: \"%s\""
+msgstr "认证文件标记 (token) 太长, 忽略: \"%s\""
-#: libpq/pqcomm.c:781
+#: libpq/hba.c:332
#, c-format
-msgid "could not set socket to non-blocking mode: %m"
-msgstr "无法将套接字设置为非阻塞模式: %m"
+msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m"
+msgstr "无法打开次认证文件 \"@%s\" 为 \"%s\": %m"
-#: libpq/pqcomm.c:787
+#: libpq/hba.c:409
#, c-format
-msgid "could not set socket to blocking mode: %m"
-msgstr "无法将套接字设置为阻塞模式: %m"
+#| msgid "authentication file token too long, skipping: \"%s\""
+msgid "authentication file line too long"
+msgstr "认证文件文本行太长"
-#: libpq/pqcomm.c:839 libpq/pqcomm.c:929
+#: libpq/hba.c:410 libpq/hba.c:787 libpq/hba.c:803 libpq/hba.c:833
+#: libpq/hba.c:879 libpq/hba.c:892 libpq/hba.c:914 libpq/hba.c:923
+#: libpq/hba.c:946 libpq/hba.c:958 libpq/hba.c:977 libpq/hba.c:998
+#: libpq/hba.c:1009 libpq/hba.c:1064 libpq/hba.c:1082 libpq/hba.c:1094
+#: libpq/hba.c:1111 libpq/hba.c:1121 libpq/hba.c:1135 libpq/hba.c:1151
+#: libpq/hba.c:1166 libpq/hba.c:1177 libpq/hba.c:1213 libpq/hba.c:1245
+#: libpq/hba.c:1256 libpq/hba.c:1276 libpq/hba.c:1287 libpq/hba.c:1304
+#: libpq/hba.c:1329 libpq/hba.c:1366 libpq/hba.c:1376 libpq/hba.c:1432
+#: libpq/hba.c:1444 libpq/hba.c:1457 libpq/hba.c:1540 libpq/hba.c:1611
+#: libpq/hba.c:1629 libpq/hba.c:1650 tsearch/ts_locale.c:182
#, c-format
-msgid "could not receive data from client: %m"
-msgstr "无法从客户端获得数据: %m"
+msgid "line %d of configuration file \"%s\""
+msgstr "配置文件\"%2$s\"的第%1$d行"
-#: libpq/pqcomm.c:1080
+#. translator: the second %s is a list of auth methods
+#: libpq/hba.c:785
#, c-format
-msgid "unexpected EOF within message length word"
-msgstr "在信息长度字里有意外的 EOF"
+msgid ""
+"authentication option \"%s\" is only valid for authentication methods %s"
+msgstr "认证选项\"%s\"只对认证方法%s有效"
-#: libpq/pqcomm.c:1091
+# fe-auth.c:640
+#: libpq/hba.c:801
#, c-format
-msgid "invalid message length"
-msgstr "无效的信息长度"
+msgid "authentication method \"%s\" requires argument \"%s\" to be set"
+msgstr "在认证方法\"%s\"需要设置参数\"%s\" "
-#: libpq/pqcomm.c:1113 libpq/pqcomm.c:1123
+#: libpq/hba.c:822
#, c-format
-msgid "incomplete message from client"
-msgstr "从客户端过来的不完整信息"
+msgid "missing entry in file \"%s\" at end of line %d"
+msgstr "在 \"%s\" 文件的第 %d 行末尾缺少记录"
-#: libpq/pqcomm.c:1253
+#: libpq/hba.c:832
#, c-format
-msgid "could not send data to client: %m"
-msgstr "无法发送数据给客户端: %m"
+msgid "multiple values in ident field"
+msgstr "识别字段出现多个值"
-#: libpq/pqformat.c:436
+#: libpq/hba.c:877
#, c-format
-msgid "no data left in message"
-msgstr "信息中已经没有数据了"
+msgid "multiple values specified for connection type"
+msgstr "连接类型指定了多个值"
-#: libpq/pqformat.c:556 libpq/pqformat.c:574 libpq/pqformat.c:595
-#: utils/adt/arrayfuncs.c:1410 utils/adt/rowtypes.c:572
+#: libpq/hba.c:878
#, c-format
-msgid "insufficient data left in message"
-msgstr "信息中剩下的数据不够"
+msgid "Specify exactly one connection type per line."
+msgstr "每行精确指定一个连接类型."
-#: libpq/pqformat.c:636
+# input.c:213
+#: libpq/hba.c:891
#, c-format
-msgid "invalid string in message"
-msgstr "信息中的无效字串"
+msgid "local connections are not supported by this build"
+msgstr "这个版本编译不支持本地连接"
-#: libpq/pqformat.c:652
+#: libpq/hba.c:912
#, c-format
-msgid "invalid message format"
-msgstr "无效的信息格式"
+msgid "hostssl requires SSL to be turned on"
+msgstr "hostssl 要求开启 SSL开关"
-#: main/main.c:233
+#: libpq/hba.c:913
#, c-format
-msgid "%s: setsysinfo failed: %s\n"
-msgstr "%s: setsysinfo 失败: %s\n"
+msgid "Set ssl = on in postgresql.conf."
+msgstr "在postgresql.conf配置文件中设置 ssl 开关为 on."
-#: main/main.c:255
+# input.c:213
+#: libpq/hba.c:921
#, c-format
-msgid "%s: WSAStartup failed: %d\n"
-msgstr "%s: WSAStartup 失败: %d\n"
+msgid "hostssl is not supported by this build"
+msgstr "这个版本的编译安装不支持使用hostssl"
-#: main/main.c:274
+#: libpq/hba.c:922
#, c-format
-msgid ""
-"%s is the PostgreSQL server.\n"
-"\n"
-msgstr ""
-"%s 是 PostgreSQL 服务器.\n"
-"\n"
+msgid "Compile with --with-openssl to use SSL connections."
+msgstr "为了使用SSL连接,在编译时需要带有 --with-openssl选项"
-#: main/main.c:275
+# fe-connect.c:2558
+#: libpq/hba.c:944
#, c-format
-msgid ""
-"Usage:\n"
-" %s [OPTION]...\n"
-"\n"
-msgstr ""
-"用法:\n"
-" %s [选项]...\n"
-"\n"
+msgid "invalid connection type \"%s\""
+msgstr "无效连接类型\"%s\""
-#: main/main.c:276
+#: libpq/hba.c:957
#, c-format
-msgid "Options:\n"
-msgstr "选项:\n"
+msgid "end-of-line before database specification"
+msgstr "在数据库定义前面出现行结束符"
-#: main/main.c:278
+#: libpq/hba.c:976
#, c-format
-msgid " -A 1|0 enable/disable run-time assert checking\n"
-msgstr " -A 1|0 打开/关闭运行时断言检查\n"
+msgid "end-of-line before role specification"
+msgstr "在角色定义前面出现行结束符"
-#: main/main.c:280
+#: libpq/hba.c:997
#, c-format
-msgid " -B NBUFFERS number of shared buffers\n"
-msgstr " -B NBUFFERS 共享缓冲区的数量\n"
+msgid "end-of-line before IP address specification"
+msgstr "在IP地址定义前面出现行结束符"
-#: main/main.c:281
+#: libpq/hba.c:1007
#, c-format
-msgid " -c NAME=VALUE set run-time parameter\n"
-msgstr " -c NAME=VALUE 设置运行时参数\n"
+msgid "multiple values specified for host address"
+msgstr "主机地址指定了多个值"
-#: main/main.c:282
+#: libpq/hba.c:1008
#, c-format
-msgid " -C NAME print value of run-time parameter, then exit\n"
-msgstr " -C NAME 打印运行时参数, 然后退出\n"
+msgid "Specify one address range per line."
+msgstr "每行指定一个地址范围."
-#: main/main.c:283
+#: libpq/hba.c:1062
#, c-format
-msgid " -d 1-5 debugging level\n"
-msgstr " -d 1-5 调试级别\n"
+msgid "invalid IP address \"%s\": %s"
+msgstr "IP地址无效\"%s\": %s"
-#: main/main.c:284
+#: libpq/hba.c:1080
#, c-format
-msgid " -D DATADIR database directory\n"
-msgstr " -D DATADIR 数据库目录\n"
+msgid "specifying both host name and CIDR mask is invalid: \"%s\""
+msgstr "指定主机名,同时 CIDR 掩码: \"%s\"值无效"
-#: main/main.c:285
+#: libpq/hba.c:1092
#, c-format
-msgid " -e use European date input format (DMY)\n"
-msgstr " -e 使用欧洲日期输入格式 (DMY)\n"
+msgid "invalid CIDR mask in address \"%s\""
+msgstr "在地址\"%s\"中的CIDR掩码无效"
-#: main/main.c:286
+#: libpq/hba.c:1109
#, c-format
-msgid " -F turn fsync off\n"
-msgstr " -F 关闭 fsync\n"
+msgid "end-of-line before netmask specification"
+msgstr "在网络掩码定义前的行结束符"
-#: main/main.c:287
+#: libpq/hba.c:1110
#, c-format
-msgid " -h HOSTNAME host name or IP address to listen on\n"
-msgstr " -h HOSTNAME 侦听的主机名或者 IP 地址\n"
+msgid ""
+"Specify an address range in CIDR notation, or provide a separate netmask."
+msgstr "使用CIDR 符号指定地址范围, 或者提供独立的网络掩码."
-#: main/main.c:288
+#: libpq/hba.c:1120
#, c-format
-msgid " -i enable TCP/IP connections\n"
-msgstr " -i 打开 TCP/IP 连接\n"
+msgid "multiple values specified for netmask"
+msgstr "网络掩码指定了多个值"
-#: main/main.c:289
+#: libpq/hba.c:1133
#, c-format
-msgid " -k DIRECTORY Unix-domain socket location\n"
-msgstr " -k DIRECTORY Unix 域套接字的目录位置\n"
+msgid "invalid IP mask \"%s\": %s"
+msgstr "无效IP地址掩码\"%s\": %s"
-#: main/main.c:291
+#: libpq/hba.c:1150
#, c-format
-msgid " -l enable SSL connections\n"
-msgstr " -l 开启 SSL 连接\n"
+msgid "IP address and mask do not match"
+msgstr "IP地址与掩码不匹配"
-#: main/main.c:293
+#: libpq/hba.c:1165
#, c-format
-msgid " -N MAX-CONNECT maximum number of allowed connections\n"
-msgstr " -N MAX-CONNECT 允许建立的最大连接数目\n"
+msgid "end-of-line before authentication method"
+msgstr "在认证方法前面出现行结束符"
-#: main/main.c:294
+#: libpq/hba.c:1175
#, c-format
-msgid ""
-" -o OPTIONS pass \"OPTIONS\" to each server process (obsolete)\n"
-msgstr ""
-" -o OPTIONS 把 \"OPTIONS\" 传递给每一个后端服务器进程(已作废)\n"
+msgid "multiple values specified for authentication type"
+msgstr "认证类型指定了多个值"
-#: main/main.c:295
+#: libpq/hba.c:1176
#, c-format
-msgid " -p PORT port number to listen on\n"
-msgstr " -p PORT 监听的端口号\n"
+msgid "Specify exactly one authentication type per line."
+msgstr "每行精确指定一个认证类型."
-#: main/main.c:296
+#: libpq/hba.c:1243
#, c-format
-msgid " -s show statistics after each query\n"
-msgstr " -s 每个查询后显示统计信息\n"
+msgid "invalid authentication method \"%s\""
+msgstr "无效认证方法\"%s\""
-#: main/main.c:297
+# fe-auth.c:640
+#: libpq/hba.c:1254
#, c-format
-msgid " -S WORK-MEM set amount of memory for sorts (in kB)\n"
-msgstr " -S WORK-MEM 设置排序内存数量 (单位为 kB)\n"
+msgid "invalid authentication method \"%s\": not supported by this build"
+msgstr "这个版本的编译安装不支持无效的认证方法\"%s\""
-#: main/main.c:298
+#: libpq/hba.c:1275
#, c-format
-msgid " -V, --version output version information, then exit\n"
-msgstr " -V, --version 输出版本信息,然后退出\n"
+msgid "gssapi authentication is not supported on local sockets"
+msgstr "在本地套接字上不支持gssapi认证"
-#: main/main.c:299
+#: libpq/hba.c:1286
#, c-format
-msgid " --NAME=VALUE set run-time parameter\n"
-msgstr " --NAME=VALUE 设置运行时参数\n"
+msgid "peer authentication is only supported on local sockets"
+msgstr "对等认证只支持在本地套接字的情形下使用"
-#: main/main.c:300
+#: libpq/hba.c:1303
#, c-format
-msgid " --describe-config describe configuration parameters, then exit\n"
-msgstr " --describe-config 描述配置参数, 然后退出\n"
+msgid "cert authentication is only supported on hostssl connections"
+msgstr "只有在hostssl连接上才支持cert认证"
-#: main/main.c:301
+#: libpq/hba.c:1328
#, c-format
-msgid " -?, --help show this help, then exit\n"
-msgstr " -?, --help 显示帮助信息,然后退出\n"
+msgid "authentication option not in name=value format: %s"
+msgstr "认证选项的格式不是名称=值:%s"
-#: main/main.c:303
+#: libpq/hba.c:1365
#, c-format
+#| msgid ""
+#| "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, or ldapsearchattribute "
+#| "together with ldapprefix"
msgid ""
-"\n"
-"Developer options:\n"
+"cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, or "
+"ldapurl together with ldapprefix"
msgstr ""
-"\n"
-"开发人员选项:\n"
+"无法和ldapprefix一同使用ldapbasedn, ldapbinddn, ldapbindpasswd, "
+"ldapsearchattribute或ldapurl"
-#: main/main.c:304
+# fe-auth.c:640
+#: libpq/hba.c:1375
#, c-format
-msgid " -f s|i|n|m|h forbid use of some plan types\n"
-msgstr " -f s|i|n|m|h 禁止一些计划类型的使用\n"
+msgid ""
+"authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix"
+"\", or \"ldapsuffix\" to be set"
+msgstr ""
+"在认证方法\"ldap\"中需要设置参数 \"ldapbasedn\", \"ldapprefix\"或\"ldapsuffix"
+"\""
+
+#: libpq/hba.c:1418
+#| msgid "ident, peer, krb5, gssapi, sspi, and cert"
+msgid "ident, peer, gssapi, sspi, and cert"
+msgstr "ident, peer, gssapi, sspi和cert"
+
+#: libpq/hba.c:1431
+#, c-format
+msgid "clientcert can only be configured for \"hostssl\" rows"
+msgstr "只能为\"hostssl\" 记录配置clientcert "
-#: main/main.c:305
+#: libpq/hba.c:1442
#, c-format
msgid ""
-" -n do not reinitialize shared memory after abnormal exit\n"
-msgstr " -n 在异常退出之后不再重新初始化共享内存\n"
+"client certificates can only be checked if a root certificate store is "
+"available"
+msgstr "只有在根认证有效的情况下才能检查客户端认证"
-#: main/main.c:306
+#: libpq/hba.c:1443
#, c-format
-msgid " -O allow system table structure changes\n"
-msgstr " -O 允许改变系统表结构\n"
+msgid "Make sure the configuration parameter \"ssl_ca_file\" is set."
+msgstr "确保配置参数\"ssl_ca_file\"已经设置."
-#: main/main.c:307
+#: libpq/hba.c:1456
#, c-format
-msgid " -P disable system indexes\n"
-msgstr " -P 关闭系统索引\n"
+msgid "clientcert can not be set to 0 when using \"cert\" authentication"
+msgstr "当使用\"cert\"认证时clientcert不能设置为0"
-#: main/main.c:308
+# fe-lobj.c:400 fe-lobj.c:483
+#: libpq/hba.c:1483
#, c-format
-msgid " -t pa|pl|ex show timings after each query\n"
-msgstr " -t pa|pl|ex 每个查询后显示计时\n"
+#| msgid "could not open file \"%s\": %s"
+msgid "could not parse LDAP URL \"%s\": %s"
+msgstr "无法解析LDAP URL \"%s\": %s"
-#: main/main.c:309
+#: libpq/hba.c:1491
#, c-format
-msgid ""
-" -T send SIGSTOP to all backend processes if one dies\n"
-msgstr ""
-" -T 如果一个后端进程退出, 那么向所有后端进程发送 SIGSTOP\n"
+#| msgid "unsupported format code: %d"
+msgid "unsupported LDAP URL scheme: %s"
+msgstr "不支持的LDAP URL模式: %s"
-#: main/main.c:310
+#: libpq/hba.c:1507
#, c-format
-msgid " -W NUM wait NUM seconds to allow attach from a debugger\n"
-msgstr " -W NUM 等待 NUM 秒, 以便允许调试器加入调试\n"
+msgid "filters not supported in LDAP URLs"
+msgstr "LDAP的URL不支持过滤器"
-#: main/main.c:312
+#: libpq/hba.c:1515
#, c-format
-msgid ""
-"\n"
-"Options for single-user mode:\n"
-msgstr ""
-"\n"
-"单用户模式的选项:\n"
+#| msgid "LDAP over SSL is not supported on this platform."
+msgid "LDAP URLs not supported on this platform"
+msgstr "LDAP URL不能用于此平台"
-# help.c:109
-#: main/main.c:313
+#: libpq/hba.c:1539
#, c-format
-msgid ""
-" --single selects single-user mode (must be first argument)\n"
-msgstr " --single 选择单用户模式(必须是第一个参数)\n"
+msgid "invalid LDAP port number: \"%s\""
+msgstr "无效LDAP端口号: \"%s\""
-# help.c:136
-#: main/main.c:314
+#: libpq/hba.c:1579 libpq/hba.c:1586
+#| msgid "krb5, gssapi, and sspi"
+msgid "gssapi and sspi"
+msgstr "gssapi, 和sspi"
+
+#: libpq/hba.c:1628
#, c-format
-msgid " DBNAME database name (defaults to user name)\n"
-msgstr " DBNAME 数据库名称(对用户名缺省)\n"
+msgid "invalid RADIUS port number: \"%s\""
+msgstr "无效RADIUS端口号: \"%s\""
-#: main/main.c:315
+#: libpq/hba.c:1648
#, c-format
-msgid " -d 0-5 override debugging level\n"
-msgstr " -d 0-5 覆盖调试级别\n"
+msgid "unrecognized authentication option name: \"%s\""
+msgstr "未知认证选项名称:\"%s\""
-#: main/main.c:316
+#: libpq/hba.c:1839
#, c-format
-msgid " -E echo statement before execution\n"
-msgstr " -E 执行前显示语句\n"
+msgid "configuration file \"%s\" contains no entries"
+msgstr "配置文件 \"%s\" 没有配置项"
-#: main/main.c:317
+#: libpq/hba.c:1935
#, c-format
-msgid ""
-" -j do not use newline as interactive query delimiter\n"
-msgstr " -j 不使用新行作为交互查询的分隔符\n"
+msgid "invalid regular expression \"%s\": %s"
+msgstr "无效的正则表达式\"%s\": %s"
-#: main/main.c:318 main/main.c:323
+#: libpq/hba.c:1995
#, c-format
-msgid " -r FILENAME send stdout and stderr to given file\n"
-msgstr " -r FILENAME 把标准输出和标准错误发送到指定的文件中\n"
+msgid "regular expression match for \"%s\" failed: %s"
+msgstr "正则表达式匹配\"%s\"失败:%s"
-#: main/main.c:320
+#: libpq/hba.c:2012
#, c-format
msgid ""
-"\n"
-"Options for bootstrapping mode:\n"
-msgstr ""
-"\n"
-"引导模式的选项:\n"
+"regular expression \"%s\" has no subexpressions as requested by "
+"backreference in \"%s\""
+msgstr "正则表达式\"%s\"没有在\"%s\"中的后项引用所要求的子表达式."
-#: main/main.c:321
+#: libpq/hba.c:2108
#, c-format
-msgid ""
-" --boot selects bootstrapping mode (must be first argument)\n"
-msgstr " --boot 选择引导模式(必须是第一个参数)\n"
+msgid "provided user name (%s) and authenticated user name (%s) do not match"
+msgstr "所提供的用户名(%s)和被认证的用户名(%s) 不匹配"
-#: main/main.c:322
+#: libpq/hba.c:2128
#, c-format
-msgid ""
-" DBNAME database name (mandatory argument in bootstrapping "
-"mode)\n"
-msgstr " DBNAME 数据库名称(在引导模式中是必选参数)\n"
+msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\""
+msgstr "对于以\"%3$s\"身份认证为的用户\"%2$s\",在用户映射\"%1$s\"中没有匹配"
-#: main/main.c:324
+#: libpq/hba.c:2163
#, c-format
-msgid " -x NUM internal use\n"
-msgstr " -x NUM 内部使用\n"
+msgid "could not open usermap file \"%s\": %m"
+msgstr "无法打开用户映射文件\"%s\": %m"
-#: main/main.c:326
+#: libpq/pqcomm.c:314
#, c-format
-msgid ""
-"\n"
-"Please read the documentation for the complete list of run-time\n"
-"configuration settings and how to set them on the command line or in\n"
-"the configuration file.\n"
-"\n"
-"Report bugs to <pgsql-bugs@postgresql.org>.\n"
-msgstr ""
-"\n"
-"请阅读文档获取运行时配置设置的完整列表\n"
-"以及如何在命令行或者在配置文件里设置它们的详细信息.\n"
-"\n"
-"请向 <pgsql-bugs@postgresql.org> 报告臭虫.\n"
+msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)"
+msgstr "Unix域的套接字路径 \"%s\" 超长(最大为%d字节)"
-#: main/main.c:340
+#: libpq/pqcomm.c:335
#, c-format
-msgid ""
-"\"root\" execution of the PostgreSQL server is not permitted.\n"
-"The server must be started under an unprivileged user ID to prevent\n"
-"possible system security compromise. See the documentation for\n"
-"more information on how to properly start the server.\n"
-msgstr ""
-"不允许 \"root\" 执行 PostgreSQL 服务器.\n"
-"服务器必须以一个非特权的用户身份启动以避免\n"
-"可能的系统安全性问题. 参阅文档获取更多\n"
-"有关如何正确启动服务器的信息.\n"
+msgid "could not translate host name \"%s\", service \"%s\" to address: %s"
+msgstr "无法解析主机名 \"%s\", 服务 \"%s\" 到地址: %s"
-#: main/main.c:357
+#: libpq/pqcomm.c:339
#, c-format
-msgid "%s: real and effective user IDs must match\n"
-msgstr "%s: 真实和有效用户标识必须相互匹配\n"
+msgid "could not translate service \"%s\" to address: %s"
+msgstr "无法解析服务 \"%s\" 到地址: %s"
-#: main/main.c:364
+#: libpq/pqcomm.c:366
#, c-format
-msgid ""
-"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 compromises. See the documentation for\n"
-"more information on how to properly start the server.\n"
-msgstr ""
-"不允许管理员权限的用户运行 PostgreSQL 服务器.\n"
-"服务器必须以一个非特权的用户身份启动以避免\n"
-"可能的系统安全性问题. 参阅文档获取更多\n"
-"有关如何正确启动服务器的信息.\n"
+msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded"
+msgstr "无法绑定所有需要的地址:超过最大数量MAXLISTEN (%d)"
-#: main/main.c:385
-#, c-format
-msgid "%s: invalid effective UID: %d\n"
-msgstr "%s: 无效 UID: %d\n"
+#: libpq/pqcomm.c:375
+msgid "IPv4"
+msgstr "IPv4"
-#: main/main.c:398
-#, c-format
-msgid "%s: could not determine user name (GetUserName failed)\n"
-msgstr "%s: 无法确定用户名称 (GetUserName 失败)\n"
+#: libpq/pqcomm.c:379
+msgid "IPv6"
+msgstr "IPv6"
+
+#: libpq/pqcomm.c:384
+msgid "Unix"
+msgstr "Unix"
-#: nodes/nodeFuncs.c:115 nodes/nodeFuncs.c:141 parser/parse_coerce.c:1781
-#: parser/parse_coerce.c:1809 parser/parse_coerce.c:1885
-#: parser/parse_expr.c:1632 parser/parse_func.c:367 parser/parse_oper.c:947
+#: libpq/pqcomm.c:389
#, c-format
-msgid "could not find array type for data type %s"
-msgstr "无法为数据类型 %s 找到数组类型"
+msgid "unrecognized address family %d"
+msgstr "不认可的地址族 %d"
-#: optimizer/path/joinrels.c:676
+#. translator: %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:400
#, c-format
-msgid ""
-"FULL JOIN is only supported with merge-joinable or hash-joinable join "
-"conditions"
-msgstr "只有在合并连接或哈希连接的查询条件中才支持FULL JOIN"
+msgid "could not create %s socket: %m"
+msgstr "无法创建 %s 套接字: %m"
-#: optimizer/plan/initsplan.c:592
+#: libpq/pqcomm.c:425
#, c-format
-msgid ""
-"SELECT FOR UPDATE/SHARE cannot be applied to the nullable side of an outer "
-"join"
-msgstr "SELECT FOR UPDATE/SHARE不适用于外连接中可为空的那一端."
+msgid "setsockopt(SO_REUSEADDR) failed: %m"
+msgstr "setsockopt(SO_REUSEADDR) 失败: %m"
-#: optimizer/plan/planner.c:1031 parser/analyze.c:1384 parser/analyze.c:1579
-#: parser/analyze.c:2285
+#: libpq/pqcomm.c:440
#, c-format
-msgid "SELECT FOR UPDATE/SHARE is not allowed with UNION/INTERSECT/EXCEPT"
-msgstr "在SELECT FOR UPDATE/SHARE中不允许带有关键词UNION/INTERSECT/EXCEPT"
+msgid "setsockopt(IPV6_V6ONLY) failed: %m"
+msgstr "setsockopt(IPV6_V6ONLY) 失败: %m"
-#: optimizer/plan/planner.c:2359
+#. translator: %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:459
#, c-format
-msgid "could not implement GROUP BY"
-msgstr "无法实现GROUP BY语句"
+msgid "could not bind %s socket: %m"
+msgstr "无法绑定 %s 套接字: %m"
-#: optimizer/plan/planner.c:2360 optimizer/plan/planner.c:2532
-#: optimizer/prep/prepunion.c:822
+#: libpq/pqcomm.c:462
#, c-format
msgid ""
-"Some of the datatypes only support hashing, while others only support "
-"sorting."
-msgstr "一些数据类型只支持哈希,同时另外一些数据类型只支持排序."
+"Is another postmaster already running on port %d? If not, remove socket file "
+"\"%s\" and retry."
+msgstr ""
+"是否有其它 postmaster 已经在端口 %d 上运行了? 如果没有, 删除套接字文件 \"%s"
+"\" 然后再重试."
-#: optimizer/plan/planner.c:2531
+#: libpq/pqcomm.c:465
#, c-format
-msgid "could not implement DISTINCT"
-msgstr "无法实现DISTINCT语句"
+msgid ""
+"Is another postmaster already running on port %d? If not, wait a few seconds "
+"and retry."
+msgstr ""
+"是否有其它 postmaster 已经在端口 %d 上运行了? 如果没有, 请等待几秒钟后然后再"
+"重试."
-#: optimizer/plan/planner.c:3122
+#. translator: %s is IPv4, IPv6, or Unix
+#: libpq/pqcomm.c:498
#, c-format
-msgid "could not implement window PARTITION BY"
-msgstr "æ\97 æ³\95å®\9eç\8e°ä¸\8eçª\97å\8f£å\87½æ\95°ä¸\80å\90\8c使ç\94¨PARTITION BYå\90å\8f¥"
+msgid "could not listen on %s socket: %m"
+msgstr "æ\97 æ³\95å\9c¨ %s å¥\97æ\8e¥å\97ä¸\8aç\9b\91å\90¬: %m"
-#: optimizer/plan/planner.c:3123
+#: libpq/pqcomm.c:588
#, c-format
-msgid "Window partitioning columns must be of sortable datatypes."
-msgstr "çª\97å\8f£å\88\86å\8cºå\88\97å¿\85é¡»å±\9eäº\8eå\8f¯æ\8e\92åº\8fç\9a\84æ\95°æ\8d®ç±»å\9e\8b"
+msgid "group \"%s\" does not exist"
+msgstr "ç»\84 \"%s\" ä¸\8då\98å\9c¨"
-#: optimizer/plan/planner.c:3127
+#: libpq/pqcomm.c:598
#, c-format
-msgid "could not implement window ORDER BY"
-msgstr "无法实现与窗口函数一同使用ORDER BY 语句"
+msgid "could not set group of file \"%s\": %m"
+msgstr "无法设置文件 \"%s\" 的组: %m"
-#: optimizer/plan/planner.c:3128
+#: libpq/pqcomm.c:609
#, c-format
-msgid "Window ordering columns must be of sortable datatypes."
-msgstr "窗口的排序列必须属于可排序的数据类型"
+msgid "could not set permissions of file \"%s\": %m"
+msgstr "无法设置文件 \"%s\" 的权限: %m"
-#: optimizer/plan/setrefs.c:255
+#: libpq/pqcomm.c:639
#, c-format
-msgid "too many range table entries"
-msgstr "太多范围表"
+msgid "could not accept new connection: %m"
+msgstr "无法访问新联接: %m"
-#: optimizer/prep/prepunion.c:416
+#: libpq/pqcomm.c:811
#, c-format
-msgid "could not implement recursive UNION"
-msgstr "无法实现递归UNION操作"
+#| msgid "could not set socket to non-blocking mode: %m"
+msgid "could not set socket to nonblocking mode: %m"
+msgstr "无法将套接字设为非阻塞模式: %m"
-#: optimizer/prep/prepunion.c:417
+#: libpq/pqcomm.c:817
#, c-format
-msgid "All column datatypes must be hashable."
-msgstr "æ\89\80æ\9c\89å\88\97ç\9a\84æ\95°æ\8d®ç±»å\9e\8bå¿\85é¡»å\8f¯è¿\9bè¡\8cå\93\88å¸\8c计ç®\97."
+msgid "could not set socket to blocking mode: %m"
+msgstr "æ\97 æ³\95å°\86å¥\97æ\8e¥å\97设置为é\98»å¡\9e模å¼\8f: %m"
-#. translator: %s is UNION, INTERSECT, or EXCEPT
-#: optimizer/prep/prepunion.c:821
+#: libpq/pqcomm.c:869 libpq/pqcomm.c:959
#, c-format
-msgid "could not implement %s"
-msgstr "无法实现%s"
+msgid "could not receive data from client: %m"
+msgstr "无法从客户端获得数据: %m"
-#: optimizer/util/clauses.c:4358
+#: libpq/pqcomm.c:1110
#, c-format
-msgid "SQL function \"%s\" during inlining"
-msgstr "SQL 函数 \"%s\" 在内联 (inlining) 期间"
+msgid "unexpected EOF within message length word"
+msgstr "在信息长度字里有意外的 EOF"
-#: optimizer/util/plancat.c:99
+#: libpq/pqcomm.c:1121
#, c-format
-msgid "cannot access temporary or unlogged relations during recovery"
-msgstr "æ\97 æ³\95å\9c¨æ\81¢å¤\8dè¿\87ç¨\8bä¸è®¿é\97®ä¸´æ\97¶å\85³ç³»æ\88\96é\9d\9eäº\8bå\8a¡æ\97¥å¿\97å\85³ç³»"
+msgid "invalid message length"
+msgstr "æ\97 æ\95\88ç\9a\84ä¿¡æ\81¯é\95¿åº¦"
-#: parser/analyze.c:621 parser/analyze.c:1129
+#: libpq/pqcomm.c:1143 libpq/pqcomm.c:1153
#, c-format
-msgid "VALUES lists must all be the same length"
-msgstr "在VALUES列表中每个成员的长度必须相同"
+msgid "incomplete message from client"
+msgstr "从客户端过来的不完整信息"
-#: parser/analyze.c:663 parser/analyze.c:1262
+#: libpq/pqcomm.c:1283
#, c-format
-msgid "VALUES must not contain table references"
-msgstr "在VALUES列表中不能包含对表的引用"
+msgid "could not send data to client: %m"
+msgstr "无法发送数据给客户端: %m"
-#: parser/analyze.c:677 parser/analyze.c:1276
+#: libpq/pqformat.c:436
#, c-format
-msgid "VALUES must not contain OLD or NEW references"
-msgstr "在VALUES列表中不能包括对OLD或NEW的引用"
+msgid "no data left in message"
+msgstr "信息中已经没有数据了"
-#: parser/analyze.c:678 parser/analyze.c:1277
+#: libpq/pqformat.c:556 libpq/pqformat.c:574 libpq/pqformat.c:595
+#: utils/adt/arrayfuncs.c:1416 utils/adt/rowtypes.c:561
#, c-format
-msgid "Use SELECT ... UNION ALL ... instead."
-msgstr "使ç\94¨SELECT ... UNION ALL ..."
+msgid "insufficient data left in message"
+msgstr "ä¿¡æ\81¯ä¸å\89©ä¸\8bç\9a\84æ\95°æ\8d®ä¸\8då¤\9f"
-#: parser/analyze.c:783 parser/analyze.c:1289
+#: libpq/pqformat.c:636
#, c-format
-msgid "cannot use aggregate function in VALUES"
-msgstr "在VALUES列表中不能使用聚合函数"
+msgid "invalid string in message"
+msgstr "信息中的无效字串"
-#: parser/analyze.c:789 parser/analyze.c:1295
+#: libpq/pqformat.c:652
#, c-format
-msgid "cannot use window function in VALUES"
-msgstr "在VALUES列表中不能使用窗口函数"
+msgid "invalid message format"
+msgstr "无效的信息格式"
-#: parser/analyze.c:823
+#: main/main.c:262
#, c-format
-msgid "INSERT has more expressions than target columns"
-msgstr "INSERT 的表达式多于指定的字段数"
+msgid "%s: setsysinfo failed: %s\n"
+msgstr "%s: setsysinfo 失败: %s\n"
-#: parser/analyze.c:841
+#: main/main.c:284
#, c-format
-msgid "INSERT has more target columns than expressions"
-msgstr "INSERT 的指定字段数多于表达式"
+msgid "%s: WSAStartup failed: %d\n"
+msgstr "%s: WSAStartup 失败: %d\n"
-#: parser/analyze.c:845
+#: main/main.c:313
#, c-format
msgid ""
-"The insertion source is a row expression containing the same number of "
-"columns expected by the INSERT. Did you accidentally use extra parentheses?"
+"%s is the PostgreSQL server.\n"
+"\n"
msgstr ""
-"插入源是一个行表达式,里边的列个数与INSERT期望值相同. 您是否偶尔使用了额外的"
-"父表达式?"
+"%s 是 PostgreSQL 服务器.\n"
+"\n"
-#: parser/analyze.c:952 parser/analyze.c:1359
+#: main/main.c:314
#, c-format
-msgid "SELECT ... INTO is not allowed here"
-msgstr "这儿不允许使用SELECT ... INTO"
+msgid ""
+"Usage:\n"
+" %s [OPTION]...\n"
+"\n"
+msgstr ""
+"用法:\n"
+" %s [选项]...\n"
+"\n"
-#: parser/analyze.c:1143
+#: main/main.c:315
#, c-format
-msgid "DEFAULT can only appear in a VALUES list within INSERT"
-msgstr "DEFAULT只能在INSERT语句中的VALUES列表中出现"
+msgid "Options:\n"
+msgstr "选项:\n"
-#: parser/analyze.c:1251 parser/analyze.c:2436
+#: main/main.c:317
#, c-format
-msgid "SELECT FOR UPDATE/SHARE cannot be applied to VALUES"
-msgstr "SELECT FOR UPDATE/SHARE 不能适用于一个 VALUES"
+msgid " -A 1|0 enable/disable run-time assert checking\n"
+msgstr " -A 1|0 打开/关闭运行时断言检查\n"
-#: parser/analyze.c:1507
+#: main/main.c:319
#, c-format
-msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
-msgstr "无效的UNION/INTERSECT/EXCEPT ORDER BY 子句"
+msgid " -B NBUFFERS number of shared buffers\n"
+msgstr " -B NBUFFERS 共享缓冲区的数量\n"
-#: parser/analyze.c:1508
+#: main/main.c:320
#, c-format
-msgid "Only result column names can be used, not expressions or functions."
-msgstr "无法使用表达式或函数,只有结果列的名称可以使用."
+msgid " -c NAME=VALUE set run-time parameter\n"
+msgstr " -c NAME=VALUE 设置运行时参数\n"
-#: parser/analyze.c:1509
+#: main/main.c:321
#, c-format
-msgid ""
-"Add the expression/function to every SELECT, or move the UNION into a FROM "
-"clause."
-msgstr "对每个SELECT语句增加表达式/函数, 或者将UNION移动到FROM子句中."
+msgid " -C NAME print value of run-time parameter, then exit\n"
+msgstr " -C NAME 打印运行时参数, 然后退出\n"
-#: parser/analyze.c:1571
+#: main/main.c:322
#, c-format
-msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
-msgstr "INTO 只允许在 UNION/INTERSECT/EXCEPT 的第一个 SELECT 上使用"
+msgid " -d 1-5 debugging level\n"
+msgstr " -d 1-5 调试级别\n"
-#: parser/analyze.c:1631
+#: main/main.c:323
#, c-format
-msgid ""
-"UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of "
-"same query level"
-msgstr "UNION/INTERSECT/EXCEPT的成员语句不能参考相同查询层次的其它关系"
+msgid " -D DATADIR database directory\n"
+msgstr " -D DATADIR 数据库目录\n"
-#: parser/analyze.c:1719
+#: main/main.c:324
#, c-format
-msgid "each %s query must have the same number of columns"
-msgstr "每一个 %s 查询必须有相同的字段个数"
+msgid " -e use European date input format (DMY)\n"
+msgstr " -e 使用欧洲日期输入格式 (DMY)\n"
-#: parser/analyze.c:1995
+#: main/main.c:325
#, c-format
-msgid "cannot use aggregate function in UPDATE"
-msgstr "在UPDATE语句中不能以使用聚合函数"
+msgid " -F turn fsync off\n"
+msgstr " -F 关闭 fsync\n"
-#: parser/analyze.c:2001
+#: main/main.c:326
#, c-format
-msgid "cannot use window function in UPDATE"
-msgstr "在UPDATE语句中不能以使用窗口函数"
+msgid " -h HOSTNAME host name or IP address to listen on\n"
+msgstr " -h HOSTNAME 侦听的主机名或者 IP 地址\n"
-#: parser/analyze.c:2110
+#: main/main.c:327
#, c-format
-msgid "cannot use aggregate function in RETURNING"
-msgstr "在RETURNING子句中不能使用聚合函数"
+msgid " -i enable TCP/IP connections\n"
+msgstr " -i 打开 TCP/IP 连接\n"
-#: parser/analyze.c:2116
+#: main/main.c:328
#, c-format
-msgid "cannot use window function in RETURNING"
-msgstr "无法在RETURNING子句中使用窗口函数"
+msgid " -k DIRECTORY Unix-domain socket location\n"
+msgstr " -k DIRECTORY Unix 域套接字的目录位置\n"
-#: parser/analyze.c:2135
+#: main/main.c:330
#, c-format
-msgid "RETURNING cannot contain references to other relations"
-msgstr "RETURNING关键词的后面不能包含对其它关系的引用"
+msgid " -l enable SSL connections\n"
+msgstr " -l 开启 SSL 连接\n"
-#: parser/analyze.c:2174
+#: main/main.c:332
#, c-format
-msgid "cannot specify both SCROLL and NO SCROLL"
-msgstr "不可同时指定 SCROLL 和 NO SCROLL"
+msgid " -N MAX-CONNECT maximum number of allowed connections\n"
+msgstr " -N MAX-CONNECT 允许建立的最大连接数目\n"
-#: parser/analyze.c:2192
+#: main/main.c:333
#, c-format
-msgid "DECLARE CURSOR must not contain data-modifying statements in WITH"
-msgstr "DECLARE CURSOR不能在WITH子句中包含修改数据的操作"
+msgid ""
+" -o OPTIONS pass \"OPTIONS\" to each server process (obsolete)\n"
+msgstr ""
+" -o OPTIONS 把 \"OPTIONS\" 传递给每一个后端服务器进程(已作废)\n"
-#: parser/analyze.c:2198
+#: main/main.c:334
#, c-format
-msgid "DECLARE CURSOR WITH HOLD ... FOR UPDATE/SHARE is not supported"
-msgstr "不支持DECLARE CURSOR WITH HOLD ... FOR UPDATE/SHARE"
+msgid " -p PORT port number to listen on\n"
+msgstr " -p PORT 监听的端口号\n"
-#: parser/analyze.c:2199
+#: main/main.c:335
#, c-format
-msgid "Holdable cursors must be READ ONLY."
-msgstr "可保持游标必须为只读."
+msgid " -s show statistics after each query\n"
+msgstr " -s 每个查询后显示统计信息\n"
-#: parser/analyze.c:2212
+#: main/main.c:336
#, c-format
-msgid "DECLARE INSENSITIVE CURSOR ... FOR UPDATE/SHARE is not supported"
-msgstr "不支持DECLARE INSENSITIVE CURSOR ... FOR UPDATE/SHARE"
+msgid " -S WORK-MEM set amount of memory for sorts (in kB)\n"
+msgstr " -S WORK-MEM 设置排序内存数量 (单位为 kB)\n"
-#: parser/analyze.c:2213
+#: main/main.c:337
#, c-format
-msgid "Insensitive cursors must be READ ONLY."
-msgstr "非敏感游标必须为只读模式(READ ONLY)."
+msgid " -V, --version output version information, then exit\n"
+msgstr " -V, --version 输出版本信息,然后退出\n"
-#: parser/analyze.c:2289
+#: main/main.c:338
#, c-format
-msgid "SELECT FOR UPDATE/SHARE is not allowed with DISTINCT clause"
-msgstr "SELECT FOR UPDATE/SHARE 不允许带 DISTINCT 子句"
+msgid " --NAME=VALUE set run-time parameter\n"
+msgstr " --NAME=VALUE 设置运行时参数\n"
-#: parser/analyze.c:2293
+#: main/main.c:339
#, c-format
-msgid "SELECT FOR UPDATE/SHARE is not allowed with GROUP BY clause"
-msgstr "SELECT FOR UPDATE/SHARE不允许带有GROUP BY子句"
+msgid " --describe-config describe configuration parameters, then exit\n"
+msgstr " --describe-config 描述配置参数, 然后退出\n"
-#: parser/analyze.c:2297
+#: main/main.c:340
#, c-format
-msgid "SELECT FOR UPDATE/SHARE is not allowed with HAVING clause"
-msgstr "SELECT FOR UPDATE/SHARE不允许带有HAVING子句"
+msgid " -?, --help show this help, then exit\n"
+msgstr " -?, --help 显示帮助信息,然后退出\n"
-#: parser/analyze.c:2301
+#: main/main.c:342
#, c-format
-msgid "SELECT FOR UPDATE/SHARE is not allowed with aggregate functions"
-msgstr "SELECT FOR UPDATE/SHARE不允许带聚合函数"
+msgid ""
+"\n"
+"Developer options:\n"
+msgstr ""
+"\n"
+"开发人员选项:\n"
-#: parser/analyze.c:2305
+#: main/main.c:343
#, c-format
-msgid "SELECT FOR UPDATE/SHARE is not allowed with window functions"
-msgstr "SELECT FOR UPDATE/SHARE不允许带有窗口函数"
+msgid " -f s|i|n|m|h forbid use of some plan types\n"
+msgstr " -f s|i|n|m|h 禁止一些计划类型的使用\n"
-#: parser/analyze.c:2309
+#: main/main.c:344
#, c-format
msgid ""
-"SELECT FOR UPDATE/SHARE is not allowed with set-returning functions in the "
-"target list"
-msgstr "在目标列表中,不允许SELECT FOR UPDATE/SHARE带有返回集合的函数"
+" -n do not reinitialize shared memory after abnormal exit\n"
+msgstr " -n 在异常退出之后不再重新初始化共享内存\n"
-#: parser/analyze.c:2388
+#: main/main.c:345
#, c-format
-msgid "SELECT FOR UPDATE/SHARE must specify unqualified relation names"
-msgstr "在SELECT FOR UPDATE/SHARE 语句中必须指定非限定的关系名称"
+msgid " -O allow system table structure changes\n"
+msgstr " -O 允许改变系统表结构\n"
-#: parser/analyze.c:2405
+#: main/main.c:346
#, c-format
-msgid "SELECT FOR UPDATE/SHARE cannot be used with foreign table \"%s\""
-msgstr "SELECT FOR UPDATE/SHARE 不能用于外部表\"%s\""
+msgid " -P disable system indexes\n"
+msgstr " -P 关闭系统索引\n"
-#: parser/analyze.c:2424
+#: main/main.c:347
#, c-format
-msgid "SELECT FOR UPDATE/SHARE cannot be applied to a join"
-msgstr "SELECT FOR UPDATE/SHARE 不能适用于一个联合 (join)"
+msgid " -t pa|pl|ex show timings after each query\n"
+msgstr " -t pa|pl|ex 每个查询后显示计时\n"
-#: parser/analyze.c:2430
+#: main/main.c:348
#, c-format
-msgid "SELECT FOR UPDATE/SHARE cannot be applied to a function"
-msgstr "SELECT FOR UPDATE/SHARE不适用于一个函数"
+msgid ""
+" -T send SIGSTOP to all backend processes if one dies\n"
+msgstr ""
+" -T 如果一个后端进程退出, 那么向所有后端进程发送 SIGSTOP\n"
-#: parser/analyze.c:2442
+#: main/main.c:349
#, c-format
-msgid "SELECT FOR UPDATE/SHARE cannot be applied to a WITH query"
-msgstr "SELECT FOR UPDATE/SHARE 不能适用于WITH查询"
+msgid " -W NUM wait NUM seconds to allow attach from a debugger\n"
+msgstr " -W NUM 等待 NUM 秒, 以便允许调试器加入调试\n"
-#: parser/analyze.c:2456
+#: main/main.c:351
#, c-format
-msgid "relation \"%s\" in FOR UPDATE/SHARE clause not found in FROM clause"
-msgstr "在FROM子句中的FOR UPDATE/SHARE子句中没有找到关系 \"%s\""
+msgid ""
+"\n"
+"Options for single-user mode:\n"
+msgstr ""
+"\n"
+"单用户模式的选项:\n"
-#: parser/parse_agg.c:129 parser/parse_oper.c:218
+# help.c:109
+#: main/main.c:352
#, c-format
-msgid "could not identify an ordering operator for type %s"
-msgstr "无法为类型%s识别顺序操作符"
+msgid ""
+" --single selects single-user mode (must be first argument)\n"
+msgstr " --single 选择单用户模式(必须是第一个参数)\n"
-#: parser/parse_agg.c:131
+# help.c:136
+#: main/main.c:353
#, c-format
-msgid "Aggregates with DISTINCT must be able to sort their inputs."
-msgstr "带有DISTINCT关键字的聚合函数必须能够对它们的输入进行排序"
+msgid " DBNAME database name (defaults to user name)\n"
+msgstr " DBNAME 数据库名称(对用户名缺省)\n"
-#: parser/parse_agg.c:172
+#: main/main.c:354
#, c-format
-msgid "aggregate function calls cannot contain window function calls"
-msgstr "对于聚合函数调用不能包含窗口函数的调用"
+msgid " -d 0-5 override debugging level\n"
+msgstr " -d 0-5 覆盖调试级别\n"
-#: parser/parse_agg.c:243 parser/parse_clause.c:1630
+#: main/main.c:355
#, c-format
-msgid "window \"%s\" does not exist"
-msgstr "窗口\"%s\"不存在"
+msgid " -E echo statement before execution\n"
+msgstr " -E 执行前显示语句\n"
-#: parser/parse_agg.c:334
+#: main/main.c:356
#, c-format
-msgid "aggregates not allowed in WHERE clause"
-msgstr "聚合函数不允许在 WHERE 子句中"
+msgid ""
+" -j do not use newline as interactive query delimiter\n"
+msgstr " -j 不使用新行作为交互查询的分隔符\n"
-#: parser/parse_agg.c:340
+#: main/main.c:357 main/main.c:362
#, c-format
-msgid "aggregates not allowed in JOIN conditions"
-msgstr "聚合函数不允许在 JOIN 条件中"
+msgid " -r FILENAME send stdout and stderr to given file\n"
+msgstr " -r FILENAME 把标准输出和标准错误发送到指定的文件中\n"
-#: parser/parse_agg.c:361
+#: main/main.c:359
#, c-format
-msgid "aggregates not allowed in GROUP BY clause"
-msgstr "聚合函数不允许在 GROUP BY 子句中"
+msgid ""
+"\n"
+"Options for bootstrapping mode:\n"
+msgstr ""
+"\n"
+"引导模式的选项:\n"
-#: parser/parse_agg.c:431
+#: main/main.c:360
#, c-format
-msgid "aggregate functions not allowed in a recursive query's recursive term"
-msgstr "在递归查询的递归术语中不允许使用聚合函数"
+msgid ""
+" --boot selects bootstrapping mode (must be first argument)\n"
+msgstr " --boot 选择引导模式(必须是第一个参数)\n"
-#: parser/parse_agg.c:456
+#: main/main.c:361
#, c-format
-msgid "window functions not allowed in WHERE clause"
-msgstr "在WHERE子句中不允许出现窗口函数"
+msgid ""
+" DBNAME database name (mandatory argument in bootstrapping "
+"mode)\n"
+msgstr " DBNAME 数据库名称(在引导模式中是必选参数)\n"
-#: parser/parse_agg.c:462
+#: main/main.c:363
#, c-format
-msgid "window functions not allowed in JOIN conditions"
-msgstr "在 JOIN 条件中不允许出现窗口函数"
+msgid " -x NUM internal use\n"
+msgstr " -x NUM 内部使用\n"
-#: parser/parse_agg.c:468
+#: main/main.c:365
#, c-format
-msgid "window functions not allowed in HAVING clause"
-msgstr "在HAVING子句中不允许出现窗口函数"
+msgid ""
+"\n"
+"Please read the documentation for the complete list of run-time\n"
+"configuration settings and how to set them on the command line or in\n"
+"the configuration file.\n"
+"\n"
+"Report bugs to <pgsql-bugs@postgresql.org>.\n"
+msgstr ""
+"\n"
+"请阅读文档获取运行时配置设置的完整列表\n"
+"以及如何在命令行或者在配置文件里设置它们的详细信息.\n"
+"\n"
+"请向 <pgsql-bugs@postgresql.org> 报告臭虫.\n"
-#: parser/parse_agg.c:481
+#: main/main.c:379
#, c-format
-msgid "window functions not allowed in GROUP BY clause"
-msgstr "在GROUP BY子句中不允许出现窗口函数"
+msgid ""
+"\"root\" execution of the PostgreSQL server is not permitted.\n"
+"The server must be started under an unprivileged user ID to prevent\n"
+"possible system security compromise. See the documentation for\n"
+"more information on how to properly start the server.\n"
+msgstr ""
+"不允许 \"root\" 执行 PostgreSQL 服务器.\n"
+"服务器必须以一个非特权的用户身份启动以避免\n"
+"可能的系统安全性问题. 参阅文档获取更多\n"
+"有关如何正确启动服务器的信息.\n"
-#: parser/parse_agg.c:500 parser/parse_agg.c:513
+#: main/main.c:396
#, c-format
-msgid "window functions not allowed in window definition"
-msgstr "在窗口定义中不允许出现窗口定义"
+msgid "%s: real and effective user IDs must match\n"
+msgstr "%s: 真实和有效用户标识必须相互匹配\n"
-#: parser/parse_agg.c:671
+#: main/main.c:403
#, c-format
msgid ""
-"column \"%s.%s\" must appear in the GROUP BY clause or be used in an "
-"aggregate function"
-msgstr "字段 \"%s.%s\" 必须出现在 GROUP BY 子句中或者在聚合函数中使用"
+"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 compromises. See the documentation for\n"
+"more information on how to properly start the server.\n"
+msgstr ""
+"不允许管理员权限的用户运行 PostgreSQL 服务器.\n"
+"服务器必须以一个非特权的用户身份启动以避免\n"
+"可能的系统安全性问题. 参阅文档获取更多\n"
+"有关如何正确启动服务器的信息.\n"
-#: parser/parse_agg.c:677
+#: nodes/nodeFuncs.c:115 nodes/nodeFuncs.c:141 parser/parse_coerce.c:1782
+#: parser/parse_coerce.c:1810 parser/parse_coerce.c:1886
+#: parser/parse_expr.c:1739 parser/parse_func.c:590 parser/parse_oper.c:948
#, c-format
-msgid "subquery uses ungrouped column \"%s.%s\" from outer query"
-msgstr "子查询使用了外层查询中的非分组列 \"%s.%s\" "
+msgid "could not find array type for data type %s"
+msgstr "无法为数据类型 %s 找到数组类型"
-#: parser/parse_clause.c:420
+#: optimizer/path/joinrels.c:722
#, c-format
-msgid "JOIN/ON clause refers to \"%s\", which is not part of JOIN"
-msgstr "JOIN/ON子句引用的\"%s\"不属于JOIN操作的一部分"
+msgid ""
+"FULL JOIN is only supported with merge-joinable or hash-joinable join "
+"conditions"
+msgstr "只有在合并连接或哈希连接的查询条件中才支持FULL JOIN"
-#: parser/parse_clause.c:517
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: optimizer/plan/initsplan.c:1079
#, c-format
-msgid "subquery in FROM cannot refer to other relations of same query level"
-msgstr "在FROM子句中的子查询无法参考相同查询级别中的关系"
+#| msgid ""
+#| "SELECT FOR UPDATE/SHARE cannot be applied to the nullable side of an "
+#| "outer join"
+msgid "%s cannot be applied to the nullable side of an outer join"
+msgstr "%s 不能用于外连接中的空值一边"
-#: parser/parse_clause.c:573
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: optimizer/plan/planner.c:1158 parser/analyze.c:1330 parser/analyze.c:1528
+#: parser/analyze.c:2287
#, c-format
-msgid ""
-"function expression in FROM cannot refer to other relations of same query "
-"level"
-msgstr "在FROM子句中的函数表达式无法参考相同查询级别中的关系"
+#| msgid "SELECT FOR UPDATE/SHARE is not allowed with UNION/INTERSECT/EXCEPT"
+msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
+msgstr "%s不允许使用UNION/INTERSECT/EXCEPT"
-#: parser/parse_clause.c:586
+#: optimizer/plan/planner.c:2723
#, c-format
-msgid "cannot use aggregate function in function expression in FROM"
-msgstr "不能在 FROM 中的函数表达式中使用聚合函数"
+msgid "could not implement GROUP BY"
+msgstr "无法实现GROUP BY语句"
-#: parser/parse_clause.c:593
+#: optimizer/plan/planner.c:2724 optimizer/plan/planner.c:2892
+#: optimizer/prep/prepunion.c:825
#, c-format
-msgid "cannot use window function in function expression in FROM"
-msgstr "不能在FROM中的函数表达式中使用窗口函数"
+msgid ""
+"Some of the datatypes only support hashing, while others only support "
+"sorting."
+msgstr "一些数据类型只支持哈希,同时另外一些数据类型只支持排序."
-#: parser/parse_clause.c:870
+#: optimizer/plan/planner.c:2891
#, c-format
-msgid "column name \"%s\" appears more than once in USING clause"
-msgstr "在 USING 子句中字段名 \"%s\" 出现多次"
+msgid "could not implement DISTINCT"
+msgstr "无法实现DISTINCT语句"
-#: parser/parse_clause.c:885
+#: optimizer/plan/planner.c:3497
#, c-format
-msgid "common column name \"%s\" appears more than once in left table"
-msgstr "共同的字段名 \"%s\" 在左边的表中出现了多次"
+msgid "could not implement window PARTITION BY"
+msgstr "无法实现与窗口函数一同使用PARTITION BY子句"
-#: parser/parse_clause.c:894
+#: optimizer/plan/planner.c:3498
#, c-format
-msgid "column \"%s\" specified in USING clause does not exist in left table"
-msgstr "USING 子句中指定的字段 \"%s\" 在左边的表中不存在"
+msgid "Window partitioning columns must be of sortable datatypes."
+msgstr "窗口分区列必须属于可排序的数据类型"
-#: parser/parse_clause.c:908
+#: optimizer/plan/planner.c:3502
#, c-format
-msgid "common column name \"%s\" appears more than once in right table"
-msgstr "共同的字段名 \"%s\" 在右边的表中出现了多次"
+msgid "could not implement window ORDER BY"
+msgstr "无法实现与窗口函数一同使用ORDER BY 语句"
-#: parser/parse_clause.c:917
+#: optimizer/plan/planner.c:3503
#, c-format
-msgid "column \"%s\" specified in USING clause does not exist in right table"
-msgstr "USING 子句中指定的字段 \"%s\" 在右边的表中不存在"
+msgid "Window ordering columns must be of sortable datatypes."
+msgstr "窗口的排序列必须属于可排序的数据类型"
-#: parser/parse_clause.c:974
+#: optimizer/plan/setrefs.c:402
#, c-format
-msgid "column alias list for \"%s\" has too many entries"
-msgstr "\"%s\" 的字段别名列表有太多记录"
+msgid "too many range table entries"
+msgstr "太多范围表"
-#. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1221
+#: optimizer/prep/prepunion.c:419
#, c-format
-msgid "argument of %s must not contain variables"
-msgstr "%s 的参数不能包含变量"
+msgid "could not implement recursive UNION"
+msgstr "无法实现递归UNION操作"
-#. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1232
+#: optimizer/prep/prepunion.c:420
#, c-format
-msgid "argument of %s must not contain aggregate functions"
-msgstr "%s 的参数一定不能包含聚合函数"
+msgid "All column datatypes must be hashable."
+msgstr "所有列的数据类型必须可进行哈希计算."
-#. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1243
+#. translator: %s is UNION, INTERSECT, or EXCEPT
+#: optimizer/prep/prepunion.c:824
#, c-format
-msgid "argument of %s must not contain window functions"
-msgstr "%s 的参数一定不能包含窗口函数"
+msgid "could not implement %s"
+msgstr "无法实现%s"
-#. translator: first %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1360
+#: optimizer/util/clauses.c:4529
#, c-format
-msgid "%s \"%s\" is ambiguous"
-msgstr "%s \"%s\" 是不明确的"
+msgid "SQL function \"%s\" during inlining"
+msgstr "SQL 函数 \"%s\" 在内联 (inlining) 期间"
-#. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1384
+#: optimizer/util/plancat.c:104
#, c-format
-msgid "non-integer constant in %s"
-msgstr "在 %s 中的非整数常量"
+msgid "cannot access temporary or unlogged relations during recovery"
+msgstr "无法在恢复过程中访问临时关系或非事务日志关系"
-#. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1402
+#: parser/analyze.c:627 parser/analyze.c:1102
#, c-format
-msgid "%s position %d is not in select list"
-msgstr "%s 位置%d不在select列表中."
+msgid "VALUES lists must all be the same length"
+msgstr "在VALUES列表中每个成员的长度必须相同"
-#: parser/parse_clause.c:1618
+#: parser/analyze.c:794
#, c-format
-msgid "window \"%s\" is already defined"
-msgstr "已经定义窗口\"%s\""
+msgid "INSERT has more expressions than target columns"
+msgstr "INSERT 的表达式多于指定的字段数"
-#: parser/parse_clause.c:1672
+#: parser/analyze.c:812
#, c-format
-msgid "cannot override PARTITION BY clause of window \"%s\""
-msgstr "无法覆盖窗口\"%s\"的PARTITION BY子句"
+msgid "INSERT has more target columns than expressions"
+msgstr "INSERT 的指定字段数多于表达式"
-#: parser/parse_clause.c:1684
+#: parser/analyze.c:816
#, c-format
-msgid "cannot override ORDER BY clause of window \"%s\""
-msgstr "无法覆盖窗口 \"%s\"的ORDER BY子句"
+msgid ""
+"The insertion source is a row expression containing the same number of "
+"columns expected by the INSERT. Did you accidentally use extra parentheses?"
+msgstr ""
+"插入源是一个行表达式,里边的列个数与INSERT期望值相同. 您是否偶尔使用了额外的"
+"父表达式?"
-#: parser/parse_clause.c:1706
+#: parser/analyze.c:924 parser/analyze.c:1303
#, c-format
-msgid "cannot override frame clause of window \"%s\""
-msgstr "无法覆盖窗口\"%s\"的框架(frame)子句"
+msgid "SELECT ... INTO is not allowed here"
+msgstr "这儿不允许使用SELECT ... INTO"
-#: parser/parse_clause.c:1772
+#: parser/analyze.c:1116
#, c-format
-msgid ""
-"in an aggregate with DISTINCT, ORDER BY expressions must appear in argument "
-"list"
-msgstr ""
-"在带有DISTINCT子句的聚合函数中,ORDER BY子句后面的表达式必须在参数列表中出现"
+msgid "DEFAULT can only appear in a VALUES list within INSERT"
+msgstr "DEFAULT只能在INSERT语句中的VALUES列表中出现"
-#: parser/parse_clause.c:1773
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:1235 parser/analyze.c:2459
#, c-format
-msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list"
-msgstr "在查询列表中必须出现SELECT DISTINCT, ORDER BY表达式"
+#| msgid "SELECT FOR UPDATE/SHARE cannot be applied to VALUES"
+msgid "%s cannot be applied to VALUES"
+msgstr "%s 不能用于 VALUES"
-#: parser/parse_clause.c:1859 parser/parse_clause.c:1891
+#: parser/analyze.c:1456
#, c-format
-msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
-msgstr "表达式SELECT DISTINCT ON必须匹配初始化的ORDER BY表达式"
+msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
+msgstr "无效的UNION/INTERSECT/EXCEPT ORDER BY 子句"
-#: parser/parse_clause.c:2013
+#: parser/analyze.c:1457
#, c-format
-msgid "operator %s is not a valid ordering operator"
-msgstr "æ\93\8dä½\9c符%sä¸\8dæ\97¶æ\9c\89æ\95\88ç\9a\84æ\8e\92åº\8fæ\93\8dä½\9c符"
+msgid "Only result column names can be used, not expressions or functions."
+msgstr "æ\97 æ³\95使ç\94¨è¡¨è¾¾å¼\8fæ\88\96å\87½æ\95°ï¼\8cå\8fªæ\9c\89ç»\93æ\9e\9cå\88\97ç\9a\84å\90\8dç§°å\8f¯ä»¥ä½¿ç\94¨."
-#: parser/parse_clause.c:2015
+#: parser/analyze.c:1458
#, c-format
msgid ""
-"Ordering operators must be \"<\" or \">\" members of btree operator families."
-msgstr "顺序操作符必须是btree操作符家族的成员\"<\"或\">\"."
+"Add the expression/function to every SELECT, or move the UNION into a FROM "
+"clause."
+msgstr "对每个SELECT语句增加表达式/函数, 或者将UNION移动到FROM子句中."
-#: parser/parse_coerce.c:932 parser/parse_coerce.c:962
-#: parser/parse_coerce.c:980 parser/parse_coerce.c:995
-#: parser/parse_expr.c:1666 parser/parse_expr.c:2140 parser/parse_target.c:830
+#: parser/analyze.c:1518
#, c-format
-msgid "cannot cast type %s to %s"
-msgstr "无法把类型 %s 转换为 %s"
+msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
+msgstr "INTO 只允许在 UNION/INTERSECT/EXCEPT 的第一个 SELECT 上使用"
-#: parser/parse_coerce.c:965
+#: parser/analyze.c:1582
#, c-format
-msgid "Input has too few columns."
-msgstr "输入字段太少"
+msgid ""
+"UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of "
+"same query level"
+msgstr "UNION/INTERSECT/EXCEPT的成员语句不能参考相同查询层次的其它关系"
-#: parser/parse_coerce.c:983
+#: parser/analyze.c:1671
#, c-format
-msgid "Cannot cast type %s to %s in column %d."
-msgstr "不能把第 %3$d 个字段的类型 %1$s 转换为 %2$s."
+msgid "each %s query must have the same number of columns"
+msgstr "每一个 %s 查询必须有相同的字段个数"
-#: parser/parse_coerce.c:998
+#: parser/analyze.c:2051
+#, c-format
+#| msgid "view must have at least one column"
+msgid "RETURNING must have at least one column"
+msgstr "RETURNING 必须至少有一列"
+
+#: parser/analyze.c:2088
+#, c-format
+msgid "cannot specify both SCROLL and NO SCROLL"
+msgstr "不可同时指定 SCROLL 和 NO SCROLL"
+
+#: parser/analyze.c:2106
+#, c-format
+msgid "DECLARE CURSOR must not contain data-modifying statements in WITH"
+msgstr "DECLARE CURSOR不能在WITH子句中包含修改数据的操作"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2114
+#, c-format
+#| msgid "DECLARE CURSOR WITH HOLD ... FOR UPDATE/SHARE is not supported"
+msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
+msgstr "DECLARE CURSOR WITH HOLD ... %s不能使用"
+
+#: parser/analyze.c:2117
+#, c-format
+msgid "Holdable cursors must be READ ONLY."
+msgstr "可保持游标必须为只读."
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2125
+#, c-format
+#| msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
+msgid "DECLARE SCROLL CURSOR ... %s is not supported"
+msgstr "DECLARE SCROLL CURSOR ... %s不能使用"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2136
+#, c-format
+#| msgid "DECLARE INSENSITIVE CURSOR ... FOR UPDATE/SHARE is not supported"
+msgid "DECLARE INSENSITIVE CURSOR ... %s is not supported"
+msgstr "DECLARE INSENSITIVE CURSOR ... %s不能使用"
+
+#: parser/analyze.c:2139
+#, c-format
+msgid "Insensitive cursors must be READ ONLY."
+msgstr "非敏感游标必须为只读模式(READ ONLY)."
+
+#: parser/analyze.c:2205
+#, c-format
+#| msgid "views must not contain data-modifying statements in WITH"
+msgid "materialized views must not use data-modifying statements in WITH"
+msgstr "物化视图不能包含修改数据的WITH子句"
+
+#: parser/analyze.c:2215
+#, c-format
+#| msgid "Sets the tablespace(s) to use for temporary tables and sort files."
+msgid "materialized views must not use temporary tables or views"
+msgstr "物化视图不能使用临时表或视图"
+
+#: parser/analyze.c:2225
+#, c-format
+msgid "materialized views may not be defined using bound parameters"
+msgstr "物化视图在绑定参数里可能没被定义"
+
+#: parser/analyze.c:2237
+#, c-format
+#| msgid "materialized view"
+msgid "materialized views cannot be UNLOGGED"
+msgstr "物化视图不能使用UNLOGGED"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2294
+#, c-format
+#| msgid "SELECT FOR UPDATE/SHARE is not allowed with DISTINCT clause"
+msgid "%s is not allowed with DISTINCT clause"
+msgstr "%s不能用于DISTINCT子句中"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2301
+#, c-format
+#| msgid "aggregates not allowed in GROUP BY clause"
+msgid "%s is not allowed with GROUP BY clause"
+msgstr "%s不能用于GROUP BY子句中"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2308
+#, c-format
+#| msgid "window functions not allowed in HAVING clause"
+msgid "%s is not allowed with HAVING clause"
+msgstr "%s不能用于HAVING子句中"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2315
+#, c-format
+#| msgid "%s is not allowed in a SQL function"
+msgid "%s is not allowed with aggregate functions"
+msgstr "%s不能用于聚合函数中"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2322
+#, c-format
+#| msgid "%s is not allowed in a SQL function"
+msgid "%s is not allowed with window functions"
+msgstr "%s不能用于窗口函数中"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2329
+#, c-format
+#| msgid ""
+#| "SELECT FOR UPDATE/SHARE is not allowed with set-returning functions in "
+#| "the target list"
+msgid "%s is not allowed with set-returning functions in the target list"
+msgstr "%s不能用于目标列表中的返回集合的函数中"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2408
+#, c-format
+#| msgid "SELECT FOR UPDATE/SHARE must specify unqualified relation names"
+msgid "%s must specify unqualified relation names"
+msgstr "%s 必须指定不合格的关系名"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2441
+#, c-format
+#| msgid "SELECT FOR UPDATE/SHARE cannot be applied to a join"
+msgid "%s cannot be applied to a join"
+msgstr "%s 不能用于连接(join)操作"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2450
+#, c-format
+#| msgid "SELECT FOR UPDATE/SHARE cannot be applied to a function"
+msgid "%s cannot be applied to a function"
+msgstr "%s不能用于函数"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2468
+#, c-format
+#| msgid "SELECT FOR UPDATE/SHARE cannot be applied to a WITH query"
+msgid "%s cannot be applied to a WITH query"
+msgstr "%s 不能用于WITH查询"
+
+#. translator: %s is a SQL row locking clause such as FOR UPDATE
+#: parser/analyze.c:2485
+#, c-format
+#| msgid "relation \"%s\" in FOR UPDATE/SHARE clause not found in FROM clause"
+msgid "relation \"%s\" in %s clause not found in FROM clause"
+msgstr "子句%2$s中的关系 \"%1$s\" 在FROM子句中无法找到"
+
+#: parser/parse_agg.c:201 parser/parse_oper.c:219
+#, c-format
+msgid "could not identify an ordering operator for type %s"
+msgstr "无法为类型%s识别顺序操作符"
+
+#: parser/parse_agg.c:203
+#, c-format
+msgid "Aggregates with DISTINCT must be able to sort their inputs."
+msgstr "带有DISTINCT关键字的聚合函数必须能够对它们的输入进行排序"
+
+#: parser/parse_agg.c:254
+#| msgid "aggregates not allowed in JOIN conditions"
+msgid "aggregate functions are not allowed in JOIN conditions"
+msgstr "聚合函数不允许出现在 JOIN 条件中"
+
+#: parser/parse_agg.c:260
+#| msgid ""
+#| "aggregate functions not allowed in a recursive query's recursive term"
+msgid ""
+"aggregate functions are not allowed in FROM clause of their own query level"
+msgstr "聚合函数不允许出现在它们自己查询级别的FROM子句中"
+
+#: parser/parse_agg.c:263
+#| msgid "cannot use aggregate function in function expression in FROM"
+msgid "aggregate functions are not allowed in functions in FROM"
+msgstr "聚合函数不允许出现在FROM子句中的函数里"
+
+#: parser/parse_agg.c:281
+#| msgid "window functions not allowed in window definition"
+msgid "aggregate functions are not allowed in window RANGE"
+msgstr "在聚合函数不允许出现在窗口范围子句里"
+
+#: parser/parse_agg.c:284
+#| msgid "window functions not allowed in window definition"
+msgid "aggregate functions are not allowed in window ROWS"
+msgstr "聚合函数不允许出现在窗口ROWS子句里"
+
+#: parser/parse_agg.c:315
+#| msgid "cannot use aggregate function in check constraint"
+msgid "aggregate functions are not allowed in check constraints"
+msgstr "聚合函数不允许出现在check约束中"
+
+#: parser/parse_agg.c:319
+#| msgid ""
+#| "aggregate functions not allowed in a recursive query's recursive term"
+msgid "aggregate functions are not allowed in DEFAULT expressions"
+msgstr "聚合函数不允许出现在DEFAULT表达式中"
+
+#: parser/parse_agg.c:322
+#| msgid "cannot use aggregate function in index expression"
+msgid "aggregate functions are not allowed in index expressions"
+msgstr "聚合函数不允许出现在索引表达式中"
+
+#: parser/parse_agg.c:325
+#| msgid ""
+#| "aggregate functions not allowed in a recursive query's recursive term"
+msgid "aggregate functions are not allowed in index predicates"
+msgstr "聚合函数不允许出现在索引判定子句当中"
+
+#: parser/parse_agg.c:328
+#| msgid "cannot use aggregate function in transform expression"
+msgid "aggregate functions are not allowed in transform expressions"
+msgstr "聚合函数不允许出现在转换表达式中"
+
+#: parser/parse_agg.c:331
+#| msgid "cannot use aggregate function in EXECUTE parameter"
+msgid "aggregate functions are not allowed in EXECUTE parameters"
+msgstr "聚合函数不允许出现在EXECUTE参数中"
+
+#: parser/parse_agg.c:334
+#| msgid "cannot use aggregate function in trigger WHEN condition"
+msgid "aggregate functions are not allowed in trigger WHEN conditions"
+msgstr "聚合函数不允许出现在触发器WHEN条件中"
+
+#. translator: %s is name of a SQL construct, eg GROUP BY
+#: parser/parse_agg.c:354 parser/parse_clause.c:1407
+#, c-format
+#| msgid "aggregate function calls cannot be nested"
+msgid "aggregate functions are not allowed in %s"
+msgstr "聚合函数不允许出现在%s中"
+
+#: parser/parse_agg.c:457
+#, c-format
+msgid ""
+"outer-level aggregate cannot contain a lower-level variable in its direct "
+"arguments"
+msgstr "outer-level 聚集函数在其直接参数里不能包含更低级别的变量"
+
+#: parser/parse_agg.c:514
+#, c-format
+msgid "aggregate function calls cannot contain window function calls"
+msgstr "对于聚合函数调用不能包含窗口函数的调用"
+
+#: parser/parse_agg.c:591
+#| msgid "window functions not allowed in JOIN conditions"
+msgid "window functions are not allowed in JOIN conditions"
+msgstr "窗口函数不允许出现在JOIN条件中"
+
+#: parser/parse_agg.c:598
+#| msgid "window functions not allowed in JOIN conditions"
+msgid "window functions are not allowed in functions in FROM"
+msgstr "窗口函数不允许出现在FROM的函数中"
+
+#: parser/parse_agg.c:613
+#| msgid "window functions not allowed in window definition"
+msgid "window functions are not allowed in window definitions"
+msgstr "窗口函数不允许出现在窗口定义中"
+
+#: parser/parse_agg.c:644
+#| msgid "window functions not allowed in JOIN conditions"
+msgid "window functions are not allowed in check constraints"
+msgstr "窗口函数不允许出现在check约束中"
+
+#: parser/parse_agg.c:648
+#| msgid "window functions not allowed in JOIN conditions"
+msgid "window functions are not allowed in DEFAULT expressions"
+msgstr "窗口函数不允许出现在DEFAULT表达式中"
+
+#: parser/parse_agg.c:651
+#| msgid "window functions not allowed in window definition"
+msgid "window functions are not allowed in index expressions"
+msgstr "在窗口函数不允许出现在索引表达式中"
+
+#: parser/parse_agg.c:654
+#| msgid "window functions not allowed in window definition"
+msgid "window functions are not allowed in index predicates"
+msgstr "在窗口函数不允许出现在索引判定子句中"
+
+#: parser/parse_agg.c:657
+#| msgid "window functions not allowed in window definition"
+msgid "window functions are not allowed in transform expressions"
+msgstr "窗口函数不允许出现在转换表达式中"
+
+#: parser/parse_agg.c:660
+#| msgid "window functions not allowed in WHERE clause"
+msgid "window functions are not allowed in EXECUTE parameters"
+msgstr "窗口函数不允许出现在EXECUTE参数中"
+
+#: parser/parse_agg.c:663
+#| msgid "window functions not allowed in JOIN conditions"
+msgid "window functions are not allowed in trigger WHEN conditions"
+msgstr "窗口函数不允许出现在触发器WHEN条件中"
+
+#. translator: %s is name of a SQL construct, eg GROUP BY
+#: parser/parse_agg.c:683 parser/parse_clause.c:1416
+#, c-format
+#| msgid "window functions not allowed in WHERE clause"
+msgid "window functions are not allowed in %s"
+msgstr "窗口函数不允许出现在%s中"
+
+#: parser/parse_agg.c:717 parser/parse_clause.c:1827
+#, c-format
+msgid "window \"%s\" does not exist"
+msgstr "窗口\"%s\"不存在"
+
+#: parser/parse_agg.c:879
+#, c-format
+#| msgid ""
+#| "aggregate functions not allowed in a recursive query's recursive term"
+msgid ""
+"aggregate functions are not allowed in a recursive query's recursive term"
+msgstr "聚合函数不允许出现在递归查询的递归项中"
+
+#: parser/parse_agg.c:1057
+#, c-format
+msgid ""
+"column \"%s.%s\" must appear in the GROUP BY clause or be used in an "
+"aggregate function"
+msgstr "字段 \"%s.%s\" 必须出现在 GROUP BY 子句中或者在聚合函数中使用"
+
+#: parser/parse_agg.c:1060
+#, c-format
+msgid ""
+"Direct arguments of an ordered-set aggregate must use only grouped columns."
+msgstr "有序聚集函数的直接参数必须使用分组列."
+
+#: parser/parse_agg.c:1065
+#, c-format
+msgid "subquery uses ungrouped column \"%s.%s\" from outer query"
+msgstr "子查询使用了外层查询中的非分组列 \"%s.%s\" "
+
+#: parser/parse_clause.c:636
+#, c-format
+#| msgid ""
+#| "a column definition list is only allowed for functions returning \"record"
+#| "\""
+msgid "multiple column definition lists are not allowed for the same function"
+msgstr "多列定义列表不允许了现在相同的函数中"
+
+#: parser/parse_clause.c:669
+#, c-format
+msgid ""
+"ROWS FROM() with multiple functions cannot have a column definition list"
+msgstr "带多函数的ROWS FROM() 不能带有列定义列表"
+
+#: parser/parse_clause.c:670
+#, c-format
+msgid ""
+"Put a separate column definition list for each function inside ROWS FROM()."
+msgstr "在ROWS FROM()里为每个函数放置独立的列定义列表."
+
+#: parser/parse_clause.c:676
+#, c-format
+#| msgid "INSTEAD OF triggers cannot have column lists"
+msgid "UNNEST() with multiple arguments cannot have a column definition list"
+msgstr "带多个参数的UNNEST() 不能带有列定义列表"
+
+#: parser/parse_clause.c:677
+#, c-format
+msgid ""
+"Use separate UNNEST() calls inside ROWS FROM(), and attach a column "
+"definition list to each one."
+msgstr "在ROWS FROM()里使用独立的UNNEST()调用, 并为每个调用附上一个列定义列表."
+
+#: parser/parse_clause.c:684
+#, c-format
+msgid "WITH ORDINALITY cannot be used with a column definition list"
+msgstr "WITH ORDINALITY 不能使用列定义列表"
+
+#: parser/parse_clause.c:685
+#, c-format
+msgid "Put the column definition list inside ROWS FROM()."
+msgstr "在 ROWS FROM()时旋转列定义列表."
+
+#: parser/parse_clause.c:967
+#, c-format
+msgid "column name \"%s\" appears more than once in USING clause"
+msgstr "在 USING 子句中字段名 \"%s\" 出现多次"
+
+#: parser/parse_clause.c:982
+#, c-format
+msgid "common column name \"%s\" appears more than once in left table"
+msgstr "共同的字段名 \"%s\" 在左边的表中出现了多次"
+
+#: parser/parse_clause.c:991
+#, c-format
+msgid "column \"%s\" specified in USING clause does not exist in left table"
+msgstr "USING 子句中指定的字段 \"%s\" 在左边的表中不存在"
+
+#: parser/parse_clause.c:1005
+#, c-format
+msgid "common column name \"%s\" appears more than once in right table"
+msgstr "共同的字段名 \"%s\" 在右边的表中出现了多次"
+
+#: parser/parse_clause.c:1014
+#, c-format
+msgid "column \"%s\" specified in USING clause does not exist in right table"
+msgstr "USING 子句中指定的字段 \"%s\" 在右边的表中不存在"
+
+#: parser/parse_clause.c:1068
+#, 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:1377
+#, c-format
+msgid "argument of %s must not contain variables"
+msgstr "%s 的参数不能包含变量"
+
+#. translator: first %s is name of a SQL construct, eg ORDER BY
+#: parser/parse_clause.c:1542
+#, 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:1571
+#, 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:1593
+#, c-format
+msgid "%s position %d is not in select list"
+msgstr "%s 位置%d不在select列表中."
+
+#: parser/parse_clause.c:1815
+#, c-format
+msgid "window \"%s\" is already defined"
+msgstr "已经定义窗口\"%s\""
+
+#: parser/parse_clause.c:1876
+#, c-format
+msgid "cannot override PARTITION BY clause of window \"%s\""
+msgstr "无法覆盖窗口\"%s\"的PARTITION BY子句"
+
+#: parser/parse_clause.c:1888
+#, c-format
+msgid "cannot override ORDER BY clause of window \"%s\""
+msgstr "无法覆盖窗口 \"%s\"的ORDER BY子句"
+
+#: parser/parse_clause.c:1918 parser/parse_clause.c:1924
+#, c-format
+#| msgid "cannot drop extension \"%s\" because it is being modified"
+msgid "cannot copy window \"%s\" because it has a frame clause"
+msgstr "因为已有frame子句,无法复制窗口\"%s\""
+
+#: parser/parse_clause.c:1926
+#, c-format
+msgid "Omit the parentheses in this OVER clause."
+msgstr "在这个 OVER 子句里忽略其父语句."
+
+#: parser/parse_clause.c:1992
+#, c-format
+msgid ""
+"in an aggregate with DISTINCT, ORDER BY expressions must appear in argument "
+"list"
+msgstr ""
+"在带有DISTINCT子句的聚合函数中,ORDER BY子句后面的表达式必须在参数列表中出现"
+
+#: parser/parse_clause.c:1993
+#, c-format
+msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list"
+msgstr "在查询列表中必须出现SELECT DISTINCT, ORDER BY表达式"
+
+#: parser/parse_clause.c:2026
+#, c-format
+#| msgid "Aggregates with DISTINCT must be able to sort their inputs."
+msgid "an aggregate with DISTINCT must have at least one argument"
+msgstr "带有DISTINCT关键字的聚合函数必须至少有一个参数"
+
+#: parser/parse_clause.c:2027
+#, c-format
+#| msgid "view must have at least one column"
+msgid "SELECT DISTINCT must have at least one column"
+msgstr "SELECT DISTINCT 至少拥有一列"
+
+#: parser/parse_clause.c:2093 parser/parse_clause.c:2125
+#, c-format
+msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
+msgstr "表达式SELECT DISTINCT ON必须匹配初始化的ORDER BY表达式"
+
+#: parser/parse_clause.c:2253
+#, c-format
+msgid "operator %s is not a valid ordering operator"
+msgstr "操作符%s不时有效的排序操作符"
+
+#: parser/parse_clause.c:2255
+#, c-format
+msgid ""
+"Ordering operators must be \"<\" or \">\" members of btree operator families."
+msgstr "顺序操作符必须是btree操作符家族的成员\"<\"或\">\"."
+
+#: parser/parse_coerce.c:933 parser/parse_coerce.c:963
+#: parser/parse_coerce.c:981 parser/parse_coerce.c:996
+#: parser/parse_expr.c:1773 parser/parse_expr.c:2247 parser/parse_target.c:854
+#, c-format
+msgid "cannot cast type %s to %s"
+msgstr "无法把类型 %s 转换为 %s"
+
+#: parser/parse_coerce.c:966
+#, c-format
+msgid "Input has too few columns."
+msgstr "输入字段太少"
+
+#: parser/parse_coerce.c:984
+#, c-format
+msgid "Cannot cast type %s to %s in column %d."
+msgstr "不能把第 %3$d 个字段的类型 %1$s 转换为 %2$s."
+
+#: parser/parse_coerce.c:999
#, c-format
msgid "Input has too many columns."
msgstr "输入字段太多"
#. translator: first %s is name of a SQL construct, eg WHERE
-#: parser/parse_coerce.c:1041
+#: parser/parse_coerce.c:1042
#, 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:1051 parser/parse_coerce.c:1100
+#: parser/parse_coerce.c:1052 parser/parse_coerce.c:1101
#, 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:1088
+#: parser/parse_coerce.c:1089
#, c-format
msgid "argument of %s must be type %s, not type %s"
msgstr "%s 的参数必需是类型%s, 而不是类型%s "
#. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:1221
+#: parser/parse_coerce.c:1222
#, 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:1288
+#: parser/parse_coerce.c:1289
#, c-format
msgid "%s could not convert type %s to %s"
msgstr "%s 无法转换类型 %s 为 %s"
-#: parser/parse_coerce.c:1590
+#: parser/parse_coerce.c:1591
#, c-format
msgid "arguments declared \"anyelement\" are not all alike"
msgstr "参数声明的 \"anyelement\" 不全相同"
-#: parser/parse_coerce.c:1610
+#: parser/parse_coerce.c:1611
#, c-format
msgid "arguments declared \"anyarray\" are not all alike"
msgstr "参数声明的 \"anyarray\" 不全相同"
-#: parser/parse_coerce.c:1630
+#: parser/parse_coerce.c:1631
#, c-format
msgid "arguments declared \"anyrange\" are not all alike"
msgstr "声明为 \"anyarray\" 的参数不全相同"
-#: parser/parse_coerce.c:1659 parser/parse_coerce.c:1870
-#: parser/parse_coerce.c:1904
+#: parser/parse_coerce.c:1660 parser/parse_coerce.c:1871
+#: parser/parse_coerce.c:1905
#, c-format
msgid "argument declared \"anyarray\" is not an array but type %s"
msgstr "参数声明的 \"anyarray\" 不是一个数组, 但是类型为 %s"
-#: parser/parse_coerce.c:1675
+#: parser/parse_coerce.c:1676
#, c-format
msgid ""
"argument declared \"anyarray\" is not consistent with argument declared "
"\"anyelement\""
msgstr "参数声明的 \"anyarray\" 和参数声明的 \"anyelement\" 不一致"
-#: parser/parse_coerce.c:1696 parser/parse_coerce.c:1917
+#: parser/parse_coerce.c:1697 parser/parse_coerce.c:1918
#, c-format
-msgid "argument declared \"anyrange\" is not a range but type %s"
-msgstr "声明为 \"anyarray\" 的参数不是一个范围, 类型为 %s"
+#| msgid "argument declared \"anyrange\" is not a range but type %s"
+msgid "argument declared \"anyrange\" is not a range type but type %s"
+msgstr "声明为 \"anyarray\" 的参数的类型不是范围类型, 其类型为 %s"
-#: parser/parse_coerce.c:1712
+#: parser/parse_coerce.c:1713
#, c-format
msgid ""
"argument declared \"anyrange\" is not consistent with argument declared "
"\"anyelement\""
msgstr "声明为 \"anyarray\" 的参数和声明为 \"anyelement\"的参数 不一致"
-#: parser/parse_coerce.c:1732
+#: parser/parse_coerce.c:1733
#, c-format
msgid "could not determine polymorphic type because input has type \"unknown\""
msgstr "无法确定多态类型, 因为输入类型为 \"unknown\""
-#: parser/parse_coerce.c:1742
+#: parser/parse_coerce.c:1743
#, c-format
msgid "type matched to anynonarray is an array type: %s"
msgstr "与anynonarray匹配的类型是一个数组类型:%s"
-#: parser/parse_coerce.c:1752
+#: parser/parse_coerce.c:1753
#, c-format
msgid "type matched to anyenum is not an enum type: %s"
msgstr "匹配anyenum的类型不是枚举类型:%s"
-#: parser/parse_coerce.c:1792 parser/parse_coerce.c:1822
+#: parser/parse_coerce.c:1793 parser/parse_coerce.c:1823
#, c-format
msgid "could not find range type for data type %s"
msgstr "无法为数据类型 %s 找到范围类型"
-#: parser/parse_collate.c:214 parser/parse_collate.c:538
+#: parser/parse_collate.c:228 parser/parse_collate.c:475
+#: parser/parse_collate.c:984
#, c-format
msgid "collation mismatch between implicit collations \"%s\" and \"%s\""
msgstr "排序名:\"%s\" 和 \"%s\"之间的排序规则不匹配"
-#: parser/parse_collate.c:217 parser/parse_collate.c:541
+#: parser/parse_collate.c:231 parser/parse_collate.c:478
+#: parser/parse_collate.c:987
#, c-format
msgid ""
"You can choose the collation by applying the COLLATE clause to one or both "
"expressions."
msgstr "通过对一个或两个表达式应用 COLLATE 子句来选择排序规则."
-#: parser/parse_collate.c:763
+#: parser/parse_collate.c:832
#, c-format
msgid "collation mismatch between explicit collations \"%s\" and \"%s\""
msgstr "排序名:\"%s\" 和 \"%s\"之间的排序规则不匹配"
msgid "recursive reference to query \"%s\" must not appear more than once"
msgstr "对查询\"%s\"的递归引用不能出现多次"
-#: parser/parse_expr.c:366 parser/parse_expr.c:759
+#: parser/parse_expr.c:389 parser/parse_relation.c:2875
#, c-format
msgid "column %s.%s does not exist"
msgstr "字段 %s.%s 不存在"
-#: parser/parse_expr.c:378
+#: parser/parse_expr.c:401
#, c-format
msgid "column \"%s\" not found in data type %s"
msgstr "在数据类型 %2$s 中未找到字段 \"%1$s\""
-#: parser/parse_expr.c:384
+#: parser/parse_expr.c:407
#, c-format
msgid "could not identify column \"%s\" in record data type"
msgstr "在记录数据类型中无法确认字段 \"%s\""
-#: parser/parse_expr.c:390
+#: parser/parse_expr.c:413
#, c-format
msgid "column notation .%s applied to type %s, which is not a composite type"
msgstr "将列符号.%s应用到类型%s(这个类型不是组合类型)"
-#: parser/parse_expr.c:420 parser/parse_target.c:618
+#: parser/parse_expr.c:443 parser/parse_target.c:640
#, c-format
msgid "row expansion via \"*\" is not supported here"
msgstr "不支持通过\"*\"实现的记录扩展"
-#: parser/parse_expr.c:743 parser/parse_relation.c:485
-#: parser/parse_relation.c:565 parser/parse_target.c:1065
+#: parser/parse_expr.c:766 parser/parse_relation.c:561
+#: parser/parse_relation.c:652 parser/parse_target.c:1089
#, c-format
msgid "column reference \"%s\" is ambiguous"
msgstr "字段关联 \"%s\" 是不明确的"
-#: parser/parse_expr.c:811 parser/parse_param.c:109 parser/parse_param.c:141
-#: parser/parse_param.c:198 parser/parse_param.c:297
+#: parser/parse_expr.c:822 parser/parse_param.c:110 parser/parse_param.c:142
+#: parser/parse_param.c:199 parser/parse_param.c:298
#, c-format
msgid "there is no parameter $%d"
msgstr "没有参数 $%d"
-#: parser/parse_expr.c:1023
+#: parser/parse_expr.c:1034
#, c-format
msgid "NULLIF requires = operator to yield boolean"
msgstr "在NULLIF操作中需要等号操作符来产生布尔类型的返回值"
-#: parser/parse_expr.c:1202
-#, c-format
-msgid "arguments of row IN must all be row expressions"
-msgstr "记录IN的参数必须都是记录表达式"
+#: parser/parse_expr.c:1469
+msgid "cannot use subquery in check constraint"
+msgstr "在检查约束中不可以使用子查询"
+
+#: parser/parse_expr.c:1473
+#| msgid "cannot use subquery in index expression"
+msgid "cannot use subquery in DEFAULT expression"
+msgstr "DEFAULT表达式中不能使用子查询"
+
+#: parser/parse_expr.c:1476
+msgid "cannot use subquery in index expression"
+msgstr "索引表达式中不能使用子查询"
+
+#: parser/parse_expr.c:1479
+msgid "cannot use subquery in index predicate"
+msgstr "索引声明中不能使用子查询"
+
+#: parser/parse_expr.c:1482
+msgid "cannot use subquery in transform expression"
+msgstr "在转换表达式中不能使用子查询"
+
+#: parser/parse_expr.c:1485
+msgid "cannot use subquery in EXECUTE parameter"
+msgstr "在 EXECUTE 参数中不可以使用子查询"
-#: parser/parse_expr.c:1438
+#: parser/parse_expr.c:1488
+msgid "cannot use subquery in trigger WHEN condition"
+msgstr "在触发器的WHEN条件中无法使用子查询"
+
+#: parser/parse_expr.c:1545
#, c-format
msgid "subquery must return a column"
msgstr "子查询必须返回一个字段"
-#: parser/parse_expr.c:1445
+#: parser/parse_expr.c:1552
#, c-format
msgid "subquery must return only one column"
msgstr "子查询必须只能返回一个字段"
-#: parser/parse_expr.c:1505
+#: parser/parse_expr.c:1612
#, c-format
msgid "subquery has too many columns"
msgstr "子查询有太多的字段"
-#: parser/parse_expr.c:1510
+#: parser/parse_expr.c:1617
#, c-format
msgid "subquery has too few columns"
msgstr "子查询字段太少"
-#: parser/parse_expr.c:1606
+#: parser/parse_expr.c:1713
#, c-format
msgid "cannot determine type of empty array"
msgstr "无法确定空数组的类型"
-#: parser/parse_expr.c:1607
+#: parser/parse_expr.c:1714
#, c-format
msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]."
msgstr "显式地将值指派为期望类型,例如ARRAY[]::integer[]."
-#: parser/parse_expr.c:1621
+#: parser/parse_expr.c:1728
#, c-format
msgid "could not find element type for data type %s"
msgstr "无法为数据类型%s找到成员类型"
-#: parser/parse_expr.c:1847
+#: parser/parse_expr.c:1954
#, c-format
msgid "unnamed XML attribute value must be a column reference"
msgstr "未命名的XML属性值必须是一个列引用"
-#: parser/parse_expr.c:1848
+#: parser/parse_expr.c:1955
#, c-format
msgid "unnamed XML element value must be a column reference"
msgstr "未命名的XML成员值必须是一个列引用"
-#: parser/parse_expr.c:1863
+#: parser/parse_expr.c:1970
#, c-format
msgid "XML attribute name \"%s\" appears more than once"
msgstr "XML属性名称\"%s\"出现多次"
-#: parser/parse_expr.c:1970
+#: parser/parse_expr.c:2077
#, c-format
msgid "cannot cast XMLSERIALIZE result to %s"
msgstr "无法把XMLSERIALIZE强制转换为%s"
-#: parser/parse_expr.c:2213 parser/parse_expr.c:2413
+#: parser/parse_expr.c:2320 parser/parse_expr.c:2520
#, c-format
msgid "unequal number of entries in row expressions"
msgstr "在记录表达式中,项的数量不相等"
-#: parser/parse_expr.c:2223
+#: parser/parse_expr.c:2330
#, c-format
msgid "cannot compare rows of zero length"
msgstr "无法比较零长度的记录"
-#: parser/parse_expr.c:2248
+#: parser/parse_expr.c:2355
#, c-format
msgid "row comparison operator must yield type boolean, not type %s"
msgstr "行比较操作符必需返回布尔类型, 而不是类型%s"
-#: parser/parse_expr.c:2255
+#: parser/parse_expr.c:2362
#, c-format
msgid "row comparison operator must not return a set"
msgstr "行比较操作符不能返回一个集合"
-#: parser/parse_expr.c:2314 parser/parse_expr.c:2359
+#: parser/parse_expr.c:2421 parser/parse_expr.c:2466
#, c-format
msgid "could not determine interpretation of row comparison operator %s"
msgstr "无法确定行比较操作符%s的说明"
-#: parser/parse_expr.c:2316
+#: parser/parse_expr.c:2423
#, c-format
msgid ""
"Row comparison operators must be associated with btree operator families."
msgstr "记录比较表达式必须与btree操作符相关联."
-#: parser/parse_expr.c:2361
+#: parser/parse_expr.c:2468
#, c-format
msgid "There are multiple equally-plausible candidates."
msgstr "有多个相等的类似候选."
-#: parser/parse_expr.c:2453
+#: parser/parse_expr.c:2560
#, c-format
msgid "IS DISTINCT FROM requires = operator to yield boolean"
msgstr "IS DISTINCT FROM操作中需要等号来产生布尔类型的值"
-#: parser/parse_func.c:147
+#: parser/parse_func.c:173
#, c-format
msgid "argument name \"%s\" used more than once"
msgstr "参数名称\"%s\"被使用多次"
-#: parser/parse_func.c:158
+#: parser/parse_func.c:184
#, c-format
msgid "positional argument cannot follow named argument"
msgstr "已确定位置的参数不能在已命名参数的后面"
-#: parser/parse_func.c:236
+#: parser/parse_func.c:263
#, c-format
msgid "%s(*) specified, but %s is not an aggregate function"
msgstr "指定了 %s(*), 但是 %s 不是一个聚合函数"
-#: parser/parse_func.c:243
+#: parser/parse_func.c:270
#, c-format
msgid "DISTINCT specified, but %s is not an aggregate function"
msgstr "指定了 DISTINCT, 但是 %s 不是一个聚合函数"
-#: parser/parse_func.c:249
+#: parser/parse_func.c:276
+#, c-format
+#| msgid "DISTINCT specified, but %s is not an aggregate function"
+msgid "WITHIN GROUP specified, but %s is not an aggregate function"
+msgstr "指定了 WITHIN GROUP , 但是 %s 不是一个聚合函数"
+
+#: parser/parse_func.c:282
#, c-format
msgid "ORDER BY specified, but %s is not an aggregate function"
msgstr "指定了ORDER BY语句, 但是%s不是一个聚合函数"
-#: parser/parse_func.c:255
+#: parser/parse_func.c:288
+#, c-format
+#| msgid "DISTINCT specified, but %s is not an aggregate function"
+msgid "FILTER specified, but %s is not an aggregate function"
+msgstr "FILTER指定了, 但是 %s 不是一个聚合函数"
+
+#: parser/parse_func.c:294
#, c-format
msgid ""
"OVER specified, but %s is not a window function nor an aggregate function"
msgstr "指定了OVER关键字,但是%s不是窗口函数或聚合函数"
-#: parser/parse_func.c:277
+#: parser/parse_func.c:324
#, c-format
-msgid "function %s is not unique"
-msgstr "函数 %s 不是唯一的"
+msgid "WITHIN GROUP is required for ordered-set aggregate %s"
+msgstr "WITHIN GROUP在有序聚集函数 %s中是必需的"
+
+#: parser/parse_func.c:330
+#, c-format
+msgid "OVER is not supported for ordered-set aggregate %s"
+msgstr "OVER不能用于有序聚集函数 %s中"
-#: parser/parse_func.c:280
+#: parser/parse_func.c:361 parser/parse_func.c:390
#, c-format
msgid ""
-"Could not choose a best candidate function. You might need to add explicit "
-"type casts."
-msgstr "无法选择最佳候选函数. 你也许需要增加明确的类型转换."
+"There is an ordered-set aggregate %s, but it requires %d direct arguments, "
+"not %d."
+msgstr "存在有序聚集函数 %s, 它需要 %d 个直接参数, 不是 %d个."
-#: parser/parse_func.c:291
+#: parser/parse_func.c:415
#, c-format
msgid ""
-"No aggregate function matches the given name and argument types. Perhaps you "
-"misplaced ORDER BY; ORDER BY must appear after all regular arguments of the "
-"aggregate."
+"To use the hypothetical-set aggregate %s, the number of hypothetical direct "
+"arguments (here %d) must match the number of ordering columns (here %d)."
msgstr ""
-"没有匹配指定名称和参数类型的函数. 您可能将ORDER BY子句放在了不正确的位置;"
-"ORDER BY子句必须出现在所有聚合函数的常规参数的后面."
+"使用判定集聚集函数 %s, 直接参数的个数 (这里是 %d) 必须与有序列的数目相匹配 "
+"(这里是 %d)."
-#: parser/parse_func.c:302
+#: parser/parse_func.c:429
#, c-format
msgid ""
-"No function matches the given name and argument types. You might need to add "
-"explicit type casts."
-msgstr "没有匹配指定名称和参数类型的函数. 您也许需要增加明确的类型转换."
+"There is an ordered-set aggregate %s, but it requires at least %d direct "
+"arguments."
+msgstr "存在有序集聚集函数%s, 它至少需要%d个直接参数."
-#: parser/parse_func.c:412 parser/parse_func.c:478
+#: parser/parse_func.c:448
#, c-format
-msgid "%s(*) must be used to call a parameterless aggregate function"
-msgstr "%s(*)必须用来调用没有参数的聚合函数"
+msgid "%s is not an ordered-set aggregate, so it cannot have WITHIN GROUP"
+msgstr "%s 不是有序集聚集函数, 因此它不能使用 WITHIN GROUP"
-#: parser/parse_func.c:419
+#: parser/parse_func.c:461
#, c-format
-msgid "aggregates cannot return sets"
-msgstr "聚合函数可以不返回集合"
+#| msgid "window function call requires an OVER clause"
+msgid "window function %s requires an OVER clause"
+msgstr "窗口函数 %s需要一个OVER子句"
-#: parser/parse_func.c:431
+#: parser/parse_func.c:468
#, c-format
-msgid "aggregates cannot use named arguments"
-msgstr "聚合函数不能使用已命名的参数"
+#| msgid "window function calls cannot be nested"
+msgid "window function %s cannot have WITHIN GROUP"
+msgstr "窗口函数%s不能使用WITHIN GROUP子句"
-#: parser/parse_func.c:450
+#: parser/parse_func.c:489
#, c-format
-msgid "window function call requires an OVER clause"
-msgstr "å\9c¨çª\97å\8f£å\87½æ\95°è°\83ç\94¨ä¸é\9c\80è¦\81使ç\94¨OVERå\90å\8f¥"
+msgid "function %s is not unique"
+msgstr "å\87½æ\95° %s ä¸\8dæ\98¯å\94¯ä¸\80ç\9a\84"
-#: parser/parse_func.c:468
+#: parser/parse_func.c:492
+#, c-format
+msgid ""
+"Could not choose a best candidate function. You might need to add explicit "
+"type casts."
+msgstr "无法选择最佳候选函数. 你也许需要增加明确的类型转换."
+
+#: parser/parse_func.c:503
+#, c-format
+msgid ""
+"No aggregate function matches the given name and argument types. Perhaps you "
+"misplaced ORDER BY; ORDER BY must appear after all regular arguments of the "
+"aggregate."
+msgstr ""
+"没有匹配指定名称和参数类型的函数. 您可能将ORDER BY子句放在了不正确的位置;"
+"ORDER BY子句必须出现在所有聚合函数的常规参数的后面."
+
+#: parser/parse_func.c:514
+#, c-format
+msgid ""
+"No function matches the given name and argument types. You might need to add "
+"explicit type casts."
+msgstr "没有匹配指定名称和参数类型的函数. 您也许需要增加明确的类型转换."
+
+#: parser/parse_func.c:616
+#, c-format
+#| msgid "VARIADIC parameter must be an array"
+msgid "VARIADIC argument must be an array"
+msgstr "参数VARIADIC 必须是一个数组"
+
+#: parser/parse_func.c:661 parser/parse_func.c:725
+#, c-format
+msgid "%s(*) must be used to call a parameterless aggregate function"
+msgstr "%s(*)必须用来调用没有参数的聚合函数"
+
+#: parser/parse_func.c:668
+#, c-format
+msgid "aggregates cannot return sets"
+msgstr "聚合函数可以不返回集合"
+
+#: parser/parse_func.c:683
+#, c-format
+msgid "aggregates cannot use named arguments"
+msgstr "聚合函数不能使用已命名的参数"
+
+#: parser/parse_func.c:715
#, c-format
msgid "DISTINCT is not implemented for window functions"
msgstr "对于窗口函数,没有实现DISTINCT"
-#: parser/parse_func.c:488
+#: parser/parse_func.c:735
#, c-format
msgid "aggregate ORDER BY is not implemented for window functions"
msgstr "对于窗口函数,没有实现在按照聚合函数进行ORDER BY操作的功能"
-#: parser/parse_func.c:494
+#: parser/parse_func.c:744
#, c-format
-msgid "window functions cannot return sets"
-msgstr "窗口函数不能返回集合"
+#| msgid "DISTINCT is not implemented for window functions"
+msgid "FILTER is not implemented for non-aggregate window functions"
+msgstr "FILTER在非聚合窗口函数里并未被实现"
-#: parser/parse_func.c:505
+#: parser/parse_func.c:750
#, c-format
-msgid "window functions cannot use named arguments"
-msgstr "窗口函数不能使用已命名参数"
+msgid "window functions cannot return sets"
+msgstr "窗口函数不能返回集合"
-#: parser/parse_func.c:1670
+#: parser/parse_func.c:1994
#, c-format
msgid "aggregate %s(*) does not exist"
msgstr "聚合函数 %s(*) 不存在"
-#: parser/parse_func.c:1675
+#: parser/parse_func.c:1999
#, c-format
msgid "aggregate %s does not exist"
msgstr "聚合函数 %s(*) 不存在"
-#: parser/parse_func.c:1694
+#: parser/parse_func.c:2018
#, c-format
msgid "function %s is not an aggregate"
msgstr "函数 \"%s\" 不是一个聚合函数"
-#: parser/parse_node.c:83
+#: parser/parse_node.c:84
#, c-format
msgid "target lists can have at most %d entries"
msgstr "目标列表最多可以有 %d 个字段"
-#: parser/parse_node.c:240
+#: parser/parse_node.c:253
#, c-format
msgid "cannot subscript type %s because it is not an array"
msgstr "无法下标类型 %s, 因为它不是一个数组"
-#: parser/parse_node.c:342 parser/parse_node.c:369
+#: parser/parse_node.c:356 parser/parse_node.c:383
#, c-format
msgid "array subscript must have type integer"
msgstr "数组下标必须为整数类型"
-#: parser/parse_node.c:393
+#: parser/parse_node.c:407
#, c-format
msgid "array assignment requires type %s but expression is of type %s"
msgstr "数组分配要求类型%s,但是表达式属于类型%s"
-#: parser/parse_oper.c:123 parser/parse_oper.c:717 utils/adt/regproc.c:464
-#: utils/adt/regproc.c:484 utils/adt/regproc.c:643
+#: parser/parse_oper.c:124 parser/parse_oper.c:718 utils/adt/regproc.c:547
+#: utils/adt/regproc.c:567 utils/adt/regproc.c:751
#, c-format
msgid "operator does not exist: %s"
msgstr "操作符不存在: %s"
-#: parser/parse_oper.c:220
+#: parser/parse_oper.c:221
#, c-format
msgid "Use an explicit ordering operator or modify the query."
msgstr "使用显式操作符或修改查询"
-#: parser/parse_oper.c:224 utils/adt/arrayfuncs.c:3175
-#: utils/adt/arrayfuncs.c:3694 utils/adt/rowtypes.c:1185
+#: parser/parse_oper.c:225 utils/adt/arrayfuncs.c:3194
+#: utils/adt/arrayfuncs.c:3713 utils/adt/arrayfuncs.c:5266
+#: utils/adt/rowtypes.c:1159
#, c-format
msgid "could not identify an equality operator for type %s"
msgstr "无法为类型%s识别等于操作符"
-#: parser/parse_oper.c:475
+#: parser/parse_oper.c:476
#, c-format
msgid "operator requires run-time type coercion: %s"
msgstr "操作符需要运行时类型强制: %s"
-#: parser/parse_oper.c:709
+#: parser/parse_oper.c:710
#, c-format
msgid "operator is not unique: %s"
msgstr "操作符不是唯一的: %s"
-#: parser/parse_oper.c:711
+#: parser/parse_oper.c:712
#, c-format
msgid ""
"Could not choose a best candidate operator. You might need to add explicit "
"type casts."
msgstr "无法选择最佳候选操作符. 您也许需要增加显式的类型转换."
-#: parser/parse_oper.c:719
+#: parser/parse_oper.c:720
#, c-format
msgid ""
"No operator matches the given name and argument type(s). You might need to "
"add explicit type casts."
msgstr "没有匹配指定名称和参数类型的操作符. 您也许需要增加明确的类型转换."
-#: parser/parse_oper.c:778 parser/parse_oper.c:892
+#: parser/parse_oper.c:779 parser/parse_oper.c:893
#, c-format
msgid "operator is only a shell: %s"
msgstr "操作符只是一个shell: %s"
-#: parser/parse_oper.c:880
+#: parser/parse_oper.c:881
#, c-format
msgid "op ANY/ALL (array) requires array on right side"
msgstr "操作符ANY/ALL (array)要求数组在右边"
-#: parser/parse_oper.c:922
+#: parser/parse_oper.c:923
#, c-format
msgid "op ANY/ALL (array) requires operator to yield boolean"
msgstr "操作ANY/ALL (array)需要产生布尔值的操作符."
-#: parser/parse_oper.c:927
+#: parser/parse_oper.c:928
#, c-format
msgid "op ANY/ALL (array) requires operator not to return a set"
msgstr "操作ANY/ALL (array)需要不返回集合的操作符"
-#: parser/parse_param.c:215
+#: parser/parse_param.c:216
#, c-format
msgid "inconsistent types deduced for parameter $%d"
msgstr "对于参数$%d,推断出不一致的类型"
-#: parser/parse_relation.c:147
+#: parser/parse_relation.c:172
#, c-format
msgid "table reference \"%s\" is ambiguous"
msgstr "表关联 \"%s\" 是不明确的"
-#: parser/parse_relation.c:183
+#: parser/parse_relation.c:216
#, c-format
msgid "table reference %u is ambiguous"
msgstr "表关联 %u 是不明确的"
-#: parser/parse_relation.c:350
+#: parser/parse_relation.c:395
#, c-format
msgid "table name \"%s\" specified more than once"
msgstr "表名 \"%s\" 被指定多次"
-#: parser/parse_relation.c:768 parser/parse_relation.c:1059
-#: parser/parse_relation.c:1446
+#: parser/parse_relation.c:422 parser/parse_relation.c:2839
#, c-format
-msgid "table \"%s\" has %d columns available but %d columns specified"
-msgstr "表 \"%s\" 有 %d 个有效字段, 但指定了 %d 个字段"
+msgid "invalid reference to FROM-clause entry for table \"%s\""
+msgstr "对于表 \"%s\"的FROM子句项的引用无效 "
+
+#: parser/parse_relation.c:425 parser/parse_relation.c:2844
+#, c-format
+msgid ""
+"There is an entry for table \"%s\", but it cannot be referenced from this "
+"part of the query."
+msgstr "这里有一个对于表\"%s\"的项,但是不能从查询的这个部分中引用."
+
+#: parser/parse_relation.c:427
+#, c-format
+msgid "The combining JOIN type must be INNER or LEFT for a LATERAL reference."
+msgstr "在LATERAL引用里,组合的JOIN必须是INNER或LEFT JOIN类型."
+
+#: parser/parse_relation.c:591
+#, c-format
+#| msgid "column \"%s\" referenced in foreign key constraint does not exist"
+msgid "system column \"%s\" reference in check constraint is invalid"
+msgstr "check约束中的系统列\"%s\"参照是无效的"
-#: parser/parse_relation.c:798
+#: parser/parse_relation.c:892 parser/parse_relation.c:1169
+#: parser/parse_relation.c:1663
#, c-format
-msgid "too many column aliases specified for function %s"
-msgstr "为函数 %s 指定了太多的字段别名"
+msgid "table \"%s\" has %d columns available but %d columns specified"
+msgstr "表 \"%s\" 有 %d 个有效字段, 但指定了 %d 个字段"
-#: parser/parse_relation.c:864
+#: parser/parse_relation.c:979
#, c-format
msgid ""
"There is a WITH item named \"%s\", but it cannot be referenced from this "
"part of the query."
msgstr "这里有一个名称为\"%s\"的WITH成员,但是不能从查询的这个部分引用它."
-#: parser/parse_relation.c:866
+#: parser/parse_relation.c:981
#, c-format
msgid ""
"Use WITH RECURSIVE, or re-order the WITH items to remove forward references."
msgstr "使用WITH RECURSIVE或重新排序WITH成员来删除前向引用."
-#: parser/parse_relation.c:1139
+#: parser/parse_relation.c:1287
#, c-format
msgid ""
"a column definition list is only allowed for functions returning \"record\""
msgstr "一个字段定义列表只允许返回 \"record\" 的函数"
-#: parser/parse_relation.c:1147
+#: parser/parse_relation.c:1296
#, c-format
msgid "a column definition list is required for functions returning \"record\""
msgstr "一个字段定义列表需要返回 \"record\" 的函数"
-#: parser/parse_relation.c:1198
+#: parser/parse_relation.c:1375
#, c-format
msgid "function \"%s\" in FROM has unsupported return type %s"
msgstr "FROM 中的函数 \"%s\" 不支持返回类型 %s"
-#: parser/parse_relation.c:1272
+#: parser/parse_relation.c:1495
#, c-format
msgid "VALUES lists \"%s\" have %d columns available but %d columns specified"
msgstr "VALUES列表\"%s\"中有%d列有效, 但指定了%d个列."
-#: parser/parse_relation.c:1328
+#: parser/parse_relation.c:1548
#, c-format
msgid "joins can have at most %d columns"
msgstr "连接最多可以有 %d 个字段"
-#: parser/parse_relation.c:1419
+#: parser/parse_relation.c:1636
#, c-format
msgid "WITH query \"%s\" does not have a RETURNING clause"
msgstr "WITH 查询 \"%s\" 没有RETURNING子句"
-#: parser/parse_relation.c:2101
+#: parser/parse_relation.c:2468 parser/parse_relation.c:2623
#, c-format
msgid "column %d of relation \"%s\" does not exist"
msgstr "在关系\"%2$s\"中的列 %1$d 不存在"
-#: parser/parse_relation.c:2485
-#, c-format
-msgid "invalid reference to FROM-clause entry for table \"%s\""
-msgstr "对于表 \"%s\"的FROM子句项的引用无效 "
-
-#: parser/parse_relation.c:2488
+#: parser/parse_relation.c:2842
#, c-format
msgid "Perhaps you meant to reference the table alias \"%s\"."
msgstr "可能您是要引用表的化名 \"%s\"."
-#: parser/parse_relation.c:2490
-#, c-format
-msgid ""
-"There is an entry for table \"%s\", but it cannot be referenced from this "
-"part of the query."
-msgstr "这里有一个对于表\"%s\"的项,但是不能从查询的这个部分中引用."
-
-#: parser/parse_relation.c:2496
+#: parser/parse_relation.c:2850
#, c-format
msgid "missing FROM-clause entry for table \"%s\""
msgstr "对于表\"%s\",丢失FROM子句项"
-#: parser/parse_target.c:383 parser/parse_target.c:671
+#: parser/parse_relation.c:2890
+#, c-format
+#| msgid ""
+#| "There is an entry for table \"%s\", but it cannot be referenced from this "
+#| "part of the query."
+msgid ""
+"There is a column named \"%s\" in table \"%s\", but it cannot be referenced "
+"from this part of the query."
+msgstr ""
+"表\"%2$s\"中存在一列,名为\"%1$s\", 但是这个表名并不能从这部分查询里引用."
+
+#: parser/parse_target.c:402 parser/parse_target.c:693
#, c-format
msgid "cannot assign to system column \"%s\""
msgstr "不能指定系统字段名 \"%s\""
-#: parser/parse_target.c:411
+#: parser/parse_target.c:430
#, c-format
msgid "cannot set an array element to DEFAULT"
msgstr "不能设置一个数组元素为 DEFAULT"
-#: parser/parse_target.c:416
+#: parser/parse_target.c:435
#, c-format
msgid "cannot set a subfield to DEFAULT"
msgstr "不能设置子字段为 DEFAULT"
-#: parser/parse_target.c:485
+#: parser/parse_target.c:504
#, c-format
msgid "column \"%s\" is of type %s but expression is of type %s"
msgstr "字段 \"%s\" 的类型为 %s, 但表达式的类型为 %s"
-#: parser/parse_target.c:655
+#: parser/parse_target.c:677
#, c-format
msgid ""
"cannot assign to field \"%s\" of column \"%s\" because its type %s is not a "
msgstr ""
"无法指定列 \"%2$s\" 的字段 \"%1$s\", 因为它的类型 %3$s 不是一个复合类型"
-#: parser/parse_target.c:664
+#: parser/parse_target.c:686
#, c-format
msgid ""
"cannot assign to field \"%s\" of column \"%s\" because there is no such "
msgstr ""
"无法给字段 \"%2$s\" 的数据域 \"%1$s\" 赋值, 因为在数据类型 %3$s 中没有此列"
-#: parser/parse_target.c:731
+#: parser/parse_target.c:753
#, c-format
msgid ""
"array assignment to \"%s\" requires type %s but expression is of type %s"
msgstr "将数组分配给\"%s\" 时需要类型%s,但是表达式属于类型%s"
-#: parser/parse_target.c:741
+#: parser/parse_target.c:763
#, c-format
msgid "subfield \"%s\" is of type %s but expression is of type %s"
msgstr "子字段 \"%s\" 的类型为 %s, 但表达式的类型为 %s"
-#: parser/parse_target.c:1127
+#: parser/parse_target.c:1179
#, c-format
msgid "SELECT * with no tables specified is not valid"
msgstr "SELECT * 没有指定表是无效的"
-#: parser/parse_type.c:83
+#: parser/parse_type.c:84
#, c-format
msgid "improper %%TYPE reference (too few dotted names): %s"
msgstr "不合适的 %%TYPE 关联 (名字中点符号太少): %s"
-#: parser/parse_type.c:105
+#: parser/parse_type.c:106
#, c-format
msgid "improper %%TYPE reference (too many dotted names): %s"
msgstr "不合适的 %%TYPE 关联 (名字中太多点符号): %s"
-#: parser/parse_type.c:133
+#: parser/parse_type.c:141
#, c-format
msgid "type reference %s converted to %s"
msgstr "类型关联 %s 转换为 %s"
-#: parser/parse_type.c:208 utils/cache/typcache.c:196
+#: parser/parse_type.c:257 parser/parse_type.c:805 utils/cache/typcache.c:198
#, c-format
msgid "type \"%s\" is only a shell"
msgstr "类型 \"%s\" 只是一个 shell"
-#: parser/parse_type.c:293
+#: parser/parse_type.c:342
#, c-format
msgid "type modifier is not allowed for type \"%s\""
msgstr "对于类型\"%s\"不允许使用类型修改器"
-#: parser/parse_type.c:336
+#: parser/parse_type.c:384
#, c-format
msgid "type modifiers must be simple constants or identifiers"
msgstr "类型修改器必须是简单的常量或标示符."
-#: parser/parse_type.c:647 parser/parse_type.c:746
+#: parser/parse_type.c:695 parser/parse_type.c:819
#, c-format
msgid "invalid type name \"%s\""
msgstr "无效的类型名字 \"%s\""
-#: parser/parse_utilcmd.c:175
+#: parser/parse_utilcmd.c:177
#, c-format
msgid "relation \"%s\" already exists, skipping"
msgstr "关系 \"%s\" 已经存在, 跳过"
-#: parser/parse_utilcmd.c:334
+#: parser/parse_utilcmd.c:342
#, c-format
msgid "array of serial is not implemented"
msgstr "未实现序号数组"
-#: parser/parse_utilcmd.c:382
+#: parser/parse_utilcmd.c:390
#, 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/parse_utilcmd.c:483 parser/parse_utilcmd.c:495
+#: parser/parse_utilcmd.c:484 parser/parse_utilcmd.c:496
#, c-format
msgid ""
"conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
msgstr "表 \"%2$s\" 的字段 \"%1$s\" 声明 NULL/NOT NULL 冲突"
-#: parser/parse_utilcmd.c:507
+#: parser/parse_utilcmd.c:508
#, c-format
msgid "multiple default values specified for column \"%s\" of table \"%s\""
msgstr "对表 \"%2$s\" 的字段 \"%1$s\" 指定了多遍默认值"
-#: parser/parse_utilcmd.c:1160 parser/parse_utilcmd.c:1236
+#: parser/parse_utilcmd.c:675
+#, c-format
+#| msgid "\"%s\" is not a table or foreign table"
+msgid "LIKE is not supported for creating foreign tables"
+msgstr "LIKE不能用于创建外部表"
+
+#: parser/parse_utilcmd.c:1196 parser/parse_utilcmd.c:1272
#, c-format
msgid "Index \"%s\" contains a whole-row table reference."
msgstr "索引 \"%s\" 包含一个整行表引用."
-#: parser/parse_utilcmd.c:1503
+#: parser/parse_utilcmd.c:1539
#, c-format
msgid "cannot use an existing index in CREATE TABLE"
msgstr " CREATE TABLE语句不能使用一个已存在的索引"
-#: parser/parse_utilcmd.c:1523
+#: parser/parse_utilcmd.c:1559
#, c-format
msgid "index \"%s\" is already associated with a constraint"
msgstr "index \"%s\"与某个约束已经关联"
-#: parser/parse_utilcmd.c:1531
+#: parser/parse_utilcmd.c:1567
#, c-format
msgid "index \"%s\" does not belong to table \"%s\""
msgstr "索引 \"%s\" 不属于表\"%s\""
-#: parser/parse_utilcmd.c:1538
+#: parser/parse_utilcmd.c:1574
#, c-format
msgid "index \"%s\" is not valid"
msgstr "索引 \"%s\" 无效"
-#: parser/parse_utilcmd.c:1544
+#: parser/parse_utilcmd.c:1580
#, c-format
msgid "\"%s\" is not a unique index"
msgstr "\"%s\" 不是唯一索引"
-#: parser/parse_utilcmd.c:1545 parser/parse_utilcmd.c:1552
-#: parser/parse_utilcmd.c:1559 parser/parse_utilcmd.c:1629
+#: parser/parse_utilcmd.c:1581 parser/parse_utilcmd.c:1588
+#: parser/parse_utilcmd.c:1595 parser/parse_utilcmd.c:1665
#, c-format
msgid "Cannot create a primary key or unique constraint using such an index."
msgstr "无法使用该索引创建主键或唯一约束."
-#: parser/parse_utilcmd.c:1551
+#: parser/parse_utilcmd.c:1587
#, c-format
msgid "index \"%s\" contains expressions"
msgstr "索引 \"%s\" 含有表达式"
-#: parser/parse_utilcmd.c:1558
+#: parser/parse_utilcmd.c:1594
#, c-format
msgid "\"%s\" is a partial index"
msgstr "\"%s\" 是一个部分索引"
-#: parser/parse_utilcmd.c:1570
+#: parser/parse_utilcmd.c:1606
#, c-format
msgid "\"%s\" is a deferrable index"
msgstr "\"%s\" 不是一个延迟索引"
-#: parser/parse_utilcmd.c:1571
+#: parser/parse_utilcmd.c:1607
#, c-format
msgid "Cannot create a non-deferrable constraint using a deferrable index."
msgstr "无法为使用可延迟索引的约束创建非可延迟约束"
-#: parser/parse_utilcmd.c:1628
+#: parser/parse_utilcmd.c:1664
#, c-format
msgid "index \"%s\" does not have default sorting behavior"
msgstr "索引 \"%s\"没有缺省的排序行为"
-#: parser/parse_utilcmd.c:1773
+#: parser/parse_utilcmd.c:1809
#, c-format
msgid "column \"%s\" appears twice in primary key constraint"
msgstr "在主键约束中字段 \"%s\" 出现了两次"
-#: parser/parse_utilcmd.c:1779
+#: parser/parse_utilcmd.c:1815
#, c-format
msgid "column \"%s\" appears twice in unique constraint"
msgstr "字段 \"%s\" 在唯一约束中出现两次"
-#: parser/parse_utilcmd.c:1944
+#: parser/parse_utilcmd.c:1981
#, c-format
msgid "index expression cannot return a set"
msgstr "索引表达式不能返回一个集合"
-#: parser/parse_utilcmd.c:1954
+#: parser/parse_utilcmd.c:1992
#, c-format
msgid ""
"index expressions and predicates can refer only to the table being indexed"
msgstr "索引表达式和声明只能指向要建索引的表"
-#: parser/parse_utilcmd.c:2051
-#, c-format
-msgid "rule WHERE condition cannot contain references to other relations"
-msgstr "规则的WHERE条件不能包含到其它关系的引用"
-
-#: parser/parse_utilcmd.c:2057
+#: parser/parse_utilcmd.c:2035
#, c-format
-msgid "cannot use aggregate function in rule WHERE condition"
-msgstr "在检查约束中不能使用聚合函数"
+#| msgid "multidimensional arrays are not supported"
+msgid "rules on materialized views are not supported"
+msgstr "物化视图不能使用规则(rules)"
-#: parser/parse_utilcmd.c:2061
+#: parser/parse_utilcmd.c:2096
#, c-format
-msgid "cannot use window function in rule WHERE condition"
-msgstr "在检查约束中不能使用窗口函数"
+msgid "rule WHERE condition cannot contain references to other relations"
+msgstr "规则的WHERE条件不能包含到其它关系的引用"
-#: parser/parse_utilcmd.c:2133
+#: parser/parse_utilcmd.c:2168
#, c-format
msgid ""
"rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE "
"actions"
msgstr "带有WHERE 条件的规则只允许有操作 SELECT, INSERT, UPDATE, 或者 DELETE "
-#: parser/parse_utilcmd.c:2151 parser/parse_utilcmd.c:2250
-#: rewrite/rewriteHandler.c:442 rewrite/rewriteManip.c:1040
+#: parser/parse_utilcmd.c:2186 parser/parse_utilcmd.c:2285
+#: rewrite/rewriteHandler.c:469 rewrite/rewriteManip.c:968
#, c-format
msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
msgstr "条件工具语句 UNION/INTERSECT/EXCEPT 没有实现"
-#: parser/parse_utilcmd.c:2169
+#: parser/parse_utilcmd.c:2204
#, c-format
msgid "ON SELECT rule cannot use OLD"
msgstr "规则ON SELECT不能使用关键词OLD"
-#: parser/parse_utilcmd.c:2173
+#: parser/parse_utilcmd.c:2208
#, c-format
msgid "ON SELECT rule cannot use NEW"
msgstr "规则ON SELECT不能使用关键词NEW"
-#: parser/parse_utilcmd.c:2182
+#: parser/parse_utilcmd.c:2217
#, c-format
msgid "ON INSERT rule cannot use OLD"
msgstr "规则ON INSERT不能使用关键词OLD"
-#: parser/parse_utilcmd.c:2188
+#: parser/parse_utilcmd.c:2223
#, c-format
msgid "ON DELETE rule cannot use NEW"
msgstr "规则ON DELETE不能使用关键词NEW"
-#: parser/parse_utilcmd.c:2216
+#: parser/parse_utilcmd.c:2251
#, c-format
msgid "cannot refer to OLD within WITH query"
msgstr "WITH查询中无法引用OLD"
-#: parser/parse_utilcmd.c:2223
+#: parser/parse_utilcmd.c:2258
#, c-format
msgid "cannot refer to NEW within WITH query"
msgstr "WITH 查询无法引用NEW"
-#: parser/parse_utilcmd.c:2514
+#: parser/parse_utilcmd.c:2541
#, c-format
msgid "misplaced DEFERRABLE clause"
msgstr "DEFERRABLE 子句位置错误"
-#: parser/parse_utilcmd.c:2519 parser/parse_utilcmd.c:2534
+#: parser/parse_utilcmd.c:2546 parser/parse_utilcmd.c:2561
#, c-format
msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
msgstr "不允许多个 DEFERRABLE/NOT DEFERRABLE 子句"
-#: parser/parse_utilcmd.c:2529
+#: parser/parse_utilcmd.c:2556
#, c-format
msgid "misplaced NOT DEFERRABLE clause"
msgstr "NOT DEFERRABLE 子句位置错误"
-#: parser/parse_utilcmd.c:2542 parser/parse_utilcmd.c:2568 gram.y:4237
-#, c-format
-msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
-msgstr "约束声明 INITIALLY DEFERRED 必须为 DEFERRABLE"
-
-#: parser/parse_utilcmd.c:2550
+#: parser/parse_utilcmd.c:2577
#, c-format
msgid "misplaced INITIALLY DEFERRED clause"
msgstr "INITIALLY DEFERRED 子句位置错误"
-#: parser/parse_utilcmd.c:2555 parser/parse_utilcmd.c:2581
+#: parser/parse_utilcmd.c:2582 parser/parse_utilcmd.c:2608
#, c-format
msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
msgstr "不允许多个 INITIALLY IMMEDIATE/DEFERRED 子句"
-#: parser/parse_utilcmd.c:2576
+#: parser/parse_utilcmd.c:2603
#, c-format
msgid "misplaced INITIALLY IMMEDIATE clause"
msgstr "INITIALLY IMMEDIATE 子句位置错误"
-#: parser/parse_utilcmd.c:2767
+#: parser/parse_utilcmd.c:2794
#, c-format
msgid ""
"CREATE specifies a schema (%s) different from the one being created (%s)"
msgstr "CREATE 指定的模式 (%s) 和将要创建的 (%s) 不同"
-#: parser/scansup.c:190
+#: parser/scansup.c:194
#, c-format
msgid "identifier \"%s\" will be truncated to \"%s\""
msgstr "标识符\"%s\"将会被截断为\"%s\""
-#: port/pg_latch.c:334 port/unix_latch.c:334
+#: port/pg_latch.c:336 port/unix_latch.c:336
#, c-format
msgid "poll() failed: %m"
msgstr "poll()失败: %m"
-#: port/pg_latch.c:421 port/unix_latch.c:421
-#: replication/libpqwalreceiver/libpqwalreceiver.c:233
+#: port/pg_latch.c:423 port/unix_latch.c:423
+#: replication/libpqwalreceiver/libpqwalreceiver.c:363
#, c-format
msgid "select() failed: %m"
msgstr "执行select()失败: %m"
-#: port/pg_sema.c:111 port/sysv_sema.c:111
+#: port/pg_sema.c:113 port/sysv_sema.c:113
#, c-format
msgid "could not create semaphores: %m"
msgstr "无法创建信号量: %m"
-#: port/pg_sema.c:112 port/sysv_sema.c:112
+#: port/pg_sema.c:114 port/sysv_sema.c:114
#, c-format
msgid "Failed system call was semget(%lu, %d, 0%o)."
msgstr "semget(%lu, %d, 0%o) 系统调用失败."
-#: port/pg_sema.c:116 port/sysv_sema.c:116
+#: port/pg_sema.c:118 port/sysv_sema.c:118
#, c-format
msgid ""
"This error does *not* mean that you have run out of disk space. It occurs "
"max_connections来减少它所消耗的信号灯总数.\n"
"在PostgreSQL文档中包含了更多关于如何配置PostgreSQL的信息。"
-#: port/pg_sema.c:143 port/sysv_sema.c:143
+#: port/pg_sema.c:148 port/sysv_sema.c:148
#, c-format
msgid ""
"You possibly need to raise your kernel's SEMVMX value to be at least %d. "
msgstr ""
"你可能需要增加内核的 SEMVMX 值至少为 %d. 详细信息请查找 PostgreSQL 文档."
-#: port/pg_shmem.c:144 port/sysv_shmem.c:144
+#: port/pg_shmem.c:141 port/sysv_shmem.c:141
#, c-format
msgid "could not create shared memory segment: %m"
msgstr "无法创建共享内存段: %m"
-#: port/pg_shmem.c:145 port/sysv_shmem.c:145
+#: port/pg_shmem.c:142 port/sysv_shmem.c:142
#, c-format
-msgid "Failed system call was shmget(key=%lu, size=%lu, 0%o)."
-msgstr "系统调用shmget(key=%lu, size=%lu, 0%o) 执行失败."
+#| msgid "Failed system call was shmget(key=%lu, size=%lu, 0%o)."
+msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)."
+msgstr "系统调用shmget(key=%lu, size=%zu, 0%o) 执行失败."
-#: port/pg_shmem.c:149 port/sysv_shmem.c:149
+#: port/pg_shmem.c:146 port/sysv_shmem.c:146
#, c-format
+#| msgid ""
+#| "This error usually means that PostgreSQL's request for a shared memory "
+#| "segment exceeded available memory or swap space, or exceeded your "
+#| "kernel's SHMALL parameter. You can either reduce the request size or "
+#| "reconfigure the kernel with larger SHMALL. To reduce the request size "
+#| "(currently %lu bytes), reduce PostgreSQL's shared memory usage, perhaps "
+#| "by reducing shared_buffers or max_connections.\n"
+#| "The PostgreSQL documentation contains more information about shared "
+#| "memory configuration."
msgid ""
"This error usually means that PostgreSQL's request for a shared memory "
-"segment exceeded your kernel's SHMMAX parameter. You can either reduce the "
-"request size or reconfigure the kernel with larger SHMMAX. To reduce the "
-"request size (currently %lu bytes), reduce PostgreSQL's shared memory usage, "
-"perhaps by reducing shared_buffers or max_connections.\n"
-"If the request size is already small, it's possible that it is less than "
-"your kernel's SHMMIN parameter, in which case raising the request size or "
-"reconfiguring SHMMIN is called for.\n"
+"segment exceeded your kernel's SHMMAX parameter, or possibly that it is less "
+"than your kernel's SHMMIN parameter.\n"
"The PostgreSQL documentation contains more information about shared memory "
"configuration."
msgstr ""
-"这个错误通常表示PostgreSQL所请求的共享内存段大小超过了操作系统内核的参数"
-"SHMMAX. 解决方法可以是减少所请求共享内存的大小或者增大SHMMAX参数的值.为了减少"
-"所请求的共享内存大小(当前是%lu字节), 需要减少PostgreSQL的参数shared_buffers和"
-"参数max_connections.\n"
-"如果所请求的共享内存已经很小了,那么可能的原因是所请求的大小小于内核参数"
-"SHMMIN,在这种情况下需要增大所请求的共享内存或者重新配置SHMMIN.\n"
-"更多关于配置共享内存的信息包含在PostgreSQL文档中."
+"这个错误通常表示PostgreSQL所请求的共享内存段超过了内核中的SHMMAX参数值,或者"
+"小于内核中的SHMMIN参数值。\n"
+"PostgreSQL文档包含了关于如何配置共享内存的更多信息."
-#: port/pg_shmem.c:162 port/sysv_shmem.c:162
+#: port/pg_shmem.c:153 port/sysv_shmem.c:153
#, c-format
+#| msgid ""
+#| "This error usually means that PostgreSQL's request for a shared memory "
+#| "segment exceeded available memory or swap space, or exceeded your "
+#| "kernel's SHMALL parameter. You can either reduce the request size or "
+#| "reconfigure the kernel with larger SHMALL. To reduce the request size "
+#| "(currently %lu bytes), reduce PostgreSQL's shared memory usage, perhaps "
+#| "by reducing shared_buffers or max_connections.\n"
+#| "The PostgreSQL documentation contains more information about shared "
+#| "memory configuration."
msgid ""
"This error usually means that PostgreSQL's request for a shared memory "
-"segment exceeded available memory or swap space, or exceeded your kernel's "
-"SHMALL parameter. You can either reduce the request size or reconfigure the "
-"kernel with larger SHMALL. To reduce the request size (currently %lu "
-"bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing "
-"shared_buffers or max_connections.\n"
+"segment exceeded your kernel's SHMALL parameter. You might need to "
+"reconfigure the kernel with larger SHMALL.\n"
"The PostgreSQL documentation contains more information about shared memory "
"configuration."
msgstr ""
-"这个错误通常表示PostgreSQL所请求的共享内存段超过了可用内存总量或者交换空间,"
-"或者超过了内核中设定的SHMALL参数值。您可以减小所请求的值或者重新将内核中的"
-"SHMALL参数配置一个较大的值 为减少所请求空间的大小(当前是%lu字节),请减少参数"
-"shared_buffers和参数max_connections.\n"
+"这个错误通常表示PostgreSQL所请求的共享内存段超过了内核中设定的SHMALL参数值。"
+"您可以重新配置内核, 使用更大的SHMALL参数值.\n"
"PostgreSQL文档包含了关于如何配置共享内存的更多信息."
-#: port/pg_shmem.c:173 port/sysv_shmem.c:173
+#: port/pg_shmem.c:159 port/sysv_shmem.c:159
#, c-format
+#| msgid ""
+#| "This error does *not* mean that you have run out of disk space. It "
+#| "occurs either if all available shared memory IDs have been taken, in "
+#| "which case you need to raise the SHMMNI parameter in your kernel, or "
+#| "because the system's overall limit for shared memory has been reached. "
+#| "If you cannot increase the shared memory limit, reduce PostgreSQL's "
+#| "shared memory request (currently %lu bytes), perhaps by reducing "
+#| "shared_buffers or max_connections.\n"
+#| "The PostgreSQL documentation contains more information about shared "
+#| "memory configuration."
msgid ""
"This error does *not* mean that you have run out of disk space. It occurs "
"either if all available shared memory IDs have been taken, in which case you "
"need to raise the SHMMNI parameter in your kernel, or because the system's "
-"overall limit for shared memory has been reached. If you cannot increase "
-"the shared memory limit, reduce PostgreSQL's shared memory request "
-"(currently %lu bytes), perhaps by reducing shared_buffers or "
-"max_connections.\n"
+"overall limit for shared memory has been reached.\n"
"The PostgreSQL documentation contains more information about shared memory "
"configuration."
msgstr ""
"这个错误不表示您系统上磁盘空间已经用尽.原因既有可能是系统上所有的有效共享内存"
"ID不存在了,这样需要在内核中升高SHMMNI参数的值,或者是因为已到达系统最大的共"
-"享内存限制.如果无法增加共享内存的上限值,请通过减少参数shared_buffers和参数"
-"max_connections来减少PostgreSQL占有的共享内存(当前是%lu字节).\n"
+"享内存限制.如果无法增加共享内存的上限值.\n"
"在PostgreSQL文档中包含了关于如何配置共享内存的更多信息."
-#: port/pg_shmem.c:436 port/sysv_shmem.c:436
+#: port/pg_shmem.c:340 port/sysv_shmem.c:340
+#, c-format
+#| msgid "tablespaces are not supported on this platform"
+msgid "huge TLB pages not supported on this platform"
+msgstr "在此平台上不支持巨型的TLB页"
+
+#: port/pg_shmem.c:390 port/sysv_shmem.c:390
+#, c-format
+#| msgid "could not create shared memory segment: %m"
+msgid "could not map anonymous shared memory: %m"
+msgstr "无法映射匿名共享内存: %m"
+
+#: port/pg_shmem.c:392 port/sysv_shmem.c:392
+#, c-format
+#| msgid ""
+#| "This error usually means that PostgreSQL's request for a shared memory "
+#| "segment exceeded available memory or swap space, or exceeded your "
+#| "kernel's SHMALL parameter. You can either reduce the request size or "
+#| "reconfigure the kernel with larger SHMALL. To reduce the request size "
+#| "(currently %lu bytes), reduce PostgreSQL's shared memory usage, perhaps "
+#| "by reducing shared_buffers or max_connections.\n"
+#| "The PostgreSQL documentation contains more information about shared "
+#| "memory configuration."
+msgid ""
+"This error usually means that PostgreSQL's request for a shared memory "
+"segment exceeded available memory, swap space, or huge pages. To reduce the "
+"request size (currently %zu bytes), reduce PostgreSQL's shared memory usage, "
+"perhaps by reducing shared_buffers or max_connections."
+msgstr ""
+"这个错误通常表示PostgreSQL所请求的共享内存段超过了可用内存总量或者交换空间或"
+"者巨型页大小。为减少所请求空间的大小(当前是%zu字节),减少PostgreSQL文档包含了"
+"关于如何配置共享内存的更多信息."
+
+#: port/pg_shmem.c:439 port/sysv_shmem.c:439 port/win32_shmem.c:136
+#, c-format
+#| msgid "not supported on this platform\n"
+msgid "huge pages not supported on this platform"
+msgstr "此平台不支持巨型页"
+
+#: port/pg_shmem.c:553 port/sysv_shmem.c:553
#, c-format
msgid "could not stat data directory \"%s\": %m"
msgstr "无法取目录 \"%s\" 状态: %m"
msgid "could not get SID for PowerUsers group: error code %lu\n"
msgstr "无法获取PowerUsers组的 SID: 错误码 %lu\n"
-#: port/win32/signal.c:189
+#: port/win32/signal.c:193
#, c-format
msgid "could not create signal listener pipe for PID %d: error code %lu"
msgstr "无法为进程PID %d 创建信号监听管道: 错误码为 %lu"
-#: port/win32/signal.c:269 port/win32/signal.c:301
+#: port/win32/signal.c:273 port/win32/signal.c:305
#, c-format
msgid "could not create signal listener pipe: error code %lu; retrying\n"
msgstr "无法创建信号监听管道: 错误码 %lu; 重试\n"
-#: port/win32/signal.c:312
+#: port/win32/signal.c:316
#, c-format
msgid "could not create signal dispatch thread: error code %lu\n"
msgstr "无法创建信号分发线程: 错误码 %lu\n"
msgid "could not try-lock semaphore: error code %lu"
msgstr "无法进行锁定信号灯(semaphore)的尝试: 错误代码 %lu"
-#: port/win32_shmem.c:168 port/win32_shmem.c:203 port/win32_shmem.c:224
+#: port/win32_shmem.c:175 port/win32_shmem.c:210 port/win32_shmem.c:231
#, c-format
msgid "could not create shared memory segment: error code %lu"
msgstr "无法创建共享内存段: 错误码%lu"
-#: port/win32_shmem.c:169
+#: port/win32_shmem.c:176
#, c-format
-msgid "Failed system call was CreateFileMapping(size=%lu, name=%s)."
-msgstr "系统调用CreateFileMapping(size=%lu, name=%s)执行失败."
+#| msgid "Failed system call was CreateFileMapping(size=%lu, name=%s)."
+msgid "Failed system call was CreateFileMapping(size=%zu, name=%s)."
+msgstr "系统调用CreateFileMapping(size=%zu, name=%s)执行失败."
-#: port/win32_shmem.c:193
+#: port/win32_shmem.c:200
#, c-format
msgid "pre-existing shared memory block is still in use"
msgstr "已存在的共享内存块仍在使用中"
-#: port/win32_shmem.c:194
+#: port/win32_shmem.c:201
#, c-format
msgid ""
"Check if there are any old server processes still running, and terminate "
"them."
msgstr "检查原先的服务器进程是否仍在运行,如果是的话请终止这些进程."
-#: port/win32_shmem.c:204
+#: port/win32_shmem.c:211
#, c-format
msgid "Failed system call was DuplicateHandle."
msgstr "系统调用DuplicateHandle执行失败"
-#: port/win32_shmem.c:225
+#: port/win32_shmem.c:232
#, c-format
msgid "Failed system call was MapViewOfFileEx."
msgstr "系统调用MapViewOfFileEx执行失败."
-#: postmaster/autovacuum.c:362
+#: postmaster/autovacuum.c:380
#, c-format
msgid "could not fork autovacuum launcher process: %m"
msgstr "无法派生autovacuum启动进程: %m"
-#: postmaster/autovacuum.c:407
+#: postmaster/autovacuum.c:425
#, c-format
msgid "autovacuum launcher started"
msgstr "已启动autovacuum"
-#: postmaster/autovacuum.c:767
+#: postmaster/autovacuum.c:790
#, c-format
msgid "autovacuum launcher shutting down"
msgstr "正在关闭autovacuum启动进程"
-#: postmaster/autovacuum.c:1420
+#: postmaster/autovacuum.c:1453
#, c-format
msgid "could not fork autovacuum worker process: %m"
msgstr "无法派生autovacuum工作进程: %m"
-#: postmaster/autovacuum.c:1638
+#: postmaster/autovacuum.c:1672
#, c-format
msgid "autovacuum: processing database \"%s\""
msgstr "autovacuum: 正在处理数据库 \"%s\""
-#: postmaster/autovacuum.c:2041
+#: postmaster/autovacuum.c:2076
#, c-format
msgid "autovacuum: dropping orphan temp table \"%s\".\"%s\" in database \"%s\""
msgstr "autovacuum: 正在数据库\"%3$s\"中删除遗留的临时表\"%1$s\".\"%2$s\""
-#: postmaster/autovacuum.c:2053
+#: postmaster/autovacuum.c:2088
#, c-format
msgid "autovacuum: found orphan temp table \"%s\".\"%s\" in database \"%s\""
msgstr "autovacuum: 在数据库\"%3$s\"中找到遗留的临时表\"%1$s\".\"%2$s\""
-#: postmaster/autovacuum.c:2323
+#: postmaster/autovacuum.c:2353
#, c-format
msgid "automatic vacuum of table \"%s.%s.%s\""
msgstr "对表\"%s.%s.%s\"进行自动清理"
-#: postmaster/autovacuum.c:2326
+#: postmaster/autovacuum.c:2356
#, c-format
msgid "automatic analyze of table \"%s.%s.%s\""
msgstr "对表\"%s.%s.%s\"进行自动分析"
-#: postmaster/autovacuum.c:2812
+#: postmaster/autovacuum.c:2889
#, c-format
msgid "autovacuum not started because of misconfiguration"
msgstr "因为配制错误,而无法启动autovacuum"
-#: postmaster/autovacuum.c:2813
+#: postmaster/autovacuum.c:2890
#, c-format
msgid "Enable the \"track_counts\" option."
msgstr "启用选项\"track_counts\" "
-#: postmaster/checkpointer.c:485
+#: postmaster/bgworker.c:323 postmaster/bgworker.c:732
+#, c-format
+msgid "registering background worker \"%s\""
+msgstr "注册后台工作进程 \"%s\""
+
+#: postmaster/bgworker.c:352
+#, c-format
+msgid "unregistering background worker \"%s\""
+msgstr "注销后台工作进程 \"%s\""
+
+#: postmaster/bgworker.c:454
+#, c-format
+msgid ""
+"background worker \"%s\": must attach to shared memory in order to request a "
+"database connection"
+msgstr "后台工作进程 \"%s\": 必须关联到共享内存,以用于请求一个数据库连接 "
+
+#: postmaster/bgworker.c:463
+#, c-format
+msgid ""
+"background worker \"%s\": cannot request database access if starting at "
+"postmaster start"
+msgstr ""
+"后台工作进程 \"%s\": 如果是在postmaster启动时启动,则无法请求数据库访问 "
+
+#: postmaster/bgworker.c:477
+#, c-format
+#| msgid "%s: invalid status interval \"%s\"\n"
+msgid "background worker \"%s\": invalid restart interval"
+msgstr "后台工作进程 \"%s\": 无效的重启时间间隔"
+
+#: postmaster/bgworker.c:522
+#, c-format
+#| msgid "terminating connection due to administrator command"
+msgid "terminating background worker \"%s\" due to administrator command"
+msgstr "由于管理员命令中断后台工作进程\"%s\""
+
+#: postmaster/bgworker.c:739
+#, c-format
+msgid ""
+"background worker \"%s\": must be registered in shared_preload_libraries"
+msgstr "后台工作进程 \"%s\": 必须注册于库 shared_preload_libraries中"
+
+#: postmaster/bgworker.c:751
+#, c-format
+msgid ""
+"background worker \"%s\": only dynamic background workers can request "
+"notification"
+msgstr "后台工作进程 \"%s\": 只有动态工作进程可以请求通知"
+
+#: postmaster/bgworker.c:766
+#, c-format
+#| msgid "too many arguments"
+msgid "too many background workers"
+msgstr "太多后台工作进程"
+
+#: postmaster/bgworker.c:767
+#, c-format
+msgid "Up to %d background worker can be registered with the current settings."
+msgid_plural ""
+"Up to %d background workers can be registered with the current settings."
+msgstr[0] "当前设置里最多可以注册%d个后台工作进程."
+
+#: postmaster/bgworker.c:771
+#, c-format
+#| msgid ""
+#| "Consider increasing the configuration parameter \"checkpoint_segments\"."
+msgid ""
+"Consider increasing the configuration parameter \"max_worker_processes\"."
+msgstr "考虑增大配置参数 \"max_worker_processes\"的值."
+
+#: postmaster/checkpointer.c:481
#, c-format
msgid "checkpoints are occurring too frequently (%d second apart)"
msgid_plural "checkpoints are occurring too frequently (%d seconds apart)"
msgstr[0] "检查点事件发生过于频繁(%d 秒间隔)"
-#: postmaster/checkpointer.c:489
+#: postmaster/checkpointer.c:485
#, c-format
msgid ""
"Consider increasing the configuration parameter \"checkpoint_segments\"."
msgstr "认为增加配置参数 \"checkpoint_segments\"."
-#: postmaster/checkpointer.c:634
+#: postmaster/checkpointer.c:630
#, c-format
msgid "transaction log switch forced (archive_timeout=%d)"
msgstr "强制切换事务日志 (archive_timeout=%d)"
-#: postmaster/checkpointer.c:1090
+#: postmaster/checkpointer.c:1083
#, c-format
msgid "checkpoint request failed"
msgstr "检查点请求失败"
-#: postmaster/checkpointer.c:1091
+#: postmaster/checkpointer.c:1084
#, c-format
msgid "Consult recent messages in the server log for details."
msgstr "详细信息请参考服务器日志."
-#: postmaster/checkpointer.c:1287
+#: postmaster/checkpointer.c:1280
#, c-format
msgid "compacted fsync request queue from %d entries to %d entries"
msgstr "将fsync请求队列从%d压缩至%d项"
-#: postmaster/pgarch.c:164
+#: postmaster/pgarch.c:154
#, c-format
msgid "could not fork archiver: %m"
msgstr "无法 fork archiver: %m"
-#: postmaster/pgarch.c:490
+#: postmaster/pgarch.c:481
#, c-format
msgid "archive_mode enabled, yet archive_command is not set"
msgstr "已启用归档模式参数archive_mode,但是还没有设置参数archive_command is"
-#: postmaster/pgarch.c:505
+#: postmaster/pgarch.c:509
#, c-format
-msgid "transaction log file \"%s\" could not be archived: too many failures"
-msgstr "事务日志文件 \"%s\" 无法归档: 失败次数太多"
+#| msgid "transaction log file \"%s\" could not be archived: too many failures"
+msgid ""
+"archiving transaction log file \"%s\" failed too many times, will try again "
+"later"
+msgstr "归档事务日志文件 \"%s\" 多次失败, 将会重试"
-#: postmaster/pgarch.c:608
+#: postmaster/pgarch.c:612
#, c-format
msgid "archive command failed with exit code %d"
msgstr "归档命令执行失败,退出代码为 %d"
-#: postmaster/pgarch.c:610 postmaster/pgarch.c:620 postmaster/pgarch.c:627
-#: postmaster/pgarch.c:633 postmaster/pgarch.c:642
+#: postmaster/pgarch.c:614 postmaster/pgarch.c:624 postmaster/pgarch.c:631
+#: postmaster/pgarch.c:637 postmaster/pgarch.c:646
#, c-format
msgid "The failed archive command was: %s"
msgstr "执行失败的归档命令是: %s"
-#: postmaster/pgarch.c:617
+#: postmaster/pgarch.c:621
#, c-format
msgid "archive command was terminated by exception 0x%X"
msgstr "归档命令被异常 0x%X 终止"
-#: postmaster/pgarch.c:619 postmaster/postmaster.c:2883
+#: postmaster/pgarch.c:623 postmaster/postmaster.c:3303
#, c-format
msgid ""
"See C include file \"ntstatus.h\" for a description of the hexadecimal value."
msgstr "关于对16进制值的描述, 参见C语言的引用文件 \"ntstatus.h\" "
-#: postmaster/pgarch.c:624
+#: postmaster/pgarch.c:628
#, c-format
msgid "archive command was terminated by signal %d: %s"
msgstr "归档命令被信号%d终止:%s"
-#: postmaster/pgarch.c:631
+#: postmaster/pgarch.c:635
#, c-format
msgid "archive command was terminated by signal %d"
msgstr "归档命令被信号%d终止"
-#: postmaster/pgarch.c:640
+#: postmaster/pgarch.c:644
#, c-format
msgid "archive command exited with unrecognized status %d"
msgstr "归档命令已退出, 未知状态 %d"
-#: postmaster/pgarch.c:652
+#: postmaster/pgarch.c:656
#, c-format
msgid "archived transaction log file \"%s\""
msgstr "归档事务日志文件 \"%s\""
-#: postmaster/pgarch.c:701
+#: postmaster/pgarch.c:705
#, c-format
msgid "could not open archive status directory \"%s\": %m"
msgstr "无法打开归档状态目录 \"%s\": %m"
-#: postmaster/pgstat.c:333
+#: postmaster/pgstat.c:354
#, c-format
msgid "could not resolve \"localhost\": %s"
msgstr "无法解析 \"localhost\": %s"
-#: postmaster/pgstat.c:356
+#: postmaster/pgstat.c:377
#, c-format
msgid "trying another address for the statistics collector"
msgstr "为统计信息收集器尝试另一个地址"
-#: postmaster/pgstat.c:365
+#: postmaster/pgstat.c:386
#, c-format
msgid "could not create socket for statistics collector: %m"
msgstr "无法为统计收集器创建套接字: %m"
-#: postmaster/pgstat.c:377
+#: postmaster/pgstat.c:398
#, c-format
msgid "could not bind socket for statistics collector: %m"
msgstr "无法绑定统计收集器的套接字: %m"
-#: postmaster/pgstat.c:388
+#: postmaster/pgstat.c:409
#, c-format
msgid "could not get address of socket for statistics collector: %m"
msgstr "无法获得统计收集器的套接字地址: %m"
-#: postmaster/pgstat.c:404
+#: postmaster/pgstat.c:425
#, c-format
msgid "could not connect socket for statistics collector: %m"
msgstr "无法联接统计收集器的套接字: %m"
-#: postmaster/pgstat.c:425
+#: postmaster/pgstat.c:446
#, c-format
msgid "could not send test message on socket for statistics collector: %m"
msgstr "无法为统计收集器在套接字上发送测试信息: %m"
-#: postmaster/pgstat.c:451
+#: postmaster/pgstat.c:472
#, c-format
msgid "select() failed in statistics collector: %m"
msgstr "在统计收集器中 select() 失败: %m"
-#: postmaster/pgstat.c:466
+#: postmaster/pgstat.c:487
#, c-format
msgid "test message did not get through on socket for statistics collector"
-msgstr "统计收集器的测试信息没有通过套接字: %m"
+msgstr "统计收集器的测试消息没有通过套接字"
-#: postmaster/pgstat.c:481
+#: postmaster/pgstat.c:502
#, c-format
msgid "could not receive test message on socket for statistics collector: %m"
msgstr "无法为统计收集器在套接字上接收测试信息: %m"
-#: postmaster/pgstat.c:491
+#: postmaster/pgstat.c:512
#, c-format
msgid "incorrect test message transmission on socket for statistics collector"
-msgstr "统计收集器在套接字上不正确的测试信息 transmission: %m"
+msgstr "统计收集器在套接字上不正确的测试消息传输"
-#: postmaster/pgstat.c:514
+#: postmaster/pgstat.c:535
#, c-format
msgid "could not set statistics collector socket to nonblocking mode: %m"
msgstr "无法把统计收集器的套接字设置为非阻塞模式: %m"
-#: postmaster/pgstat.c:524
+#: postmaster/pgstat.c:545
#, c-format
msgid "disabling statistics collector for lack of working socket"
msgstr "当缺乏可用套接字时取消统计收集器"
-#: postmaster/pgstat.c:626
+#: postmaster/pgstat.c:692
#, c-format
msgid "could not fork statistics collector: %m"
msgstr "无法派生 (fork) 统计收集器: %m"
-#: postmaster/pgstat.c:1162 postmaster/pgstat.c:1186 postmaster/pgstat.c:1217
+#: postmaster/pgstat.c:1233 postmaster/pgstat.c:1257 postmaster/pgstat.c:1290
#, c-format
msgid "must be superuser to reset statistics counters"
msgstr "必须为超级用户才可以重置统计计数器"
-#: postmaster/pgstat.c:1193
+#: postmaster/pgstat.c:1266
#, c-format
msgid "unrecognized reset target: \"%s\""
msgstr "未识别的重置目标:\"%s\""
-#: postmaster/pgstat.c:1194
+#: postmaster/pgstat.c:1267
#, c-format
-msgid "Target must be \"bgwriter\"."
-msgstr "目标必须是\"bgwriter\"."
+#| msgid "Target must be \"bgwriter\"."
+msgid "Target must be \"archiver\" or \"bgwriter\"."
+msgstr "目标必须是\"archiver\"或\"bgwriter\"."
-#: postmaster/pgstat.c:3139
+#: postmaster/pgstat.c:3280
#, c-format
msgid "could not read statistics message: %m"
msgstr "无法读取统计信息: %m"
-#: postmaster/pgstat.c:3456
+#: postmaster/pgstat.c:3613 postmaster/pgstat.c:3790
#, c-format
msgid "could not open temporary statistics file \"%s\": %m"
msgstr "无法打开临时统计文件 \"%s\": %m"
-#: postmaster/pgstat.c:3533
+#: postmaster/pgstat.c:3681 postmaster/pgstat.c:3835
#, c-format
msgid "could not write temporary statistics file \"%s\": %m"
msgstr "无法写临时统计文件 \"%s\": %m"
-#: postmaster/pgstat.c:3542
+#: postmaster/pgstat.c:3690 postmaster/pgstat.c:3844
#, c-format
msgid "could not close temporary statistics file \"%s\": %m"
msgstr "无法关闭临时统计文件 \"%s\": %m"
-#: postmaster/pgstat.c:3550
+#: postmaster/pgstat.c:3698 postmaster/pgstat.c:3852
#, c-format
msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
msgstr "无法把临时统计文件 \"%s\" 重命名为 \"%s\": %m"
-#: postmaster/pgstat.c:3656 postmaster/pgstat.c:3885
+#: postmaster/pgstat.c:3935 postmaster/pgstat.c:4120 postmaster/pgstat.c:4275
#, c-format
msgid "could not open statistics file \"%s\": %m"
msgstr "无法打开统计文件 \"%s\": %m"
-#: postmaster/pgstat.c:3668 postmaster/pgstat.c:3678 postmaster/pgstat.c:3700
-#: postmaster/pgstat.c:3715 postmaster/pgstat.c:3778 postmaster/pgstat.c:3796
-#: postmaster/pgstat.c:3812 postmaster/pgstat.c:3830 postmaster/pgstat.c:3846
-#: postmaster/pgstat.c:3897 postmaster/pgstat.c:3908
+#: postmaster/pgstat.c:3947 postmaster/pgstat.c:3957 postmaster/pgstat.c:3967
+#: postmaster/pgstat.c:3988 postmaster/pgstat.c:4003 postmaster/pgstat.c:4061
+#: postmaster/pgstat.c:4132 postmaster/pgstat.c:4152 postmaster/pgstat.c:4170
+#: postmaster/pgstat.c:4186 postmaster/pgstat.c:4204 postmaster/pgstat.c:4220
+#: postmaster/pgstat.c:4287 postmaster/pgstat.c:4299 postmaster/pgstat.c:4311
+#: postmaster/pgstat.c:4336 postmaster/pgstat.c:4358
#, c-format
msgid "corrupted statistics file \"%s\""
msgstr "统计文件损坏\"%s\""
-#: postmaster/pgstat.c:4210
+#: postmaster/pgstat.c:4785
#, c-format
msgid "database hash table corrupted during cleanup --- abort"
msgstr "清理过程中数据库散列表毁坏 --- 终止"
-#: postmaster/postmaster.c:592
+#: postmaster/postmaster.c:650
#, c-format
msgid "%s: invalid argument for option -f: \"%s\"\n"
msgstr "%s: 选项-f的参数无效: \"%s\"\n"
-#: postmaster/postmaster.c:678
+#: postmaster/postmaster.c:736
#, c-format
msgid "%s: invalid argument for option -t: \"%s\"\n"
msgstr "%s: -t选项的参数无效: \"%s\"\n"
-#: postmaster/postmaster.c:729
+#: postmaster/postmaster.c:787
#, c-format
msgid "%s: invalid argument: \"%s\"\n"
msgstr "%s: 无效参数: \"%s\"\n"
-#: postmaster/postmaster.c:764
+#: postmaster/postmaster.c:822
#, c-format
msgid "%s: superuser_reserved_connections must be less than max_connections\n"
msgstr "%s: 超级用户保留联接数必须小于最大联接数\n"
-#: postmaster/postmaster.c:769
+#: postmaster/postmaster.c:827
#, c-format
msgid "%s: max_wal_senders must be less than max_connections\n"
msgstr "%s: max_wal_senders必须小于最大连接数\n"
-#: postmaster/postmaster.c:774
+#: postmaster/postmaster.c:832
#, c-format
+#| msgid ""
+#| "WAL archival (archive_mode=on) requires wal_level \"archive\" or "
+#| "\"hot_standby\""
msgid ""
-"WAL archival (archive_mode=on) requires wal_level \"archive\" or "
-"\"hot_standby\""
+"WAL archival (archive_mode=on) requires wal_level \"archive\", \"hot_standby"
+"\", or \"logical\""
msgstr ""
-"WAL归档的设置(archive_mode=on)要求wal_level设置为\"archive\"或\"hot_standby\""
+"WAL归档的设置(archive_mode=on)要求wal_level设置为\"archive\"或\"hot_standby"
+"\"或\"logical\""
-#: postmaster/postmaster.c:777
+#: postmaster/postmaster.c:835
#, c-format
+#| msgid ""
+#| "WAL streaming (max_wal_senders > 0) requires wal_level \"archive\" or "
+#| "\"hot_standby\""
msgid ""
-"WAL streaming (max_wal_senders > 0) requires wal_level \"archive\" or "
-"\"hot_standby\""
+"WAL streaming (max_wal_senders > 0) requires wal_level \"archive\", "
+"\"hot_standby\", or \"logical\""
msgstr ""
"WAL 流复制的设置(max_wal_senders > 0)要求将wal_level设置为\"archive\"或"
-"\"hot_standby\""
+"\"hot_standby\"或\"logical\""
-#: postmaster/postmaster.c:785
+#: postmaster/postmaster.c:843
#, c-format
msgid "%s: invalid datetoken tables, please fix\n"
msgstr "%s: 无效的 datetoken 表, 请修复\n"
-#: postmaster/postmaster.c:861
+#: postmaster/postmaster.c:925 postmaster/postmaster.c:1023
+#: utils/init/miscinit.c:1188
#, c-format
-msgid "invalid list syntax for \"listen_addresses\""
-msgstr "无效的 \"listen_addresses\" 语法"
+msgid "invalid list syntax in parameter \"%s\""
+msgstr "在参数\"%s\"中列表语法无效"
-#: postmaster/postmaster.c:891
+#: postmaster/postmaster.c:956
#, c-format
msgid "could not create listen socket for \"%s\""
msgstr "无法为 \"%s\" 创建监听套接字"
# fe-connect.c:891
-#: postmaster/postmaster.c:897
+#: postmaster/postmaster.c:962
#, c-format
msgid "could not create any TCP/IP sockets"
msgstr "无法创建TCP/IP套接字"
-#: postmaster/postmaster.c:948
+#: postmaster/postmaster.c:1045
#, c-format
-msgid "could not create Unix-domain socket"
-msgstr "无法创建 Unix-domain 套接字"
+#| msgid "could not create Unix-domain socket"
+msgid "could not create Unix-domain socket in directory \"%s\""
+msgstr "在目录\"%s\"下不能创建Unix域的网络套接字"
-#: postmaster/postmaster.c:956
+#: postmaster/postmaster.c:1051
+#, c-format
+#| msgid "could not create Unix-domain socket"
+msgid "could not create any Unix-domain sockets"
+msgstr "无法创建 Unix域 套接字"
+
+#: postmaster/postmaster.c:1063
#, c-format
msgid "no socket created for listening"
msgstr "没有为监听创建套接字"
# fe-lobj.c:412
-#: postmaster/postmaster.c:1001
+#: postmaster/postmaster.c:1103
#, c-format
msgid "could not create I/O completion port for child queue"
msgstr "无法为子队列创建I/O完成端口"
-#: postmaster/postmaster.c:1031
+#: postmaster/postmaster.c:1132
#, c-format
msgid "%s: could not change permissions of external PID file \"%s\": %s\n"
msgstr "%s: 无法改变外部PID文件 \"%s\" 的权限: %s\n"
-#: postmaster/postmaster.c:1035
+#: postmaster/postmaster.c:1136
#, c-format
msgid "%s: could not write external PID file \"%s\": %s\n"
msgstr "%s: 无法写入外部 PID 文件 \"%s\": %s\n"
-#: postmaster/postmaster.c:1103 utils/init/postinit.c:197
+#: postmaster/postmaster.c:1160
+#, c-format
+msgid "ending log output to stderr"
+msgstr "终止日志输出到标准错误输出设备"
+
+#: postmaster/postmaster.c:1161
+#, c-format
+msgid "Future log output will go to log destination \"%s\"."
+msgstr "后续的日志输出将进入到目标日志 \"%s\"."
+
+#: postmaster/postmaster.c:1187 utils/init/postinit.c:199
#, c-format
msgid "could not load pg_hba.conf"
msgstr "无法加载pg_hba.conf"
-#: postmaster/postmaster.c:1156
+#: postmaster/postmaster.c:1263
#, c-format
msgid "%s: could not locate matching postgres executable"
msgstr "%s: 无法找到匹配的 postgres 执行文件"
-#: postmaster/postmaster.c:1179 utils/misc/tzparser.c:325
+#: postmaster/postmaster.c:1286 utils/misc/tzparser.c:341
#, c-format
msgid ""
"This may indicate an incomplete PostgreSQL installation, or that the file "
"这可能表示PostgreSQL安装未完成,或者文件\"%s\"已经从正确的位置移动到另外的位"
"置了."
-#: postmaster/postmaster.c:1207
+#: postmaster/postmaster.c:1314
#, c-format
msgid "data directory \"%s\" does not exist"
msgstr "数据目录 \"%s\" 不存在"
-#: postmaster/postmaster.c:1212
+#: postmaster/postmaster.c:1319
#, c-format
msgid "could not read permissions of directory \"%s\": %m"
msgstr "没有读取目录 \"%s\" 的权限: %m"
-#: postmaster/postmaster.c:1220
+#: postmaster/postmaster.c:1327
#, c-format
msgid "specified data directory \"%s\" is not a directory"
msgstr "所指定的数据目录 \"%s\"不是一个目录."
-#: postmaster/postmaster.c:1236
+#: postmaster/postmaster.c:1343
#, c-format
msgid "data directory \"%s\" has wrong ownership"
msgstr "data目录 \"%s\"的所有者权限错误."
-#: postmaster/postmaster.c:1238
+#: postmaster/postmaster.c:1345
#, c-format
msgid "The server must be started by the user that owns the data directory."
msgstr "服务器必须由拥有data目录的用户启动"
-#: postmaster/postmaster.c:1258
+#: postmaster/postmaster.c:1365
#, c-format
msgid "data directory \"%s\" has group or world access"
msgstr "组或其他用户都可以访问数据目录 \"%s\""
-#: postmaster/postmaster.c:1260
+#: postmaster/postmaster.c:1367
#, c-format
msgid "Permissions should be u=rwx (0700)."
msgstr "权限应该为 u=rwx (0700)."
-#: postmaster/postmaster.c:1271
+#: postmaster/postmaster.c:1378
#, c-format
msgid ""
"%s: could not find the database system\n"
"预期在目录 \"%s\" 找到,\n"
"但是无法打开文件 \"%s\": %s\n"
-#: postmaster/postmaster.c:1343
+#: postmaster/postmaster.c:1552
#, c-format
msgid "select() failed in postmaster: %m"
msgstr "postmaster select() 失败: %m"
-#: postmaster/postmaster.c:1510 postmaster/postmaster.c:1541
+#: postmaster/postmaster.c:1747 postmaster/postmaster.c:1778
#, c-format
msgid "incomplete startup packet"
msgstr "不完整的启动包"
-#: postmaster/postmaster.c:1522
+#: postmaster/postmaster.c:1759
#, c-format
msgid "invalid length of startup packet"
msgstr "无效的启动包长度"
-#: postmaster/postmaster.c:1579
+#: postmaster/postmaster.c:1816
#, c-format
msgid "failed to send SSL negotiation response: %m"
msgstr "发送 SSL 协商响应失败: %m"
-#: postmaster/postmaster.c:1608
+#: postmaster/postmaster.c:1845
#, 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:1659
+#: postmaster/postmaster.c:1908
+#, c-format
+#| msgid "invalid value for boolean option \"replication\""
+msgid "invalid value for parameter \"replication\""
+msgstr "\"replication\"参数值无效"
+
+#: postmaster/postmaster.c:1909
#, c-format
-msgid "invalid value for boolean option \"replication\""
-msgstr "布尔选项\"replication\"的值无效"
+msgid "Valid values are: false, 0, true, 1, database."
+msgstr "有效值为: false, 0, true, 1, database."
-#: postmaster/postmaster.c:1679
+#: postmaster/postmaster.c:1929
#, c-format
msgid "invalid startup packet layout: expected terminator as last byte"
msgstr "无效的启动包格式: 预计结束符为最后一个字节"
-#: postmaster/postmaster.c:1707
+#: postmaster/postmaster.c:1957
#, c-format
msgid "no PostgreSQL user name specified in startup packet"
msgstr "在启动包中没有指定 PostgreSQL 用户名"
-#: postmaster/postmaster.c:1764
+#: postmaster/postmaster.c:2016
#, c-format
msgid "the database system is starting up"
msgstr "数据库系统启动中"
-#: postmaster/postmaster.c:1769
+#: postmaster/postmaster.c:2021
#, c-format
msgid "the database system is shutting down"
msgstr "数据库系统停止中"
-#: postmaster/postmaster.c:1774
+#: postmaster/postmaster.c:2026
#, c-format
msgid "the database system is in recovery mode"
msgstr "数据库系统在恢复模式中"
-#: postmaster/postmaster.c:1779 storage/ipc/procarray.c:277
-#: storage/ipc/sinvaladt.c:304 storage/lmgr/proc.c:336
+#: postmaster/postmaster.c:2031 storage/ipc/procarray.c:286
+#: storage/ipc/sinvaladt.c:305 storage/lmgr/proc.c:339
#, c-format
msgid "sorry, too many clients already"
msgstr "对不起, 已经有太多的客户"
-#: postmaster/postmaster.c:1841
+#: postmaster/postmaster.c:2093
#, c-format
msgid "wrong key in cancel request for process %d"
msgstr "对于进程 %d,在取消请求中的键值错误"
-#: postmaster/postmaster.c:1849
+#: postmaster/postmaster.c:2101
#, c-format
msgid "PID %d in cancel request did not match any process"
msgstr "没有进程与取消请求中的PID %d 相匹配"
-#: postmaster/postmaster.c:2069
+#: postmaster/postmaster.c:2321
#, c-format
msgid "received SIGHUP, reloading configuration files"
msgstr "接收到 SIGHUP, 重载配置文件"
-#: postmaster/postmaster.c:2094
+#: postmaster/postmaster.c:2347
#, c-format
msgid "pg_hba.conf not reloaded"
msgstr "没有重新加载pg_hba.conf"
-#: postmaster/postmaster.c:2137
+#: postmaster/postmaster.c:2351
+#, c-format
+#| msgid "pg_hba.conf not reloaded"
+msgid "pg_ident.conf not reloaded"
+msgstr "pg_ident.conf 没有重新加载"
+
+#: postmaster/postmaster.c:2392
#, c-format
msgid "received smart shutdown request"
msgstr "接到到智能 (smart) 停止请求"
-#: postmaster/postmaster.c:2187
+#: postmaster/postmaster.c:2445
#, c-format
msgid "received fast shutdown request"
msgstr "接收到快速 (fast) 停止请求"
-#: postmaster/postmaster.c:2211
+#: postmaster/postmaster.c:2471
#, c-format
msgid "aborting any active transactions"
msgstr "中断任何激活事务"
-#: postmaster/postmaster.c:2240
+#: postmaster/postmaster.c:2505
#, c-format
msgid "received immediate shutdown request"
msgstr "接收到立即 (immediate) 停止请求"
-#: postmaster/postmaster.c:2330 postmaster/postmaster.c:2351
+#: postmaster/postmaster.c:2569 postmaster/postmaster.c:2590
msgid "startup process"
msgstr "启动进程"
-#: postmaster/postmaster.c:2333
+#: postmaster/postmaster.c:2572
#, c-format
msgid "aborting startup due to startup process failure"
msgstr "由于启动进程失败, 终止启动"
-#: postmaster/postmaster.c:2378
-#, c-format
-msgid ""
-"terminating all walsender processes to force cascaded standby(s) to update "
-"timeline and reconnect"
-msgstr "终止所有walsender进程,以强制所有的备用节点更新时间线并重新连接"
-
-#: postmaster/postmaster.c:2408
+#: postmaster/postmaster.c:2630
#, c-format
msgid "database system is ready to accept connections"
msgstr "数据库系统准备接受连接"
-#: postmaster/postmaster.c:2423
+#: postmaster/postmaster.c:2645
msgid "background writer process"
msgstr "后台写入进程"
-#: postmaster/postmaster.c:2477
+#: postmaster/postmaster.c:2699
msgid "checkpointer process"
msgstr "检查点(checkpointer)进程"
-#: postmaster/postmaster.c:2493
+#: postmaster/postmaster.c:2715
msgid "WAL writer process"
msgstr "WAL写入进程"
-#: postmaster/postmaster.c:2507
+#: postmaster/postmaster.c:2729
msgid "WAL receiver process"
msgstr "WAL接收进程"
-#: postmaster/postmaster.c:2522
+#: postmaster/postmaster.c:2744
msgid "autovacuum launcher process"
msgstr "autovacuum启动进程"
-#: postmaster/postmaster.c:2537
+#: postmaster/postmaster.c:2759
msgid "archiver process"
msgstr "归档进程"
-#: postmaster/postmaster.c:2553
+#: postmaster/postmaster.c:2775
msgid "statistics collector process"
msgstr "统计收集器进程"
-#: postmaster/postmaster.c:2567
+#: postmaster/postmaster.c:2789
msgid "system logger process"
msgstr "系统日志进程"
-#: postmaster/postmaster.c:2602 postmaster/postmaster.c:2621
-#: postmaster/postmaster.c:2628 postmaster/postmaster.c:2646
+#: postmaster/postmaster.c:2851
+#| msgid "server process"
+msgid "worker process"
+msgstr "工作进程"
+
+#: postmaster/postmaster.c:2937 postmaster/postmaster.c:2957
+#: postmaster/postmaster.c:2964 postmaster/postmaster.c:2982
msgid "server process"
msgstr "服务器进程"
-#: postmaster/postmaster.c:2682
+#: postmaster/postmaster.c:3036
#, c-format
msgid "terminating any other active server processes"
msgstr "中断任何其它已激活的服务器进程"
#. translator: %s is a noun phrase describing a child process, such as
#. "server process"
-#: postmaster/postmaster.c:2871
+#: postmaster/postmaster.c:3291
#, c-format
msgid "%s (PID %d) exited with exit code %d"
msgstr "%s (PID %d) 已退出, 退出代码 %d"
-#: postmaster/postmaster.c:2873 postmaster/postmaster.c:2884
-#: postmaster/postmaster.c:2895 postmaster/postmaster.c:2904
-#: postmaster/postmaster.c:2914
+#: postmaster/postmaster.c:3293 postmaster/postmaster.c:3304
+#: postmaster/postmaster.c:3315 postmaster/postmaster.c:3324
+#: postmaster/postmaster.c:3334
#, c-format
msgid "Failed process was running: %s"
msgstr "失败进程:%s正在运行"
#. translator: %s is a noun phrase describing a child process, such as
#. "server process"
-#: postmaster/postmaster.c:2881
+#: postmaster/postmaster.c:3301
#, c-format
msgid "%s (PID %d) was terminated by exception 0x%X"
msgstr "%s (PID %d) 被异常 0x%X 终止"
#. translator: %s is a noun phrase describing a child process, such as
#. "server process"
-#: postmaster/postmaster.c:2891
+#: postmaster/postmaster.c:3311
#, c-format
msgid "%s (PID %d) was terminated by signal %d: %s"
msgstr "%s (PID %d) 被信号 %d 中断: %s"
#. translator: %s is a noun phrase describing a child process, such as
#. "server process"
-#: postmaster/postmaster.c:2902
+#: postmaster/postmaster.c:3322
#, c-format
msgid "%s (PID %d) was terminated by signal %d"
msgstr "%s (PID %d) 被信号 %d 中断"
#. translator: %s is a noun phrase describing a child process, such as
#. "server process"
-#: postmaster/postmaster.c:2912
+#: postmaster/postmaster.c:3332
#, c-format
msgid "%s (PID %d) exited with unrecognized status %d"
msgstr "%s (PID %d) 已退出, 意外状态 %d"
-#: postmaster/postmaster.c:3096
+#: postmaster/postmaster.c:3520
#, c-format
msgid "abnormal database system shutdown"
msgstr "数据库系统异常关闭"
-#: postmaster/postmaster.c:3135
+#: postmaster/postmaster.c:3559
#, c-format
msgid "all server processes terminated; reinitializing"
msgstr "所有的服务器进程被中止; 重新初始化"
-#: postmaster/postmaster.c:3318
+#: postmaster/postmaster.c:3811
#, c-format
msgid "could not fork new process for connection: %m"
msgstr "无法为联接派生新进程: %m"
-#: postmaster/postmaster.c:3360
+#: postmaster/postmaster.c:3853
msgid "could not fork new process for connection: "
msgstr "无法为联接派生新进程: "
-#: postmaster/postmaster.c:3474
+#: postmaster/postmaster.c:3960
#, c-format
msgid "connection received: host=%s port=%s"
msgstr "已接收到连接: 主机=%s 端口=%s"
-#: postmaster/postmaster.c:3479
+#: postmaster/postmaster.c:3965
#, c-format
msgid "connection received: host=%s"
msgstr "已接收到连接: 主机=%s"
-#: postmaster/postmaster.c:3748
+#: postmaster/postmaster.c:4255
#, c-format
msgid "could not execute server process \"%s\": %m"
msgstr "无法执行服务器进程 \"%s\": %m"
-#: postmaster/postmaster.c:4272
+#: postmaster/postmaster.c:4804
#, c-format
msgid "database system is ready to accept read only connections"
msgstr "数据库系统准备接受只读请求的连接"
-#: postmaster/postmaster.c:4542
+#: postmaster/postmaster.c:5117
#, c-format
msgid "could not fork startup process: %m"
msgstr "无法派生启动进程: %m"
-#: postmaster/postmaster.c:4546
+#: postmaster/postmaster.c:5121
#, c-format
msgid "could not fork background writer process: %m"
msgstr "无法 fork 后台写入进程: %m"
-#: postmaster/postmaster.c:4550
+#: postmaster/postmaster.c:5125
#, c-format
msgid "could not fork checkpointer process: %m"
msgstr "无法派生检查点进程: %m"
-#: postmaster/postmaster.c:4554
+#: postmaster/postmaster.c:5129
#, c-format
msgid "could not fork WAL writer process: %m"
msgstr "无法派生WAL写入进程: %m"
-#: postmaster/postmaster.c:4558
+#: postmaster/postmaster.c:5133
#, c-format
msgid "could not fork WAL receiver process: %m"
msgstr "无法派生WAL接收进程: %m"
-#: postmaster/postmaster.c:4562
+#: postmaster/postmaster.c:5137
#, c-format
msgid "could not fork process: %m"
msgstr "无法派生进程: %m"
-#: postmaster/postmaster.c:4851
+#: postmaster/postmaster.c:5299
+#, c-format
+msgid "database connection requirement not indicated during registration"
+msgstr "在注册阶段没有指定需要的数据库连接"
+
+#: postmaster/postmaster.c:5306
+#, c-format
+#| msgid "invalid XML processing instruction"
+msgid "invalid processing mode in background worker"
+msgstr "后台工作进程中的无效处理模式"
+
+#: postmaster/postmaster.c:5358
+#, c-format
+#| msgid "background writer process"
+msgid "starting background worker process \"%s\""
+msgstr "启动后台工作进程\"%s\""
+
+#: postmaster/postmaster.c:5369
+#, c-format
+#| msgid "could not fork WAL writer process: %m"
+msgid "could not fork worker process: %m"
+msgstr "无法创建工作进程:%m"
+
+#: postmaster/postmaster.c:5758
#, c-format
msgid "could not duplicate socket %d for use in backend: error code %d"
msgstr "无法为后端使用复制套接字 %d: 错误码为 %d"
-#: postmaster/postmaster.c:4883
+#: postmaster/postmaster.c:5790
#, c-format
msgid "could not create inherited socket: error code %d\n"
msgstr "无法创建继承套接字: 错误码为 %d\n"
-#: postmaster/postmaster.c:4912 postmaster/postmaster.c:4919
+#: postmaster/postmaster.c:5819 postmaster/postmaster.c:5826
#, c-format
msgid "could not read from backend variables file \"%s\": %s\n"
msgstr "无法从后端可变 (variables) 文件 \"%s\" 读取: %s\n"
-#: postmaster/postmaster.c:4928
+#: postmaster/postmaster.c:5835
#, c-format
msgid "could not remove file \"%s\": %s\n"
msgstr "无法删除文件 \"%s\": %s\n"
-#: postmaster/postmaster.c:4945
+#: postmaster/postmaster.c:5852
#, c-format
msgid "could not map view of backend variables: error code %lu\n"
msgstr "无法映射后端变量视图: 错误码为 %lu\n"
-#: postmaster/postmaster.c:4954
+#: postmaster/postmaster.c:5861
#, c-format
msgid "could not unmap view of backend variables: error code %lu\n"
msgstr "无法取消后端变量视图的映射: 错误码为 %lu\n"
-#: postmaster/postmaster.c:4961
+#: postmaster/postmaster.c:5868
#, c-format
msgid "could not close handle to backend parameter variables: error code %lu\n"
msgstr "无法关闭后端参数变量的句柄: 错误码为 %lu\n"
-#: postmaster/postmaster.c:5111
+#: postmaster/postmaster.c:6027
#, c-format
msgid "could not read exit code for process\n"
msgstr "无法为进程读取退出代码\n"
-#: postmaster/postmaster.c:5116
+#: postmaster/postmaster.c:6032
#, c-format
msgid "could not post child completion status\n"
msgstr "无法传递子队列的结束状态\n"
-#: postmaster/syslogger.c:467 postmaster/syslogger.c:1054
+#: postmaster/syslogger.c:463 postmaster/syslogger.c:1064
#, c-format
msgid "could not read from logger pipe: %m"
msgstr "无法从日志管道读取: %m"
-#: postmaster/syslogger.c:516
+#: postmaster/syslogger.c:512
#, c-format
msgid "logger shutting down"
msgstr "日志正在关闭"
-#: postmaster/syslogger.c:560 postmaster/syslogger.c:574
+#: postmaster/syslogger.c:556 postmaster/syslogger.c:570
#, c-format
msgid "could not create pipe for syslog: %m"
msgstr "无法为统计日志 (syslog) 创建管道: %m"
-#: postmaster/syslogger.c:610
+#: postmaster/syslogger.c:606
#, c-format
msgid "could not fork system logger: %m"
msgstr "无法派生 (fork) 系统日志: %m"
-#: postmaster/syslogger.c:641
+#: postmaster/syslogger.c:643
+#, c-format
+msgid "redirecting log output to logging collector process"
+msgstr "日志输出重定向到日志收集进程"
+
+#: postmaster/syslogger.c:644
+#, c-format
+msgid "Future log output will appear in directory \"%s\"."
+msgstr "后续的日志输出将出现在目录 \"%s\"中."
+
+#: postmaster/syslogger.c:652
#, c-format
msgid "could not redirect stdout: %m"
msgstr "无法重定向到标准输出 (stdout) : %m"
-#: postmaster/syslogger.c:646 postmaster/syslogger.c:664
+#: postmaster/syslogger.c:657 postmaster/syslogger.c:674
#, c-format
msgid "could not redirect stderr: %m"
msgstr "无法重定向到标准错误 (stderr) : %m"
-#: postmaster/syslogger.c:1009
+#: postmaster/syslogger.c:1019
#, c-format
msgid "could not write to log file: %s\n"
msgstr "无法写入日志文件: %s\n"
-#: postmaster/syslogger.c:1149
+#: postmaster/syslogger.c:1159
#, c-format
msgid "could not open log file \"%s\": %m"
msgstr "无法打开事务日志文件 \"%s\": %m"
-#: postmaster/syslogger.c:1211 postmaster/syslogger.c:1255
+#: postmaster/syslogger.c:1221 postmaster/syslogger.c:1265
#, c-format
msgid "disabling automatic rotation (use SIGHUP to re-enable)"
msgstr "取消自动轮寻 (使用 SIGHUP re-enable)"
msgid "could not determine which collation to use for regular expression"
msgstr "无法确定正规表达式中使用何种排序规则"
-#: replication/basebackup.c:124 replication/basebackup.c:831
-#: utils/adt/misc.c:358
+#: repl_gram.y:247 repl_gram.y:274
+#, c-format
+#| msgid "invalid field size"
+msgid "invalid timeline %u"
+msgstr "无效时间线%u"
+
+#: repl_scanner.l:118
+msgid "invalid streaming start location"
+msgstr "无效的流起始位置"
+
+#: repl_scanner.l:169 scan.l:661
+msgid "unterminated quoted string"
+msgstr "未结束的引用字符串"
+
+#: repl_scanner.l:179
+#, c-format
+msgid "syntax error: unexpected character \"%s\""
+msgstr "语法错误: 遇到意外字符\"%s\""
+
+#: replication/basebackup.c:184 replication/basebackup.c:1044
+#: utils/adt/misc.c:353
#, c-format
msgid "could not read symbolic link \"%s\": %m"
msgstr "无法读取符号链接 \"%s\": %m"
-#: replication/basebackup.c:131 replication/basebackup.c:835
-#: utils/adt/misc.c:362
+#: replication/basebackup.c:191 replication/basebackup.c:1048
+#: utils/adt/misc.c:357
#, c-format
msgid "symbolic link \"%s\" target is too long"
msgstr "符号链接 \"%s\" 目标超长"
-#: replication/basebackup.c:192
+#: replication/basebackup.c:284
#, c-format
msgid "could not stat control file \"%s\": %m"
msgstr "无法统计控制文件 \"%s\": %m"
-#: replication/basebackup.c:311 replication/basebackup.c:328
-#: replication/basebackup.c:336
-#, fuzzy, c-format
-msgid "could not find WAL file %s"
-msgstr "无法 fsync 文件 \"%s\": %m"
+#: replication/basebackup.c:396
+#, c-format
+msgid "could not find any WAL files"
+msgstr "无法找到任何WAL文件"
+
+#: replication/basebackup.c:409 replication/basebackup.c:423
+#: replication/basebackup.c:432
+#, c-format
+msgid "could not find WAL file \"%s\""
+msgstr "找不到WAL文件\"%s\""
-#: replication/basebackup.c:375 replication/basebackup.c:398
-#, fuzzy, c-format
+#: replication/basebackup.c:471 replication/basebackup.c:496
+#, c-format
msgid "unexpected WAL file size \"%s\""
-msgstr "意外的消息类型\"%c\""
+msgstr "意外的WAL文件大小\"%s\""
-#: replication/basebackup.c:386 replication/basebackup.c:985
+#: replication/basebackup.c:482 replication/basebackup.c:1186
#, c-format
msgid "base backup could not send data, aborting backup"
msgstr "基础备份无法发送数据,终止备份"
-#: replication/basebackup.c:469 replication/basebackup.c:478
-#: replication/basebackup.c:487 replication/basebackup.c:496
-#: replication/basebackup.c:505
+#: replication/basebackup.c:569 replication/basebackup.c:578
+#: replication/basebackup.c:587 replication/basebackup.c:596
+#: replication/basebackup.c:605 replication/basebackup.c:616
#, c-format
msgid "duplicate option \"%s\""
msgstr "重复选项 \"%s\""
-#: replication/basebackup.c:767
+#: replication/basebackup.c:622 utils/misc/guc.c:5409
#, c-format
-msgid "shutdown requested, aborting active base backup"
-msgstr "发送了关闭请求, 正终止正在执行的基础备份"
+msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
+msgstr "%d 超出了参数 \"%s\" (%d .. %d) 的有效范围"
-#: replication/basebackup.c:785
+#: replication/basebackup.c:879 replication/basebackup.c:972
#, c-format
msgid "could not stat file or directory \"%s\": %m"
msgstr "无法统计文件或目录\"%s\": %m"
-#: replication/basebackup.c:885
+#: replication/basebackup.c:1122
#, c-format
msgid "skipping special file \"%s\""
msgstr "跳过特殊文件 \"%s\""
-#: replication/basebackup.c:975
+#: replication/basebackup.c:1176
#, c-format
msgid "archive member \"%s\" too large for tar format"
msgstr "在 tar 格式中归档成员\"%s\"太大"
-#: replication/libpqwalreceiver/libpqwalreceiver.c:101
+#: replication/libpqwalreceiver/libpqwalreceiver.c:106
#, c-format
msgid "could not connect to the primary server: %s"
msgstr "无法连接到主用服务器:%s"
-#: replication/libpqwalreceiver/libpqwalreceiver.c:113
+#: replication/libpqwalreceiver/libpqwalreceiver.c:130
#, c-format
msgid ""
"could not receive database system identifier and timeline ID from the "
"primary server: %s"
msgstr "无法从主用服务器接收数据库系统标识符和时间线ID:%s"
-#: replication/libpqwalreceiver/libpqwalreceiver.c:124
+#: replication/libpqwalreceiver/libpqwalreceiver.c:141
+#: replication/libpqwalreceiver/libpqwalreceiver.c:294
#, c-format
msgid "invalid response from primary server"
msgstr "来自主用服务器的回应无效"
-#: replication/libpqwalreceiver/libpqwalreceiver.c:125
+#: replication/libpqwalreceiver/libpqwalreceiver.c:142
#, c-format
-msgid "Expected 1 tuple with 3 fields, got %d tuples with %d fields."
-msgstr ""
-"期望得到带有3个字段的一条记录,但是现在得到了%d条记录,每条带有%d个字段."
+#| msgid ""
+#| "%s: could not identify system: got %d rows and %d fields, expected %d "
+#| "rows and %d fields\n"
+msgid ""
+"Could not identify system: got %d rows and %d fields, expected %d rows and "
+"%d or more fields."
+msgstr "无法识别系统: 得到 %d 行和 %d 列, 期望值为: %d 行和 %d 列."
-#: replication/libpqwalreceiver/libpqwalreceiver.c:140
+#: replication/libpqwalreceiver/libpqwalreceiver.c:158
#, c-format
msgid "database system identifier differs between the primary and standby"
msgstr "在主用服务器和备用服务器之间,数据库系统标识符是不一样的。"
-#: replication/libpqwalreceiver/libpqwalreceiver.c:141
+#: replication/libpqwalreceiver/libpqwalreceiver.c:159
#, c-format
msgid "The primary's identifier is %s, the standby's identifier is %s."
msgstr "主用服务器的标识符是%s,备用服务器的标识符是%s。"
-#: replication/libpqwalreceiver/libpqwalreceiver.c:153
-#, c-format
-msgid "timeline %u of the primary does not match recovery target timeline %u"
-msgstr "主用服务器的时间线%u与恢复目标的时间线%u不匹配"
-
-#: replication/libpqwalreceiver/libpqwalreceiver.c:165
+#: replication/libpqwalreceiver/libpqwalreceiver.c:201
#, c-format
msgid "could not start WAL streaming: %s"
msgstr "无法启动WAL流复制: %s"
-#: replication/libpqwalreceiver/libpqwalreceiver.c:171
+# fe-misc.c:702
+#: replication/libpqwalreceiver/libpqwalreceiver.c:219
+#, c-format
+#| msgid "could not send data to server: %s\n"
+msgid "could not send end-of-streaming message to primary: %s"
+msgstr "无法向主服务器:%s发送流终止的消息"
+
+# fe-exec.c:1371
+#: replication/libpqwalreceiver/libpqwalreceiver.c:241
+#, c-format
+#| msgid "unexpected result status for \\watch\n"
+msgid "unexpected result set after end-of-streaming"
+msgstr "流结束时出现意外的结果集"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:253
#, c-format
-msgid "streaming replication successfully connected to primary"
-msgstr "流复制成功连接到主服务器"
+#| msgid "error reading large object %u: %s"
+msgid "error reading result of streaming command: %s"
+msgstr "读流命令的结果时出错: %s"
+
+# fe-exec.c:1371
+#: replication/libpqwalreceiver/libpqwalreceiver.c:260
+#, c-format
+#| msgid "unexpected PQresultStatus: %d\n"
+msgid "unexpected result after CommandComplete: %s"
+msgstr "CommandComplete %s结束后出现意外结果"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:283
+#, c-format
+#| msgid ""
+#| "could not receive database system identifier and timeline ID from the "
+#| "primary server: %s"
+msgid "could not receive timeline history file from the primary server: %s"
+msgstr "无法从主服务器:%s接收历史时间线"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:295
+#, c-format
+#| msgid "Expected 1 tuple with 3 fields, got %d tuples with %d fields."
+msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields."
+msgstr ""
+"期望得到带有两个字段的一条记录,但是现在得到了%d条记录,每条带有%d个字段."
# fe-misc.c:450 fe-misc.c:642 fe-misc.c:798
-#: replication/libpqwalreceiver/libpqwalreceiver.c:193
+#: replication/libpqwalreceiver/libpqwalreceiver.c:323
#, c-format
msgid "socket not open"
msgstr "套接字未打开"
-#: replication/libpqwalreceiver/libpqwalreceiver.c:367
-#: replication/libpqwalreceiver/libpqwalreceiver.c:388
-#: replication/libpqwalreceiver/libpqwalreceiver.c:393
+#: replication/libpqwalreceiver/libpqwalreceiver.c:496
+#: replication/libpqwalreceiver/libpqwalreceiver.c:519
+#: replication/libpqwalreceiver/libpqwalreceiver.c:525
#, c-format
msgid "could not receive data from WAL stream: %s"
msgstr "无法从WAL流中获得数据: %s"
-#: replication/libpqwalreceiver/libpqwalreceiver.c:384
-#, c-format
-msgid "replication terminated by primary server"
-msgstr "复制由主用服务器终止"
-
# fe-misc.c:702
-#: replication/libpqwalreceiver/libpqwalreceiver.c:415
+#: replication/libpqwalreceiver/libpqwalreceiver.c:544
#, c-format
msgid "could not send data to WAL stream: %s"
msgstr "无法向WAL流:%s发送数据"
-#: replication/syncrep.c:208
+#: replication/logical/logical.c:81
#, c-format
-msgid ""
-"canceling the wait for synchronous replication and terminating connection "
-"due to administrator command"
-msgstr "取消等待同步复制,听从管理员命令终断连接"
+msgid "logical decoding requires wal_level >= logical"
+msgstr "逻辑解码要求wal_level >= logical"
-#: replication/syncrep.c:209 replication/syncrep.c:226
+#: replication/logical/logical.c:86
#, c-format
-msgid ""
-"The transaction has already committed locally, but might not have been "
-"replicated to the standby."
-msgstr "事务已经在本地提交, 但有可能还没完成到备用节点的复制."
+#| msgid "cannot restore large objects without a database connection\n"
+msgid "logical decoding requires a database connection"
+msgstr "逻辑解码需要一个数据库连接"
-#: replication/syncrep.c:225
+#: replication/logical/logical.c:104
#, c-format
-msgid "canceling wait for synchronous replication due to user request"
-msgstr "听从用户请求,取消等待同步复制"
+#| msgid "pg_xlogfile_name() cannot be executed during recovery."
+msgid "logical decoding cannot be used while in recovery"
+msgstr "逻辑解码不能用于恢复操作"
-#: replication/syncrep.c:356
+#: replication/logical/logical.c:221 replication/logical/logical.c:372
#, c-format
-msgid "standby \"%s\" now has synchronous standby priority %u"
-msgstr "备用节点 \"%s\" 现在拥有同步备用优先级: %u"
+msgid "cannot use physical replication slot for logical decoding"
+msgstr "逻辑解码不能使用物理复制槽"
-#: replication/syncrep.c:462
+#: replication/logical/logical.c:226 replication/logical/logical.c:377
#, c-format
-msgid "standby \"%s\" is now the synchronous standby with priority %u"
-msgstr "备用节点 \"%s\" 现在是拥有同步备用优先级: %u的备用节点"
+#| msgid "function \"%s\" was not called by trigger manager"
+msgid "replication slot \"%s\" was not created in this database"
+msgstr "复制槽\"%s\"不能用于此数据库"
-#: replication/walreceiver.c:150
+#: replication/logical/logical.c:233
#, c-format
-msgid "terminating walreceiver process due to administrator command"
-msgstr "由于管理员命令中断walreceiver进程"
+msgid ""
+"cannot create logical replication slot in transaction that has performed "
+"writes"
+msgstr "已经执行了写操作的事务里,不能创建逻辑复制槽"
-#: replication/walreceiver.c:306
+#: replication/logical/logical.c:413
#, c-format
-msgid "cannot continue WAL streaming, recovery has already ended"
-msgstr "无法继续进行WAL流复制操作,恢复已经结束"
+#| msgid "%s: could not find suitable encoding for locale \"%s\"\n"
+msgid "starting logical decoding for slot \"%s\""
+msgstr "开始为槽\"%s\"进行逻辑解码"
-#: replication/walsender.c:270 replication/walsender.c:521
-#: replication/walsender.c:579
+#: replication/logical/logical.c:415
#, c-format
-msgid "unexpected EOF on standby connection"
-msgstr "在备用服务器连接上的出现意外的EOF"
+msgid "streaming transactions committing after %X/%X, reading WAL from %X/%X"
+msgstr "流事务在%X/%X后提交,从%X/%X位置读"
-#: replication/walsender.c:276
+#: replication/logical/logical.c:550
#, c-format
-msgid "invalid standby handshake message type %d"
-msgstr "无效的备用握手消息类型 %d"
+msgid ""
+"slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
+msgstr "槽 \"%s\", 输出插件 \"%s\", 在 %s 回调, 关联的 LSN 地址为%X/%X"
-#: replication/walsender.c:399 replication/walsender.c:1150
+#: replication/logical/logical.c:557
#, c-format
-msgid ""
-"terminating walsender process to force cascaded standby to update timeline "
-"and reconnect"
-msgstr "终止walsender进程,以强制级联的备用节点更新时间线并重新连接"
+msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
+msgstr "槽 \"%s\", 输出插件 \"%s\", 在 %s 回调"
-#: replication/walsender.c:493
+#: replication/logical/logicalfuncs.c:190 replication/walsender.c:2123
#, c-format
-msgid "invalid standby query string: %s"
-msgstr "无效的备用服务器查询字符串:%s"
+#| msgid ""
+#| "could not read from log file %u, segment %u, offset %u, length %lu: %m"
+msgid "could not read from log segment %s, offset %u, length %lu: %m"
+msgstr "无法在日志段%s,偏移量为%u, 长度为%lu的位置上进行读操作: %m"
-#: replication/walsender.c:550
+#: replication/logical/logicalfuncs.c:209 replication/slotfuncs.c:32
#, c-format
-msgid "invalid standby message type \"%c\""
-msgstr "无效的备用节点消息类型 \"%c\""
+#| msgid "must be superuser or replication role to start walsender"
+msgid "must be superuser or replication role to use replication slots"
+msgstr "只有超级用户或者拥有复制角色的用户才能使用复制槽"
-#: replication/walsender.c:601
+#: replication/logical/logicalfuncs.c:339
#, c-format
-msgid "unexpected message type \"%c\""
-msgstr "意外的消息类型\"%c\""
+#| msgid "ACL arrays must be one-dimensional"
+msgid "array must be one-dimensional"
+msgstr "数组必须是一维的"
-#: replication/walsender.c:796
+#: replication/logical/logicalfuncs.c:345
#, c-format
-msgid "standby \"%s\" has now caught up with primary"
-msgstr "备用节点 \"%s\" 现在遇上了主节点"
+#| msgid "typmod array must not contain nulls"
+msgid "array must not contain nulls"
+msgstr "数组不能包含空值"
-#: replication/walsender.c:871
+#: replication/logical/logicalfuncs.c:361 utils/adt/json.c:2158
#, c-format
-msgid "terminating walsender process due to replication timeout"
-msgstr "由于复制超时, 中断walreceiver进程"
+#| msgid "each %s query must have the same number of columns"
+msgid "array must have even number of elements"
+msgstr "数组必须包含偶数个元素"
-#: replication/walsender.c:938
+#: replication/logical/logicalfuncs.c:404
#, c-format
msgid ""
-"number of requested standby connections exceeds max_wal_senders (currently "
-"%d)"
-msgstr "所要求的备用服务器连接数超过了参数max_wal_senders的值(当前设置为%d)"
+"logical decoding output plugin \"%s\" produces binary output, but \"%s\" "
+"expects textual data"
+msgstr "逻辑解码输出插件 \"%s\" 产生二进制输出,但是\"%s\"希望产生文本数据"
-#: replication/walsender.c:1055
+#: replication/logical/reorderbuffer.c:2100
#, c-format
-msgid "could not read from log file %u, segment %u, offset %u, length %lu: %m"
-msgstr "无法从日志文件%u中段为%u,偏移量为%u, 长度为%lu的位置上进行读操作: %m"
+#| msgid "could not write to file \"%s\": %m"
+msgid "could not write to data file for XID %u: %m"
+msgstr "无法将XID %u:%m写入数据文件"
-#: rewrite/rewriteDefine.c:107 rewrite/rewriteDefine.c:771
+#: replication/logical/reorderbuffer.c:2196
+#: replication/logical/reorderbuffer.c:2216
#, c-format
-msgid "rule \"%s\" for relation \"%s\" already exists"
-msgstr "关系 \"%2$s\" 的规则 \"%1$s\" 已经存在"
+#| msgid "could not read from control file: %m"
+msgid "could not read from reorderbuffer spill file: %m"
+msgstr "无法读取重排缓冲的溢出文件:%m"
-#: rewrite/rewriteDefine.c:290
+#: replication/logical/reorderbuffer.c:2200
+#: replication/logical/reorderbuffer.c:2220
#, c-format
-msgid "rule actions on OLD are not implemented"
-msgstr "在 OLD 上的规则动作没有实现"
+#| msgid "could not read block %u in file \"%s\": read only %d of %d bytes"
+msgid ""
+"could not read from reorderbuffer spill file: read %d instead of %u bytes"
+msgstr "无法读取重排缓冲的溢出文件, 读到了%d字节,而不是%u字节"
-#: rewrite/rewriteDefine.c:291
+#: replication/logical/reorderbuffer.c:2826
#, c-format
-msgid "Use views or triggers instead."
-msgstr "请使用视图或触发器代替."
+#| msgid "could not read block %u in file \"%s\": read only %d of %d bytes"
+msgid "could not read from file \"%s\": read %d instead of %d bytes"
+msgstr "无法读文件\"%s\": 读到了%d字节,而不是%d字节"
-#: rewrite/rewriteDefine.c:295
+#: replication/logical/snapbuild.c:601
+#, c-format
+msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID"
+msgid_plural ""
+"exported logical decoding snapshot: \"%s\" with %u transaction IDs"
+msgstr[0] "导出逻辑解码快照: \"%s\" 带有 %u 个事务 ID"
+
+#: replication/logical/snapbuild.c:904 replication/logical/snapbuild.c:1269
+#: replication/logical/snapbuild.c:1800
+#, c-format
+msgid "logical decoding found consistent point at %X/%X"
+msgstr "在 %X/%X处,逻辑解码发现一致点"
+
+#: replication/logical/snapbuild.c:906
+#, c-format
+#| msgid "The source transaction %u is not running anymore."
+msgid "Transaction ID %u finished; no more running transactions."
+msgstr "事务ID %u已结束;已没有正运行的事务."
+
+#: replication/logical/snapbuild.c:1271
+#, c-format
+#| msgid "%s cannot run inside a subtransaction"
+msgid "There are no running transactions."
+msgstr "没有正运行的事务."
+
+#: replication/logical/snapbuild.c:1333
+#, c-format
+msgid "logical decoding found initial starting point at %X/%X"
+msgstr "逻辑解码在 %X/%X发现初始化的起始点"
+
+#: replication/logical/snapbuild.c:1335
+#, c-format
+msgid "%u transaction needs to finish."
+msgid_plural "%u transactions need to finish."
+msgstr[0] "有%u笔事务需要结束."
+
+#: replication/logical/snapbuild.c:1674 replication/logical/snapbuild.c:1700
+#: replication/logical/snapbuild.c:1714 replication/logical/snapbuild.c:1728
+#, c-format
+#| msgid "could not read file \"%s\": %m"
+msgid "could not read file \"%s\", read %d of %d: %m"
+msgstr "无法读取文件 \"%1$s\", 从%3$d:%4$m中读取了%2$d"
+
+#: replication/logical/snapbuild.c:1680
+#, c-format
+#| msgid "archive file \"%s\" has wrong size: %lu instead of %lu"
+msgid "snapbuild state file \"%s\" has wrong magic %u instead of %u"
+msgstr "快照构建状态文件 \"%s\" 带有错误的 magic值 %u , 正确的应该是 %u"
+
+#: replication/logical/snapbuild.c:1685
+#, c-format
+#| msgid "archive file \"%s\" has wrong size: %lu instead of %lu"
+msgid "snapbuild state file \"%s\" has unsupported version %u instead of %u"
+msgstr "快照构建状态文件 \"%s\" 的版本号%u不支持,正确的应该是%u"
+
+#: replication/logical/snapbuild.c:1741
+#, c-format
+msgid "snapbuild state file %s: checksum mismatch, is %u, should be %u"
+msgstr "快照构建状态文件 %s: 校验和不匹配, 结果为 %u, 正确值应该是 %u"
+
+#: replication/logical/snapbuild.c:1802
+#, c-format
+msgid "Logical decoding will begin using saved snapshot."
+msgstr "逻辑解码将从使用已存的快照开始."
+
+#: replication/logical/snapbuild.c:1875
+#, c-format
+#| msgid "%s: could not parse file mode\n"
+msgid "could not parse file name \"%s\""
+msgstr "无法解析文件名 \"%s\""
+
+#: replication/slot.c:173
+#, c-format
+#| msgid "tablespace location \"%s\" is too long"
+msgid "replication slot name \"%s\" is too short"
+msgstr "复制槽名 \"%s\" 太短"
+
+#: replication/slot.c:182
+#, c-format
+#| msgid "tablespace location \"%s\" is too long"
+msgid "replication slot name \"%s\" is too long"
+msgstr "复制槽名 \"%s\" 太长"
+
+#: replication/slot.c:195
+#, c-format
+#| msgid "relation mapping file \"%s\" contains invalid data"
+msgid "replication slot name \"%s\" contains invalid character"
+msgstr "复制槽名 \"%s\"中包含无效的数据"
+
+#: replication/slot.c:197
+#, c-format
+msgid ""
+"Replication slot names may only contain letters, numbers, and the underscore "
+"character."
+msgstr "复制槽的名字只能包含字母、数字或下划线三类字符."
+
+#: replication/slot.c:244
+#, c-format
+#| msgid "relation \"%s\" already exists"
+msgid "replication slot \"%s\" already exists"
+msgstr "复制槽名 \"%s\" 已经存在"
+
+#: replication/slot.c:254
+#, c-format
+msgid "all replication slots are in use"
+msgstr "所有的复制槽都在使用中"
+
+#: replication/slot.c:255
+#, c-format
+msgid "Free one or increase max_replication_slots."
+msgstr "释放一个槽或者增大max_replication_slots的值."
+
+#: replication/slot.c:347
+#, c-format
+#| msgid "relation \"%s\" does not exist"
+msgid "replication slot \"%s\" does not exist"
+msgstr "复制槽名 \"%s\" 不存在"
+
+#: replication/slot.c:351
+#, c-format
+#| msgid "relation \"%s\" already exists"
+msgid "replication slot \"%s\" is already active"
+msgstr "复制槽名 \"%s\" 已经是活动的"
+
+#: replication/slot.c:499 replication/slot.c:873 replication/slot.c:1218
+#, c-format
+#| msgid "could not remove directory \"%s\": %m"
+msgid "could not remove directory \"%s\""
+msgstr "无法删除目录 \"%s\""
+
+#: replication/slot.c:774
+#, c-format
+msgid "replication slots can only be used if max_replication_slots > 0"
+msgstr "复制槽只有当 max_replication_slots > 0时才能使用"
+
+#: replication/slot.c:779
+#, c-format
+msgid "replication slots can only be used if wal_level >= archive"
+msgstr "复制槽只有当 wal_level >= archive时才能使用"
+
+#: replication/slot.c:1150 replication/slot.c:1188
+#, c-format
+#| msgid "could not read file \"%s\": %m"
+msgid "could not read file \"%s\", read %d of %u: %m"
+msgstr "无法读取文件 \"%s\", 读到了%d字节,从%u:%m处"
+
+#: replication/slot.c:1159
+#, c-format
+#| msgid "archive file \"%s\" has wrong size: %lu instead of %lu"
+msgid "replication slot file \"%s\" has wrong magic %u instead of %u"
+msgstr "复制槽文件\"%s\"出现错误的magic值%u,正确的应该是%u"
+
+#: replication/slot.c:1166
+#, c-format
+#| msgid "rule \"%s\" has unsupported event type %d"
+msgid "replication slot file \"%s\" has unsupported version %u"
+msgstr "复制槽文件 \"%s\" 的版本号%u不被支持"
+
+#: replication/slot.c:1173
+#, c-format
+msgid "replication slot file \"%s\" has corrupted length %u"
+msgstr "复制槽文件 \"%s\" 的长度 %u已损坏"
+
+#: replication/slot.c:1203
+#, c-format
+msgid "replication slot file %s: checksum mismatch, is %u, should be %u"
+msgstr "复制槽文件 %s: 校验和不匹配, 值为 %u, 正确值应该是 %u"
+
+#: replication/slot.c:1256
+#, c-format
+#| msgid "%s: replication stream was terminated before stop point\n"
+msgid "too many replication slots active before shutdown"
+msgstr "关闭前有太多活动的复制槽"
+
+#: replication/slot.c:1257
+#, c-format
+msgid "Increase max_replication_slots and try again."
+msgstr "增大 max_replication_slots的值再重试."
+
+#: replication/syncrep.c:208
+#, c-format
+msgid ""
+"canceling the wait for synchronous replication and terminating connection "
+"due to administrator command"
+msgstr "取消等待同步复制,听从管理员命令终断连接"
+
+#: replication/syncrep.c:209 replication/syncrep.c:226
+#, c-format
+msgid ""
+"The transaction has already committed locally, but might not have been "
+"replicated to the standby."
+msgstr "事务已经在本地提交, 但有可能还没完成到备用节点的复制."
+
+#: replication/syncrep.c:225
+#, c-format
+msgid "canceling wait for synchronous replication due to user request"
+msgstr "听从用户请求,取消等待同步复制"
+
+#: replication/syncrep.c:355
+#, c-format
+msgid "standby \"%s\" now has synchronous standby priority %u"
+msgstr "备用节点 \"%s\" 现在拥有同步备用优先级: %u"
+
+#: replication/syncrep.c:457
+#, c-format
+msgid "standby \"%s\" is now the synchronous standby with priority %u"
+msgstr "备用节点 \"%s\" 现在是拥有同步备用优先级: %u的备用节点"
+
+#: replication/walreceiver.c:167
+#, c-format
+msgid "terminating walreceiver process due to administrator command"
+msgstr "由于管理员命令中断walreceiver进程"
+
+#: replication/walreceiver.c:332
+#, c-format
+#| msgid ""
+#| "timeline %u of the primary does not match recovery target timeline %u"
+msgid "highest timeline %u of the primary is behind recovery timeline %u"
+msgstr "主服务器上的最高时间线%u还在恢复时间线%u的后边"
+
+#: replication/walreceiver.c:367
+#, c-format
+#| msgid "%s: starting log streaming at %X/%X (timeline %u)\n"
+msgid "started streaming WAL from primary at %X/%X on timeline %u"
+msgstr "在时间点: %X/%X (时间安排%u)启动日志的流操作"
+
+#: replication/walreceiver.c:372
+#, c-format
+#| msgid "%s: starting log streaming at %X/%X (timeline %u)\n"
+msgid "restarted WAL streaming at %X/%X on timeline %u"
+msgstr "在%X/%X处时间线%u上重启WAL流操作"
+
+#: replication/walreceiver.c:406
+#, c-format
+msgid "cannot continue WAL streaming, recovery has already ended"
+msgstr "无法继续进行WAL流复制操作,恢复已经结束"
+
+#: replication/walreceiver.c:443
+#, c-format
+msgid "replication terminated by primary server"
+msgstr "复制由主用服务器终止"
+
+#: replication/walreceiver.c:444
+#, c-format
+#| msgid "%s: switched to timeline %u at %X/%X\n"
+msgid "End of WAL reached on timeline %u at %X/%X."
+msgstr "WAL结束时,到了时间线%u和地址%X/%X."
+
+#: replication/walreceiver.c:491
+#, c-format
+#| msgid "terminating walsender process due to replication timeout"
+msgid "terminating walreceiver due to timeout"
+msgstr "由于超时, 中止walreceiver进程"
+
+#: replication/walreceiver.c:531
+#, c-format
+msgid "primary server contains no more WAL on requested timeline %u"
+msgstr "主服务器 在时间点 %u不再有WAL"
+
+#: replication/walreceiver.c:546 replication/walreceiver.c:903
+#, c-format
+#| msgid "could not close log file %u, segment %u: %m"
+msgid "could not close log segment %s: %m"
+msgstr "无法关闭日志段%s: %m"
+
+#: replication/walreceiver.c:668
+#, c-format
+msgid "fetching timeline history file for timeline %u from primary server"
+msgstr "从主服务器的时间点%u获取时间点历史文件"
+
+#: replication/walreceiver.c:954
+#, c-format
+#| msgid ""
+#| "could not write to log file %u, segment %u at offset %u, length %lu: %m"
+msgid "could not write to log segment %s at offset %u, length %lu: %m"
+msgstr "无法在偏移量 %2$u,长度 %3$lu写入日志文件%1$s, 段:%4$m"
+
+#: replication/walsender.c:469
+#, c-format
+#| msgid "could not seek to end of file \"%s\": %m"
+msgid "could not seek to beginning of file \"%s\": %m"
+msgstr "无法查找到文件\"%s\"的起始位置: %m"
+
+#: replication/walsender.c:520
+#, c-format
+msgid "cannot use a logical replication slot for physical replication"
+msgstr "物理复制操作不能使用逻辑复制槽"
+
+#: replication/walsender.c:583
+#, c-format
+#| msgid "%s: starting timeline %u is not present in the server\n"
+msgid ""
+"requested starting point %X/%X on timeline %u is not in this server's history"
+msgstr "请求的起始点%X/%X, 时间线%u,不在该服务器的时间线历史记录里"
+
+#: replication/walsender.c:587
+#, c-format
+#| msgid "%s: switched to timeline %u at %X/%X\n"
+msgid "This server's history forked from timeline %u at %X/%X."
+msgstr "服务器的历史时间线在时间线%u,地址%X/%X处产生了分支."
+
+#: replication/walsender.c:632
+#, c-format
+msgid ""
+"requested starting point %X/%X is ahead of the WAL flush position of this "
+"server %X/%X"
+msgstr "请求的起始点 %X/%X 位于该服务器的WAL刷新位置%X/%X之前"
+
+#: replication/walsender.c:947
+#, c-format
+#| msgid "terminating walsender process due to replication timeout"
+msgid "terminating walsender process after promotion"
+msgstr "在提升后, 中断walreceiver进程"
+
+#: replication/walsender.c:1362 replication/walsender.c:1412
+#: replication/walsender.c:1461
+#, c-format
+msgid "unexpected EOF on standby connection"
+msgstr "在备用服务器连接上的出现意外的EOF"
+
+#: replication/walsender.c:1381
+#, c-format
+#| msgid "unexpected message type \"%c\""
+msgid "unexpected standby message type \"%c\", after receiving CopyDone"
+msgstr "在接收CopyDone后出现意外的消息类型\"%c\""
+
+#: replication/walsender.c:1429
+#, c-format
+msgid "invalid standby message type \"%c\""
+msgstr "无效的备用节点消息类型 \"%c\""
+
+#: replication/walsender.c:1483
+#, c-format
+msgid "unexpected message type \"%c\""
+msgstr "意外的消息类型\"%c\""
+
+#: replication/walsender.c:1770
+#, c-format
+msgid "terminating walsender process due to replication timeout"
+msgstr "由于复制超时, 中断walreceiver进程"
+
+#: replication/walsender.c:1863
+#, c-format
+msgid "standby \"%s\" has now caught up with primary"
+msgstr "备用节点 \"%s\" 现在遇上了主节点"
+
+#: replication/walsender.c:1967
+#, c-format
+msgid ""
+"number of requested standby connections exceeds max_wal_senders (currently "
+"%d)"
+msgstr "所要求的备用服务器连接数超过了参数max_wal_senders的值(当前设置为%d)"
+
+#: rewrite/rewriteDefine.c:111 rewrite/rewriteDefine.c:942
+#, c-format
+msgid "rule \"%s\" for relation \"%s\" already exists"
+msgstr "关系 \"%2$s\" 的规则 \"%1$s\" 已经存在"
+
+#: rewrite/rewriteDefine.c:295
+#, c-format
+msgid "rule actions on OLD are not implemented"
+msgstr "在 OLD 上的规则动作没有实现"
+
+#: rewrite/rewriteDefine.c:296
+#, c-format
+msgid "Use views or triggers instead."
+msgstr "请使用视图或触发器代替."
+
+#: rewrite/rewriteDefine.c:300
#, c-format
msgid "rule actions on NEW are not implemented"
msgstr "在 NEW 上的规则动作没有实现"
-#: rewrite/rewriteDefine.c:296
+#: rewrite/rewriteDefine.c:301
#, c-format
msgid "Use triggers instead."
msgstr "请使用触发器代替."
-#: rewrite/rewriteDefine.c:309
+#: rewrite/rewriteDefine.c:314
#, c-format
msgid "INSTEAD NOTHING rules on SELECT are not implemented"
msgstr "在 SELECT 上的 INSTEAD NOTHING 规则没有实现"
-#: rewrite/rewriteDefine.c:310
+#: rewrite/rewriteDefine.c:315
#, c-format
msgid "Use views instead."
msgstr "请使用视图代替."
-#: rewrite/rewriteDefine.c:318
+#: rewrite/rewriteDefine.c:323
#, c-format
msgid "multiple actions for rules on SELECT are not implemented"
msgstr "在 SELECT 上的多动作规则没有实现"
-#: rewrite/rewriteDefine.c:329
+#: rewrite/rewriteDefine.c:334
#, c-format
msgid "rules on SELECT must have action INSTEAD SELECT"
msgstr "在 SELECT 上的规则必须有 INSTEAD SELECT 动作"
-#: rewrite/rewriteDefine.c:337
+#: rewrite/rewriteDefine.c:342
#, c-format
msgid "rules on SELECT must not contain data-modifying statements in WITH"
msgstr "SELECT上的规则: 不能在WITH子句中包含数据修改操作"
-#: rewrite/rewriteDefine.c:345
+#: rewrite/rewriteDefine.c:350
#, c-format
msgid "event qualifications are not implemented for rules on SELECT"
msgstr "在 SELECT 上规则的事件条件没有实现"
-#: rewrite/rewriteDefine.c:370
+#: rewrite/rewriteDefine.c:377
#, c-format
msgid "\"%s\" is already a view"
msgstr "\"%s\" 已经是一个视图了"
-#: rewrite/rewriteDefine.c:394
+#: rewrite/rewriteDefine.c:401
#, c-format
msgid "view rule for \"%s\" must be named \"%s\""
msgstr "用于 \"%s\" 的视图规则必须命名为 \"%s\""
-#: rewrite/rewriteDefine.c:419
+#: rewrite/rewriteDefine.c:429
#, c-format
msgid "could not convert table \"%s\" to a view because it is not empty"
msgstr "无法把表 \"%s\" 转化为视图, 因为它不是空的"
-#: rewrite/rewriteDefine.c:426
+#: rewrite/rewriteDefine.c:437
#, c-format
msgid "could not convert table \"%s\" to a view because it has triggers"
msgstr "无法把表 \"%s\" 转换为视图, 因为它有触发器"
-#: rewrite/rewriteDefine.c:428
+#: rewrite/rewriteDefine.c:439
#, c-format
msgid ""
"In particular, the table cannot be involved in any foreign key relationships."
msgstr "特别是在任何外键关系中不能涉及表"
-#: rewrite/rewriteDefine.c:433
+#: rewrite/rewriteDefine.c:444
#, c-format
msgid "could not convert table \"%s\" to a view because it has indexes"
msgstr "无法把表 \"%s\" 转换为视图, 因为它有索引"
-#: rewrite/rewriteDefine.c:439
+#: rewrite/rewriteDefine.c:450
#, c-format
msgid "could not convert table \"%s\" to a view because it has child tables"
msgstr "无法把表 \"%s\" 转换为视图, 因为它有子表"
-#: rewrite/rewriteDefine.c:466
+#: rewrite/rewriteDefine.c:477
#, c-format
msgid "cannot have multiple RETURNING lists in a rule"
msgstr "在一个规则中不能有多个RETURNING列表"
-#: rewrite/rewriteDefine.c:471
+#: rewrite/rewriteDefine.c:482
#, c-format
msgid "RETURNING lists are not supported in conditional rules"
msgstr "在条件规则中不支持RETURNING列表"
-#: rewrite/rewriteDefine.c:475
+#: rewrite/rewriteDefine.c:486
#, c-format
msgid "RETURNING lists are not supported in non-INSTEAD rules"
msgstr "在非INSTEAD规则中不支持RETURNING列表"
-#: rewrite/rewriteDefine.c:554
+#: rewrite/rewriteDefine.c:649
#, c-format
msgid "SELECT rule's target list has too many entries"
msgstr "SELECT 规则的目标列表的记录太多"
-#: rewrite/rewriteDefine.c:555
+#: rewrite/rewriteDefine.c:650
#, c-format
msgid "RETURNING list has too many entries"
msgstr "RETURNING列表中的项太多."
-#: rewrite/rewriteDefine.c:571
+#: rewrite/rewriteDefine.c:666
#, c-format
msgid "cannot convert relation containing dropped columns to view"
msgstr "无法转换包含已删除字段的关系为视图"
-#: rewrite/rewriteDefine.c:576
+#: rewrite/rewriteDefine.c:672
#, c-format
-msgid "SELECT rule's target entry %d has different column name from \"%s\""
-msgstr "SELECT 规则的目标记录 %d 的字段名和 \"%s\" 不同"
+#| msgid "SELECT rule's target entry %d has different column name from \"%s\""
+msgid ""
+"SELECT rule's target entry %d has different column name from column \"%s\""
+msgstr "SELECT 规则的目标记录 %d 的字段名和字段 \"%s\" 不同"
+
+#: rewrite/rewriteDefine.c:674
+#, c-format
+#| msgid "SELECT rule's target entry %d has different column name from \"%s\""
+msgid "SELECT target entry is named \"%s\"."
+msgstr "SELECT 目标项命名为\"%s\","
-#: rewrite/rewriteDefine.c:582
+#: rewrite/rewriteDefine.c:683
#, c-format
msgid "SELECT rule's target entry %d has different type from column \"%s\""
msgstr "SELECT 规则的目标记录 %d 和字段 \"%s\" 的类型不同"
-#: rewrite/rewriteDefine.c:584
+#: rewrite/rewriteDefine.c:685
#, c-format
msgid "RETURNING list's entry %d has different type from column \"%s\""
msgstr "RETURNING列表中的第%d项与列\"%s\"的类型不同"
-#: rewrite/rewriteDefine.c:599
+#: rewrite/rewriteDefine.c:688 rewrite/rewriteDefine.c:712
+#, c-format
+#| msgid "SELECT rule's target entry %d has different type from column \"%s\""
+msgid "SELECT target entry has type %s, but column has type %s."
+msgstr "SELECT 目标项类型为%s, 但其列类型为%s."
+
+#: rewrite/rewriteDefine.c:691 rewrite/rewriteDefine.c:716
+#, c-format
+#| msgid "RETURNING list's entry %d has different type from column \"%s\""
+msgid "RETURNING list entry has type %s, but column has type %s."
+msgstr "RETURNING列表项类型为%s, 但是其列类型为%s."
+
+#: rewrite/rewriteDefine.c:707
#, c-format
msgid "SELECT rule's target entry %d has different size from column \"%s\""
msgstr "SELECT 规则的目标记录 %d 与字段 \"%s\" 的大小不同"
-#: rewrite/rewriteDefine.c:601
+#: rewrite/rewriteDefine.c:709
#, c-format
msgid "RETURNING list's entry %d has different size from column \"%s\""
msgstr "在RETURNING列表中的第%d项的大小与列 \"%s\"不同"
-#: rewrite/rewriteDefine.c:609
+#: rewrite/rewriteDefine.c:726
#, c-format
msgid "SELECT rule's target list has too few entries"
msgstr "SELECT 规则的目标列表记录数太少"
-#: rewrite/rewriteDefine.c:610
+#: rewrite/rewriteDefine.c:727
#, c-format
msgid "RETURNING list has too few entries"
msgstr "RETURNING 列表后面的项太少"
-#: rewrite/rewriteDefine.c:702 rewrite/rewriteDefine.c:764
-#: rewrite/rewriteSupport.c:116
+#: rewrite/rewriteDefine.c:819 rewrite/rewriteDefine.c:933
+#: rewrite/rewriteSupport.c:112
#, c-format
msgid "rule \"%s\" for relation \"%s\" does not exist"
msgstr "关系 \"%2$s\" 的 \"%1$s\" 规则不存在"
-#: rewrite/rewriteHandler.c:485
+#: rewrite/rewriteDefine.c:952
+#, c-format
+#| msgid "multiple OFFSET clauses not allowed"
+msgid "renaming an ON SELECT rule is not allowed"
+msgstr "不允许重命名一个ON SELECT规则"
+
+#: rewrite/rewriteHandler.c:512
#, c-format
msgid ""
"WITH query name \"%s\" appears in both a rule action and the query being "
"rewritten"
msgstr "WITH 查询名 \"%s\" 看起来好像在某规则行为和查询重写里同时出现"
-#: rewrite/rewriteHandler.c:543
+#: rewrite/rewriteHandler.c:572
#, c-format
msgid "cannot have RETURNING lists in multiple rules"
msgstr "无法在多个规则中拥有RETURNING列表"
-#: rewrite/rewriteHandler.c:874 rewrite/rewriteHandler.c:892
+#: rewrite/rewriteHandler.c:910 rewrite/rewriteHandler.c:928
#, c-format
msgid "multiple assignments to same column \"%s\""
msgstr "对同一列\"%s\"进行了多次分配"
-#: rewrite/rewriteHandler.c:1628 rewrite/rewriteHandler.c:2023
+#: rewrite/rewriteHandler.c:1698 rewrite/rewriteHandler.c:3129
#, c-format
msgid "infinite recursion detected in rules for relation \"%s\""
msgstr "在关系 \"%s\" 的规则中发现无限循环"
-#: rewrite/rewriteHandler.c:1884
+#: rewrite/rewriteHandler.c:1995
+msgid "Junk view columns are not updatable."
+msgstr "废弃视图列不可更新."
+
+#: rewrite/rewriteHandler.c:2000
+msgid ""
+"View columns that are not columns of their base relation are not updatable."
+msgstr "不属于基础关系的列的那些视图列不能用于更新操作."
+
+#: rewrite/rewriteHandler.c:2003
+msgid "View columns that refer to system columns are not updatable."
+msgstr "引用系统列的视图列不能用于更新操作."
+
+#: rewrite/rewriteHandler.c:2006
+#| msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"."
+msgid "View columns that return whole-row references are not updatable."
+msgstr "返回整行引用的视图列不能更新"
+
+#: rewrite/rewriteHandler.c:2064
+msgid "Views containing DISTINCT are not automatically updatable."
+msgstr "包含DISTINCT的视图列不能自动更新."
+
+#: rewrite/rewriteHandler.c:2067
+msgid "Views containing GROUP BY are not automatically updatable."
+msgstr "包含 GROUP BY 的视图列不能自动更新."
+
+#: rewrite/rewriteHandler.c:2070
+msgid "Views containing HAVING are not automatically updatable."
+msgstr "包含 HAVING 的视图列不能自动更新."
+
+#: rewrite/rewriteHandler.c:2073
+msgid ""
+"Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable."
+msgstr "包含 UNION, INTERSECT, 或 EXCEPT 不能用于自动更新."
+
+#: rewrite/rewriteHandler.c:2076
+msgid "Views containing WITH are not automatically updatable."
+msgstr "包含 WITH 的视图不能自动更新."
+
+#: rewrite/rewriteHandler.c:2079
+msgid "Views containing LIMIT or OFFSET are not automatically updatable."
+msgstr "包含 LIMIT 或 OFFSET 的视图不能自动更新."
+
+#: rewrite/rewriteHandler.c:2091
+msgid "Views that return aggregate functions are not automatically updatable."
+msgstr "返回聚集函数的视图不能自动更新."
+
+#: rewrite/rewriteHandler.c:2094
+msgid "Views that return window functions are not automatically updatable."
+msgstr "返回窗口函数的视图不能自动更新."
+
+#: rewrite/rewriteHandler.c:2097
+msgid ""
+"Views that return set-returning functions are not automatically updatable."
+msgstr "返回自返回函数的视图不能自动更新."
+
+#: rewrite/rewriteHandler.c:2104 rewrite/rewriteHandler.c:2108
+#: rewrite/rewriteHandler.c:2115
+msgid ""
+"Views that do not select from a single table or view are not automatically "
+"updatable."
+msgstr "不来自单表或单视图的视图不能自动更新."
+
+#: rewrite/rewriteHandler.c:2139
+msgid "Views that have no updatable columns are not automatically updatable."
+msgstr "没有更新列的视图不能自动更新."
+
+#: rewrite/rewriteHandler.c:2576
+#, c-format
+#| msgid "cannot insert into view \"%s\""
+msgid "cannot insert into column \"%s\" of view \"%s\""
+msgstr "无法插入列\"%s\"到视图\"%s\""
+
+#: rewrite/rewriteHandler.c:2584
+#, c-format
+#| msgid "could not update column \"%s\" of table \"%s\": %s"
+msgid "cannot update column \"%s\" of view \"%s\""
+msgstr "无法更新视图 \"%2$s\" 的字段 \"%1$s\""
+
+#: rewrite/rewriteHandler.c:2952
#, c-format
msgid ""
"DO INSTEAD NOTHING rules are not supported for data-modifying statements in "
"WITH"
msgstr "DO INSTEAD NOTHING规则不支持在WITH子句中执行数据修改操作"
-#: rewrite/rewriteHandler.c:1898
+#: rewrite/rewriteHandler.c:2966
#, c-format
msgid ""
"conditional DO INSTEAD rules are not supported for data-modifying statements "
"in WITH"
msgstr "DO INSTEAD 条件规则不支持在WITH子句中执行数据修改操作"
-#: rewrite/rewriteHandler.c:1902
+#: rewrite/rewriteHandler.c:2970
#, c-format
msgid "DO ALSO rules are not supported for data-modifying statements in WITH"
msgstr "DO ALSO 规则不支持在WITH子句中执行数据修改操作"
-#: rewrite/rewriteHandler.c:1907
+#: rewrite/rewriteHandler.c:2975
#, c-format
msgid ""
"multi-statement DO INSTEAD rules are not supported for data-modifying "
"statements in WITH"
msgstr "多语句 DO INSTEAD 规则不支持在WITH子句中执行数据修改操作"
-#: rewrite/rewriteHandler.c:2061
+#: rewrite/rewriteHandler.c:3166
#, c-format
msgid "cannot perform INSERT RETURNING on relation \"%s\""
msgstr "无法在关系\"%s\"上执行INSERT RETURNING "
-#: rewrite/rewriteHandler.c:2063
+#: rewrite/rewriteHandler.c:3168
#, c-format
msgid ""
"You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause."
msgstr "您需要一个无条件, 且带有RETURNING子句的ON INSERT DO INSTEAD的规则."
-#: rewrite/rewriteHandler.c:2068
+#: rewrite/rewriteHandler.c:3173
#, c-format
msgid "cannot perform UPDATE RETURNING on relation \"%s\""
msgstr "无法在关系\"%s\"执行UPDATE RETURNING"
-#: rewrite/rewriteHandler.c:2070
+#: rewrite/rewriteHandler.c:3175
#, c-format
msgid ""
"You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause."
msgstr "您需要一个无条件的 ON UPDATE DO INSTEAD 规则."
-#: rewrite/rewriteHandler.c:2075
+#: rewrite/rewriteHandler.c:3180
#, c-format
msgid "cannot perform DELETE RETURNING on relation \"%s\""
msgstr "无法在关系 \"%s\"上执行DELETE RETURNING"
-#: rewrite/rewriteHandler.c:2077
+#: rewrite/rewriteHandler.c:3182
#, c-format
msgid ""
"You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause."
msgstr "您需要一个无条件, 且带有RETURNING子句的ON DELETE DO INSTEAD 规则."
-#: rewrite/rewriteHandler.c:2141
+#: rewrite/rewriteHandler.c:3246
#, c-format
msgid ""
"WITH cannot be used in a query that is rewritten by rules into multiple "
"queries"
msgstr "WITH 不能用于按规则可重写为多个查询的查询语句中"
-#: rewrite/rewriteManip.c:1028
+#: rewrite/rewriteManip.c:956
#, c-format
msgid "conditional utility statements are not implemented"
msgstr "条件工具语句没有实现"
-#: rewrite/rewriteManip.c:1193
+#: rewrite/rewriteManip.c:1121
#, c-format
msgid "WHERE CURRENT OF on a view is not implemented"
msgstr "未实现在视图上的WHERE CURRENT OF操作"
-#: rewrite/rewriteSupport.c:158
+#: rewrite/rewriteSupport.c:154
#, c-format
msgid "rule \"%s\" does not exist"
msgstr "规则 \"%s\" 不存在"
-#: rewrite/rewriteSupport.c:171
+#: rewrite/rewriteSupport.c:167
#, c-format
msgid "there are multiple rules named \"%s\""
msgstr "有多条规则的名字是 \"%s\""
-#: rewrite/rewriteSupport.c:172
+#: rewrite/rewriteSupport.c:168
#, c-format
msgid "Specify a relation name as well as a rule name."
msgstr "指定一个关系名称, 和规则名称一样."
-#: snowball/dict_snowball.c:180
-#, c-format
-msgid "no Snowball stemmer available for language \"%s\" and encoding \"%s\""
-msgstr "对于语言\"%s\" 和编码\"%s\"来说,没有有效的Snowball stemmer "
+#: scan.l:426
+msgid "unterminated /* comment"
+msgstr "/* 注释没有结束"
-#: snowball/dict_snowball.c:203 tsearch/dict_ispell.c:73
-#: tsearch/dict_simple.c:48
-#, c-format
-msgid "multiple StopWords parameters"
-msgstr "多个 StopWords参数"
+#: scan.l:455
+msgid "unterminated bit string literal"
+msgstr "未结束的bit字符串常量"
-#: snowball/dict_snowball.c:212
-#, c-format
-msgid "multiple Language parameters"
-msgstr "多语言参数"
+#: scan.l:476
+msgid "unterminated hexadecimal string literal"
+msgstr "未结束的16进制字符串常量"
-#: snowball/dict_snowball.c:219
+#: scan.l:526
#, c-format
-msgid "unrecognized Snowball parameter: \"%s\""
-msgstr "未识别Snowball参数: \"%s\""
+msgid "unsafe use of string constant with Unicode escapes"
+msgstr "这种使用带有Unicode转义字符的字符串常量的方法不安全."
-#: snowball/dict_snowball.c:227
+#: scan.l:527
#, c-format
-msgid "missing Language parameter"
-msgstr "缺少语言参数"
+msgid ""
+"String constants with Unicode escapes cannot be used when "
+"standard_conforming_strings is off."
+msgstr ""
+"当参数standard_conforming_strings处于关闭状态时,无法使用带有Unicode转义字符"
+"的字符串常量."
-#: storage/buffer/bufmgr.c:136 storage/buffer/bufmgr.c:241
-#, c-format
-msgid "cannot access temporary tables of other sessions"
-msgstr "无法访问其它会话的临时表"
+#: scan.l:571 scan.l:767
+msgid "invalid Unicode escape character"
+msgstr "无效Unicode转义字符"
-#: storage/buffer/bufmgr.c:378
+#: scan.l:596 scan.l:604 scan.l:612 scan.l:613 scan.l:614 scan.l:1297
+#: scan.l:1324 scan.l:1328 scan.l:1366 scan.l:1370 scan.l:1392
+msgid "invalid Unicode surrogate pair"
+msgstr "无效的Unicode代理项对(surrogate pair)"
+
+#: scan.l:618
#, c-format
-msgid "unexpected data beyond EOF in block %u of relation %s"
+msgid "invalid Unicode escape"
+msgstr "无效的Unicode转义字符"
+
+#: scan.l:619
+#, c-format
+msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX."
+msgstr "Unicode转义字符必须是\\uXXXX或\\UXXXXXXXX."
+
+#: scan.l:630
+#, c-format
+msgid "unsafe use of \\' in a string literal"
+msgstr "在字符串常量中使用\\不安全"
+
+#: scan.l:631
+#, c-format
+msgid ""
+"Use '' to write quotes in strings. \\' is insecure in client-only encodings."
+msgstr "使用''在字符串中表示引号,在只有客户端使用的编码中使用\\'不安全."
+
+#: scan.l:706
+msgid "unterminated dollar-quoted string"
+msgstr "未结束的用$符号引用的字符串"
+
+#: scan.l:723 scan.l:747 scan.l:762
+msgid "zero-length delimited identifier"
+msgstr "长度为0的分隔标示符"
+
+#: scan.l:782
+msgid "unterminated quoted identifier"
+msgstr "未结束的引用标识符"
+
+#: scan.l:886
+msgid "operator too long"
+msgstr "操作符太长"
+
+#. translator: %s is typically the translation of "syntax error"
+#: scan.l:1044
+#, c-format
+msgid "%s at end of input"
+msgstr "%s 在输入的末尾"
+
+#. translator: first %s is typically the translation of "syntax error"
+#: scan.l:1052
+#, c-format
+msgid "%s at or near \"%s\""
+msgstr "%s 在 \"%s\" 或附近的"
+
+#: scan.l:1213 scan.l:1245
+msgid ""
+"Unicode escape values cannot be used for code point values above 007F when "
+"the server encoding is not UTF8"
+msgstr "当服务器的编码不是UTF8时,无法为在007F以上的码点值使用Unicode转义值."
+
+#: scan.l:1241 scan.l:1384
+msgid "invalid Unicode escape value"
+msgstr "无效的Unicode转义值"
+
+#: scan.l:1440
+#, c-format
+msgid "nonstandard use of \\' in a string literal"
+msgstr "在字符串常量中以不标准的方法使用\\'"
+
+#: scan.l:1441
+#, c-format
+msgid ""
+"Use '' to write quotes in strings, or use the escape string syntax (E'...')."
+msgstr "使用''或者转义字符串语法(E'...')将字符串引起来."
+
+#: scan.l:1450
+#, c-format
+msgid "nonstandard use of \\\\ in a string literal"
+msgstr "在字符串常量中以不标准的方法使用\\\\ "
+
+#: scan.l:1451
+#, c-format
+msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'."
+msgstr "为反斜线使用转移字符串语法,例如.,E'\\\\'."
+
+#: scan.l:1465
+#, c-format
+msgid "nonstandard use of escape in a string literal"
+msgstr "在字符串常量中以不标准的方法使用转义字符"
+
+#: scan.l:1466
+#, c-format
+msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'."
+msgstr "对转移字符使用转义字符串语法,例如 E'\\r\\n'."
+
+#: snowball/dict_snowball.c:180
+#, c-format
+msgid "no Snowball stemmer available for language \"%s\" and encoding \"%s\""
+msgstr "对于语言\"%s\" 和编码\"%s\"来说,没有有效的Snowball stemmer "
+
+#: snowball/dict_snowball.c:203 tsearch/dict_ispell.c:73
+#: tsearch/dict_simple.c:48
+#, c-format
+msgid "multiple StopWords parameters"
+msgstr "多个 StopWords参数"
+
+#: snowball/dict_snowball.c:212
+#, c-format
+msgid "multiple Language parameters"
+msgstr "多语言参数"
+
+#: snowball/dict_snowball.c:219
+#, c-format
+msgid "unrecognized Snowball parameter: \"%s\""
+msgstr "未识别Snowball参数: \"%s\""
+
+#: snowball/dict_snowball.c:227
+#, c-format
+msgid "missing Language parameter"
+msgstr "缺少语言参数"
+
+#: storage/buffer/bufmgr.c:139 storage/buffer/bufmgr.c:252
+#, c-format
+msgid "cannot access temporary tables of other sessions"
+msgstr "无法访问其它会话的临时表"
+
+#: storage/buffer/bufmgr.c:401
+#, c-format
+msgid "unexpected data beyond EOF in block %u of relation %s"
msgstr "关系 \"%2$s\" 的块 %1$u 中的EOF后面出现未期望的数据"
-#: storage/buffer/bufmgr.c:380
+#: storage/buffer/bufmgr.c:403
#, c-format
msgid ""
"This has been seen to occur with buggy kernels; consider updating your "
"system."
msgstr "这是由于内核缺陷所致;请考虑更新您的操作系统."
-#: storage/buffer/bufmgr.c:466
-#, c-format
-msgid "invalid page header in block %u of relation %s; zeroing out page"
-msgstr "关系 \"%2$s\" 中的块 %1$u 无效的页头;正在对页进行清零操作"
-
-#: storage/buffer/bufmgr.c:474
+#: storage/buffer/bufmgr.c:493
#, c-format
-msgid "invalid page header in block %u of relation %s"
-msgstr "关系 \"%2$s\" 中的块 %1$u 无效的页头"
+#| msgid "invalid page header in block %u of relation %s; zeroing out page"
+msgid "invalid page in block %u of relation %s; zeroing out page"
+msgstr "关系 \"%2$s\" 中的块 %1$u 无效的页;正在对页进行清零操作"
-#: storage/buffer/bufmgr.c:2909
+#: storage/buffer/bufmgr.c:3178
#, c-format
msgid "could not write block %u of %s"
msgstr "无法写入%2$s的块%1$u"
-#: storage/buffer/bufmgr.c:2911
+#: storage/buffer/bufmgr.c:3180
#, c-format
msgid "Multiple failures --- write error might be permanent."
msgstr "多次失败 --- 写错误可能是永久性的"
-#: storage/buffer/bufmgr.c:2932 storage/buffer/bufmgr.c:2951
+#: storage/buffer/bufmgr.c:3201 storage/buffer/bufmgr.c:3220
#, c-format
msgid "writing block %u of relation %s"
msgstr "写入关系%2$s的块%1$u"
msgstr "没有可用的本地缓冲区"
# fe-misc.c:389 fe-misc.c:423 fe-misc.c:838
-#: storage/file/fd.c:416
+#: storage/file/fd.c:505
#, c-format
msgid "getrlimit failed: %m"
msgstr "函数getrlimit执行失败: %m"
-#: storage/file/fd.c:506
+#: storage/file/fd.c:595
#, c-format
msgid "insufficient file descriptors available to start server process"
msgstr "启动服务器进程的有效文件描述符不足"
-#: storage/file/fd.c:507
+#: storage/file/fd.c:596
#, c-format
msgid "System allows %d, we need at least %d."
msgstr "系统允许 %d, 我们至少需要 %d."
-#: storage/file/fd.c:548 storage/file/fd.c:1509 storage/file/fd.c:1625
+#: storage/file/fd.c:637 storage/file/fd.c:1671 storage/file/fd.c:1764
+#: storage/file/fd.c:1912
#, c-format
msgid "out of file descriptors: %m; release and retry"
msgstr "超出文件描述符: %m; 释放再重试"
-#: storage/file/fd.c:1108
+#: storage/file/fd.c:1211
#, c-format
msgid "temporary file: path \"%s\", size %lu"
msgstr "临时文件: 路径 \"%s\", 大小%lu"
-#: storage/file/fd.c:1257
+#: storage/file/fd.c:1360
#, c-format
msgid "temporary file size exceeds temp_file_limit (%dkB)"
msgstr "临时文件大小超过最大允许值temp_file_limit(%dkB)"
-#: storage/file/fd.c:1684
+#: storage/file/fd.c:1647 storage/file/fd.c:1697
+#, c-format
+msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\""
+msgstr "试图打开文件 \"%2$s\"超出了最大描述符范围值 (%1$d)"
+
+#: storage/file/fd.c:1737
+#, c-format
+msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\""
+msgstr "试图执行命令 \"%2$s\"时,超出了最大描述符范围值 (%1$d)"
+
+#: storage/file/fd.c:1888
+#, c-format
+msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\""
+msgstr "试图打开目录 \"%2$s\"时,超出了最大描述符范围值 (%1$d)"
+
+#: storage/file/fd.c:1961
#, c-format
msgid "could not read directory \"%s\": %m"
msgstr "无法读取目录 \"%s\": %m"
-#: storage/ipc/shmem.c:190 storage/lmgr/lock.c:848 storage/lmgr/lock.c:876
-#: storage/lmgr/lock.c:2486 storage/lmgr/lock.c:3122 storage/lmgr/lock.c:3600
-#: storage/lmgr/lock.c:3665 storage/lmgr/lock.c:3954
-#: storage/lmgr/predicate.c:2317 storage/lmgr/predicate.c:2332
-#: storage/lmgr/predicate.c:3728 storage/lmgr/predicate.c:4872
-#: storage/lmgr/proc.c:205 utils/hash/dynahash.c:960
+#: storage/ipc/dsm.c:363
+#, c-format
+msgid "dynamic shared memory control segment is corrupt"
+msgstr "动态共享内存控制段被毁坏"
+
+#: storage/ipc/dsm.c:410
+#, c-format
+msgid "dynamic shared memory is disabled"
+msgstr "动态共享内存被禁用"
+
+#: storage/ipc/dsm.c:411
+#, c-format
+msgid "Set dynamic_shared_memory_type to a value other than \"none\"."
+msgstr "设置 dynamic_shared_memory_type 的值为非 \"none\"."
+
+#: storage/ipc/dsm.c:431
+#, c-format
+msgid "dynamic shared memory control segment is not valid"
+msgstr "动态共享内存控制段无效"
+
+#: storage/ipc/dsm.c:501
+#, c-format
+#| msgid "could not create shared memory segment: %m"
+msgid "too many dynamic shared memory segments"
+msgstr "太多动态共享内存段"
+
+#: storage/ipc/dsm_impl.c:261 storage/ipc/dsm_impl.c:361
+#: storage/ipc/dsm_impl.c:533 storage/ipc/dsm_impl.c:648
+#: storage/ipc/dsm_impl.c:811 storage/ipc/dsm_impl.c:953
+#, c-format
+#| msgid "could not create shared memory segment: %m"
+msgid "could not unmap shared memory segment \"%s\": %m"
+msgstr "无法解除映射共享内存段 \"%s\": %m"
+
+#: storage/ipc/dsm_impl.c:271 storage/ipc/dsm_impl.c:543
+#: storage/ipc/dsm_impl.c:658 storage/ipc/dsm_impl.c:821
+#, c-format
+#| msgid "could not create shared memory segment: %m"
+msgid "could not remove shared memory segment \"%s\": %m"
+msgstr "无法删除共享内存段 \"%s\": %m"
+
+#: storage/ipc/dsm_impl.c:292 storage/ipc/dsm_impl.c:721
+#: storage/ipc/dsm_impl.c:835
+#, c-format
+#| msgid "could not create shared memory segment: %m"
+msgid "could not open shared memory segment \"%s\": %m"
+msgstr "无法打开共享内存段 \"%s\": %m"
+
+#: storage/ipc/dsm_impl.c:316 storage/ipc/dsm_impl.c:559
+#: storage/ipc/dsm_impl.c:766 storage/ipc/dsm_impl.c:859
+#, c-format
+#| msgid "could not create shared memory segment: %m"
+msgid "could not stat shared memory segment \"%s\": %m"
+msgstr "无法统计共享内存段 \"%s\": %m"
+
+#: storage/ipc/dsm_impl.c:335 storage/ipc/dsm_impl.c:878
+#: storage/ipc/dsm_impl.c:926
+#, c-format
+#| msgid "could not create shared memory segment: %m"
+msgid "could not resize shared memory segment \"%s\" to %zu bytes: %m"
+msgstr "无法重新设置共享内存段\"%s\"的大小为%zu字节: %m"
+
+#: storage/ipc/dsm_impl.c:385 storage/ipc/dsm_impl.c:580
+#: storage/ipc/dsm_impl.c:742 storage/ipc/dsm_impl.c:977
+#, c-format
+#| msgid "could not create shared memory segment: %m"
+msgid "could not map shared memory segment \"%s\": %m"
+msgstr "无法映射共享内存段 \"%s\": %m"
+
+#: storage/ipc/dsm_impl.c:515
+#, c-format
+#| msgid "could not create shared memory segment: %m"
+msgid "could not get shared memory segment: %m"
+msgstr "无法得到共享内存段: %m"
+
+#: storage/ipc/dsm_impl.c:694
+#, c-format
+#| msgid "could not create shared memory segment: %m"
+msgid "could not create shared memory segment \"%s\": %m"
+msgstr "无法创建共享内存段\"%s\": %m"
+
+#: storage/ipc/dsm_impl.c:1018
+#, c-format
+#| msgid "could not truncate file \"%s\": %m"
+msgid "could not duplicate handle for \"%s\": %m"
+msgstr "无法复制句柄 \"%s\": %m"
+
+#: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:189 storage/ipc/shmem.c:205
+#: storage/lmgr/lock.c:872 storage/lmgr/lock.c:906 storage/lmgr/lock.c:2601
+#: storage/lmgr/lock.c:3713 storage/lmgr/lock.c:3778 storage/lmgr/lock.c:4068
+#: storage/lmgr/predicate.c:2323 storage/lmgr/predicate.c:2338
+#: storage/lmgr/predicate.c:3731 storage/lmgr/predicate.c:4874
+#: storage/lmgr/proc.c:198 utils/hash/dynahash.c:966
#, c-format
msgid "out of shared memory"
msgstr "共享内存用尽"
-#: storage/ipc/shmem.c:346 storage/ipc/shmem.c:399
+#: storage/ipc/shmem.c:361 storage/ipc/shmem.c:412
#, c-format
+#| msgid ""
+#| "not enough shared memory for data structure \"%s\" (%lu bytes requested)"
msgid ""
-"not enough shared memory for data structure \"%s\" (%lu bytes requested)"
-msgstr "没有足够的共享内存提供给数据结构\"%s\" (需要%lu个字节)"
+"not enough shared memory for data structure \"%s\" (%zu bytes requested)"
+msgstr "没有足够的共享内存提供给数据结构\"%s\" (需要%zu个字节)"
-#: storage/ipc/shmem.c:365
+#: storage/ipc/shmem.c:380
#, c-format
msgid "could not create ShmemIndex entry for data structure \"%s\""
msgstr "无法为数据结构\"%s\"创建ShmemIndex项"
-#: storage/ipc/shmem.c:380
+#: storage/ipc/shmem.c:395
#, c-format
+#| msgid ""
+#| "ShmemIndex entry size is wrong for data structure \"%s\": expected %lu, "
+#| "actual %lu"
msgid ""
-"ShmemIndex entry size is wrong for data structure \"%s\": expected %lu, "
-"actual %lu"
+"ShmemIndex entry size is wrong for data structure \"%s\": expected %zu, "
+"actual %zu"
msgstr ""
-"对于数据结构\"%s\"来说ShmemIndex项的大小错误:所期望的值是%lu,实际的值是%lu"
+"对于数据结构\"%s\"来说ShmemIndex项的大小错误:所期望的值是%zu,实的值是%zu"
-#: storage/ipc/shmem.c:427 storage/ipc/shmem.c:446
+#: storage/ipc/shmem.c:440 storage/ipc/shmem.c:459
#, c-format
msgid "requested shared memory size overflows size_t"
msgstr "所要求的共享内存大小超过size_t"
-#: storage/ipc/standby.c:494 tcop/postgres.c:2919
+#: storage/ipc/standby.c:499 tcop/postgres.c:2952
#, c-format
msgid "canceling statement due to conflict with recovery"
msgstr "由于与恢复操作冲突,正在取消语句命令"
-#: storage/ipc/standby.c:495 tcop/postgres.c:2215
+#: storage/ipc/standby.c:500 tcop/postgres.c:2216
#, c-format
msgid "User transaction caused buffer deadlock with recovery."
msgstr "用户事务造成了恢复操作期间缓冲区的死锁"
-#: storage/large_object/inv_api.c:551 storage/large_object/inv_api.c:748
+#: storage/large_object/inv_api.c:203
+#, c-format
+msgid "pg_largeobject entry for OID %u, page %d has invalid data field size %d"
+msgstr "pg_largeobject 的 OID为 %u, 页号 %d , 数据域的大小 %d为无效值"
+
+#: storage/large_object/inv_api.c:284
+#, c-format
+#| msgid "invalid OID for large object (%u)\n"
+msgid "invalid flags for opening a large object: %d"
+msgstr "打开大对象的无效标记: %d"
+
+#: storage/large_object/inv_api.c:436
#, c-format
-msgid "large object %u was not opened for writing"
-msgstr "大对象%u无法打开来进行写操作"
+#| msgid "invalid escape string"
+msgid "invalid whence setting: %d"
+msgstr "无效的根源设置: %d"
-#: storage/large_object/inv_api.c:558 storage/large_object/inv_api.c:755
+#: storage/large_object/inv_api.c:591
#, c-format
-msgid "large object %u was already dropped"
-msgstr "大对象%u已经被删除"
+#| msgid "invalid large-object descriptor: %d"
+msgid "invalid large object write request size: %d"
+msgstr "无效的大对象写请求大小: %d"
#: storage/lmgr/deadlock.c:925
#, c-format
msgid "See server log for query details."
msgstr "详细信息请查看服务器日志."
-#: storage/lmgr/lmgr.c:675
+#: storage/lmgr/lmgr.c:599
+#, c-format
+#| msgid "writing block %u of relation %s"
+msgid "while updating tuple (%u,%u) in relation \"%s\""
+msgstr "当更新关系\"%3$s\"的元组(%1$u, %2$u)时"
+
+#: storage/lmgr/lmgr.c:602
+#, c-format
+#| msgid "writing block %u of relation %s"
+msgid "while deleting tuple (%u,%u) in relation \"%s\""
+msgstr "当删除关系\"%3$s\"的元组(%1$u, %2$u)时"
+
+#: storage/lmgr/lmgr.c:605
+#, c-format
+#| msgid "writing block %u of relation %s"
+msgid "while locking tuple (%u,%u) in relation \"%s\""
+msgstr "当锁定关系\"%3$s\"的元组(%1$u, %2$u)时"
+
+#: storage/lmgr/lmgr.c:608
+#, c-format
+msgid "while locking updated version (%u,%u) of tuple in relation \"%s\""
+msgstr "在锁定关系\"%3$s\"中的元组的更新版本 (%1$u,%2$u) 时"
+
+#: storage/lmgr/lmgr.c:611
+#, c-format
+msgid "while inserting index tuple (%u,%u) in relation \"%s\""
+msgstr "在往关系\"%3$s\"中插入索引元组 (%1$u,%2$u) 时"
+
+#: storage/lmgr/lmgr.c:614
+#, c-format
+msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\""
+msgstr "在检查关系\"%3$s\"中元组(%1$u, %2$u)的唯一性时"
+
+#: storage/lmgr/lmgr.c:617
+#, c-format
+msgid "while rechecking updated tuple (%u,%u) in relation \"%s\""
+msgstr "重新检查关系 \"%3$s\"中已更新的元组(%1$u, %2$u)时"
+
+#: storage/lmgr/lmgr.c:620
+#, c-format
+msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\""
+msgstr "在检查关系\"%3$s\"中的元组(%1$u, %2$u)的排它性依赖时"
+
+#: storage/lmgr/lmgr.c:840
#, c-format
msgid "relation %u of database %u"
msgstr "数据库%2$u的关系%1$u"
-#: storage/lmgr/lmgr.c:681
+#: storage/lmgr/lmgr.c:846
#, c-format
msgid "extension of relation %u of database %u"
msgstr "数据库%2$u的关系%1$u的扩展"
-#: storage/lmgr/lmgr.c:687
+#: storage/lmgr/lmgr.c:852
#, c-format
msgid "page %u of relation %u of database %u"
msgstr "数据库%3$u的关系%2$u的页%1$u"
-#: storage/lmgr/lmgr.c:694
+#: storage/lmgr/lmgr.c:859
#, c-format
msgid "tuple (%u,%u) of relation %u of database %u"
msgstr "数据库%4$u的关系%3$u中的元组(%1$u,%2$u)"
-#: storage/lmgr/lmgr.c:702
+#: storage/lmgr/lmgr.c:867
#, c-format
msgid "transaction %u"
msgstr "事务 %u"
# sql_help.h:101
# sql_help.h:413
-#: storage/lmgr/lmgr.c:707
+#: storage/lmgr/lmgr.c:872
#, c-format
msgid "virtual transaction %d/%u"
msgstr "虚拟事务 %d/%u"
-#: storage/lmgr/lmgr.c:713
+#: storage/lmgr/lmgr.c:878
#, c-format
msgid "object %u of class %u of database %u"
msgstr "数据库%3$u的类%2$u的对象%1$u"
-#: storage/lmgr/lmgr.c:721
+#: storage/lmgr/lmgr.c:886
#, c-format
msgid "user lock [%u,%u,%u]"
msgstr "用户锁[%u,%u,%u]"
-#: storage/lmgr/lmgr.c:728
+#: storage/lmgr/lmgr.c:893
#, c-format
msgid "advisory lock [%u,%u,%u,%u]"
msgstr "建议锁 [%u,%u,%u,%u]"
-#: storage/lmgr/lmgr.c:736
+#: storage/lmgr/lmgr.c:901
#, c-format
msgid "unrecognized locktag type %d"
msgstr "未知的locktag 类型 %d"
-#: storage/lmgr/lock.c:706
+#: storage/lmgr/lock.c:721
#, c-format
msgid ""
"cannot acquire lock mode %s on database objects while recovery is in progress"
msgstr "在恢复操作的过程中不能在数据库对象上获取锁模式%s"
-#: storage/lmgr/lock.c:708
+#: storage/lmgr/lock.c:723
#, c-format
msgid ""
"Only RowExclusiveLock or less can be acquired on database objects during "
"recovery."
msgstr "在恢复操作期间只有在数据对象上获取RowExclusiveLock或者更低级别的锁。"
-#: storage/lmgr/lock.c:849 storage/lmgr/lock.c:877 storage/lmgr/lock.c:2487
-#: storage/lmgr/lock.c:3601 storage/lmgr/lock.c:3666 storage/lmgr/lock.c:3955
+#: storage/lmgr/lock.c:873 storage/lmgr/lock.c:907 storage/lmgr/lock.c:2602
+#: storage/lmgr/lock.c:3714 storage/lmgr/lock.c:3779 storage/lmgr/lock.c:4069
#, c-format
msgid "You might need to increase max_locks_per_transaction."
msgstr "您可能需要增加参数max_locks_per_transaction."
-#: storage/lmgr/lock.c:2918 storage/lmgr/lock.c:3031
+#: storage/lmgr/lock.c:3039 storage/lmgr/lock.c:3151
#, c-format
msgid ""
"cannot PREPARE while holding both session-level and transaction-level locks "
"on the same object"
msgstr "在一个对象上同时拥有会话级和事务级锁时,无法执行PREPARE"
-#: storage/lmgr/lock.c:3123
-#, c-format
-msgid "Not enough memory for reassigning the prepared transaction's locks."
-msgstr "没有足够的内存用于为已准备好事务分配锁"
-
-#: storage/lmgr/predicate.c:668
+#: storage/lmgr/predicate.c:674
#, c-format
msgid "not enough elements in RWConflictPool to record a read/write conflict"
msgstr "RWConflictPool(读写冲突池)没有足够的元素来记录读/写冲突"
-#: storage/lmgr/predicate.c:669 storage/lmgr/predicate.c:697
+#: storage/lmgr/predicate.c:675 storage/lmgr/predicate.c:703
#, c-format
msgid ""
"You might need to run fewer transactions at a time or increase "
"max_connections."
msgstr "您可能需要每次执行更少的事务,要么增大max_connections值."
-#: storage/lmgr/predicate.c:696
+#: storage/lmgr/predicate.c:702
#, c-format
msgid ""
"not enough elements in RWConflictPool to record a potential read/write "
"conflict"
msgstr "RWConflictPool(读写冲突池)没有足够的元素来记录可能的读/写冲突"
-#: storage/lmgr/predicate.c:901
+#: storage/lmgr/predicate.c:907
#, c-format
msgid "memory for serializable conflict tracking is nearly exhausted"
msgstr "串行化冲突跟踪所需要的内存几乎耗尽"
-#: storage/lmgr/predicate.c:902
+#: storage/lmgr/predicate.c:908
#, c-format
msgid ""
"There might be an idle transaction or a forgotten prepared transaction "
"causing this."
msgstr "可能是由于空闲事务或者一个忘了准备的事务导致此问题."
-#: storage/lmgr/predicate.c:1184 storage/lmgr/predicate.c:1256
+#: storage/lmgr/predicate.c:1190 storage/lmgr/predicate.c:1262
#, c-format
+#| msgid ""
+#| "not enough shared memory for elements of data structure \"%s\" (%lu bytes "
+#| "requested)"
msgid ""
-"not enough shared memory for elements of data structure \"%s\" (%lu bytes "
+"not enough shared memory for elements of data structure \"%s\" (%zu bytes "
"requested)"
-msgstr "没有足够的共享内存供数据结构\"%s\"使用 (它需要%lu个字节)"
+msgstr "没有足够的共享内存供数据结构\"%s\"使用 (它需要%zu个字节)"
-#: storage/lmgr/predicate.c:1544
+#: storage/lmgr/predicate.c:1550
#, c-format
msgid "deferrable snapshot was unsafe; trying a new one"
msgstr "可延缓的快照不安全;请尝试使用新的快照"
-#: storage/lmgr/predicate.c:1583
+#: storage/lmgr/predicate.c:1589
#, c-format
msgid "\"default_transaction_isolation\" is set to \"serializable\"."
msgstr "\"default_transaction_isolation\"被设置为\"可串行化\"."
-#: storage/lmgr/predicate.c:1584
+#: storage/lmgr/predicate.c:1590
#, c-format
msgid ""
"You can use \"SET default_transaction_isolation = 'repeatable read'\" to "
"您可以使用 \"SET default_transaction_isolation = 'repeatable read'\"来改变缺"
"省值."
-#: storage/lmgr/predicate.c:1623
+#: storage/lmgr/predicate.c:1629
#, c-format
msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE"
msgstr "快照导入事务不能是可延缓的只读事务"
-#: storage/lmgr/predicate.c:1693 utils/time/snapmgr.c:282
+#: storage/lmgr/predicate.c:1699 utils/time/snapmgr.c:398
#, c-format
msgid "could not import the requested snapshot"
msgstr "无法导入请求的快照"
-#: storage/lmgr/predicate.c:1694 utils/time/snapmgr.c:283
+#: storage/lmgr/predicate.c:1700 utils/time/snapmgr.c:399
#, c-format
msgid "The source transaction %u is not running anymore."
msgstr "源事务 %u 不再运行."
-#: storage/lmgr/predicate.c:2318 storage/lmgr/predicate.c:2333
-#: storage/lmgr/predicate.c:3729
+#: storage/lmgr/predicate.c:2324 storage/lmgr/predicate.c:2339
+#: storage/lmgr/predicate.c:3732
#, c-format
msgid "You might need to increase max_pred_locks_per_transaction."
msgstr "您可能需要增大参数max_pred_locks_per_transaction的值."
-#: storage/lmgr/predicate.c:3883 storage/lmgr/predicate.c:3972
-#: storage/lmgr/predicate.c:3980 storage/lmgr/predicate.c:4019
-#: storage/lmgr/predicate.c:4258 storage/lmgr/predicate.c:4596
-#: storage/lmgr/predicate.c:4608 storage/lmgr/predicate.c:4650
-#: storage/lmgr/predicate.c:4688
+#: storage/lmgr/predicate.c:3886 storage/lmgr/predicate.c:3975
+#: storage/lmgr/predicate.c:3983 storage/lmgr/predicate.c:4022
+#: storage/lmgr/predicate.c:4261 storage/lmgr/predicate.c:4598
+#: storage/lmgr/predicate.c:4610 storage/lmgr/predicate.c:4652
+#: storage/lmgr/predicate.c:4690
#, c-format
msgid ""
"could not serialize access due to read/write dependencies among transactions"
msgstr "由于多个事务间的读/写依赖而无法串行访问"
-#: storage/lmgr/predicate.c:3885 storage/lmgr/predicate.c:3974
-#: storage/lmgr/predicate.c:3982 storage/lmgr/predicate.c:4021
-#: storage/lmgr/predicate.c:4260 storage/lmgr/predicate.c:4598
-#: storage/lmgr/predicate.c:4610 storage/lmgr/predicate.c:4652
-#: storage/lmgr/predicate.c:4690
+#: storage/lmgr/predicate.c:3888 storage/lmgr/predicate.c:3977
+#: storage/lmgr/predicate.c:3985 storage/lmgr/predicate.c:4024
+#: storage/lmgr/predicate.c:4263 storage/lmgr/predicate.c:4600
+#: storage/lmgr/predicate.c:4612 storage/lmgr/predicate.c:4654
+#: storage/lmgr/predicate.c:4692
#, c-format
msgid "The transaction might succeed if retried."
msgstr "该事务如果重试,有可能成功."
-#: storage/lmgr/proc.c:1128
+#: storage/lmgr/proc.c:1172
#, c-format
msgid "Process %d waits for %s on %s."
msgstr "进程%1$d等待在%3$s上的%2$s"
-#: storage/lmgr/proc.c:1138
+#: storage/lmgr/proc.c:1182
#, c-format
msgid "sending cancel to blocking autovacuum PID %d"
msgstr "向阻塞的自动清理(autovacuum)进程%d发送取消(cancel)请求"
-#: storage/lmgr/proc.c:1150 utils/adt/misc.c:134
+#: storage/lmgr/proc.c:1194 utils/adt/misc.c:136
#, c-format
msgid "could not send signal to process %d: %m"
msgstr "无法发送信号到进程 %d: %m"
-#: storage/lmgr/proc.c:1184
+#: storage/lmgr/proc.c:1293
#, c-format
msgid ""
"process %d avoided deadlock for %s on %s by rearranging queue order after "
msgstr ""
"进程%1$d在%4$ld.%5$03d ms通过重新安排序列顺序来避免在%3$s上的%2$s的死锁"
-#: storage/lmgr/proc.c:1196
+#: storage/lmgr/proc.c:1308
#, c-format
msgid ""
"process %d detected deadlock while waiting for %s on %s after %ld.%03d ms"
msgstr "进程%1$d在%4$ld.%5$03d ms等待在%3$s上的%2$s同时监测到死锁"
-#: storage/lmgr/proc.c:1202
+#: storage/lmgr/proc.c:1317
#, c-format
msgid "process %d still waiting for %s on %s after %ld.%03d ms"
msgstr "进程%1$d在%4$ld.%5$03d ms仍然等待在%3$s上的%2$s"
-#: storage/lmgr/proc.c:1206
+#: storage/lmgr/proc.c:1324
#, c-format
msgid "process %d acquired %s on %s after %ld.%03d ms"
msgstr "进程%1$d在%4$ld.%5$03d ms后获取在%3$s上的%2$s"
-#: storage/lmgr/proc.c:1222
+#: storage/lmgr/proc.c:1340
#, c-format
msgid "process %d failed to acquire %s on %s after %ld.%03d ms"
msgstr "进程%1$d在%4$ld.%5$03d ms后获取在%3$s上的%2$s失败"
-#: storage/page/bufpage.c:142 storage/page/bufpage.c:389
-#: storage/page/bufpage.c:622 storage/page/bufpage.c:752
+#: storage/page/bufpage.c:144
+#, c-format
+msgid "page verification failed, calculated checksum %u but expected %u"
+msgstr "页校验失败,计算出的校验和为%u,但期望值是%u"
+
+#: storage/page/bufpage.c:200 storage/page/bufpage.c:459
+#: storage/page/bufpage.c:691 storage/page/bufpage.c:823
#, c-format
msgid "corrupted page pointers: lower = %u, upper = %u, special = %u"
msgstr "已损坏的页指针:低位=%u, 高位=%u, 特定=%u"
-#: storage/page/bufpage.c:432
+#: storage/page/bufpage.c:503
#, c-format
msgid "corrupted item pointer: %u"
msgstr "已损坏的成员指针: %u"
-#: storage/page/bufpage.c:443 storage/page/bufpage.c:804
+#: storage/page/bufpage.c:514 storage/page/bufpage.c:874
#, c-format
msgid "corrupted item lengths: total %u, available space %u"
msgstr "已损坏的成员长度: 总长度%u,可有效使用的空间%u"
-#: storage/page/bufpage.c:641 storage/page/bufpage.c:777
+#: storage/page/bufpage.c:710 storage/page/bufpage.c:847
#, c-format
msgid "corrupted item pointer: offset = %u, size = %u"
msgstr "已损坏的成员指针: 偏移量 = %u, 大小 = %u"
-#: storage/smgr/md.c:419 storage/smgr/md.c:890
+#: storage/smgr/md.c:426 storage/smgr/md.c:897
#, c-format
msgid "could not truncate file \"%s\": %m"
msgstr "无法截断文件 \"%s\": %m"
-#: storage/smgr/md.c:486
+#: storage/smgr/md.c:493
#, c-format
msgid "cannot extend file \"%s\" beyond %u blocks"
msgstr "扩展文件\"%s\"的大小不能超过%u个数据块"
-#: storage/smgr/md.c:508 storage/smgr/md.c:669 storage/smgr/md.c:744
+#: storage/smgr/md.c:515 storage/smgr/md.c:676 storage/smgr/md.c:751
#, c-format
msgid "could not seek to block %u in file \"%s\": %m"
msgstr "无法在文件\"%2$s\"中查找到数据块%1$u: %3$m"
-#: storage/smgr/md.c:516
+#: storage/smgr/md.c:523
#, c-format
msgid "could not extend file \"%s\": %m"
msgstr "无法扩展文件 \"%s\": %m"
-#: storage/smgr/md.c:518 storage/smgr/md.c:525 storage/smgr/md.c:771
+#: storage/smgr/md.c:525 storage/smgr/md.c:532 storage/smgr/md.c:778
#, c-format
msgid "Check free disk space."
msgstr "检查空闲磁盘控件."
-#: storage/smgr/md.c:522
+#: storage/smgr/md.c:529
#, c-format
msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
msgstr "无法扩展文件\"%1$s\": 只能在块%4$u上写%3$d字节的%2$d"
-#: storage/smgr/md.c:687
+#: storage/smgr/md.c:694
#, c-format
msgid "could not read block %u in file \"%s\": %m"
msgstr "无法在文件\"%2$s\"中读取块%1$u: %3$m"
-#: storage/smgr/md.c:703
+#: storage/smgr/md.c:710
#, c-format
msgid "could not read block %u in file \"%s\": read only %d of %d bytes"
msgstr "无法读取文件\"%2$s\"的块%1$u:只读取了%4$d字节的%3$d"
-#: storage/smgr/md.c:762
+#: storage/smgr/md.c:769
#, c-format
msgid "could not write block %u in file \"%s\": %m"
msgstr "无法在文件 \"%2$s\"中写入块%1$u: %3$m"
-#: storage/smgr/md.c:767
+#: storage/smgr/md.c:774
#, c-format
msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes"
msgstr "无法对文件\"%2$s\"写操作数据块%1$u: 只写了%4$d字节的%3$d"
-#: storage/smgr/md.c:866
+#: storage/smgr/md.c:873
#, c-format
msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now"
msgstr "无法将文件\"%s\"截断到%u个数据块;它现在只有%u个数据块"
-#: storage/smgr/md.c:915
+#: storage/smgr/md.c:922
#, c-format
msgid "could not truncate file \"%s\" to %u blocks: %m"
msgstr "无法将文件\"%s\"截断到%u个数据块: %m"
-#: storage/smgr/md.c:1195
+#: storage/smgr/md.c:1202
#, c-format
msgid "could not fsync file \"%s\" but retrying: %m"
msgstr "无法对文件\"%s\"进行fsync操作但是正在重新尝试: %m"
-#: storage/smgr/md.c:1358
+#: storage/smgr/md.c:1365
#, c-format
msgid "could not forward fsync request because request queue is full"
msgstr "请求队列已满,无法转发fsync请求"
-#: storage/smgr/md.c:1755
+#: storage/smgr/md.c:1760
#, c-format
msgid "could not open file \"%s\" (target block %u): %m"
msgstr "无法打开文件\"%s\"(目标数据块%u): %m"
-#: storage/smgr/md.c:1777
-#, c-format
-msgid "could not seek to end of file \"%s\": %m"
-msgstr "无法查找到文件\"%s\"的末端: %m"
-
-#: tcop/fastpath.c:109 tcop/fastpath.c:498 tcop/fastpath.c:628
+#: tcop/fastpath.c:111 tcop/fastpath.c:502 tcop/fastpath.c:632
#, c-format
msgid "invalid argument size %d in function call message"
msgstr "在函数调用信息中, 参数大小 %d 是无效的"
-#: tcop/fastpath.c:302 tcop/postgres.c:360 tcop/postgres.c:396
+#: tcop/fastpath.c:304 tcop/postgres.c:353 tcop/postgres.c:389
#, c-format
msgid "unexpected EOF on client connection"
msgstr "在客户端联接上的意外 EOF"
-#: tcop/fastpath.c:316 tcop/postgres.c:945 tcop/postgres.c:1255
-#: tcop/postgres.c:1513 tcop/postgres.c:1916 tcop/postgres.c:2283
-#: tcop/postgres.c:2358
+#: tcop/fastpath.c:318 tcop/postgres.c:944 tcop/postgres.c:1254
+#: tcop/postgres.c:1512 tcop/postgres.c:1917 tcop/postgres.c:2284
+#: tcop/postgres.c:2359
#, c-format
msgid ""
"current transaction is aborted, commands ignored until end of transaction "
"block"
msgstr "当前事务被终止, 事务块结束之前的查询被忽略"
-#: tcop/fastpath.c:344
+#: tcop/fastpath.c:346
#, c-format
msgid "fastpath function call: \"%s\" (OID %u)"
msgstr "快捷路径函数调用: \"%s\" (OID %u)"
-#: tcop/fastpath.c:424 tcop/postgres.c:1115 tcop/postgres.c:1380
-#: tcop/postgres.c:1757 tcop/postgres.c:1974
+#: tcop/fastpath.c:428 tcop/postgres.c:1114 tcop/postgres.c:1379
+#: tcop/postgres.c:1758 tcop/postgres.c:1975
#, c-format
msgid "duration: %s ms"
msgstr "执行时间: %s ms"
-#: tcop/fastpath.c:428
+#: tcop/fastpath.c:432
#, c-format
msgid "duration: %s ms fastpath function call: \"%s\" (OID %u)"
msgstr "持续时间: %s ms 快速路经的函数调用: \"%s\" (OID %u)"
-#: tcop/fastpath.c:466 tcop/fastpath.c:593
+#: tcop/fastpath.c:470 tcop/fastpath.c:597
#, c-format
msgid "function call message contains %d arguments but function requires %d"
msgstr "函数调用信息包含 %d 个参数, 但函数需要 %d 个"
-#: tcop/fastpath.c:474
+#: tcop/fastpath.c:478
#, c-format
msgid "function call message contains %d argument formats but %d arguments"
msgstr "函数调用信息为包含 %d 个参数的格式, 但给定了 %d 个参数"
-#: tcop/fastpath.c:561 tcop/fastpath.c:644
+#: tcop/fastpath.c:565 tcop/fastpath.c:648
#, c-format
msgid "incorrect binary data format in function argument %d"
msgstr "函数参数 %d 为不正确的二进制数据格式"
-#: tcop/postgres.c:424 tcop/postgres.c:436 tcop/postgres.c:447
-#: tcop/postgres.c:459 tcop/postgres.c:4184
+#: tcop/postgres.c:417 tcop/postgres.c:429 tcop/postgres.c:440
+#: tcop/postgres.c:452 tcop/postgres.c:4254
#, c-format
msgid "invalid frontend message type %d"
msgstr "无效前端信息类型 %d"
-#: tcop/postgres.c:886
+#: tcop/postgres.c:885
#, c-format
msgid "statement: %s"
msgstr "语句: %s"
-#: tcop/postgres.c:1120
+#: tcop/postgres.c:1119
#, c-format
msgid "duration: %s ms statement: %s"
msgstr "执行时间: %s ms 语句: %s"
# common.c:170
# copy.c:530
# copy.c:575
-#: tcop/postgres.c:1170
+#: tcop/postgres.c:1169
#, c-format
msgid "parse %s: %s"
msgstr "解析 %s: %s"
-#: tcop/postgres.c:1228
+#: tcop/postgres.c:1227
#, c-format
msgid "cannot insert multiple commands into a prepared statement"
msgstr "无法插入多条命令到一个准备好的语句中"
-#: tcop/postgres.c:1385
+#: tcop/postgres.c:1384
#, c-format
msgid "duration: %s ms parse %s: %s"
msgstr "执行时间: %s ms 解析 %s: %s"
-#: tcop/postgres.c:1430
+#: tcop/postgres.c:1429
#, c-format
msgid "bind %s to %s"
msgstr "将%s绑定到%s"
-#: tcop/postgres.c:1449 tcop/postgres.c:2264
+#: tcop/postgres.c:1448 tcop/postgres.c:2265
#, c-format
msgid "unnamed prepared statement does not exist"
msgstr "未命名的准备语句不存在"
-#: tcop/postgres.c:1491
+#: tcop/postgres.c:1490
#, c-format
msgid "bind message has %d parameter formats but %d parameters"
msgstr "绑定信息有%d个参数格式,但是实际上有%d个参数"
-#: tcop/postgres.c:1497
+#: tcop/postgres.c:1496
#, c-format
msgid ""
"bind message supplies %d parameters, but prepared statement \"%s\" requires "
"%d"
msgstr "绑定消息提供了%d个参数,但是已准备好语句\"%s\" 要求%d个参数"
-#: tcop/postgres.c:1664
+#: tcop/postgres.c:1665
#, c-format
msgid "incorrect binary data format in bind parameter %d"
msgstr "在绑定参数%d中出现不正确的二进制数据"
-#: tcop/postgres.c:1762
+#: tcop/postgres.c:1763
#, c-format
msgid "duration: %s ms bind %s%s%s: %s"
msgstr "执行时间: %s ms 绑定%s%s%s: %s"
-#: tcop/postgres.c:1810 tcop/postgres.c:2344
+#: tcop/postgres.c:1811 tcop/postgres.c:2345
#, c-format
msgid "portal \"%s\" does not exist"
msgstr "入口 \"%s\" 不存在"
-#: tcop/postgres.c:1895
+#: tcop/postgres.c:1896
#, c-format
msgid "%s %s%s%s: %s"
msgstr "%s %s%s%s: %s"
-#: tcop/postgres.c:1897 tcop/postgres.c:1982
+#: tcop/postgres.c:1898 tcop/postgres.c:1983
msgid "execute fetch from"
msgstr "执行FETCH操作"
-#: tcop/postgres.c:1898 tcop/postgres.c:1983
+#: tcop/postgres.c:1899 tcop/postgres.c:1984
msgid "execute"
msgstr "执行"
-#: tcop/postgres.c:1979
+#: tcop/postgres.c:1980
#, c-format
msgid "duration: %s ms %s %s%s%s: %s"
msgstr "执行时间: %s ms %s%s%s%s: %s"
-#: tcop/postgres.c:2105
+#: tcop/postgres.c:2106
#, c-format
msgid "prepare: %s"
msgstr "准备: %s"
-#: tcop/postgres.c:2168
+#: tcop/postgres.c:2169
#, c-format
msgid "parameters: %s"
msgstr "参数: %s"
-#: tcop/postgres.c:2187
+#: tcop/postgres.c:2188
#, c-format
msgid "abort reason: recovery conflict"
msgstr "中断原因:与恢复操作相冲突"
-#: tcop/postgres.c:2203
+#: tcop/postgres.c:2204
#, c-format
msgid "User was holding shared buffer pin for too long."
msgstr "用户所持有共享缓存锁的时间太长了."
-#: tcop/postgres.c:2206
+#: tcop/postgres.c:2207
#, c-format
msgid "User was holding a relation lock for too long."
msgstr "用户对一个关系正在持有的锁的时间太长了."
-#: tcop/postgres.c:2209
+#: tcop/postgres.c:2210
#, c-format
msgid "User was or might have been using tablespace that must be dropped."
msgstr "用户正在使用一个必须被删除的表空间"
-#: tcop/postgres.c:2212
+#: tcop/postgres.c:2213
#, c-format
msgid "User query might have needed to see row versions that must be removed."
msgstr "用户查询可能需要看到而必须被删除的行版本号"
# large_obj.c:36
-#: tcop/postgres.c:2218
+#: tcop/postgres.c:2219
#, c-format
msgid "User was connected to a database that must be dropped."
msgstr "用户连接到必须被删除的数据库"
-#: tcop/postgres.c:2540
+#: tcop/postgres.c:2548
#, c-format
msgid "terminating connection because of crash of another server process"
msgstr "中断联接, 因为其它服务器进程崩溃"
-#: tcop/postgres.c:2541
+#: tcop/postgres.c:2549
#, c-format
msgid ""
"The postmaster has commanded this server process to roll back the current "
"Postmaster 命令此服务器进程回滚当前事物并退出, 因为其它服务器进程不正常的退出"
"可能毁坏了共享内存."
-#: tcop/postgres.c:2545 tcop/postgres.c:2914
+#: tcop/postgres.c:2553 tcop/postgres.c:2947
#, c-format
msgid ""
"In a moment you should be able to reconnect to the database and repeat your "
"command."
msgstr "一会儿你将可以重联接数据库并且重复你的命令."
-#: tcop/postgres.c:2658
+#: tcop/postgres.c:2666
#, c-format
msgid "floating-point exception"
msgstr "浮点异常"
-#: tcop/postgres.c:2659
+#: tcop/postgres.c:2667
#, c-format
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:2833
+#: tcop/postgres.c:2851
#, c-format
msgid "terminating autovacuum process due to administrator command"
msgstr "由于管理员命令中断autovacuum进程"
-#: tcop/postgres.c:2839 tcop/postgres.c:2849 tcop/postgres.c:2912
+#: tcop/postgres.c:2857 tcop/postgres.c:2867 tcop/postgres.c:2945
#, c-format
msgid "terminating connection due to conflict with recovery"
msgstr "由于与恢复操作相冲突而中断连接"
-#: tcop/postgres.c:2855
+#: tcop/postgres.c:2873
#, c-format
msgid "terminating connection due to administrator command"
msgstr "由于管理员命令中断联接"
# common.c:298
-#: tcop/postgres.c:2867
+#: tcop/postgres.c:2885
#, c-format
msgid "connection to client lost"
msgstr "丢失了到客户端的连接"
-#: tcop/postgres.c:2882
+#: tcop/postgres.c:2900
#, c-format
msgid "canceling authentication due to timeout"
msgstr "由于超时,正在取消认证鉴权命令"
-#: tcop/postgres.c:2891
+#: tcop/postgres.c:2915
+#, c-format
+#| msgid "canceling statement due to statement timeout"
+msgid "canceling statement due to lock timeout"
+msgstr "由于锁超时,取消语句操作"
+
+#: tcop/postgres.c:2924
#, c-format
msgid "canceling statement due to statement timeout"
msgstr "由于语句执行超时,正在取消查询命令"
-#: tcop/postgres.c:2900
+#: tcop/postgres.c:2933
#, c-format
msgid "canceling autovacuum task"
msgstr "正在取消自动清理任务"
-#: tcop/postgres.c:2935
+#: tcop/postgres.c:2968
#, c-format
msgid "canceling statement due to user request"
msgstr "由于用户请求而正在取消查询"
-#: tcop/postgres.c:3063 tcop/postgres.c:3085
+#: tcop/postgres.c:3096 tcop/postgres.c:3118
#, c-format
msgid "stack depth limit exceeded"
msgstr "堆栈深度超过限制"
-#: tcop/postgres.c:3064 tcop/postgres.c:3086
+#: tcop/postgres.c:3097 tcop/postgres.c:3119
#, c-format
msgid ""
"Increase the configuration parameter \"max_stack_depth\" (currently %dkB), "
"在确定了平台的堆栈深度限制是足够大后,增加配置参数 \"max_stack_depth\"的值(当"
"前值为%dkB)."
-#: tcop/postgres.c:3102
+#: tcop/postgres.c:3135
#, c-format
msgid "\"max_stack_depth\" must not exceed %ldkB."
msgstr "\"max_stack_depth\"不能超过%ldkB."
-#: tcop/postgres.c:3104
+#: tcop/postgres.c:3137
#, c-format
msgid ""
"Increase the platform's stack depth limit via \"ulimit -s\" or local "
"equivalent."
msgstr "通过命令\"ulimit -s\"或本地相同的命令来增加平台的堆栈深度限制."
-#: tcop/postgres.c:3467
+#: tcop/postgres.c:3501
#, c-format
msgid "invalid command-line argument for server process: %s"
msgstr "服务器进程:%s的无效命令行参数"
-#: tcop/postgres.c:3468 tcop/postgres.c:3474
+#: tcop/postgres.c:3502 tcop/postgres.c:3508
#, c-format
msgid "Try \"%s --help\" for more information."
msgstr "请用 \"%s --help\" 获取更多的信息."
-#: tcop/postgres.c:3472
+#: tcop/postgres.c:3506
#, c-format
msgid "%s: invalid command-line argument: %s"
msgstr "%s: 无效的命令行参数:%s"
-#: tcop/postgres.c:3559
+#: tcop/postgres.c:3585
#, c-format
msgid "%s: no database nor user name specified"
msgstr "%s: 没有指定数据库, 也没有指定用户名"
-#: tcop/postgres.c:4094
+#: tcop/postgres.c:4162
#, c-format
msgid "invalid CLOSE message subtype %d"
msgstr "无效的 CLOSE 信息子类型 %d"
-#: tcop/postgres.c:4127
+#: tcop/postgres.c:4197
#, c-format
msgid "invalid DESCRIBE message subtype %d"
msgstr "无效的 DESCRIBE 信息子类型 %d"
-#: tcop/postgres.c:4361
+#: tcop/postgres.c:4275
+#, c-format
+#| msgid "cast function must not be an aggregate function"
+msgid "fastpath function calls not supported in a replication connection"
+msgstr "复制连接不能使用fastpath函数调用"
+
+#: tcop/postgres.c:4279
+#, c-format
+msgid "extended query protocol not supported in a replication connection"
+msgstr "扩展的查询协议在复制连接里不支持"
+
+#: tcop/postgres.c:4449
#, c-format
msgid ""
"disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s"
"%s"
msgstr "断开连接: 会话时间: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s"
-#: tcop/pquery.c:661
+#: tcop/pquery.c:662
#, c-format
msgid "bind message has %d result formats but query has %d columns"
msgstr "绑定信息有%d个结果格式,但是在查询中有%d列."
-#: tcop/pquery.c:970
+#: tcop/pquery.c:972
#, c-format
msgid "cursor can only scan forward"
msgstr "游标能够只向前扫描"
-#: tcop/pquery.c:971
+#: tcop/pquery.c:973
#, c-format
msgid "Declare it with SCROLL option to enable backward scan."
msgstr "带 SCROLL 选项声明允许向后扫描"
#. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:254
+#: tcop/utility.c:227
#, c-format
msgid "cannot execute %s in a read-only transaction"
msgstr "不能在一个只读模式的事务中执行%s"
#. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:273
+#: tcop/utility.c:246
#, c-format
msgid "cannot execute %s during recovery"
msgstr "无法在恢复期间执行%s"
#. translator: %s is name of a SQL command, eg PREPARE
-#: tcop/utility.c:291
+#: tcop/utility.c:264
#, c-format
msgid "cannot execute %s within security-restricted operation"
msgstr "无法在安全限制操作中执行%s"
-#: tcop/utility.c:1119
+#: tcop/utility.c:728
#, c-format
msgid "must be superuser to do CHECKPOINT"
msgstr "只有超级用户可以做 CHECKPOINT"
-#: tsearch/dict_ispell.c:51 tsearch/dict_thesaurus.c:614
+#: tsearch/dict_ispell.c:51 tsearch/dict_thesaurus.c:623
#, c-format
msgid "multiple DictFile parameters"
msgstr "多个DictFile参数"
msgid "missing AffFile parameter"
msgstr "丢失AffFile参数"
-#: tsearch/dict_ispell.c:101 tsearch/dict_thesaurus.c:638
+#: tsearch/dict_ispell.c:101 tsearch/dict_thesaurus.c:647
#, c-format
msgid "missing DictFile parameter"
msgstr "丢失DictFile参数"
msgid "could not open synonym file \"%s\": %m"
msgstr "无法打开synonym文件 \"%s\": %m"
-#: tsearch/dict_thesaurus.c:179
+#: tsearch/dict_thesaurus.c:178
#, c-format
msgid "could not open thesaurus file \"%s\": %m"
msgstr "无法打开同义词词典文件 \"%s\": %m"
-#: tsearch/dict_thesaurus.c:212
+#: tsearch/dict_thesaurus.c:211
#, c-format
msgid "unexpected delimiter"
msgstr "意外出现的分隔符"
-#: tsearch/dict_thesaurus.c:262 tsearch/dict_thesaurus.c:278
+#: tsearch/dict_thesaurus.c:261 tsearch/dict_thesaurus.c:277
#, c-format
msgid "unexpected end of line or lexeme"
msgstr "意外出现的行或词汇末尾"
-#: tsearch/dict_thesaurus.c:287
+#: tsearch/dict_thesaurus.c:286
#, c-format
msgid "unexpected end of line"
msgstr "意外的输入末尾"
-#: tsearch/dict_thesaurus.c:411
+#: tsearch/dict_thesaurus.c:296
+#, c-format
+#| msgid "too many levels in nested structure/union definition"
+msgid "too many lexemes in thesaurus entry"
+msgstr "辞典项里有大多的语义"
+
+#: tsearch/dict_thesaurus.c:420
#, c-format
msgid ""
"thesaurus sample word \"%s\" isn't recognized by subdictionary (rule %d)"
msgstr "(规则 %2$d)子字典没有识别同义词字典样例词\"%1$s\" "
-#: tsearch/dict_thesaurus.c:417
+#: tsearch/dict_thesaurus.c:426
#, c-format
msgid "thesaurus sample word \"%s\" is a stop word (rule %d)"
msgstr "(规则 %2$d)同义词字典样例词\"%1$s\"是一个终止词. "
-#: tsearch/dict_thesaurus.c:420
+#: tsearch/dict_thesaurus.c:429
#, c-format
msgid "Use \"?\" to represent a stop word within a sample phrase."
msgstr "在示例短语中使用\"?\" 来代表一个结束词."
-#: tsearch/dict_thesaurus.c:566
+#: tsearch/dict_thesaurus.c:575
#, c-format
msgid "thesaurus substitute word \"%s\" is a stop word (rule %d)"
msgstr "(规则 %2$d)同义词字典替代词\"%1$s\"是一个终止词. "
-#: tsearch/dict_thesaurus.c:573
+#: tsearch/dict_thesaurus.c:582
#, c-format
msgid ""
"thesaurus substitute word \"%s\" isn't recognized by subdictionary (rule %d)"
msgstr "(规则 %2$d)子字典没有识别同义词字典替代词\"%1$s\""
-#: tsearch/dict_thesaurus.c:585
+#: tsearch/dict_thesaurus.c:594
#, c-format
msgid "thesaurus substitute phrase is empty (rule %d)"
msgstr "(规则 %d)同义词字典替代短语是空的"
-#: tsearch/dict_thesaurus.c:623
+#: tsearch/dict_thesaurus.c:632
#, c-format
msgid "multiple Dictionary parameters"
msgstr "多个字典参数"
-#: tsearch/dict_thesaurus.c:630
+#: tsearch/dict_thesaurus.c:639
#, c-format
msgid "unrecognized Thesaurus parameter: \"%s\""
msgstr "未识别的同义词字典参数 \"%s\""
-#: tsearch/dict_thesaurus.c:642
+#: tsearch/dict_thesaurus.c:651
#, c-format
msgid "missing Dictionary parameter"
msgstr "丢失字典参数"
msgid "could not open dictionary file \"%s\": %m"
msgstr "无法打开字典文件 \"%s\": %m"
-#: tsearch/spell.c:439 utils/adt/regexp.c:194
+#: tsearch/spell.c:439 utils/adt/regexp.c:204
#, c-format
msgid "invalid regular expression: %s"
msgstr "无效的正则表达式: %s"
-#: tsearch/spell.c:518 tsearch/spell.c:535 tsearch/spell.c:552
-#: tsearch/spell.c:569 tsearch/spell.c:591 gram.y:12896 gram.y:12913
-#, c-format
-msgid "syntax error"
-msgstr "语法错误"
-
-#: tsearch/spell.c:596 tsearch/spell.c:842 tsearch/spell.c:862
+#: tsearch/spell.c:596
#, c-format
msgid "multibyte flag character is not allowed"
msgstr "不允许使用多字节标志字符"
-#: tsearch/spell.c:629 tsearch/spell.c:687 tsearch/spell.c:780
+#: tsearch/spell.c:632 tsearch/spell.c:690 tsearch/spell.c:787
#, c-format
msgid "could not open affix file \"%s\": %m"
msgstr "无法打开affix文件 \"%s\": %m"
-#: tsearch/spell.c:675
+#: tsearch/spell.c:678
#, c-format
msgid "Ispell dictionary supports only default flag value"
msgstr "Ispell 字典只支持缺省标记值"
-#: tsearch/spell.c:873
+#: tsearch/spell.c:901
#, c-format
-msgid "wrong affix file format for flag"
-msgstr "对于标志的词缀文件格式错误"
+msgid "affix file contains both old-style and new-style commands"
+msgstr "附加文件同时包含老式和新式命令"
-#: tsearch/to_tsany.c:163 utils/adt/tsvector.c:269 utils/adt/tsvector_op.c:530
+#: tsearch/to_tsany.c:163 utils/adt/tsvector.c:270 utils/adt/tsvector_op.c:530
#, c-format
msgid "string is too long for tsvector (%d bytes, max %d bytes)"
msgstr "字符串对于tsvector来说太长了(当前 %d字节, 最大允许值是%d字节)"
msgid "line %d of configuration file \"%s\": \"%s\""
msgstr "配置文件\"%2$s\"的第%1$d行: \"%3$s\""
-#: tsearch/ts_locale.c:302
+#: tsearch/ts_locale.c:299
#, c-format
msgid "conversion from wchar_t to server encoding failed: %m"
msgstr "从wchar_t转换到服务器编码失败: %m"
msgid "invalid text search configuration file name \"%s\""
msgstr "无效的文本搜索配置文件名\"%s\""
-#: tsearch/ts_utils.c:89
+#: tsearch/ts_utils.c:83
#, c-format
msgid "could not open stop-word file \"%s\": %m"
msgstr "无法打开stop-word 文件 \"%s\": %m"
msgid "text search parser does not support headline creation"
msgstr "文本搜索解析器不支持标题创建"
-#: tsearch/wparser_def.c:2551
+#: tsearch/wparser_def.c:2555
#, c-format
msgid "unrecognized headline parameter: \"%s\""
msgstr "未识别的标题参数: \"%s\""
-#: tsearch/wparser_def.c:2560
+#: tsearch/wparser_def.c:2564
#, c-format
msgid "MinWords should be less than MaxWords"
msgstr "MinWords的值应该小于MaxWords的值"
-#: tsearch/wparser_def.c:2564
+#: tsearch/wparser_def.c:2568
#, c-format
msgid "MinWords should be positive"
msgstr "MinWord应该是正数."
-#: tsearch/wparser_def.c:2568
+#: tsearch/wparser_def.c:2572
#, c-format
msgid "ShortWord should be >= 0"
msgstr "ShortWord应该大于等于0"
-#: tsearch/wparser_def.c:2572
+#: tsearch/wparser_def.c:2576
#, c-format
msgid "MaxFragments should be >= 0"
msgstr "MaxFragments应该大于等于0"
-#: utils/adt/acl.c:168 utils/adt/name.c:91
+#: utils/adt/acl.c:170 utils/adt/name.c:91
#, c-format
msgid "identifier too long"
msgstr "标识符太长"
-#: utils/adt/acl.c:169 utils/adt/name.c:92
+#: utils/adt/acl.c:171 utils/adt/name.c:92
#, c-format
msgid "Identifier must be less than %d characters."
msgstr "标识符必须小于 %d 个字符."
-#: utils/adt/acl.c:255
+#: utils/adt/acl.c:257
#, c-format
msgid "unrecognized key word: \"%s\""
msgstr "未知的键值: \"%s\""
-#: utils/adt/acl.c:256
+#: utils/adt/acl.c:258
#, c-format
msgid "ACL key word must be \"group\" or \"user\"."
msgstr "ACL 键值必须为 \"group\" 或者 \"user\"."
-#: utils/adt/acl.c:261
+#: utils/adt/acl.c:263
#, c-format
msgid "missing name"
msgstr "缺少名字"
-#: utils/adt/acl.c:262
+#: utils/adt/acl.c:264
#, c-format
msgid "A name must follow the \"group\" or \"user\" key word."
msgstr "一个名字必须为 \"group\" 或者 \"user\" 键值."
-#: utils/adt/acl.c:268
+#: utils/adt/acl.c:270
#, c-format
msgid "missing \"=\" sign"
msgstr "缺少 \"=\" 符号"
-#: utils/adt/acl.c:321
+#: utils/adt/acl.c:323
#, c-format
msgid "invalid mode character: must be one of \"%s\""
msgstr "无效的模式字符: 必须是 \"%s\" 其中的一个"
-#: utils/adt/acl.c:343
+#: utils/adt/acl.c:345
#, c-format
msgid "a name must follow the \"/\" sign"
msgstr "名字必须再 \"/\" 符号后"
-#: utils/adt/acl.c:351
+#: utils/adt/acl.c:353
#, c-format
msgid "defaulting grantor to user ID %u"
msgstr "缺省将授权者身份给予用户ID %u"
-#: utils/adt/acl.c:542
+#: utils/adt/acl.c:544
#, c-format
msgid "ACL array contains wrong data type"
msgstr "ACL数组包含错误数据类型"
-#: utils/adt/acl.c:546
+#: utils/adt/acl.c:548
#, c-format
msgid "ACL arrays must be one-dimensional"
msgstr "ACL数组必须是一维数组"
-#: utils/adt/acl.c:550
+#: utils/adt/acl.c:552
#, c-format
msgid "ACL arrays must not contain null values"
msgstr "ACL数组不能包含空值"
-#: utils/adt/acl.c:574
+#: utils/adt/acl.c:576
#, c-format
msgid "extra garbage at the end of the ACL specification"
msgstr "在ACL定义的结束部分的多余的无用部分"
-#: utils/adt/acl.c:1194
+#: utils/adt/acl.c:1196
#, c-format
msgid "grant options cannot be granted back to your own grantor"
msgstr "不能将grant选项授予您自己的授予者 "
-#: utils/adt/acl.c:1255
+#: utils/adt/acl.c:1257
#, c-format
msgid "dependent privileges exist"
msgstr "存在依赖权限"
-#: utils/adt/acl.c:1256
+#: utils/adt/acl.c:1258
#, c-format
msgid "Use CASCADE to revoke them too."
msgstr "使用CASCADE回收这些权限"
-#: utils/adt/acl.c:1535
+#: utils/adt/acl.c:1537
#, c-format
msgid "aclinsert is no longer supported"
msgstr "不再支持 aclinsert"
-#: utils/adt/acl.c:1545
+#: utils/adt/acl.c:1547
#, c-format
msgid "aclremove is no longer supported"
msgstr "不再支持 aclremove"
-#: utils/adt/acl.c:1631 utils/adt/acl.c:1685
+#: utils/adt/acl.c:1633 utils/adt/acl.c:1687
#, c-format
msgid "unrecognized privilege type: \"%s\""
msgstr "未知的权限类型: \"%s\""
-#: utils/adt/acl.c:3425 utils/adt/regproc.c:118 utils/adt/regproc.c:139
-#: utils/adt/regproc.c:289
+#: utils/adt/acl.c:3427 utils/adt/regproc.c:122 utils/adt/regproc.c:143
+#: utils/adt/regproc.c:318
#, c-format
msgid "function \"%s\" does not exist"
msgstr "函数 \"%s\" 不存在"
-#: utils/adt/acl.c:4874
+#: utils/adt/acl.c:4881
#, c-format
msgid "must be member of role \"%s\""
msgstr "必须是角色\"%s\"的成员"
msgstr "没有输入类型是数组"
#: utils/adt/array_userfuncs.c:103 utils/adt/array_userfuncs.c:113
-#: utils/adt/arrayfuncs.c:1275 utils/adt/float.c:1162 utils/adt/float.c:1221
-#: utils/adt/float.c:2772 utils/adt/float.c:2788 utils/adt/int.c:623
+#: utils/adt/arrayfuncs.c:1281 utils/adt/float.c:1161 utils/adt/float.c:1220
+#: utils/adt/float.c:2771 utils/adt/float.c:2787 utils/adt/int.c:623
#: utils/adt/int.c:652 utils/adt/int.c:673 utils/adt/int.c:704
#: utils/adt/int.c:737 utils/adt/int.c:759 utils/adt/int.c:907
#: utils/adt/int.c:928 utils/adt/int.c:955 utils/adt/int.c:995
#: utils/adt/int.c:1016 utils/adt/int.c:1043 utils/adt/int.c:1076
-#: utils/adt/int.c:1159 utils/adt/int8.c:1247 utils/adt/numeric.c:2300
-#: utils/adt/numeric.c:2309 utils/adt/varbit.c:1145 utils/adt/varbit.c:1537
-#: utils/adt/varlena.c:1004 utils/adt/varlena.c:2027
+#: utils/adt/int.c:1159 utils/adt/int8.c:1298 utils/adt/numeric.c:2289
+#: utils/adt/numeric.c:2298 utils/adt/varbit.c:1173 utils/adt/varbit.c:1565
+#: utils/adt/varlena.c:1013 utils/adt/varlena.c:2036
#, c-format
msgid "integer out of range"
msgstr "整数超出范围"
msgid "Arrays with differing dimensions are not compatible for concatenation."
msgstr "带有不同维度的数组对于串联操作不兼容."
-#: utils/adt/array_userfuncs.c:426 utils/adt/arrayfuncs.c:1237
-#: utils/adt/arrayfuncs.c:2910 utils/adt/arrayfuncs.c:4935
+#: utils/adt/array_userfuncs.c:426 utils/adt/arrayfuncs.c:1243
+#: utils/adt/arrayfuncs.c:2929 utils/adt/arrayfuncs.c:4954
#, c-format
msgid "invalid number of dimensions: %d"
msgstr "无效的大小值: %d"
-#: utils/adt/array_userfuncs.c:487
+#: utils/adt/array_userfuncs.c:487 utils/adt/json.c:1675 utils/adt/json.c:1770
+#: utils/adt/json.c:1799
#, c-format
msgid "could not determine input data type"
msgstr "无法确定输入数据类型"
-#: utils/adt/arrayfuncs.c:234 utils/adt/arrayfuncs.c:246
+#: utils/adt/arrayfuncs.c:240 utils/adt/arrayfuncs.c:252
#, c-format
msgid "missing dimension value"
msgstr "缺少大小值"
-#: utils/adt/arrayfuncs.c:256
+#: utils/adt/arrayfuncs.c:262
#, c-format
msgid "missing \"]\" in array dimensions"
msgstr "数组声明缺少 ']'"
-#: utils/adt/arrayfuncs.c:264 utils/adt/arrayfuncs.c:2435
-#: utils/adt/arrayfuncs.c:2463 utils/adt/arrayfuncs.c:2478
+#: utils/adt/arrayfuncs.c:270 utils/adt/arrayfuncs.c:2454
+#: utils/adt/arrayfuncs.c:2482 utils/adt/arrayfuncs.c:2497
#, c-format
msgid "upper bound cannot be less than lower bound"
msgstr "上限不能小于底限"
-#: utils/adt/arrayfuncs.c:276 utils/adt/arrayfuncs.c:302
+#: utils/adt/arrayfuncs.c:282 utils/adt/arrayfuncs.c:308
#, c-format
msgid "array value must start with \"{\" or dimension information"
msgstr "数组值必须以 \"{\" 开始或者维数信息"
-#: utils/adt/arrayfuncs.c:290
+#: utils/adt/arrayfuncs.c:296
#, c-format
msgid "missing assignment operator"
msgstr "缺少指定的操作符"
-#: utils/adt/arrayfuncs.c:307 utils/adt/arrayfuncs.c:313
+#: utils/adt/arrayfuncs.c:313 utils/adt/arrayfuncs.c:319
#, c-format
msgid "array dimensions incompatible with array literal"
msgstr "数组维数与数组值不兼容"
-#: utils/adt/arrayfuncs.c:443 utils/adt/arrayfuncs.c:458
-#: utils/adt/arrayfuncs.c:467 utils/adt/arrayfuncs.c:481
-#: utils/adt/arrayfuncs.c:501 utils/adt/arrayfuncs.c:529
-#: utils/adt/arrayfuncs.c:534 utils/adt/arrayfuncs.c:574
-#: utils/adt/arrayfuncs.c:595 utils/adt/arrayfuncs.c:614
-#: utils/adt/arrayfuncs.c:724 utils/adt/arrayfuncs.c:733
-#: utils/adt/arrayfuncs.c:763 utils/adt/arrayfuncs.c:778
-#: utils/adt/arrayfuncs.c:831
+#: utils/adt/arrayfuncs.c:449 utils/adt/arrayfuncs.c:464
+#: utils/adt/arrayfuncs.c:473 utils/adt/arrayfuncs.c:487
+#: utils/adt/arrayfuncs.c:507 utils/adt/arrayfuncs.c:535
+#: utils/adt/arrayfuncs.c:540 utils/adt/arrayfuncs.c:580
+#: utils/adt/arrayfuncs.c:601 utils/adt/arrayfuncs.c:620
+#: utils/adt/arrayfuncs.c:730 utils/adt/arrayfuncs.c:739
+#: utils/adt/arrayfuncs.c:769 utils/adt/arrayfuncs.c:784
+#: utils/adt/arrayfuncs.c:837
#, c-format
msgid "malformed array literal: \"%s\""
msgstr "有缺陷的数组常量:\"%s\""
-#: utils/adt/arrayfuncs.c:870 utils/adt/arrayfuncs.c:1472
-#: utils/adt/arrayfuncs.c:2794 utils/adt/arrayfuncs.c:2942
-#: utils/adt/arrayfuncs.c:5035 utils/adt/arrayutils.c:93
-#: utils/adt/arrayutils.c:102 utils/adt/arrayutils.c:109
+#: utils/adt/arrayfuncs.c:876 utils/adt/arrayfuncs.c:1478
+#: utils/adt/arrayfuncs.c:2813 utils/adt/arrayfuncs.c:2961
+#: utils/adt/arrayfuncs.c:5054 utils/adt/arrayfuncs.c:5386
+#: utils/adt/arrayutils.c:93 utils/adt/arrayutils.c:102
+#: utils/adt/arrayutils.c:109
#, c-format
msgid "array size exceeds the maximum allowed (%d)"
msgstr "数组的大小超过了最大允许值(%d)"
-#: utils/adt/arrayfuncs.c:1248
+#: utils/adt/arrayfuncs.c:1254
#, c-format
msgid "invalid array flags"
msgstr "无效的数组标记"
-#: utils/adt/arrayfuncs.c:1256
+#: utils/adt/arrayfuncs.c:1262
#, c-format
msgid "wrong element type"
msgstr "错误的元素类型"
-#: utils/adt/arrayfuncs.c:1306 utils/adt/rangetypes.c:325
-#: utils/cache/lsyscache.c:2528
+#: utils/adt/arrayfuncs.c:1312 utils/adt/rangetypes.c:325
+#: utils/cache/lsyscache.c:2549
#, c-format
msgid "no binary input function available for type %s"
msgstr "没有类型 %s 的有效二进制输入函数"
-#: utils/adt/arrayfuncs.c:1446
+#: utils/adt/arrayfuncs.c:1452
#, c-format
msgid "improper binary format in array element %d"
msgstr "数组元素 %d 为不正确的二进制格式"
-#: utils/adt/arrayfuncs.c:1528 utils/adt/rangetypes.c:330
-#: utils/cache/lsyscache.c:2561
+#: utils/adt/arrayfuncs.c:1534 utils/adt/rangetypes.c:330
+#: utils/cache/lsyscache.c:2582
#, c-format
msgid "no binary output function available for type %s"
msgstr "没有类型 %s 的有效二进制输出函数"
-#: utils/adt/arrayfuncs.c:1902
+#: utils/adt/arrayfuncs.c:1921
#, c-format
msgid "slices of fixed-length arrays not implemented"
msgstr "没有实现固定长度数组的部分"
-#: utils/adt/arrayfuncs.c:2075 utils/adt/arrayfuncs.c:2097
-#: utils/adt/arrayfuncs.c:2131 utils/adt/arrayfuncs.c:2417
-#: utils/adt/arrayfuncs.c:4915 utils/adt/arrayfuncs.c:4947
-#: utils/adt/arrayfuncs.c:4964
+#: utils/adt/arrayfuncs.c:2094 utils/adt/arrayfuncs.c:2116
+#: utils/adt/arrayfuncs.c:2150 utils/adt/arrayfuncs.c:2436
+#: utils/adt/arrayfuncs.c:4934 utils/adt/arrayfuncs.c:4966
+#: utils/adt/arrayfuncs.c:4983 utils/adt/json.c:2171 utils/adt/json.c:2246
#, c-format
msgid "wrong number of array subscripts"
msgstr "错误的数组下标"
-#: utils/adt/arrayfuncs.c:2080 utils/adt/arrayfuncs.c:2173
-#: utils/adt/arrayfuncs.c:2468
+#: utils/adt/arrayfuncs.c:2099 utils/adt/arrayfuncs.c:2192
+#: utils/adt/arrayfuncs.c:2487
#, c-format
msgid "array subscript out of range"
msgstr "数组下标超出范围"
-#: utils/adt/arrayfuncs.c:2085
+#: utils/adt/arrayfuncs.c:2104
#, c-format
msgid "cannot assign null value to an element of a fixed-length array"
msgstr "无法将空值分配给固定长度数组的成员"
-#: utils/adt/arrayfuncs.c:2371
+#: utils/adt/arrayfuncs.c:2390
#, c-format
msgid "updates on slices of fixed-length arrays not implemented"
msgstr "没有实现在固定长度数组部分上的更新操作"
-#: utils/adt/arrayfuncs.c:2407 utils/adt/arrayfuncs.c:2494
+#: utils/adt/arrayfuncs.c:2426 utils/adt/arrayfuncs.c:2513
#, c-format
msgid "source array too small"
msgstr "源数组太小"
-#: utils/adt/arrayfuncs.c:3049
+#: utils/adt/arrayfuncs.c:3068
#, c-format
msgid "null array element not allowed in this context"
msgstr "不支持空数组元素"
-#: utils/adt/arrayfuncs.c:3152 utils/adt/arrayfuncs.c:3360
-#: utils/adt/arrayfuncs.c:3677
+#: utils/adt/arrayfuncs.c:3171 utils/adt/arrayfuncs.c:3379
+#: utils/adt/arrayfuncs.c:3696
#, c-format
msgid "cannot compare arrays of different element types"
msgstr "无法比较不同元素类型的数组"
-#: utils/adt/arrayfuncs.c:3562 utils/adt/rangetypes.c:1201
+#: utils/adt/arrayfuncs.c:3581 utils/adt/rangetypes.c:1212
#, c-format
msgid "could not identify a hash function for type %s"
msgstr "无法为类型 %s 确认一个哈希函数"
-#: utils/adt/arrayfuncs.c:4813 utils/adt/arrayfuncs.c:4853
+#: utils/adt/arrayfuncs.c:4832 utils/adt/arrayfuncs.c:4872
#, c-format
msgid "dimension array or low bound array cannot be null"
msgstr "维度数组或低界数组不能为空(null)"
-#: utils/adt/arrayfuncs.c:4916 utils/adt/arrayfuncs.c:4948
+#: utils/adt/arrayfuncs.c:4935 utils/adt/arrayfuncs.c:4967
#, c-format
msgid "Dimension array must be one dimensional."
msgstr "维度数组必须是一维"
-#: utils/adt/arrayfuncs.c:4921 utils/adt/arrayfuncs.c:4953
+#: utils/adt/arrayfuncs.c:4940 utils/adt/arrayfuncs.c:4972
#, c-format
msgid "wrong range of array subscripts"
msgstr "无效的数组下标范围"
-#: utils/adt/arrayfuncs.c:4922 utils/adt/arrayfuncs.c:4954
+#: utils/adt/arrayfuncs.c:4941 utils/adt/arrayfuncs.c:4973
#, c-format
msgid "Lower bound of dimension array must be one."
msgstr "维度数组的低界必须是1"
-#: utils/adt/arrayfuncs.c:4927 utils/adt/arrayfuncs.c:4959
+#: utils/adt/arrayfuncs.c:4946 utils/adt/arrayfuncs.c:4978
#, c-format
msgid "dimension values cannot be null"
msgstr "维度值不能为空"
-#: utils/adt/arrayfuncs.c:4965
+#: utils/adt/arrayfuncs.c:4984
#, c-format
msgid "Low bound array has different size than dimensions array."
msgstr "低界数组的大小与多维数组不同"
+#: utils/adt/arrayfuncs.c:5251
+#, c-format
+#| msgid "multidimensional arrays are not supported"
+msgid "removing elements from multidimensional arrays is not supported"
+msgstr "不支持多维数组中删除元素的操作"
+
#: utils/adt/arrayutils.c:209
#, c-format
msgid "typmod array must be type cstring[]"
msgid "invalid input syntax for type money: \"%s\""
msgstr "无效的货币类型输入语法: \"%s\""
-#: utils/adt/cash.c:609 utils/adt/cash.c:659 utils/adt/cash.c:710
-#: utils/adt/cash.c:759 utils/adt/cash.c:811 utils/adt/cash.c:861
-#: utils/adt/float.c:789 utils/adt/float.c:853 utils/adt/float.c:2531
-#: utils/adt/float.c:2594 utils/adt/geo_ops.c:4130 utils/adt/int.c:719
+#: utils/adt/cash.c:607 utils/adt/cash.c:657 utils/adt/cash.c:708
+#: utils/adt/cash.c:757 utils/adt/cash.c:809 utils/adt/cash.c:859
+#: utils/adt/float.c:788 utils/adt/float.c:852 utils/adt/float.c:2530
+#: utils/adt/float.c:2593 utils/adt/geo_ops.c:4115 utils/adt/int.c:719
#: utils/adt/int.c:861 utils/adt/int.c:969 utils/adt/int.c:1058
#: utils/adt/int.c:1097 utils/adt/int.c:1125 utils/adt/int8.c:597
-#: utils/adt/int8.c:657 utils/adt/int8.c:846 utils/adt/int8.c:954
-#: utils/adt/int8.c:1043 utils/adt/int8.c:1151 utils/adt/numeric.c:4554
-#: utils/adt/numeric.c:4837 utils/adt/timestamp.c:2976
+#: utils/adt/int8.c:657 utils/adt/int8.c:897 utils/adt/int8.c:1005
+#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:4946
+#: utils/adt/numeric.c:5229 utils/adt/timestamp.c:3357
#, c-format
msgid "division by zero"
msgstr "除以零"
msgid "\"char\" out of range"
msgstr "\"char\" 超出范围"
-#: utils/adt/date.c:68 utils/adt/timestamp.c:93 utils/adt/varbit.c:52
+#: utils/adt/date.c:68 utils/adt/timestamp.c:102 utils/adt/varbit.c:52
#: utils/adt/varchar.c:44
#, c-format
msgid "invalid type modifier"
msgid "TIME(%d)%s precision reduced to maximum allowed, %d"
msgstr "TIME(%d)%s精度减少到最大允许值,%d"
-#: utils/adt/date.c:144 utils/adt/datetime.c:1188 utils/adt/datetime.c:1930
+#: utils/adt/date.c:142 utils/adt/datetime.c:1208 utils/adt/datetime.c:2079
#, c-format
msgid "date/time value \"current\" is no longer supported"
msgstr "日期/时间值 \"current\" 不再被支持了"
-#: utils/adt/date.c:169 utils/adt/formatting.c:3328
+#: utils/adt/date.c:167 utils/adt/formatting.c:3411
#, c-format
msgid "date out of range: \"%s\""
msgstr "时间戳超出范围: \"%s\""
-#: utils/adt/date.c:219 utils/adt/xml.c:2025
+#: utils/adt/date.c:217 utils/adt/json.c:1412 utils/adt/xml.c:2024
#, c-format
msgid "date out of range"
msgstr "日期超出范围"
-#: utils/adt/date.c:383
+#: utils/adt/date.c:259 utils/adt/timestamp.c:600
+#, c-format
+#| msgid "date/time field value out of range: \"%s\""
+msgid "date field value out of range: %d-%02d-%02d"
+msgstr "日期字段值超出范围: %d-%02d-%02d"
+
+#: utils/adt/date.c:265 utils/adt/timestamp.c:606
+#, c-format
+#| msgid "date out of range: \"%s\""
+msgid "date out of range: %d-%02d-%02d"
+msgstr "日期超出范围: %d-%02d-%02d"
+
+#: utils/adt/date.c:418
#, c-format
msgid "cannot subtract infinite dates"
msgstr "无法减去无限大的日期"
-#: utils/adt/date.c:440 utils/adt/date.c:477
+#: utils/adt/date.c:475 utils/adt/date.c:512
#, c-format
msgid "date out of range for timestamp"
msgstr "日期超出了时间戳的范围"
-#: utils/adt/date.c:936 utils/adt/date.c:982 utils/adt/date.c:1549
-#: utils/adt/date.c:1585 utils/adt/date.c:2457 utils/adt/formatting.c:3204
-#: utils/adt/formatting.c:3236 utils/adt/formatting.c:3304
-#: utils/adt/nabstime.c:481 utils/adt/nabstime.c:524 utils/adt/nabstime.c:554
-#: utils/adt/nabstime.c:597 utils/adt/timestamp.c:226
-#: utils/adt/timestamp.c:269 utils/adt/timestamp.c:502
-#: utils/adt/timestamp.c:541 utils/adt/timestamp.c:2631
-#: utils/adt/timestamp.c:2652 utils/adt/timestamp.c:2665
-#: utils/adt/timestamp.c:2674 utils/adt/timestamp.c:2731
-#: utils/adt/timestamp.c:2754 utils/adt/timestamp.c:2767
-#: utils/adt/timestamp.c:2778 utils/adt/timestamp.c:3214
-#: utils/adt/timestamp.c:3343 utils/adt/timestamp.c:3384
-#: utils/adt/timestamp.c:3472 utils/adt/timestamp.c:3518
-#: utils/adt/timestamp.c:3629 utils/adt/timestamp.c:3942
-#: utils/adt/timestamp.c:4081 utils/adt/timestamp.c:4091
-#: utils/adt/timestamp.c:4153 utils/adt/timestamp.c:4293
-#: utils/adt/timestamp.c:4303 utils/adt/timestamp.c:4518
-#: utils/adt/timestamp.c:4597 utils/adt/timestamp.c:4604
-#: utils/adt/timestamp.c:4630 utils/adt/timestamp.c:4634
-#: utils/adt/timestamp.c:4691 utils/adt/xml.c:2047 utils/adt/xml.c:2054
-#: utils/adt/xml.c:2074 utils/adt/xml.c:2081
+#: utils/adt/date.c:971 utils/adt/date.c:1017 utils/adt/date.c:1617
+#: utils/adt/date.c:1653 utils/adt/date.c:2525 utils/adt/formatting.c:3287
+#: utils/adt/formatting.c:3319 utils/adt/formatting.c:3387
+#: utils/adt/json.c:1437 utils/adt/json.c:1444 utils/adt/json.c:1464
+#: utils/adt/json.c:1471 utils/adt/nabstime.c:455 utils/adt/nabstime.c:498
+#: utils/adt/nabstime.c:528 utils/adt/nabstime.c:571 utils/adt/timestamp.c:232
+#: utils/adt/timestamp.c:275 utils/adt/timestamp.c:724
+#: utils/adt/timestamp.c:753 utils/adt/timestamp.c:792
+#: utils/adt/timestamp.c:2946 utils/adt/timestamp.c:2967
+#: utils/adt/timestamp.c:2980 utils/adt/timestamp.c:2989
+#: utils/adt/timestamp.c:3046 utils/adt/timestamp.c:3069
+#: utils/adt/timestamp.c:3082 utils/adt/timestamp.c:3093
+#: utils/adt/timestamp.c:3618 utils/adt/timestamp.c:3747
+#: utils/adt/timestamp.c:3788 utils/adt/timestamp.c:3876
+#: utils/adt/timestamp.c:3922 utils/adt/timestamp.c:4033
+#: utils/adt/timestamp.c:4357 utils/adt/timestamp.c:4496
+#: utils/adt/timestamp.c:4506 utils/adt/timestamp.c:4568
+#: utils/adt/timestamp.c:4708 utils/adt/timestamp.c:4718
+#: utils/adt/timestamp.c:4932 utils/adt/timestamp.c:4946
+#: utils/adt/timestamp.c:5025 utils/adt/timestamp.c:5032
+#: utils/adt/timestamp.c:5058 utils/adt/timestamp.c:5062
+#: utils/adt/timestamp.c:5131 utils/adt/xml.c:2046 utils/adt/xml.c:2053
+#: utils/adt/xml.c:2073 utils/adt/xml.c:2080
#, c-format
msgid "timestamp out of range"
msgstr "时间戳超出范围"
-#: utils/adt/date.c:1008
+#: utils/adt/date.c:1043
#, c-format
msgid "cannot convert reserved abstime value to date"
msgstr "不能转换保留 abstime 值为 date"
-#: utils/adt/date.c:1162 utils/adt/date.c:1169 utils/adt/date.c:1947
-#: utils/adt/date.c:1954
+#: utils/adt/date.c:1197 utils/adt/date.c:1204 utils/adt/date.c:2015
+#: utils/adt/date.c:2022
#, c-format
msgid "time out of range"
msgstr "时间超出范围"
-#: utils/adt/date.c:1825 utils/adt/date.c:1842
+#: utils/adt/date.c:1265 utils/adt/timestamp.c:625
+#, c-format
+#| msgid "date/time field value out of range: \"%s\""
+msgid "time field value out of range: %d:%02d:%02g"
+msgstr "日期/时间值超出范围: %d:%02d:%02g"
+
+#: utils/adt/date.c:1893 utils/adt/date.c:1910
#, c-format
msgid "\"time\" units \"%s\" not recognized"
msgstr "\"time\" 单位 \"%s\" 不被认可"
-#: utils/adt/date.c:1963
+#: utils/adt/date.c:2031
#, c-format
msgid "time zone displacement out of range"
msgstr "时间区域置换超出范围"
-#: utils/adt/date.c:2587 utils/adt/date.c:2604
+#: utils/adt/date.c:2655 utils/adt/date.c:2672
#, c-format
msgid "\"time with time zone\" units \"%s\" not recognized"
msgstr "\"time with time zone\" 单位 \"%s\" 不被认可"
-#: utils/adt/date.c:2662 utils/adt/datetime.c:930 utils/adt/datetime.c:1659
-#: utils/adt/timestamp.c:4530 utils/adt/timestamp.c:4702
+#: utils/adt/date.c:2745 utils/adt/datetime.c:925 utils/adt/datetime.c:1805
+#: utils/adt/datetime.c:4566 utils/adt/timestamp.c:539
+#: utils/adt/timestamp.c:566 utils/adt/timestamp.c:4958
+#: utils/adt/timestamp.c:5142
#, c-format
msgid "time zone \"%s\" not recognized"
msgstr "时区 \"%s\" 不被认可"
-#: utils/adt/date.c:2702
+#: utils/adt/date.c:2785 utils/adt/timestamp.c:4983 utils/adt/timestamp.c:5168
+#, c-format
+#| msgid "interval time zone \"%s\" must not specify month"
+msgid "interval time zone \"%s\" must not include months or days"
+msgstr "间隔时区\"%s\"不能包含月或天"
+
+#: utils/adt/datetime.c:1680
#, c-format
-msgid "\"interval\" time zone \"%s\" not valid"
-msgstr "\"interval\" 时间区域 \"%s\" 无效"
+#| msgid "time zone abbreviation \"%s\" is multiply defined"
+msgid "time zone abbreviation \"%s\" is not used in time zone \"%s\""
+msgstr "时区缩写\"%s\"不能用于时区\"%s\""
-#: utils/adt/datetime.c:3533 utils/adt/datetime.c:3540
+#: utils/adt/datetime.c:3766 utils/adt/datetime.c:3773
#, c-format
msgid "date/time field value out of range: \"%s\""
msgstr "日期/时间值超出范围: \"%s\""
-#: utils/adt/datetime.c:3542
+#: utils/adt/datetime.c:3775
#, c-format
msgid "Perhaps you need a different \"datestyle\" setting."
msgstr "也许你需要不同的 \"datesytle\" 设置."
-#: utils/adt/datetime.c:3547
+#: utils/adt/datetime.c:3780
#, c-format
msgid "interval field value out of range: \"%s\""
msgstr "间隔字段超出范围: \"%s\""
-#: utils/adt/datetime.c:3553
+#: utils/adt/datetime.c:3786
#, c-format
msgid "time zone displacement out of range: \"%s\""
msgstr "时间区域置换超出范围: \"%s\""
#. translator: first %s is inet or cidr
-#: utils/adt/datetime.c:3560 utils/adt/network.c:107
+#: utils/adt/datetime.c:3793 utils/adt/network.c:58
#, c-format
msgid "invalid input syntax for type %s: \"%s\""
msgstr "无效的类型 %s 输入语法: \"%s\""
+#: utils/adt/datetime.c:4568
+#, c-format
+msgid ""
+"This time zone name appears in the configuration file for time zone "
+"abbreviation \"%s\"."
+msgstr "缩写时区 \"%s\"对应的时区名出现在配置文件中."
+
#: utils/adt/datum.c:80 utils/adt/datum.c:92
#, c-format
msgid "invalid Datum pointer"
msgstr "无效的 Datum 指针"
-#: utils/adt/dbsize.c:106
+#: utils/adt/dbsize.c:108
#, c-format
msgid "could not open tablespace directory \"%s\": %m"
msgstr "无法打开表空间目录 \"%s\": %m"
-#: utils/adt/domains.c:79
+#: utils/adt/domains.c:83
#, c-format
msgid "type %s is not a domain"
msgstr "类型%s不是一个域"
msgid "invalid end sequence"
msgstr "无效的结束顺序"
-#: utils/adt/encode.c:441 utils/adt/encode.c:506 utils/adt/varlena.c:246
-#: utils/adt/varlena.c:287
+#: utils/adt/encode.c:441 utils/adt/encode.c:506 utils/adt/varlena.c:255
+#: utils/adt/varlena.c:296
#, c-format
msgid "invalid input syntax for type bytea"
msgstr "无效的 bytea 类型输入语法"
-#: utils/adt/enum.c:47 utils/adt/enum.c:57 utils/adt/enum.c:112
-#: utils/adt/enum.c:122
+#: utils/adt/enum.c:48 utils/adt/enum.c:58 utils/adt/enum.c:113
+#: utils/adt/enum.c:123
#, c-format
msgid "invalid input value for enum %s: \"%s\""
msgstr "对于枚举%s的输入值无效: \"%s\""
-#: utils/adt/enum.c:84 utils/adt/enum.c:147 utils/adt/enum.c:197
+#: utils/adt/enum.c:85 utils/adt/enum.c:148 utils/adt/enum.c:198
#, c-format
msgid "invalid internal value for enum: %u"
msgstr "对于枚举的无效内部值: %u"
-#: utils/adt/enum.c:356 utils/adt/enum.c:385 utils/adt/enum.c:425
-#: utils/adt/enum.c:445
+#: utils/adt/enum.c:357 utils/adt/enum.c:386 utils/adt/enum.c:426
+#: utils/adt/enum.c:446
#, c-format
msgid "could not determine actual enum type"
msgstr "无法确定实际的枚举类型"
-#: utils/adt/enum.c:364 utils/adt/enum.c:393
+#: utils/adt/enum.c:365 utils/adt/enum.c:394
#, c-format
msgid "enum %s contains no values"
msgstr "枚举 \"%s\" 没有值"
msgid "value out of range: underflow"
msgstr "值超出范围: 下溢"
-#: utils/adt/float.c:207 utils/adt/float.c:260 utils/adt/float.c:311
+#: utils/adt/float.c:218 utils/adt/float.c:292 utils/adt/float.c:316
#, c-format
msgid "invalid input syntax for type real: \"%s\""
msgstr "无效的实数类型输入语法: \"%s\""
-#: utils/adt/float.c:254
+#: utils/adt/float.c:286
#, c-format
msgid "\"%s\" is out of range for type real"
msgstr "\"%s\" 超出实数类型的范围"
-#: utils/adt/float.c:412 utils/adt/float.c:465 utils/adt/float.c:516
-#: utils/adt/numeric.c:4016 utils/adt/numeric.c:4042
+#: utils/adt/float.c:417 utils/adt/float.c:491 utils/adt/float.c:515
+#: utils/adt/numeric.c:4408 utils/adt/numeric.c:4434
#, c-format
msgid "invalid input syntax for type double precision: \"%s\""
msgstr "无效的双精度类型输入语法: \"%s\""
-#: utils/adt/float.c:459
+#: utils/adt/float.c:485
#, c-format
msgid "\"%s\" is out of range for type double precision"
msgstr "\"%s\" 超出双精度类型的范围"
-#: utils/adt/float.c:1180 utils/adt/float.c:1238 utils/adt/int.c:349
+#: utils/adt/float.c:1179 utils/adt/float.c:1237 utils/adt/int.c:349
#: utils/adt/int.c:775 utils/adt/int.c:804 utils/adt/int.c:825
#: utils/adt/int.c:845 utils/adt/int.c:879 utils/adt/int.c:1174
-#: utils/adt/int8.c:1272 utils/adt/numeric.c:2401 utils/adt/numeric.c:2412
+#: utils/adt/int8.c:1323 utils/adt/numeric.c:2386 utils/adt/numeric.c:2395
#, c-format
msgid "smallint out of range"
msgstr "smallint 超出范围"
-#: utils/adt/float.c:1364 utils/adt/numeric.c:5230
+#: utils/adt/float.c:1363 utils/adt/numeric.c:5622
#, c-format
msgid "cannot take square root of a negative number"
msgstr "无法为负数做平方根"
-#: utils/adt/float.c:1406 utils/adt/numeric.c:2213
+#: utils/adt/float.c:1405 utils/adt/numeric.c:2206
#, c-format
msgid "zero raised to a negative power is undefined"
msgstr "被提升到负乘方的最低点没有定义."
-#: utils/adt/float.c:1410 utils/adt/numeric.c:2219
+#: utils/adt/float.c:1409 utils/adt/numeric.c:2212
#, c-format
msgid "a negative number raised to a non-integer power yields a complex result"
msgstr "被升为非整数的平方的负数产生了一个复杂结果."
-#: utils/adt/float.c:1476 utils/adt/float.c:1506 utils/adt/numeric.c:5448
+#: utils/adt/float.c:1475 utils/adt/float.c:1505 utils/adt/numeric.c:5840
#, c-format
msgid "cannot take logarithm of zero"
msgstr "无法取零的对数"
-#: utils/adt/float.c:1480 utils/adt/float.c:1510 utils/adt/numeric.c:5452
+#: utils/adt/float.c:1479 utils/adt/float.c:1509 utils/adt/numeric.c:5844
#, c-format
msgid "cannot take logarithm of a negative number"
msgstr "无法取负数的对数"
-#: utils/adt/float.c:1537 utils/adt/float.c:1558 utils/adt/float.c:1579
-#: utils/adt/float.c:1601 utils/adt/float.c:1622 utils/adt/float.c:1643
-#: utils/adt/float.c:1665 utils/adt/float.c:1686
+#: utils/adt/float.c:1536 utils/adt/float.c:1557 utils/adt/float.c:1578
+#: utils/adt/float.c:1600 utils/adt/float.c:1621 utils/adt/float.c:1642
+#: utils/adt/float.c:1664 utils/adt/float.c:1685
#, c-format
msgid "input is out of range"
msgstr "输入超出范围"
-#: utils/adt/float.c:2748 utils/adt/numeric.c:1218
+#: utils/adt/float.c:2747 utils/adt/numeric.c:1259
#, c-format
msgid "count must be greater than zero"
msgstr "总数必须大于零"
-#: utils/adt/float.c:2753 utils/adt/numeric.c:1225
+#: utils/adt/float.c:2752 utils/adt/numeric.c:1266
#, c-format
msgid "operand, lower bound, and upper bound cannot be NaN"
msgstr "操作数,下限和上限不能是NaN"
-#: utils/adt/float.c:2759
+#: utils/adt/float.c:2758
#, c-format
msgid "lower and upper bounds must be finite"
msgstr "地位和高位边界必须是有限的."
-#: utils/adt/float.c:2797 utils/adt/numeric.c:1238
+#: utils/adt/float.c:2796 utils/adt/numeric.c:1279
#, c-format
msgid "lower bound cannot equal upper bound"
msgstr "下限不能等于上限"
-#: utils/adt/formatting.c:492
+#: utils/adt/formatting.c:485
#, c-format
msgid "invalid format specification for an interval value"
msgstr "间隔值的格式定义无效"
-#: utils/adt/formatting.c:493
+#: utils/adt/formatting.c:486
#, c-format
msgid "Intervals are not tied to specific calendar dates."
msgstr "间隔没有与特定的日历的日期相联系"
-#: utils/adt/formatting.c:1061
+#: utils/adt/formatting.c:1055
#, c-format
msgid "\"EEEE\" must be the last pattern used"
msgstr "\"EEEE\"必须是所使用的最后一个模式"
-#: utils/adt/formatting.c:1069
+#: utils/adt/formatting.c:1063
#, c-format
msgid "\"9\" must be ahead of \"PR\""
msgstr "\"9\" 必须在 \"PR\" 之前"
-#: utils/adt/formatting.c:1085
+#: utils/adt/formatting.c:1079
#, c-format
msgid "\"0\" must be ahead of \"PR\""
msgstr "\"0\" 必须在 \"PR\" 之前"
-#: utils/adt/formatting.c:1112
+#: utils/adt/formatting.c:1106
#, c-format
msgid "multiple decimal points"
msgstr "多个小数点"
-#: utils/adt/formatting.c:1116 utils/adt/formatting.c:1199
+#: utils/adt/formatting.c:1110 utils/adt/formatting.c:1193
#, c-format
msgid "cannot use \"V\" and decimal point together"
msgstr "不能 \"V\" 和小数点一起使用"
-#: utils/adt/formatting.c:1128
+#: utils/adt/formatting.c:1122
#, c-format
msgid "cannot use \"S\" twice"
msgstr "无法两次使用 \"S\" "
-#: utils/adt/formatting.c:1132
+#: utils/adt/formatting.c:1126
#, c-format
msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together"
msgstr "\"S\" 不可以和 \"PL\"/\"MI\"/\"SG\"/\"PR\" 一起使用"
-#: utils/adt/formatting.c:1152
+#: utils/adt/formatting.c:1146
#, c-format
msgid "cannot use \"S\" and \"MI\" together"
msgstr "\"S\" 不可以和 \"MI\" 一起使用"
-#: utils/adt/formatting.c:1162
+#: utils/adt/formatting.c:1156
#, c-format
msgid "cannot use \"S\" and \"PL\" together"
msgstr "\"S\" 不可以和 \"PL\" 一起使用"
-#: utils/adt/formatting.c:1172
+#: utils/adt/formatting.c:1166
#, c-format
msgid "cannot use \"S\" and \"SG\" together"
msgstr "\"S\" 不可以和 \"SG\" 一起使用"
-#: utils/adt/formatting.c:1181
+#: utils/adt/formatting.c:1175
#, c-format
msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together"
msgstr "\"PR\" 不可以和 \"S\"/\"PL\"/\"MI\"/\"SG\" 一起使用"
-#: utils/adt/formatting.c:1207
+#: utils/adt/formatting.c:1201
#, c-format
msgid "cannot use \"EEEE\" twice"
msgstr "无法两次使用 \"EEEE\""
-#: utils/adt/formatting.c:1213
+#: utils/adt/formatting.c:1207
#, c-format
msgid "\"EEEE\" is incompatible with other formats"
msgstr "\"EEEE\"与其它格式不兼容"
-#: utils/adt/formatting.c:1214
+#: utils/adt/formatting.c:1208
#, c-format
msgid ""
"\"EEEE\" may only be used together with digit and decimal point patterns."
msgstr "\"EEEE\"只能与数字和小数模式一同使用"
-#: utils/adt/formatting.c:1414
+#: utils/adt/formatting.c:1408
#, c-format
msgid "\"%s\" is not a number"
msgstr "\"%s\" 不是一个数字"
-#: utils/adt/formatting.c:1521 utils/adt/formatting.c:1573
+#: utils/adt/formatting.c:1509 utils/adt/formatting.c:1561
#, c-format
msgid "could not determine which collation to use for lower() function"
msgstr "无法确定函数lower()使用哪个排序规则"
-#: utils/adt/formatting.c:1646 utils/adt/formatting.c:1698
+#: utils/adt/formatting.c:1629 utils/adt/formatting.c:1681
#, c-format
msgid "could not determine which collation to use for upper() function"
msgstr "无法确定函数upper()使用哪个排序规则"
-#: utils/adt/formatting.c:1783 utils/adt/formatting.c:1847
+#: utils/adt/formatting.c:1750 utils/adt/formatting.c:1814
#, c-format
msgid "could not determine which collation to use for initcap() function"
msgstr "无法确定函数initcap()使用哪个排序规则"
# fe-connect.c:2558
-#: utils/adt/formatting.c:2056
+#: utils/adt/formatting.c:2118
#, c-format
msgid "invalid combination of date conventions"
msgstr "无效的日期约定格式组合"
-#: utils/adt/formatting.c:2057
+#: utils/adt/formatting.c:2119
#, c-format
msgid ""
"Do not mix Gregorian and ISO week date conventions in a formatting template."
msgstr "在格式模板中不要混用Gregorian和ISO周日期转换. "
-#: utils/adt/formatting.c:2074
+#: utils/adt/formatting.c:2136
#, c-format
msgid "conflicting values for \"%s\" field in formatting string"
msgstr "在格式化字符串中对于\"%s\"字段的值冲突"
-#: utils/adt/formatting.c:2076
+#: utils/adt/formatting.c:2138
#, c-format
msgid "This value contradicts a previous setting for the same field type."
msgstr "这个值与先前设定的同一字段类型相抵触"
-#: utils/adt/formatting.c:2137
+#: utils/adt/formatting.c:2199
#, c-format
msgid "source string too short for \"%s\" formatting field"
msgstr "对于\"%s\" 格式化字段的源字符串太短"
-#: utils/adt/formatting.c:2139
+#: utils/adt/formatting.c:2201
#, c-format
msgid "Field requires %d characters, but only %d remain."
msgstr "字段要求有%d个字符,但是这里只有%d个"
-#: utils/adt/formatting.c:2142 utils/adt/formatting.c:2156
+#: utils/adt/formatting.c:2204 utils/adt/formatting.c:2218
#, c-format
msgid ""
"If your source string is not fixed-width, try using the \"FM\" modifier."
msgstr "如果源字符串不是固定长度,请尝试使用\"FM\"修改器."
-#: utils/adt/formatting.c:2152 utils/adt/formatting.c:2165
-#: utils/adt/formatting.c:2295
+#: utils/adt/formatting.c:2214 utils/adt/formatting.c:2227
+#: utils/adt/formatting.c:2357
#, c-format
msgid "invalid value \"%s\" for \"%s\""
msgstr "\"%s\"的值\"%s\"无效"
-#: utils/adt/formatting.c:2154
+#: utils/adt/formatting.c:2216
#, c-format
msgid "Field requires %d characters, but only %d could be parsed."
msgstr "字段要求%d个字符, 但是只能解析%d个字符."
-#: utils/adt/formatting.c:2167
+#: utils/adt/formatting.c:2229
#, c-format
msgid "Value must be an integer."
msgstr "值必须是一个整数"
-#: utils/adt/formatting.c:2172
+#: utils/adt/formatting.c:2234
#, c-format
msgid "value for \"%s\" in source string is out of range"
msgstr "在源字符串中\"%s\"的值超出了范围"
-#: utils/adt/formatting.c:2174
+#: utils/adt/formatting.c:2236
#, c-format
msgid "Value must be in the range %d to %d."
msgstr "值必须是在范围%d到%d之间."
-#: utils/adt/formatting.c:2297
+#: utils/adt/formatting.c:2359
#, c-format
msgid "The given value did not match any of the allowed values for this field."
msgstr "给定的值与这个字段所允许的值不匹配."
-#: utils/adt/formatting.c:2853
+#: utils/adt/formatting.c:2932
#, c-format
-msgid "\"TZ\"/\"tz\" format patterns are not supported in to_date"
-msgstr "在to_date中不支持\"TZ\"/\"tz\"的格式模式"
+#| msgid "\"TZ\"/\"tz\" format patterns are not supported in to_date"
+msgid "\"TZ\"/\"tz\"/\"OF\" format patterns are not supported in to_date"
+msgstr "在to_date中不支持\"TZ\"/\"tz\"/\"OF\"的格式模式"
-#: utils/adt/formatting.c:2957
+#: utils/adt/formatting.c:3040
#, c-format
msgid "invalid input string for \"Y,YYY\""
msgstr "对于\"Y,YYY\", 所输入的字符串无效"
-#: utils/adt/formatting.c:3460
+#: utils/adt/formatting.c:3543
#, c-format
msgid "hour \"%d\" is invalid for the 12-hour clock"
msgstr "对于12小时制的钟表,小时数\"%d\"无效"
-#: utils/adt/formatting.c:3462
+#: utils/adt/formatting.c:3545
#, c-format
msgid "Use the 24-hour clock, or give an hour between 1 and 12."
msgstr "使用24小时制的钟表,或者将小时数限定在1到12之间."
-#: utils/adt/formatting.c:3500
-#, c-format
-msgid "inconsistent use of year %04d and \"BC\""
-msgstr "年份%04d和\"BC\"的使用不一致"
-
-#: utils/adt/formatting.c:3547
+#: utils/adt/formatting.c:3640
#, c-format
msgid "cannot calculate day of year without year information"
msgstr "没有年份信息无法计算年的天数"
-#: utils/adt/formatting.c:4409
+#: utils/adt/formatting.c:4490
#, c-format
msgid "\"EEEE\" not supported for input"
msgstr "不支持为输入使用\"EEEE\""
-#: utils/adt/formatting.c:4421
+#: utils/adt/formatting.c:4502
#, c-format
msgid "\"RN\" not supported for input"
msgstr "不支持为输入使用\"RN\""
-#: utils/adt/genfile.c:60
+#: utils/adt/genfile.c:61
#, c-format
msgid "reference to parent directory (\"..\") not allowed"
msgstr "不允许引用源目录(\"..\") "
-#: utils/adt/genfile.c:71
+#: utils/adt/genfile.c:72
#, c-format
msgid "absolute path not allowed"
msgstr "不允许使用绝对路径"
-#: utils/adt/genfile.c:76
+#: utils/adt/genfile.c:77
#, c-format
msgid "path must be in or below the current directory"
msgstr "路径必须在当前目录或其子目录下"
-#: utils/adt/genfile.c:117 utils/adt/oracle_compat.c:184
+#: utils/adt/genfile.c:118 utils/adt/oracle_compat.c:184
#: utils/adt/oracle_compat.c:282 utils/adt/oracle_compat.c:758
-#: utils/adt/oracle_compat.c:1048
+#: utils/adt/oracle_compat.c:1059
#, c-format
msgid "requested length too large"
msgstr "请求长度太大"
-#: utils/adt/genfile.c:129
+#: utils/adt/genfile.c:130
#, c-format
msgid "could not seek in file \"%s\": %m"
msgstr "无法在文件\"%s\"进行查找: %m"
-#: utils/adt/genfile.c:179 utils/adt/genfile.c:203 utils/adt/genfile.c:224
-#: utils/adt/genfile.c:248
+#: utils/adt/genfile.c:180 utils/adt/genfile.c:204 utils/adt/genfile.c:225
+#: utils/adt/genfile.c:249
#, c-format
msgid "must be superuser to read files"
msgstr "只有超级用户能对文件进行读操作"
-#: utils/adt/genfile.c:186 utils/adt/genfile.c:231
-#, c-format
-msgid "requested length cannot be negative"
-msgstr "所请求的长度不能是负数"
-
-#: utils/adt/genfile.c:272
+#: utils/adt/genfile.c:273
#, c-format
msgid "must be superuser to get file information"
msgstr "只有超级用户才能获取文件信息"
-#: utils/adt/genfile.c:336
+#: utils/adt/genfile.c:337
#, c-format
msgid "must be superuser to get directory listings"
msgstr "只有超级用户才能获取目录列表"
-#: utils/adt/geo_ops.c:294 utils/adt/geo_ops.c:4251 utils/adt/geo_ops.c:5172
+#: utils/adt/geo_ops.c:299 utils/adt/geo_ops.c:1398 utils/adt/geo_ops.c:3460
+#: utils/adt/geo_ops.c:4236 utils/adt/geo_ops.c:5165
#, c-format
msgid "too many points requested"
msgstr "要求了太多的点"
-#: utils/adt/geo_ops.c:317
+#: utils/adt/geo_ops.c:322
#, c-format
msgid "could not format \"path\" value"
msgstr "无法格式化 \"path\" 值"
-#: utils/adt/geo_ops.c:392
+#: utils/adt/geo_ops.c:397
#, c-format
msgid "invalid input syntax for type box: \"%s\""
msgstr "无效的 box 类型输入语法: \"%s\""
-#: utils/adt/geo_ops.c:956
+#: utils/adt/geo_ops.c:992
#, c-format
-msgid "invalid input syntax for type line: \"%s\""
-msgstr "无效的 line 类型输入语法: \"%s\""
+msgid "invalid line specification: must be two distinct points"
+msgstr "无效的线规格: 必须是两个不同的点"
-#: utils/adt/geo_ops.c:963 utils/adt/geo_ops.c:1030 utils/adt/geo_ops.c:1045
-#: utils/adt/geo_ops.c:1057
+#: utils/adt/geo_ops.c:1001
#, c-format
-msgid "type \"line\" not yet implemented"
-msgstr "类型 \"line\" 没有实现"
+#| msgid "interval specification not allowed here"
+msgid "invalid line specification: A and B cannot both be zero"
+msgstr "无效的行规格: A和B不能同时为0"
+
+#: utils/adt/geo_ops.c:1006
+#, c-format
+msgid "invalid input syntax for type line: \"%s\""
+msgstr "无效的 line 类型输入语法: \"%s\""
-#: utils/adt/geo_ops.c:1411 utils/adt/geo_ops.c:1434
+#: utils/adt/geo_ops.c:1378 utils/adt/geo_ops.c:1409
#, c-format
msgid "invalid input syntax for type path: \"%s\""
msgstr "无效的 path 类型输入语法: \"%s\""
-#: utils/adt/geo_ops.c:1473
+#: utils/adt/geo_ops.c:1448
#, c-format
msgid "invalid number of points in external \"path\" value"
msgstr "在外部 \"path\" 值中的点数量无效."
-#: utils/adt/geo_ops.c:1816
+#: utils/adt/geo_ops.c:1791
#, c-format
msgid "invalid input syntax for type point: \"%s\""
msgstr "无效的 point 类型输入语法: \"%s\""
-#: utils/adt/geo_ops.c:2044
+#: utils/adt/geo_ops.c:2019
#, c-format
msgid "invalid input syntax for type lseg: \"%s\""
msgstr "无效的 lseg 类型输入语法: \"%s\""
-#: utils/adt/geo_ops.c:2648
+#: utils/adt/geo_ops.c:2623
#, c-format
msgid "function \"dist_lb\" not implemented"
msgstr "函数 \"dist_lb\" 没有实现"
-#: utils/adt/geo_ops.c:3161
+#: utils/adt/geo_ops.c:3035
+#, c-format
+#| msgid "function \"close_lb\" not implemented"
+msgid "function \"close_sl\" not implemented"
+msgstr "函数 \"close_sl\" 没有实现"
+
+#: utils/adt/geo_ops.c:3137
#, c-format
msgid "function \"close_lb\" not implemented"
msgstr "函数 \"close_lb\" 没有实现"
-#: utils/adt/geo_ops.c:3450
+#: utils/adt/geo_ops.c:3426
#, c-format
msgid "cannot create bounding box for empty polygon"
msgstr "无法为空多边形创建 bounding box"
-#: utils/adt/geo_ops.c:3474 utils/adt/geo_ops.c:3486
+#: utils/adt/geo_ops.c:3451 utils/adt/geo_ops.c:3471
#, c-format
msgid "invalid input syntax for type polygon: \"%s\""
msgstr "无效的 polygon 类型输入语法: \"%s\""
-#: utils/adt/geo_ops.c:3526
+#: utils/adt/geo_ops.c:3511
#, c-format
msgid "invalid number of points in external \"polygon\" value"
msgstr "在外部\"polygon\" 值中的点数量无效."
-#: utils/adt/geo_ops.c:4049
+#: utils/adt/geo_ops.c:4034
#, c-format
msgid "function \"poly_distance\" not implemented"
msgstr "函数 \"poly_distance\" 没有实现"
-#: utils/adt/geo_ops.c:4363
+#: utils/adt/geo_ops.c:4348
#, c-format
msgid "function \"path_center\" not implemented"
msgstr "函数 \"path_center\" 没有实现"
-#: utils/adt/geo_ops.c:4380
+#: utils/adt/geo_ops.c:4365
#, c-format
msgid "open path cannot be converted to polygon"
msgstr "打开的路径不能转换为多态型"
-#: utils/adt/geo_ops.c:4549 utils/adt/geo_ops.c:4559 utils/adt/geo_ops.c:4574
-#: utils/adt/geo_ops.c:4580
+#: utils/adt/geo_ops.c:4542 utils/adt/geo_ops.c:4552 utils/adt/geo_ops.c:4567
+#: utils/adt/geo_ops.c:4573
#, c-format
msgid "invalid input syntax for type circle: \"%s\""
msgstr "无效的 circle 类型输入语法: \"%s\""
-#: utils/adt/geo_ops.c:4602 utils/adt/geo_ops.c:4610
+#: utils/adt/geo_ops.c:4595 utils/adt/geo_ops.c:4603
#, c-format
msgid "could not format \"circle\" value"
msgstr "无法格式化 \"circle\" 的值"
-#: utils/adt/geo_ops.c:4637
+#: utils/adt/geo_ops.c:4630
#, c-format
msgid "invalid radius in external \"circle\" value"
msgstr "在外部\"circle\" 值中的半径无效"
-#: utils/adt/geo_ops.c:5158
+#: utils/adt/geo_ops.c:5151
#, c-format
msgid "cannot convert circle with radius zero to polygon"
msgstr "无法将半径为0的圆转换为多边类型"
-#: utils/adt/geo_ops.c:5163
+#: utils/adt/geo_ops.c:5156
#, c-format
msgid "must request at least 2 points"
msgstr "必须要求至少两个点."
-#: utils/adt/geo_ops.c:5207 utils/adt/geo_ops.c:5230
+#: utils/adt/geo_ops.c:5200
#, c-format
msgid "cannot convert empty polygon to circle"
msgstr "无法转换空的多边形到圆形"
msgid "oidvector has too many elements"
msgstr "oidvector 有太多元素"
-#: utils/adt/int.c:1362 utils/adt/int8.c:1409 utils/adt/timestamp.c:4789
-#: utils/adt/timestamp.c:4870
+#: utils/adt/int.c:1362 utils/adt/int8.c:1460 utils/adt/timestamp.c:5229
+#: utils/adt/timestamp.c:5310
#, c-format
msgid "step size cannot equal zero"
msgstr "单步执行大小不能等于0"
#: utils/adt/int8.c:500 utils/adt/int8.c:529 utils/adt/int8.c:550
#: utils/adt/int8.c:581 utils/adt/int8.c:615 utils/adt/int8.c:640
-#: utils/adt/int8.c:697 utils/adt/int8.c:714 utils/adt/int8.c:783
-#: utils/adt/int8.c:804 utils/adt/int8.c:831 utils/adt/int8.c:864
-#: utils/adt/int8.c:892 utils/adt/int8.c:913 utils/adt/int8.c:940
-#: utils/adt/int8.c:980 utils/adt/int8.c:1001 utils/adt/int8.c:1028
-#: utils/adt/int8.c:1061 utils/adt/int8.c:1089 utils/adt/int8.c:1110
-#: utils/adt/int8.c:1137 utils/adt/int8.c:1310 utils/adt/int8.c:1349
-#: utils/adt/numeric.c:2353 utils/adt/varbit.c:1617
+#: utils/adt/int8.c:697 utils/adt/int8.c:714 utils/adt/int8.c:741
+#: utils/adt/int8.c:758 utils/adt/int8.c:834 utils/adt/int8.c:855
+#: utils/adt/int8.c:882 utils/adt/int8.c:915 utils/adt/int8.c:943
+#: utils/adt/int8.c:964 utils/adt/int8.c:991 utils/adt/int8.c:1031
+#: utils/adt/int8.c:1052 utils/adt/int8.c:1079 utils/adt/int8.c:1112
+#: utils/adt/int8.c:1140 utils/adt/int8.c:1161 utils/adt/int8.c:1188
+#: utils/adt/int8.c:1361 utils/adt/int8.c:1400 utils/adt/numeric.c:2341
+#: utils/adt/varbit.c:1645
#, c-format
msgid "bigint out of range"
msgstr "bigint 超出范围"
-#: utils/adt/int8.c:1366
+#: utils/adt/int8.c:1417
#, c-format
msgid "OID out of range"
msgstr "OID 超出范围"
-#: utils/adt/json.c:444 utils/adt/json.c:482 utils/adt/json.c:494
-#: utils/adt/json.c:613 utils/adt/json.c:627 utils/adt/json.c:638
-#: utils/adt/json.c:646 utils/adt/json.c:654 utils/adt/json.c:662
-#: utils/adt/json.c:670 utils/adt/json.c:678 utils/adt/json.c:686
-#: utils/adt/json.c:717
+#: utils/adt/json.c:695 utils/adt/json.c:735 utils/adt/json.c:750
+#: utils/adt/json.c:761 utils/adt/json.c:771 utils/adt/json.c:807
+#: utils/adt/json.c:819 utils/adt/json.c:850 utils/adt/json.c:868
+#: utils/adt/json.c:880 utils/adt/json.c:892 utils/adt/json.c:1031
+#: utils/adt/json.c:1045 utils/adt/json.c:1056 utils/adt/json.c:1064
+#: utils/adt/json.c:1072 utils/adt/json.c:1080 utils/adt/json.c:1088
+#: utils/adt/json.c:1096 utils/adt/json.c:1104 utils/adt/json.c:1112
+#: utils/adt/json.c:1142
#, c-format
msgid "invalid input syntax for type json"
msgstr "json类型使用了无效的输入语法"
-#: utils/adt/json.c:445
+#: utils/adt/json.c:696
#, c-format
msgid "Character with value 0x%02x must be escaped."
msgstr "值为 0x%02x 的字符必须进行转义处理."
-#: utils/adt/json.c:483
+#: utils/adt/json.c:736
#, c-format
msgid "\"\\u\" must be followed by four hexadecimal digits."
msgstr "\"\\u\" 后必须紧跟有效的十六进制数数字"
-#: utils/adt/json.c:495
+#: utils/adt/json.c:751
+#, c-format
+msgid "Unicode high surrogate must not follow a high surrogate."
+msgstr "Unicode 的高位代理项不能紧随另一个高位代理项."
+
+#: utils/adt/json.c:762 utils/adt/json.c:772 utils/adt/json.c:820
+#: utils/adt/json.c:881 utils/adt/json.c:893
+#, c-format
+msgid "Unicode low surrogate must follow a high surrogate."
+msgstr "Unicode 代位代理项必须紧随一个高位代理项."
+
+#: utils/adt/json.c:808
+#, c-format
+#| msgid ""
+#| "Unicode escape values cannot be used for code point values above 007F "
+#| "when the server encoding is not UTF8"
+msgid ""
+"Unicode escape values cannot be used for code point values above 007F when "
+"the server encoding is not UTF8."
+msgstr "当服务器的编码不是UTF8时,Unicode转义值就不能用作007F以上的码点值."
+
+#: utils/adt/json.c:851 utils/adt/json.c:869
#, c-format
msgid "Escape sequence \"\\%s\" is invalid."
msgstr "转义序列 \"\\%s\" 无效."
-#: utils/adt/json.c:614
+#: utils/adt/json.c:1032
#, c-format
msgid "The input string ended unexpectedly."
msgstr "输入字符串意外终止."
-#: utils/adt/json.c:628
+#: utils/adt/json.c:1046
#, c-format
msgid "Expected end of input, but found \"%s\"."
msgstr "期望输入结束,结果发现是\"%s\"."
-#: utils/adt/json.c:639
+#: utils/adt/json.c:1057
#, c-format
msgid "Expected JSON value, but found \"%s\"."
msgstr "期望 是JSON值, 但结果发现是\"%s\"."
-#: utils/adt/json.c:647
+#: utils/adt/json.c:1065 utils/adt/json.c:1113
+#, c-format
+msgid "Expected string, but found \"%s\"."
+msgstr "期望是字符串, 但发现结果是\"%s\"."
+
+#: utils/adt/json.c:1073
#, c-format
msgid "Expected array element or \"]\", but found \"%s\"."
msgstr "期望为数组元素或者\"]\",但发现结果是\"%s\"."
-#: utils/adt/json.c:655
+#: utils/adt/json.c:1081
#, c-format
msgid "Expected \",\" or \"]\", but found \"%s\"."
msgstr "期望是\",\" 或 \"]\",但发现结果是\"%s\"."
-#: utils/adt/json.c:663
+#: utils/adt/json.c:1089
#, c-format
msgid "Expected string or \"}\", but found \"%s\"."
msgstr "期望是字符串或\"}\",但发现结果是\"%s\"."
-#: utils/adt/json.c:671
+#: utils/adt/json.c:1097
#, c-format
msgid "Expected \":\", but found \"%s\"."
msgstr "期望得到 \":\",但发现结果是\"%s\"."
-#: utils/adt/json.c:679
+#: utils/adt/json.c:1105
#, c-format
msgid "Expected \",\" or \"}\", but found \"%s\"."
msgstr "期望是 \",\" 或 \"}\",但发现结果是\"%s\"."
-#: utils/adt/json.c:687
-#, c-format
-msgid "Expected string, but found \"%s\"."
-msgstr "期望是字符串, 但发现结果是\"%s\"."
-
-#: utils/adt/json.c:718
+#: utils/adt/json.c:1143
#, c-format
msgid "Token \"%s\" is invalid."
msgstr "令牌 \"%s\" 无效."
-#: utils/adt/json.c:790
+#: utils/adt/json.c:1215
#, c-format
msgid "JSON data, line %d: %s%s%s"
msgstr "JSON数据, 行 %d: %s%s%s"
-#: utils/adt/like.c:211 utils/adt/selfuncs.c:5185
+#: utils/adt/json.c:1360
#, c-format
-msgid "could not determine which collation to use for ILIKE"
-msgstr "无法确定ILIKE使用哪种排序规则"
+msgid "key value must be scalar, not array, composite, or json"
+msgstr "键值必须是标量,不能是数组、复合值或json值"
-#: utils/adt/like_match.c:104 utils/adt/like_match.c:164
+#: utils/adt/json.c:1413
#, c-format
-msgid "LIKE pattern must not end with escape character"
-msgstr "LIKE模式不能以转义字符结束"
+#| msgid "XML does not support infinite date values."
+msgid "JSON does not support infinite date values."
+msgstr "JSON不支持无限日期值."
-#: utils/adt/like_match.c:289 utils/adt/regexp.c:683
+#: utils/adt/json.c:1438 utils/adt/json.c:1465
#, c-format
-msgid "invalid escape string"
-msgstr "无效的逃逸字符串"
+#| msgid "XML does not support infinite timestamp values."
+msgid "JSON does not support infinite timestamp values."
+msgstr "JSON不支持无限时戳值."
-#: utils/adt/like_match.c:290 utils/adt/regexp.c:684
+#: utils/adt/json.c:1930 utils/adt/json.c:1948 utils/adt/json.c:2023
+#: utils/adt/json.c:2044 utils/adt/json.c:2103
#, c-format
-msgid "Escape string must be empty or one character."
-msgstr "逃逸字符串必须为空或者一个字符."
+#| msgid "could not determine data type of parameter $%d"
+msgid "could not determine data type for argument %d"
+msgstr "无法确定参数 %d 的数据类型"
-#: utils/adt/mac.c:65
+#: utils/adt/json.c:1935
#, c-format
-msgid "invalid input syntax for type macaddr: \"%s\""
-msgstr "无效的 macaddr 类型输入语法: \"%s\""
+#| msgid "frame ending offset must not be null"
+msgid "field name must not be null"
+msgstr "字段名不能为空"
-#: utils/adt/mac.c:72
+#: utils/adt/json.c:1998
#, c-format
-msgid "invalid octet value in \"macaddr\" value: \"%s\""
+#| msgid "each %s query must have the same number of columns"
+msgid "argument list must have even number of elements"
+msgstr "参数列表的元素个数必须为偶数"
+
+#: utils/adt/json.c:1999
+#, c-format
+msgid ""
+"The arguments of json_build_object() must consist of alternating keys and "
+"values."
+msgstr "json_build_object()的参数必须包含可替代的键和对应的值."
+
+#: utils/adt/json.c:2029
+#, c-format
+#| msgid "dimension values cannot be null"
+msgid "argument %d cannot be null"
+msgstr "参数%d不能为空"
+
+#: utils/adt/json.c:2030
+#, c-format
+msgid "Object keys should be text."
+msgstr "对象的键必须是文本"
+
+#: utils/adt/json.c:2165
+#, c-format
+#| msgid "view must have at least one column"
+msgid "array must have two columns"
+msgstr "数组必须有两列"
+
+#: utils/adt/json.c:2189 utils/adt/json.c:2273
+#, c-format
+#| msgid "null array element not allowed in this context"
+msgid "null value not allowed for object key"
+msgstr "空值不能用于对象的键当中"
+
+#: utils/adt/json.c:2262
+#, c-format
+#| msgid "mismatched parentheses"
+msgid "mismatched array dimensions"
+msgstr "不匹配的数组维数"
+
+#: utils/adt/jsonb.c:202
+#, c-format
+#| msgid "bit string too long for type bit varying(%d)"
+msgid "string too long to represent as jsonb string"
+msgstr "用于描述jsonb字符串的字符串太长了"
+
+#: utils/adt/jsonb.c:203
+#, c-format
+msgid ""
+"Due to an implementation restriction, jsonb strings cannot exceed %d bytes."
+msgstr "因为实现方面的限制,jsonb字符串不能超过%d个字节."
+
+#: utils/adt/jsonb_util.c:622
+#, c-format
+#| msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
+msgid "number of jsonb object pairs exceeds the maximum allowed (%zu)"
+msgstr "jsonb对象结对的数目超过了最大允许值(%zu)"
+
+#: utils/adt/jsonb_util.c:663
+#, c-format
+#| msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
+msgid "number of jsonb array elements exceeds the maximum allowed (%zu)"
+msgstr "jsonb数组元素的数目超过了最大允许值(%zu)"
+
+#: utils/adt/jsonb_util.c:1490 utils/adt/jsonb_util.c:1510
+#, c-format
+#| msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
+msgid "total size of jsonb array elements exceeds the maximum of %u bytes"
+msgstr "jsonb数组的元素的总大小超过了最大值%u字节"
+
+#: utils/adt/jsonb_util.c:1571 utils/adt/jsonb_util.c:1606
+#: utils/adt/jsonb_util.c:1626
+#, c-format
+msgid "total size of jsonb object elements exceeds the maximum of %u bytes"
+msgstr "jsonb对象元素的总大小不能超过最大 %u 字节"
+
+#: utils/adt/jsonfuncs.c:263 utils/adt/jsonfuncs.c:428
+#: utils/adt/jsonfuncs.c:1968 utils/adt/jsonfuncs.c:2405
+#: utils/adt/jsonfuncs.c:2911
+#, c-format
+#| msgid "cannot cast type %s to %s"
+msgid "cannot call %s on a scalar"
+msgstr "无法在标量上调用%s"
+
+#: utils/adt/jsonfuncs.c:268 utils/adt/jsonfuncs.c:415
+#: utils/adt/jsonfuncs.c:2394
+#, c-format
+#| msgid "cannot accept a value of type anyarray"
+msgid "cannot call %s on an array"
+msgstr "无法在数组上调用%s"
+
+#: utils/adt/jsonfuncs.c:1276 utils/adt/jsonfuncs.c:1311
+#, c-format
+#| msgid "cannot set an array element to DEFAULT"
+msgid "cannot get array length of a scalar"
+msgstr "无法得到一个标题的数组长度"
+
+#: utils/adt/jsonfuncs.c:1280 utils/adt/jsonfuncs.c:1299
+#, c-format
+#| msgid "cannot accept a value of type anynonarray"
+msgid "cannot get array length of a non-array"
+msgstr "无法从一个非数组里得到数组的长度"
+
+#: utils/adt/jsonfuncs.c:1376
+#, c-format
+msgid "cannot call %s on a non-object"
+msgstr "不能在非对象上调用 %s "
+
+#: utils/adt/jsonfuncs.c:1394 utils/adt/jsonfuncs.c:2081
+#: utils/adt/jsonfuncs.c:2614
+#, c-format
+msgid ""
+"function returning record called in context that cannot accept type record"
+msgstr "返回值类型是记录的函数在不接受使用记录类型的环境中调用"
+
+#: utils/adt/jsonfuncs.c:1637
+#, c-format
+msgid "cannot deconstruct an array as an object"
+msgstr "不能将一个数组析构为一个对象"
+
+#: utils/adt/jsonfuncs.c:1649
+#, c-format
+#| msgid "cannot convert NaN to smallint"
+msgid "cannot deconstruct a scalar"
+msgstr "无法析构一个标量"
+
+#: utils/adt/jsonfuncs.c:1695
+#, c-format
+#| msgid "cannot export a snapshot from a subtransaction"
+msgid "cannot extract elements from a scalar"
+msgstr "无法从标题值时提取元素"
+
+#: utils/adt/jsonfuncs.c:1699
+#, c-format
+#| msgid "could not extract bytes from encoded string"
+msgid "cannot extract elements from an object"
+msgstr "无法从一个对象里提取元素"
+
+#: utils/adt/jsonfuncs.c:1955 utils/adt/jsonfuncs.c:2710
+#, c-format
+#| msgid "cannot accept a value of type anynonarray"
+msgid "cannot call %s on a non-array"
+msgstr "非数组上不能调用%s"
+
+#: utils/adt/jsonfuncs.c:2042 utils/adt/jsonfuncs.c:2590
+#, c-format
+#| msgid "argument of %s must be a type name"
+msgid "first argument of %s must be a row type"
+msgstr "%s 的第一个参数必需是一个行类型"
+
+#: utils/adt/jsonfuncs.c:2083
+#, c-format
+msgid ""
+"Try calling the function in the FROM clause using a column definition list."
+msgstr "试图在FROM子句时在,使用列定义列表调用该函数."
+
+#: utils/adt/jsonfuncs.c:2726 utils/adt/jsonfuncs.c:2893
+#, c-format
+#| msgid "argument of %s must be a name"
+msgid "argument of %s must be an array of objects"
+msgstr "%s 的参数必须是一个对象数组"
+
+#: utils/adt/jsonfuncs.c:2750
+#, c-format
+msgid "cannot call %s on an object"
+msgstr "不能在一个对象上调用%s"
+
+#: utils/adt/like.c:211 utils/adt/selfuncs.c:5220
+#, c-format
+msgid "could not determine which collation to use for ILIKE"
+msgstr "无法确定ILIKE使用哪种排序规则"
+
+#: utils/adt/like_match.c:104 utils/adt/like_match.c:164
+#, c-format
+msgid "LIKE pattern must not end with escape character"
+msgstr "LIKE模式不能以转义字符结束"
+
+#: utils/adt/like_match.c:289 utils/adt/regexp.c:694
+#, c-format
+msgid "invalid escape string"
+msgstr "无效的逃逸字符串"
+
+#: utils/adt/like_match.c:290 utils/adt/regexp.c:695
+#, c-format
+msgid "Escape string must be empty or one character."
+msgstr "逃逸字符串必须为空或者一个字符."
+
+#: utils/adt/mac.c:65
+#, c-format
+msgid "invalid input syntax for type macaddr: \"%s\""
+msgstr "无效的 macaddr 类型输入语法: \"%s\""
+
+#: utils/adt/mac.c:72
+#, c-format
+msgid "invalid octet value in \"macaddr\" value: \"%s\""
msgstr "在 \"macaddr\" 值中的无效八位值: \"%s\""
-#: utils/adt/misc.c:109
+#: utils/adt/misc.c:111
#, c-format
msgid "PID %d is not a PostgreSQL server process"
msgstr "PID %d 不是 PostgreSQL 服务器进程"
-#: utils/adt/misc.c:152
+#: utils/adt/misc.c:154
#, c-format
msgid ""
"must be superuser or have the same role to cancel queries running in other "
"server processes"
msgstr "只有超级用户或拥有相同角色的用户可以取消其他服务器进程中的查询"
-#: utils/adt/misc.c:169
+#: utils/adt/misc.c:171
#, c-format
msgid ""
"must be superuser or have the same role to terminate other server processes"
msgstr "只有超级用户或拥有相同角色的用户可以终止其他服务器进程"
-#: utils/adt/misc.c:183
+#: utils/adt/misc.c:185
#, c-format
msgid "must be superuser to signal the postmaster"
msgstr "只有超级用户可以发送信号到postmaster进程"
-#: utils/adt/misc.c:188
+#: utils/adt/misc.c:190
#, c-format
msgid "failed to send signal to postmaster: %m"
msgstr "无法发送信号到postmaster进程: %m"
-#: utils/adt/misc.c:205
+#: utils/adt/misc.c:207
#, c-format
msgid "must be superuser to rotate log files"
msgstr "只有超级用户能切换日志文件"
-#: utils/adt/misc.c:210
+#: utils/adt/misc.c:212
#, c-format
msgid "rotation not possible because log collection not active"
msgstr "日志切换无法进行,因为没有激活日志收集功能"
-#: utils/adt/misc.c:252
+#: utils/adt/misc.c:249
#, c-format
msgid "global tablespace never has databases"
msgstr "全局表空间没有数据库"
-#: utils/adt/misc.c:273
+#: utils/adt/misc.c:270
#, c-format
msgid "%u is not a tablespace OID"
msgstr "%u 不是一个表空间 OID"
-#: utils/adt/misc.c:463
+#: utils/adt/misc.c:465
msgid "unreserved"
msgstr "未保留"
-#: utils/adt/misc.c:467
+#: utils/adt/misc.c:469
msgid "unreserved (cannot be function or type name)"
msgstr "未保留(不能是函数或者类型名称)"
-#: utils/adt/misc.c:471
+#: utils/adt/misc.c:473
msgid "reserved (can be function or type name)"
msgstr "已保留(可以是函数或类型名称)"
-#: utils/adt/misc.c:475
+#: utils/adt/misc.c:477
msgid "reserved"
msgstr "已保留"
-#: utils/adt/nabstime.c:161
+#: utils/adt/nabstime.c:136
#, c-format
msgid "invalid time zone name: \"%s\""
msgstr "无效时区名字: \"%s\""
-#: utils/adt/nabstime.c:507 utils/adt/nabstime.c:580
+#: utils/adt/nabstime.c:481 utils/adt/nabstime.c:554
#, c-format
msgid "cannot convert abstime \"invalid\" to timestamp"
msgstr "无法把 abstime \"invalid\" 转换为 timestamp."
-#: utils/adt/nabstime.c:807
+#: utils/adt/nabstime.c:781
#, c-format
msgid "invalid status in external \"tinterval\" value"
msgstr "无效的外部 \"tinterval\" 值状态"
-#: utils/adt/nabstime.c:881
+#: utils/adt/nabstime.c:855
#, c-format
msgid "cannot convert reltime \"invalid\" to interval"
msgstr "无法把 reltime \"invalid\" 转换为 interval"
-#: utils/adt/nabstime.c:1576
+#: utils/adt/nabstime.c:1550
#, c-format
msgid "invalid input syntax for type tinterval: \"%s\""
msgstr "无效的 tinterval 类型输入语法: \"%s\""
-#: utils/adt/network.c:118
+#: utils/adt/network.c:69
#, c-format
msgid "invalid cidr value: \"%s\""
msgstr "无效的 cidr 值: \"%s\""
-#: utils/adt/network.c:119 utils/adt/network.c:249
+#: utils/adt/network.c:70 utils/adt/network.c:200
#, c-format
msgid "Value has bits set to right of mask."
msgstr "这个值带有的bit集合,在掩码的右边."
-#: utils/adt/network.c:160 utils/adt/network.c:614 utils/adt/network.c:639
-#: utils/adt/network.c:664
+#: utils/adt/network.c:111 utils/adt/network.c:580 utils/adt/network.c:605
+#: utils/adt/network.c:630
#, c-format
msgid "could not format inet value: %m"
msgstr "无法格式化 inet 值: %m"
#. translator: %s is inet or cidr
-#: utils/adt/network.c:217
+#: utils/adt/network.c:168
#, c-format
msgid "invalid address family in external \"%s\" value"
msgstr "在外部\"%s\"值中的地址族无效"
#. translator: %s is inet or cidr
-#: utils/adt/network.c:224
+#: utils/adt/network.c:175
#, c-format
msgid "invalid bits in external \"%s\" value"
msgstr "在外部\"%s\"值中的bit无效"
#. translator: %s is inet or cidr
-#: utils/adt/network.c:233
+#: utils/adt/network.c:184
#, c-format
msgid "invalid length in external \"%s\" value"
msgstr "在外部\"%s\"值中的长度无效"
-#: utils/adt/network.c:248
+#: utils/adt/network.c:199
#, c-format
msgid "invalid external \"cidr\" value"
msgstr "无效的外部 \"cidr\" 值"
-#: utils/adt/network.c:370 utils/adt/network.c:397
+#: utils/adt/network.c:321 utils/adt/network.c:348
#, c-format
msgid "invalid mask length: %d"
msgstr "无效掩码长度: %d"
-#: utils/adt/network.c:682
+#: utils/adt/network.c:648
#, c-format
msgid "could not format cidr value: %m"
msgstr "无法格式化cidr值: %m"
-#: utils/adt/network.c:1255
+#: utils/adt/network.c:1264
#, c-format
msgid "cannot AND inet values of different sizes"
msgstr "无法为不同大小的inet类型值进行与 (AND) 位运算"
-#: utils/adt/network.c:1287
+#: utils/adt/network.c:1296
#, c-format
msgid "cannot OR inet values of different sizes"
msgstr "无法为不同大小的inet类型值进行或 (OR) 运算"
-#: utils/adt/network.c:1348 utils/adt/network.c:1424
+#: utils/adt/network.c:1357 utils/adt/network.c:1433
#, c-format
msgid "result is out of range"
msgstr "结果超出范围"
-#: utils/adt/network.c:1389
+#: utils/adt/network.c:1398
#, c-format
msgid "cannot subtract inet values of different sizes"
msgstr "无法为不同大小的inet类型值进行减法运算"
-#: utils/adt/numeric.c:474 utils/adt/numeric.c:501 utils/adt/numeric.c:3322
-#: utils/adt/numeric.c:3345 utils/adt/numeric.c:3369 utils/adt/numeric.c:3376
+#: utils/adt/numeric.c:485 utils/adt/numeric.c:512 utils/adt/numeric.c:3689
+#: utils/adt/numeric.c:3712 utils/adt/numeric.c:3736 utils/adt/numeric.c:3743
#, c-format
msgid "invalid input syntax for type numeric: \"%s\""
msgstr "无效的数字类型输入语法: \"%s\""
-#: utils/adt/numeric.c:654
+#: utils/adt/numeric.c:702
#, c-format
msgid "invalid length in external \"numeric\" value"
msgstr "无效的外部 \"numeric\" 值长度"
-#: utils/adt/numeric.c:665
+#: utils/adt/numeric.c:713
#, c-format
msgid "invalid sign in external \"numeric\" value"
msgstr "无效的外部 \"numeric\" 值符号"
-#: utils/adt/numeric.c:675
+#: utils/adt/numeric.c:723
#, c-format
msgid "invalid digit in external \"numeric\" value"
msgstr "无效的外部 \"numeric\" 值位数"
-#: utils/adt/numeric.c:861 utils/adt/numeric.c:875
+#: utils/adt/numeric.c:906 utils/adt/numeric.c:920
#, c-format
msgid "NUMERIC precision %d must be between 1 and %d"
msgstr "NUMERIC %d 的精度必须在 1 和 %d 之间"
-#: utils/adt/numeric.c:866
+#: utils/adt/numeric.c:911
#, c-format
msgid "NUMERIC scale %d must be between 0 and precision %d"
msgstr "NUMERIC 数值范围 %d 必须在 0 和精度 %d 之间"
# fe-exec.c:2055
-#: utils/adt/numeric.c:884
+#: utils/adt/numeric.c:929
#, c-format
msgid "invalid NUMERIC type modifier"
msgstr "无效的NUMERIC类型修改器"
-#: utils/adt/numeric.c:1928 utils/adt/numeric.c:3801
+#: utils/adt/numeric.c:1936 utils/adt/numeric.c:4186 utils/adt/numeric.c:6155
#, c-format
msgid "value overflows numeric format"
msgstr "值溢出数字格式"
-#: utils/adt/numeric.c:2276
+#: utils/adt/numeric.c:2267
#, c-format
msgid "cannot convert NaN to integer"
msgstr "无法转化 NaN 为整数"
-#: utils/adt/numeric.c:2344
+#: utils/adt/numeric.c:2333
#, c-format
msgid "cannot convert NaN to bigint"
msgstr "无法转换 NaN 为 bigint"
-#: utils/adt/numeric.c:2392
+#: utils/adt/numeric.c:2378
#, c-format
msgid "cannot convert NaN to smallint"
msgstr "无法转换 NaN 为 smallint"
-#: utils/adt/numeric.c:3871
+#: utils/adt/numeric.c:4256
#, c-format
msgid "numeric field overflow"
msgstr "数字字段溢出"
-#: utils/adt/numeric.c:3872
+#: utils/adt/numeric.c:4257
#, c-format
msgid ""
"A field with precision %d, scale %d must round to an absolute value less "
"than %s%d."
msgstr "精度为%d,范围是%d的字段必须四舍五入到小于%s%d的绝对值."
-#: utils/adt/numeric.c:5320
+#: utils/adt/numeric.c:5712
#, c-format
msgid "argument for function \"exp\" too big"
msgstr "对于函数 \"exp\" 参数太大"
msgid "requested character too large"
msgstr "所请求的字符太大"
-#: utils/adt/oracle_compat.c:941 utils/adt/oracle_compat.c:995
+#: utils/adt/oracle_compat.c:945 utils/adt/oracle_compat.c:1007
#, c-format
msgid "requested character too large for encoding: %d"
msgstr "对于编码来说所要求的字符太大了: %d"
-#: utils/adt/oracle_compat.c:988
+#: utils/adt/oracle_compat.c:986
+#, c-format
+#| msgid "requested character too large for encoding: %d"
+msgid "requested character not valid for encoding: %d"
+msgstr "请求的字符对于编码:%d是无效的"
+
+#: utils/adt/oracle_compat.c:1000
#, c-format
msgid "null character not permitted"
msgstr "不允许使用空字符"
-#: utils/adt/pg_locale.c:967
+#: utils/adt/orderedsetaggs.c:423 utils/adt/orderedsetaggs.c:528
+#: utils/adt/orderedsetaggs.c:667
+#, c-format
+msgid "percentile value %g is not between 0 and 1"
+msgstr "百分比值 %g 不在0和1之间"
+
+#: utils/adt/pg_locale.c:1039
#, c-format
msgid "could not create locale \"%s\": %m"
msgstr "无法创建本地化环境 \"%s\": %m"
-#: utils/adt/pg_locale.c:970
+#: utils/adt/pg_locale.c:1042
#, c-format
msgid ""
"The operating system could not find any locale data for the locale name \"%s"
"\"."
msgstr "操作系统无法找到本地化名 \"%s\"对应的任何本地化数据."
-#: utils/adt/pg_locale.c:1057
+#: utils/adt/pg_locale.c:1129
#, c-format
msgid ""
"collations with different collate and ctype values are not supported on this "
"platform"
msgstr "在此平台上不支持带有不同collate和ctype值的排序规则"
-#: utils/adt/pg_locale.c:1072
+#: utils/adt/pg_locale.c:1144
#, c-format
msgid "nondefault collations are not supported on this platform"
msgstr "在这个平台上不支持使用非缺省的排序规则"
-#: utils/adt/pg_locale.c:1243
+#: utils/adt/pg_locale.c:1315
#, c-format
msgid "invalid multibyte character for locale"
msgstr "无效的多字节字符, 对于 locale"
-#: utils/adt/pg_locale.c:1244
+#: utils/adt/pg_locale.c:1316
#, c-format
msgid ""
"The server's LC_CTYPE locale is probably incompatible with the database "
"encoding."
msgstr "服务器本地 LC_CTYPE 可能与数据库编码不兼容."
+#: utils/adt/pg_lsn.c:44 utils/adt/pg_lsn.c:49
+#, c-format
+#| msgid "invalid input syntax for type line: \"%s\""
+msgid "invalid input syntax for type pg_lsn: \"%s\""
+msgstr "类型 pg_lsn: \"%s\"使用了无效的输入语法"
+
#: utils/adt/pseudotypes.c:95
#, c-format
msgid "cannot accept a value of type any"
#: utils/adt/pseudotypes.c:303
#, c-format
+#| msgid "cannot accept a value of type trigger"
+msgid "cannot accept a value of type event_trigger"
+msgstr "无法接受一个 事件触发器的 类型值"
+
+#: utils/adt/pseudotypes.c:316
+#, c-format
+#| msgid "cannot display a value of type trigger"
+msgid "cannot display a value of type event_trigger"
+msgstr "无法显示一个 事件触发器的 类型值"
+
+#: utils/adt/pseudotypes.c:330
+#, c-format
msgid "cannot accept a value of type language_handler"
msgstr "无法接受一个 language_handler 类型值"
-#: utils/adt/pseudotypes.c:316
+#: utils/adt/pseudotypes.c:343
#, c-format
msgid "cannot display a value of type language_handler"
msgstr "无法显示一个 language_handler 类型值"
-#: utils/adt/pseudotypes.c:330
+#: utils/adt/pseudotypes.c:357
#, c-format
msgid "cannot accept a value of type fdw_handler"
msgstr "无法接受一个 fdw_handler 类型值"
-#: utils/adt/pseudotypes.c:343
+#: utils/adt/pseudotypes.c:370
#, c-format
msgid "cannot display a value of type fdw_handler"
msgstr "无法显示一个 fdw_handler 类型值"
-#: utils/adt/pseudotypes.c:357
+#: utils/adt/pseudotypes.c:384
#, c-format
msgid "cannot accept a value of type internal"
msgstr "无法接受一个 internal 类型值"
-#: utils/adt/pseudotypes.c:370
+#: utils/adt/pseudotypes.c:397
#, c-format
msgid "cannot display a value of type internal"
msgstr "无法显示一个 internal 类型值"
-#: utils/adt/pseudotypes.c:384
+#: utils/adt/pseudotypes.c:411
#, c-format
msgid "cannot accept a value of type opaque"
msgstr "无法接受一个 opaque 类型值"
-#: utils/adt/pseudotypes.c:397
+#: utils/adt/pseudotypes.c:424
#, c-format
msgid "cannot display a value of type opaque"
msgstr "无法显示一个 opaque 类型值"
-#: utils/adt/pseudotypes.c:411
+#: utils/adt/pseudotypes.c:438
#, c-format
msgid "cannot accept a value of type anyelement"
msgstr "无法接受一个 anyelement 类型值"
-#: utils/adt/pseudotypes.c:424
+#: utils/adt/pseudotypes.c:451
#, c-format
msgid "cannot display a value of type anyelement"
msgstr "无法显示一个 anyelement 类型值"
-#: utils/adt/pseudotypes.c:437
+#: utils/adt/pseudotypes.c:464
#, c-format
msgid "cannot accept a value of type anynonarray"
msgstr "无法接受一个anynonarray类型值"
-#: utils/adt/pseudotypes.c:450
+#: utils/adt/pseudotypes.c:477
#, c-format
msgid "cannot display a value of type anynonarray"
msgstr "无法显示一个anynonarray类型的值"
-#: utils/adt/pseudotypes.c:463
+#: utils/adt/pseudotypes.c:490
#, c-format
msgid "cannot accept a value of a shell type"
msgstr "无法接受一个shell类型的值"
-#: utils/adt/pseudotypes.c:476
+#: utils/adt/pseudotypes.c:503
#, c-format
msgid "cannot display a value of a shell type"
msgstr "无法显示一个shell类型值"
-#: utils/adt/pseudotypes.c:498 utils/adt/pseudotypes.c:522
+#: utils/adt/pseudotypes.c:525 utils/adt/pseudotypes.c:549
#, c-format
msgid "cannot accept a value of type pg_node_tree"
msgstr "无法接受一个 pg_node_tree类型值"
#: utils/adt/rangetypes.c:396
#, c-format
-msgid "range constructor flags argument must not be NULL"
-msgstr "范围构造器的开关参数不能为NULL"
+#| msgid "range constructor flags argument must not be NULL"
+msgid "range constructor flags argument must not be null"
+msgstr "范围构造器的参数不能为NULL"
-#: utils/adt/rangetypes.c:978
+#: utils/adt/rangetypes.c:983
#, c-format
msgid "result of range difference would not be contiguous"
msgstr "距离差结果不能是连续的"
-#: utils/adt/rangetypes.c:1039
+#: utils/adt/rangetypes.c:1044
#, c-format
msgid "result of range union would not be contiguous"
msgstr "范围并的结果不能是连续的"
-#: utils/adt/rangetypes.c:1508
+#: utils/adt/rangetypes.c:1502
#, c-format
msgid "range lower bound must be less than or equal to range upper bound"
msgstr "范围下限必须小于或等于其上限"
-#: utils/adt/rangetypes.c:1891 utils/adt/rangetypes.c:1904
-#: utils/adt/rangetypes.c:1918
+#: utils/adt/rangetypes.c:1885 utils/adt/rangetypes.c:1898
+#: utils/adt/rangetypes.c:1912
#, c-format
msgid "invalid range bound flags"
msgstr "无效的范围边界标记"
-#: utils/adt/rangetypes.c:1892 utils/adt/rangetypes.c:1905
-#: utils/adt/rangetypes.c:1919
+#: utils/adt/rangetypes.c:1886 utils/adt/rangetypes.c:1899
+#: utils/adt/rangetypes.c:1913
#, c-format
msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"."
msgstr "有效值为\"[]\", \"[)\", \"(]\", 和 \"()\"."
-#: utils/adt/rangetypes.c:1984 utils/adt/rangetypes.c:2001
-#: utils/adt/rangetypes.c:2014 utils/adt/rangetypes.c:2032
-#: utils/adt/rangetypes.c:2043 utils/adt/rangetypes.c:2087
-#: utils/adt/rangetypes.c:2095
+#: utils/adt/rangetypes.c:1978 utils/adt/rangetypes.c:1995
+#: utils/adt/rangetypes.c:2008 utils/adt/rangetypes.c:2026
+#: utils/adt/rangetypes.c:2037 utils/adt/rangetypes.c:2081
+#: utils/adt/rangetypes.c:2089
#, c-format
msgid "malformed range literal: \"%s\""
msgstr "有缺陷的范围字串:\"%s\""
-#: utils/adt/rangetypes.c:1986
+#: utils/adt/rangetypes.c:1980
#, c-format
-msgid "Junk after \"empty\" keyword."
-msgstr "\"empty\" 关键字后有垃圾字符."
+#| msgid "Junk after \"empty\" keyword."
+msgid "Junk after \"empty\" key word."
+msgstr "\"empty\" 关键字后有Junk标识."
-#: utils/adt/rangetypes.c:2003
+#: utils/adt/rangetypes.c:1997
#, c-format
msgid "Missing left parenthesis or bracket."
msgstr "缺少一个左大括弧或左方括弧."
-#: utils/adt/rangetypes.c:2016
+#: utils/adt/rangetypes.c:2010
#, c-format
msgid "Missing comma after lower bound."
msgstr "下界后缺少逗号."
-#: utils/adt/rangetypes.c:2034
+#: utils/adt/rangetypes.c:2028
#, c-format
msgid "Too many commas."
msgstr "太多逗号."
-#: utils/adt/rangetypes.c:2045
+#: utils/adt/rangetypes.c:2039
#, c-format
msgid "Junk after right parenthesis or bracket."
msgstr "右大括号或右中括弧后的内容无用."
-#: utils/adt/rangetypes.c:2089 utils/adt/rangetypes.c:2097
-#: utils/adt/rowtypes.c:205 utils/adt/rowtypes.c:213
+#: utils/adt/rangetypes.c:2083 utils/adt/rangetypes.c:2091
+#: utils/adt/rowtypes.c:208 utils/adt/rowtypes.c:216
#, c-format
msgid "Unexpected end of input."
msgstr "意外的输入末尾"
-#: utils/adt/regexp.c:274 utils/adt/regexp.c:1223 utils/adt/varlena.c:2919
+#: utils/adt/regexp.c:285 utils/adt/regexp.c:1234 utils/adt/varlena.c:3042
#, c-format
msgid "regular expression failed: %s"
msgstr "正则表达式失败: %s"
-#: utils/adt/regexp.c:411
+#: utils/adt/regexp.c:422
#, c-format
msgid "invalid regexp option: \"%c\""
msgstr "无效的正则表达式选项: \"%c\""
-#: utils/adt/regexp.c:883
+#: utils/adt/regexp.c:894
#, c-format
msgid "regexp_split does not support the global option"
msgstr "regexp_split 不支持全局选项"
-#: utils/adt/regproc.c:123 utils/adt/regproc.c:143
+#: utils/adt/regproc.c:127 utils/adt/regproc.c:147
#, c-format
msgid "more than one function named \"%s\""
msgstr "多个函数名为 \"%s\""
-#: utils/adt/regproc.c:468 utils/adt/regproc.c:488
+#: utils/adt/regproc.c:551 utils/adt/regproc.c:571
#, c-format
msgid "more than one operator named %s"
msgstr "多个操作符名为 %s"
-#: utils/adt/regproc.c:630 gram.y:6386
-#, c-format
-msgid "missing argument"
-msgstr "缺少参数"
-
-#: utils/adt/regproc.c:631 gram.y:6387
-#, c-format
-msgid "Use NONE to denote the missing argument of a unary operator."
-msgstr "使用 NONE 表示一元操作符缺少的参数."
-
-#: utils/adt/regproc.c:635 utils/adt/regproc.c:1488 utils/adt/ruleutils.c:6044
-#: utils/adt/ruleutils.c:6099 utils/adt/ruleutils.c:6136
+#: utils/adt/regproc.c:743 utils/adt/regproc.c:784 utils/adt/regproc.c:1702
+#: utils/adt/ruleutils.c:7626 utils/adt/ruleutils.c:7749
#, c-format
msgid "too many arguments"
msgstr "太多参数"
-#: utils/adt/regproc.c:636
+#: utils/adt/regproc.c:744 utils/adt/regproc.c:785
#, c-format
msgid "Provide two argument types for operator."
msgstr "为操作符提供两个参数类型."
-#: utils/adt/regproc.c:1323 utils/adt/regproc.c:1328 utils/adt/varlena.c:2304
-#: utils/adt/varlena.c:2309
+#: utils/adt/regproc.c:1537 utils/adt/regproc.c:1542 utils/adt/varlena.c:2313
+#: utils/adt/varlena.c:2318
#, c-format
msgid "invalid name syntax"
msgstr "无效的名字语法"
-#: utils/adt/regproc.c:1386
+#: utils/adt/regproc.c:1600
#, c-format
msgid "expected a left parenthesis"
msgstr "需要一个左括弧"
-#: utils/adt/regproc.c:1402
+#: utils/adt/regproc.c:1616
#, c-format
msgid "expected a right parenthesis"
msgstr "需要一个右括弧"
-#: utils/adt/regproc.c:1421
+#: utils/adt/regproc.c:1635
#, c-format
msgid "expected a type name"
msgstr "需要一个类型名字"
-#: utils/adt/regproc.c:1453
+#: utils/adt/regproc.c:1667
#, c-format
msgid "improper type name"
msgstr "不正确的类型名字"
-#: utils/adt/ri_triggers.c:375 utils/adt/ri_triggers.c:435
-#: utils/adt/ri_triggers.c:598 utils/adt/ri_triggers.c:838
-#: utils/adt/ri_triggers.c:1026 utils/adt/ri_triggers.c:1188
-#: utils/adt/ri_triggers.c:1376 utils/adt/ri_triggers.c:1547
-#: utils/adt/ri_triggers.c:1730 utils/adt/ri_triggers.c:1901
-#: utils/adt/ri_triggers.c:2117 utils/adt/ri_triggers.c:2299
-#: utils/adt/ri_triggers.c:2502 utils/adt/ri_triggers.c:2550
-#: utils/adt/ri_triggers.c:2595 utils/adt/ri_triggers.c:2757 gram.y:2969
-#, c-format
-msgid "MATCH PARTIAL not yet implemented"
-msgstr "MATCH PARTIAL 仍未实现"
-
-#: utils/adt/ri_triggers.c:409 utils/adt/ri_triggers.c:2841
-#: utils/adt/ri_triggers.c:3536 utils/adt/ri_triggers.c:3568
+#: utils/adt/ri_triggers.c:339 utils/adt/ri_triggers.c:2474
+#: utils/adt/ri_triggers.c:3227
#, c-format
msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\""
msgstr "插入或更新表 \"%s\" 违反外键约束 \"%s\""
-#: utils/adt/ri_triggers.c:412 utils/adt/ri_triggers.c:2844
+#: utils/adt/ri_triggers.c:342 utils/adt/ri_triggers.c:2477
#, c-format
msgid "MATCH FULL does not allow mixing of null and nonnull key values."
msgstr "MATCH FULL 不允许空和非空键值的混合."
-#: utils/adt/ri_triggers.c:3097
+#: utils/adt/ri_triggers.c:2716
#, c-format
msgid "function \"%s\" must be fired for INSERT"
msgstr "函数 \"%s\"必须为INSERT操作触发"
-#: utils/adt/ri_triggers.c:3103
+#: utils/adt/ri_triggers.c:2722
#, c-format
msgid "function \"%s\" must be fired for UPDATE"
msgstr "函数 \"%s\"必须为UPDATE操作触发"
-#: utils/adt/ri_triggers.c:3117
+#: utils/adt/ri_triggers.c:2728
#, c-format
msgid "function \"%s\" must be fired for DELETE"
msgstr "函数 \"%s\"必须为DELETE操作触发"
-#: utils/adt/ri_triggers.c:3146
+#: utils/adt/ri_triggers.c:2751
#, c-format
msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\""
msgstr "在pg_constraint上没有对于表 \"%2$s\" 上的触发器 \"%1$s\" 的项"
-#: utils/adt/ri_triggers.c:3148
+#: utils/adt/ri_triggers.c:2753
#, c-format
msgid ""
"Remove this referential integrity trigger and its mates, then do ALTER TABLE "
"删除这个参照完整性触发器和与它相关的对象,然后执行ALTER TABLE ADD CONSTRAINT"
"操作."
-#: utils/adt/ri_triggers.c:3503
+#: utils/adt/ri_triggers.c:3177
#, c-format
msgid ""
"referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave "
msgstr ""
"从在\"%3$s\"的约束\"%2$s\"中在\"%1$s\"上执行的参照完整性查询得出非期待结果."
-#: utils/adt/ri_triggers.c:3507
+#: utils/adt/ri_triggers.c:3181
#, c-format
msgid "This is most likely due to a rule having rewritten the query."
msgstr "这很可能是由于规则正在重写查询"
-#: utils/adt/ri_triggers.c:3538
-#, c-format
-msgid "No rows were found in \"%s\"."
-msgstr "在 \"%s\" 没有发现行."
-
-#: utils/adt/ri_triggers.c:3570
+#: utils/adt/ri_triggers.c:3230
#, c-format
msgid "Key (%s)=(%s) is not present in table \"%s\"."
msgstr "键值对(%s)=(%s)没有在表\"%s\"中出现."
-#: utils/adt/ri_triggers.c:3576
+#: utils/adt/ri_triggers.c:3237
#, c-format
msgid ""
"update or delete on table \"%s\" violates foreign key constraint \"%s\" on "
"table \"%s\""
msgstr "在 \"%1$s\" 上的更新或删除操作违反了在 \"%3$s\" 上的外键约束 \"%2$s\""
-#: utils/adt/ri_triggers.c:3579
+#: utils/adt/ri_triggers.c:3241
#, c-format
msgid "Key (%s)=(%s) is still referenced from table \"%s\"."
msgstr "键值对(%s)=(%s)仍然是从表\"%s\"引用的."
-#: utils/adt/rowtypes.c:99 utils/adt/rowtypes.c:488
+#: utils/adt/rowtypes.c:102 utils/adt/rowtypes.c:477
#, c-format
msgid "input of anonymous composite types is not implemented"
msgstr "匿名复合类型输入仍未实现"
-#: utils/adt/rowtypes.c:152 utils/adt/rowtypes.c:180 utils/adt/rowtypes.c:203
-#: utils/adt/rowtypes.c:211 utils/adt/rowtypes.c:263 utils/adt/rowtypes.c:271
+#: utils/adt/rowtypes.c:155 utils/adt/rowtypes.c:183 utils/adt/rowtypes.c:206
+#: utils/adt/rowtypes.c:214 utils/adt/rowtypes.c:266 utils/adt/rowtypes.c:274
#, c-format
msgid "malformed record literal: \"%s\""
msgstr "有缺陷的记录常量: \"%s\""
-#: utils/adt/rowtypes.c:153
+#: utils/adt/rowtypes.c:156
#, c-format
msgid "Missing left parenthesis."
msgstr "缺少一个左括弧"
-#: utils/adt/rowtypes.c:181
+#: utils/adt/rowtypes.c:184
#, c-format
msgid "Too few columns."
msgstr "字段太少."
-#: utils/adt/rowtypes.c:264
+#: utils/adt/rowtypes.c:267
#, c-format
msgid "Too many columns."
msgstr "太多字段."
-#: utils/adt/rowtypes.c:272
+#: utils/adt/rowtypes.c:275
#, c-format
msgid "Junk after right parenthesis."
msgstr "右括号后的内容无用."
-#: utils/adt/rowtypes.c:537
+#: utils/adt/rowtypes.c:526
#, c-format
msgid "wrong number of columns: %d, expected %d"
msgstr "错误的字段个数: %d, 期望为 %d"
-#: utils/adt/rowtypes.c:564
+#: utils/adt/rowtypes.c:553
#, c-format
msgid "wrong data type: %u, expected %u"
msgstr "错误的数据类型: %u, 期望为 %u"
-#: utils/adt/rowtypes.c:625
+#: utils/adt/rowtypes.c:614
#, c-format
msgid "improper binary format in record column %d"
msgstr "在记录字段 %d 为不正确的二进制格式"
-#: utils/adt/rowtypes.c:925 utils/adt/rowtypes.c:1160
+#: utils/adt/rowtypes.c:896 utils/adt/rowtypes.c:1134
+#: utils/adt/rowtypes.c:1388 utils/adt/rowtypes.c:1665
#, c-format
msgid "cannot compare dissimilar column types %s and %s at record column %d"
msgstr "在记录列%3$d上不能对不相似的列类型%1$s和%2$s进行比较"
-#: utils/adt/rowtypes.c:1011 utils/adt/rowtypes.c:1231
+#: utils/adt/rowtypes.c:985 utils/adt/rowtypes.c:1205
+#: utils/adt/rowtypes.c:1521 utils/adt/rowtypes.c:1761
#, c-format
msgid "cannot compare record types with different numbers of columns"
msgstr "无法比较不同元素类型的数组"
-#: utils/adt/ruleutils.c:2478
+#: utils/adt/ruleutils.c:3999
#, c-format
msgid "rule \"%s\" has unsupported event type %d"
msgstr "规则 \"%s\" 不支持事件类型 %d"
-#: utils/adt/selfuncs.c:5170
+#: utils/adt/selfuncs.c:5205
#, c-format
msgid "case insensitive matching not supported on type bytea"
msgstr "在类型bytea上不支持对不区分大小写的匹配"
-#: utils/adt/selfuncs.c:5273
+#: utils/adt/selfuncs.c:5308
#, c-format
msgid "regular-expression matching not supported on type bytea"
msgstr "在 bytea 类型上不支持正则表达式匹配"
-#: utils/adt/tid.c:70 utils/adt/tid.c:78 utils/adt/tid.c:86
+#: utils/adt/tid.c:71 utils/adt/tid.c:79 utils/adt/tid.c:87
#, c-format
msgid "invalid input syntax for type tid: \"%s\""
msgstr "无效的 tid 类型输入语法: \"%s\""
-#: utils/adt/timestamp.c:98
+#: utils/adt/timestamp.c:107
#, c-format
msgid "TIMESTAMP(%d)%s precision must not be negative"
msgstr "TIMESTAMP(%d)%s 精确度不能为负数"
-#: utils/adt/timestamp.c:104
+#: utils/adt/timestamp.c:113
#, c-format
msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d"
msgstr "将TIMESTAMP(%d)%s减少到最大允许值,%d"
-#: utils/adt/timestamp.c:172 utils/adt/timestamp.c:446
+#: utils/adt/timestamp.c:178 utils/adt/timestamp.c:452
#, c-format
msgid "timestamp out of range: \"%s\""
msgstr "时间戳超出范围: \"%s\""
-#: utils/adt/timestamp.c:190 utils/adt/timestamp.c:464
-#: utils/adt/timestamp.c:674
+#: utils/adt/timestamp.c:196 utils/adt/timestamp.c:470
+#: utils/adt/timestamp.c:925
#, c-format
msgid "date/time value \"%s\" is no longer supported"
msgstr "日期/时间值 \"%s\" 不再被支持"
-#: utils/adt/timestamp.c:260
+#: utils/adt/timestamp.c:266
#, c-format
msgid "timestamp cannot be NaN"
msgstr "时间戳不能是NaN"
-#: utils/adt/timestamp.c:381
+#: utils/adt/timestamp.c:387
#, c-format
msgid "timestamp(%d) precision must be between %d and %d"
msgstr "timestamp(%d) 的精确度必需在 %d 到 %d 之间"
-#: utils/adt/timestamp.c:668 utils/adt/timestamp.c:3209
-#: utils/adt/timestamp.c:3338 utils/adt/timestamp.c:3722
+#: utils/adt/timestamp.c:520
+#, c-format
+#| msgid "invalid input syntax for type numeric: \"%s\""
+msgid "invalid input syntax for numeric time zone: \"%s\""
+msgstr "数字时区使用了无效的输入语法: \"%s\""
+
+#: utils/adt/timestamp.c:522
+#, c-format
+msgid "Numeric time zones must have \"-\" or \"+\" as first character."
+msgstr "数字时区必须是以\"-\" or \"+\" 作为第一个字符."
+
+#: utils/adt/timestamp.c:535
+#, c-format
+#| msgid "time zone displacement out of range"
+msgid "numeric time zone \"%s\" out of range"
+msgstr "数字时区\"%s\"超出范围"
+
+#: utils/adt/timestamp.c:638 utils/adt/timestamp.c:648
+#, c-format
+#| msgid "timestamp out of range: \"%s\""
+msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g"
+msgstr "时间戳超出范围:%d-%02d-%02d %d:%02d:%02g"
+
+#: utils/adt/timestamp.c:919 utils/adt/timestamp.c:1490
+#: utils/adt/timestamp.c:1993 utils/adt/timestamp.c:3133
+#: utils/adt/timestamp.c:3138 utils/adt/timestamp.c:3143
+#: utils/adt/timestamp.c:3193 utils/adt/timestamp.c:3200
+#: utils/adt/timestamp.c:3207 utils/adt/timestamp.c:3227
+#: utils/adt/timestamp.c:3234 utils/adt/timestamp.c:3241
+#: utils/adt/timestamp.c:3270 utils/adt/timestamp.c:3277
+#: utils/adt/timestamp.c:3322 utils/adt/timestamp.c:3613
+#: utils/adt/timestamp.c:3742 utils/adt/timestamp.c:4133
#, c-format
msgid "interval out of range"
msgstr "interval 超出范围"
-#: utils/adt/timestamp.c:809 utils/adt/timestamp.c:842
+#: utils/adt/timestamp.c:1060 utils/adt/timestamp.c:1093
#, c-format
msgid "invalid INTERVAL type modifier"
msgstr "无效的INTERVAL类型修改器"
-#: utils/adt/timestamp.c:825
+#: utils/adt/timestamp.c:1076
#, c-format
msgid "INTERVAL(%d) precision must not be negative"
msgstr "INTERVAL(%d) 的精确度不能为负数"
-#: utils/adt/timestamp.c:831
+#: utils/adt/timestamp.c:1082
#, c-format
msgid "INTERVAL(%d) precision reduced to maximum allowed, %d"
msgstr "将INTERVAL(%d)减少到最大允许值,%d"
-#: utils/adt/timestamp.c:1183
+#: utils/adt/timestamp.c:1434
#, c-format
msgid "interval(%d) precision must be between %d and %d"
msgstr "interval(%d) 的精确度必需在 %d 到 %d 之间"
-#: utils/adt/timestamp.c:2407
+#: utils/adt/timestamp.c:2722
#, c-format
msgid "cannot subtract infinite timestamps"
msgstr "无法减去无限长的时间戳"
-#: utils/adt/timestamp.c:3464 utils/adt/timestamp.c:4059
-#: utils/adt/timestamp.c:4099
+#: utils/adt/timestamp.c:3868 utils/adt/timestamp.c:4474
+#: utils/adt/timestamp.c:4514
#, c-format
msgid "timestamp units \"%s\" not supported"
msgstr "不支持时间戳单位 \"%s\""
-#: utils/adt/timestamp.c:3478 utils/adt/timestamp.c:4109
+#: utils/adt/timestamp.c:3882 utils/adt/timestamp.c:4524
#, c-format
msgid "timestamp units \"%s\" not recognized"
msgstr "时间戳单位 \"%s\" 不被认可"
-#: utils/adt/timestamp.c:3618 utils/adt/timestamp.c:4270
-#: utils/adt/timestamp.c:4311
+#: utils/adt/timestamp.c:4022 utils/adt/timestamp.c:4685
+#: utils/adt/timestamp.c:4726
#, c-format
msgid "timestamp with time zone units \"%s\" not supported"
msgstr "不支持带时区的时间戳单位 \"%s\""
-#: utils/adt/timestamp.c:3635 utils/adt/timestamp.c:4320
+#: utils/adt/timestamp.c:4039 utils/adt/timestamp.c:4735
#, c-format
msgid "timestamp with time zone units \"%s\" not recognized"
msgstr "带时区的时间戳单位 \"%s\" 不被认可"
-#: utils/adt/timestamp.c:3715 utils/adt/timestamp.c:4426
+#: utils/adt/timestamp.c:4120
+#, c-format
+msgid ""
+"interval units \"%s\" not supported because months usually have fractional "
+"weeks"
+msgstr "时间间隔的单位 \"%s\"不支持使用,因为月以周来计算时,通常带有分数值"
+
+#: utils/adt/timestamp.c:4126 utils/adt/timestamp.c:4841
#, c-format
msgid "interval units \"%s\" not supported"
msgstr "不支持 \"%s\" 的 interval 单位"
-#: utils/adt/timestamp.c:3731 utils/adt/timestamp.c:4453
+#: utils/adt/timestamp.c:4142 utils/adt/timestamp.c:4868
#, c-format
msgid "interval units \"%s\" not recognized"
msgstr "interval 单位 \"%s\" 不被认可"
-#: utils/adt/timestamp.c:4523 utils/adt/timestamp.c:4695
+#: utils/adt/timestamp.c:4951 utils/adt/timestamp.c:5135
#, c-format
msgid "could not convert to time zone \"%s\""
msgstr "无法转换到时间区域\"%s\""
-#: utils/adt/timestamp.c:4555 utils/adt/timestamp.c:4728
-#, c-format
-msgid "interval time zone \"%s\" must not specify month"
-msgstr "时区 \"%s\" 间隔不可以指定月份"
-
-#: utils/adt/trigfuncs.c:41
+#: utils/adt/trigfuncs.c:42
#, c-format
msgid "suppress_redundant_updates_trigger: must be called as trigger"
msgstr "suppress_redundant_updates_trigger:必须以触发器的形式调用"
-#: utils/adt/trigfuncs.c:47
+#: utils/adt/trigfuncs.c:48
#, c-format
msgid "suppress_redundant_updates_trigger: must be called on update"
msgstr "suppress_redundant_updates_trigger: 必须在更新操作上调用"
-#: utils/adt/trigfuncs.c:53
+#: utils/adt/trigfuncs.c:54
#, c-format
msgid "suppress_redundant_updates_trigger: must be called before update"
msgstr "suppress_redundant_updates_trigger: 必须在更新操作前调用"
-#: utils/adt/trigfuncs.c:59
+#: utils/adt/trigfuncs.c:60
#, c-format
msgid "suppress_redundant_updates_trigger: must be called for each row"
msgstr "suppress_redundant_updates_trigger: 必须为每条记录调用"
msgid "gtsvector_in not implemented"
msgstr "没有实现gtsvector_in"
-#: utils/adt/tsquery.c:154 utils/adt/tsquery.c:390
+#: utils/adt/tsquery.c:154 utils/adt/tsquery.c:389
#: utils/adt/tsvector_parser.c:133
#, c-format
msgid "syntax error in tsquery: \"%s\""
msgid "no operand in tsquery: \"%s\""
msgstr "在tsquery中没有操作数:\"%s\""
-#: utils/adt/tsquery.c:248
+#: utils/adt/tsquery.c:247
#, c-format
msgid "value is too big in tsquery: \"%s\""
msgstr "在tsquery中的值太大了:\"%s\""
-#: utils/adt/tsquery.c:253
+#: utils/adt/tsquery.c:252
#, c-format
msgid "operand is too long in tsquery: \"%s\""
msgstr "在tsquery中操作数太长了: \"%s\""
-#: utils/adt/tsquery.c:281
+#: utils/adt/tsquery.c:280
#, c-format
msgid "word is too long in tsquery: \"%s\""
msgstr "在tsquery中的词太长了:\"%s\" "
-#: utils/adt/tsquery.c:510
+#: utils/adt/tsquery.c:509
#, c-format
msgid "text-search query doesn't contain lexemes: \"%s\""
msgstr "文本搜索查询没有包含词汇单位:\"%s\""
+#: utils/adt/tsquery.c:520 utils/adt/tsquery_util.c:340
+#, c-format
+#| msgid "requested length too large"
+msgid "tsquery is too large"
+msgstr "tsquery查询太大"
+
#: utils/adt/tsquery_cleanup.c:284
#, c-format
msgid ""
"ignored"
msgstr "文本搜索查询只包含结束词或者不包含词汇单位, 被忽略"
-#: utils/adt/tsquery_rewrite.c:295
+#: utils/adt/tsquery_rewrite.c:293
#, c-format
msgid "ts_rewrite query must return two tsquery columns"
msgstr "ts_rewrite查询必须返回两个tsquery字段的记录"
msgid "array of weight must not contain nulls"
msgstr "权重数组不能包含空值"
-#: utils/adt/tsrank.c:422 utils/adt/tsrank.c:748
+#: utils/adt/tsrank.c:422 utils/adt/tsrank.c:749
#, c-format
msgid "weight out of range"
msgstr "权重 超出范围"
-#: utils/adt/tsvector.c:212
+#: utils/adt/tsvector.c:213
#, c-format
msgid "word is too long (%ld bytes, max %ld bytes)"
msgstr "词太长了(%ld字节, 最大 %ld 字节)"
-#: utils/adt/tsvector.c:219
+#: utils/adt/tsvector.c:220
#, c-format
msgid "string is too long for tsvector (%ld bytes, max %ld bytes)"
msgstr "字符串对于tsvector来说太长了(当前 %ld字节, 最大允许值是%ld字节)"
msgid "length for type %s cannot exceed %d"
msgstr "类型 %s 的长度不能超过 %d"
-#: utils/adt/varbit.c:167 utils/adt/varbit.c:310 utils/adt/varbit.c:367
+#: utils/adt/varbit.c:163 utils/adt/varbit.c:475 utils/adt/varbit.c:973
+#, c-format
+#| msgid "array size exceeds the maximum allowed (%d)"
+msgid "bit string length exceeds the maximum allowed (%d)"
+msgstr "位字符串长度超过了最大允许值(%d)"
+
+#: utils/adt/varbit.c:177 utils/adt/varbit.c:320 utils/adt/varbit.c:377
#, c-format
msgid "bit string length %d does not match type bit(%d)"
msgstr "bit字符串的长度(%d)与bit类型(%d)不匹配."
-#: utils/adt/varbit.c:189 utils/adt/varbit.c:491
+#: utils/adt/varbit.c:199 utils/adt/varbit.c:511
#, c-format
msgid "\"%c\" is not a valid binary digit"
msgstr "\"%c\" 不是一个有效的二进制数"
-#: utils/adt/varbit.c:214 utils/adt/varbit.c:516
+#: utils/adt/varbit.c:224 utils/adt/varbit.c:536
#, c-format
msgid "\"%c\" is not a valid hexadecimal digit"
msgstr "\"%c\" 不是一个有效的十六进制数"
-#: utils/adt/varbit.c:301 utils/adt/varbit.c:604
+#: utils/adt/varbit.c:311 utils/adt/varbit.c:627
#, c-format
msgid "invalid length in external bit string"
msgstr "无效的外部位串长度"
-#: utils/adt/varbit.c:469 utils/adt/varbit.c:613 utils/adt/varbit.c:708
+#: utils/adt/varbit.c:489 utils/adt/varbit.c:636 utils/adt/varbit.c:731
#, c-format
msgid "bit string too long for type bit varying(%d)"
msgstr "bit字符串对于可变bit类型(%d)来说太长了."
-#: utils/adt/varbit.c:1038 utils/adt/varbit.c:1140 utils/adt/varlena.c:791
-#: utils/adt/varlena.c:855 utils/adt/varlena.c:999 utils/adt/varlena.c:1955
-#: utils/adt/varlena.c:2022
+#: utils/adt/varbit.c:1066 utils/adt/varbit.c:1168 utils/adt/varlena.c:800
+#: utils/adt/varlena.c:864 utils/adt/varlena.c:1008 utils/adt/varlena.c:1964
+#: utils/adt/varlena.c:2031
#, c-format
msgid "negative substring length not allowed"
msgstr "不允许子串长度为负数"
-#: utils/adt/varbit.c:1198
+#: utils/adt/varbit.c:1226
#, c-format
msgid "cannot AND bit strings of different sizes"
msgstr "无法为不同大小的字符串进行与 (AND) 位运算"
-#: utils/adt/varbit.c:1240
+#: utils/adt/varbit.c:1268
#, c-format
msgid "cannot OR bit strings of different sizes"
msgstr "无法为不同大小的字符串进行或 (OR) 位运算"
-#: utils/adt/varbit.c:1287
+#: utils/adt/varbit.c:1315
#, c-format
msgid "cannot XOR bit strings of different sizes"
msgstr "无法为不同大小的字符串进行异或 (XOR) 位运算"
-#: utils/adt/varbit.c:1765 utils/adt/varbit.c:1823
+#: utils/adt/varbit.c:1793 utils/adt/varbit.c:1851
#, c-format
msgid "bit index %d out of valid range (0..%d)"
msgstr "比特索引 %d 超出有效范围 (0..%d)"
-#: utils/adt/varbit.c:1774 utils/adt/varlena.c:2222
+#: utils/adt/varbit.c:1802 utils/adt/varlena.c:2231
#, c-format
msgid "new bit must be 0 or 1"
msgstr "新的位必须为 0 或 1"
msgid "value too long for type character varying(%d)"
msgstr "对于可变字符类型来说,值太长了(%d)"
-#: utils/adt/varlena.c:1371
+#: utils/adt/varlena.c:1380
#, c-format
msgid "could not determine which collation to use for string comparison"
msgstr "无法确定字符串比较中使用哪种排序规则"
-#: utils/adt/varlena.c:1417 utils/adt/varlena.c:1430
+#: utils/adt/varlena.c:1426 utils/adt/varlena.c:1439
#, c-format
msgid "could not convert string to UTF-16: error code %lu"
msgstr "无法将字符串转换为UTF-16编码: 错误码 %lu"
-#: utils/adt/varlena.c:1445
+#: utils/adt/varlena.c:1454
#, c-format
msgid "could not compare Unicode strings: %m"
msgstr "无法比较Unicode类型字符串: %m"
-#: utils/adt/varlena.c:2100 utils/adt/varlena.c:2131 utils/adt/varlena.c:2167
-#: utils/adt/varlena.c:2210
+#: utils/adt/varlena.c:2109 utils/adt/varlena.c:2140 utils/adt/varlena.c:2176
+#: utils/adt/varlena.c:2219
#, c-format
msgid "index %d out of valid range, 0..%d"
msgstr "索引 %d 超出有效范围, 0..%d"
-#: utils/adt/varlena.c:3012
+#: utils/adt/varlena.c:3138
#, c-format
msgid "field position must be greater than zero"
msgstr "字段的位置必须大于0"
-#: utils/adt/varlena.c:3881 utils/adt/varlena.c:3942
-#, c-format
-msgid "unterminated conversion specifier"
-msgstr "未结束的转换标识符"
-
-# fe-exec.c:2130
-#: utils/adt/varlena.c:3905 utils/adt/varlena.c:3921
+#: utils/adt/varlena.c:4017
#, c-format
-msgid "argument number is out of range"
-msgstr "参数号超出了范围"
+#| msgid "unterminated conversion specifier"
+msgid "unterminated format specifier"
+msgstr "未结束的格式标识器"
-#: utils/adt/varlena.c:3948
+#: utils/adt/varlena.c:4149 utils/adt/varlena.c:4269
#, c-format
-msgid "conversion specifies argument 0, but arguments are numbered from 1"
-msgstr "转换指定了参数 0, 但参数值序号从 1开始记起"
+#| msgid "unrecognized conversion specifier \"%c\""
+msgid "unrecognized conversion type specifier \"%c\""
+msgstr "不能识别的转换类型标识符 \"%c\""
-#: utils/adt/varlena.c:3955
+#: utils/adt/varlena.c:4161 utils/adt/varlena.c:4218
#, c-format
msgid "too few arguments for format"
msgstr "格式化的参数太少"
-#: utils/adt/varlena.c:3976
+#: utils/adt/varlena.c:4312 utils/adt/varlena.c:4495
+#, c-format
+#| msgid "input is out of range"
+msgid "number is out of range"
+msgstr "数字超出范围"
+
+#: utils/adt/varlena.c:4376 utils/adt/varlena.c:4404
+#, c-format
+#| msgid "conversion specifies argument 0, but arguments are numbered from 1"
+msgid "format specifies argument 0, but arguments are numbered from 1"
+msgstr "格式指定了参数 0, 但参数值序号从 1开始记起"
+
+#: utils/adt/varlena.c:4397
#, c-format
-msgid "unrecognized conversion specifier \"%c\""
-msgstr "不能识别的转换标识符 \"%c\""
+#| msgid "third argument of cast function must be type boolean"
+msgid "width argument position must be ended by \"$\""
+msgstr "width参数位置必须以\"$\"结束"
-#: utils/adt/varlena.c:4005
+#: utils/adt/varlena.c:4442
#, c-format
msgid "null values cannot be formatted as an SQL identifier"
msgstr "null值不能格式化为SQL标识符"
msgid "argument of nth_value must be greater than zero"
msgstr "nth_value的参数必须大于零"
-#: utils/adt/xml.c:169
+#: utils/adt/xml.c:170
#, c-format
msgid "unsupported XML feature"
msgstr "不支持的XML特性"
-#: utils/adt/xml.c:170
+#: utils/adt/xml.c:171
#, c-format
msgid "This functionality requires the server to be built with libxml support."
msgstr "这个功能是需要在创建服务器时带有对libxml的支持才能实现 "
-#: utils/adt/xml.c:171
+#: utils/adt/xml.c:172
#, c-format
msgid "You need to rebuild PostgreSQL using --with-libxml."
msgstr "您需要使用--with-libxml选项重新生成PostgreSQL"
-#: utils/adt/xml.c:190 utils/mb/mbutils.c:515
+#: utils/adt/xml.c:191 utils/mb/mbutils.c:523
#, c-format
msgid "invalid encoding name \"%s\""
msgstr "无效的编码名称 \"%s\""
# command.c:122
-#: utils/adt/xml.c:436 utils/adt/xml.c:441
+#: utils/adt/xml.c:434 utils/adt/xml.c:439
#, c-format
msgid "invalid XML comment"
msgstr "无效的XML注释"
-#: utils/adt/xml.c:570
+#: utils/adt/xml.c:568
#, c-format
msgid "not an XML document"
msgstr "不是一个XML文档"
-#: utils/adt/xml.c:729 utils/adt/xml.c:752
+#: utils/adt/xml.c:727 utils/adt/xml.c:750
#, c-format
msgid "invalid XML processing instruction"
msgstr "无效的XML处理命令"
-#: utils/adt/xml.c:730
+#: utils/adt/xml.c:728
#, c-format
msgid "XML processing instruction target name cannot be \"%s\"."
msgstr "XML处理命令目标名称不能是\"%s\"."
-#: utils/adt/xml.c:753
+#: utils/adt/xml.c:751
#, c-format
msgid "XML processing instruction cannot contain \"?>\"."
msgstr "XML处理命令不能包含\"?>\"."
-#: utils/adt/xml.c:832
+#: utils/adt/xml.c:830
#, c-format
msgid "xmlvalidate is not implemented"
msgstr "没有实现xmlvalidate"
-#: utils/adt/xml.c:911
+#: utils/adt/xml.c:909
#, c-format
msgid "could not initialize XML library"
msgstr "无法初始化XML库"
-#: utils/adt/xml.c:912
+#: utils/adt/xml.c:910
#, c-format
msgid ""
"libxml2 has incompatible char type: sizeof(char)=%u, sizeof(xmlChar)=%u."
msgstr "libxml2具有不兼容的字符类型: sizeof(char)=%u, sizeof(xmlChar)=%u. "
-#: utils/adt/xml.c:998
+#: utils/adt/xml.c:996
#, c-format
msgid "could not set up XML error handler"
msgstr "无法设置XML错误处理函数"
-#: utils/adt/xml.c:999
+#: utils/adt/xml.c:997
#, c-format
msgid ""
"This probably indicates that the version of libxml2 being used is not "
msgstr ""
"这可能意味着正使用的libxml2版本与PostgreSQL编译 时使用的libxml2头文件不兼容"
-#: utils/adt/xml.c:1733
+#: utils/adt/xml.c:1732
msgid "Invalid character value."
msgstr "无效的字符值"
-#: utils/adt/xml.c:1736
+#: utils/adt/xml.c:1735
msgid "Space required."
msgstr "要求空格"
-#: utils/adt/xml.c:1739
+#: utils/adt/xml.c:1738
msgid "standalone accepts only 'yes' or 'no'."
msgstr "单机只接受'yes'或'no'."
-#: utils/adt/xml.c:1742
+#: utils/adt/xml.c:1741
msgid "Malformed declaration: missing version."
msgstr "有缺陷的声明: 丢失版本."
-#: utils/adt/xml.c:1745
+#: utils/adt/xml.c:1744
msgid "Missing encoding in text declaration."
msgstr "在文本声明中丢失编码"
-#: utils/adt/xml.c:1748
+#: utils/adt/xml.c:1747
msgid "Parsing XML declaration: '?>' expected."
msgstr "正在解析XML声明: 期望'?>' "
-#: utils/adt/xml.c:1751
+#: utils/adt/xml.c:1750
#, c-format
msgid "Unrecognized libxml error code: %d."
msgstr "未知的libxml错误码: %d"
-#: utils/adt/xml.c:2026
+#: utils/adt/xml.c:2025
#, c-format
msgid "XML does not support infinite date values."
msgstr "XML不支持无限日期值"
-#: utils/adt/xml.c:2048 utils/adt/xml.c:2075
+#: utils/adt/xml.c:2047 utils/adt/xml.c:2074
#, c-format
msgid "XML does not support infinite timestamp values."
msgstr "XML不支持无限时间戳值"
-#: utils/adt/xml.c:2466
+#: utils/adt/xml.c:2465
#, c-format
msgid "invalid query"
msgstr "无效的查询"
-#: utils/adt/xml.c:3776
+#: utils/adt/xml.c:3778
#, c-format
msgid "invalid array for XML namespace mapping"
msgstr "对于XML命名空间映射的无效数组"
-#: utils/adt/xml.c:3777
+#: utils/adt/xml.c:3779
#, c-format
msgid ""
"The array must be two-dimensional with length of the second axis equal to 2."
msgstr "数组必须是第二个坐标轴等于2的两维数组"
-#: utils/adt/xml.c:3801
+#: utils/adt/xml.c:3803
#, c-format
msgid "empty XPath expression"
msgstr "空的XPath表达式"
-#: utils/adt/xml.c:3850
+#: utils/adt/xml.c:3852
#, c-format
msgid "neither namespace name nor URI may be null"
msgstr "URI或者命名空间名称不可为空."
# fe-misc.c:702
-#: utils/adt/xml.c:3857
+#: utils/adt/xml.c:3859
#, c-format
msgid "could not register XML namespace with name \"%s\" and URI \"%s\""
msgstr "无法以名称\"%s\"和URI\"%s\"来注册XML命名空间"
-#: utils/cache/lsyscache.c:2457 utils/cache/lsyscache.c:2490
-#: utils/cache/lsyscache.c:2523 utils/cache/lsyscache.c:2556
+#: utils/cache/lsyscache.c:2478 utils/cache/lsyscache.c:2511
+#: utils/cache/lsyscache.c:2544 utils/cache/lsyscache.c:2577
#, c-format
msgid "type %s is only a shell"
msgstr "类型 %s 只是一个 shell"
-#: utils/cache/lsyscache.c:2462
+#: utils/cache/lsyscache.c:2483
#, c-format
msgid "no input function available for type %s"
msgstr "没有有效的 %s 类型输入函数"
-#: utils/cache/lsyscache.c:2495
+#: utils/cache/lsyscache.c:2516
#, c-format
msgid "no output function available for type %s"
msgstr "没有有效的 %s 类型输出函数"
-#: utils/cache/plancache.c:669
+#: utils/cache/plancache.c:698
#, c-format
msgid "cached plan must not change result type"
msgstr "已缓冲的计划不能改变结果类型"
-#: utils/cache/relcache.c:4340
+#: utils/cache/relcache.c:4828
#, c-format
msgid "could not create relation-cache initialization file \"%s\": %m"
msgstr "无法创建 relation-cache 初始化文件 \"%s\": %m"
-#: utils/cache/relcache.c:4342
+#: utils/cache/relcache.c:4830
#, c-format
msgid "Continuing anyway, but there's something wrong."
msgstr "仍继续, 但肯定有些错误存在."
-#: utils/cache/relcache.c:4556
+#: utils/cache/relcache.c:5044
#, c-format
msgid "could not remove cache file \"%s\": %m"
msgstr "无法删除缓存文件 \"%s\": %m"
-#: utils/cache/relmapper.c:453
+#: utils/cache/relmapper.c:506
#, c-format
msgid "cannot PREPARE a transaction that modified relation mapping"
msgstr "不支持对修改关系映射的事务进行PREPARE操作"
-#: utils/cache/relmapper.c:595 utils/cache/relmapper.c:701
+#: utils/cache/relmapper.c:649 utils/cache/relmapper.c:749
#, c-format
msgid "could not open relation mapping file \"%s\": %m"
msgstr "无法打开关系映射文件 \"%s\": %m"
-#: utils/cache/relmapper.c:608
+#: utils/cache/relmapper.c:662
#, c-format
msgid "could not read relation mapping file \"%s\": %m"
msgstr "无法读取关系映射文件 \"%s\": %m"
-#: utils/cache/relmapper.c:618
+#: utils/cache/relmapper.c:672
#, c-format
msgid "relation mapping file \"%s\" contains invalid data"
msgstr "在关系映射文件\"%s\"中包含无效的数据"
-#: utils/cache/relmapper.c:628
+#: utils/cache/relmapper.c:682
#, c-format
msgid "relation mapping file \"%s\" contains incorrect checksum"
msgstr "在关系映射文件\"%s\"中包含不正确的检验和"
-#: utils/cache/relmapper.c:740
+#: utils/cache/relmapper.c:788
#, c-format
msgid "could not write to relation mapping file \"%s\": %m"
msgstr "无法对关系映射文件 \"%s\" 进行写操作: %m"
-#: utils/cache/relmapper.c:753
+#: utils/cache/relmapper.c:801
#, c-format
msgid "could not fsync relation mapping file \"%s\": %m"
msgstr "无法将关系映射文件\"%s\"的内容刷新到磁盘: %m"
-#: utils/cache/relmapper.c:759
+#: utils/cache/relmapper.c:807
#, c-format
msgid "could not close relation mapping file \"%s\": %m"
msgstr "无法关闭关系映射文件\"%s\": %m"
-#: utils/cache/typcache.c:697
+#: utils/cache/typcache.c:704
#, c-format
msgid "type %s is not composite"
msgstr "类型 %s 不是复合类型"
-#: utils/cache/typcache.c:711
+#: utils/cache/typcache.c:718
#, c-format
msgid "record type has not been registered"
msgstr "记录类型没有注册"
msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d)\n"
msgstr "TRAP: %s(\"%s\", 文件: \"%s\", 行数: %d)\n"
-#: utils/error/elog.c:1546
+#: utils/error/elog.c:320 utils/error/elog.c:1291
+#, c-format
+msgid "error occurred at %s:%d before error message processing is available\n"
+msgstr "能得到错误消息处理之前, 错误出现在%s:%d\n"
+
+#: utils/error/elog.c:1807
#, c-format
msgid "could not reopen file \"%s\" as stderr: %m"
msgstr "无法作为标准错误重新打开文件 \"%s\": %m"
-#: utils/error/elog.c:1559
+#: utils/error/elog.c:1820
#, c-format
msgid "could not reopen file \"%s\" as stdout: %m"
msgstr "无法作为标准输出重新打开文件 \"%s\": %m"
-#: utils/error/elog.c:1948 utils/error/elog.c:1958 utils/error/elog.c:1968
+#: utils/error/elog.c:2295 utils/error/elog.c:2312 utils/error/elog.c:2328
msgid "[unknown]"
msgstr "[未知]"
-#: utils/error/elog.c:2316 utils/error/elog.c:2615 utils/error/elog.c:2693
+#: utils/error/elog.c:2766 utils/error/elog.c:3065 utils/error/elog.c:3173
msgid "missing error text"
msgstr "缺少错误信息"
-#: utils/error/elog.c:2319 utils/error/elog.c:2322 utils/error/elog.c:2696
-#: utils/error/elog.c:2699
+#: utils/error/elog.c:2769 utils/error/elog.c:2772 utils/error/elog.c:3176
+#: utils/error/elog.c:3179
#, c-format
msgid " at character %d"
msgstr " 第 %d 个字符处"
-#: utils/error/elog.c:2332 utils/error/elog.c:2339
+#: utils/error/elog.c:2782 utils/error/elog.c:2789
msgid "DETAIL: "
msgstr "详细信息: "
-#: utils/error/elog.c:2346
+#: utils/error/elog.c:2796
msgid "HINT: "
msgstr "提示: "
-#: utils/error/elog.c:2353
+#: utils/error/elog.c:2803
msgid "QUERY: "
msgstr "查询: "
-#: utils/error/elog.c:2360
+#: utils/error/elog.c:2810
msgid "CONTEXT: "
msgstr "上下文: "
-#: utils/error/elog.c:2370
+#: utils/error/elog.c:2820
#, c-format
msgid "LOCATION: %s, %s:%d\n"
msgstr "位置: %s, %s:%d\n"
-#: utils/error/elog.c:2377
+#: utils/error/elog.c:2827
#, c-format
msgid "LOCATION: %s:%d\n"
msgstr "位置: %s:%d\n"
-#: utils/error/elog.c:2391
+#: utils/error/elog.c:2841
msgid "STATEMENT: "
msgstr "语句: "
#. translator: This string will be truncated at 47
#. characters expanded.
-#: utils/error/elog.c:2808
+#: utils/error/elog.c:3294
#, c-format
msgid "operating system error %d"
msgstr "操作系统错误 %d"
-#: utils/error/elog.c:2831
+#: utils/error/elog.c:3489
msgid "DEBUG"
msgstr "调试"
-#: utils/error/elog.c:2835
+#: utils/error/elog.c:3493
msgid "LOG"
msgstr "日志"
-#: utils/error/elog.c:2838
+#: utils/error/elog.c:3496
msgid "INFO"
msgstr "信息"
-#: utils/error/elog.c:2841
+#: utils/error/elog.c:3499
msgid "NOTICE"
msgstr "注意"
-#: utils/error/elog.c:2844
+#: utils/error/elog.c:3502
msgid "WARNING"
msgstr "警告"
-#: utils/error/elog.c:2847
+#: utils/error/elog.c:3505
msgid "ERROR"
msgstr "错误"
-#: utils/error/elog.c:2850
+#: utils/error/elog.c:3508
msgid "FATAL"
msgstr "致命错误"
-#: utils/error/elog.c:2853
+#: utils/error/elog.c:3511
msgid "PANIC"
msgstr "比致命错误还过分的错误"
msgid "incompatible library \"%s\": magic block mismatch"
msgstr "不兼容的库\"%s\": 魔法块不匹配"
-#: utils/fmgr/dfmgr.c:545
+#: utils/fmgr/dfmgr.c:543
#, c-format
msgid "access to library \"%s\" is not allowed"
msgstr "不允许对库 \"%s\"进行访问"
-#: utils/fmgr/dfmgr.c:572
+#: utils/fmgr/dfmgr.c:569
#, c-format
msgid "invalid macro name in dynamic library path: %s"
msgstr "动态库路径中无效的宏名字: %s"
-#: utils/fmgr/dfmgr.c:617
+#: utils/fmgr/dfmgr.c:609
#, c-format
msgid "zero-length component in parameter \"dynamic_library_path\""
msgstr "在参数\"dynamic_library_path\"的组件长度为零"
-#: utils/fmgr/dfmgr.c:636
+#: utils/fmgr/dfmgr.c:628
#, c-format
msgid "component in parameter \"dynamic_library_path\" is not an absolute path"
msgstr "在参数\"dynamic_library_path\"中的组成部分不是绝对路径."
-#: utils/fmgr/fmgr.c:271
+#: utils/fmgr/fmgr.c:272
#, c-format
msgid "internal function \"%s\" is not in internal lookup table"
msgstr "内部函数 \"%s\" 不在内部查找表中"
-#: utils/fmgr/fmgr.c:481
+#: utils/fmgr/fmgr.c:479
#, c-format
msgid "unrecognized API version %d reported by info function \"%s\""
msgstr "信息函数\"%2$s\"报告无法识别的API版本%1$d."
-#: utils/fmgr/fmgr.c:852 utils/fmgr/fmgr.c:2113
+#: utils/fmgr/fmgr.c:850 utils/fmgr/fmgr.c:2111
#, c-format
msgid "function %u has too many arguments (%d, maximum is %d)"
msgstr "函数 %u 参数太多 (%d, 最大个数为 %d)"
-#: utils/fmgr/funcapi.c:354
+#: utils/fmgr/fmgr.c:2532
+#, c-format
+msgid "language validation function %u called for language %u instead of %u"
+msgstr "语言校验函数 %u 调用的目标语言是 %u ,而不是 %u"
+
+#: utils/fmgr/funcapi.c:355
#, c-format
msgid ""
"could not determine actual result type for function \"%s\" declared to "
msgid "could not determine row description for function returning record"
msgstr "无法确定函数返回记录的行描述"
-#: utils/init/miscinit.c:115
+#: utils/init/miscinit.c:116
#, c-format
msgid "could not change directory to \"%s\": %m"
msgstr "无法跳转到目录 \"%s\" 中: %m"
-#: utils/init/miscinit.c:381 utils/misc/guc.c:5293
+#: utils/init/miscinit.c:311 utils/misc/guc.c:5761
#, c-format
msgid "cannot set parameter \"%s\" within security-restricted operation"
msgstr "无法在对安全有严格限制的操作中设置参数\"%s\" "
-#: utils/init/miscinit.c:460
+#: utils/init/miscinit.c:390
#, c-format
msgid "role \"%s\" is not permitted to log in"
msgstr "不允许角色\"%s\" 进行登录"
-#: utils/init/miscinit.c:478
+#: utils/init/miscinit.c:408
#, c-format
msgid "too many connections for role \"%s\""
msgstr "由角色\"%s\"发起的连接太多了"
-#: utils/init/miscinit.c:538
+#: utils/init/miscinit.c:468
#, c-format
msgid "permission denied to set session authorization"
msgstr "设置会话认证权限不允许"
-#: utils/init/miscinit.c:618
+#: utils/init/miscinit.c:548
#, c-format
msgid "invalid role OID: %u"
msgstr "无效的角色OID:%u"
-#: utils/init/miscinit.c:742
+#: utils/init/miscinit.c:675
#, c-format
msgid "could not create lock file \"%s\": %m"
msgstr "无法创建锁文件 \"%s\": %m"
-#: utils/init/miscinit.c:756
+#: utils/init/miscinit.c:689
#, c-format
msgid "could not open lock file \"%s\": %m"
msgstr "无法打开锁文件 \"%s\": %m"
-#: utils/init/miscinit.c:762
+#: utils/init/miscinit.c:695
#, c-format
msgid "could not read lock file \"%s\": %m"
msgstr "无法读取锁文件 \"%s\": %m"
-#: utils/init/miscinit.c:810
+#: utils/init/miscinit.c:703
+#, c-format
+#| msgid "%s: the PID file \"%s\" is empty\n"
+msgid "lock file \"%s\" is empty"
+msgstr "锁文件 \"%s\" 为空"
+
+#: utils/init/miscinit.c:704
+#, c-format
+msgid ""
+"Either another server is starting, or the lock file is the remnant of a "
+"previous server startup crash."
+msgstr ""
+"或者另一个服务正在启动,或者锁文件是因为前一次服务器启动崩溃时产生导致的."
+
+#: utils/init/miscinit.c:751
#, c-format
msgid "lock file \"%s\" already exists"
msgstr "锁文件 \"%s\" 已经存在"
-#: utils/init/miscinit.c:814
+#: utils/init/miscinit.c:755
#, c-format
msgid "Is another postgres (PID %d) running in data directory \"%s\"?"
msgstr "是否其它 postgres (PID %d) 运行在数据目录 \"%s\"?"
-#: utils/init/miscinit.c:816
+#: utils/init/miscinit.c:757
#, c-format
msgid "Is another postmaster (PID %d) running in data directory \"%s\"?"
msgstr "是否其它 postmaster (PID %d) 运行在数据目录 \"%s\"?"
-#: utils/init/miscinit.c:819
+#: utils/init/miscinit.c:760
#, c-format
msgid "Is another postgres (PID %d) using socket file \"%s\"?"
msgstr "是否其它 postgres (PID %d) 使用套接字文件 \"%s\"?"
-#: utils/init/miscinit.c:821
+#: utils/init/miscinit.c:762
#, c-format
msgid "Is another postmaster (PID %d) using socket file \"%s\"?"
msgstr "是否其它 postmaster (PID %d) 使用套接字文件 \"%s\"?"
-#: utils/init/miscinit.c:857
+#: utils/init/miscinit.c:798
#, 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:860
+#: utils/init/miscinit.c:801
#, c-format
msgid ""
"If you're sure there are no old server processes still running, remove the "
msgstr ""
"如果你确认没有旧的服务器进程在运行, 删除共享内存块,或者只删除文件 \"%s\"."
-#: utils/init/miscinit.c:876
+#: utils/init/miscinit.c:817
#, c-format
msgid "could not remove old lock file \"%s\": %m"
msgstr "无法删除旧的锁文件 \"%s\": %m"
-#: utils/init/miscinit.c:878
+#: utils/init/miscinit.c:819
#, c-format
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:919 utils/init/miscinit.c:930
-#: utils/init/miscinit.c:940
+#: utils/init/miscinit.c:855 utils/init/miscinit.c:866
+#: utils/init/miscinit.c:876
#, c-format
msgid "could not write lock file \"%s\": %m"
msgstr "无法写入锁文件 \"%s\": %m"
-#: utils/init/miscinit.c:1047 utils/misc/guc.c:7649
+#: utils/init/miscinit.c:1001 utils/misc/guc.c:8381
#, c-format
msgid "could not read from file \"%s\": %m"
msgstr "无法读取文件 \"%s\": %m"
-#: utils/init/miscinit.c:1147 utils/init/miscinit.c:1160
+#: utils/init/miscinit.c:1115 utils/init/miscinit.c:1128
#, c-format
msgid "\"%s\" is not a valid data directory"
msgstr "\"%s\" 不是一个有效的数据目录"
-#: utils/init/miscinit.c:1149
+#: utils/init/miscinit.c:1117
#, c-format
msgid "File \"%s\" is missing."
msgstr "文件 \"%s\" 丢失."
-#: utils/init/miscinit.c:1162
+#: utils/init/miscinit.c:1130
#, c-format
msgid "File \"%s\" does not contain valid data."
msgstr "文件 \"%s\" 没有包含有效数据."
-#: utils/init/miscinit.c:1164
+#: utils/init/miscinit.c:1132
#, c-format
msgid "You might need to initdb."
msgstr "您需要初始化数据库 (initdb)."
-#: utils/init/miscinit.c:1172
+#: utils/init/miscinit.c:1140
#, 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:1220
-#, c-format
-msgid "invalid list syntax in parameter \"%s\""
-msgstr "在参数\"%s\"中列表语法无效"
-
-#: utils/init/miscinit.c:1257
+#: utils/init/miscinit.c:1211
#, c-format
msgid "loaded library \"%s\""
msgstr "已加载的库 \"%s\""
-#: utils/init/postinit.c:225
+#: utils/init/postinit.c:237
+#, c-format
+#| msgid "replication connection authorized: user=%s"
+msgid ""
+"replication connection authorized: user=%s SSL enabled (protocol=%s, cipher="
+"%s, compression=%s)"
+msgstr ""
+"复制连接已经授权: user =%s SSL 已启用 (protocol=%s, cipher=%s, compression="
+"%s)"
+
+# help.c:48
+#: utils/init/postinit.c:239 utils/init/postinit.c:253
+msgid "off"
+msgstr "关闭"
+
+# help.c:48
+#: utils/init/postinit.c:239 utils/init/postinit.c:253
+msgid "on"
+msgstr "开启"
+
+#: utils/init/postinit.c:243
#, c-format
msgid "replication connection authorized: user=%s"
msgstr "复制连接已经授权: 用户=%s"
-#: utils/init/postinit.c:229
+#: utils/init/postinit.c:251
+#, c-format
+#| msgid "connection authorized: user=%s database=%s"
+msgid ""
+"connection authorized: user=%s database=%s SSL enabled (protocol=%s, cipher="
+"%s, compression=%s)"
+msgstr ""
+"连接授权: user=%s database=%s SSL 启用 (protocol=%s, cipher=%s, compression="
+"%s)"
+
+#: utils/init/postinit.c:257
#, c-format
msgid "connection authorized: user=%s database=%s"
msgstr "联接认证: 主机=%s 数据库=%s"
-#: utils/init/postinit.c:260
+#: utils/init/postinit.c:289
#, c-format
msgid "database \"%s\" has disappeared from pg_database"
msgstr "关于数据库\"%s\"的记录在系统目录视图pg_database中不存在"
-#: utils/init/postinit.c:262
+#: utils/init/postinit.c:291
#, c-format
msgid "Database OID %u now seems to belong to \"%s\"."
msgstr "数据库OID%u现在属于\"%s\"."
-#: utils/init/postinit.c:282
+#: utils/init/postinit.c:311
#, c-format
msgid "database \"%s\" is not currently accepting connections"
msgstr "数据库 \"%s\" 当前不接受联接"
-#: utils/init/postinit.c:295
+#: utils/init/postinit.c:324
#, c-format
msgid "permission denied for database \"%s\""
msgstr "访问数据库\"%s\"的权限不够"
-#: utils/init/postinit.c:296
+#: utils/init/postinit.c:325
#, c-format
msgid "User does not have CONNECT privilege."
msgstr "用户没有CONNECT权限."
# command.c:981
-#: utils/init/postinit.c:313
+#: utils/init/postinit.c:342
#, c-format
msgid "too many connections for database \"%s\""
msgstr "到数据库 \"%s\"的连接太多了"
-#: utils/init/postinit.c:335 utils/init/postinit.c:342
+#: utils/init/postinit.c:364 utils/init/postinit.c:371
#, c-format
msgid "database locale is incompatible with operating system"
msgstr "数据库所使用的语言环境和操作系统的不兼容"
-#: utils/init/postinit.c:336
+#: utils/init/postinit.c:365
#, c-format
msgid ""
"The database was initialized with LC_COLLATE \"%s\", which is not "
msgstr ""
"数据库集群是以 LC_COLLATE \"%s\"来初始化的,这个排序规则无法由setlocale()识别"
-#: utils/init/postinit.c:338 utils/init/postinit.c:345
+#: utils/init/postinit.c:367 utils/init/postinit.c:374
#, c-format
msgid ""
"Recreate the database with another locale or install the missing locale."
msgstr "以另外一种语言环境重新创建数据库,或者安装丢失的语言环境."
-#: utils/init/postinit.c:343
+#: utils/init/postinit.c:372
#, c-format
msgid ""
"The database was initialized with LC_CTYPE \"%s\", which is not recognized "
"数据库集群是带 LC_CTYPE \"%s\" 初始化的, 但此 LC_CTYPE 是不被 setlocale() 认"
"可的."
-#: utils/init/postinit.c:608
+#: utils/init/postinit.c:667
#, c-format
msgid "no roles are defined in this database system"
msgstr "当前数据库系统中没有定义角色"
-#: utils/init/postinit.c:609
+#: utils/init/postinit.c:668
#, c-format
msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;."
msgstr "您应该立即运行 CREATE USER \"%s\" SUPERUSER;."
-#: utils/init/postinit.c:632
+#: utils/init/postinit.c:704
#, c-format
msgid "new replication connections are not allowed during database shutdown"
msgstr "在数据库服务器关闭期间不允许接受新的复制连接"
-#: utils/init/postinit.c:636
+#: utils/init/postinit.c:708
#, c-format
msgid "must be superuser to connect during database shutdown"
msgstr "只有超级用户才能在数据库关闭期间连接数据库"
-#: utils/init/postinit.c:646
+#: utils/init/postinit.c:718
#, c-format
msgid "must be superuser to connect in binary upgrade mode"
msgstr "只有超级用户才能以二进制升级模式进行连接"
-#: utils/init/postinit.c:660
+#: utils/init/postinit.c:732
#, c-format
msgid ""
"remaining connection slots are reserved for non-replication superuser "
"connections"
msgstr "已保留的连接位置为执行非复制请求的超级用户预留"
-#: utils/init/postinit.c:674
+#: utils/init/postinit.c:742
#, c-format
msgid "must be superuser or replication role to start walsender"
msgstr "只有超级用户或者拥有复制角色的用户才能启动 walsender"
-#: utils/init/postinit.c:734
+#: utils/init/postinit.c:811
#, c-format
msgid "database %u does not exist"
msgstr "数据库%u不存在"
-#: utils/init/postinit.c:786
+#: utils/init/postinit.c:863
#, c-format
msgid "It seems to have just been dropped or renamed."
msgstr "它已经被删除或者改名了."
-#: utils/init/postinit.c:804
+#: utils/init/postinit.c:881
#, c-format
msgid "The database subdirectory \"%s\" is missing."
msgstr "数据库子目录 \"%s\" 丢失."
-#: utils/init/postinit.c:809
+#: utils/init/postinit.c:886
#, c-format
msgid "could not access directory \"%s\": %m"
msgstr "无法访问目录 \"%s\": %m"
-#: utils/mb/conv.c:509
+#: utils/mb/conv.c:519
#, c-format
msgid "invalid encoding number: %d"
msgstr "无效编码编号: %d"
msgid "unexpected encoding ID %d for WIN character sets"
msgstr "WIN字符集出现非期望的编码ID%d"
-#: utils/mb/encnames.c:485
+#: utils/mb/encnames.c:496
#, c-format
msgid "encoding name too long"
msgstr "编码名字太长"
-#: utils/mb/mbutils.c:281
+#: utils/mb/mbutils.c:307
#, c-format
msgid "conversion between %s and %s is not supported"
msgstr "不支持 %s 和 %s 之间的编码转换"
-#: utils/mb/mbutils.c:351
+#: utils/mb/mbutils.c:366
#, c-format
msgid ""
"default conversion function for encoding \"%s\" to \"%s\" does not exist"
msgstr "默认的 \"%s\" 到 \"%s\" 的编码转换函数不存在"
-#: utils/mb/mbutils.c:375 utils/mb/mbutils.c:676
+#: utils/mb/mbutils.c:377 utils/mb/mbutils.c:710
#, c-format
msgid "String of %d bytes is too long for encoding conversion."
msgstr "对于编码转化来说带有%d个字节的字符串太长."
-#: utils/mb/mbutils.c:462
+#: utils/mb/mbutils.c:464
#, c-format
msgid "invalid source encoding name \"%s\""
msgstr "无效的源编码名称 \"%s\""
-#: utils/mb/mbutils.c:467
+#: utils/mb/mbutils.c:469
#, c-format
msgid "invalid destination encoding name \"%s\""
msgstr "无效的目标编码名称 \"%s\""
-#: utils/mb/mbutils.c:589
+#: utils/mb/mbutils.c:609
#, c-format
msgid "invalid byte value for encoding \"%s\": 0x%02x"
msgstr "对于编码\"%s\"的字节值无效: 0x%02x"
-#: utils/mb/wchar.c:2013
+#: utils/mb/mbutils.c:951
+#, c-format
+msgid "bind_textdomain_codeset failed"
+msgstr "操作bind_textdomain_codeset 失败了"
+
+#: utils/mb/wchar.c:2009
#, c-format
msgid "invalid byte sequence for encoding \"%s\": %s"
msgstr "无效的 \"%s\" 编码字节顺序: %s"
-#: utils/mb/wchar.c:2046
+#: utils/mb/wchar.c:2042
#, c-format
msgid ""
"character with byte sequence %s in encoding \"%s\" has no equivalent in "
"encoding \"%s\""
msgstr "编码\"%2$s\"的字符0x%1$s在编码\"%3$s\"没有相对应值"
-#: utils/misc/guc.c:529
+#: utils/misc/guc.c:552
msgid "Ungrouped"
msgstr "取消组"
-#: utils/misc/guc.c:531
+#: utils/misc/guc.c:554
msgid "File Locations"
msgstr "文件位置"
-#: utils/misc/guc.c:533
+#: utils/misc/guc.c:556
msgid "Connections and Authentication"
msgstr "联接和认证"
-#: utils/misc/guc.c:535
+#: utils/misc/guc.c:558
msgid "Connections and Authentication / Connection Settings"
msgstr "联接和认证 / 联接设置"
-#: utils/misc/guc.c:537
+#: utils/misc/guc.c:560
msgid "Connections and Authentication / Security and Authentication"
msgstr "联接和认证 / 安全和认证"
-#: utils/misc/guc.c:539
+#: utils/misc/guc.c:562
msgid "Resource Usage"
msgstr "资源使用"
-#: utils/misc/guc.c:541
+#: utils/misc/guc.c:564
msgid "Resource Usage / Memory"
msgstr "资源使用 / 内存"
-#: utils/misc/guc.c:543
+#: utils/misc/guc.c:566
msgid "Resource Usage / Disk"
msgstr "资源使用/磁盘"
-#: utils/misc/guc.c:545
+#: utils/misc/guc.c:568
msgid "Resource Usage / Kernel Resources"
msgstr "资源使用 / 内核资源"
-#: utils/misc/guc.c:547
+#: utils/misc/guc.c:570
msgid "Resource Usage / Cost-Based Vacuum Delay"
msgstr "资源使用 / 基于开销的Vacuum延迟"
-#: utils/misc/guc.c:549
+#: utils/misc/guc.c:572
msgid "Resource Usage / Background Writer"
msgstr "资源使用 / 后台写入进程"
-#: utils/misc/guc.c:551
+#: utils/misc/guc.c:574
msgid "Resource Usage / Asynchronous Behavior"
msgstr "资源使用 / 异步系统行为"
-#: utils/misc/guc.c:553
+#: utils/misc/guc.c:576
msgid "Write-Ahead Log"
msgstr "Write-Ahead 日志"
-#: utils/misc/guc.c:555
+#: utils/misc/guc.c:578
msgid "Write-Ahead Log / Settings"
msgstr "Write-Ahead 日志 / 设置"
-#: utils/misc/guc.c:557
+#: utils/misc/guc.c:580
msgid "Write-Ahead Log / Checkpoints"
msgstr "Write-Ahead 日志 / Checkpoints"
-#: utils/misc/guc.c:559
+#: utils/misc/guc.c:582
msgid "Write-Ahead Log / Archiving"
msgstr "Write-Ahead 日志 / 归档"
-#: utils/misc/guc.c:561
+#: utils/misc/guc.c:584
msgid "Replication"
msgstr "复制"
-#: utils/misc/guc.c:563
+#: utils/misc/guc.c:586
msgid "Replication / Sending Servers"
msgstr "复制/发送服务器"
-#: utils/misc/guc.c:565
+#: utils/misc/guc.c:588
msgid "Replication / Master Server"
msgstr "复制/主服务器"
-#: utils/misc/guc.c:567
+#: utils/misc/guc.c:590
msgid "Replication / Standby Servers"
msgstr "复制 / 备用服务器"
-#: utils/misc/guc.c:569
+#: utils/misc/guc.c:592
msgid "Query Tuning"
msgstr "查询调整"
-#: utils/misc/guc.c:571
+#: utils/misc/guc.c:594
msgid "Query Tuning / Planner Method Configuration"
msgstr "查询调整 / 规划器方法配置"
-#: utils/misc/guc.c:573
+#: utils/misc/guc.c:596
msgid "Query Tuning / Planner Cost Constants"
msgstr "查询调整 / Planner Cost Constants"
-#: utils/misc/guc.c:575
+#: utils/misc/guc.c:598
msgid "Query Tuning / Genetic Query Optimizer"
msgstr "查询调整 / 基因查询优化"
-#: utils/misc/guc.c:577
+#: utils/misc/guc.c:600
msgid "Query Tuning / Other Planner Options"
msgstr "查询调整 / 其它规划器选项"
-#: utils/misc/guc.c:579
+#: utils/misc/guc.c:602
msgid "Reporting and Logging"
msgstr "报告和日志"
-#: utils/misc/guc.c:581
+#: utils/misc/guc.c:604
msgid "Reporting and Logging / Where to Log"
msgstr "报告和日志 / 日志位置"
-#: utils/misc/guc.c:583
+#: utils/misc/guc.c:606
msgid "Reporting and Logging / When to Log"
msgstr "报告和日志 / 日志时间"
-#: utils/misc/guc.c:585
+#: utils/misc/guc.c:608
msgid "Reporting and Logging / What to Log"
msgstr "报告和日志 / 日志内容"
-#: utils/misc/guc.c:587
+#: utils/misc/guc.c:610
msgid "Statistics"
msgstr "统计信息"
-#: utils/misc/guc.c:589
+#: utils/misc/guc.c:612
msgid "Statistics / Monitoring"
msgstr "统计信息 / 监控"
-#: utils/misc/guc.c:591
+#: utils/misc/guc.c:614
msgid "Statistics / Query and Index Statistics Collector"
msgstr "统计信息 / 查询和索引统计收集器"
-#: utils/misc/guc.c:593
+#: utils/misc/guc.c:616
msgid "Autovacuum"
msgstr "Autovacuum"
-#: utils/misc/guc.c:595
+#: utils/misc/guc.c:618
msgid "Client Connection Defaults"
msgstr "客户端联接默认"
-#: utils/misc/guc.c:597
+#: utils/misc/guc.c:620
msgid "Client Connection Defaults / Statement Behavior"
msgstr "客户端联接默认 / 语句动作"
-#: utils/misc/guc.c:599
+#: utils/misc/guc.c:622
msgid "Client Connection Defaults / Locale and Formatting"
msgstr "客户端联接默认 / 本地化和格式化"
-#: utils/misc/guc.c:601
+#: utils/misc/guc.c:624
+#| msgid "Client Connection Defaults / Locale and Formatting"
+msgid "Client Connection Defaults / Shared Library Preloading"
+msgstr "客户端联接默认 / 共享库预先加载"
+
+#: utils/misc/guc.c:626
msgid "Client Connection Defaults / Other Defaults"
msgstr "客户端联接默认 / 其它默认"
-#: utils/misc/guc.c:603
+#: utils/misc/guc.c:628
msgid "Lock Management"
msgstr "锁管理"
-#: utils/misc/guc.c:605
+#: utils/misc/guc.c:630
msgid "Version and Platform Compatibility"
msgstr "版本和平台兼容性"
-#: utils/misc/guc.c:607
+#: utils/misc/guc.c:632
msgid "Version and Platform Compatibility / Previous PostgreSQL Versions"
msgstr "版本和平台兼容性 / 上一个 PostgreSQL 版本"
-#: utils/misc/guc.c:609
+#: utils/misc/guc.c:634
msgid "Version and Platform Compatibility / Other Platforms and Clients"
msgstr "版本和平台兼容性 / 其它平台和客户端"
-#: utils/misc/guc.c:611
+#: utils/misc/guc.c:636
msgid "Error Handling"
msgstr "错误处理"
-#: utils/misc/guc.c:613
+#: utils/misc/guc.c:638
msgid "Preset Options"
msgstr "预置选项"
-#: utils/misc/guc.c:615
+#: utils/misc/guc.c:640
msgid "Customized Options"
msgstr "定制选项"
-#: utils/misc/guc.c:617
+#: utils/misc/guc.c:642
msgid "Developer Options"
msgstr "开发人员选项"
-#: utils/misc/guc.c:671
+#: utils/misc/guc.c:696
msgid "Enables the planner's use of sequential-scan plans."
msgstr "启用查询计划器的顺序扫描计划."
-#: utils/misc/guc.c:680
+#: utils/misc/guc.c:705
msgid "Enables the planner's use of index-scan plans."
msgstr "启用查询计划器的索引扫描计划."
-#: utils/misc/guc.c:689
+#: utils/misc/guc.c:714
msgid "Enables the planner's use of index-only-scan plans."
msgstr "启用查询计划器的仅索引扫描计划."
-#: utils/misc/guc.c:698
+#: utils/misc/guc.c:723
msgid "Enables the planner's use of bitmap-scan plans."
msgstr "启用查询计划器的位图扫描计划."
-#: utils/misc/guc.c:707
+#: utils/misc/guc.c:732
msgid "Enables the planner's use of TID scan plans."
msgstr "启用查询计划器的TID扫描计划."
-#: utils/misc/guc.c:716
+#: utils/misc/guc.c:741
msgid "Enables the planner's use of explicit sort steps."
msgstr "启用查询计划器的显式排序步骤."
-#: utils/misc/guc.c:725
+#: utils/misc/guc.c:750
msgid "Enables the planner's use of hashed aggregation plans."
msgstr "启用查询计划器的哈希聚合计划."
-#: utils/misc/guc.c:734
+#: utils/misc/guc.c:759
msgid "Enables the planner's use of materialization."
msgstr "启用查询计划器的实体化使用."
-#: utils/misc/guc.c:743
+#: utils/misc/guc.c:768
msgid "Enables the planner's use of nested-loop join plans."
msgstr "启用查询计划器的嵌套循环连接计划."
-#: utils/misc/guc.c:752
+#: utils/misc/guc.c:777
msgid "Enables the planner's use of merge join plans."
msgstr "启用查询计划器的合并连接计划."
-#: utils/misc/guc.c:761
+#: utils/misc/guc.c:786
msgid "Enables the planner's use of hash join plans."
msgstr "启用查询计划器的哈希连接计划."
-#: utils/misc/guc.c:770
+#: utils/misc/guc.c:795
msgid "Enables genetic query optimization."
msgstr "启用基因查询优化."
-#: utils/misc/guc.c:771
+#: utils/misc/guc.c:796
msgid "This algorithm attempts to do planning without exhaustive searching."
msgstr "算法企图执行不带有无穷搜索的计划."
-#: utils/misc/guc.c:781
+#: utils/misc/guc.c:806
msgid "Shows whether the current user is a superuser."
msgstr "显示当前用户是否是超级用户."
-#: utils/misc/guc.c:791
+#: utils/misc/guc.c:816
msgid "Enables advertising the server via Bonjour."
msgstr "启用通过Bonjour的方式来宣布数据库服务器在网络中的存在."
-#: utils/misc/guc.c:800
+#: utils/misc/guc.c:825
msgid "Enables SSL connections."
msgstr "启用 SSL 联接."
-#: utils/misc/guc.c:809
+#: utils/misc/guc.c:834
+msgid "Give priority to server ciphersuite order."
+msgstr "为服务器密码组的顺序提供优先."
+
+#: utils/misc/guc.c:843
msgid "Forces synchronization of updates to disk."
msgstr "强制和磁盘同步更新"
-#: utils/misc/guc.c:810
+#: utils/misc/guc.c:844
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 "
"服务器将在多个位置使用系统调用fsync()来确定更新操作已经将数据写入磁盘.这将确"
"保在操作系统或硬件崩溃后数据库集群将恢复到一个一致性状态. "
-#: utils/misc/guc.c:821
+#: utils/misc/guc.c:855
+#| msgid "Continues processing past damaged page headers."
+msgid "Continues processing after a checksum failure."
+msgstr "校验失败后继续处理."
+
+#: utils/misc/guc.c:856
+#| msgid ""
+#| "Detection of a damaged page header normally causes PostgreSQL to report "
+#| "an error, aborting the current transaction. Setting zero_damaged_pages to "
+#| "true causes the system to instead report a warning, zero out the damaged "
+#| "page, and continue processing. This behavior will destroy data, namely "
+#| "all the rows on the damaged page."
+msgid ""
+"Detection of a checksum failure normally causes PostgreSQL to report an "
+"error, aborting the current transaction. Setting ignore_checksum_failure to "
+"true causes the system to ignore the failure (but still report a warning), "
+"and continue processing. This behavior could cause crashes or other serious "
+"problems. Only has an effect if checksums are enabled."
+msgstr ""
+"发现校验失败通常会使PostgreSQL报告一个错误, 并中止当前事务.将参数"
+"zero_damaged_pages设置为true可以使系统忽略失败(只报告一个警告信息),并且能够"
+"继续处理当前事务.这种情况将导致系统崩溃或者其它严重问题,这也只有在启用校验时"
+"才有效."
+
+#: utils/misc/guc.c:870
msgid "Continues processing past damaged page headers."
msgstr "继续处理已损坏的页头."
-#: utils/misc/guc.c:822
+#: utils/misc/guc.c:871
msgid ""
"Detection of a damaged page header normally causes PostgreSQL to report an "
"error, aborting the current transaction. Setting zero_damaged_pages to true "
"并且能够继续处理当前事务.这种情况将使毁坏数据,因为这样通常会使所有的记录在已"
"损坏的页上存放."
-#: utils/misc/guc.c:835
+#: utils/misc/guc.c:884
msgid "Writes full pages to WAL when first modified after a checkpoint."
msgstr "在检查点事件发生后发生第一次修改数据时,把所有的页写到WAL文件中"
-#: utils/misc/guc.c:836
+#: utils/misc/guc.c:885
msgid ""
"A page write in process during an operating system crash might be only "
"partially written to disk. During recovery, the row changes stored in WAL "
"文件中所保存的已改变记录不足以进行恢复.当对WAL发生检查点事件后进行第一次修改"
"操作时这个选项可以写入页。这样将允许进行完全恢复."
-#: utils/misc/guc.c:848
+#: utils/misc/guc.c:898
+#| msgid "Writes full pages to WAL when first modified after a checkpoint."
+msgid ""
+"Writes full pages to WAL when first modified after a checkpoint, even for a "
+"non-critical modifications."
+msgstr ""
+"在检查点事件发生后发生第一次修改数据甚至是非关键修改时,把所有的页写到WAL文件"
+"中"
+
+#: utils/misc/guc.c:908
msgid "Logs each checkpoint."
msgstr "记录每一个检查点事件"
-#: utils/misc/guc.c:857
+#: utils/misc/guc.c:917
msgid "Logs each successful connection."
msgstr "记录每一个成功的联接."
-#: utils/misc/guc.c:866
+#: utils/misc/guc.c:926
msgid "Logs end of a session, including duration."
msgstr "对会话的结束时间和整个会话的持续时间进行日志记录"
-#: utils/misc/guc.c:875
+#: utils/misc/guc.c:935
msgid "Turns on various assertion checks."
msgstr "打开各种判断检查."
-#: utils/misc/guc.c:876
+#: utils/misc/guc.c:936
msgid "This is a debugging aid."
msgstr "这是一个出错帮助."
-#: utils/misc/guc.c:890
+#: utils/misc/guc.c:950
msgid "Terminate session on any error."
msgstr "只要遇错即终止会话."
-#: utils/misc/guc.c:899
+#: utils/misc/guc.c:959
msgid "Reinitialize server after backend crash."
msgstr "后端服务器崩溃时重新初始化服务器."
-#: utils/misc/guc.c:909
+#: utils/misc/guc.c:969
msgid "Logs the duration of each completed SQL statement."
msgstr "记录每一条完成了的 SQL 语句过程."
-#: utils/misc/guc.c:918
+#: utils/misc/guc.c:978
msgid "Logs each query's parse tree."
msgstr "对每个查询的分析树进行日志记录"
-#: utils/misc/guc.c:927
+#: utils/misc/guc.c:987
msgid "Logs each query's rewritten parse tree."
msgstr "对每个查询的重写分析树进行日志记录"
-#: utils/misc/guc.c:936
+#: utils/misc/guc.c:996
msgid "Logs each query's execution plan."
msgstr "记录每一个查询的执行计划"
-#: utils/misc/guc.c:945
+#: utils/misc/guc.c:1005
msgid "Indents parse and plan tree displays."
msgstr "显示缩进的解析和计划树"
-#: utils/misc/guc.c:954
+#: utils/misc/guc.c:1014
msgid "Writes parser performance statistics to the server log."
msgstr "把分析器性能统计信息写入到服务器日志中."
-#: utils/misc/guc.c:963
+#: utils/misc/guc.c:1023
msgid "Writes planner performance statistics to the server log."
msgstr "把规划器性能统计信息写入到服务器日志中."
-#: utils/misc/guc.c:972
+#: utils/misc/guc.c:1032
msgid "Writes executor performance statistics to the server log."
msgstr "把执行器 (executor) 性能统计信息写入到服务器日志中."
-#: utils/misc/guc.c:981
+#: utils/misc/guc.c:1041
msgid "Writes cumulative performance statistics to the server log."
msgstr "把 cumulative 性能统计信息写入到服务器日志中."
-#: utils/misc/guc.c:991 utils/misc/guc.c:1065 utils/misc/guc.c:1075
-#: utils/misc/guc.c:1085 utils/misc/guc.c:1095 utils/misc/guc.c:1831
-#: utils/misc/guc.c:1841
-msgid "No description available."
-msgstr "没有可用的描述"
+#: utils/misc/guc.c:1051
+msgid ""
+"Logs system resource usage statistics (memory and CPU) on various B-tree "
+"operations."
+msgstr "基于可变的B-树操作的日志系统资源使用统计 (内存和CPU) ."
-#: utils/misc/guc.c:1003
+#: utils/misc/guc.c:1063
msgid "Collects information about executing commands."
msgstr "收集执行命令的统计信息."
-#: utils/misc/guc.c:1004
+#: utils/misc/guc.c:1064
msgid ""
"Enables the collection of information on the currently executing command of "
"each session, along with the time at which that command began execution."
msgstr "在每个会话当前正在执行的命令上启用信息收集, 并带有命令开始执行的时间."
-#: utils/misc/guc.c:1014
+#: utils/misc/guc.c:1074
msgid "Collects statistics on database activity."
msgstr "在数据库上正在执行的事务上收集统计信息."
-#: utils/misc/guc.c:1023
+#: utils/misc/guc.c:1083
msgid "Collects timing statistics for database I/O activity."
msgstr "为数据库I/O活动进行时间统计."
-#: utils/misc/guc.c:1033
+#: utils/misc/guc.c:1093
msgid "Updates the process title to show the active SQL command."
msgstr "更新进程标题来显示处于活动状态的SQL命令"
-#: utils/misc/guc.c:1034
+#: utils/misc/guc.c:1094
msgid ""
"Enables updating of the process title every time a new SQL command is "
"received by the server."
msgstr "每一次服务器开始运行新的SQL命令时启用进程标题的更新."
-#: utils/misc/guc.c:1043
+#: utils/misc/guc.c:1103
msgid "Starts the autovacuum subprocess."
msgstr "启动autovacuum子进程."
-#: utils/misc/guc.c:1053
+#: utils/misc/guc.c:1113
msgid "Generates debugging output for LISTEN and NOTIFY."
msgstr "为 LISTEN 和 NOTIFY 生成出错信息."
-#: utils/misc/guc.c:1107
+#: utils/misc/guc.c:1125
+#| msgid "Emit information about resource usage in sorting."
+msgid "Emits information about lock usage."
+msgstr "发出有关锁使用的信息."
+
+#: utils/misc/guc.c:1135
+#| msgid "Emit information about resource usage in sorting."
+msgid "Emits information about user lock usage."
+msgstr "发出有关用户锁使用情况的信息."
+
+#: utils/misc/guc.c:1145
+#| msgid "Emit information about resource usage in sorting."
+msgid "Emits information about lightweight lock usage."
+msgstr "发出有关轻量锁使用的相关信息."
+
+#: utils/misc/guc.c:1155
+msgid ""
+"Dumps information about all current locks when a deadlock timeout occurs."
+msgstr "输出死锁超时发生时所有当前锁的相关信息."
+
+#: utils/misc/guc.c:1167
msgid "Logs long lock waits."
msgstr "对长时间的锁等待记日志"
-#: utils/misc/guc.c:1117
+#: utils/misc/guc.c:1177
msgid "Logs the host name in the connection logs."
msgstr "在联接日志中记录主机名."
-#: utils/misc/guc.c:1118
+#: utils/misc/guc.c:1178
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 "
"在缺省情况下,连接日志只显示每个正在连接主机的IP地址.如果想要显示主机名,那么"
"必须把它打开,但是这取决于主机名解析的设置,这在性能上不会有影响."
-#: utils/misc/guc.c:1129
+#: utils/misc/guc.c:1189
msgid "Causes subtables to be included by default in various commands."
msgstr "使子表在不同的命令中被缺省包含"
-#: utils/misc/guc.c:1138
+#: utils/misc/guc.c:1198
msgid "Encrypt passwords."
msgstr "加密口令."
-#: utils/misc/guc.c:1139
+#: utils/misc/guc.c:1199
msgid ""
"When a password is specified in CREATE USER or ALTER USER without writing "
"either ENCRYPTED or UNENCRYPTED, this parameter determines whether the "
"当在 CREATE USER 或者 ALTER USER 语句中指定的口令没有用 ENCRYPTED 或者 "
"UNENCRYPTED, 此参数确定口令是否加密."
-#: utils/misc/guc.c:1149
+#: utils/misc/guc.c:1209
msgid "Treats \"expr=NULL\" as \"expr IS NULL\"."
msgstr "\"expr=NULL\" 看作为 \"expr IS NULL\"."
-#: utils/misc/guc.c:1150
+#: utils/misc/guc.c:1210
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 "
"行处理, 那就是说,如果expr计算为空值那么会返回true,否则返回为false。表达式"
"expr = NULL的正确行为应该是永远返回为空(未知)"
-#: utils/misc/guc.c:1162
+#: utils/misc/guc.c:1222
msgid "Enables per-database user names."
msgstr "启用每个数据库的用户名"
-#: utils/misc/guc.c:1172
+#: utils/misc/guc.c:1232
msgid "This parameter doesn't do anything."
msgstr "这个参数不做任何事情."
-#: utils/misc/guc.c:1173
+#: utils/misc/guc.c:1233
msgid ""
"It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-"
"vintage clients."
msgstr "只是这里我们不能从7.3版本的客户端中阻止运行SET AUTOCOMMIT TO ON."
-#: utils/misc/guc.c:1182
+#: utils/misc/guc.c:1242
msgid "Sets the default read-only status of new transactions."
msgstr "为新事物设置默认的只读状态."
-#: utils/misc/guc.c:1191
+#: utils/misc/guc.c:1251
msgid "Sets the current transaction's read-only status."
msgstr "设置当前事务的只读状态."
-#: utils/misc/guc.c:1201
+#: utils/misc/guc.c:1261
msgid "Sets the default deferrable status of new transactions."
msgstr "为新事物设置默认的可延迟状态."
-#: utils/misc/guc.c:1210
+#: utils/misc/guc.c:1270
msgid ""
"Whether to defer a read-only serializable transaction until it can be "
"executed with no possible serialization failures."
msgstr ""
"是否要延期执行一个只读可串行化事务,直到执行时不会出现任何可串行化失败."
-#: utils/misc/guc.c:1220
+#: utils/misc/guc.c:1280
msgid "Check function bodies during CREATE FUNCTION."
msgstr "在创建函数过程中检查函数体."
-#: utils/misc/guc.c:1229
+#: utils/misc/guc.c:1289
msgid "Enable input of NULL elements in arrays."
msgstr "在数组中启用空值成员输入"
-#: utils/misc/guc.c:1230
+#: utils/misc/guc.c:1290
msgid ""
"When turned on, unquoted NULL in an array input value means a null value; "
"otherwise it is taken literally."
"当打开这个选项的时候,在数组输入值中没有引用的NULL表示空值;否则是按照字面上的"
"含义进行解释."
-#: utils/misc/guc.c:1240
+#: utils/misc/guc.c:1300
msgid "Create new tables with OIDs by default."
msgstr "缺省下使用OIDs来创建表."
-#: utils/misc/guc.c:1249
+#: utils/misc/guc.c:1309
msgid ""
"Start a subprocess to capture stderr output and/or csvlogs into log files."
msgstr "启动一个子进程用来捕获stderr输出或csvlogs,写到到日志文件中."
-#: utils/misc/guc.c:1258
+#: utils/misc/guc.c:1318
msgid "Truncate existing log files of same name during log rotation."
msgstr "在日志切换期间截断相同名称的日志文件"
-#: utils/misc/guc.c:1269
+#: utils/misc/guc.c:1329
msgid "Emit information about resource usage in sorting."
msgstr "发出在排序中关于资源使用的信息."
-#: utils/misc/guc.c:1283
+#: utils/misc/guc.c:1343
msgid "Generate debugging output for synchronized scanning."
msgstr "为同步扫描生成调试信息."
-#: utils/misc/guc.c:1298
+#: utils/misc/guc.c:1358
msgid "Enable bounded sorting using heap sort."
msgstr "使用堆排序来启用有界排序."
-#: utils/misc/guc.c:1311
+#: utils/misc/guc.c:1371
msgid "Emit WAL-related debugging output."
msgstr "发出与WAL相关的调试信息输出"
-#: utils/misc/guc.c:1323
+#: utils/misc/guc.c:1383
msgid "Datetimes are integer based."
msgstr "日期时间类型值是基于整数类型的"
-#: utils/misc/guc.c:1338
+#: utils/misc/guc.c:1398
msgid ""
"Sets whether Kerberos and GSSAPI user names should be treated as case-"
"insensitive."
msgstr "设置 Kerberos和GSSAPI的用户名是否应该区分大小写."
-#: utils/misc/guc.c:1348
+#: utils/misc/guc.c:1408
msgid "Warn about backslash escapes in ordinary string literals."
msgstr "在顺序字符串文字中关于反斜线转义的警告"
-#: utils/misc/guc.c:1358
+#: utils/misc/guc.c:1418
msgid "Causes '...' strings to treat backslashes literally."
msgstr "使字符串'...' 按照字面含义处理反斜线"
-#: utils/misc/guc.c:1369
+#: utils/misc/guc.c:1429
msgid "Enable synchronized sequential scans."
msgstr "启用同步序列扫描"
-#: utils/misc/guc.c:1379
+#: utils/misc/guc.c:1439
msgid "Allows archiving of WAL files using archive_command."
msgstr "允许使用archive_command参数对WAL文件进行归档."
-#: utils/misc/guc.c:1389
+#: utils/misc/guc.c:1449
msgid "Allows connections and queries during recovery."
msgstr "允许在恢复期间进行连接和查询."
-#: utils/misc/guc.c:1399
+#: utils/misc/guc.c:1459
msgid ""
"Allows feedback from a hot standby to the primary that will avoid query "
"conflicts."
msgstr "允许来自热备节点到主节点的响应,以避免查询冲突."
-#: utils/misc/guc.c:1409
+#: utils/misc/guc.c:1469
msgid "Allows modifications of the structure of system tables."
msgstr "允许修改系统表的结构."
-#: utils/misc/guc.c:1420
+#: utils/misc/guc.c:1480
msgid "Disables reading from system indexes."
msgstr "禁止从系统索引中进行读操作"
-#: utils/misc/guc.c:1421
+#: utils/misc/guc.c:1481
msgid ""
"It does not prevent updating the indexes, so it is safe to use. The worst "
"consequence is slowness."
msgstr "这不能防止更新索引,所以应该安全的使用。最糟糕的结果是使系统性能变慢."
-#: utils/misc/guc.c:1432
+#: utils/misc/guc.c:1492
msgid ""
"Enables backward compatibility mode for privilege checks on large objects."
msgstr "为在大对象上的权限检查启用向后兼容模式."
-#: utils/misc/guc.c:1433
+#: utils/misc/guc.c:1493
msgid ""
"Skips privilege checks when reading or modifying large objects, for "
"compatibility with PostgreSQL releases prior to 9.0."
msgstr ""
"为了与9.0版本之前的PostgreSQL相兼容,在读取或修改大对象时候不进行权限检查"
-#: utils/misc/guc.c:1443
+#: utils/misc/guc.c:1503
msgid "When generating SQL fragments, quote all identifiers."
msgstr "在生成SQL片段时,对所有标识符加引号括起来."
-#: utils/misc/guc.c:1462
+#: utils/misc/guc.c:1513
+#| msgid "Shows whether the current user is a superuser."
+msgid "Shows whether data checksums are turned on for this cluster."
+msgstr "显示当前簇是否开启数据校验和."
+
+#: utils/misc/guc.c:1533
msgid ""
"Forces a switch to the next xlog file if a new file has not been started "
"within N seconds."
msgstr "如果新的文件没有在N秒内启动,那么强制切换到下一个xlog文件."
-#: utils/misc/guc.c:1473
+#: utils/misc/guc.c:1544
msgid "Waits N seconds on connection startup after authentication."
msgstr "完成认证后,在启动的连接上等待N秒"
-#: utils/misc/guc.c:1474 utils/misc/guc.c:1934
+#: utils/misc/guc.c:1545 utils/misc/guc.c:2047
msgid "This allows attaching a debugger to the process."
msgstr "允许将调试器添加到进程"
-#: utils/misc/guc.c:1483
+#: utils/misc/guc.c:1554
msgid "Sets the default statistics target."
msgstr "设置默认统计对象."
-#: utils/misc/guc.c:1484
+#: utils/misc/guc.c:1555
msgid ""
"This applies to table columns that have not had a column-specific target set "
"via ALTER TABLE SET STATISTICS."
msgstr "在没有通过ALTER TABLE SET STATISTICS产生列定义目标集合的列上使用."
-#: utils/misc/guc.c:1493
+#: utils/misc/guc.c:1564
msgid "Sets the FROM-list size beyond which subqueries are not collapsed."
msgstr "所设置的FROM列表大小超过子查询所允许的最大长度"
-#: utils/misc/guc.c:1495
+#: utils/misc/guc.c:1566
msgid ""
"The planner will merge subqueries into upper queries if the resulting FROM "
"list would have no more than this many items."
"如果所产生的FROM列表成员不超过上层查询的相应的数量,那么计划器会把子查询合并到"
"上层查询中."
-#: utils/misc/guc.c:1505
+#: utils/misc/guc.c:1576
msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened."
msgstr "设置的FROM列表大小超过没有展平的JOIN结构大小."
-#: utils/misc/guc.c:1507
+#: utils/misc/guc.c:1578
msgid ""
"The planner will flatten explicit JOIN constructs into lists of FROM items "
"whenever a list of no more than this many items would result."
"无论什么时候产生不超过这个数量的成员,计划器都将显式的JOIN结构展平到FROM子句后"
"面的成员列表中."
-#: utils/misc/guc.c:1517
+#: utils/misc/guc.c:1588
msgid "Sets the threshold of FROM items beyond which GEQO is used."
msgstr "设置超过GEQO使用的FROM列表成员数量门限值."
-#: utils/misc/guc.c:1526
+#: utils/misc/guc.c:1597
msgid "GEQO: effort is used to set the default for other GEQO parameters."
msgstr "GEQO: 为其它GEQO参数设置缺省值"
-#: utils/misc/guc.c:1535
+#: utils/misc/guc.c:1606
msgid "GEQO: number of individuals in the population."
msgstr "GEQO: 人群 (population) 个体 (individual) 数"
-#: utils/misc/guc.c:1536 utils/misc/guc.c:1545
+#: utils/misc/guc.c:1607 utils/misc/guc.c:1616
msgid "Zero selects a suitable default value."
msgstr "没有选择出一个合适的缺省值"
-#: utils/misc/guc.c:1544
+#: utils/misc/guc.c:1615
msgid "GEQO: number of iterations of the algorithm."
msgstr "GEQO: 算法的迭代次数"
-#: utils/misc/guc.c:1555
+#: utils/misc/guc.c:1626
msgid "Sets the time to wait on a lock before checking for deadlock."
msgstr "在检查死锁前设置在一个锁上的等待时间."
-#: utils/misc/guc.c:1566
+#: utils/misc/guc.c:1637
msgid ""
"Sets the maximum delay before canceling queries when a hot standby server is "
"processing archived WAL data."
msgstr "当热备服务器在处理已归档的WAL数据时,在取消查询请求前设置最大的延迟."
-#: utils/misc/guc.c:1577
+#: utils/misc/guc.c:1648
msgid ""
"Sets the maximum delay before canceling queries when a hot standby server is "
"processing streamed WAL data."
msgstr ""
"当热备服务器在处理通过流复制的WAL数据时,在取消查询请求前设置最大的延迟."
-#: utils/misc/guc.c:1588
+#: utils/misc/guc.c:1659
msgid ""
"Sets the maximum interval between WAL receiver status reports to the primary."
msgstr "为WAL接受进程的状态报告(向主节点)设置最大时间间隔."
-#: utils/misc/guc.c:1599
+#: utils/misc/guc.c:1670
+#| msgid ""
+#| "Sets the maximum interval between WAL receiver status reports to the "
+#| "primary."
+msgid "Sets the maximum wait time to receive data from the primary."
+msgstr "设置从主节点上接收数据的最大等待时间."
+
+#: utils/misc/guc.c:1681
msgid "Sets the maximum number of concurrent connections."
msgstr "设置并发联接的最大个数."
-#: utils/misc/guc.c:1609
+#: utils/misc/guc.c:1691
msgid "Sets the number of connection slots reserved for superusers."
msgstr "设置为超级用户保留的联接数."
-#: utils/misc/guc.c:1623
+#: utils/misc/guc.c:1705
msgid "Sets the number of shared memory buffers used by the server."
msgstr "设置服务器使用的共享内存缓冲区的数量."
-#: utils/misc/guc.c:1634
+#: utils/misc/guc.c:1716
msgid "Sets the maximum number of temporary buffers used by each session."
msgstr "设置每个会话可使用的临时缓冲区的最大数量."
-#: utils/misc/guc.c:1645
+#: utils/misc/guc.c:1727
msgid "Sets the TCP port the server listens on."
msgstr "设置服务器监听的 TCP 端口号."
-#: utils/misc/guc.c:1655
+#: utils/misc/guc.c:1737
msgid "Sets the access permissions of the Unix-domain socket."
msgstr "设置 Unix-domain 套接字的访问权限."
-#: utils/misc/guc.c:1656
+#: utils/misc/guc.c:1738
msgid ""
"Unix-domain sockets use the usual Unix file system permission set. The "
"parameter value is expected to be a numeric mode specification in the form "
"Unix-domain 套接字使用普通的Unix文件许可集合.参数值应该是数值模式定义, 它的形"
"式应该是系统调用chmod和umask可接受的.(为了使用习惯上以0开头的八进制格式数值)"
-#: utils/misc/guc.c:1670
+#: utils/misc/guc.c:1752
msgid "Sets the file permissions for log files."
msgstr "设置日志文件的文件访问权限."
-#: utils/misc/guc.c:1671
+#: utils/misc/guc.c:1753
msgid ""
"The parameter value is expected to be a numeric mode specification in the "
"form accepted by the chmod and umask system calls. (To use the customary "
"参数值期望使用数值模式来指定, 它的形式应该是系统调用chmod和umask可接受的.(为"
"了使用习惯上以0开头的八进制格式数值)"
-#: utils/misc/guc.c:1684
+#: utils/misc/guc.c:1766
msgid "Sets the maximum memory to be used for query workspaces."
msgstr "设置查询工作空间使用的最大内存数."
-#: utils/misc/guc.c:1685
+#: utils/misc/guc.c:1767
msgid ""
"This much memory can be used by each internal sort operation and hash table "
"before switching to temporary disk files."
msgstr ""
"这些内存将可以由每一个内部排序操作和转换到临时磁盘文件之前的散列表来使用"
-#: utils/misc/guc.c:1697
+#: utils/misc/guc.c:1779
msgid "Sets the maximum memory to be used for maintenance operations."
msgstr "设置维护操作使用的最大内存数."
-#: utils/misc/guc.c:1698
+#: utils/misc/guc.c:1780
msgid "This includes operations such as VACUUM and CREATE INDEX."
msgstr "此处动作包括 VACUUM 和 CREATE INDEX."
-#: utils/misc/guc.c:1713
+#: utils/misc/guc.c:1795
msgid "Sets the maximum stack depth, in kilobytes."
msgstr "设置最大的堆栈深度,单位是千字节."
-#: utils/misc/guc.c:1724
+#: utils/misc/guc.c:1806
msgid "Limits the total size of all temporary files used by each session."
msgstr "为每个会话可使用的所有临时文件限制最大大小."
-#: utils/misc/guc.c:1725
+#: utils/misc/guc.c:1807
msgid "-1 means no limit."
msgstr "-1 意指没有限制."
-#: utils/misc/guc.c:1735
+#: utils/misc/guc.c:1817
msgid "Vacuum cost for a page found in the buffer cache."
msgstr "在缓冲区缓存中找到对于一个页进行清理的开销."
-#: utils/misc/guc.c:1745
+#: utils/misc/guc.c:1827
msgid "Vacuum cost for a page not found in the buffer cache."
msgstr "在缓冲区缓存中没有找到对于一个页进行清理的开销."
-#: utils/misc/guc.c:1755
+#: utils/misc/guc.c:1837
msgid "Vacuum cost for a page dirtied by vacuum."
msgstr "由vacuum进程对脏页进行清理的开销."
-#: utils/misc/guc.c:1765
+#: utils/misc/guc.c:1847
msgid "Vacuum cost amount available before napping."
msgstr "在暂停前可用的清理开销总量."
-#: utils/misc/guc.c:1775
+#: utils/misc/guc.c:1857
msgid "Vacuum cost delay in milliseconds."
msgstr "Vacuum开销延迟是以毫秒为单位"
-#: utils/misc/guc.c:1786
+#: utils/misc/guc.c:1868
msgid "Vacuum cost delay in milliseconds, for autovacuum."
msgstr "对于autovacuum来说,Vacuum开销延迟是以毫秒为单位"
-#: utils/misc/guc.c:1797
+#: utils/misc/guc.c:1879
msgid "Vacuum cost amount available before napping, for autovacuum."
msgstr "对于autovacuum进程,在暂停前前进行清理有效开销总量."
-#: utils/misc/guc.c:1807
+#: utils/misc/guc.c:1889
msgid ""
"Sets the maximum number of simultaneously open files for each server process."
msgstr "设置每一个服务器进程同时打开文件的最大个数."
-#: utils/misc/guc.c:1820
+#: utils/misc/guc.c:1902
msgid "Sets the maximum number of simultaneously prepared transactions."
msgstr "设置同步的已准备好事务的最大个数."
-#: utils/misc/guc.c:1853
+#: utils/misc/guc.c:1913
+#| msgid "Sets the maximum number of locks per transaction."
+msgid "Sets the minimum OID of tables for tracking locks."
+msgstr "设置跟踪锁的表的最小OID."
+
+#: utils/misc/guc.c:1914
+msgid "Is used to avoid output on system tables."
+msgstr "用于避免输出到系统表."
+
+#: utils/misc/guc.c:1923
+msgid "Sets the OID of the table with unconditionally lock tracing."
+msgstr "设置无条件锁追踪的表的OID."
+
+#: utils/misc/guc.c:1935
msgid "Sets the maximum allowed duration of any statement."
msgstr "设置任何语句执行时间的最大值 (单位毫秒)."
-#: utils/misc/guc.c:1854
+#: utils/misc/guc.c:1936 utils/misc/guc.c:1947
msgid "A value of 0 turns off the timeout."
msgstr "值为 0 的时候关闭超时."
-#: utils/misc/guc.c:1864
+#: utils/misc/guc.c:1946
+#| msgid "Sets the maximum allowed duration of any statement."
+msgid "Sets the maximum allowed duration of any wait for a lock."
+msgstr "等待锁的的最长时间值."
+
+#: utils/misc/guc.c:1957
msgid "Minimum age at which VACUUM should freeze a table row."
msgstr "VACUUM应该冻结一行记录的最小时间."
-#: utils/misc/guc.c:1874
+#: utils/misc/guc.c:1967
msgid "Age at which VACUUM should scan whole table to freeze tuples."
msgstr "这是VACUUM应该扫描整个表来冻结元组的时候."
-#: utils/misc/guc.c:1884
+#: utils/misc/guc.c:1977
+#| msgid "Minimum age at which VACUUM should freeze a table row."
+msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row."
+msgstr "VACUUM用于冻结表中某行对应的MultiXactId的最小时间范围."
+
+#: utils/misc/guc.c:1987
+#| msgid "Age at which VACUUM should scan whole table to freeze tuples."
+msgid "Multixact age at which VACUUM should scan whole table to freeze tuples."
+msgstr "这是VACUUM应该扫描整个表来冻结元组的事务时间范围."
+
+#: utils/misc/guc.c:1997
msgid ""
"Number of transactions by which VACUUM and HOT cleanup should be deferred, "
"if any."
msgstr "VACUUM和热清理操作应该延迟的事务数量."
-#: utils/misc/guc.c:1897
+#: utils/misc/guc.c:2010
msgid "Sets the maximum number of locks per transaction."
msgstr "设置每一个事物锁的最大个数."
-#: utils/misc/guc.c:1898
+#: utils/misc/guc.c:2011
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 "
"持有共享锁表的大小是基于最多max_locks_per_transaction * max_connections个不同"
"对象需要在任何时刻被锁定的假设来指定的."
-#: utils/misc/guc.c:1909
+#: utils/misc/guc.c:2022
msgid "Sets the maximum number of predicate locks per transaction."
msgstr "设置每一个事物的断言锁的最大个数."
-#: utils/misc/guc.c:1910
+#: utils/misc/guc.c:2023
msgid ""
"The shared predicate lock table is sized on the assumption that at most "
"max_pred_locks_per_transaction * max_connections distinct objects will need "
"共享断言锁表的大小是基于最多max_locks_per_transaction * max_connections个不同"
"对象需要在任何时刻被锁定的假设来指定的."
-#: utils/misc/guc.c:1921
+#: utils/misc/guc.c:2034
msgid "Sets the maximum allowed time to complete client authentication."
msgstr "设置完成客户端认证的需要等待的最长时间"
-#: utils/misc/guc.c:1933
+#: utils/misc/guc.c:2046
msgid "Waits N seconds on connection startup before authentication."
msgstr "在认证前在连接启动上需要等待N秒"
-#: utils/misc/guc.c:1944
+#: utils/misc/guc.c:2057
msgid "Sets the number of WAL files held for standby servers."
msgstr "设置用于备用服务器而持有WAL文件的数量."
-#: utils/misc/guc.c:1954
+#: utils/misc/guc.c:2067
msgid ""
"Sets the maximum distance in log segments between automatic WAL checkpoints."
msgstr "在自动WAL检查点之间设置log段中的最大距离."
-#: utils/misc/guc.c:1964
+#: utils/misc/guc.c:2077
msgid "Sets the maximum time between automatic WAL checkpoints."
msgstr "设置两次自动WAL检查点事件之间需要等待的最大时间"
-#: utils/misc/guc.c:1975
+#: utils/misc/guc.c:2088
msgid ""
"Enables warnings if checkpoint segments are filled more frequently than this."
msgstr "如果检查点段的填充频度超过了最大值,启用警告功能。"
-#: utils/misc/guc.c:1977
+#: utils/misc/guc.c:2090
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 "
"如果检查点事件是由于填充检查点段比这个数量的秒数更加频繁所引起,那么会向服务"
"器日志写一条消息. 如果把参数设置为0,那么可以关掉警告功能."
-#: utils/misc/guc.c:1989
+#: utils/misc/guc.c:2102
msgid "Sets the number of disk-page buffers in shared memory for WAL."
msgstr "为 WAL 设置共享内存中磁盘页缓冲区的个数."
-#: utils/misc/guc.c:2000
+#: utils/misc/guc.c:2113
msgid "WAL writer sleep time between WAL flushes."
msgstr "WAL写进程在两次刷新WAL缓存内容之间的睡眠时间"
-#: utils/misc/guc.c:2012
+#: utils/misc/guc.c:2125
msgid "Sets the maximum number of simultaneously running WAL sender processes."
msgstr "设置同时运行的WAL发送进程最大数量"
-#: utils/misc/guc.c:2022
+#: utils/misc/guc.c:2136
+#| msgid "Sets the maximum number of simultaneously prepared transactions."
+msgid "Sets the maximum number of simultaneously defined replication slots."
+msgstr "设置同步的已定义复制槽的最大数."
+
+#: utils/misc/guc.c:2146
msgid "Sets the maximum time to wait for WAL replication."
msgstr "设置最大时间,等待WAL复制."
-#: utils/misc/guc.c:2033
+#: utils/misc/guc.c:2157
msgid ""
"Sets the delay in microseconds between transaction commit and flushing WAL "
"to disk."
msgstr "设置事物提交和刷新 WAL 到磁盘间的延迟时间, 单位微秒."
-#: utils/misc/guc.c:2044
+#: utils/misc/guc.c:2169
msgid ""
"Sets the minimum concurrent open transactions before performing commit_delay."
msgstr "在执行commit_delay前,设置最少的可同步打开事务的数量."
-#: utils/misc/guc.c:2055
+#: utils/misc/guc.c:2180
msgid "Sets the number of digits displayed for floating-point values."
msgstr "设置浮点数显示的位数."
-#: utils/misc/guc.c:2056
+#: utils/misc/guc.c:2181
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 "
"这将影响实数,双精度类型和几何数据类型.参数被加到位数的标准数量(视情况而定,可"
"能是FLT_DIG或DBL_DIG)"
-#: utils/misc/guc.c:2067
+#: utils/misc/guc.c:2192
msgid "Sets the minimum execution time above which statements will be logged."
msgstr "设置最小执行时间,执行时间大于等于这个值的语句都将被记录."
-#: utils/misc/guc.c:2069
+#: utils/misc/guc.c:2194
msgid "Zero prints all queries. -1 turns this feature off."
msgstr ""
"如果值设置为0,那么打印出所有查询. 如果设置为-1,那么将把这个功能特性关闭"
-#: utils/misc/guc.c:2079
+#: utils/misc/guc.c:2204
msgid ""
"Sets the minimum execution time above which autovacuum actions will be "
"logged."
msgstr ""
"设置最小执行时间,如果autovacuum操作时间大于等于这个值,那么将记录这些操作."
-#: utils/misc/guc.c:2081
+#: utils/misc/guc.c:2206
msgid "Zero prints all actions. -1 turns autovacuum logging off."
msgstr "0表示打印出所有的操作.-1表示关闭对autovacuum的日志记录功能"
-#: utils/misc/guc.c:2091
+#: utils/misc/guc.c:2216
msgid "Background writer sleep time between rounds."
msgstr "后台写入进程 (Background writer) 两次运行之间的休眠时间."
-#: utils/misc/guc.c:2102
+#: utils/misc/guc.c:2227
msgid "Background writer maximum number of LRU pages to flush per round."
msgstr "后台写入进程 (Background writer) 每次可刷新LRU页的最大数量"
-#: utils/misc/guc.c:2118
+#: utils/misc/guc.c:2243
msgid ""
"Number of simultaneous requests that can be handled efficiently by the disk "
"subsystem."
msgstr "可以由磁盘子系统有效处理的并发请求数量."
-#: utils/misc/guc.c:2119
+#: utils/misc/guc.c:2244
msgid ""
"For RAID arrays, this should be approximately the number of drive spindles "
"in the array."
msgstr "对于RAID磁盘阵列来说,同步可处理的请求与磁盘阵列中磁盘数量应该相近."
-#: utils/misc/guc.c:2132
+#: utils/misc/guc.c:2259
+#| msgid "Sets the maximum number of concurrent connections."
+msgid "Maximum number of concurrent worker processes."
+msgstr "最大并发工作进程数."
+
+#: utils/misc/guc.c:2269
msgid "Automatic log file rotation will occur after N minutes."
msgstr "在N分钟后将会产生自动日志文件切换."
-#: utils/misc/guc.c:2143
+#: utils/misc/guc.c:2280
msgid "Automatic log file rotation will occur after N kilobytes."
msgstr "当写入了N千字节会发生自动日志文件切换"
-#: utils/misc/guc.c:2154
+#: utils/misc/guc.c:2291
msgid "Shows the maximum number of function arguments."
msgstr "显示函数参数的最大个数."
-#: utils/misc/guc.c:2165
+#: utils/misc/guc.c:2302
msgid "Shows the maximum number of index keys."
msgstr "显示索引键值的最大个数."
-#: utils/misc/guc.c:2176
+#: utils/misc/guc.c:2313
msgid "Shows the maximum identifier length."
msgstr "显示标识符最大长度"
-#: utils/misc/guc.c:2187
+#: utils/misc/guc.c:2324
msgid "Shows the size of a disk block."
msgstr "显示一个磁盘块的大小"
-#: utils/misc/guc.c:2198
+#: utils/misc/guc.c:2335
msgid "Shows the number of pages per disk file."
msgstr "显示在每个磁盘文件中页的数量."
-#: utils/misc/guc.c:2209
+#: utils/misc/guc.c:2346
msgid "Shows the block size in the write ahead log."
msgstr "显示预写日志中的块大小."
-#: utils/misc/guc.c:2220
+#: utils/misc/guc.c:2357
msgid "Shows the number of pages per write ahead log segment."
msgstr "显示每个预写日志段中页的数量."
-#: utils/misc/guc.c:2233
+#: utils/misc/guc.c:2370
msgid "Time to sleep between autovacuum runs."
msgstr "两次运行autovacuum进程的休眠时间"
-#: utils/misc/guc.c:2243
+#: utils/misc/guc.c:2380
msgid "Minimum number of tuple updates or deletes prior to vacuum."
msgstr "设置激活清理操作所需要最小数量的更新或删除元组."
-#: utils/misc/guc.c:2252
+#: utils/misc/guc.c:2389
msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze."
msgstr "分析前可插入,更新或删除元组的最小数量"
-#: utils/misc/guc.c:2262
+#: utils/misc/guc.c:2399
msgid ""
"Age at which to autovacuum a table to prevent transaction ID wraparound."
msgstr "这是应该自动清理一张表以避免事务ID重叠的时间段."
-#: utils/misc/guc.c:2273
+#: utils/misc/guc.c:2410
+#| msgid ""
+#| "Age at which to autovacuum a table to prevent transaction ID wraparound."
+msgid ""
+"Multixact age at which to autovacuum a table to prevent multixact wraparound."
+msgstr "自动清理一张表以避免事务ID重叠的时间范围."
+
+#: utils/misc/guc.c:2420
msgid ""
"Sets the maximum number of simultaneously running autovacuum worker "
"processes."
msgstr "设置最大可同时运行的autovacuum工作进程数量"
-#: utils/misc/guc.c:2283
+#: utils/misc/guc.c:2430
+#| msgid "Sets the maximum memory to be used for query workspaces."
+msgid "Sets the maximum memory to be used by each autovacuum worker process."
+msgstr "设置每个自动清理(autovacuum)工作进程要使用的最大内存数."
+
+#: utils/misc/guc.c:2441
msgid "Time between issuing TCP keepalives."
msgstr "启动TCP存活定时器的间隔"
-#: utils/misc/guc.c:2284 utils/misc/guc.c:2295
+#: utils/misc/guc.c:2442 utils/misc/guc.c:2453
msgid "A value of 0 uses the system default."
msgstr "值为0的时候表示系统缺省值"
-#: utils/misc/guc.c:2294
+#: utils/misc/guc.c:2452
msgid "Time between TCP keepalive retransmits."
msgstr "在两次TCP存活启动器重新传送之间需要花费的时间"
-#: utils/misc/guc.c:2305
+#: utils/misc/guc.c:2463
msgid ""
"Set the amount of traffic to send and receive before renegotiating the "
"encryption keys."
msgstr "在重新设定加密键之前设定需要进行发送和接收的流量总和"
-#: utils/misc/guc.c:2316
+#: utils/misc/guc.c:2474
msgid "Maximum number of TCP keepalive retransmits."
msgstr "设置每一个事物锁的最大个数."
-#: utils/misc/guc.c:2317
+#: utils/misc/guc.c:2475
msgid ""
"This controls the number of consecutive keepalive retransmits that can be "
"lost before a connection is considered dead. A value of 0 uses the system "
"用于控制连续存活器再次传输数量,这些存活器重在连接被认为断开前会丢失.值0用于"
"表示系统缺省."
-#: utils/misc/guc.c:2328
+#: utils/misc/guc.c:2486
msgid "Sets the maximum allowed result for exact search by GIN."
msgstr "设置由GIN进行的精确搜索所允许的最大允许结果."
-#: utils/misc/guc.c:2339
+#: utils/misc/guc.c:2497
msgid "Sets the planner's assumption about the size of the disk cache."
msgstr "设置关于计划器对磁盘缓冲大小的假设."
-#: utils/misc/guc.c:2340
+#: utils/misc/guc.c:2498
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 "将要用于存储PostgreSQL数据文件的内核磁盘缓冲部分,以8K大小的页为单位."
-#: utils/misc/guc.c:2353
+#: utils/misc/guc.c:2511
msgid "Shows the server version as an integer."
msgstr "以整数的形式显示服务器版本信息."
-#: utils/misc/guc.c:2364
+#: utils/misc/guc.c:2522
msgid "Log the use of temporary files larger than this number of kilobytes."
msgstr "记录对超过这个数量(以千字节为单位)的临时文件的使用."
-#: utils/misc/guc.c:2365
+#: utils/misc/guc.c:2523
msgid "Zero logs all files. The default is -1 (turning this feature off)."
msgstr "如果设置为0,打印所有查询. 默认值为 -1 (表示关闭此功能)."
-#: utils/misc/guc.c:2375
+#: utils/misc/guc.c:2533
msgid "Sets the size reserved for pg_stat_activity.query, in bytes."
msgstr "设置为pg_stat_activity.query所保留的空间大小,以字节为单位."
-#: utils/misc/guc.c:2394
+#: utils/misc/guc.c:2557
msgid ""
"Sets the planner's estimate of the cost of a sequentially fetched disk page."
msgstr "设置计划器对顺序获取磁盘页的开销估算"
-#: utils/misc/guc.c:2404
+#: utils/misc/guc.c:2567
msgid ""
"Sets the planner's estimate of the cost of a nonsequentially fetched disk "
"page."
msgstr "设置计划器对非顺序获取磁盘页的开销估算."
-#: utils/misc/guc.c:2414
+#: utils/misc/guc.c:2577
msgid "Sets the planner's estimate of the cost of processing each tuple (row)."
msgstr "设置计划器对处理每个元组(也就是记录)的开销估算"
-#: utils/misc/guc.c:2424
+#: utils/misc/guc.c:2587
msgid ""
"Sets the planner's estimate of the cost of processing each index entry "
"during an index scan."
msgstr "设置计划器在索引扫描期间对处理每个索引项的开销估算."
-#: utils/misc/guc.c:2434
+#: utils/misc/guc.c:2597
msgid ""
"Sets the planner's estimate of the cost of processing each operator or "
"function call."
msgstr "设置计划器对处理每个操作符和函数调用的开销估算."
-#: utils/misc/guc.c:2445
+#: utils/misc/guc.c:2608
msgid ""
"Sets the planner's estimate of the fraction of a cursor's rows that will be "
"retrieved."
msgstr "设置计划器对于通过游标取回记录部分的估算."
-#: utils/misc/guc.c:2456
+#: utils/misc/guc.c:2619
msgid "GEQO: selective pressure within the population."
msgstr "GEQO: 在总体中的选择性压力"
-#: utils/misc/guc.c:2466
+#: utils/misc/guc.c:2629
msgid "GEQO: seed for random path selection."
msgstr "GEQO:用于随机路径选择的种子."
-#: utils/misc/guc.c:2476
+#: utils/misc/guc.c:2639
msgid "Multiple of the average buffer usage to free per round."
msgstr "每一次释放平均缓冲区使用量的倍数大小"
-#: utils/misc/guc.c:2486
+#: utils/misc/guc.c:2649
msgid "Sets the seed for random-number generation."
msgstr "设置生成随机数的种子."
-#: utils/misc/guc.c:2497
+#: utils/misc/guc.c:2660
msgid ""
"Number of tuple updates or deletes prior to vacuum as a fraction of "
"reltuples."
msgstr "在清理前需要插入,删除或更新元组的数量,这个数量是作为表大小的百分比"
-#: utils/misc/guc.c:2506
+#: utils/misc/guc.c:2669
msgid ""
"Number of tuple inserts, updates, or deletes prior to analyze as a fraction "
"of reltuples."
msgstr "在分析前插入,更新或删除元组的数量,这个数量以表大小的百分比的形式出现"
-#: utils/misc/guc.c:2516
+#: utils/misc/guc.c:2679
msgid ""
"Time spent flushing dirty buffers during checkpoint, as fraction of "
"checkpoint interval."
"在检查点事件期间花费在将缓冲区中脏页刷新到磁盘的时间, 这个时间作为检查点间隔"
"的百分比。"
-#: utils/misc/guc.c:2535
+#: utils/misc/guc.c:2698
msgid "Sets the shell command that will be called to archive a WAL file."
msgstr "设置用于对WAL文件进行归档的shell命令"
-#: utils/misc/guc.c:2545
+#: utils/misc/guc.c:2708
msgid "Sets the client's character set encoding."
msgstr "设置客户端编码"
-#: utils/misc/guc.c:2556
+#: utils/misc/guc.c:2719
msgid "Controls information prefixed to each log line."
msgstr "将控制信息作为每条日志文本的前缀"
-#: utils/misc/guc.c:2557
+#: utils/misc/guc.c:2720
msgid "If blank, no prefix is used."
msgstr "如果是空的,那么不使用前缀"
-#: utils/misc/guc.c:2566
+#: utils/misc/guc.c:2729
msgid "Sets the time zone to use in log messages."
msgstr "设置在日志消息中使用的时间区域"
-#: utils/misc/guc.c:2576
+#: utils/misc/guc.c:2739
msgid "Sets the display format for date and time values."
msgstr "设置日期和时间值的显示格式."
-#: utils/misc/guc.c:2577
+#: utils/misc/guc.c:2740
msgid "Also controls interpretation of ambiguous date inputs."
msgstr "控制对模糊日期输入的解释."
-#: utils/misc/guc.c:2588
+#: utils/misc/guc.c:2751
msgid "Sets the default tablespace to create tables and indexes in."
msgstr "设置用于创建表和索引的缺省表空间."
-#: utils/misc/guc.c:2589
+#: utils/misc/guc.c:2752
msgid "An empty string selects the database's default tablespace."
msgstr "使用空字符串表示数据库的缺省表空间."
-#: utils/misc/guc.c:2599
+#: utils/misc/guc.c:2762
msgid "Sets the tablespace(s) to use for temporary tables and sort files."
msgstr "将表空间设置为用于存放临时表和排序文件"
-#: utils/misc/guc.c:2610
+#: utils/misc/guc.c:2773
msgid "Sets the path for dynamically loadable modules."
msgstr "设置动态加载摸组的路径."
-#: utils/misc/guc.c:2611
+#: utils/misc/guc.c:2774
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 "
"如果一个动态加载模块需要打开并且指定名字没有路径 (例如, 名字中没包含斜杠), 系"
"统将在此路径中查找指定的文件."
-#: utils/misc/guc.c:2624
+#: utils/misc/guc.c:2787
msgid "Sets the location of the Kerberos server key file."
msgstr "设置 Kerberos 服务器密钥文件位置."
-#: utils/misc/guc.c:2635
-msgid "Sets the name of the Kerberos service."
-msgstr "设置Kerberos服务的名称"
-
-#: utils/misc/guc.c:2645
+#: utils/misc/guc.c:2798
msgid "Sets the Bonjour service name."
msgstr "设置Bonjour服务名称."
-#: utils/misc/guc.c:2657
+#: utils/misc/guc.c:2810
msgid "Shows the collation order locale."
msgstr "显示排序规则顺序的语言环境"
-#: utils/misc/guc.c:2668
+#: utils/misc/guc.c:2821
msgid "Shows the character classification and case conversion locale."
msgstr "显示字符分类和按条件转换的语言环境."
-#: utils/misc/guc.c:2679
+#: utils/misc/guc.c:2832
msgid "Sets the language in which messages are displayed."
msgstr "设置信息显示语言."
-#: utils/misc/guc.c:2689
+#: utils/misc/guc.c:2842
msgid "Sets the locale for formatting monetary amounts."
msgstr "为货币数量格式设置 locale."
-#: utils/misc/guc.c:2699
+#: utils/misc/guc.c:2852
msgid "Sets the locale for formatting numbers."
msgstr "为数字格式设置 locale"
-#: utils/misc/guc.c:2709
+#: utils/misc/guc.c:2862
msgid "Sets the locale for formatting date and time values."
msgstr "为日期和时间值格式设置 locale"
-#: utils/misc/guc.c:2719
+#: utils/misc/guc.c:2872
+msgid "Lists shared libraries to preload into each backend."
+msgstr "列出预先加载到每个后台进程的共享库."
+
+#: utils/misc/guc.c:2883
msgid "Lists shared libraries to preload into server."
msgstr "列出预装入服务器的共享库."
-#: utils/misc/guc.c:2730
-msgid "Lists shared libraries to preload into each backend."
-msgstr "列出预先加载到每个后台进程的共享库."
+#: utils/misc/guc.c:2894
+#| msgid "Lists shared libraries to preload into each backend."
+msgid "Lists unprivileged shared libraries to preload into each backend."
+msgstr "列出预先加载到每个后台进程的非优先的共享库."
-#: utils/misc/guc.c:2741
+#: utils/misc/guc.c:2905
msgid "Sets the schema search order for names that are not schema-qualified."
msgstr "为不是模式限定的名称设置模式搜索顺序"
-#: utils/misc/guc.c:2753
+#: utils/misc/guc.c:2917
msgid "Sets the server (database) character set encoding."
msgstr "设置服务器 (数据库) 字符编码."
-#: utils/misc/guc.c:2765
+#: utils/misc/guc.c:2929
msgid "Shows the server version."
msgstr "显示服务器版本信息."
-#: utils/misc/guc.c:2777
+#: utils/misc/guc.c:2941
msgid "Sets the current role."
msgstr "设置当前的角色"
-#: utils/misc/guc.c:2789
+#: utils/misc/guc.c:2953
msgid "Sets the session user name."
msgstr "设置会话用户名称."
-#: utils/misc/guc.c:2800
+#: utils/misc/guc.c:2964
msgid "Sets the destination for server log output."
msgstr "设置服务器日志输出目标."
-#: utils/misc/guc.c:2801
+#: utils/misc/guc.c:2965
msgid ""
"Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", and "
"\"eventlog\", depending on the platform."
"有效值为 \"stderr\", \"syslog\", \"csvlog\", and \"eventlog\" 的组合, 这取决"
"于平台的种类."
-#: utils/misc/guc.c:2812
+#: utils/misc/guc.c:2976
msgid "Sets the destination directory for log files."
msgstr "设置日志文件目的目录."
-#: utils/misc/guc.c:2813
+#: utils/misc/guc.c:2977
msgid "Can be specified as relative to the data directory or as absolute path."
msgstr "可以指定为data目录的相对目录或绝对目录."
-#: utils/misc/guc.c:2823
+#: utils/misc/guc.c:2987
msgid "Sets the file name pattern for log files."
msgstr "设置日志文件的文件名字模式."
-#: utils/misc/guc.c:2834
+#: utils/misc/guc.c:2998
msgid "Sets the program name used to identify PostgreSQL messages in syslog."
msgstr "设置在系统日志 (syslog) 中确认 PostgreSQL 信息的程序名."
-#: utils/misc/guc.c:2845
+#: utils/misc/guc.c:3009
msgid ""
"Sets the application name used to identify PostgreSQL messages in the event "
"log."
msgstr "设置在事件日志 (syslog) 中用于标识 PostgreSQL 消息的程序名."
-#: utils/misc/guc.c:2856
+#: utils/misc/guc.c:3020
msgid "Sets the time zone for displaying and interpreting time stamps."
msgstr "设置显示和解释时间戳的时区."
-#: utils/misc/guc.c:2866
+#: utils/misc/guc.c:3030
msgid "Selects a file of time zone abbreviations."
msgstr "选择时间区域缩写的文件"
-#: utils/misc/guc.c:2876
+#: utils/misc/guc.c:3040
msgid "Sets the current transaction's isolation level."
msgstr "设置当前事物的隔离级别."
-#: utils/misc/guc.c:2887
+#: utils/misc/guc.c:3051
msgid "Sets the owning group of the Unix-domain socket."
msgstr "设置 Unix-domain 套接字的属组."
-#: utils/misc/guc.c:2888
+#: utils/misc/guc.c:3052
msgid ""
"The owning user of the socket is always the user that starts the server."
msgstr "套接字的属主用户也是起动服务的用户."
-#: utils/misc/guc.c:2898
-msgid "Sets the directory where the Unix-domain socket will be created."
-msgstr "设置创建 Unix-domain 套接字的目录."
+#: utils/misc/guc.c:3062
+#| msgid "Sets the directory where the Unix-domain socket will be created."
+msgid "Sets the directories where Unix-domain sockets will be created."
+msgstr "设置用于创建Unix-domain套接字的目录."
-#: utils/misc/guc.c:2909
+#: utils/misc/guc.c:3077
msgid "Sets the host name or IP address(es) to listen to."
msgstr "设置监听的主机名或 IP 地址."
-#: utils/misc/guc.c:2920
+#: utils/misc/guc.c:3092
msgid "Sets the server's data directory."
msgstr "设置服务器的数据目录"
-#: utils/misc/guc.c:2931
+#: utils/misc/guc.c:3103
msgid "Sets the server's main configuration file."
msgstr "设置服务器的主配置文件"
-#: utils/misc/guc.c:2942
+#: utils/misc/guc.c:3114
msgid "Sets the server's \"hba\" configuration file."
msgstr "设置服务器的 \"hba\" 配置文件"
-#: utils/misc/guc.c:2953
+#: utils/misc/guc.c:3125
msgid "Sets the server's \"ident\" configuration file."
msgstr "设置服务器的 \"ident\" 配置文件"
-#: utils/misc/guc.c:2964
+#: utils/misc/guc.c:3136
msgid "Writes the postmaster PID to the specified file."
msgstr "把 postmaster PID 写到指定文件."
-#: utils/misc/guc.c:2975
+#: utils/misc/guc.c:3147
msgid "Location of the SSL server certificate file."
msgstr "SSL服务器证书文件的位置"
-#: utils/misc/guc.c:2985
+#: utils/misc/guc.c:3157
msgid "Location of the SSL server private key file."
msgstr "SSL服务器私钥文件的位置."
-#: utils/misc/guc.c:2995
+#: utils/misc/guc.c:3167
msgid "Location of the SSL certificate authority file."
msgstr "SSL证书授权文件的位置."
-#: utils/misc/guc.c:3005
+#: utils/misc/guc.c:3177
msgid "Location of the SSL certificate revocation list file."
msgstr "SSL证书撤销列表文件的位置."
-#: utils/misc/guc.c:3015
+#: utils/misc/guc.c:3187
msgid "Writes temporary statistics files to the specified directory."
msgstr "将临时统计信息文件写到指定的目录"
-#: utils/misc/guc.c:3026
+#: utils/misc/guc.c:3198
msgid "List of names of potential synchronous standbys."
msgstr "可能的同步备用节点的名称列表."
# describe.c:97
-#: utils/misc/guc.c:3037
+#: utils/misc/guc.c:3209
msgid "Sets default text search configuration."
msgstr "设置缺省文本搜索配置"
-#: utils/misc/guc.c:3047
+#: utils/misc/guc.c:3219
msgid "Sets the list of allowed SSL ciphers."
msgstr "设置日志信息的冗长."
-#: utils/misc/guc.c:3062
+#: utils/misc/guc.c:3234
+#| msgid "Sets the current role."
+msgid "Sets the curve to use for ECDH."
+msgstr "设置该曲线,用于ECDH."
+
+#: utils/misc/guc.c:3249
msgid "Sets the application name to be reported in statistics and logs."
msgstr "设置在统计和日志中出现的应用程序名称."
-#: utils/misc/guc.c:3082
+#: utils/misc/guc.c:3269
msgid "Sets whether \"\\'\" is allowed in string literals."
msgstr "在字符串常量中设置是否允许使用\"\\'\""
-#: utils/misc/guc.c:3092
+#: utils/misc/guc.c:3279
msgid "Sets the output format for bytea."
msgstr "设置bytea类型数据的输出格式"
-#: utils/misc/guc.c:3102
+#: utils/misc/guc.c:3289
msgid "Sets the message levels that are sent to the client."
msgstr "设置发送到客户端的信息级别."
-#: utils/misc/guc.c:3103 utils/misc/guc.c:3156 utils/misc/guc.c:3167
-#: utils/misc/guc.c:3223
+#: utils/misc/guc.c:3290 utils/misc/guc.c:3343 utils/misc/guc.c:3354
+#: utils/misc/guc.c:3410
msgid ""
"Each level includes all the levels that follow it. The later the level, the "
"fewer messages are sent."
msgstr "每一层都包含在这一层后面的层次, 对于越往后的层次,就会发送越少的消息."
-#: utils/misc/guc.c:3113
+#: utils/misc/guc.c:3300
msgid "Enables the planner to use constraints to optimize queries."
msgstr "使计划器可以使用约束来优化查询."
-#: utils/misc/guc.c:3114
+#: utils/misc/guc.c:3301
msgid ""
"Table scans will be skipped if their constraints guarantee that no rows "
"match the query."
msgstr "如果约束能够确保没有列符合查询条件,那么将跳过表扫描."
-#: utils/misc/guc.c:3124
+#: utils/misc/guc.c:3311
msgid "Sets the transaction isolation level of each new transaction."
msgstr "设置每一个新事物的隔离 (isolation) 级别."
-#: utils/misc/guc.c:3134
+#: utils/misc/guc.c:3321
msgid "Sets the display format for interval values."
msgstr "设置时间间隔值的显示格式."
-#: utils/misc/guc.c:3145
+#: utils/misc/guc.c:3332
msgid "Sets the verbosity of logged messages."
msgstr "设置日志信息的冗长."
-#: utils/misc/guc.c:3155
+#: utils/misc/guc.c:3342
msgid "Sets the message levels that are logged."
msgstr "设置日志记录的信息级别."
-#: utils/misc/guc.c:3166
+#: utils/misc/guc.c:3353
msgid ""
"Causes all statements generating error at or above this level to be logged."
msgstr "在此级别或以上级别, 所有语句产生的错误将被记录."
-#: utils/misc/guc.c:3177
+#: utils/misc/guc.c:3364
msgid "Sets the type of statements logged."
msgstr "设置记录语句的类型."
-#: utils/misc/guc.c:3187
+#: utils/misc/guc.c:3374
msgid "Sets the syslog \"facility\" to be used when syslog enabled."
msgstr "当启用系统日志 (syslog), 设置系统日志使用 \"facility\"."
-#: utils/misc/guc.c:3202
+#: utils/misc/guc.c:3389
msgid "Sets the session's behavior for triggers and rewrite rules."
msgstr "为触发器和重写规则设置会话的行为"
-#: utils/misc/guc.c:3212
+#: utils/misc/guc.c:3399
msgid "Sets the current transaction's synchronization level."
msgstr "设置当前事物的同步级别."
-#: utils/misc/guc.c:3222
+#: utils/misc/guc.c:3409
msgid "Enables logging of recovery-related debugging information."
msgstr "启用日志功能,对与恢复操作相关的调试信息进行记录."
-#: utils/misc/guc.c:3238
+#: utils/misc/guc.c:3425
msgid "Collects function-level statistics on database activity."
msgstr "在数据库运行的事务中收集函数级别统计信息."
-#: utils/misc/guc.c:3248
+#: utils/misc/guc.c:3435
msgid "Set the level of information written to the WAL."
msgstr "设置写入WAL文件的信息的内容详细级别"
-#: utils/misc/guc.c:3258
+#: utils/misc/guc.c:3445
+msgid "Selects the dynamic shared memory implementation used."
+msgstr "选择过去的动态共享内存实现."
+
+#: utils/misc/guc.c:3455
msgid "Selects the method used for forcing WAL updates to disk."
msgstr "选择用于强制将WAL缓冲区的内容更新到磁盘的方法."
-#: utils/misc/guc.c:3268
+#: utils/misc/guc.c:3465
msgid "Sets how binary values are to be encoded in XML."
msgstr "设置在XML中如何对二进制的值进行编码."
-#: utils/misc/guc.c:3278
+#: utils/misc/guc.c:3475
msgid ""
"Sets whether XML data in implicit parsing and serialization operations is to "
"be considered as documents or content fragments."
msgstr "设置在隐式分析和串行操作中的XML数据是否被当作文档或者内容片断."
-#: utils/misc/guc.c:4092
+#: utils/misc/guc.c:3486
+msgid "Use of huge pages on Linux."
+msgstr "使用Linux上的超大(huge)页"
+
+#: utils/misc/guc.c:4301
#, c-format
msgid ""
"%s does not know where to find the server configuration file.\n"
"%s 不知道在哪里可以找到数据库系统配置文件.\n"
"你必须通过 --config-file 或 -D 选项指定或者通过设置 PGDATA 环境变量.\n"
-#: utils/misc/guc.c:4111
+#: utils/misc/guc.c:4320
#, c-format
msgid "%s cannot access the server configuration file \"%s\": %s\n"
msgstr "%s 无法处理服务器的配置文件 \"%s\": %s\n"
-#: utils/misc/guc.c:4132
+#: utils/misc/guc.c:4348
#, c-format
msgid ""
"%s does not know where to find the database system data.\n"
"可以在 \"%s\" 中指定 \"data_directory\", 或者通过 -D 选项指定或者通过设置 "
"PGDATA 环境变量.\n"
-#: utils/misc/guc.c:4172
+#: utils/misc/guc.c:4396
#, c-format
msgid ""
"%s does not know where to find the \"hba\" configuration file.\n"
"可以在 \"%s\" 中指定 \"hba_file\", 或者通过 -D 选项指定或者通过设置PGDATA 环"
"境变量.\n"
-#: utils/misc/guc.c:4195
+#: utils/misc/guc.c:4419
#, c-format
msgid ""
"%s does not know where to find the \"ident\" configuration file.\n"
"可以在 \"%s\" 中指定 \"ident_file\", 或者通过 -D 选项指定或者通过设置PGDATA "
"环境变量.\n"
-#: utils/misc/guc.c:4787 utils/misc/guc.c:4951
+#: utils/misc/guc.c:5011 utils/misc/guc.c:5191
msgid "Value exceeds integer range."
msgstr "值已超过整数范围"
-#: utils/misc/guc.c:4806
-msgid "Valid units for this parameter are \"kB\", \"MB\", and \"GB\"."
-msgstr "这个参数的有效单位是\"kB\", \"MB\", 和\"GB\"."
+#: utils/misc/guc.c:5030
+#| msgid "Valid units for this parameter are \"kB\", \"MB\", and \"GB\"."
+msgid "Valid units for this parameter are \"kB\", \"MB\", \"GB\", and \"TB\"."
+msgstr "这个参数的有效单位是\"kB\", \"MB\", \"GB\"和\"TB\"."
-#: utils/misc/guc.c:4865
+#: utils/misc/guc.c:5105
msgid ""
"Valid units for this parameter are \"ms\", \"s\", \"min\", \"h\", and \"d\"."
msgstr "这个参数可使用的有效单元是\"ms\", \"s\", \"min\", \"h\", 和\"d\"."
-#: utils/misc/guc.c:5158 utils/misc/guc.c:5940 utils/misc/guc.c:5992
-#: utils/misc/guc.c:6725 utils/misc/guc.c:6884 utils/misc/guc.c:8053
+#: utils/misc/guc.c:5399 utils/misc/guc.c:5524 utils/misc/guc.c:6767
+#: utils/misc/guc.c:8964 utils/misc/guc.c:8998
+#, c-format
+msgid "invalid value for parameter \"%s\": \"%s\""
+msgstr "参数 \"%s\" 的值无效: \"%s\""
+
+#: utils/misc/guc.c:5437
+#, c-format
+msgid "parameter \"%s\" requires a numeric value"
+msgstr "参数 \"%s\" 需要一个数字值"
+
+#: utils/misc/guc.c:5446
+#, c-format
+msgid "%g is outside the valid range for parameter \"%s\" (%g .. %g)"
+msgstr "%g 超出了参数 \"%s\" (%g .. %g) 的有效范围"
+
+#: utils/misc/guc.c:5612 utils/misc/guc.c:6334 utils/misc/guc.c:6386
+#: utils/misc/guc.c:6749 utils/misc/guc.c:7446 utils/misc/guc.c:7605
+#: utils/misc/guc.c:8784
#, c-format
msgid "unrecognized configuration parameter \"%s\""
msgstr "未认可的配置参数 \"%s\""
-#: utils/misc/guc.c:5173
+#: utils/misc/guc.c:5627 utils/misc/guc.c:6760
#, c-format
msgid "parameter \"%s\" cannot be changed"
msgstr "参数 \"%s\" 不可以改变"
-#: utils/misc/guc.c:5196 utils/misc/guc.c:5372 utils/misc/guc.c:5476
-#: utils/misc/guc.c:5577 utils/misc/guc.c:5698 utils/misc/guc.c:5806
-#: guc-file.l:227
-#, c-format
-msgid "parameter \"%s\" cannot be changed without restarting the server"
-msgstr "在没有启动服务器的情况下,不能改变参数 \"%s\" "
-
-#: utils/misc/guc.c:5206
+#: utils/misc/guc.c:5660
#, c-format
msgid "parameter \"%s\" cannot be changed now"
msgstr "参数 \"%s\" 现在不能改变"
-#: utils/misc/guc.c:5237
+#: utils/misc/guc.c:5705
#, c-format
msgid "parameter \"%s\" cannot be set after connection start"
msgstr "联接启动后, 参数 \"%s\" 不能设置"
-#: utils/misc/guc.c:5247 utils/misc/guc.c:8069
+#: utils/misc/guc.c:5715 utils/misc/guc.c:8800
#, c-format
msgid "permission denied to set parameter \"%s\""
msgstr "设置参数 \"%s\" 权限不允许"
-#: utils/misc/guc.c:5285
+#: utils/misc/guc.c:5753
#, c-format
msgid "cannot set parameter \"%s\" within security-definer function"
msgstr "无法在安全定义者操作中设置参数\"%s\" "
-#: utils/misc/guc.c:5438 utils/misc/guc.c:5773 utils/misc/guc.c:8233
-#: utils/misc/guc.c:8267
-#, c-format
-msgid "invalid value for parameter \"%s\": \"%s\""
-msgstr "参数 \"%s\" 的值无效: \"%s\""
-
-#: utils/misc/guc.c:5447
-#, c-format
-msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
-msgstr "%d 超出了参数 \"%s\" (%d .. %d) 的有效范围"
-
-#: utils/misc/guc.c:5540
-#, c-format
-msgid "parameter \"%s\" requires a numeric value"
-msgstr "参数 \"%s\" 需要一个数字值"
-
-#: utils/misc/guc.c:5548
-#, c-format
-msgid "%g is outside the valid range for parameter \"%s\" (%g .. %g)"
-msgstr "%g 超出了参数 \"%s\" (%g .. %g) 的有效范围"
-
-#: utils/misc/guc.c:5948 utils/misc/guc.c:5996 utils/misc/guc.c:6888
+#: utils/misc/guc.c:6342 utils/misc/guc.c:6390 utils/misc/guc.c:7609
#, c-format
msgid "must be superuser to examine \"%s\""
msgstr "检查 \"%s\" 必须为超级用户"
-#: utils/misc/guc.c:6062
+#: utils/misc/guc.c:6456
#, c-format
msgid "SET %s takes only one argument"
msgstr "SET %s 只能带一个参数"
-#: utils/misc/guc.c:6233
+#: utils/misc/guc.c:6713
+#, c-format
+#| msgid "must be superuser to get file information"
+msgid "must be superuser to execute ALTER SYSTEM command"
+msgstr "只有超级用户才能执行命令ALTER SYSTEM"
+
+#: utils/misc/guc.c:6946
#, c-format
msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented"
msgstr "SET LOCAL TRANSACTION SNAPSHOT没有实现"
-#: utils/misc/guc.c:6313
+#: utils/misc/guc.c:7034
#, c-format
msgid "SET requires parameter name"
msgstr "SET 需要参数名字"
-#: utils/misc/guc.c:6427
+#: utils/misc/guc.c:7148
#, c-format
msgid "attempt to redefine parameter \"%s\""
msgstr "尝试重新定义参数 \"%s\""
-#: utils/misc/guc.c:7772
+#: utils/misc/guc.c:8504
#, c-format
msgid "could not parse setting for parameter \"%s\""
msgstr "无法分析参数 \"%s\" 的设置"
-#: utils/misc/guc.c:8131 utils/misc/guc.c:8165
+#: utils/misc/guc.c:8862 utils/misc/guc.c:8896
#, c-format
msgid "invalid value for parameter \"%s\": %d"
msgstr "参数 \"%s\" 的值无效: %d"
-#: utils/misc/guc.c:8199
+#: utils/misc/guc.c:8930
#, c-format
msgid "invalid value for parameter \"%s\": %g"
msgstr "参数 \"%s\" 的值无效: %g"
-#: utils/misc/guc.c:8389
+#: utils/misc/guc.c:9120
#, c-format
msgid ""
"\"temp_buffers\" cannot be changed after any temporary tables have been "
msgstr ""
"在当前会话中,如果有任何临时表被访问,就不能改变\"temp_buffers\"中的内容."
-#: utils/misc/guc.c:8401
+#: utils/misc/guc.c:9132
#, c-format
msgid "SET AUTOCOMMIT TO OFF is no longer supported"
msgstr "SET AUTOCOMMIT TO OFF 不再被支持"
-#: utils/misc/guc.c:8413
+#: utils/misc/guc.c:9144
#, c-format
msgid "assertion checking is not supported by this build"
msgstr "这个版本的安装不支持使用断言检查"
# input.c:213
-#: utils/misc/guc.c:8426
+#: utils/misc/guc.c:9157
#, c-format
msgid "Bonjour is not supported by this build"
msgstr "这个版本的安装不支持使用Bonjour "
# input.c:213
-#: utils/misc/guc.c:8439
+#: utils/misc/guc.c:9170
#, c-format
msgid "SSL is not supported by this build"
msgstr "这个版本的安装不支持使用SSL"
-#: utils/misc/guc.c:8451
+#: utils/misc/guc.c:9182
#, c-format
msgid "Cannot enable parameter when \"log_statement_stats\" is true."
msgstr "当 \"log_statement_stats\" 为 true 时, 不能启动参数."
-#: utils/misc/guc.c:8463
+#: utils/misc/guc.c:9194
#, c-format
msgid ""
"Cannot enable \"log_statement_stats\" when \"log_parser_stats\", "
msgid "internal error: unrecognized run-time parameter type\n"
msgstr "内部错误: 未知的运行时参数类型\n"
+#: utils/misc/timeout.c:422
+#, c-format
+#| msgid "cannot move system relation \"%s\""
+msgid "cannot add more timeout reasons"
+msgstr "无法添加更多的超时原因"
+
#: utils/misc/tzparser.c:61
#, c-format
msgid ""
"zone file \"%s\", line %d"
msgstr "在时区文件\"%3$s\"的第%4$d行中时区缩写\"%1$s\"太长了(最大允许%2$d字符)"
-#: utils/misc/tzparser.c:68
-#, c-format
-msgid ""
-"time zone offset %d is not a multiple of 900 sec (15 min) in time zone file "
-"\"%s\", line %d"
-msgstr "在时区文件 \"%2$s\"中的第%3$d行中时区偏移%1$d不是900秒(15分钟)的倍数."
-
-#: utils/misc/tzparser.c:80
+#: utils/misc/tzparser.c:73
#, c-format
msgid "time zone offset %d is out of range in time zone file \"%s\", line %d"
msgstr "时区文件\"%2$s\"的第%3$d行中的时区偏移%1$d超出范围."
-#: utils/misc/tzparser.c:115
+#: utils/misc/tzparser.c:112
#, c-format
msgid "missing time zone abbreviation in time zone file \"%s\", line %d"
msgstr "在时区文件\"%s\"的第%d行中丢失时区缩写"
-#: utils/misc/tzparser.c:124
+#: utils/misc/tzparser.c:121
#, c-format
msgid "missing time zone offset in time zone file \"%s\", line %d"
msgstr "在时间区域文件\"%s\"的第%d行中,丢失时区偏移量"
-#: utils/misc/tzparser.c:131
+#: utils/misc/tzparser.c:133
#, c-format
msgid "invalid number for time zone offset in time zone file \"%s\", line %d"
msgstr "在时区文件\"%s\"的第%d行中,时区偏移量的数量无效"
-#: utils/misc/tzparser.c:154
+#: utils/misc/tzparser.c:169
#, c-format
msgid "invalid syntax in time zone file \"%s\", line %d"
msgstr "在时间区域文件\"%s\"的第%d行中语法错误"
-#: utils/misc/tzparser.c:218
+#: utils/misc/tzparser.c:237
#, c-format
msgid "time zone abbreviation \"%s\" is multiply defined"
msgstr "多次定义时间区缩写\"%s\" "
-#: utils/misc/tzparser.c:220
+#: utils/misc/tzparser.c:239
#, c-format
msgid ""
"Entry in time zone file \"%s\", line %d, conflicts with entry in file \"%s"
"\", line %d."
msgstr "在时区文件\"%s\"中第%d行的项, 与在文件\"%s\"第%d行中的项相冲突."
-#: utils/misc/tzparser.c:285
+#: utils/misc/tzparser.c:301
#, c-format
msgid "invalid time zone file name \"%s\""
msgstr "无效时区文件名称 \"%s\""
-#: utils/misc/tzparser.c:298
+#: utils/misc/tzparser.c:314
#, c-format
msgid "time zone file recursion limit exceeded in file \"%s\""
msgstr "在文件\"%s\"中已超过了对时区文件递归限制"
-#: utils/misc/tzparser.c:337 utils/misc/tzparser.c:350
+#: utils/misc/tzparser.c:353 utils/misc/tzparser.c:366
#, c-format
msgid "could not read time zone file \"%s\": %m"
msgstr "无法读取时间区域文件 \"%s\": %m"
-#: utils/misc/tzparser.c:360
+#: utils/misc/tzparser.c:376
#, c-format
msgid "line is too long in time zone file \"%s\", line %d"
msgstr "在时间区域文件\"%s\"的第%d行中文本太长了."
-#: utils/misc/tzparser.c:383
+#: utils/misc/tzparser.c:399
#, c-format
msgid "@INCLUDE without file name in time zone file \"%s\", line %d"
msgstr "在时间区域文件\"%s\"中的第%d行中,@INCLUDE没有带文件名 "
-#: utils/mmgr/aset.c:417
+#: utils/mmgr/aset.c:500
#, c-format
msgid "Failed while creating memory context \"%s\"."
msgstr "创建内存上下文 \"%s\" 失败."
-#: utils/mmgr/aset.c:588 utils/mmgr/aset.c:766 utils/mmgr/aset.c:967
+#: utils/mmgr/aset.c:679 utils/mmgr/aset.c:873 utils/mmgr/aset.c:1115
#, c-format
-msgid "Failed on request of size %lu."
-msgstr "分配内存 %lu 大小失败."
+#| msgid "Failed on request of size %lu."
+msgid "Failed on request of size %zu."
+msgstr "无法请求大小 %zu."
#: utils/mmgr/portalmem.c:208
#, c-format
msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD"
msgstr "无法对一个已经创建带有WITH HOLD游标的事务执行PREPARE操作."
-#: utils/sort/logtape.c:215
-#, c-format
-msgid "Perhaps out of disk space?"
-msgstr "可能超出磁盘空间?"
-
-#: utils/sort/logtape.c:232
+#: utils/sort/logtape.c:229
#, c-format
msgid "could not read block %ld of temporary file: %m"
msgstr "无法读取临时文件块 %ld: %m"
-#: utils/sort/tuplesort.c:3089
+#: utils/sort/tuplesort.c:3255
#, c-format
msgid "could not create unique index \"%s\""
msgstr "无法创建唯一索引\"%s\""
-#: utils/sort/tuplesort.c:3091
+#: utils/sort/tuplesort.c:3257
#, c-format
msgid "Key %s is duplicated."
msgstr "键值%s重复了"
-#: utils/time/snapmgr.c:774
+#: utils/sort/tuplestore.c:506 utils/sort/tuplestore.c:516
+#: utils/sort/tuplestore.c:843 utils/sort/tuplestore.c:947
+#: utils/sort/tuplestore.c:1011 utils/sort/tuplestore.c:1028
+#: utils/sort/tuplestore.c:1230 utils/sort/tuplestore.c:1295
+#: utils/sort/tuplestore.c:1304
+#, c-format
+#| msgid "could not seek in two-phase state file: %m"
+msgid "could not seek in tuplestore temporary file: %m"
+msgstr "无法在元组存储临时文件中定位: %m"
+
+#: utils/sort/tuplestore.c:1451 utils/sort/tuplestore.c:1524
+#: utils/sort/tuplestore.c:1530
+#, c-format
+#| msgid "could not read from hash-join temporary file: %m"
+msgid "could not read from tuplestore temporary file: %m"
+msgstr "无法从元组存储临时文件读取: %m"
+
+#: utils/sort/tuplestore.c:1492 utils/sort/tuplestore.c:1497
+#: utils/sort/tuplestore.c:1503
+#, c-format
+#| msgid "could not write to hash-join temporary file: %m"
+msgid "could not write to tuplestore temporary file: %m"
+msgstr "无法写入元组存储临时文件: %m"
+
+#: utils/time/snapmgr.c:890
#, c-format
msgid "cannot export a snapshot from a subtransaction"
msgstr "子事务中无法导出一个快照"
-#: utils/time/snapmgr.c:924 utils/time/snapmgr.c:929 utils/time/snapmgr.c:934
-#: utils/time/snapmgr.c:949 utils/time/snapmgr.c:954 utils/time/snapmgr.c:959
-#: utils/time/snapmgr.c:1058 utils/time/snapmgr.c:1074
-#: utils/time/snapmgr.c:1099
+#: utils/time/snapmgr.c:1040 utils/time/snapmgr.c:1045
+#: utils/time/snapmgr.c:1050 utils/time/snapmgr.c:1065
+#: utils/time/snapmgr.c:1070 utils/time/snapmgr.c:1075
+#: utils/time/snapmgr.c:1174 utils/time/snapmgr.c:1190
+#: utils/time/snapmgr.c:1215
#, c-format
msgid "invalid snapshot data in file \"%s\""
msgstr "文件 \"%s\" 中存在无效快照数据"
-#: utils/time/snapmgr.c:996
+#: utils/time/snapmgr.c:1112
#, c-format
msgid "SET TRANSACTION SNAPSHOT must be called before any query"
msgstr "SET TRANSACTION SNAPSHOT 必须在任何查询之前调用"
-#: utils/time/snapmgr.c:1005
+#: utils/time/snapmgr.c:1121
#, c-format
msgid ""
"a snapshot-importing transaction must have isolation level SERIALIZABLE or "
msgstr ""
"一个snapshot-importing事务的隔离级只能是SERIALIZABLE或者REPEATABLE READ"
-#: utils/time/snapmgr.c:1014 utils/time/snapmgr.c:1023
+#: utils/time/snapmgr.c:1130 utils/time/snapmgr.c:1139
#, c-format
msgid "invalid snapshot identifier: \"%s\""
msgstr "无效快照标识符: \"%s\""
-#: utils/time/snapmgr.c:1112
+#: utils/time/snapmgr.c:1228
#, c-format
msgid ""
"a serializable transaction cannot import a snapshot from a non-serializable "
"transaction"
msgstr "一个可串行化事务不能从非可串行化事务中导入一个快照"
-#: utils/time/snapmgr.c:1116
+#: utils/time/snapmgr.c:1232
#, c-format
msgid ""
"a non-read-only serializable transaction cannot import a snapshot from a "
"read-only transaction"
msgstr "非只读可串行化事务无法导入来自只读事务的快照"
-#: utils/time/snapmgr.c:1131
+#: utils/time/snapmgr.c:1247
#, c-format
msgid "cannot import a snapshot from a different database"
msgstr "无法导入来自不同数据库的快照"
-#: gram.y:914
-#, c-format
-msgid "unrecognized role option \"%s\""
-msgstr "无法识别的角色选项\"%s\""
-
-#: gram.y:1304
-#, c-format
-msgid "current database cannot be changed"
-msgstr "不能改变当前使用的数据库"
-
-#: gram.y:1431 gram.y:1446
-#, c-format
-msgid "time zone interval must be HOUR or HOUR TO MINUTE"
-msgstr "时区间隔必须为 HOUR 或者 HOUR TO MINUTE"
-
-#: gram.y:1451 gram.y:9648 gram.y:12152
-#, c-format
-msgid "interval precision specified twice"
-msgstr "两次指定间隔精度"
-
-#: gram.y:2525 gram.y:2532 gram.y:8958 gram.y:8966
-#, c-format
-msgid "GLOBAL is deprecated in temporary table creation"
-msgstr "GLOBAL在临时表中的创建中已经被废弃使用"
-
-#: gram.y:4142
-msgid "duplicate trigger events specified"
-msgstr "重复指定触发器事件"
-
-#: gram.y:4244
-#, c-format
-msgid "conflicting constraint properties"
-msgstr "约束属性冲突"
-
-#: gram.y:4308
-#, c-format
-msgid "CREATE ASSERTION is not yet implemented"
-msgstr "CREATE ASSERTION 仍未实现"
-
-#: gram.y:4324
-#, c-format
-msgid "DROP ASSERTION is not yet implemented"
-msgstr "DROP ASSERTION 仍未实现"
-
-#: gram.y:4667
-#, c-format
-msgid "RECHECK is no longer required"
-msgstr "不再需要RECHECK选项了"
-
-# describe.c:289
-#: gram.y:4668
-#, c-format
-msgid "Update your data type."
-msgstr "更改您的数据类型"
-
-#: gram.y:7672 gram.y:7678 gram.y:7684
-#, c-format
-msgid "WITH CHECK OPTION is not implemented"
-msgstr "未实现WITH CHECK OPTION"
-
-#: gram.y:8605
-#, c-format
-msgid "number of columns does not match number of values"
-msgstr "列的数量与值的数量不匹配"
-
-#: gram.y:9062
-#, c-format
-msgid "LIMIT #,# syntax is not supported"
-msgstr "不支持 LIMIT #,# 语法"
-
-#: gram.y:9063
-#, c-format
-msgid "Use separate LIMIT and OFFSET clauses."
-msgstr "LIMIT和OFFSET子句要分隔开"
-
-#: gram.y:9281
-#, c-format
-msgid "VALUES in FROM must have an alias"
-msgstr "FROM中的VALUES子句必须有一个别名"
-
-#: gram.y:9282
-#, c-format
-msgid "For example, FROM (VALUES ...) [AS] foo."
-msgstr "例如, FROM (SELECT ...) [AS] foo."
-
-#: gram.y:9287
-#, c-format
-msgid "subquery in FROM must have an alias"
-msgstr "FROM 中的子查询必须有一个别名"
-
-#: gram.y:9288
-#, c-format
-msgid "For example, FROM (SELECT ...) [AS] foo."
-msgstr "例如, FROM (SELECT ...) [AS] foo."
-
-#: gram.y:9774
-#, c-format
-msgid "precision for type float must be at least 1 bit"
-msgstr "浮点类型的精确度必须至少 1 位"
-
-#: gram.y:9783
-#, c-format
-msgid "precision for type float must be less than 54 bits"
-msgstr "浮点类型的精确度必须小于 54 位"
-
-#: gram.y:10497
-#, c-format
-msgid "UNIQUE predicate is not yet implemented"
-msgstr "没有实现UNIQUE谓词"
-
-#: gram.y:11419
-#, c-format
-msgid "RANGE PRECEDING is only supported with UNBOUNDED"
-msgstr "UNBOUNDED不支持RANGE PRECEDING"
-
-#: gram.y:11425
-#, c-format
-msgid "RANGE FOLLOWING is only supported with UNBOUNDED"
-msgstr "UNBOUNDED不支持RANGE FOLLOWING"
-
-#: gram.y:11452 gram.y:11475
-#, c-format
-msgid "frame start cannot be UNBOUNDED FOLLOWING"
-msgstr "框架的起始位置不能被执行UNBOUNDED FOLLOWING操作."
-
-#: gram.y:11457
-#, c-format
-msgid "frame starting from following row cannot end with current row"
-msgstr "从后面记录启动的窗口框架(frame)不能以当前记录结束"
-
-#: gram.y:11480
-#, c-format
-msgid "frame end cannot be UNBOUNDED PRECEDING"
-msgstr "框架的结束位置不能被执行UNBOUNDED FOLLOWING操作."
-
-#: gram.y:11486
-#, c-format
-msgid "frame starting from current row cannot have preceding rows"
-msgstr "从当前记录启动的窗口框架(frame)不能拥有正在处理的记录"
-
-#: gram.y:11493
-#, c-format
-msgid "frame starting from following row cannot have preceding rows"
-msgstr "从后面记录启动的窗口框架(frame)不能拥有正在处理的记录"
-
-#: gram.y:12127
-#, c-format
-msgid "type modifier cannot have parameter name"
-msgstr "类型修改器不能有参数名称"
-
-#: gram.y:12725 gram.y:12933
-msgid "improper use of \"*\""
-msgstr "对\"*\"的使用不正确"
-
-#: gram.y:12864
-#, c-format
-msgid "wrong number of parameters on left side of OVERLAPS expression"
-msgstr "OVERLAPS 表达式左边的参数个数不对"
-
-#: gram.y:12871
-#, c-format
-msgid "wrong number of parameters on right side of OVERLAPS expression"
-msgstr "OVERLAPS 表达式右边的参数个数不对"
-
-#: gram.y:12984
-#, c-format
-msgid "multiple ORDER BY clauses not allowed"
-msgstr "不允许多个 ORDER BY 子句"
-
-#: gram.y:12995
-#, c-format
-msgid "multiple OFFSET clauses not allowed"
-msgstr "不允许多个 OFFSET 子句"
-
-#: gram.y:13004
-#, c-format
-msgid "multiple LIMIT clauses not allowed"
-msgstr "不允许多个 LIMIT 子句"
-
-#: gram.y:13013
-#, c-format
-msgid "multiple WITH clauses not allowed"
-msgstr "不允许使用多个WITH子句"
-
-#: gram.y:13159
-#, c-format
-msgid "OUT and INOUT arguments aren't allowed in TABLE functions"
-msgstr "在TABLE函数中不允许使用OUT或INOUT模式的参数"
-
-#: gram.y:13260
-#, c-format
-msgid "multiple COLLATE clauses not allowed"
-msgstr "不允许多个 COLLATE 子句"
+#~ msgid "Perhaps out of disk space?"
+#~ msgstr "可能超出磁盘空间?"
-#. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:13298 gram.y:13311
-#, c-format
-msgid "%s constraints cannot be marked DEFERRABLE"
-msgstr "%s约束不能标为DEFERRABLE"
+#~ msgid ""
+#~ "time zone offset %d is not a multiple of 900 sec (15 min) in time zone "
+#~ "file \"%s\", line %d"
+#~ msgstr ""
+#~ "在时区文件 \"%2$s\"中的第%3$d行中时区偏移%1$d不是900秒(15分钟)的倍数."
-#. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:13324
-#, c-format
-msgid "%s constraints cannot be marked NOT VALID"
-msgstr "%s约束不能标为NOT VALID"
-
-#. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:13337
-#, c-format
-msgid "%s constraints cannot be marked NO INHERIT"
-msgstr "%s约束不能标为NO INHERIT"
-
-#: guc-file.l:192
-#, c-format
-msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %u"
-msgstr "未认可的配置参数 \"%s\", 文件\"%s\", 行%u"
-
-#: guc-file.l:255
-#, c-format
-msgid "parameter \"%s\" removed from configuration file, reset to default"
-msgstr "参数\"%s\"已从配置文件中删除,重新设置为缺省"
-
-#: guc-file.l:317
-#, c-format
-msgid "parameter \"%s\" changed to \"%s\""
-msgstr "参数 \"%s\"被改为\"%s\""
-
-#: guc-file.l:351
-#, c-format
-msgid "configuration file \"%s\" contains errors"
-msgstr "配置文件 \"%s\" 有错"
-
-#: guc-file.l:356
-#, c-format
-msgid ""
-"configuration file \"%s\" contains errors; unaffected changes were applied"
-msgstr "配置文件 \"%s\" 有错; 使用了不受影响的内容变动"
-
-#: guc-file.l:361
-#, c-format
-msgid "configuration file \"%s\" contains errors; no changes were applied"
-msgstr "配置文件 \"%s\" 有错; 没有内容变动"
-
-#: guc-file.l:393
-#, c-format
-msgid ""
-"could not open configuration file \"%s\": maximum nesting depth exceeded"
-msgstr "无法打开配置文件 \"%s\": 已超过最大的嵌套深度"
-
-#: guc-file.l:436
-#, c-format
-msgid "skipping missing configuration file \"%s\""
-msgstr "忽略丢失的配置文件\"%s\""
-
-#: guc-file.l:627
-#, c-format
-msgid "syntax error in file \"%s\" line %u, near end of line"
-msgstr "在文件 \"%s\" 第 %u 行, 行尾附近语法错误"
-
-#: guc-file.l:632
-#, c-format
-msgid "syntax error in file \"%s\" line %u, near token \"%s\""
-msgstr "在文件 \"%s\" 第 %u 行, 记号 \"%s\" 附近语法错误"
-
-#: guc-file.l:648
-#, c-format
-msgid "too many syntax errors found, abandoning file \"%s\""
-msgstr "发现太多的语法错误, 放弃文件 \"%s\""
-
-#: repl_scanner.l:76
-msgid "invalid streaming start location"
-msgstr "无效的流起始位置"
-
-#: repl_scanner.l:97 scan.l:630
-msgid "unterminated quoted string"
-msgstr "未结束的引用字符串"
-
-#: repl_scanner.l:107
-#, c-format
-msgid "syntax error: unexpected character \"%s\""
-msgstr "语法错误: 遇到意外字符\"%s\""
+#~ msgid "Sets the name of the Kerberos service."
+#~ msgstr "设置Kerberos服务的名称"
-#: scan.l:412
-msgid "unterminated /* comment"
-msgstr "/* 注释没有结束"
-
-#: scan.l:441
-msgid "unterminated bit string literal"
-msgstr "未结束的bit字符串常量"
-
-#: scan.l:462
-msgid "unterminated hexadecimal string literal"
-msgstr "未结束的16进制字符串常量"
-
-#: scan.l:512
-#, c-format
-msgid "unsafe use of string constant with Unicode escapes"
-msgstr "这种使用带有Unicode转义字符的字符串常量的方法不安全."
-
-#: scan.l:513
-#, c-format
-msgid ""
-"String constants with Unicode escapes cannot be used when "
-"standard_conforming_strings is off."
-msgstr ""
-"当参数standard_conforming_strings处于关闭状态时,无法使用带有Unicode转义字符"
-"的字符串常量."
-
-#: scan.l:565 scan.l:573 scan.l:581 scan.l:582 scan.l:583 scan.l:1239
-#: scan.l:1266 scan.l:1270 scan.l:1308 scan.l:1312 scan.l:1334
-msgid "invalid Unicode surrogate pair"
-msgstr "无效的Unicode代理项对(surrogate pair)"
-
-#: scan.l:587
-#, c-format
-msgid "invalid Unicode escape"
-msgstr "无效的Unicode转义字符"
-
-#: scan.l:588
-#, c-format
-msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX."
-msgstr "Unicode转义字符必须是\\uXXXX或\\UXXXXXXXX."
-
-#: scan.l:599
-#, c-format
-msgid "unsafe use of \\' in a string literal"
-msgstr "在字符串常量中使用\\不安全"
-
-#: scan.l:600
-#, c-format
-msgid ""
-"Use '' to write quotes in strings. \\' is insecure in client-only encodings."
-msgstr "使用''在字符串中表示引号,在只有客户端使用的编码中使用\\'不安全."
-
-#: scan.l:675
-msgid "unterminated dollar-quoted string"
-msgstr "未结束的用$符号引用的字符串"
-
-#: scan.l:692 scan.l:704 scan.l:718
-msgid "zero-length delimited identifier"
-msgstr "长度为0的分隔标示符"
-
-#: scan.l:731
-msgid "unterminated quoted identifier"
-msgstr "未结束的引用标识符"
-
-#: scan.l:835
-msgid "operator too long"
-msgstr "操作符太长"
-
-#. translator: %s is typically the translation of "syntax error"
-#: scan.l:993
-#, c-format
-msgid "%s at end of input"
-msgstr "%s 在输入的末尾"
-
-#. translator: first %s is typically the translation of "syntax error"
-#: scan.l:1001
-#, c-format
-msgid "%s at or near \"%s\""
-msgstr "%s 在 \"%s\" 或附近的"
-
-#: scan.l:1162 scan.l:1194
-msgid ""
-"Unicode escape values cannot be used for code point values above 007F when "
-"the server encoding is not UTF8"
-msgstr "当服务器的编码不是UTF8时,无法为在007F以上的码点值使用Unicode转义值."
-
-#: scan.l:1190 scan.l:1326
-msgid "invalid Unicode escape value"
-msgstr "无效的Unicode转义值"
-
-#: scan.l:1215
-msgid "invalid Unicode escape character"
-msgstr "无效Unicode转义字符"
-
-#: scan.l:1382
-#, c-format
-msgid "nonstandard use of \\' in a string literal"
-msgstr "在字符串常量中以不标准的方法使用\\'"
-
-#: scan.l:1383
-#, c-format
-msgid ""
-"Use '' to write quotes in strings, or use the escape string syntax (E'...')."
-msgstr "使用''或者转义字符串语法(E'...')将字符串引起来."
-
-#: scan.l:1392
-#, c-format
-msgid "nonstandard use of \\\\ in a string literal"
-msgstr "在字符串常量中以不标准的方法使用\\\\ "
-
-#: scan.l:1393
-#, c-format
-msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'."
-msgstr "为反斜线使用转移字符串语法,例如.,E'\\\\'."
-
-#: scan.l:1407
-#, c-format
-msgid "nonstandard use of escape in a string literal"
-msgstr "在字符串常量中以不标准的方法使用转义字符"
-
-#: scan.l:1408
-#, c-format
-msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'."
-msgstr "对转移字符使用转义字符串语法,例如 E'\\r\\n'."
+#~ msgid "No description available."
+#~ msgstr "没有可用的描述"