]> granicus.if.org Git - postgresql/commitdiff
attachement is the NLS patch for backend/po & pg_dump,
authorBruce Momjian <bruce@momjian.us>
Mon, 3 Dec 2001 18:43:21 +0000 (18:43 +0000)
committerBruce Momjian <bruce@momjian.us>
Mon, 3 Dec 2001 18:43:21 +0000 (18:43 +0000)
they are all against the current CVS tree. the patch is about 70K.

    regards    laser

src/backend/po/zh_CN.po
src/bin/pg_dump/zh_CN.po

index 61bd28f07883c104e13cf74fecdcb00424844534..f60018ac9cd198d77b5ad34c1a3e88376eed2004 100644 (file)
@@ -1,13 +1,13 @@
 # simplified Chinese translation file for PostgreSQL server
 # Weiping He <laser@zhengmai.com.cn>, 2001.
 #
-# $Header: /cvsroot/pgsql/src/backend/po/Attic/zh_CN.po,v 1.3 2001/11/25 18:25:54 momjian Exp $
+# $Header: /cvsroot/pgsql/src/backend/po/Attic/zh_CN.po,v 1.4 2001/12/03 18:43:20 momjian Exp $
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 7.2\n"
-"POT-Creation-Date: 2001-11-25 18:34+0800\n"
-"PO-Revision-Date: 2001-11-25 18:51:00+0800\n"
+"POT-Creation-Date: 2001-10-07 11:56+0800\n"
+"PO-Revision-Date: 2001-11-30 21:49:24+0800\n"
 "Last-Translator: Weiping He <laser@zhengmai.com.cn>\n"
 "Language-Team: Weiping He <laser@zhengmai.com.cn>\n"
 "MIME-Version: 1.0\n"
@@ -22,12 +22,12 @@ msgstr "
 msgid "Memory exhausted in DLNewElem"
 msgstr "ÔÚ DLNewElem ÀïÄÚ´æºÄ¾¡"
 
-#: ../main/main.c:85
+#: ../main/main.c:84
 #, c-format
 msgid "%s: setsysinfo failed: %s\n"
 msgstr "%s: setsysinfo Ê§°Ü: %s\n"
 
-#: ../main/main.c:155
+#: ../main/main.c:127
 msgid ""
 "\"root\" execution of the PostgreSQL server is not permitted.\n"
 "\n"
@@ -43,21 +43,21 @@ msgstr ""
 "ÓйØÈçºÎÕýÈ·Æô¶¯·þÎñÆ÷µÄÐÅÏ¢.\n"
 "\n"
 
-#: ../main/main.c:175
+#: ../main/main.c:147
 #, c-format
 msgid "%s: real and effective user ids must match\n"
 msgstr "%s: ÕæʵºÍÓÐЧÓû§±êʶ±ØÐëÏ໥ƥÅä\n"
 
-#: ../main/main.c:224
+#: ../main/main.c:196
 #, c-format
 msgid "%s: invalid current euid %d\n"
 msgstr "%s: ·Ç·¨µÄµ±Ç° euid %d\n"
 
-#: ../port/beos/sem.c:159
+#: ../port/beos/sem.c:160
 msgid "beos : semctl error : GETNCNT not implemented"
 msgstr "beos : semctl ´íÎó : GETNCNT ÉÐδʵÏÖ"
 
-#: ../port/beos/sem.c:174
+#: ../port/beos/sem.c:175
 msgid "beos : semctl error : unknown flag"
 msgstr "beos : semctl ´íÎó : Î´Öª±êÖ¾"
 
@@ -77,7 +77,7 @@ msgstr "
 msgid "Can't load this add-on : map data error"
 msgstr "ÎÞ·¨×°ÔØÕâ¸ö¸½¼þ : Êý¾ÝÓ³Éä´íÎó"
 
-#: ../port/beos/support.c:129
+#: ../port/beos/support.c:130
 #, c-format
 msgid "loading symbol '%s' failed "
 msgstr "×°Èë·ûºÅ %s Ê§°Ü"
@@ -119,28 +119,28 @@ msgstr "ж
 msgid "dl: Undefined:"
 msgstr "dl: Î´¶¨Òå:"
 
-#: ../tcop/fastpath.c:172
+#: ../tcop/fastpath.c:171
 #, c-format
 msgid "fetch_fp_info: cache lookup for function %u failed"
 msgstr "fetch_fp_info: ÔÚ»º³åÖвéÕÒº¯Êý %u Ê§°Ü"
 
-#: ../tcop/fastpath.c:272
+#: ../tcop/fastpath.c:271
 #, c-format
 msgid ""
 "HandleFunctionRequest: actual arguments (%d) != registered arguments (%d)"
 msgstr "HandleFunctionRequest: Êµ¼Ê²ÎÊý (%d) != ×¢²á²ÎÊý (%d)"
 
-#: ../tcop/fastpath.c:291 ../tcop/fastpath.c:303
+#: ../tcop/fastpath.c:290 ../tcop/fastpath.c:302
 #, c-format
 msgid "HandleFunctionRequest: bogus argsize %d"
 msgstr "HandleFunctionRequest: ´íÎóµÄ argsize %d"
 
-#: ../tcop/fastpath.c:316
+#: ../tcop/fastpath.c:315
 #, c-format
 msgid "HandleFunctionRequest: bogus argsize %d, should be %d"
 msgstr "HandleFunctionRequest: ´íÎóµÄ argsize %d, Ó¦Îª %d"
 
-#: ../tcop/fastpath.c:334 ../tcop/postgres.c:680
+#: ../tcop/fastpath.c:333 ../tcop/postgres.c:708
 msgid ""
 "current transaction is aborted, queries ignored until end of transaction "
 "block"
@@ -151,80 +151,80 @@ msgstr "
 msgid "CreateOperationTag: unknown operation type %d"
 msgstr "CreateOperationTag: Î´Öª²Ù×÷ÀàÐÍ %d"
 
-#: ../tcop/pquery.c:147
+#: ../tcop/pquery.c:148
 #, c-format
 msgid "Closing pre-existing portal \"%s\""
 msgstr "¹Ø±ÕÔ¤´æÔÚµÄÈë¿Ú \"%s\""
 
-#: ../tcop/postgres.c:289
+#: ../tcop/postgres.c:306
 #, c-format
 msgid "Socket command type %c unknown"
 msgstr "δ֪µÄ Socket ÃüÁîÀàÐÍ %c"
 
-#: ../tcop/postgres.c:372
+#: ../tcop/postgres.c:389
 #, c-format
 msgid "query: %s"
 msgstr "²éѯ: %s"
 
-#: ../tcop/postgres.c:431
+#: ../tcop/postgres.c:452
 msgid "parse tree:"
 msgstr "·ÖÎöÊ÷:"
 
-#: ../tcop/postgres.c:435
+#: ../tcop/postgres.c:456
 #, c-format
 msgid "parse tree: %s"
 msgstr "·ÖÎöÊ÷: %s"
 
-#: ../tcop/postgres.c:466
+#: ../tcop/postgres.c:490
 msgid "pg_analyze_and_rewrite: copyObject failed on parse tree"
 msgstr "pg_analyze_and_rewrite: copyObject ´ò¿ª·ÖÎöÊ÷ʧ°Ü"
 
-#: ../tcop/postgres.c:475 ../tcop/postgres.c:485
+#: ../tcop/postgres.c:499 ../tcop/postgres.c:509
 msgid "rewritten parse tree:"
 msgstr "ÖØд·ÖÎöÊ÷:"
 
-#: ../access/transam/xlog.c:763 ../access/transam/xlog.c:2550
-#: ../tcop/postgres.c:489 ../utils/adt/varchar.c:87 ../utils/adt/varchar.c:431
-#: ../utils/adt/varlena.c:192 scan.l:59
+#: ../access/transam/xlog.c:761 ../access/transam/xlog.c:2555
+#: ../tcop/postgres.c:513 ../utils/adt/varchar.c:84 ../utils/adt/varchar.c:419
+#: ../utils/adt/varlena.c:199 scan.l:59
 #, c-format
 msgid "%s"
 msgstr ""
 
-#: ../tcop/postgres.c:529
+#: ../tcop/postgres.c:556
 msgid "pg_plan_query: copyObject failed on plan tree"
 msgstr "pg_plan_query: ÔÚ·ÖÎöÊ÷ÉÏ copyObject Ê§°Ü"
 
-#: ../tcop/postgres.c:543
+#: ../tcop/postgres.c:570
 msgid "plan:"
 msgstr "¹æ»®:"
 
-#: ../tcop/postgres.c:547
+#: ../tcop/postgres.c:574
 #, c-format
 msgid "plan: %s"
 msgstr "¹æ»®: %s"
 
-#: ../tcop/postgres.c:746
+#: ../tcop/postgres.c:775
 #, c-format
 msgid "ProcessUtility: %s"
 msgstr ""
 
-#: ../tcop/postgres.c:748
+#: ../tcop/postgres.c:777
 msgid "ProcessUtility"
 msgstr ""
 
-#: ../tcop/postgres.c:781
+#: ../tcop/postgres.c:811
 msgid "ProcessQuery"
 msgstr ""
 
-#: ../tcop/postgres.c:840
+#: ../tcop/postgres.c:873
 msgid "StartTransactionCommand"
 msgstr ""
 
-#: ../tcop/postgres.c:852
+#: ../tcop/postgres.c:885
 msgid "CommitTransactionCommand"
 msgstr ""
 
-#: ../tcop/postgres.c:879
+#: ../tcop/postgres.c:912
 msgid ""
 "Message from PostgreSQL backend:\n"
 "\tThe Postmaster has informed me that some other backend\n"
@@ -239,49 +239,49 @@ msgstr ""
 "×¼±¸ÖÕÖ¹ÄãµÄÊý¾Ý¿âϵͳÁª½Ó²¢Í˳ö. ÇëÖØÐÂÁª½Óµ½\n"
 "Êý¾Ý¿âϵͳ²¢ÖØ×öÄãµÄ²éѯ."
 
-#: ../tcop/postgres.c:997
+#: ../tcop/postgres.c:1030
 msgid ""
 "floating point exception! The last floating point operation either exceeded "
 "legal ranges or was a divide by zero"
 msgstr "¸¡µã´íÎó! ×îºóµÄ¸¡µã²Ù×÷²»Êdz¬³öÁË·¶Î§¾ÍÊDZ»Áã³ý"
 
-#: ../tcop/postgres.c:1029
+#: ../tcop/postgres.c:1062
 msgid "This connection has been terminated by the administrator."
 msgstr "Õâ¸öÁª½ÓÒѱ»¹ÜÀíÔ±ÖÕÖ¹."
 
-#: ../tcop/postgres.c:1035
+#: ../tcop/postgres.c:1068
 msgid "Query was cancelled."
 msgstr "²éѯÒѱ»È¡Ïû."
 
-#: ../tcop/postgres.c:1176
+#: ../tcop/postgres.c:1216
 msgid "Assert checking is not compiled in"
 msgstr "ûÓаѶÏÑÔ¼ì²é±àÒë½øÀ´"
 
-#: ../tcop/postgres.c:1397
+#: ../tcop/postgres.c:1437
 msgid "only one -x flag is allowed"
 msgstr "Ö»ÔÊÐíÒ»¸ö -x ±êÖ¾"
 
-#: ../tcop/postgres.c:1415
+#: ../tcop/postgres.c:1455
 msgid "use -x {off,nor,nopull,nopm,pullall,wait}"
 msgstr "ʹÓà-x {off, nor, nopull, nopm, pullall, wait}"
 
-#: ../postmaster/postmaster.c:560 ../tcop/postgres.c:1431
+#: ../postmaster/postmaster.c:531 ../tcop/postgres.c:1471
 #, c-format
 msgid "--%s requires argument"
 msgstr "--%s ÐèÒª²ÎÊý"
 
-#: ../postmaster/postmaster.c:562 ../tcop/postgres.c:1433
+#: ../postmaster/postmaster.c:533 ../tcop/postgres.c:1473
 #, c-format
 msgid "-c %s requires argument"
 msgstr "-c %s ÐèÒª²ÎÊý"
 
-#: ../tcop/postgres.c:1454
+#: ../tcop/postgres.c:1494
 msgid ""
 "Query statistics are disabled because parser, planner, or executor "
 "statistics are on."
 msgstr "ÒòΪ´ò¿ªÁË·ÖÎöÆ÷, ¹æ»®Æ÷»òÕßÖ´ÐÐÆ÷ͳ¼Æ, ËùÒÔ²éѯͳ¼Æ±»¹Ø±Õ."
 
-#: ../tcop/postgres.c:1534 ../tcop/postgres.c:1546
+#: ../tcop/postgres.c:1573 ../tcop/postgres.c:1585
 #, c-format
 msgid ""
 "%s: invalid command line arguments\n"
@@ -290,41 +290,39 @@ msgstr ""
 "%s: ·Ç·¨ÃüÁîÐвÎÊý\n"
 "¼üÈë -? »ñÈ¡°ïÖú."
 
-#: ../tcop/postgres.c:1554
+#: ../tcop/postgres.c:1593
 #, c-format
 msgid "%s: user name undefined and no database specified\n"
 msgstr "%s: Ã»ÓÐÉùÃ÷Óû§Ãû²¢ÇÒûÓÐÉùÃ÷Êý¾Ý¿â\n"
 
-#: ../postmaster/postmaster.c:620 ../tcop/postgres.c:1564
+#: ../tcop/postgres.c:1625
 #, c-format
 msgid "%s: could not locate executable, bailing out..."
 msgstr "%s: ÎÞ·¨¶¨Î»¿ÉÖ´ÐÐÎļþ, Í˳ö..."
 
-#: ../tcop/postgres.c:1606
+#: ../tcop/postgres.c:1684
+#, c-format
+msgid "connection: host=%s user=%s database=%s"
+msgstr "Áª½Ó: Ö÷»ú=%s Óû§=%s Êý¾Ý¿â=%s"
+
+#: ../tcop/postgres.c:1695
 msgid "InitPostgres"
 msgstr ""
 
-#: ../tcop/postgres.c:1689
+#: ../tcop/postgres.c:1778
 msgid "AbortCurrentTransaction"
 msgstr ""
 
-#: ../tcop/postgres.c:1878
+#: ../tcop/postgres.c:1974
 msgid "unknown frontend message was received"
 msgstr "ÊÕµ½Î´ÖªÇ°¶ËÐÅÏ¢"
 
-#: ../tcop/postgres.c:2010
-#, c-format
-msgid ""
-"%s\n"
-"%s"
-msgstr ""
-
-#: ../tcop/postgres.c:2032
+#: ../tcop/postgres.c:2122
 #, c-format
 msgid "Assert test successfull (val = %d)"
 msgstr "¶ÏÑÔ²âÊԳɹ¦ (val = %d)"
 
-#: ../tcop/postgres.c:2035
+#: ../tcop/postgres.c:2125
 #, c-format
 msgid "Assert checking is disabled (val = %d)"
 msgstr "¶ÏÑÔ¼ì²éÒѹرՠ( val = %d)"
@@ -354,60 +352,60 @@ msgstr "
 msgid "%s \"%s\" is a system %s"
 msgstr "%s \"%s\" ÊÇÒ»¸öϵͳ %s"
 
-#: ../commands/copy.c:284 ../commands/trigger.c:319 ../executor/execMain.c:424
-#: ../executor/execMain.c:454 ../storage/ipc/shmqueue.c:234
-#: ../storage/ipc/shmqueue.c:254 ../tcop/utility.c:273 ../tcop/utility.c:554
-#: ../tcop/utility.c:876 ../tcop/utility.c:891
+#: ../commands/copy.c:286 ../commands/trigger.c:319 ../executor/execMain.c:425
+#: ../executor/execMain.c:456 ../storage/ipc/shmqueue.c:237
+#: ../storage/ipc/shmqueue.c:257 ../tcop/utility.c:274 ../tcop/utility.c:556
+#: ../tcop/utility.c:878 ../tcop/utility.c:884
 #, c-format
 msgid "%s: %s"
 msgstr ""
 
-#: ../tcop/utility.c:303
+#: ../tcop/utility.c:304
 #, c-format
 msgid "TRUNCATE cannot be used on system tables. '%s' is a system table"
 msgstr "²»ÄÜÔÚϵͳ±íÉÏʹÓàTRUNCATE. '%s' ÊÇÒ»¸öϵͳ±í"
 
-#: ../tcop/utility.c:309
+#: ../tcop/utility.c:310
 #, c-format
 msgid "TRUNCATE cannot be used on sequences. '%s' is a sequence"
 msgstr "²»ÄÜÔÚÐòÁÐÉÏʹÓàTRUNCATE. '%s' ÊÇÒ»¸öÐòÁÐ"
 
-#: ../tcop/utility.c:312
+#: ../tcop/utility.c:313
 #, c-format
-msgid "TRUNCATE cannot be used on views. '%s' is a view"
-msgstr "²»ÄÜÔÚÊÓͼÉÏʹÓàTRUNCATE. '%s' ÊÇÒ»¸öÊÓͼ"
+msgid "TRUNCATE cannot be used on views. '%s' is a sequence"
+msgstr "²»ÄÜÔÚÊÓͼÉÏʹÓàTRUNCATE. '%s' ÊÇÒ»¸öÐòÁÐ"
 
-#: ../tcop/utility.c:317
+#: ../tcop/utility.c:318
 #, c-format
 msgid "you do not own class \"%s\""
 msgstr "Äã²»ÊDZí \"%s\" µÄËùÓÐÕß"
 
-#: ../commands/command.c:325 ../commands/command.c:548
-#: ../commands/command.c:1054 ../tcop/utility.c:372
+#: ../commands/command.c:323 ../commands/command.c:534
+#: ../commands/command.c:1039 ../tcop/utility.c:373
 #, c-format
 msgid "ALTER TABLE: relation \"%s\" is a system catalog"
 msgstr "ALTER TABLE: ¹Øϵ \"%s\" ÊÇÒ»¸öϵͳ±í"
 
-#: ../catalog/aclchk.c:97 ../commands/trigger.c:80 ../tcop/utility.c:375
-#: ../tcop/utility.c:692 ../tcop/utility.c:851 ../utils/init/miscinit.c:494
-#: ../utils/misc/guc.c:931
+#: ../catalog/aclchk.c:98 ../commands/trigger.c:80 ../tcop/utility.c:376
+#: ../tcop/utility.c:694 ../tcop/utility.c:853 ../utils/init/miscinit.c:501
+#: ../utils/misc/guc.c:744
 msgid "permission denied"
 msgstr "ûÓÐ×㹻ȨÏÞ"
 
-#: ../tcop/utility.c:467
+#: ../tcop/utility.c:470
 msgid "T_AlterTableStmt: unknown subtype"
 msgstr "T_AlterTableStmt: Î´Öª×ÓÀàÐÍ"
 
-#: ../tcop/utility.c:611
+#: ../tcop/utility.c:613
 msgid "CREATE VERSION is not currently implemented"
 msgstr "CREATE VERSION ÊµÏֵò»ÕýÈ·"
 
-#: ../tcop/utility.c:689
+#: ../tcop/utility.c:691
 #, c-format
 msgid "CLUSTER: relation \"%s\" is a system catalog"
 msgstr "CLUSTER: ¹Øϵ \"%s\" ÊÇÒ»¸öϵͳ±í"
 
-#: ../tcop/utility.c:869
+#: ../tcop/utility.c:871
 #, c-format
 msgid ""
 "\"%s\" is a system index. call REINDEX under standalone postgres with -O -P "
@@ -415,7 +413,7 @@ msgid ""
 msgstr ""
 "\"%s\" ÊǸöϵͳ±í. ÔÚ´øÓР-O -P Ñ¡ÏîÔËÐеĶÀÁ¢ postgres ½ø³Ìϵ÷ÓÃREINDEX"
 
-#: ../tcop/utility.c:872
+#: ../tcop/utility.c:874
 #, c-format
 msgid ""
 "\"%s\" is a system index. call REINDEX under standalone postgres with -P -O "
@@ -423,48 +421,32 @@ msgid ""
 msgstr ""
 "\"%s\" ÊǸöϵͳË÷Òý. ÔÚ´øÓР-P -O Ñ¡ÏîÔËÐеĶÀÁ¢ postgres ½ø³Ìϵ÷ÓÃREINDEX"
 
-#: ../tcop/utility.c:884
-#, c-format
-msgid ""
-"\"%s\" is a system table. call REINDEX under standalone postgres with -O -P "
-"options"
-msgstr ""
-"\"%s\" ÊǸöϵͳ±í. ÔÚ´øÓР-O -P Ñ¡ÏîÔËÐеĶÀÁ¢ postgres ½ø³Ìϵ÷ÓàREINDEX"
-
-#: ../tcop/utility.c:887
-#, c-format
-msgid ""
-"\"%s\" is a system table. call REINDEX under standalone postgres with -P -O "
-"options"
-msgstr ""
-"\"%s\" ÊǸöϵͳ±í. ÔÚ´øÓР-P -O Ñ¡ÏîÔËÐеĶÀÁ¢ postgres ½ø³Ìϵ÷ÓàREINDEX"
-
-#: ../tcop/utility.c:897
+#: ../tcop/utility.c:890
 msgid "must be called under standalone postgres with -O -P options"
 msgstr "±ØÐëÔÚ´øÓР-O -P Ñ¡ÏîÔËÐеĶÀÁ¢ postgres ½ø³Ìϵ÷ÓÃ"
 
-#: ../tcop/utility.c:899
+#: ../tcop/utility.c:892
 msgid "must be called under standalone postgres with -P -O options"
 msgstr "±ØÐëÔÚ´øÓР-P -O Ñ¡ÏîÔËÐеĶÀÁ¢ postgres ½ø³Ìϵ÷ÓÃ"
 
-#: ../tcop/utility.c:912
+#: ../tcop/utility.c:905
 #, c-format
 msgid "ProcessUtility: command #%d unsupported"
 msgstr "ProcessUtility: ²»Ö§³Ö #%d ÃüÁî"
 
-#: ../rewrite/rewriteManip.c:557 ../rewrite/rewriteManip.c:564
+#: ../rewrite/rewriteManip.c:559 ../rewrite/rewriteManip.c:566
 msgid "getInsertSelectQuery: expected to find SELECT subquery"
 msgstr "getInsertSelectQuery: Ô¤ÆÚÕÒµ½ SELECT ×Ó²éѯ"
 
-#: ../rewrite/rewriteManip.c:575
+#: ../rewrite/rewriteManip.c:577
 msgid "getInsertSelectQuery: can't find rule placeholders"
 msgstr "getInsertSelectQuery: ÎÞ·¨ÕÒµ½¹æÔòռλ·û"
 
-#: ../rewrite/rewriteManip.c:609 ../rewrite/rewriteManip.c:649
+#: ../rewrite/rewriteManip.c:611 ../rewrite/rewriteManip.c:651
 msgid "Conditional utility statements are not implemented"
 msgstr "δʵÏÖÌõ¼þ¹¤¾ßÓï¾ä"
 
-#: ../rewrite/rewriteManip.c:772
+#: ../rewrite/rewriteManip.c:776
 msgid "ResolveNew: can't handle whole-tuple reference"
 msgstr "ResolveNew: ÎÞ·¨´¦ÀíÈ«Ôª×éÒýÓÃ"
 
@@ -582,33 +564,33 @@ msgstr "ApplyRetrieveRule: 
 msgid "ApplyRetrieveRule: can't handle per-attribute ON SELECT rule"
 msgstr "ApplyRetrieveRule: ÎÞ·¨´¦Àíÿ¸öÊôÐԵĠON SELECT ¹æÔò"
 
-#: ../rewrite/rewriteHandler.c:490 ../rewrite/rewriteHandler.c:777
+#: ../rewrite/rewriteHandler.c:491 ../rewrite/rewriteHandler.c:778
 #, c-format
 msgid "Relation \"%s\" with OID %u no longer exists"
 msgstr "ÓÐ×Å OID Îª %2$u µÄ¹Øϵ \"%1$s\" ²»ÔÙ´æÔÚ"
 
-#: ../rewrite/rewriteHandler.c:557
+#: ../rewrite/rewriteHandler.c:558
 msgid "fireRIRrules: failed to remove aggs from qual"
 msgstr "fireRIRrules: ÎÞ·¨´ÓÌõ¼þÖÐɾ³ý¾Û¼¯"
 
-#: ../rewrite/rewriteHandler.c:829
+#: ../rewrite/rewriteHandler.c:830
 #, c-format
 msgid "query rewritten %d times, may contain cycles"
 msgstr "²éѯÖØдÁË %d ´Î, ¿ÉÄÜ°üº¬Ñ­»·"
 
-#: ../rewrite/rewriteHandler.c:953
+#: ../rewrite/rewriteHandler.c:951
 msgid "Cannot insert into a view without an appropriate rule"
 msgstr "ûÓкÏÊʹæÔòÇé¿öÏÂÎÞ·¨²åÈëÒ»¸öÊÓͼ"
 
-#: ../rewrite/rewriteHandler.c:956
+#: ../rewrite/rewriteHandler.c:954
 msgid "Cannot update a view without an appropriate rule"
 msgstr "ûÓкÏÊʹæÔòÇé¿öÏÂÎÞ·¨¸üÐÂÒ»¸öÊÓͼ"
 
-#: ../rewrite/rewriteHandler.c:959
+#: ../rewrite/rewriteHandler.c:957
 msgid "Cannot delete from a view without an appropriate rule"
 msgstr "ûÓкÏÊʹæÔòÇé¿öÏÂÎÞ·¨´ÓÊÓͼÖÐɾ³ý"
 
-#: ../rewrite/rewriteHandler.c:962
+#: ../rewrite/rewriteHandler.c:960
 #, c-format
 msgid "QueryRewrite: unexpected commandType %d"
 msgstr "QueryRewrite: ÒâÍâµÄ commandType %d"
@@ -618,7 +600,7 @@ msgstr "QueryRewrite: 
 msgid "Rule or view \"%s\" not found"
 msgstr "ûÓÐÕÒµ½ÃûΪ \"%s\" µÄ¹æÔò»òÊÓͼ"
 
-#: ../rewrite/rewriteRemove.c:53 ../utils/adt/tid.c:156
+#: ../rewrite/rewriteRemove.c:53 ../utils/adt/tid.c:157
 #, c-format
 msgid "Relation %u not found"
 msgstr "δÕÒµ½¹Øϵ %u"
@@ -632,10 +614,10 @@ msgstr "δ
 msgid "Cannot remove a view's SELECT rule"
 msgstr "ÎÞ·¨É¾³ýÊÓͼµÄ SELECT ¹æÔò"
 
-#: ../libpq/crypt.c:68
+#: ../libpq/crypt.c:85
 #, c-format
-msgid "could not open %s: %m"
-msgstr "ÎÞ·¨´ò¿ª %s: %m"
+msgid "could not open %s: %s"
+msgstr "ÎÞ·¨´ò¿ª %s: %s"
 
 #: ../libpq/be-fsstubs.c:85
 #, c-format
@@ -723,50 +705,31 @@ msgstr "lo_export: 
 msgid "lo_export: error while writing \"%s\""
 msgstr "lo_export: Ð´³ö \"%s\" Ê±³ö´í"
 
-#: ../libpq/auth.c:473
+#: ../libpq/auth.c:456
 #, c-format
 msgid "%s authentication failed for user \"%s\""
 msgstr "ΪÓû§ \"%2$s\" %1$s ÈÏ֤ʧ°Ü"
 
-#: ../libpq/auth.c:495
+#: ../libpq/auth.c:477
 msgid "Missing or erroneous pg_hba.conf file, see postmaster log for details"
 msgstr "ȱʧ»òÕßʱÄõ½´íÎóµÄ pg_hba.conf Îļþ, ¼û postmaster ÈÕÖ¾»ñȡϸ½Ú"
 
-#: ../libpq/auth.c:526
+#: ../libpq/auth.c:506
 #, c-format
 msgid "No pg_hba.conf entry for host %s, user %s, database %s"
 msgstr "ûÓÐÓÃÓÚÖ÷»ú %s, Óû§ %s, Êý¾Ý¿â %s µÄ pg_hba.conf ¼Ç¼"
 
-#: ../libpq/auth.c:560
+#: ../libpq/auth.c:538
 #, c-format
 msgid "pg_local_sendauth: can't do setsockopt: %s\n"
 msgstr "pg_local_sendauth: ÎÞ·¨½øÐРsetsockopt: %s\n"
 
-#: ../libpq/pqcomm.c:511
-#, c-format
-msgid "pq_recvbuf: recv() failed: %m"
-msgstr "pq_recvbuf: recv() Ê§°Ü: %m"
-
-#: ../libpq/pqcomm.c:517
-msgid "pq_recvbuf: unexpected EOF on client connection"
-msgstr ""
-
-#: ../libpq/pqcomm.c:691
-#, c-format
-msgid "pq_flush: send() failed: %m"
-msgstr "pq_flush: send() Ê§°Ü: %m"
-
-#: ../libpq/pqcomm.c:725
-#, c-format
-msgid "pq_eof: recv() failed: %m"
-msgstr "pq_eof: recv() Ê§°Ü: %m"
-
-#: ../libpq/pqformat.c:200
+#: ../libpq/pqformat.c:201
 #, c-format
 msgid "pq_sendint: unsupported size %d"
 msgstr "pq_sendint: ²»Ö§³ÖµÄ³ß´ç %d"
 
-#: ../nodes/copyfuncs.c:2976
+#: ../nodes/copyfuncs.c:2980
 #, c-format
 msgid "copyObject: don't know how to copy node type %d"
 msgstr "copyObject: ²»ÖªµÀÈçºÎ¿½±´½ÚµãÀàÐÍ %d"
@@ -779,81 +742,76 @@ msgstr "toIntList: 
 msgid "toOidList: unexpected datatype"
 msgstr "toOidList: ·ÇÔ¤ÆÚÊý¾ÝÀàÐÍ"
 
-#: ../nodes/readfuncs.c:797
+#: ../nodes/readfuncs.c:798
 #, c-format
 msgid "_readExpr: unknown opType \"%.*s\""
 msgstr "_readExpr: δ֪ opType \"%.*s\""
 
-#: ../nodes/readfuncs.c:2023
+#: ../nodes/readfuncs.c:2024
 #, c-format
 msgid "badly formatted planstring \"%.10s\"..."
 msgstr "´íÎóµÄ¹æ»®´®(planstring) \"%.10s\""
 
-#: ../nodes/readfuncs.c:2056 ../nodes/readfuncs.c:2088
+#: ../nodes/readfuncs.c:2057 ../nodes/readfuncs.c:2089
 #, c-format
 msgid "readDatum: expected '%s', got '%s'; length = %lu"
-msgstr ""
+msgstr "readDatum: Ô¤ÆÚ '%s', µÃµ½ '%s'; ³¤¶È = %lu"
 
-#: ../nodes/readfuncs.c:2063
+#: ../nodes/readfuncs.c:2064
 #, c-format
 msgid "readDatum: byval & length = %lu"
 msgstr ""
 
-#: ../nodes/equalfuncs.c:201
+#: ../nodes/equalfuncs.c:202
 #, c-format
 msgid "_equalParam: Invalid paramkind value: %d"
-msgstr ""
+msgstr "equalParam: ·Ç·¨ paramkind Öµ: %d"
 
 #: ../nodes/equalfuncs.c:2127
 #, c-format
 msgid "equal: don't know whether nodes of type %d are equal"
-msgstr ""
+msgstr "equal: ²»ÖªµÀÀàÐÍΪ %d µÄ½ÚµãÊÇ·ñÏàµÈ"
 
 #: ../nodes/list.c:162
 msgid "tryout to nconc a list to itself"
-msgstr ""
+msgstr "ÊÔͼ¸øÒ»¸öÁÐ±í±¾Éí½øÐРnconc"
 
 #: ../nodes/read.c:296
 msgid "nodeRead: did not find '}' at end of plan node"
-msgstr ""
+msgstr "nodeRead: Ôڹ滮½ÚµãµÄ½áβûÓÐÕÒµ½ '}'"
 
 #: ../nodes/read.c:376
 #, c-format
 msgid "nodeRead: Bad type %d"
-msgstr ""
+msgstr "nodeRead: ´íÎóµÄÀàÐÍ %d"
 
-#: ../nodes/outfuncs.c:1294
+#: ../nodes/outfuncs.c:1295
 #, c-format
 msgid "_outValue: don't know how to print type %d "
-msgstr ""
+msgstr "outValue: ²»ÖªµÀÈçºÎ´òÓ¡ÀàÐÍ %d"
 
-#: ../nodes/outfuncs.c:1696
+#: ../nodes/outfuncs.c:1675
 #, c-format
 msgid "_outNode: don't know how to print type %d "
-msgstr ""
-
-#: ../nodes/print.c:211
-#, c-format
-msgid "Cache lookup for type %u failed"
-msgstr "ÔÚ»º³åÖвéÕÒÀàÐÍ %u Ê§°Ü"
+msgstr "outNode: ²»ÖªµÀÈçºÎ´òÓ¡ÀàÐÍ %d"
 
 #: ../tioga/tgRecipe.c:81
 #, c-format
 msgid ""
 "TextArray2ArrTgString: badly formed string, must have %c as first character\n"
-msgstr ""
+msgstr "TextArray2ArrTgString: ×Ö´®ÐÎʽ¸ñʽ´íÎó, ±ØÐëÒÔ %c ×÷ΪÊ××Ö·û\n"
 
 #: ../tioga/tgRecipe.c:91
 msgid "TextArray2ArrTgString: text string ended prematurely\n"
-msgstr ""
+msgstr "TextArray2ArrTgString: Îı¾×Ö´®ÌáÇ°½áÊø\n"
 
 #: ../tioga/tgRecipe.c:97
 msgid "textArray2ArrTgString:  missing a begin quote\n"
-msgstr ""
+msgstr "textArray2ArrTgString:  È±ÉÙ¿ªÒýºÅ\n"
 
 #: ../tioga/tgRecipe.c:102
 msgid "textArray2ArrTgString:  missing an end quote\n"
-msgstr ""
+msgstr "textArray2ArrTgString:  È±ÉÙ¹ØÒýºÅ\n"
 
 #: ../tioga/tgRecipe.c:138
 #, c-format
@@ -865,148 +823,194 @@ msgstr ""
 msgid "Node named %s not found in recipe named %s"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:248
+#: ../tioga/tgRecipe.c:249
 #, c-format
 msgid "fillTgNode: unknown nodeType field value : %s\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:326
+#: ../tioga/tgRecipe.c:328
 #, c-format
 msgid "fillTgElement(): unknown srcLang field value : %s\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:336
+#: ../tioga/tgRecipe.c:338
 #, c-format
 msgid "fillTgElement(): unknown elemType field value : %s\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:376
+#: ../tioga/tgRecipe.c:378
 #, c-format
 msgid "lookupEdges(): Error while executing query : %s\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:377 ../tioga/tgRecipe.c:540 ../tioga/tgRecipe.c:559
-#: ../tioga/tgRecipe.c:596 ../tioga/tgRecipe.c:707
+#: ../tioga/tgRecipe.c:379 ../tioga/tgRecipe.c:542 ../tioga/tgRecipe.c:561
+#: ../tioga/tgRecipe.c:598 ../tioga/tgRecipe.c:709
 #, c-format
 msgid "result = %s, error is %s\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:402
+#: ../tioga/tgRecipe.c:404
 msgid "lookupEdges():  SANITY CHECK failed.  Edge with invalid fromPort value!"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:407
+#: ../tioga/tgRecipe.c:409
 msgid "lookupEdges():  SANITY CHECK failed.  Edge with invalid toPort value!!"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:416
+#: ../tioga/tgRecipe.c:418
 msgid "lookupEdges():  SANITY CHECK failed.  Edge with bad fromNode value!"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:422
+#: ../tioga/tgRecipe.c:424
 msgid "lookupEdges():  SANITY CHECK failed.  Edge with bad toNode value!"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:469
+#: ../tioga/tgRecipe.c:471
 msgid "Internal Error: connectTee() called with a null origToNode"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:539 ../tioga/tgRecipe.c:558
+#: ../tioga/tgRecipe.c:541 ../tioga/tgRecipe.c:560
 #, c-format
 msgid "fillAllNodes(): Error while executing query : %s\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:595
+#: ../tioga/tgRecipe.c:597
 #, c-format
 msgid "fillAllElements(): Error while executing query : %s\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:706
+#: ../tioga/tgRecipe.c:708
 #, c-format
 msgid "retrieveRecipe: Error while executing query : %s\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:715
+#: ../tioga/tgRecipe.c:717
 #, c-format
 msgid "retrieveRecipe():  No recipe named %s exists\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:720
+#: ../tioga/tgRecipe.c:722
 #, c-format
 msgid "retrieveRecipe():  Multiple (%d) recipes named %s exists\n"
 msgstr ""
 
-#: ../utils/adt/numeric.c:1500
-msgid "Cannot convert NaN to int4"
+#: ../utils/mb/mbutils.c:225
+#, c-format
+msgid "Invalid encoding name %s"
+msgstr "ÎÞЧµÄ±àÂëÃû '%s'"
+
+#: ../utils/mb/mbutils.c:230 ../utils/mb/mbutils.c:273
+#, c-format
+msgid "Conversion from %s to %s is not possible"
 msgstr ""
 
-#: ../utils/adt/numeric.c:1550
-msgid "Cannot convert NaN to int8"
+#: ../utils/mb/mbutils.c:236 ../utils/mb/mbutils.c:280
+msgid "Encoding conversion failed"
 msgstr ""
 
-#: ../utils/adt/numeric.c:1601
-msgid "Cannot convert NaN to int2"
+#: ../utils/mb/mbutils.c:267
+#, c-format
+msgid "Invalid source encoding name %s"
+msgstr "ÎÞЧ±àÂëÃû '%s'"
+
+#: ../utils/mb/mbutils.c:269
+#, c-format
+msgid "Invalid destination encoding name %s"
+msgstr "ÎÞЧÓû§Ãû '%s'"
+
+#: ../utils/mb/mbutils.c:448
+msgid "SetDatabaseEncoding(): invalid database encoding"
+msgstr ""
+
+#: ../utils/mb/conv.c:1209
+msgid "Could not convert UTF-8 to ISO8859-1"
 msgstr ""
 
-#: ../utils/adt/float.c:269 ../utils/adt/numeric.c:1685
+#: ../utils/mb/conv.c:1289
 #, c-format
-msgid "Bad float8 input format '%s'"
+msgid "utf_to_local: could not convert UTF-8 (0x%04x). Ignored"
+msgstr ""
+
+#: ../utils/mb/conv.c:1386
+#, c-format
+msgid "Invalid encoding number %d"
+msgstr "ÎÞЧ±àÂë±àºÅ %d"
+
+#: ../utils/mb/conv.c:1423
+#, c-format
+msgid "local_to_utf: could not convert (0x%04x) %s to UTF-8. Ignored"
 msgstr ""
 
-#: ../utils/adt/numeric.c:1767
+#: ../utils/mb/encnames.c:176
+msgid "pg_char_to_encname_struct(): encoding name too long"
+msgstr ""
+
+#: ../utils/adt/numeric.c:1501
+msgid "Cannot convert NaN to int4"
+msgstr ""
+
+#: ../utils/adt/numeric.c:1551
+msgid "Cannot convert NaN to int8"
+msgstr ""
+
+#: ../utils/adt/numeric.c:1602
+msgid "Cannot convert NaN to int2"
+msgstr ""
+
+#: ../utils/adt/numeric.c:1739
 msgid "do_numeric_accum: expected 3-element numeric array"
 msgstr ""
 
-#: ../utils/adt/numeric.c:1858
+#: ../utils/adt/numeric.c:1830
 msgid "numeric_avg: expected 3-element numeric array"
 msgstr ""
 
-#: ../utils/adt/numeric.c:1893
+#: ../utils/adt/numeric.c:1865
 msgid "numeric_variance: expected 3-element numeric array"
 msgstr ""
 
-#: ../utils/adt/numeric.c:1960
+#: ../utils/adt/numeric.c:1932
 msgid "numeric_stddev: expected 3-element numeric array"
 msgstr ""
 
-#: ../utils/adt/numeric.c:2142
+#: ../utils/adt/numeric.c:2114
 msgid "int2_avg_accum: expected 2-element int8 array"
 msgstr ""
 
-#: ../utils/adt/numeric.c:2162
+#: ../utils/adt/numeric.c:2134
 msgid "int4_avg_accum: expected 2-element int8 array"
 msgstr ""
 
-#: ../utils/adt/numeric.c:2180
+#: ../utils/adt/numeric.c:2152
 msgid "int8_avg: expected 2-element int8 array"
 msgstr ""
 
-#: ../utils/adt/numeric.c:2371 ../utils/adt/numeric.c:2386
-#: ../utils/adt/numeric.c:2404 ../utils/adt/numeric.c:2408
-#: ../utils/adt/numeric.c:2419
+#: ../utils/adt/numeric.c:2344 ../utils/adt/numeric.c:2359
+#: ../utils/adt/numeric.c:2377 ../utils/adt/numeric.c:2381
+#: ../utils/adt/numeric.c:2392
 #, c-format
 msgid "Bad numeric input format '%s'"
 msgstr ""
 
-#: ../utils/adt/numeric.c:2738
+#: ../utils/adt/numeric.c:2711
 #, c-format
 msgid ""
 "overflow on numeric ABS(value) >= 10^%d for field with precision %d scale %d"
 msgstr ""
 
-#: ../utils/adt/numeric.c:3148
+#: ../utils/adt/numeric.c:3125
 msgid "division by zero on numeric"
 msgstr ""
 
-#: ../utils/adt/numeric.c:3453
+#: ../utils/adt/numeric.c:3430
 msgid "math error on numeric - cannot compute SQRT of negative value"
 msgstr ""
 
-#: ../utils/adt/numeric.c:3539
+#: ../utils/adt/numeric.c:3516
 msgid "argument for EXP() too big"
 msgstr ""
 
-#: ../utils/adt/numeric.c:3606
+#: ../utils/adt/numeric.c:3583
 msgid "math error on numeric - cannot compute LN of value <= zero"
 msgstr ""
 
@@ -1014,310 +1018,296 @@ msgstr ""
 msgid "datumGetSize: Invalid Datum Pointer"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:68 ../utils/adt/timestamp.c:192
+#: ../utils/adt/timestamp.c:66 ../utils/adt/timestamp.c:189
 #, c-format
 msgid "Bad timestamp external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:74
+#: ../utils/adt/timestamp.c:72 ../utils/adt/timestamp.c:195
 #, c-format
-msgid "TIMESTAMP out of range '%s'"
-msgstr "TIMESTAMP ³¬³ö·¶Î§ '%s'"
+msgid "Timestamp out of range '%s'"
+msgstr "Timestamp ³¬³ö·¶Î§ '%s'"
 
-#: ../utils/adt/timestamp.c:90
+#: ../utils/adt/timestamp.c:88
 #, c-format
-msgid "TIMESTAMP '%s' no longer supported"
+msgid "Timestamp '%s' no longer supported"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:95
+#: ../utils/adt/timestamp.c:93
 #, c-format
-msgid "TIMESTAMP '%s' not parsed; internal coding error"
+msgid "Timestamp '%s' not parsed; internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:123
+#: ../utils/adt/timestamp.c:121
 msgid "Unable to format timestamp; internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:198
-#, c-format
-msgid "TIMESTAMP WITH TIME ZONE out of range '%s'"
-msgstr ""
-
-#: ../utils/adt/timestamp.c:214
+#: ../utils/adt/timestamp.c:211
 #, c-format
-msgid "TIMESTAMP WITH TIME ZONE '%s' no longer supported"
+msgid "Timestamp with time zone '%s' no longer supported"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:219
+#: ../utils/adt/timestamp.c:216
 #, c-format
-msgid "TIMESTAMP WITH TIME ZONE '%s' not parsed; internal coding error"
+msgid "Timestamp with time zone '%s' not parsed; internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:248
+#: ../utils/adt/timestamp.c:245
 msgid "Unable to format timestamp with time zone; internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:308 ../utils/adt/timestamp.c:316
+#: ../utils/adt/timestamp.c:300 ../utils/adt/timestamp.c:308
 #, c-format
 msgid "Bad interval external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:321
+#: ../utils/adt/timestamp.c:312
 #, c-format
 msgid "Interval '%s' no longer supported"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:325
+#: ../utils/adt/timestamp.c:316
 #, c-format
 msgid "Interval '%s' not parsed; internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:345
+#: ../utils/adt/timestamp.c:336
 msgid "Unable to encode interval; internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:348
+#: ../utils/adt/timestamp.c:339
 msgid "Unable to format interval; internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:470
-msgid "AdjustIntervalForTypmod(): internal coding error"
-msgstr ""
-
-#: ../utils/adt/timestamp.c:1194
+#: ../utils/adt/timestamp.c:1015
 msgid "Unable to subtract non-finite timestamps"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1252
+#: ../utils/adt/timestamp.c:1075
 msgid ""
-"Unable to add TIMESTAMP and INTERVAL\n"
+"Unable to add timestamp and interval\n"
 "\ttimestamp_pl_span() internal error encoding timestamp"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1259
+#: ../utils/adt/timestamp.c:1082
 msgid ""
-"Unable to add TIMESTAMP and INTERVAL\n"
+"Unable to add timestamp and interval\n"
 "\ttimestamp_pl_span() internal error decoding timestamp"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1342
+#: ../utils/adt/timestamp.c:1167
 msgid ""
-"Unable to add TIMESTAMP and INTERVAL\n"
+"Unable to add timestamp and interval\n"
 "\ttimestamptz_pl_span() internal error encoding timestamp"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1347
+#: ../utils/adt/timestamp.c:1172
 msgid ""
-"Unable to add TIMESTAMP and INTERVAL\n"
+"Unable to add timestamp and interval\n"
 "\ttimestamptz_pl_span() internal error decoding timestamp"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1529
+#: ../utils/adt/timestamp.c:1354
 msgid "interval_div: divide by 0.0 error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1566
+#: ../utils/adt/timestamp.c:1391
 msgid "interval_accum: expected 2-element interval array"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1608
+#: ../utils/adt/timestamp.c:1430
 msgid "interval_avg: expected 2-element interval array"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1730
+#: ../utils/adt/timestamp.c:1549
 msgid ""
-"Unable to encode INTERVAL\n"
+"Unable to encode interval\n"
 "\ttimestamp_age() internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1734
+#: ../utils/adt/timestamp.c:1553
 msgid ""
-"Unable to decode TIMESTAMP\n"
+"Unable to decode timestamp\n"
 "\ttimestamp_age() internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1839 ../utils/adt/timestamp.c:1842
-msgid "Unable to decode TIMESTAMP"
-msgstr ""
-
-#: ../utils/adt/timestamp.c:1895
-msgid "TIMESTAMP bad external representation (too long)"
+#: ../utils/adt/timestamp.c:1658 ../utils/adt/timestamp.c:1661
+msgid "Unable to decode timestamp"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1951
-msgid "TIMESTAMP WITH TIME ZONE bad external representation (too long)"
+#: ../utils/adt/timestamp.c:1714
+msgid "Bad timestamp external representation (too long)"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2008
-msgid "INTERVAL bad external representation (too long)"
+#: ../utils/adt/timestamp.c:1770
+msgid "Bad timestamp with time zone external representation (too long)"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2041 ../utils/adt/timestamp.c:2099
-#: ../utils/adt/timestamp.c:2388 ../utils/adt/timestamp.c:2503
-#, c-format
-msgid "TIMESTAMP units '%s' not recognized"
+#: ../utils/adt/timestamp.c:1827
+msgid "Bad interval external representation (too long)"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2090 ../utils/adt/timestamp.c:2468
-#: ../utils/adt/timestamp.c:2496
+#: ../utils/adt/timestamp.c:1857 ../utils/adt/timestamp.c:1944
+#: ../utils/adt/timestamp.c:2033 ../utils/adt/timestamp.c:2096
+#: ../utils/adt/timestamp.c:2205 ../utils/adt/timestamp.c:2349
+#: ../utils/adt/timestamp.c:2502 ../utils/adt/timestamp.c:2595
 #, c-format
-msgid "TIMESTAMP units '%s' not supported"
+msgid "Interval units '%s' not recognized"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2095
+#: ../utils/adt/timestamp.c:1906 ../utils/adt/timestamp.c:1993
+#: ../utils/adt/timestamp.c:2284 ../utils/adt/timestamp.c:2312
 #, c-format
-msgid "Unable to truncate TIMESTAMP to '%s'"
-msgstr ""
+msgid "Timestamp units '%s' not supported"
+msgstr "²»Ö§³Öµ¥Î»Îª '%s' µÄ Timestamp"
 
-#: ../utils/adt/timestamp.c:2128 ../utils/adt/timestamp.c:2187
-#: ../utils/adt/timestamp.c:2533 ../utils/adt/timestamp.c:2658
+#: ../utils/adt/timestamp.c:1911 ../utils/adt/timestamp.c:2000
 #, c-format
-msgid "TIMESTAMP WITH TIME ZONE units '%s' not recognized"
+msgid "Unable to truncate timestamp to '%s'"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2176 ../utils/adt/timestamp.c:2623
-#: ../utils/adt/timestamp.c:2652
+#: ../utils/adt/timestamp.c:1915 ../utils/adt/timestamp.c:2004
+#: ../utils/adt/timestamp.c:2319
 #, c-format
-msgid "TIMESTAMP WITH TIME ZONE units '%s' not supported"
+msgid "Timestamp units '%s' not recognized"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2183
+#: ../utils/adt/timestamp.c:2081 ../utils/adt/timestamp.c:2570
 #, c-format
-msgid "Unable to truncate TIMESTAMP WITH TIME ZONE to '%s'"
-msgstr ""
+msgid "Interval units '%s' not supported"
+msgstr "²»Ö§³Öµ¥Î»Îª '%s' µÄʱ¼ä¼ä¸ô"
 
-#: ../utils/adt/timestamp.c:2216 ../utils/adt/timestamp.c:2279
-#: ../utils/adt/timestamp.c:2686 ../utils/adt/timestamp.c:2779
+#: ../utils/adt/timestamp.c:2085
 #, c-format
-msgid "INTERVAL units '%s' not recognized"
+msgid "Unable to truncate interval to '%s'"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2264 ../utils/adt/timestamp.c:2754
-#, c-format
-msgid "INTERVAL units '%s' not supported"
+#: ../utils/adt/timestamp.c:2090
+msgid "Unable to decode interval; internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2268
-#, c-format
-msgid "Unable to truncate INTERVAL to '%s'"
+#: ../utils/adt/timestamp.c:2118
+msgid "isoweek2date(): can't convert without year information"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2273
-msgid "Unable to decode INTERVAL; internal coding error"
+#: ../utils/adt/timestamp.c:2298 ../utils/adt/timestamp.c:2305
+msgid "Unable to encode timestamp"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2301
-msgid "isoweek2date(): can't convert without year information"
+#: ../utils/adt/timestamp.c:2439 ../utils/adt/timestamp.c:2468
+#, c-format
+msgid "Timestamp with time zone units '%s' not supported"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2482 ../utils/adt/timestamp.c:2489
-msgid "Unable to encode TIMESTAMP"
+#: ../utils/adt/timestamp.c:2454 ../utils/adt/timestamp.c:2461
+msgid "Unable to encode timestamp with time zone"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2638 ../utils/adt/timestamp.c:2645
-msgid "Unable to encode TIMESTAMP WITH TIME ZONE"
+#: ../utils/adt/timestamp.c:2474
+#, c-format
+msgid "Timestamp with time zone units '%s' not recognized"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2763
+#: ../utils/adt/timestamp.c:2579
 msgid ""
-"Unable to decode INTERVAL\n"
+"Unable to decode interval\n"
 "\tinterval_part() internal coding error"
 msgstr ""
 
-#: ../utils/adt/date.c:1585 ../utils/adt/date.c:1609
-#: ../utils/adt/timestamp.c:2807 ../utils/adt/timestamp.c:2829
-#: ../utils/adt/timestamp.c:2945 ../utils/adt/timestamp.c:2988
+#: ../utils/adt/date.c:1480 ../utils/adt/date.c:1504
+#: ../utils/adt/timestamp.c:2623 ../utils/adt/timestamp.c:2645
+#: ../utils/adt/timestamp.c:2765 ../utils/adt/timestamp.c:2808
 #, c-format
 msgid "Time zone '%s' not recognized"
 msgstr ""
 
-#: ../utils/adt/date.c:1629 ../utils/adt/timestamp.c:2852
-#: ../utils/adt/timestamp.c:3018
+#: ../utils/adt/date.c:1524 ../utils/adt/timestamp.c:2668
+#: ../utils/adt/timestamp.c:2838
 #, c-format
 msgid "INTERVAL time zone '%s' not legal (month specified)"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2880
-msgid "Unable to convert TIMESTAMP to TIMESTAMP WITH TIME ZONE (tm)"
+#: ../utils/adt/timestamp.c:2698
+msgid "Unable to convert timestamp to timestamp with time zone (tm)"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2885
-msgid "Unable to convert TIMESTAMP to TIMESTAMP WITH TIME ZONE"
+#: ../utils/adt/timestamp.c:2703
+msgid "Unable to convert timestamp to timestamp with time zone"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2910
-msgid "Unable to convert TIMESTAMP WITH TIME ZONE to TIMESTAMP (tm)"
+#: ../utils/adt/timestamp.c:2730
+msgid "Unable to convert timestamp with time zone to timestamp (tm)"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2913
-msgid "Unable to convert TIMESTAMP WITH TIME ZONE to TIMESTAMP"
+#: ../utils/adt/timestamp.c:2733
+msgid "Unable to convert timestamp with time zone to timestamp"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2967
+#: ../utils/adt/timestamp.c:2787
 msgid ""
-"Unable to decode TIMESTAMP WITH TIME ZONE\n"
-"\ttimestamptz_zone() internal coding error"
+"Unable to decode timestamp\n"
+"\ttimestamp_zone() internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:3028
+#: ../utils/adt/timestamp.c:2848
 msgid ""
-"Unable to decode TIMESTAMP WITH TIME ZONE\n"
-"\ttimestamptz_izone() internal coding error"
+"Unable to decode timestamp\n"
+"\ttimestamp_izone() internal coding error"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:370 ../utils/adt/nabstime.c:403
+#: ../utils/adt/nabstime.c:343 ../utils/adt/nabstime.c:358
 #, c-format
 msgid "Invalid timezone '%s'"
 msgstr "ÎÞЧʱÇø '%s'"
 
-#: ../utils/adt/nabstime.c:507
+#: ../utils/adt/nabstime.c:440
 #, c-format
 msgid "Bad (length) abstime external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:511
+#: ../utils/adt/nabstime.c:444
 #, c-format
 msgid "Bad abstime external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:541
+#: ../utils/adt/nabstime.c:471
 #, c-format
 msgid "Bad abstime (internal coding error) '%s'"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:732 ../utils/adt/nabstime.c:798
+#: ../utils/adt/nabstime.c:661 ../utils/adt/nabstime.c:726
 msgid "Unable to convert timestamp to abstime"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:756
+#: ../utils/adt/nabstime.c:684
 msgid "Unable to convert abstime 'invalid' to timestamp"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:817
+#: ../utils/adt/nabstime.c:745
 msgid "Unable to convert abstime 'invalid' to timestamptz"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:860
+#: ../utils/adt/nabstime.c:788
 #, c-format
 msgid "Bad (length) reltime external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:864
+#: ../utils/adt/nabstime.c:792
 #, c-format
 msgid "Bad reltime external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:874
+#: ../utils/adt/nabstime.c:802
 #, c-format
 msgid "Bad reltime (internal coding error) '%s'"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:932
+#: ../utils/adt/nabstime.c:860
 #, c-format
 msgid "Unable to decode tinterval '%s'"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:1033
+#: ../utils/adt/nabstime.c:961
 msgid "Unable to convert reltime 'invalid' to interval"
 msgstr ""
 
@@ -1381,30 +1371,30 @@ msgstr ""
 msgid "aclitemout: bad ai_idtype: %d"
 msgstr ""
 
-#: ../utils/adt/acl.c:450
+#: ../utils/adt/acl.c:448
 msgid "aclinsert3: insertion before world ACL??"
 msgstr ""
 
-#: ../utils/adt/acl.c:559
+#: ../utils/adt/acl.c:557
 msgid "aclremove: removal of the world ACL??"
 msgstr ""
 
-#: ../utils/adt/acl.c:830 ../utils/adt/acl.c:901 ../utils/adt/acl.c:1026
+#: ../utils/adt/acl.c:828 ../utils/adt/acl.c:899 ../utils/adt/acl.c:1023
 #, c-format
 msgid "has_table_privilege: invalid relation oid %u"
 msgstr ""
 
-#: ../utils/adt/acl.c:962
+#: ../utils/adt/acl.c:960
 #, c-format
 msgid "has_table_privilege: invalid privilege type %s"
 msgstr ""
 
-#: ../utils/adt/acl.c:1064
+#: ../utils/adt/acl.c:1062
 #, c-format
 msgid "has_table_privilege: relation \"%s\" does not exist"
 msgstr ""
 
-#: ../utils/adt/like.c:493 ../utils/adt/like_match.c:288
+#: ../utils/adt/like.c:495 ../utils/adt/like_match.c:294
 msgid "ESCAPE string must be empty or one character"
 msgstr ""
 
@@ -1460,526 +1450,526 @@ msgstr ""
 msgid "invalid tid format: '%s'"
 msgstr "ÎÞЧ tid ¸ñʽ: '%s'"
 
-#: ../utils/adt/tid.c:181
+#: ../utils/adt/tid.c:182
 #, c-format
 msgid "Relation %s not found"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:175
+#: ../utils/adt/ri_triggers.c:185
 msgid "RI_FKey_check() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:178
+#: ../utils/adt/ri_triggers.c:188
 msgid "RI_FKey_check() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:181
+#: ../utils/adt/ri_triggers.c:191
 msgid "RI_FKey_check() must be fired for INSERT or UPDATE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:189
+#: ../utils/adt/ri_triggers.c:199
 msgid "wrong # of arguments in call to RI_FKey_check()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:191
+#: ../utils/adt/ri_triggers.c:201
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_check()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:254 ../utils/adt/ri_triggers.c:365
+#: ../utils/adt/ri_triggers.c:264 ../utils/adt/ri_triggers.c:375
 msgid "SPI_connect() failed in RI_FKey_check()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:261 ../utils/adt/ri_triggers.c:443
+#: ../utils/adt/ri_triggers.c:271 ../utils/adt/ri_triggers.c:454
 msgid "SPI_execp() failed in RI_FKey_check()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:266
+#: ../utils/adt/ri_triggers.c:276
 #, c-format
 msgid "%s referential integrity violation - no rows found in %s"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:272 ../utils/adt/ri_triggers.c:455
+#: ../utils/adt/ri_triggers.c:282 ../utils/adt/ri_triggers.c:466
 msgid "SPI_finish() failed in RI_FKey_check()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:282 ../utils/adt/ri_triggers.c:686
-#: ../utils/adt/ri_triggers.c:900 ../utils/adt/ri_triggers.c:1093
-#: ../utils/adt/ri_triggers.c:1317 ../utils/adt/ri_triggers.c:1528
-#: ../utils/adt/ri_triggers.c:1750 ../utils/adt/ri_triggers.c:1954
-#: ../utils/adt/ri_triggers.c:2207 ../utils/adt/ri_triggers.c:2456
-#: ../utils/adt/ri_triggers.c:2732 ../utils/adt/ri_triggers.c:2813
+#: ../utils/adt/ri_triggers.c:292 ../utils/adt/ri_triggers.c:697
+#: ../utils/adt/ri_triggers.c:911 ../utils/adt/ri_triggers.c:1104
+#: ../utils/adt/ri_triggers.c:1328 ../utils/adt/ri_triggers.c:1539
+#: ../utils/adt/ri_triggers.c:1761 ../utils/adt/ri_triggers.c:1965
+#: ../utils/adt/ri_triggers.c:2219 ../utils/adt/ri_triggers.c:2470
+#: ../utils/adt/ri_triggers.c:2750 ../utils/adt/ri_triggers.c:2832
 msgid "MATCH PARTIAL not yet supported"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:318
+#: ../utils/adt/ri_triggers.c:328
 #, c-format
 msgid ""
 "%s referential integrity violation - MATCH FULL doesn't allow mixing of NULL "
 "and NON-NULL key values"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:342
+#: ../utils/adt/ri_triggers.c:352
 msgid "MATCH PARTIAL not yet implemented"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:448
+#: ../utils/adt/ri_triggers.c:459
 #, c-format
 msgid ""
 "%s referential integrity violation - key referenced from %s not found in %s"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:462
+#: ../utils/adt/ri_triggers.c:473
 msgid "internal error #1 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:527
+#: ../utils/adt/ri_triggers.c:538
 msgid "RI_FKey_noaction_del() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:530
+#: ../utils/adt/ri_triggers.c:541
 msgid "RI_FKey_noaction_del() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:532
+#: ../utils/adt/ri_triggers.c:543
 msgid "RI_FKey_noaction_del() must be fired for DELETE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:540
+#: ../utils/adt/ri_triggers.c:551
 msgid "wrong # of arguments in call to RI_FKey_noaction_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:542
+#: ../utils/adt/ri_triggers.c:553
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_noaction_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:597
+#: ../utils/adt/ri_triggers.c:608
 msgid "SPI_connect() failed in RI_FKey_noaction_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:666
+#: ../utils/adt/ri_triggers.c:677
 msgid "SPI_execp() failed in RI_FKey_noaction_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:671 ../utils/adt/ri_triggers.c:885
-#: ../utils/adt/ri_triggers.c:1513 ../utils/adt/ri_triggers.c:1735
+#: ../utils/adt/ri_triggers.c:682 ../utils/adt/ri_triggers.c:896
+#: ../utils/adt/ri_triggers.c:1524 ../utils/adt/ri_triggers.c:1746
 #, c-format
 msgid "%s referential integrity violation - key in %s still referenced from %s"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:678
+#: ../utils/adt/ri_triggers.c:689
 msgid "SPI_finish() failed in RI_FKey_noaction_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:693
+#: ../utils/adt/ri_triggers.c:704
 msgid "internal error #2 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:733
+#: ../utils/adt/ri_triggers.c:744
 msgid "RI_FKey_noaction_upd() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:736
+#: ../utils/adt/ri_triggers.c:747
 msgid "RI_FKey_noaction_upd() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:738
+#: ../utils/adt/ri_triggers.c:749
 msgid "RI_FKey_noaction_upd() must be fired for UPDATE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:746
+#: ../utils/adt/ri_triggers.c:757
 msgid "wrong # of arguments in call to RI_FKey_noaction_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:748
+#: ../utils/adt/ri_triggers.c:759
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_noaction_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:811
+#: ../utils/adt/ri_triggers.c:822
 msgid "SPI_connect() failed in RI_FKey_noaction_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:880
+#: ../utils/adt/ri_triggers.c:891
 msgid "SPI_execp() failed in RI_FKey_noaction_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:892
+#: ../utils/adt/ri_triggers.c:903
 msgid "SPI_finish() failed in RI_FKey_noaction_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:907
+#: ../utils/adt/ri_triggers.c:918
 msgid "internal error #3 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:943
+#: ../utils/adt/ri_triggers.c:954
 msgid "RI_FKey_cascade_del() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:946
+#: ../utils/adt/ri_triggers.c:957
 msgid "RI_FKey_cascade_del() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:948
+#: ../utils/adt/ri_triggers.c:959
 msgid "RI_FKey_cascade_del() must be fired for DELETE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:956
+#: ../utils/adt/ri_triggers.c:967
 msgid "wrong # of arguments in call to RI_FKey_cascade_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:958
+#: ../utils/adt/ri_triggers.c:969
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_cascade_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1014
+#: ../utils/adt/ri_triggers.c:1025
 msgid "SPI_connect() failed in RI_FKey_cascade_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1080
+#: ../utils/adt/ri_triggers.c:1091
 msgid "SPI_execp() failed in RI_FKey_cascade_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1085
+#: ../utils/adt/ri_triggers.c:1096
 msgid "SPI_finish() failed in RI_FKey_cascade_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1100
+#: ../utils/adt/ri_triggers.c:1111
 msgid "internal error #4 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1138
+#: ../utils/adt/ri_triggers.c:1149
 msgid "RI_FKey_cascade_upd() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1141
+#: ../utils/adt/ri_triggers.c:1152
 msgid "RI_FKey_cascade_upd() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1143
+#: ../utils/adt/ri_triggers.c:1154
 msgid "RI_FKey_cascade_upd() must be fired for UPDATE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1151
+#: ../utils/adt/ri_triggers.c:1162
 msgid "wrong # of arguments in call to RI_FKey_cascade_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1153
+#: ../utils/adt/ri_triggers.c:1164
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_cascade_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1217
+#: ../utils/adt/ri_triggers.c:1228
 msgid "SPI_connect() failed in RI_FKey_cascade_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1304
+#: ../utils/adt/ri_triggers.c:1315
 msgid "SPI_execp() failed in RI_FKey_cascade_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1309
+#: ../utils/adt/ri_triggers.c:1320
 msgid "SPI_finish() failed in RI_FKey_cascade_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1324
+#: ../utils/adt/ri_triggers.c:1335
 msgid "internal error #5 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1367
+#: ../utils/adt/ri_triggers.c:1378
 msgid "RI_FKey_restrict_del() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1370
+#: ../utils/adt/ri_triggers.c:1381
 msgid "RI_FKey_restrict_del() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1372
+#: ../utils/adt/ri_triggers.c:1383
 msgid "RI_FKey_restrict_del() must be fired for DELETE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1380
+#: ../utils/adt/ri_triggers.c:1391
 msgid "wrong # of arguments in call to RI_FKey_restrict_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1382
+#: ../utils/adt/ri_triggers.c:1393
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_restrict_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1438
+#: ../utils/adt/ri_triggers.c:1449
 msgid "SPI_connect() failed in RI_FKey_restrict_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1508
+#: ../utils/adt/ri_triggers.c:1519
 msgid "SPI_execp() failed in RI_FKey_restrict_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1520
+#: ../utils/adt/ri_triggers.c:1531
 msgid "SPI_finish() failed in RI_FKey_restrict_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1535
+#: ../utils/adt/ri_triggers.c:1546
 msgid "internal error #6 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1579
+#: ../utils/adt/ri_triggers.c:1590
 msgid "RI_FKey_restrict_upd() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1582
+#: ../utils/adt/ri_triggers.c:1593
 msgid "RI_FKey_restrict_upd() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1584
+#: ../utils/adt/ri_triggers.c:1595
 msgid "RI_FKey_restrict_upd() must be fired for UPDATE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1592
+#: ../utils/adt/ri_triggers.c:1603
 msgid "wrong # of arguments in call to RI_FKey_restrict_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1594
+#: ../utils/adt/ri_triggers.c:1605
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_restrict_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1658
+#: ../utils/adt/ri_triggers.c:1669
 msgid "SPI_connect() failed in RI_FKey_restrict_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1730
+#: ../utils/adt/ri_triggers.c:1741
 msgid "SPI_execp() failed in RI_FKey_restrict_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1742
+#: ../utils/adt/ri_triggers.c:1753
 msgid "SPI_finish() failed in RI_FKey_restrict_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1757
+#: ../utils/adt/ri_triggers.c:1768
 msgid "internal error #7 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1793
+#: ../utils/adt/ri_triggers.c:1804
 msgid "RI_FKey_setnull_del() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1796
+#: ../utils/adt/ri_triggers.c:1807
 msgid "RI_FKey_setnull_del() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1798
+#: ../utils/adt/ri_triggers.c:1809
 msgid "RI_FKey_setnull_del() must be fired for DELETE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1806
+#: ../utils/adt/ri_triggers.c:1817
 msgid "wrong # of arguments in call to RI_FKey_setnull_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1808
+#: ../utils/adt/ri_triggers.c:1819
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_setnull_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1864
+#: ../utils/adt/ri_triggers.c:1875
 msgid "SPI_connect() failed in RI_FKey_setnull_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1941
+#: ../utils/adt/ri_triggers.c:1952
 msgid "SPI_execp() failed in RI_FKey_setnull_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1946
+#: ../utils/adt/ri_triggers.c:1957
 msgid "SPI_finish() failed in RI_FKey_setnull_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1961
+#: ../utils/adt/ri_triggers.c:1972
 msgid "internal error #8 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2000
+#: ../utils/adt/ri_triggers.c:2011
 msgid "RI_FKey_setnull_upd() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2003
+#: ../utils/adt/ri_triggers.c:2014
 msgid "RI_FKey_setnull_upd() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2005
+#: ../utils/adt/ri_triggers.c:2016
 msgid "RI_FKey_setnull_upd() must be fired for UPDATE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2013
+#: ../utils/adt/ri_triggers.c:2024
 msgid "wrong # of arguments in call to RI_FKey_setnull_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2015
+#: ../utils/adt/ri_triggers.c:2026
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_setnull_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2081
+#: ../utils/adt/ri_triggers.c:2092
 msgid "SPI_connect() failed in RI_FKey_setnull_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2194
+#: ../utils/adt/ri_triggers.c:2206
 msgid "SPI_execp() failed in RI_FKey_setnull_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2199
+#: ../utils/adt/ri_triggers.c:2211
 msgid "SPI_finish() failed in RI_FKey_setnull_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2214
+#: ../utils/adt/ri_triggers.c:2226
 msgid "internal error #9 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2250
+#: ../utils/adt/ri_triggers.c:2262
 msgid "RI_FKey_setdefault_del() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2253
+#: ../utils/adt/ri_triggers.c:2265
 msgid "RI_FKey_setdefault_del() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2255
+#: ../utils/adt/ri_triggers.c:2267
 msgid "RI_FKey_setdefault_del() must be fired for DELETE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2263
+#: ../utils/adt/ri_triggers.c:2275
 msgid "wrong # of arguments in call to RI_FKey_setdefault_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2265
+#: ../utils/adt/ri_triggers.c:2277
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_setdefault_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2320
+#: ../utils/adt/ri_triggers.c:2332
 msgid "SPI_connect() failed in RI_FKey_setdefault_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2443
+#: ../utils/adt/ri_triggers.c:2457
 msgid "SPI_execp() failed in RI_FKey_setdefault_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2448
+#: ../utils/adt/ri_triggers.c:2462
 msgid "SPI_finish() failed in RI_FKey_setdefault_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2463
+#: ../utils/adt/ri_triggers.c:2477
 msgid "internal error #10 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2501
+#: ../utils/adt/ri_triggers.c:2515
 msgid "RI_FKey_setdefault_upd() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2504
+#: ../utils/adt/ri_triggers.c:2518
 msgid "RI_FKey_setdefault_upd() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2506
+#: ../utils/adt/ri_triggers.c:2520
 msgid "RI_FKey_setdefault_upd() must be fired for UPDATE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2514
+#: ../utils/adt/ri_triggers.c:2528
 msgid "wrong # of arguments in call to RI_FKey_setdefault_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2516
+#: ../utils/adt/ri_triggers.c:2530
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_setdefault_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2581
+#: ../utils/adt/ri_triggers.c:2595
 msgid "SPI_connect() failed in RI_FKey_setdefault_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2719
+#: ../utils/adt/ri_triggers.c:2737
 msgid "SPI_execp() failed in RI_FKey_setdefault_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2724
+#: ../utils/adt/ri_triggers.c:2742
 msgid "SPI_finish() failed in RI_FKey_setdefault_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2739
+#: ../utils/adt/ri_triggers.c:2757
 msgid "internal error #11 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2770
+#: ../utils/adt/ri_triggers.c:2788
 msgid "wrong # of arguments in call to RI_FKey_keyequal_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2772
+#: ../utils/adt/ri_triggers.c:2790
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_keyequal_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2820
+#: ../utils/adt/ri_triggers.c:2839
 msgid "internal error #12 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2853
+#: ../utils/adt/ri_triggers.c:2872
 #, c-format
 msgid "unrecognized referential integrity MATCH type '%s'"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2903 ../utils/adt/ri_triggers.c:2911
+#: ../utils/adt/ri_triggers.c:2922 ../utils/adt/ri_triggers.c:2930
 #, c-format
 msgid "constraint %s: table %s does not have an attribute %s"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:3040
+#: ../utils/adt/ri_triggers.c:3059
 msgid "out of memory for RI plan cache"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:3234
+#: ../utils/adt/ri_triggers.c:3255
 #, c-format
 msgid "ri_AttributesEqual(): cannot find '=' operator for type %u"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:3252
+#: ../utils/adt/ri_triggers.c:3273
 msgid "out of memory for RI operator cache"
 msgstr ""
 
-#: ../utils/adt/varchar.c:120 ../utils/adt/varchar.c:132
-#: ../utils/adt/varchar.c:232 ../utils/adt/varchar.c:245
+#: ../utils/adt/varchar.c:116 ../utils/adt/varchar.c:126
+#: ../utils/adt/varchar.c:224 ../utils/adt/varchar.c:236
 #, c-format
 msgid "value too long for type character(%d)"
 msgstr ""
 
-#: ../utils/adt/varchar.c:448 ../utils/adt/varchar.c:519
-#: ../utils/adt/varchar.c:527
+#: ../utils/adt/varchar.c:436 ../utils/adt/varchar.c:506
+#: ../utils/adt/varchar.c:514
 #, c-format
 msgid "value too long for type character varying(%d)"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:178
+#: ../utils/adt/ruleutils.c:177
 msgid "get_ruledef: cannot connect to SPI manager"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:193 ../utils/adt/ruleutils.c:286
+#: ../utils/adt/ruleutils.c:192 ../utils/adt/ruleutils.c:285
 #, c-format
 msgid "SPI_prepare() failed for \"%s\""
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:205
+#: ../utils/adt/ruleutils.c:204
 #, c-format
 msgid "failed to get pg_rewrite tuple for %s"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:209 ../utils/adt/ruleutils.c:234
+#: ../utils/adt/ruleutils.c:208 ../utils/adt/ruleutils.c:233
 msgid "get_ruledef: SPI_finish() failed"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:271
+#: ../utils/adt/ruleutils.c:270
 msgid "get_viewdef: cannot connect to SPI manager"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:299
+#: ../utils/adt/ruleutils.c:298
 #, c-format
 msgid "failed to get pg_rewrite tuple for view %s"
 msgstr "ΪÊÓͼ %s »ñÈ¡ pg_rewrite Ôª×éʧ°Ü"
@@ -2003,28 +1993,28 @@ msgstr ""
 msgid "lookup for AM %u failed"
 msgstr ""
 
-#: ../parser/parse_expr.c:902 ../utils/adt/ruleutils.c:447
-#: ../utils/adt/ruleutils.c:2029 ../utils/adt/ruleutils.c:2125
+#: ../parser/parse_expr.c:862 ../utils/adt/ruleutils.c:447
+#: ../utils/adt/ruleutils.c:2029
 #, c-format
 msgid "cache lookup for proc %u failed"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:746
+#: ../utils/adt/ruleutils.c:747
 #, c-format
 msgid "get_ruledef: rule %s has unsupported event type %d"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:930
+#: ../utils/adt/ruleutils.c:931
 #, c-format
 msgid "get_ruledef of %s: query command type %d not implemented yet"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:1150
+#: ../utils/adt/ruleutils.c:1151
 #, c-format
 msgid "get_setop_query: unexpected set op %d"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:1161
+#: ../utils/adt/ruleutils.c:1162
 #, c-format
 msgid "get_setop_query: unexpected node %d"
 msgstr ""
@@ -2066,8 +2056,8 @@ msgstr ""
 msgid "get_rule_expr: expr opType %d not supported"
 msgstr ""
 
-#: ../commands/analyze.c:417 ../utils/adt/ruleutils.c:1867
-#: ../utils/adt/ruleutils.c:1894 ../utils/adt/ruleutils.c:2216
+#: ../commands/analyze.c:411 ../utils/adt/ruleutils.c:1867
+#: ../utils/adt/ruleutils.c:1894 ../utils/adt/ruleutils.c:2162
 #, c-format
 msgid "cache lookup of type %u failed"
 msgstr ""
@@ -2092,92 +2082,83 @@ msgstr ""
 msgid "get_ruledef of %s: unknown node type %d in get_rule_expr()"
 msgstr ""
 
-#: ../parser/parse_expr.c:927 ../utils/adt/ruleutils.c:2139
-#, c-format
-msgid "cache lookup for type %u failed"
-msgstr ""
-
-#: ../utils/adt/ruleutils.c:2359
+#: ../utils/adt/ruleutils.c:2306
 #, c-format
 msgid "get_sublink_expr: unsupported sublink type %d"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:2503
+#: ../utils/adt/ruleutils.c:2450
 #, c-format
 msgid "get_from_clause_item: unknown join type %d"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:2554
+#: ../utils/adt/ruleutils.c:2501
 #, c-format
 msgid "get_from_clause_item: unexpected node type %d"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:2581 ../utils/cache/lsyscache.c:275
+#: ../utils/adt/ruleutils.c:2528 ../utils/cache/lsyscache.c:275
 #, c-format
 msgid "cache lookup failed for opclass %u"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:2611
+#: ../utils/adt/ruleutils.c:2558
 msgid "tleIsArrayAssign: I'm confused ..."
 msgstr ""
 
-#: ../catalog/heap.c:1857 ../catalog/heap.c:2044 ../utils/adt/ruleutils.c:2692
+#: ../catalog/heap.c:1826 ../catalog/heap.c:2007 ../utils/adt/ruleutils.c:2641
 #, c-format
 msgid "cache lookup of relation %u failed"
 msgstr ""
 
-#: ../catalog/heap.c:1448 ../parser/parse_relation.c:923
-#: ../utils/adt/ruleutils.c:2716
+#: ../catalog/heap.c:1426 ../parser/parse_relation.c:959
+#: ../utils/adt/ruleutils.c:2665
 #, c-format
 msgid "cache lookup of attribute %d in relation %u failed"
 msgstr ""
 
-#: ../utils/adt/encode.c:53 ../utils/adt/encode.c:87
+#: ../utils/adt/encode.c:51 ../utils/adt/encode.c:83
 #, c-format
 msgid "No such encoding as '%s'"
 msgstr ""
 
-#: ../utils/adt/encode.c:62
+#: ../utils/adt/encode.c:60
 msgid "Overflow - encode estimate too small"
 msgstr ""
 
-#: ../utils/adt/encode.c:96
+#: ../utils/adt/encode.c:92
 msgid "Overflow - decode estimate too small"
 msgstr ""
 
-#: ../utils/adt/encode.c:144
+#: ../utils/adt/encode.c:140
 #, c-format
 msgid "Bad hex code: '%c'"
 msgstr ""
 
-#: ../utils/adt/encode.c:170
+#: ../utils/adt/encode.c:166
 msgid "hex_decode: invalid data"
 msgstr ""
 
-#: ../utils/adt/encode.c:284
+#: ../utils/adt/encode.c:280
 msgid "base64: unexpected '='"
 msgstr ""
 
-#: ../utils/adt/encode.c:294
+#: ../utils/adt/encode.c:289
 msgid "base64: Invalid symbol"
 msgstr ""
 
-#: ../utils/adt/encode.c:312
+#: ../utils/adt/encode.c:307
 msgid "base64: invalid end sequence"
 msgstr ""
 
-#: ../utils/adt/encode.c:419 ../utils/adt/encode.c:482
+#: ../utils/adt/encode.c:416 ../utils/adt/encode.c:481
 msgid "decode: Bad input string for type bytea"
 msgstr ""
 
-#: ../utils/adt/datetime.c:1069 ../utils/adt/datetime.c:1450
-msgid "'CURRENT' is no longer supported"
-msgstr ""
-
-#: ../utils/adt/datetime.c:1228 ../utils/adt/datetime.c:1685
-#: ../utils/adt/formatting.c:3053
+#: ../utils/adt/datetime.c:927 ../utils/adt/datetime.c:1379
+#: ../utils/adt/formatting.c:3041
 #, c-format
-msgid "Inconsistent use of year %04d and 'BC'"
+msgid "Inconsistant use of year %04d and 'BC'"
 msgstr ""
 
 #: ../utils/adt/numutils.c:61
@@ -2202,180 +2183,185 @@ msgstr ""
 msgid "pg_atoi: invalid result size: %d"
 msgstr "pg_atoi: ·Ç·¨µÄ½á¹û³ß´ç: %d"
 
-#: ../utils/adt/varlena.c:71 ../utils/adt/varlena.c:109
+#: ../utils/adt/varlena.c:77 ../utils/adt/varlena.c:117
 msgid "Bad input string for type bytea"
 msgstr ""
 
-#: ../utils/adt/varlena.c:842
+#: ../utils/adt/varlena.c:867
 #, c-format
 msgid "byteaGetByte: index %d out of range [0..%d]"
 msgstr ""
 
-#: ../utils/adt/varlena.c:871
+#: ../utils/adt/varlena.c:896
 #, c-format
 msgid "byteaGetBit: index %d out of range [0..%d]"
 msgstr ""
 
-#: ../utils/adt/varlena.c:905
+#: ../utils/adt/varlena.c:930
 #, c-format
 msgid "byteaSetByte: index %d out of range [0..%d]"
 msgstr ""
 
-#: ../utils/adt/varlena.c:946
+#: ../utils/adt/varlena.c:971
 #, c-format
 msgid "byteaSetBit: index %d out of range [0..%d]"
 msgstr ""
 
-#: ../utils/adt/varlena.c:956
+#: ../utils/adt/varlena.c:981
 msgid "byteaSetBit: new bit must be 0 or 1"
 msgstr ""
 
-#: ../utils/adt/float.c:147
+#: ../utils/adt/float.c:152
 msgid "Bad float4 input format -- overflow"
 msgstr ""
 
-#: ../utils/adt/float.c:149
+#: ../utils/adt/float.c:154
 msgid "Bad float4 input format -- underflow"
 msgstr ""
 
-#: ../utils/adt/float.c:171
+#: ../utils/adt/float.c:177
 msgid "Bad float8 input format -- overflow"
 msgstr ""
 
-#: ../utils/adt/float.c:173
+#: ../utils/adt/float.c:179
 msgid "Bad float8 input format -- underflow"
 msgstr ""
 
-#: ../utils/adt/float.c:204
+#: ../utils/adt/float.c:210
 #, c-format
 msgid "Bad float4 input format '%s'"
 msgstr ""
 
-#: ../utils/adt/float.c:209
+#: ../utils/adt/float.c:215
 #, c-format
 msgid "Input '%s' is out of range for float4"
 msgstr ""
 
-#: ../utils/adt/float.c:274
+#: ../utils/adt/float.c:275
+#, c-format
+msgid "Bad float8 input format '%s'"
+msgstr ""
+
+#: ../utils/adt/float.c:280
 #, c-format
 msgid "Input '%s' is out of range for float8"
 msgstr ""
 
-#: ../utils/adt/float.c:493
+#: ../utils/adt/float.c:497
 msgid "float4div: divide by zero error"
 msgstr ""
 
-#: ../utils/adt/float.c:555
+#: ../utils/adt/float.c:559
 msgid "float8div: divide by zero error"
 msgstr ""
 
-#: ../utils/adt/float.c:805
+#: ../utils/adt/float.c:809
 msgid "dtoi4: integer out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:822
+#: ../utils/adt/float.c:826
 msgid "dtoi2: integer out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:867
+#: ../utils/adt/float.c:871
 msgid "ftoi4: integer out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:884
+#: ../utils/adt/float.c:888
 msgid "ftoi2: integer out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1074
+#: ../utils/adt/float.c:1078
 msgid "can't take sqrt of a negative number"
 msgstr ""
 
-#: ../utils/adt/float.c:1118
+#: ../utils/adt/float.c:1122
 msgid "pow() result is out of range"
 msgstr "pow() µÄ½á¹û³¬³ö·¶Î§"
 
-#: ../utils/adt/float.c:1146
+#: ../utils/adt/float.c:1150
 msgid "exp() result is out of range"
 msgstr "exp() µÄ½á¹û³¬³ö·¶Î§"
 
-#: ../utils/adt/float.c:1164 ../utils/adt/float.c:1185
+#: ../utils/adt/float.c:1168 ../utils/adt/float.c:1189
 msgid "can't take log of zero"
 msgstr ""
 
-#: ../utils/adt/float.c:1166 ../utils/adt/float.c:1187
+#: ../utils/adt/float.c:1170 ../utils/adt/float.c:1191
 msgid "can't take log of a negative number"
 msgstr ""
 
-#: ../utils/adt/float.c:1212
+#: ../utils/adt/float.c:1216
 #, c-format
 msgid "acos(%f) input is out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1235
+#: ../utils/adt/float.c:1239
 #, c-format
 msgid "asin(%f) input is out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1258
+#: ../utils/adt/float.c:1262
 #, c-format
 msgid "atan(%f) input is out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1282
+#: ../utils/adt/float.c:1286
 #, c-format
 msgid "atan2(%f,%f) input is out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1305
+#: ../utils/adt/float.c:1309
 #, c-format
 msgid "cos(%f) input is out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1328
+#: ../utils/adt/float.c:1332
 #, c-format
 msgid "cot(%f) input is out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1352
+#: ../utils/adt/float.c:1356
 #, c-format
 msgid "sin(%f) input is out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1375
+#: ../utils/adt/float.c:1379
 #, c-format
 msgid "tan(%f) input is out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1486
+#: ../utils/adt/float.c:1491
 #, c-format
 msgid "%s: expected 3-element float8 array"
 msgstr ""
 
-#: ../utils/adt/float.c:1681
+#: ../utils/adt/float.c:1686
 msgid "float48div: divide by zero"
 msgstr ""
 
-#: ../utils/adt/float.c:1741
+#: ../utils/adt/float.c:1746
 msgid "float84div: divide by zero"
 msgstr ""
 
-#: ../utils/adt/cash.c:209
+#: ../utils/adt/cash.c:210
 #, c-format
 msgid "Bad money external representation %s"
 msgstr ""
 
-#: ../utils/adt/cash.c:318 ../utils/adt/cash.c:331
+#: ../utils/adt/cash.c:320 ../utils/adt/cash.c:333
 msgid "Memory allocation failed, can't output cash"
 msgstr ""
 
-#: ../utils/adt/cash.c:471 ../utils/adt/cash.c:521
+#: ../utils/adt/cash.c:473 ../utils/adt/cash.c:523
 msgid "cash_div:  divide by 0.0 error"
 msgstr ""
 
-#: ../utils/adt/cash.c:572
+#: ../utils/adt/cash.c:574
 msgid "cash_div_int4: divide by 0 error"
 msgstr ""
 
-#: ../utils/adt/cash.c:622
+#: ../utils/adt/cash.c:624
 msgid "cash_div:  divide by 0 error"
 msgstr ""
 
@@ -2400,8 +2386,8 @@ msgstr ""
 msgid "Unrecognized date external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/date.c:256 ../utils/adt/date.c:325 ../utils/adt/date.c:747
-#: ../utils/adt/date.c:1371
+#: ../utils/adt/date.c:256 ../utils/adt/date.c:325 ../utils/adt/date.c:749
+#: ../utils/adt/date.c:1375
 msgid "Unable to convert timestamp to date"
 msgstr ""
 
@@ -2417,52 +2403,38 @@ msgstr ""
 msgid "Bad date external representation (too long)"
 msgstr ""
 
-#: ../utils/adt/date.c:447 ../utils/adt/date.c:956
+#: ../utils/adt/date.c:446 ../utils/adt/date.c:957
 #, c-format
 msgid "Bad time external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/date.c:915
+#: ../utils/adt/date.c:917
 msgid "Bad time external representation (too long)"
 msgstr ""
 
-#: ../utils/adt/date.c:1443
+#: ../utils/adt/date.c:1447
 msgid "Bad timetz external representation (too long)"
 msgstr ""
 
-#: ../utils/adt/date.c:1474 ../utils/adt/date.c:1557
-#, c-format
-msgid "TIMETZ units '%s' not recognized"
-msgstr ""
-
-#: ../utils/adt/date.c:1547
-#, c-format
-msgid "TIMETZ units '%s' not supported"
-msgstr ""
-
-#: ../utils/adt/int8.c:98 ../utils/adt/int8.c:108
+#: ../utils/adt/int8.c:77 ../utils/adt/int8.c:87
 #, c-format
 msgid "Bad int8 external representation \"%s\""
 msgstr ""
 
-#: ../utils/adt/int8.c:104
+#: ../utils/adt/int8.c:83
 #, c-format
 msgid "int8 value out of range: \"%s\""
 msgstr ""
 
-#: ../utils/adt/int8.c:127
+#: ../utils/adt/int8.c:106
 msgid "Unable to format int8"
 msgstr ""
 
-#: ../utils/adt/int8.c:716
+#: ../utils/adt/int8.c:695
 msgid "int8 conversion to int4 is out of range"
 msgstr ""
 
-#: ../utils/adt/int8.c:739
-msgid "int8 conversion to int2 is out of range"
-msgstr ""
-
-#: ../utils/adt/int8.c:775
+#: ../utils/adt/int8.c:731
 msgid "Floating point conversion to int8 is out of range"
 msgstr ""
 
@@ -2475,78 +2447,78 @@ msgstr ""
 msgid "Bad box external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:824
+#: ../utils/adt/geo_ops.c:825
 #, c-format
 msgid "Bad line external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:829 ../utils/adt/geo_ops.c:892
+#: ../utils/adt/geo_ops.c:830 ../utils/adt/geo_ops.c:894
 msgid "line not yet implemented"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:1219 ../utils/adt/geo_ops.c:1240
+#: ../utils/adt/geo_ops.c:1221 ../utils/adt/geo_ops.c:1242
 #, c-format
 msgid "Bad path external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:1556
+#: ../utils/adt/geo_ops.c:1499
 #, c-format
 msgid "Bad point external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:1752
+#: ../utils/adt/geo_ops.c:1695
 #, c-format
 msgid "Bad lseg external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:2312
+#: ../utils/adt/geo_ops.c:2240
 msgid "dist_lb not implemented"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:2834
+#: ../utils/adt/geo_ops.c:2763
 msgid "close_lb not implemented"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:3111
+#: ../utils/adt/geo_ops.c:3042
 msgid "Unable to create bounding box for empty polygon"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:3133 ../utils/adt/geo_ops.c:3144
+#: ../utils/adt/geo_ops.c:3064 ../utils/adt/geo_ops.c:3075
 #, c-format
 msgid "Bad polygon external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:3432
+#: ../utils/adt/geo_ops.c:3364
 msgid "poly_distance not implemented"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:3511
+#: ../utils/adt/geo_ops.c:3443
 msgid "point_div:  divide by 0.0 error"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:3738
+#: ../utils/adt/geo_ops.c:3671
 msgid "path_center not implemented"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:3753
+#: ../utils/adt/geo_ops.c:3686
 msgid "Open path cannot be converted to polygon"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:3919 ../utils/adt/geo_ops.c:3927
-#: ../utils/adt/geo_ops.c:3940 ../utils/adt/geo_ops.c:3944
+#: ../utils/adt/geo_ops.c:3852 ../utils/adt/geo_ops.c:3860
+#: ../utils/adt/geo_ops.c:3873 ../utils/adt/geo_ops.c:3877
 #, c-format
 msgid "Bad circle external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:3964 ../utils/adt/geo_ops.c:3970
+#: ../utils/adt/geo_ops.c:3897 ../utils/adt/geo_ops.c:3903
 msgid "Unable to format circle"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:4450
+#: ../utils/adt/geo_ops.c:4383
 msgid "Unable to convert circle to polygon"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:4484 ../utils/adt/geo_ops.c:4505
+#: ../utils/adt/geo_ops.c:4417 ../utils/adt/geo_ops.c:4438
 msgid "Unable to convert polygon to circle"
 msgstr ""
 
@@ -2560,15 +2532,15 @@ msgstr "%s 
 msgid "invalid CIDR value '%s': has bits set to right of mask"
 msgstr ""
 
-#: ../utils/adt/network.c:129 ../utils/adt/network.c:470
+#: ../utils/adt/network.c:129 ../utils/adt/network.c:471
 #, c-format
 msgid "unable to print address (%s)"
 msgstr ""
 
-#: ../utils/adt/network.c:139 ../utils/adt/network.c:403
-#: ../utils/adt/network.c:440 ../utils/adt/network.c:474
-#: ../utils/adt/network.c:520 ../utils/adt/network.c:560
-#: ../utils/adt/network.c:602 ../utils/adt/network.c:638
+#: ../utils/adt/network.c:139 ../utils/adt/network.c:404
+#: ../utils/adt/network.c:441 ../utils/adt/network.c:475
+#: ../utils/adt/network.c:521 ../utils/adt/network.c:561
+#: ../utils/adt/network.c:603 ../utils/adt/network.c:639
 #, c-format
 msgid "unknown address family (%d)"
 msgstr ""
@@ -2578,19 +2550,19 @@ msgstr ""
 msgid "set_masklen - invalid value '%d'"
 msgstr ""
 
-#: ../utils/adt/network.c:227 ../utils/adt/network.c:316
-#: ../utils/adt/network.c:336 ../utils/adt/network.c:356
-#: ../utils/adt/network.c:376
+#: ../utils/adt/network.c:228 ../utils/adt/network.c:317
+#: ../utils/adt/network.c:337 ../utils/adt/network.c:357
+#: ../utils/adt/network.c:377
 #, c-format
 msgid "cannot compare address families %d and %d"
 msgstr "ÎÞ·¨±È½ÏµØÖ·×å %d ºÍ %d"
 
-#: ../utils/adt/network.c:399 ../utils/adt/network.c:430
+#: ../utils/adt/network.c:400 ../utils/adt/network.c:431
 #, c-format
 msgid "unable to print host (%s)"
 msgstr ""
 
-#: ../utils/adt/network.c:657
+#: ../utils/adt/network.c:658
 #, c-format
 msgid "convert_network_to_scalar: unsupported type %u"
 msgstr ""
@@ -2600,75 +2572,75 @@ msgstr ""
 msgid "SetDefine: unable to define set %s"
 msgstr ""
 
-#: ../executor/execQual.c:681 ../executor/execQual.c:716
-#: ../executor/execQual.c:1707 ../executor/functions.c:546
-#: ../executor/functions.c:572 ../utils/adt/sets.c:203
+#: ../executor/execQual.c:684 ../executor/execQual.c:719
+#: ../executor/execQual.c:1710 ../executor/functions.c:552
+#: ../executor/functions.c:578 ../utils/adt/sets.c:203
 msgid "Set-valued function called in context that cannot accept a set"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:842
+#: ../utils/adt/selfuncs.c:820
 #, c-format
 msgid "patternsel: no = operator for type %u"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:1026 ../utils/adt/selfuncs.c:1103
-#: ../utils/adt/selfuncs.c:1144 ../utils/adt/selfuncs.c:1174
+#: ../utils/adt/selfuncs.c:1004 ../utils/adt/selfuncs.c:1081
+#: ../utils/adt/selfuncs.c:1121 ../utils/adt/selfuncs.c:1151
 #, c-format
 msgid "booltestsel: unexpected booltesttype %d"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:1215 ../utils/adt/selfuncs.c:1272
+#: ../utils/adt/selfuncs.c:1192 ../utils/adt/selfuncs.c:1247
 #, c-format
 msgid "nulltestsel: unexpected nulltesttype %d"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:1844
+#: ../utils/adt/selfuncs.c:1808
 #, c-format
 msgid "convert_numeric_to_scalar: unsupported type %u"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:2034
+#: ../utils/adt/selfuncs.c:1999
 #, c-format
 msgid "convert_string_datum: unsupported type %u"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:2205
+#: ../utils/adt/selfuncs.c:2170
 #, c-format
 msgid "convert_timevalue_to_scalar: unsupported type %u"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:2598
+#: ../utils/adt/selfuncs.c:2562
 msgid "pattern_fixed_prefix: bogus ptype"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:2627
+#: ../utils/adt/selfuncs.c:2591
 #, c-format
 msgid "prefix_selectivity: no >= operator for type %u"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:2650
+#: ../utils/adt/selfuncs.c:2614
 #, c-format
 msgid "prefix_selectivity: no < operator for type %u"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:2885
+#: ../utils/adt/selfuncs.c:2852
 msgid "pattern_selectivity: bogus ptype"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:2914
+#: ../utils/adt/selfuncs.c:2881
 msgid "Invalid LC_COLLATE setting"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:3037
+#: ../utils/adt/selfuncs.c:3004
 #, c-format
 msgid "string_lessthan: unexpected datatype %u"
 msgstr ""
 
-#: ../utils/adt/ascii.c:33 gram.y:3084 gram.y:3096
+#: ../utils/adt/ascii.c:33 gram.y:3028 gram.y:3040
 msgid "Multi-byte support is not enabled"
 msgstr ""
 
-#: ../utils/adt/ascii.c:107
+#: ../utils/adt/ascii.c:110
 #, c-format
 msgid "pg_to_ascii(): unsupported encoding from %s"
 msgstr ""
@@ -2714,98 +2686,98 @@ msgid ""
 "mon %d\n"
 msgstr ""
 
-#: ../utils/adt/formatting.c:981
+#: ../utils/adt/formatting.c:982
 msgid "to_char/to_number(): '9' must be ahead of 'PR'."
 msgstr ""
 
-#: ../utils/adt/formatting.c:998
+#: ../utils/adt/formatting.c:999
 msgid "to_char/to_number(): '0' must be ahead of 'PR'."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1025
+#: ../utils/adt/formatting.c:1026
 msgid "to_char/to_number(): not unique decimal point."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1030 ../utils/adt/formatting.c:1117
+#: ../utils/adt/formatting.c:1031 ../utils/adt/formatting.c:1118
 msgid "to_char/to_number(): can't use 'V' and decimal poin together."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1043
+#: ../utils/adt/formatting.c:1044
 msgid "to_char/to_number(): not unique 'S'."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1048
+#: ../utils/adt/formatting.c:1049
 msgid "to_char/to_number(): can't use 'S' and 'PL'/'MI'/'SG'/'PR' together."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1070
+#: ../utils/adt/formatting.c:1071
 msgid "to_char/to_number(): can't use 'S' and 'MI' together."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1079
+#: ../utils/adt/formatting.c:1080
 msgid "to_char/to_number(): can't use 'S' and 'PL' together."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1088
+#: ../utils/adt/formatting.c:1089
 msgid "to_char/to_number(): can't use 'S' and 'SG' together."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1098
+#: ../utils/adt/formatting.c:1099
 msgid "to_char/to_number(): can't use 'PR' and 'S'/'PL'/'MI'/'SG' together."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1124
+#: ../utils/adt/formatting.c:1125
 msgid "to_char/to_number(): 'E' is not supported."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1148
+#: ../utils/adt/formatting.c:1149
 msgid "to_char/number(): run parser."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1344
+#: ../utils/adt/formatting.c:1348
 msgid "to_from-char(): DUMP FORMAT"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1349
+#: ../utils/adt/formatting.c:1353
 #, c-format
 msgid "%d:\t NODE_TYPE_ACTION '%s'\t(%s,%s)"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1352
+#: ../utils/adt/formatting.c:1356
 #, c-format
 msgid "%d:\t NODE_TYPE_CHAR '%c'"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1355
+#: ../utils/adt/formatting.c:1359
 #, c-format
 msgid "%d:\t NODE_TYPE_END"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1359
+#: ../utils/adt/formatting.c:1363
 #, c-format
 msgid "%d:\t UnKnown NODE !!!"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1383
+#: ../utils/adt/formatting.c:1388
 #, c-format
 msgid "get_th: '%s' is not number."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1551
+#: ../utils/adt/formatting.c:1556
 msgid "TO-FROM_CHAR: Dump KeyWord Index:"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1557
+#: ../utils/adt/formatting.c:1562
 #, c-format
 msgid "\t%c: %s, "
 msgstr ""
 
-#: ../utils/adt/formatting.c:1563
+#: ../utils/adt/formatting.c:1568
 #, c-format
 msgid "\t(%d) %c %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1566
+#: ../utils/adt/formatting.c:1571
 #, c-format
 msgid ""
 "\n"
@@ -2813,133 +2785,133 @@ msgid ""
 "\t\tFree positions: %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1638
+#: ../utils/adt/formatting.c:1644
 msgid "to_timestamp(): bad AM/PM string"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1974
+#: ../utils/adt/formatting.c:1971
 msgid "to_timestamp(): TZ/tz not supported."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1982
+#: ../utils/adt/formatting.c:1979
 #, c-format
 msgid "to_timestamp(): bad value for %s"
 msgstr ""
 
-#: ../utils/adt/formatting.c:2590 ../utils/adt/formatting.c:3182
+#: ../utils/adt/formatting.c:2585 ../utils/adt/formatting.c:3171
 #, c-format
 msgid "Cache is full (%d)"
 msgstr ""
 
-#: ../utils/adt/formatting.c:2598 ../utils/adt/formatting.c:3199
+#: ../utils/adt/formatting.c:2593 ../utils/adt/formatting.c:3189
 #, c-format
 msgid "OLD: '%s' AGE: %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:2609 ../utils/adt/formatting.c:3211
+#: ../utils/adt/formatting.c:2604 ../utils/adt/formatting.c:3201
 #, c-format
 msgid "NEW (%d)"
 msgstr ""
 
-#: ../utils/adt/formatting.c:2774 ../utils/adt/formatting.c:2800
+#: ../utils/adt/formatting.c:2766 ../utils/adt/formatting.c:2790
 msgid "to_char(): Unable to convert timestamp to tm"
 msgstr ""
 
-#: ../utils/adt/formatting.c:2976
+#: ../utils/adt/formatting.c:2963
 msgid "to_timestamp(): AM/PM hour must be between 1 and 12"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3085
+#: ../utils/adt/formatting.c:3073
 msgid "to_timestamp() cat't convert yday without year information"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3113
+#: ../utils/adt/formatting.c:3101
 msgid "to_timestamp(): can't convert 'tm' to timestamp."
 msgstr ""
 
-#: ../utils/adt/formatting.c:3261
+#: ../utils/adt/formatting.c:3251
 #, c-format
 msgid "REMOVING ENTRY (%s)"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3493
+#: ../utils/adt/formatting.c:3485
 msgid "CALL: get_last_relevant_decnum()"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3518
+#: ../utils/adt/formatting.c:3510
 msgid " --- scan start --- "
 msgstr ""
 
-#: ../utils/adt/formatting.c:3539
+#: ../utils/adt/formatting.c:3531
 #, c-format
 msgid "Try read sign (%c)."
 msgstr ""
 
-#: ../utils/adt/formatting.c:3551
+#: ../utils/adt/formatting.c:3543
 #, c-format
 msgid "Try read locale sign (%c)."
 msgstr ""
 
-#: ../utils/adt/formatting.c:3570
+#: ../utils/adt/formatting.c:3562
 #, c-format
 msgid "Try read sipmle sign (%c)."
 msgstr ""
 
-#: ../utils/adt/formatting.c:3611
+#: ../utils/adt/formatting.c:3603
 #, c-format
 msgid "Read digit (%c)."
 msgstr ""
 
-#: ../utils/adt/formatting.c:3622
+#: ../utils/adt/formatting.c:3614
 #, c-format
 msgid "Try read decimal point (%c)."
 msgstr ""
 
-#: ../utils/adt/formatting.c:3637
+#: ../utils/adt/formatting.c:3629
 #, c-format
 msgid "Try read locale point (%c)."
 msgstr ""
 
-#: ../utils/adt/formatting.c:3670
+#: ../utils/adt/formatting.c:3662
 #, c-format
 msgid "SIGN_WROTE: %d, CURRENT: %d, NUMBER_P: '%s', INOUT: '%s'"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3685
+#: ../utils/adt/formatting.c:3677
 #, c-format
 msgid "Writing sign to position: %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3727
+#: ../utils/adt/formatting.c:3721
 #, c-format
 msgid "Writing bracket to position %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3749
+#: ../utils/adt/formatting.c:3744
 #, c-format
 msgid "Writing blank space to position %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3764
+#: ../utils/adt/formatting.c:3760
 #, c-format
 msgid "Writing zero to position %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3782
+#: ../utils/adt/formatting.c:3779
 #, c-format
 msgid "Writing decimal point to position %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3835
+#: ../utils/adt/formatting.c:3833
 #, c-format
 msgid "Writing digit '%c' to position %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3878
+#: ../utils/adt/formatting.c:3876
 msgid "to_number(): RN is not supported"
 msgstr ""
 
-#: ../utils/adt/formatting.c:4000
+#: ../utils/adt/formatting.c:3999
 #, c-format
 msgid ""
 "\n"
@@ -2956,7 +2928,7 @@ msgid ""
 "\tLAST_RELEVANT: %s"
 msgstr ""
 
-#: ../utils/adt/formatting.c:4259
+#: ../utils/adt/formatting.c:4261
 #, c-format
 msgid "TO_NUMBER (number): '%s'"
 msgstr ""
@@ -2988,32 +2960,32 @@ msgid ""
 "LC_MONETARY:\t%s\n"
 msgstr ""
 
-#: ../utils/adt/pg_locale.c:122
+#: ../utils/adt/pg_locale.c:123
 #, c-format
 msgid "pg_setlocale(): 'LC_COLLATE=%s' cannot be honored."
 msgstr ""
 
-#: ../utils/adt/pg_locale.c:126
+#: ../utils/adt/pg_locale.c:127
 #, c-format
 msgid "pg_setlocale(): 'LC_CTYPE=%s' cannot be honored."
 msgstr ""
 
-#: ../utils/adt/pg_locale.c:130
+#: ../utils/adt/pg_locale.c:131
 #, c-format
 msgid "pg_setlocale(): 'LC_NUMERIC=%s' cannot be honored."
 msgstr ""
 
-#: ../utils/adt/pg_locale.c:134
+#: ../utils/adt/pg_locale.c:135
 #, c-format
 msgid "pg_setlocale(): 'LC_TIME=%s' cannot be honored."
 msgstr ""
 
-#: ../utils/adt/pg_locale.c:138
+#: ../utils/adt/pg_locale.c:139
 #, c-format
 msgid "pg_setlocale(): 'LC_MONETARY=%s' cannot be honored."
 msgstr ""
 
-#: ../utils/adt/pg_locale.c:143
+#: ../utils/adt/pg_locale.c:144
 #, c-format
 msgid "pg_setlocale(): 'LC_MESSAGES=%s' cannot be honored."
 msgstr ""
@@ -3056,91 +3028,86 @@ msgstr ""
 msgid "array_in: illformed array constant"
 msgstr ""
 
-#: ../utils/adt/arrayfuncs.c:849
+#: ../utils/adt/arrayfuncs.c:851
 msgid "Slices of fixed-length arrays not implemented"
 msgstr ""
 
-#: ../utils/adt/arrayfuncs.c:964 ../utils/adt/arrayfuncs.c:966
-#: ../utils/adt/arrayfuncs.c:983 ../utils/adt/arrayfuncs.c:1003
-#: ../utils/adt/arrayfuncs.c:1013 ../utils/adt/arrayfuncs.c:1137
-#: ../utils/adt/arrayfuncs.c:1152 ../utils/adt/arrayfuncs.c:1161
-#: ../utils/adt/arrayfuncs.c:1168
+#: ../utils/adt/arrayfuncs.c:967 ../utils/adt/arrayfuncs.c:969
+#: ../utils/adt/arrayfuncs.c:986 ../utils/adt/arrayfuncs.c:1006
+#: ../utils/adt/arrayfuncs.c:1016 ../utils/adt/arrayfuncs.c:1141
+#: ../utils/adt/arrayfuncs.c:1156 ../utils/adt/arrayfuncs.c:1165
+#: ../utils/adt/arrayfuncs.c:1172
 msgid "Invalid array subscripts"
 msgstr ""
 
-#: ../utils/adt/arrayfuncs.c:1126
+#: ../utils/adt/arrayfuncs.c:1130
 msgid "Updates on slices of fixed-length arrays not implemented"
 msgstr ""
 
-#: ../utils/adt/arrayfuncs.c:1179
+#: ../utils/adt/arrayfuncs.c:1183
 msgid "Source array too small"
 msgstr ""
 
-#: ../utils/adt/arrayfuncs.c:1307
+#: ../utils/adt/arrayfuncs.c:1314
 #, c-format
 msgid "array_map: invalid nargs: %d"
 msgstr ""
 
-#: ../utils/adt/arrayfuncs.c:1309
+#: ../utils/adt/arrayfuncs.c:1316
 msgid "array_map: null input array"
 msgstr ""
 
-#: ../utils/adt/arrayfuncs.c:1353
+#: ../utils/adt/arrayfuncs.c:1360
 msgid "array_map: cannot handle NULL in array"
 msgstr ""
 
-#: ../utils/adt/arrayfuncs.c:1531
+#: ../utils/adt/arrayfuncs.c:1538
 #, c-format
 msgid "array_out: Cache lookup failed for type %u"
 msgstr ""
 
-#: ../utils/adt/format_type.c:141 ../utils/adt/format_type.c:159
+#: ../utils/adt/format_type.c:126 ../utils/adt/format_type.c:143
 #, c-format
 msgid "could not locate data type with oid %u in catalog"
 msgstr ""
 
-#: ../utils/adt/format_type.c:297
-#, c-format
-msgid "Invalid INTERVAL typmod 0x%x"
-msgstr ""
-
-#: ../utils/adt/varbit.c:101 ../utils/adt/varbit.c:217
+#: ../utils/adt/varbit.c:103 ../utils/adt/varbit.c:219
 #, c-format
 msgid "bit string length does not match type bit(%d)"
 msgstr ""
 
-#: ../utils/adt/varbit.c:122 ../utils/adt/varbit.c:329
+#: ../utils/adt/varbit.c:124 ../utils/adt/varbit.c:332
 #, c-format
 msgid "cannot parse %c as a binary digit"
 msgstr ""
 
-#: ../utils/adt/varbit.c:143 ../utils/adt/varbit.c:350
+#: ../utils/adt/varbit.c:145 ../utils/adt/varbit.c:353
 #, c-format
 msgid "cannot parse %c as a hex digit"
 msgstr ""
 
-#: ../utils/adt/varbit.c:308 ../utils/adt/varbit.c:423
+#: ../utils/adt/varbit.c:311 ../utils/adt/varbit.c:426
 #, c-format
 msgid "bit string too long for type bit varying(%d)"
 msgstr ""
 
-#: ../utils/adt/varbit.c:815
+#: ../utils/adt/varbit.c:819
 msgid "cannot AND bit strings of different sizes"
 msgstr ""
 
-#: ../utils/adt/varbit.c:853
+#: ../utils/adt/varbit.c:857
 msgid "cannot OR bit strings of different sizes"
 msgstr ""
 
-#: ../utils/adt/varbit.c:897
+#: ../utils/adt/varbit.c:901
 msgid "cannot XOR bit strings of different sizes"
 msgstr ""
 
-#: ../utils/adt/varbit.c:1112
+#: ../utils/adt/varbit.c:1116
 msgid "bit string is too large to fit in type integer"
 msgstr ""
 
-#: ../utils/adt/varbit.c:1200
+#: ../utils/adt/varbit.c:1204
 #, c-format
 msgid "S. %d %d em=%2x sm=%2x r=%d"
 msgstr ""
@@ -3155,7 +3122,7 @@ msgstr ""
 msgid "No function memory context in set-function"
 msgstr ""
 
-#: ../utils/adt/regexp.c:143
+#: ../utils/adt/regexp.c:144
 #, c-format
 msgid "Invalid regular expression: %s"
 msgstr ""
@@ -3228,56 +3195,56 @@ msgstr ""
 msgid "fmgr_info: function %u: cache lookup failed"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:206
+#: ../utils/fmgr/fmgr.c:205
 #, c-format
 msgid "fmgr_info: function %s not in internal table"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:253
+#: ../utils/fmgr/fmgr.c:252
 #, c-format
 msgid "fmgr: Could not extract prosrc for %u from pg_proc"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:260
+#: ../utils/fmgr/fmgr.c:259
 #, c-format
 msgid "fmgr: Could not extract probin for %u from pg_proc"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:293
+#: ../utils/fmgr/fmgr.c:292
 #, c-format
 msgid "Unknown function API version %d"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:318
+#: ../utils/fmgr/fmgr.c:317
 #, c-format
 msgid "fmgr_info: cache lookup for language %u failed"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:334
+#: ../utils/fmgr/fmgr.c:333
 #, c-format
 msgid "fmgr_info: language %u has old-style handler"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:339
+#: ../utils/fmgr/fmgr.c:338
 #, c-format
 msgid "fmgr_info: function %u: unsupported language %u"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:387
+#: ../utils/fmgr/fmgr.c:386
 #, c-format
 msgid "Null result from %s"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:395
+#: ../utils/fmgr/fmgr.c:394
 #, c-format
 msgid "Unknown version %d reported by %s"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:463
+#: ../utils/fmgr/fmgr.c:462
 msgid "Internal error: fmgr_oldstyle received NULL pointer"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:612
+#: ../utils/fmgr/fmgr.c:611
 #, c-format
 msgid "fmgr_oldstyle: function %u: too many arguments (%d > %d)"
 msgstr ""
@@ -3441,52 +3408,64 @@ msgstr ""
 msgid "Hash table '%s' corrupted"
 msgstr ""
 
-#: ../utils/init/miscinit.c:136 ../utils/init/miscinit.c:155
-#: ../utils/init/miscinit.c:163 ../utils/init/miscinit.c:321
-#: ../utils/misc/guc.c:719 ../utils/misc/guc.c:726 ../utils/misc/guc.c:1082
-#: ../utils/misc/guc.c:1095 ../utils/misc/guc.c:1113 ../utils/misc/guc.c:1121
-#: ../utils/misc/guc.c:1276 ../utils/misc/guc.c:1282 ../utils/misc/guc.c:1289
+#: ../utils/init/miscinit.c:137 ../utils/init/miscinit.c:156
+#: ../utils/init/miscinit.c:164 ../utils/init/miscinit.c:328
+#: ../utils/misc/guc.c:533 ../utils/misc/guc.c:540 ../utils/misc/guc.c:895
+#: ../utils/misc/guc.c:907 ../utils/misc/guc.c:925 ../utils/misc/guc.c:933
+#: ../utils/misc/guc.c:1088 ../utils/misc/guc.c:1094 ../utils/misc/guc.c:1101
 #: guc-file.l:148 guc-file.l:267 guc-file.l:308
 msgid "out of memory"
 msgstr "ÄÚ´æÓþ¡"
 
-#: ../utils/init/miscinit.c:149
+#: ../utils/init/miscinit.c:150
 #, c-format
 msgid "cannot get current working directory: %m"
 msgstr ""
 
-#: ../utils/init/miscinit.c:209 ../utils/init/miscinit.c:216
+#: ../utils/init/miscinit.c:171
+#, c-format
+msgid "could not read permissions of directory %s: %s"
+msgstr ""
+
+#: ../utils/init/miscinit.c:175
+#, c-format
+msgid ""
+"data directory %s has group or world access; permissions should be u=rwx "
+"(0700)"
+msgstr ""
+
+#: ../utils/init/miscinit.c:215 ../utils/init/miscinit.c:222
 msgid ""
 "convert is not supported. To use convert, you need to enable multibyte "
 "capability"
 msgstr ""
 
-#: ../utils/cache/lsyscache.c:1103 ../utils/init/miscinit.c:461
+#: ../utils/cache/lsyscache.c:1096 ../utils/init/miscinit.c:469
 #, c-format
 msgid "user \"%s\" does not exist"
 msgstr ""
 
-#: ../utils/init/miscinit.c:516
+#: ../utils/init/miscinit.c:523
 #, c-format
 msgid "invalid user id %u"
 msgstr "·Ç·¨Óû§ id %u"
 
-#: ../utils/init/miscinit.c:598
+#: ../utils/init/miscinit.c:606
 #, c-format
 msgid "Can't create lock file %s: %m"
 msgstr "ÎÞ·¨´´½¨ËøÎļþ %s: %m"
 
-#: ../utils/init/miscinit.c:609 ../utils/init/miscinit.c:612
+#: ../utils/init/miscinit.c:617 ../utils/init/miscinit.c:620
 #, c-format
 msgid "Can't read lock file %s: %m"
 msgstr "ÎÞ·¨¶ÁÈ¡ËøÎļþ %s: %m"
 
-#: ../utils/init/miscinit.c:622
+#: ../utils/init/miscinit.c:630
 #, c-format
 msgid "Bogus data in lock file %s"
 msgstr ""
 
-#: ../utils/init/miscinit.c:697
+#: ../utils/init/miscinit.c:705
 #, c-format
 msgid ""
 "Can't remove old lock file %s: %m\n"
@@ -3494,48 +3473,53 @@ msgid ""
 "\tPlease remove the file by hand and try again."
 msgstr ""
 
-#: ../utils/init/miscinit.c:718
+#: ../utils/init/miscinit.c:726
 #, c-format
 msgid "Can't write lock file %s: %m"
 msgstr "ÎÞ·¨Ð´ÈëËøÎļþ %s: %m"
 
-#: ../utils/init/miscinit.c:809
+#: ../utils/init/miscinit.c:817
 #, c-format
 msgid "Failed to rewrite %s: %m"
 msgstr "ÖØд %s Ê§°Ü: %m"
 
-#: ../utils/init/miscinit.c:815
+#: ../utils/init/miscinit.c:823
 #, c-format
 msgid "Failed to read %s: %m"
 msgstr "¶ÁÈ¡ %s Ê§°Ü: %m"
 
-#: ../utils/init/miscinit.c:828
+#: ../utils/init/miscinit.c:836
 #, c-format
 msgid "Bogus data in %s"
 msgstr ""
 
-#: ../utils/init/miscinit.c:853
+#: ../utils/init/miscinit.c:861
 #, c-format
 msgid "Failed to write %s: %m"
 msgstr "дÈë %s Ê§°Ü: %m"
 
-#: ../utils/init/miscinit.c:895
+#: ../utils/init/miscinit.c:903
 #, c-format
 msgid "File %s is missing. This is not a valid data directory."
 msgstr ""
 
-#: ../storage/smgr/smgr.c:269 ../utils/init/miscinit.c:897
-#: ../utils/misc/database.c:149
+#: ../storage/smgr/smgr.c:271 ../utils/init/miscinit.c:905
+#: ../utils/misc/database.c:150
 #, c-format
 msgid "cannot open %s: %m"
 msgstr "ÎÞ·¨´ò¿ª %s: %m"
 
-#: ../utils/init/miscinit.c:902
+#: ../utils/init/miscinit.c:910
 #, c-format
-msgid "File %s does not contain valid data. You need to initdb."
+msgid "cannot read %s: %m"
+msgstr "ÎÞ·¨¶ÁÈ¡ %s: %m"
+
+#: ../utils/init/miscinit.c:912
+#, c-format
+msgid "`%s' does not have a valid format. You need to initdb."
 msgstr ""
 
-#: ../utils/init/miscinit.c:907
+#: ../utils/init/miscinit.c:917
 #, c-format
 msgid ""
 "The data directory was initialized by PostgreSQL version %ld.%ld, which is "
@@ -3560,33 +3544,40 @@ msgid ""
 "\tlooks like you need to initdb or recompile."
 msgstr ""
 
-#: ../utils/init/postinit.c:238
+#: ../utils/init/postinit.c:226
+#, c-format
+msgid ""
+"Database system not found.\n"
+"\tData directory '%s' does not exist."
+msgstr ""
+
+#: ../utils/init/postinit.c:241
 #, c-format
 msgid "Database \"%s\" does not exist in the system catalog."
 msgstr ""
 
-#: ../utils/init/postinit.c:246
+#: ../utils/init/postinit.c:249
 #, c-format
 msgid ""
 "Database \"%s\" does not exist.\n"
 "\tThe database subdirectory '%s' is missing."
 msgstr ""
 
-#: ../utils/init/postinit.c:253
+#: ../utils/init/postinit.c:256
 #, c-format
 msgid "Unable to change directory to '%s': %m"
 msgstr ""
 
-#: ../utils/init/postinit.c:282
+#: ../utils/init/postinit.c:285
 #, c-format
 msgid "InitPostgres: bad backend id %d"
 msgstr ""
 
-#: ../utils/init/postinit.c:330
+#: ../utils/init/postinit.c:340
 msgid "There are currently no users defined in this database system."
 msgstr ""
 
-#: ../utils/init/postinit.c:331
+#: ../utils/init/postinit.c:341
 #, c-format
 msgid ""
 "You should immediately run 'CREATE USER \"%s\" WITH SYSID %d CREATEUSER;'."
@@ -3606,161 +3597,161 @@ msgstr ""
 msgid ":%u: syntax error, token=\"%s\""
 msgstr ""
 
-#: ../commands/vacuum.c:584 ../utils/misc/superuser.c:73
+#: ../commands/vacuum.c:582 ../utils/misc/superuser.c:73
 #, c-format
 msgid "database %u does not exist"
 msgstr ""
 
-#: ../utils/misc/guc.c:884
+#: ../utils/misc/guc.c:698
 #, c-format
 msgid "'%s' is not a valid option name"
 msgstr ""
 
-#: ../utils/misc/guc.c:899
+#: ../utils/misc/guc.c:713
 #, c-format
 msgid "'%s' cannot be changed after server start"
 msgstr ""
 
-#: ../utils/misc/guc.c:903
+#: ../utils/misc/guc.c:717
 #, c-format
 msgid "'%s' cannot be changed now"
 msgstr ""
 
-#: ../utils/misc/guc.c:927
+#: ../utils/misc/guc.c:740
 #, c-format
 msgid "'%s' cannot be set after connection start"
 msgstr ""
 
-#: ../utils/misc/guc.c:953
+#: ../utils/misc/guc.c:766
 #, c-format
 msgid "option '%s' requires a boolean value"
 msgstr ""
 
-#: ../utils/misc/guc.c:985
+#: ../utils/misc/guc.c:798
 #, c-format
 msgid "option '%s' expects an integer value"
 msgstr ""
 
-#: ../utils/misc/guc.c:990
+#: ../utils/misc/guc.c:803
 #, c-format
 msgid "option '%s' value %d is outside of permissible range [%d .. %d]"
 msgstr ""
 
-#: ../utils/misc/guc.c:997
+#: ../utils/misc/guc.c:810
 #, c-format
 msgid "invalid value for option '%s': %d"
 msgstr ""
 
-#: ../utils/misc/guc.c:1029
+#: ../utils/misc/guc.c:842
 #, c-format
 msgid "option '%s' expects a real number"
 msgstr ""
 
-#: ../utils/misc/guc.c:1034
+#: ../utils/misc/guc.c:847
 #, c-format
 msgid "option '%s' value %g is outside of permissible range [%g .. %g]"
 msgstr ""
 
-#: ../utils/misc/guc.c:1041
+#: ../utils/misc/guc.c:854
 #, c-format
 msgid "invalid value for option '%s': %g"
 msgstr ""
 
-#: ../utils/misc/guc.c:1071
+#: ../utils/misc/guc.c:884
 #, c-format
 msgid "invalid value for option '%s': '%s'"
 msgstr ""
 
-#: ../utils/misc/guc.c:1170
+#: ../utils/misc/guc.c:982
 #, c-format
 msgid "Option '%s' is not recognized"
 msgstr ""
 
-#: ../commands/variable.c:817 ../utils/misc/guc.c:1228
+#: ../commands/variable.c:692 ../utils/misc/guc.c:1040
 #, c-format
 msgid "%s is %s"
 msgstr ""
 
-#: ../utils/misc/guc.c:1344
+#: ../utils/misc/guc.c:1157
 msgid "bogus transaction isolation level"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:331
+#: ../utils/mmgr/aset.c:332
 #, c-format
 msgid "Memory exhausted in AllocSetContextCreate(%lu)"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:493 ../utils/mmgr/aset.c:690
+#: ../utils/mmgr/aset.c:495 ../utils/mmgr/aset.c:693
 #, c-format
 msgid "Memory exhausted in AllocSetAlloc(%lu)"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:739
+#: ../utils/mmgr/aset.c:742
 #, c-format
 msgid "AllocSetFree: detected write past chunk end in %s %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:760
+#: ../utils/mmgr/aset.c:764
 #, c-format
 msgid "AllocSetFree: cannot find block containing chunk %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:814
+#: ../utils/mmgr/aset.c:818
 #, c-format
 msgid "AllocSetRealloc: detected write past chunk end in %s %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:854
+#: ../utils/mmgr/aset.c:859
 #, c-format
 msgid "AllocSetRealloc: cannot find block containing chunk %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:867
+#: ../utils/mmgr/aset.c:872
 #, c-format
 msgid "Memory exhausted in AllocSetReAlloc(%lu)"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:1024
+#: ../utils/mmgr/aset.c:1030
 #, c-format
 msgid "AllocSetCheck: %s: empty block %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:1046
+#: ../utils/mmgr/aset.c:1052
 #, c-format
 msgid "AllocSetCheck: %s: req size > alloc size for chunk %p in block %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:1049
+#: ../utils/mmgr/aset.c:1055
 #, c-format
 msgid "AllocSetCheck: %s: bad size %lu for chunk %p in block %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:1055
+#: ../utils/mmgr/aset.c:1061
 #, c-format
 msgid "AllocSetCheck: %s: bad single-chunk %p in block %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:1064
+#: ../utils/mmgr/aset.c:1070
 #, c-format
 msgid "AllocSetCheck: %s: bogus aset link in block %p, chunk %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:1071
+#: ../utils/mmgr/aset.c:1077
 #, c-format
 msgid "AllocSetCheck: %s: detected write past chunk end in block %p, chunk %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:1081
+#: ../utils/mmgr/aset.c:1087
 #, c-format
 msgid "AllocSetCheck: %s: found inconsistent memory block %p"
 msgstr ""
 
-#: ../utils/mmgr/mcxt.c:417
+#: ../utils/mmgr/mcxt.c:418
 #, c-format
 msgid "MemoryContextAlloc: invalid request size %lu"
 msgstr ""
 
-#: ../utils/mmgr/mcxt.c:477
+#: ../utils/mmgr/mcxt.c:478
 #, c-format
 msgid "repalloc: invalid request size %lu"
 msgstr ""
@@ -3782,118 +3773,118 @@ msgstr ""
 msgid "CreatePortal: portal \"%s\" already exists"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:723
+#: ../utils/sort/tuplesort.c:722
 msgid "tuplesort_puttuple: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:770
+#: ../utils/sort/tuplesort.c:769
 msgid "tuplesort_performsort: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:888 ../utils/sort/tuplesort.c:903
+#: ../utils/sort/tuplesort.c:890 ../utils/sort/tuplesort.c:905
 msgid "tuplesort_gettuple: bogus tuple len in backward scan"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:955
+#: ../utils/sort/tuplesort.c:958
 msgid "tuplesort_gettuple: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:1515
+#: ../utils/sort/tuplesort.c:1519
 msgid "tuplesort_rescan: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:1542
+#: ../utils/sort/tuplesort.c:1546
 msgid "tuplesort_markpos: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:1567
+#: ../utils/sort/tuplesort.c:1571
 msgid "tuplesort_restorepos failed"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:1571
+#: ../utils/sort/tuplesort.c:1575
 msgid "tuplesort_restorepos: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:1690
+#: ../utils/sort/tuplesort.c:1694
 msgid "tuplesort: unexpected end of tape"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:1692 ../utils/sort/tuplesort.c:1805
-#: ../utils/sort/tuplesort.c:1809 ../utils/sort/tuplesort.c:1938
-#: ../utils/sort/tuplesort.c:1942 ../utils/sort/tuplesort.c:2007
-#: ../utils/sort/tuplesort.c:2011
+#: ../utils/sort/tuplesort.c:1696 ../utils/sort/tuplesort.c:1809
+#: ../utils/sort/tuplesort.c:1813 ../utils/sort/tuplesort.c:1937
+#: ../utils/sort/tuplesort.c:1941 ../utils/sort/tuplesort.c:2006
+#: ../utils/sort/tuplesort.c:2010
 msgid "tuplesort: unexpected end of data"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:1891
+#: ../utils/sort/tuplesort.c:1890
 msgid "Cannot create unique index. Table contains non-unique values"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:1975
+#: ../utils/sort/tuplesort.c:1974
 msgid "copytup_datum() should not be called"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:2131
+#: ../utils/sort/tuplesort.c:2128
 #, c-format
 msgid "SelectSortFunction: cache lookup failed for operator %u"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:2212
+#: ../utils/sort/tuplesort.c:2209
 #, c-format
 msgid "Invalid SortFunctionKind %d"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:313
+#: ../utils/sort/tuplestore.c:314
 msgid "tuplestore_puttuple: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:349
+#: ../utils/sort/tuplestore.c:350
 msgid "tuplestore_donestoring: seek(0) failed"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:357
+#: ../utils/sort/tuplestore.c:358
 msgid "tuplestore_donestoring: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:475 ../utils/sort/tuplestore.c:490
+#: ../utils/sort/tuplestore.c:479 ../utils/sort/tuplestore.c:494
 msgid "tuplestore_gettuple: bogus tuple len in backward scan"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:495
+#: ../utils/sort/tuplestore.c:499
 msgid "tuplestore_gettuple: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:531
+#: ../utils/sort/tuplestore.c:535
 msgid "tuplestore_rescan: seek(0) failed"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:538
+#: ../utils/sort/tuplestore.c:542
 msgid "tuplestore_rescan: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:564
+#: ../utils/sort/tuplestore.c:568
 msgid "tuplestore_markpos: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:589
+#: ../utils/sort/tuplestore.c:593
 msgid "tuplestore_restorepos failed"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:593
+#: ../utils/sort/tuplestore.c:597
 msgid "tuplestore_restorepos: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:609
+#: ../utils/sort/tuplestore.c:613
 msgid "tuplestore: unexpected end of tape"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:611 ../utils/sort/tuplestore.c:679
-#: ../utils/sort/tuplestore.c:683
+#: ../utils/sort/tuplestore.c:615 ../utils/sort/tuplestore.c:683
+#: ../utils/sort/tuplestore.c:687
 msgid "tuplestore: unexpected end of data"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:621 ../utils/sort/tuplestore.c:651
-#: ../utils/sort/tuplestore.c:654 ../utils/sort/tuplestore.c:658
+#: ../utils/sort/tuplestore.c:625 ../utils/sort/tuplestore.c:655
+#: ../utils/sort/tuplestore.c:658 ../utils/sort/tuplestore.c:662
 msgid "tuplestore: write failed"
 msgstr ""
 
@@ -3909,15 +3900,15 @@ msgstr ""
 msgid "ltsReadBlock: failed to read block %ld of temporary file"
 msgstr ""
 
-#: ../utils/sort/logtape.c:569
+#: ../utils/sort/logtape.c:572
 msgid "LogicalTapeWrite: impossible state"
 msgstr ""
 
-#: ../utils/sort/logtape.c:831
+#: ../utils/sort/logtape.c:837
 msgid "LogicalTapeBackspace: unexpected end of tape"
 msgstr ""
 
-#: ../utils/sort/logtape.c:888 ../utils/sort/logtape.c:898
+#: ../utils/sort/logtape.c:894 ../utils/sort/logtape.c:904
 msgid "LogicalTapeSeek: unexpected end of tape"
 msgstr ""
 
@@ -4000,18 +3991,18 @@ msgstr ""
 msgid "Operator OID %u does not exist"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:1445 ../utils/cache/lsyscache.c:536
+#: ../optimizer/util/clauses.c:1404 ../utils/cache/lsyscache.c:536
 #: ../utils/cache/lsyscache.c:557
 #, c-format
 msgid "Function OID %u does not exist"
 msgstr ""
 
-#: ../utils/cache/lsyscache.c:697
+#: ../utils/cache/lsyscache.c:698
 #, c-format
 msgid "cache lookup failed for type %u"
 msgstr ""
 
-#: ../utils/cache/lsyscache.c:771
+#: ../utils/cache/lsyscache.c:773
 #, c-format
 msgid "get_typdefault: failed to lookup type %u"
 msgstr ""
@@ -4020,25 +4011,25 @@ msgstr ""
 msgid "get_attstatsslot: stavalues is null"
 msgstr ""
 
-#: ../utils/cache/lsyscache.c:998
+#: ../utils/cache/lsyscache.c:995
 #, c-format
 msgid "get_attstatsslot: Cache lookup failed for type %u"
 msgstr ""
 
-#: ../utils/cache/lsyscache.c:1034
+#: ../utils/cache/lsyscache.c:1029
 msgid "get_attstatsslot: stanumbers is null"
 msgstr ""
 
-#: ../utils/cache/lsyscache.c:1045
+#: ../utils/cache/lsyscache.c:1039
 msgid "get_attstatsslot: stanumbers is bogus"
 msgstr ""
 
-#: ../utils/cache/syscache.c:407
+#: ../utils/cache/syscache.c:406
 #, c-format
 msgid "InitCatalogCache: Can't init cache %s (%d)"
 msgstr ""
 
-#: ../utils/cache/syscache.c:439
+#: ../utils/cache/syscache.c:438
 #, c-format
 msgid "SearchSysCache: Bad cache id %d"
 msgstr ""
@@ -4063,223 +4054,224 @@ msgstr ""
 msgid "trying to delete a reldesc that does not exist."
 msgstr ""
 
-#: ../utils/cache/relcache.c:316 ../utils/cache/relcache.c:381
+#: ../utils/cache/relcache.c:318 ../utils/cache/relcache.c:384
 msgid "ScanPgRelation: bad buildinfo"
 msgstr ""
 
-#: ../utils/cache/relcache.c:592
+#: ../utils/cache/relcache.c:596
 #, c-format
 msgid "catalog is missing %d attribute%s for relid %u"
 msgstr ""
 
-#: ../utils/cache/relcache.c:662
+#: ../utils/cache/relcache.c:667
 #, c-format
 msgid "cannot find attribute %d of relation %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:1067
+#: ../utils/cache/relcache.c:1072
 #, c-format
 msgid "RelationBuildDesc: can't open %s: %m"
 msgstr ""
 
-#: ../utils/cache/relcache.c:1306
+#: ../utils/cache/relcache.c:1310
 #, c-format
 msgid "fixrdesc: no pg_class entry for %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:1315
+#: ../utils/cache/relcache.c:1319
 #, c-format
 msgid "fixrdesc: no existing relcache entry for %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:1547
+#: ../utils/cache/relcache.c:1551
 #, c-format
 msgid "RelationReloadClassinfo system relation id=%d doesn't exist"
 msgstr ""
 
-#: ../utils/cache/relcache.c:1674
+#: ../utils/cache/relcache.c:1680
 #, c-format
 msgid "RelationClearRelation: relation %u deleted while still in use"
 msgstr ""
 
-#: ../utils/cache/relcache.c:1775
+#: ../utils/cache/relcache.c:1783
 #, c-format
 msgid "Local relation %s not found in list"
 msgstr ""
 
-#: ../utils/cache/relcache.c:1823
+#: ../utils/cache/relcache.c:1831
 msgid "inval call to RFI"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2298
+#: ../utils/cache/relcache.c:2308
 #, c-format
 msgid "AttrDefaultFetch: second record found for attr %s in rel %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2306
+#: ../utils/cache/relcache.c:2316
 #, c-format
 msgid "AttrDefaultFetch: adbin IS NULL for attr %s in rel %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2319
+#: ../utils/cache/relcache.c:2329
 #, c-format
 msgid "AttrDefaultFetch: unexpected record found for attr %d in rel %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2325
+#: ../utils/cache/relcache.c:2335
 #, c-format
 msgid "AttrDefaultFetch: %d record not found for rel %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2399
+#: ../utils/cache/relcache.c:2409
 #, c-format
 msgid "RelCheckFetch: unexpected record found for rel %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2406
+#: ../utils/cache/relcache.c:2416
 #, c-format
 msgid "RelCheckFetch: rcname IS NULL for rel %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2414
+#: ../utils/cache/relcache.c:2424
 #, c-format
 msgid "RelCheckFetch: rcbin IS NULL for rel %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2425
+#: ../utils/cache/relcache.c:2435
 #, c-format
 msgid "RelCheckFetch: %d record not found for rel %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2845
+#: ../utils/cache/relcache.c:2856
 #, c-format
 msgid ""
 "Cannot create init file %s: %m\n"
 "\tContinuing anyway, but there's something wrong."
 msgstr ""
 
-#: ../utils/cache/relcache.c:2914
+#: ../utils/cache/relcache.c:2925
 msgid "cannot write init file -- descriptor length"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2918
+#: ../utils/cache/relcache.c:2929
 msgid "cannot write init file -- reldesc"
 msgstr "ÎÞ·¨Ð´Èë³õʼ»¯Îļþ -- reldesc"
 
-#: ../utils/cache/relcache.c:2924
+#: ../utils/cache/relcache.c:2935
 msgid "cannot write init file -- am tuple form length"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2927
+#: ../utils/cache/relcache.c:2938
 msgid "cannot write init file -- am tuple form"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2933
+#: ../utils/cache/relcache.c:2944
 msgid "cannot write init file -- relation tuple form length"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2936
+#: ../utils/cache/relcache.c:2947
 msgid "cannot write init file -- relation tuple form"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2944
+#: ../utils/cache/relcache.c:2955
 #, c-format
 msgid "cannot write init file -- length of attdesc %d"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2947
+#: ../utils/cache/relcache.c:2958
 #, c-format
 msgid "cannot write init file -- attdesc %d"
 msgstr "ÎÞ·¨Ð´Èë³õʼ»¯Îļþ -- attdesc %d"
 
-#: ../utils/cache/relcache.c:2955
+#: ../utils/cache/relcache.c:2966
 msgid "cannot write init file -- strategy map length"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2958
+#: ../utils/cache/relcache.c:2969
 msgid "cannot write init file -- strategy map"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2964
+#: ../utils/cache/relcache.c:2975
 msgid "cannot write init file -- support vector length"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2967
+#: ../utils/cache/relcache.c:2978
 msgid "cannot write init file -- support vector"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2981
+#: ../utils/cache/relcache.c:2992
 #, c-format
 msgid ""
 "Cannot rename init file %s to %s: %m\n"
 "\tContinuing anyway, but there's something wrong."
 msgstr ""
 
-#: ../utils/cache/inval.c:396
+#: ../utils/cache/inval.c:393
 #, c-format
 msgid "ExecuteInvalidationMessage: bogus message id %d"
 msgstr ""
 
 #. translator: This string will be truncated at 31 characters.
-#: ../utils/error/elog.c:176
+#: ../utils/error/elog.c:174
 #, c-format
 msgid "copy: line %d, "
 msgstr "¿½±´: ÐР%d, "
 
 #. translator: This must fit in fmt_fixedbuf.
-#: ../utils/error/elog.c:199 ../utils/error/elog.c:295
+#: ../utils/error/elog.c:197 ../utils/error/elog.c:293
 msgid "elog: out of memory"
 msgstr "elog: ÄÚ´æÓþ¡"
 
-#: ../utils/error/elog.c:417
+#: ../utils/error/elog.c:415
 msgid "elog: error during error recovery, giving up!"
 msgstr ""
 
-#: ../utils/error/elog.c:462
+#: ../utils/error/elog.c:460
 #, c-format
 msgid "DebugFileOpen: open of %s: %m"
 msgstr ""
 
-#: ../utils/error/elog.c:471
+#: ../utils/error/elog.c:469
 #, c-format
 msgid "DebugFileOpen: %s reopen as stderr: %m"
 msgstr ""
 
-#: ../utils/error/elog.c:483
+#: ../utils/error/elog.c:481
 #, c-format
 msgid "DebugFileOpen: %s reopen as stdout: %m"
 msgstr ""
 
-#: ../utils/error/elog.c:500
+#: ../utils/error/elog.c:498
 msgid "DebugFileOpen: could not open debugging file"
 msgstr ""
 
-#: ../utils/error/elog.c:704
+#: ../utils/error/elog.c:725
 msgid "Numerical result out of range"
 msgstr "ÊýÖµ½á¹û³¬³ö·¶Î§"
 
-#: ../utils/error/elog.c:718
+#. translator: This string will be truncated at 47 characters expanded.
+#: ../utils/error/elog.c:736
 #, c-format
 msgid "operating system error %d"
 msgstr "²Ù×÷ϵͳ´íÎó %d"
 
-#: ../utils/error/elog.c:735
+#: ../utils/error/elog.c:753
 msgid "DEBUG:  "
 msgstr "µ÷ÊÔ:  "
 
-#: ../utils/error/elog.c:738
+#: ../utils/error/elog.c:756
 msgid "NOTICE:  "
 msgstr "×¢Òâ:  "
 
-#: ../utils/error/elog.c:741
+#: ../utils/error/elog.c:759
 msgid "ERROR:  "
 msgstr "´íÎó:  "
 
-#: ../utils/error/elog.c:744
+#: ../utils/error/elog.c:762
 msgid "FATAL 1:  "
 msgstr "ÖÂÃü´íÎó 1:  "
 
-#: ../utils/error/elog.c:747
+#: ../utils/error/elog.c:765
 msgid "FATAL 2:  "
 msgstr "ÖÂÃü´íÎó 2:  "
 
@@ -4288,42 +4280,42 @@ msgstr "
 msgid "GiST scan list corrupted -- cannot find 0x%p"
 msgstr ""
 
-#: ../access/gist/gistscan.c:409
+#: ../access/gist/gistscan.c:410
 #, c-format
 msgid "Bad operation in GiST scan adjust: %d"
 msgstr ""
 
-#: ../access/gist/gist.c:173 ../access/hash/hash.c:72
-#: ../access/nbtree/nbtree.c:129 ../access/rtree/rtree.c:128
+#: ../access/gist/gist.c:171 ../access/hash/hash.c:72
+#: ../access/nbtree/nbtree.c:128 ../access/rtree/rtree.c:128
 #, c-format
 msgid "%s already contains data"
 msgstr ""
 
-#: ../access/gist/gist.c:400 ../access/gist/gist.c:599
+#: ../access/gist/gist.c:390 ../access/gist/gist.c:584
 #, c-format
 msgid "gist: failed to add index item to %s"
 msgstr ""
 
-#: ../access/gist/gist.c:1655
+#: ../access/gist/gist.c:1548
 #, c-format
 msgid "initGISTstate: numberOfAttributes %d > %d"
 msgstr ""
 
-#: ../access/gist/gist.c:1917
+#: ../access/gist/gist.c:1799
 #, c-format
 msgid "%sPage: %d %s blk: %d maxoff: %d free: %d"
 msgstr ""
 
-#: ../access/gist/gist.c:1927
+#: ../access/gist/gist.c:1809
 #, c-format
 msgid "%s  Tuple. blk: %d size: %d"
 msgstr ""
 
-#: ../access/gist/gist.c:1942
+#: ../access/gist/gist.c:1825
 msgid "gist_redo: unimplemented"
 msgstr ""
 
-#: ../access/gist/gist.c:1948
+#: ../access/gist/gist.c:1831
 msgid "gist_undo: unimplemented"
 msgstr ""
 
@@ -4365,17 +4357,17 @@ msgstr ""
 msgid "_hash_unsetpagelock: invalid access (%d) on blk %x: %s"
 msgstr ""
 
-#: ../access/hash/hashpage.c:547 ../access/hash/hashpage.c:684
+#: ../access/hash/hashpage.c:548 ../access/hash/hashpage.c:689
 #, c-format
 msgid "_hash_splitpage: empty overflow page %d"
 msgstr ""
 
-#: ../access/hash/hashpage.c:586
+#: ../access/hash/hashpage.c:589
 #, c-format
 msgid "_hash_splitpage: empty ovfl page %d!"
 msgstr ""
 
-#: ../access/hash/hashpage.c:639
+#: ../access/hash/hashpage.c:644
 #, c-format
 msgid "_hash_splitpage: failed to add index item to %s"
 msgstr ""
@@ -4388,7 +4380,7 @@ msgstr ""
 msgid "overflow_page: problem with _hash_initbitmap."
 msgstr ""
 
-#: ../access/hash/hashovfl.c:568
+#: ../access/hash/hashovfl.c:569
 #, c-format
 msgid "_hash_squeezebucket: failed to add index item to %s"
 msgstr ""
@@ -4402,11 +4394,11 @@ msgstr ""
 msgid "hash indices cannot include null keys"
 msgstr ""
 
-#: ../access/hash/hash.c:471
+#: ../access/hash/hash.c:472
 msgid "hash_redo: unimplemented"
 msgstr ""
 
-#: ../access/hash/hash.c:477
+#: ../access/hash/hash.c:478
 msgid "hash_undo: unimplemented"
 msgstr ""
 
@@ -4414,11 +4406,11 @@ msgstr ""
 msgid "Hash indices valid for only one index key."
 msgstr ""
 
-#: ../access/hash/hashinsert.c:166
+#: ../access/hash/hashinsert.c:169
 msgid "hash item too large"
 msgstr ""
 
-#: ../access/hash/hashinsert.c:231
+#: ../access/hash/hashinsert.c:235
 #, c-format
 msgid "_hash_pgaddtup: failed to add index item to %s"
 msgstr ""
@@ -4432,162 +4424,158 @@ msgstr ""
 msgid "Tuple is too big: size %lu, max size %ld"
 msgstr ""
 
-#: ../access/heap/hio.c:273
+#: ../access/heap/hio.c:268
 #, c-format
 msgid "Tuple is too big: size %lu"
 msgstr ""
 
-#: ../access/heap/tuptoaster.c:838
+#: ../access/heap/tuptoaster.c:849
 msgid "Failed to build TOAST tuple"
 msgstr ""
 
-#: ../access/heap/tuptoaster.c:854
+#: ../access/heap/tuptoaster.c:865
 msgid "Failed to insert index entry for TOAST tuple"
 msgstr ""
 
-#: ../access/heap/tuptoaster.c:1037
+#: ../access/heap/tuptoaster.c:1048
 #, c-format
 msgid "unexpected chunk number %d for toast value %u"
 msgstr ""
 
-#: ../access/heap/tuptoaster.c:1043 ../access/heap/tuptoaster.c:1050
+#: ../access/heap/tuptoaster.c:1054 ../access/heap/tuptoaster.c:1061
 #, c-format
 msgid "unexpected chunk size %d in chunk %d for toast value %u"
 msgstr ""
 
-#: ../access/heap/tuptoaster.c:1055
+#: ../access/heap/tuptoaster.c:1066
 #, c-format
 msgid "chunk %d for toast value %u appears multiple times"
 msgstr ""
 
-#: ../access/heap/tuptoaster.c:1073
+#: ../access/heap/tuptoaster.c:1084
 #, c-format
 msgid "not all toast chunks found for value %u"
 msgstr ""
 
-#: ../access/heap/heapam.c:145
+#: ../access/heap/heapam.c:143
 #, c-format
 msgid "heapgettup(%s, tid=0x%x[%d,%d], dir=%d, ...)"
 msgstr ""
 
-#: ../access/heap/heapam.c:151
+#: ../access/heap/heapam.c:149
 #, c-format
 msgid "heapgettup(%s, tid=0x%x, dir=%d, ...)"
 msgstr ""
 
-#: ../access/heap/heapam.c:154
+#: ../access/heap/heapam.c:152
 #, c-format
 msgid "heapgettup(..., b=0x%x, nkeys=%d, key=0x%x"
 msgstr ""
 
-#: ../access/heap/heapam.c:156
+#: ../access/heap/heapam.c:154
 #, c-format
 msgid "heapgettup: relation(%c)=`%s', %p"
 msgstr ""
 
-#: ../access/heap/heapam.c:204 ../access/heap/heapam.c:239
-#: ../access/heap/heapam.c:280 ../access/heap/heapam.c:373
+#: ../access/heap/heapam.c:202 ../access/heap/heapam.c:237
+#: ../access/heap/heapam.c:278 ../access/heap/heapam.c:371
 msgid "heapgettup: failed ReadBuffer"
 msgstr ""
 
-#: ../access/heap/heapam.c:475
+#: ../access/heap/heapam.c:468
 #, c-format
 msgid "Relation %u does not exist"
 msgstr ""
 
-#: ../access/heap/heapam.c:521 ../catalog/heap.c:963
-#, c-format
-msgid "Relation \"%s\" does not exist"
-msgstr ""
-
-#: ../access/heap/heapam.c:573 ../access/heap/heapam.c:598
+#: ../access/heap/heapam.c:472 ../access/heap/heapam.c:509
+#: ../access/heap/heapam.c:546 ../access/heap/heapam.c:576
 #, c-format
 msgid "%s is an index relation"
 msgstr ""
 
-#: ../access/heap/heapam.c:576 ../access/heap/heapam.c:601
+#: ../access/heap/heapam.c:505
 #, c-format
-msgid "%s is a special relation"
-msgstr ""
+msgid "Relation '%s' does not exist"
+msgstr "¹Øϵ '%s' ²»´æÔÚ"
 
-#: ../access/heap/heapam.c:633
+#: ../access/heap/heapam.c:637
 msgid "heap_beginscan: !RelationIsValid(relation)"
 msgstr ""
 
-#: ../access/heap/heapam.c:748
+#: ../access/heap/heapam.c:752
 #, c-format
 msgid "heap_getnext([%s,nkeys=%d],backw=%d) called"
 msgstr ""
 
-#: ../access/heap/heapam.c:752
+#: ../access/heap/heapam.c:756
 msgid "heap_getnext returning EOS"
 msgstr ""
 
-#: ../access/heap/heapam.c:755
+#: ../access/heap/heapam.c:759
 msgid "heap_getnext returning tuple"
 msgstr ""
 
-#: ../access/heap/heapam.c:778
+#: ../access/heap/heapam.c:782
 msgid "heap_getnext: NULL relscan"
 msgstr ""
 
-#: ../access/heap/heapam.c:876
+#: ../access/heap/heapam.c:880
 #, c-format
 msgid "heap_fetch: %s relation: ReadBuffer(%lx) failed"
 msgstr ""
 
-#: ../access/heap/heapam.c:965
+#: ../access/heap/heapam.c:969
 #, c-format
 msgid "heap_get_latest_tid: %s relation: ReadBuffer(%lx) failed"
 msgstr ""
 
-#: ../access/heap/heapam.c:1168
+#: ../access/heap/heapam.c:1171
 msgid "heap_delete: failed ReadBuffer"
 msgstr ""
 
-#: ../access/heap/heapam.c:1187
+#: ../access/heap/heapam.c:1190
 msgid "heap_delete: (am)invalid tid"
 msgstr ""
 
-#: ../access/heap/heapam.c:1307
+#: ../access/heap/heapam.c:1310
 msgid "simple_heap_delete: tuple already updated by self"
 msgstr ""
 
-#: ../access/heap/heapam.c:1315
+#: ../access/heap/heapam.c:1318
 msgid "simple_heap_delete: tuple concurrently updated"
 msgstr ""
 
-#: ../access/heap/heapam.c:1319 ../executor/execMain.c:1349
+#: ../access/heap/heapam.c:1322 ../executor/execMain.c:1358
 #, c-format
 msgid "Unknown status %u from heap_delete"
 msgstr ""
 
-#: ../access/heap/heapam.c:1354
+#: ../access/heap/heapam.c:1357
 msgid "heap_update: failed ReadBuffer"
 msgstr ""
 
-#: ../access/heap/heapam.c:1379
+#: ../access/heap/heapam.c:1382
 msgid "heap_update: (am)invalid tid"
 msgstr ""
 
-#: ../access/heap/heapam.c:1624
+#: ../access/heap/heapam.c:1626
 msgid "simple_heap_update: tuple already updated by self"
 msgstr ""
 
-#: ../access/heap/heapam.c:1632
+#: ../access/heap/heapam.c:1634
 msgid "simple_heap_update: tuple concurrently updated"
 msgstr ""
 
-#: ../access/heap/heapam.c:1636 ../executor/execMain.c:1485
+#: ../access/heap/heapam.c:1638 ../executor/execMain.c:1495
 #, c-format
 msgid "Unknown status %u from heap_update"
 msgstr ""
 
-#: ../access/heap/heapam.c:1659
+#: ../access/heap/heapam.c:1661
 msgid "heap_mark4update: failed ReadBuffer"
 msgstr ""
 
-#: ../access/heap/heapam.c:1676
+#: ../access/heap/heapam.c:1678
 msgid "heap_mark4update: (am)invalid tid"
 msgstr ""
 
@@ -4627,92 +4615,92 @@ msgstr ""
 msgid "heap_insert_%sdo: uninitialized page"
 msgstr ""
 
-#: ../access/heap/heapam.c:2110
+#: ../access/heap/heapam.c:2109
 msgid "heap_insert_redo: invalid max offset number"
 msgstr ""
 
-#: ../access/heap/heapam.c:2134
+#: ../access/heap/heapam.c:2133
 msgid "heap_insert_redo: failed to add tuple"
 msgstr ""
 
-#: ../access/heap/heapam.c:2144
+#: ../access/heap/heapam.c:2143
 msgid "heap_insert_undo: bad page LSN"
 msgstr ""
 
-#: ../access/heap/heapam.c:2146
+#: ../access/heap/heapam.c:2145
 msgid "heap_insert_undo: unimplemented"
 msgstr ""
 
-#: ../access/heap/heapam.c:2177
+#: ../access/heap/heapam.c:2176
 #, c-format
 msgid "heap_update_%sdo: no block"
 msgstr ""
 
-#: ../access/heap/heapam.c:2181
+#: ../access/heap/heapam.c:2180
 #, c-format
 msgid "heap_update_%sdo: uninitialized old page"
 msgstr ""
 
-#: ../access/heap/heapam.c:2195
+#: ../access/heap/heapam.c:2194
 msgid "heap_update_undo: bad old tuple page LSN"
 msgstr ""
 
-#: ../access/heap/heapam.c:2202
+#: ../access/heap/heapam.c:2201
 #, c-format
 msgid "heap_update_%sdo: invalid lp"
 msgstr ""
 
-#: ../access/heap/heapam.c:2230 ../access/heap/heapam.c:2335
+#: ../access/heap/heapam.c:2229 ../access/heap/heapam.c:2334
 msgid "heap_update_undo: unimplemented"
 msgstr ""
 
-#: ../access/heap/heapam.c:2251
+#: ../access/heap/heapam.c:2250
 #, c-format
 msgid "heap_update_%sdo: uninitialized page"
 msgstr ""
 
-#: ../access/heap/heapam.c:2278
+#: ../access/heap/heapam.c:2276
 msgid "heap_update_redo: invalid max offset number"
 msgstr ""
 
-#: ../access/heap/heapam.c:2324
+#: ../access/heap/heapam.c:2322
 msgid "heap_update_redo: failed to add tuple"
 msgstr ""
 
-#: ../access/heap/heapam.c:2333
+#: ../access/heap/heapam.c:2332
 msgid "heap_update_undo: bad new tuple page LSN"
 msgstr ""
 
-#: ../access/heap/heapam.c:2351
+#: ../access/heap/heapam.c:2350
 msgid "_heap_unlock_tuple: can't open relation"
 msgstr ""
 
-#: ../access/heap/heapam.c:2356
+#: ../access/heap/heapam.c:2355
 msgid "_heap_unlock_tuple: can't read buffer"
 msgstr ""
 
-#: ../access/heap/heapam.c:2360
+#: ../access/heap/heapam.c:2359
 msgid "_heap_unlock_tuple: uninitialized page"
 msgstr ""
 
-#: ../access/heap/heapam.c:2364
+#: ../access/heap/heapam.c:2363
 msgid "_heap_unlock_tuple: invalid itemid"
 msgstr ""
 
-#: ../access/heap/heapam.c:2368
+#: ../access/heap/heapam.c:2367
 msgid "_heap_unlock_tuple: unused/deleted tuple in rollback"
 msgstr ""
 
-#: ../access/heap/heapam.c:2374
+#: ../access/heap/heapam.c:2373
 msgid "_heap_unlock_tuple: invalid xmax/cmax in rollback"
 msgstr ""
 
-#: ../access/heap/heapam.c:2398
+#: ../access/heap/heapam.c:2397
 #, c-format
 msgid "heap_redo: unknown op code %u"
 msgstr ""
 
-#: ../access/heap/heapam.c:2418
+#: ../access/heap/heapam.c:2417
 #, c-format
 msgid "heap_undo: unknown op code %u"
 msgstr ""
@@ -4738,69 +4726,79 @@ msgstr ""
 msgid "index_%s: invalid %s regproc"
 msgstr ""
 
-#: ../access/index/indexam.c:130 ../access/index/indexam.c:152
+#: ../access/index/indexam.c:128
+#, c-format
+msgid "Index %u does not exist"
+msgstr "Ë÷Òý %u ²»´æÔÚ"
+
+#: ../access/index/indexam.c:131 ../access/index/indexam.c:155
 #, c-format
 msgid "%s is not an index relation"
 msgstr ""
 
-#: ../access/index/istrat.c:248
+#: ../access/index/indexam.c:152
+#, c-format
+msgid "Index '%s' does not exist"
+msgstr "Ë÷Òý '%s' ²»´æÔÚ"
+
+#: ../access/index/istrat.c:249
 #, c-format
 msgid "StrategyTermEvaluate: impossible case %d"
 msgstr ""
 
-#: ../access/index/istrat.c:323
+#: ../access/index/istrat.c:325
 #, c-format
 msgid "RelationGetStrategy: impossible case %d"
 msgstr ""
 
-#: ../access/index/istrat.c:329
+#: ../access/index/istrat.c:331
 msgid "RelationGetStrategy: corrupted evaluation"
 msgstr ""
 
-#: ../access/index/istrat.c:448
+#: ../access/index/istrat.c:450
 #, c-format
 msgid "RelationInvokeStrategy: cannot evaluate strategy %d"
 msgstr ""
 
-#: ../access/index/istrat.c:472
+#: ../access/index/istrat.c:475
 #, c-format
 msgid "FillScanKeyEntry: unknown operator %u"
 msgstr ""
 
-#: ../access/index/istrat.c:482
+#: ../access/index/istrat.c:485
 #, c-format
 msgid "FillScanKeyEntry: no procedure for operator %u"
 msgstr ""
 
-#: ../access/index/istrat.c:527
+#: ../access/index/istrat.c:530
 #, c-format
 msgid "IndexSupportInitialize: no pg_index entry for index %u"
 msgstr ""
 
-#: ../access/index/istrat.c:541
+#: ../access/index/istrat.c:544
 msgid "IndexSupportInitialize: bogus pg_index tuple"
 msgstr ""
 
-#: ../access/rtree/rtree.c:330
+#: ../access/rtree/rtree.c:329
 #, c-format
 msgid "rtdoinsert: failed to add index item to %s"
 msgstr ""
 
-#: ../access/rtree/rtree.c:522 ../access/rtree/rtree.c:546
+#: ../access/rtree/rtree.c:523 ../access/rtree/rtree.c:547
 #, c-format
 msgid "rtdosplit: failed to add index item to %s"
 msgstr ""
 
-#: ../access/rtree/rtree.c:642
+#: ../access/rtree/rtree.c:643
 msgid "Variable-length rtree keys are not supported."
 msgstr ""
 
-#: ../access/rtree/rtree.c:662
+#: ../access/rtree/rtree.c:663
 #, c-format
 msgid "rtintinsert: failed to add index item to %s"
 msgstr ""
 
-#: ../access/rtree/rtree.c:688 ../access/rtree/rtree.c:693
+#: ../access/rtree/rtree.c:689 ../access/rtree/rtree.c:694
 #, c-format
 msgid "rtnewroot: failed to add index item to %s"
 msgstr ""
@@ -4810,15 +4808,15 @@ msgstr ""
 msgid "rtree: index item size %lu exceeds maximum %lu"
 msgstr ""
 
-#: ../access/rtree/rtree.c:1065
+#: ../access/rtree/rtree.c:1066
 msgid "rtpicksplit: failed to find a workable page split"
 msgstr ""
 
-#: ../access/rtree/rtree.c:1348
+#: ../access/rtree/rtree.c:1351
 msgid "rtree_redo: unimplemented"
 msgstr ""
 
-#: ../access/rtree/rtree.c:1354
+#: ../access/rtree/rtree.c:1357
 msgid "rtree_undo: unimplemented"
 msgstr ""
 
@@ -4827,17 +4825,17 @@ msgstr ""
 msgid "rtree scan list corrupted -- cannot find 0x%p"
 msgstr ""
 
-#: ../access/rtree/rtscan.c:406
+#: ../access/rtree/rtscan.c:407
 #, c-format
 msgid "Bad operation in rtree scan adjust: %d"
 msgstr ""
 
-#: ../access/common/indextuple.c:55
+#: ../access/common/indextuple.c:56
 #, c-format
 msgid "index_formtuple: numberOfAttributes %d > %d"
 msgstr ""
 
-#: ../access/common/indextuple.c:162
+#: ../access/common/indextuple.c:163
 #, c-format
 msgid "index_formtuple: data takes %lu bytes, max is %d"
 msgstr ""
@@ -4850,17 +4848,17 @@ msgstr ""
 msgid "heap_attisnull: undefined negative attnum"
 msgstr ""
 
-#: ../access/common/heaptuple.c:457
+#: ../access/common/heaptuple.c:459
 #, c-format
 msgid "heap_getsysattr: invalid attnum %d"
 msgstr ""
 
-#: ../access/common/heaptuple.c:582
+#: ../access/common/heaptuple.c:585
 #, c-format
 msgid "heap_formtuple: numberOfAttributes of %d > %d"
 msgstr ""
 
-#: ../access/common/heaptuple.c:685
+#: ../access/common/heaptuple.c:688
 #, c-format
 msgid "heap_modifytuple: repl is \\%3d"
 msgstr ""
@@ -4870,7 +4868,7 @@ msgstr ""
 msgid "getTypeOutputInfo: Cache lookup of type %u failed"
 msgstr ""
 
-#: ../access/common/tupdesc.c:596
+#: ../access/common/tupdesc.c:598
 #, c-format
 msgid "DefineRelation: no such type %s"
 msgstr ""
@@ -4879,59 +4877,59 @@ msgstr ""
 msgid "_xl_remove_hash_entry: file was not found in cache"
 msgstr ""
 
-#: ../access/transam/xlogutils.c:349
+#: ../access/transam/xlogutils.c:351
 msgid "XLogOpenRelation: out of memory for cache"
 msgstr "XLogOpenRelation: »º³åÄÚ´æÓþ¡"
 
-#: ../access/transam/xlogutils.c:352
+#: ../access/transam/xlogutils.c:354
 msgid "XLogOpenRelation: file found on insert into cache"
 msgstr ""
 
-#: ../access/transam/clog.c:547 ../access/transam/clog.c:599
+#: ../access/transam/clog.c:545 ../access/transam/clog.c:596
 #, c-format
 msgid "open of %s failed: %m"
 msgstr "´ò¿ª %s Ê§°Ü: %m"
 
-#: ../access/transam/clog.c:548
+#: ../access/transam/clog.c:546
 #, c-format
 msgid "clog file %s doesn't exist, reading as zeroes"
 msgstr ""
 
-#: ../access/transam/clog.c:554 ../access/transam/clog.c:607
+#: ../access/transam/clog.c:552 ../access/transam/clog.c:604
 #, c-format
 msgid "lseek of clog file %u, offset %u failed: %m"
 msgstr ""
 
-#: ../access/transam/clog.c:559
+#: ../access/transam/clog.c:557
 #, c-format
 msgid "read of clog file %u, offset %u failed: %m"
 msgstr ""
 
-#: ../access/transam/clog.c:603 ../access/transam/xlog.c:1308
+#: ../access/transam/clog.c:600 ../access/transam/xlog.c:1311
 #, c-format
 msgid "creation of file %s failed: %m"
 msgstr "´´½¨Îļþ %s Ê§°Ü: %m"
 
-#: ../access/transam/clog.c:616
+#: ../access/transam/clog.c:613
 #, c-format
 msgid "write of clog file %u, offset %u failed: %m"
 msgstr "дÈë clog Îļþ %u, Æ«ÒÆÁ¿ %u Ê§°Ü: %m"
 
-#: ../access/transam/clog.c:835
+#: ../access/transam/clog.c:831
 msgid "unable to truncate commit log: apparent wraparound"
 msgstr ""
 
-#: ../access/transam/clog.c:890
+#: ../access/transam/clog.c:884
 #, c-format
 msgid "could not open transaction-commit log directory (%s): %m"
 msgstr ""
 
-#: ../access/transam/clog.c:906
+#: ../access/transam/clog.c:900
 #, c-format
 msgid "removing commit log file %s"
 msgstr ""
 
-#: ../access/transam/clog.c:915
+#: ../access/transam/clog.c:909
 #, c-format
 msgid "could not read transaction-commit log directory (%s): %m"
 msgstr ""
@@ -4940,259 +4938,259 @@ msgstr ""
 msgid "You may only have 2^32-1 commands per transaction"
 msgstr ""
 
-#: ../access/transam/xact.c:923
+#: ../access/transam/xact.c:929
 msgid "CommitTransaction and not in in-progress state"
 msgstr ""
 
-#: ../access/transam/xact.c:1047
+#: ../access/transam/xact.c:1054
 msgid "AbortTransaction and not in in-progress state"
 msgstr ""
 
-#: ../access/transam/xact.c:1126
+#: ../access/transam/xact.c:1133
 msgid "CleanupTransaction and not in abort state"
 msgstr ""
 
-#: ../access/transam/xact.c:1166
+#: ../access/transam/xact.c:1174
 msgid "StartTransactionCommand: unexpected TBLOCK_BEGIN"
 msgstr ""
 
-#: ../access/transam/xact.c:1187
+#: ../access/transam/xact.c:1195
 msgid "StartTransactionCommand: unexpected TBLOCK_END"
 msgstr ""
 
-#: ../access/transam/xact.c:1210
+#: ../access/transam/xact.c:1218
 msgid "StartTransactionCommand: unexpected TBLOCK_ENDABORT"
 msgstr ""
 
-#: ../access/transam/xact.c:1390
+#: ../access/transam/xact.c:1400
 msgid "BEGIN: already a transaction in progress"
 msgstr ""
 
-#: ../access/transam/xact.c:1451
+#: ../access/transam/xact.c:1463
 msgid "COMMIT: no transaction in progress"
 msgstr ""
 
-#: ../access/transam/xact.c:1488 ../access/transam/xact.c:1535
+#: ../access/transam/xact.c:1501 ../access/transam/xact.c:1550
 msgid "ROLLBACK: no transaction in progress"
 msgstr ""
 
-#: ../access/transam/xact.c:1609 ../access/transam/xact.c:1620
+#: ../access/transam/xact.c:1624 ../access/transam/xact.c:1635
 #, c-format
 msgid "xact_redo: unknown op code %u"
 msgstr ""
 
-#: ../access/transam/xact.c:1618
+#: ../access/transam/xact.c:1633
 msgid "xact_undo: can't undo committed xaction"
 msgstr ""
 
-#: ../access/transam/xact.c:1655
+#: ../access/transam/xact.c:1670
 msgid "XactPushRollback: already installed"
 msgstr ""
 
-#: ../access/transam/xlog.c:492
+#: ../access/transam/xlog.c:490
 #, c-format
 msgid "XLogInsert: invalid info mask %02X"
 msgstr ""
 
-#: ../access/transam/xlog.c:597
+#: ../access/transam/xlog.c:595
 #, c-format
 msgid "XLogInsert: can backup %d blocks at most"
 msgstr ""
 
-#: ../access/transam/xlog.c:615
+#: ../access/transam/xlog.c:613
 #, c-format
 msgid "XLogInsert: invalid record length %u"
 msgstr ""
 
-#: ../access/transam/xlog.c:995
+#: ../access/transam/xlog.c:996
 #, c-format
 msgid "XLogWrite: write request %X/%X is past end of log %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:1012 ../access/transam/xlog.c:1126
-#: ../access/transam/xlog.c:3241
+#: ../access/transam/xlog.c:1014 ../access/transam/xlog.c:1129
+#: ../access/transam/xlog.c:3248
 #, c-format
 msgid "close of log file %u, segment %u failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1025
+#: ../access/transam/xlog.c:1027
 msgid "XLogWrite: new log file created - consider increasing WAL_FILES"
 msgstr ""
 
-#: ../access/transam/xlog.c:1051
+#: ../access/transam/xlog.c:1053
 msgid "XLogWrite: time for a checkpoint, signaling postmaster"
 msgstr ""
 
-#: ../access/transam/xlog.c:1070
+#: ../access/transam/xlog.c:1072
 #, c-format
 msgid "lseek of log file %u, segment %u, offset %u failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1082
+#: ../access/transam/xlog.c:1084
 #, c-format
 msgid "write of log file %u, segment %u, offset %u failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1173
+#: ../access/transam/xlog.c:1176
 #, c-format
 msgid "XLogFlush%s%s: request %X/%X; write %X/%X; flush %X/%X\n"
 msgstr ""
 
-#: ../access/transam/xlog.c:1238
+#: ../access/transam/xlog.c:1241
 #, c-format
 msgid "XLogFlush: request %X/%X is not satisfied --- flushed only to %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:1286 ../access/transam/xlog.c:1367
-#: ../access/transam/xlog.c:1477 ../access/transam/xlog.c:1481
+#: ../access/transam/xlog.c:1289 ../access/transam/xlog.c:1370
+#: ../access/transam/xlog.c:1480 ../access/transam/xlog.c:1484
 #, c-format
 msgid "open of %s (log file %u, segment %u) failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1335
+#: ../access/transam/xlog.c:1338
 #, c-format
 msgid "ZeroFill failed to write %s: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1340
+#: ../access/transam/xlog.c:1343
 #, c-format
 msgid "fsync of file %s failed: %m"
 msgstr "fsync Îļþ %s Ê§°Ü: %m"
 
-#: ../access/transam/xlog.c:1445
+#: ../access/transam/xlog.c:1448
 #, c-format
 msgid ""
 "link from %s to %s (initialization of log file %u, segment %u) failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1450
+#: ../access/transam/xlog.c:1453
 #, c-format
 msgid ""
 "rename from %s to %s (initialization of log file %u, segment %u) failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1542
+#: ../access/transam/xlog.c:1545
 #, c-format
 msgid "could not open transaction log directory (%s): %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1557
+#: ../access/transam/xlog.c:1560
 #, c-format
 msgid "archiving transaction log file %s"
 msgstr ""
 
-#: ../access/transam/xlog.c:1559
+#: ../access/transam/xlog.c:1562
 msgid "archiving log files is not implemented!"
 msgstr ""
 
-#: ../access/transam/xlog.c:1573
+#: ../access/transam/xlog.c:1576
 #, c-format
 msgid "recycled transaction log file %s"
 msgstr ""
 
-#: ../access/transam/xlog.c:1579
+#: ../access/transam/xlog.c:1582
 #, c-format
 msgid "removing transaction log file %s"
 msgstr ""
 
-#: ../access/transam/xlog.c:1588
+#: ../access/transam/xlog.c:1591
 #, c-format
 msgid "could not read transaction log directory (%s): %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1661
+#: ../access/transam/xlog.c:1664
 #, c-format
 msgid "ReadRecord: bad resource manager data checksum in record at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:1683
+#: ../access/transam/xlog.c:1686
 #, c-format
 msgid "ReadRecord: bad checksum of backup block %d in record at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:1752
+#: ../access/transam/xlog.c:1756
 #, c-format
 msgid "ReadRecord: invalid record offset at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:1775
+#: ../access/transam/xlog.c:1779
 #, c-format
 msgid "ReadRecord: lseek of log file %u, segment %u, offset %u failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1781 ../access/transam/xlog.c:1865
+#: ../access/transam/xlog.c:1785 ../access/transam/xlog.c:1869
 #, c-format
 msgid "ReadRecord: read of log file %u, segment %u, offset %u failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1791
+#: ../access/transam/xlog.c:1795
 #, c-format
 msgid "ReadRecord: contrecord is requested by %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:1805
+#: ../access/transam/xlog.c:1809
 #, c-format
 msgid "ReadRecord: record with zero length at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:1829
+#: ../access/transam/xlog.c:1833
 #, c-format
 msgid "ReadRecord: record length %u at %X/%X too long"
 msgstr ""
 
-#: ../access/transam/xlog.c:1835
+#: ../access/transam/xlog.c:1839
 #, c-format
 msgid "ReadRecord: invalid resource manager id %u at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:1873
+#: ../access/transam/xlog.c:1877
 #, c-format
 msgid ""
 "ReadRecord: there is no ContRecord flag in log file %u, segment %u, offset %u"
 msgstr ""
 
-#: ../access/transam/xlog.c:1881
+#: ../access/transam/xlog.c:1885
 #, c-format
 msgid ""
 "ReadRecord: invalid ContRecord length %u in log file %u, segment %u, offset %"
 "u"
 msgstr ""
 
-#: ../access/transam/xlog.c:1945
+#: ../access/transam/xlog.c:1949
 #, c-format
 msgid ""
 "ReadRecord: invalid magic number %04X in log file %u, segment %u, offset %u"
 msgstr ""
 
-#: ../access/transam/xlog.c:1951
+#: ../access/transam/xlog.c:1955
 #, c-format
 msgid ""
 "ReadRecord: invalid info bits %04X in log file %u, segment %u, offset %u"
 msgstr ""
 
-#: ../access/transam/xlog.c:1959
+#: ../access/transam/xlog.c:1963
 #, c-format
 msgid ""
 "ReadRecord: unexpected pageaddr %X/%X in log file %u, segment %u, offset %u"
 msgstr ""
 
 #. translator: SUI = startup id
-#: ../access/transam/xlog.c:1981
+#: ../access/transam/xlog.c:1985
 #, c-format
 msgid ""
 "ReadRecord: out-of-sequence SUI %u (after %u) in log file %u, segment %u, "
 "offset %u"
 msgstr ""
 
-#: ../access/transam/xlog.c:2033
+#: ../access/transam/xlog.c:2038
 msgid "invalid LC_COLLATE setting"
 msgstr ""
 
-#: ../access/transam/xlog.c:2037
+#: ../access/transam/xlog.c:2042
 msgid "invalid LC_CTYPE setting"
 msgstr ""
 
-#: ../access/transam/xlog.c:2046
+#: ../access/transam/xlog.c:2051
 #, c-format
 msgid ""
 "Initializing database with %s collation order.\n"
@@ -5202,36 +5200,36 @@ msgid ""
 "\tre-initdb.  For more information see the Administrator's Guide."
 msgstr ""
 
-#: ../access/transam/xlog.c:2072
+#: ../access/transam/xlog.c:2077
 msgid "sizeof(ControlFileData) is larger than BLCKSZ; fix either one"
 msgstr ""
 
-#: ../access/transam/xlog.c:2080
+#: ../access/transam/xlog.c:2085
 #, c-format
 msgid "WriteControlFile: could not create control file (%s): %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:2089
+#: ../access/transam/xlog.c:2094
 #, c-format
 msgid "WriteControlFile: write to control file failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:2093
+#: ../access/transam/xlog.c:2098
 #, c-format
 msgid "WriteControlFile: fsync of control file failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:2109 ../access/transam/xlog.c:2206
+#: ../access/transam/xlog.c:2114 ../access/transam/xlog.c:2211
 #, c-format
 msgid "could not open control file (%s): %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:2112
+#: ../access/transam/xlog.c:2117
 #, c-format
 msgid "read from control file failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:2124
+#: ../access/transam/xlog.c:2129
 #, c-format
 msgid ""
 "The database cluster was initialized with PG_CONTROL_VERSION %d,\n"
@@ -5239,11 +5237,11 @@ msgid ""
 "\tIt looks like you need to initdb."
 msgstr ""
 
-#: ../access/transam/xlog.c:2137
+#: ../access/transam/xlog.c:2142
 msgid "invalid checksum in control file"
 msgstr ""
 
-#: ../access/transam/xlog.c:2153
+#: ../access/transam/xlog.c:2158
 #, c-format
 msgid ""
 "The database cluster was initialized with CATALOG_VERSION_NO %d,\n"
@@ -5251,7 +5249,7 @@ msgid ""
 "\tIt looks like you need to initdb."
 msgstr ""
 
-#: ../access/transam/xlog.c:2159
+#: ../access/transam/xlog.c:2164
 #, c-format
 msgid ""
 "The database cluster was initialized with BLCKSZ %d,\n"
@@ -5259,7 +5257,7 @@ msgid ""
 "\tIt looks like you need to initdb."
 msgstr ""
 
-#: ../access/transam/xlog.c:2165
+#: ../access/transam/xlog.c:2170
 #, c-format
 msgid ""
 "The database cluster was initialized with RELSEG_SIZE %d,\n"
@@ -5267,7 +5265,7 @@ msgid ""
 "\tIt looks like you need to initdb."
 msgstr ""
 
-#: ../access/transam/xlog.c:2172
+#: ../access/transam/xlog.c:2177
 #, c-format
 msgid ""
 "The database cluster was initialized with LC_COLLATE '%s',\n"
@@ -5275,7 +5273,7 @@ msgid ""
 "\tIt looks like you need to initdb."
 msgstr ""
 
-#: ../access/transam/xlog.c:2178
+#: ../access/transam/xlog.c:2183
 #, c-format
 msgid ""
 "The database cluster was initialized with LC_CTYPE '%s',\n"
@@ -5283,7 +5281,7 @@ msgid ""
 "\tIt looks like you need to initdb."
 msgstr ""
 
-#: ../access/transam/xlog.c:2186
+#: ../access/transam/xlog.c:2191
 #, c-format
 msgid ""
 "The database cluster was initialized with LC_COLLATE '%s' and\n"
@@ -5291,41 +5289,41 @@ msgid ""
 "\tIt looks like you need to initdb or recompile."
 msgstr ""
 
-#: ../access/transam/xlog.c:2214
+#: ../access/transam/xlog.c:2219
 #, c-format
 msgid "write to control file failed: %m"
 msgstr "дÈë¿ØÖÆÎļþʧ°Ü: %m"
 
-#: ../access/transam/xlog.c:2218
+#: ../access/transam/xlog.c:2223
 #, c-format
 msgid "fsync of control file failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:2358
+#: ../access/transam/xlog.c:2363
 #, c-format
 msgid "BootStrapXLOG failed to write log file: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:2362
+#: ../access/transam/xlog.c:2367
 #, c-format
 msgid "BootStrapXLOG failed to fsync log file: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:2428
+#: ../access/transam/xlog.c:2433
 msgid "control file context is broken"
 msgstr ""
 
-#: ../access/transam/xlog.c:2431
+#: ../access/transam/xlog.c:2436
 #, c-format
 msgid "database system was shut down at %s"
 msgstr ""
 
-#: ../access/transam/xlog.c:2434
+#: ../access/transam/xlog.c:2439
 #, c-format
 msgid "database system shutdown was interrupted at %s"
 msgstr ""
 
-#: ../access/transam/xlog.c:2437
+#: ../access/transam/xlog.c:2442
 #, c-format
 msgid ""
 "database system was interrupted being in recovery at %s\n"
@@ -5333,161 +5331,161 @@ msgid ""
 "\tand you will have to use the last backup for recovery."
 msgstr ""
 
-#: ../access/transam/xlog.c:2442
+#: ../access/transam/xlog.c:2447
 #, c-format
 msgid "database system was interrupted at %s"
 msgstr ""
 
-#: ../access/transam/xlog.c:2453
+#: ../access/transam/xlog.c:2458
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:2462
+#: ../access/transam/xlog.c:2467
 #, c-format
 msgid "using previous checkpoint record at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:2467
+#: ../access/transam/xlog.c:2472
 msgid "unable to locate a valid checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2473
+#: ../access/transam/xlog.c:2478
 #, c-format
 msgid "redo record is at %X/%X; undo record is at %X/%X; shutdown %s"
 msgstr ""
 
-#: ../access/transam/xlog.c:2477
+#: ../access/transam/xlog.c:2482
 #, c-format
 msgid "next transaction id: %u; next oid: %u"
 msgstr ""
 
-#: ../access/transam/xlog.c:2480
+#: ../access/transam/xlog.c:2485
 msgid "invalid next transaction id"
 msgstr ""
 
-#: ../access/transam/xlog.c:2491
+#: ../access/transam/xlog.c:2496
 msgid "invalid redo in checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2499
+#: ../access/transam/xlog.c:2504
 msgid "invalid redo/undo record in shutdown checkpoint"
 msgstr ""
 
-#: ../access/transam/xlog.c:2508
+#: ../access/transam/xlog.c:2513
 msgid ""
 "database system was not properly shut down; automatic recovery in progress"
 msgstr ""
 
-#: ../access/transam/xlog.c:2528
+#: ../access/transam/xlog.c:2533
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:2559
+#: ../access/transam/xlog.c:2564
 #, c-format
 msgid "redo done at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:2565
+#: ../access/transam/xlog.c:2570
 msgid "redo is not required"
 msgstr ""
 
-#: ../access/transam/xlog.c:2647
+#: ../access/transam/xlog.c:2653
 #, c-format
 msgid "undo starts at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:2657
+#: ../access/transam/xlog.c:2663
 #, c-format
 msgid "undo done at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:2661
+#: ../access/transam/xlog.c:2667
 msgid "undo is not required"
 msgstr ""
 
-#: ../access/transam/xlog.c:2695
+#: ../access/transam/xlog.c:2702
 msgid "database system is ready"
 msgstr ""
 
-#: ../access/transam/xlog.c:2727
+#: ../access/transam/xlog.c:2734
 msgid "invalid primary checkpoint link in control file"
 msgstr ""
 
-#: ../access/transam/xlog.c:2728
+#: ../access/transam/xlog.c:2735
 msgid "invalid secondary checkpoint link in control file"
 msgstr ""
 
-#: ../access/transam/xlog.c:2737
+#: ../access/transam/xlog.c:2744
 msgid "invalid primary checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2738
+#: ../access/transam/xlog.c:2745
 msgid "invalid secondary checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2744
+#: ../access/transam/xlog.c:2751
 msgid "invalid resource manager id in primary checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2745
+#: ../access/transam/xlog.c:2752
 msgid "invalid resource manager id in secondary checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2752
+#: ../access/transam/xlog.c:2759
 msgid "invalid xl_info in primary checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2753
+#: ../access/transam/xlog.c:2760
 msgid "invalid xl_info in secondary checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2759
+#: ../access/transam/xlog.c:2766
 msgid "invalid length of primary checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2760
+#: ../access/transam/xlog.c:2767
 msgid "invalid length of secondary checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2808
+#: ../access/transam/xlog.c:2815
 msgid "shutting down"
 msgstr ""
 
-#: ../access/transam/xlog.c:2819
+#: ../access/transam/xlog.c:2826
 msgid "database system is shut down"
 msgstr ""
 
-#: ../access/transam/xlog.c:2837
+#: ../access/transam/xlog.c:2844
 msgid "CreateCheckPoint: cannot be called inside transaction block"
 msgstr ""
 
-#: ../access/transam/xlog.c:2935
+#: ../access/transam/xlog.c:2942
 msgid "active transaction while database system is shutting down"
 msgstr ""
 
-#: ../access/transam/xlog.c:2982
+#: ../access/transam/xlog.c:2989
 msgid ""
 "concurrent transaction log activity while database system is shutting down"
 msgstr ""
 
-#: ../access/transam/xlog.c:3220
+#: ../access/transam/xlog.c:3226
 #, c-format
 msgid "bogus wal_sync_method %s"
 msgstr ""
 
-#: ../access/transam/xlog.c:3236 ../access/transam/xlog.c:3262
+#: ../access/transam/xlog.c:3243 ../access/transam/xlog.c:3269
 #, c-format
 msgid "fsync of log file %u, segment %u failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:3268
+#: ../access/transam/xlog.c:3275
 #, c-format
 msgid "fdatasync of log file %u, segment %u failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:3276
+#: ../access/transam/xlog.c:3283
 #, c-format
 msgid "bogus wal_sync_method %d"
 msgstr ""
@@ -5505,99 +5503,99 @@ msgstr ""
 msgid "Illegal scan direction %d"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:747
+#: ../access/nbtree/nbtree.c:728
 #, c-format
 msgid ""
 "_bt_restscan: my bits moved right off the end of the world!\n"
 "\tRecreate index %s."
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:777
+#: ../access/nbtree/nbtree.c:758
 msgid "_bt_restore_page: can't add item to page"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:800
+#: ../access/nbtree/nbtree.c:781
 msgid "btree_delete_redo: block unfound"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:803
+#: ../access/nbtree/nbtree.c:784
 msgid "btree_delete_redo: uninitialized page"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:839
+#: ../access/nbtree/nbtree.c:820
 #, c-format
 msgid "btree_insert_%sdo: block unfound"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:842
+#: ../access/nbtree/nbtree.c:823
 #, c-format
 msgid "btree_insert_%sdo: uninitialized page"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:856
+#: ../access/nbtree/nbtree.c:837
 msgid "btree_insert_redo: failed to add item"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:865
+#: ../access/nbtree/nbtree.c:846
 msgid "btree_insert_undo: bad page LSN"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:873
+#: ../access/nbtree/nbtree.c:854
 msgid "btree_insert_undo: unimplemented"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:900
+#: ../access/nbtree/nbtree.c:881
 #, c-format
 msgid "btree_split_%s: lost left sibling"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:906
+#: ../access/nbtree/nbtree.c:887
 msgid "btree_split_undo: uninitialized left sibling"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:929
+#: ../access/nbtree/nbtree.c:910
 msgid "btree_split_undo: bad left sibling LSN"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:930 ../access/nbtree/nbtree.c:969
+#: ../access/nbtree/nbtree.c:911 ../access/nbtree/nbtree.c:950
 msgid "btree_split_undo: unimplemented"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:938
+#: ../access/nbtree/nbtree.c:919
 #, c-format
 msgid "btree_split_%s: lost right sibling"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:944
+#: ../access/nbtree/nbtree.c:925
 msgid "btree_split_undo: uninitialized right sibling"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:968
+#: ../access/nbtree/nbtree.c:949
 msgid "btree_split_undo: bad right sibling LSN"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:982
+#: ../access/nbtree/nbtree.c:963
 msgid "btree_split_redo: lost next right page"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:986
+#: ../access/nbtree/nbtree.c:967
 msgid "btree_split_redo: uninitialized next right page"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:1023
+#: ../access/nbtree/nbtree.c:1004
 msgid "btree_newroot_redo: no root page"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:1026
+#: ../access/nbtree/nbtree.c:1007
 msgid "btree_newroot_redo: no metapage"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:1080
+#: ../access/nbtree/nbtree.c:1061
 #, c-format
 msgid "btree_redo: unknown op code %u"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:1100
+#: ../access/nbtree/nbtree.c:1081
 #, c-format
 msgid "btree_undo: unknown op code %u"
 msgstr ""
@@ -5651,41 +5649,41 @@ msgstr ""
 msgid "_bt_findsplitloc: can't find a feasible split point for %s"
 msgstr ""
 
-#: ../access/nbtree/nbtinsert.c:1302
+#: ../access/nbtree/nbtinsert.c:1301
 msgid "btree: failed to add leftkey to new root page"
 msgstr ""
 
-#: ../access/nbtree/nbtinsert.c:1319
+#: ../access/nbtree/nbtinsert.c:1318
 msgid "btree: failed to add rightkey to new root page"
 msgstr ""
 
-#: ../access/nbtree/nbtinsert.c:1403
+#: ../access/nbtree/nbtinsert.c:1402
 msgid "bt_fixroot: not valid old root page"
 msgstr ""
 
-#: ../access/nbtree/nbtinsert.c:1534
+#: ../access/nbtree/nbtinsert.c:1533
 #, c-format
 msgid "bt_fixtree[%s]: invalid start page (need to recreate index)"
 msgstr ""
 
-#: ../access/nbtree/nbtinsert.c:1560
+#: ../access/nbtree/nbtinsert.c:1559
 #, c-format
 msgid "bt_fixtree[%s]: fixing root page"
 msgstr ""
 
-#: ../access/nbtree/nbtinsert.c:1608
+#: ../access/nbtree/nbtinsert.c:1607
 #, c-format
 msgid "bt_fixlevel[%s]: invalid maxoff on start page (need to recreate index)"
 msgstr ""
 
-#: ../access/nbtree/nbtinsert.c:1615
+#: ../access/nbtree/nbtinsert.c:1614
 #, c-format
 msgid ""
 "bt_fixtlevel[%s]: non-leftmost child page of leftmost parent (need to "
 "recreate index)"
 msgstr ""
 
-#: ../access/nbtree/nbtinsert.c:1618
+#: ../access/nbtree/nbtinsert.c:1617
 #, c-format
 msgid "bt_fixtlevel[%s]: invalid start child (need to recreate index)"
 msgstr ""
@@ -5765,16 +5763,16 @@ msgstr ""
 msgid "Version mismatch on %s: version %d file, version %d code"
 msgstr ""
 
-#: ../access/nbtree/nbtpage.c:256
+#: ../access/nbtree/nbtpage.c:259
 #, c-format
 msgid "bt_getroot[%s]: fixing root page"
 msgstr ""
 
-#: ../access/nbtree/nbtsort.c:285
+#: ../access/nbtree/nbtsort.c:286
 msgid "btree: failed to add item to the page in _bt_sort"
 msgstr ""
 
-#: ../access/nbtree/nbtsort.c:350
+#: ../access/nbtree/nbtsort.c:351
 #, c-format
 msgid "btree: index item size %lu exceeds maximum %ld"
 msgstr ""
@@ -5783,36 +5781,36 @@ msgstr ""
 msgid "_bt_orderkeys: key(s) for attribute 1 missed"
 msgstr ""
 
-#: ../access/nbtree/nbtutils.c:286
+#: ../access/nbtree/nbtutils.c:287
 #, c-format
 msgid "_bt_orderkeys: key(s) for attribute %d missed"
 msgstr ""
 
-#: ../access/nbtree/nbtutils.c:402
+#: ../access/nbtree/nbtutils.c:404
 #, c-format
 msgid "_bt_orderkeys: unable to identify operator %u"
 msgstr ""
 
-#: ../storage/ipc/ipc.c:135
+#: ../storage/ipc/ipc.c:138
 #, c-format
 msgid "proc_exit(%d)"
 msgstr ""
 
-#: ../storage/ipc/ipc.c:154
+#: ../storage/ipc/ipc.c:157
 #, c-format
 msgid "exit(%d)"
 msgstr ""
 
-#: ../storage/ipc/ipc.c:168
+#: ../storage/ipc/ipc.c:171
 #, c-format
 msgid "shmem_exit(%d)"
 msgstr ""
 
-#: ../storage/ipc/ipc.c:194
+#: ../storage/ipc/ipc.c:197
 msgid "Out of on_proc_exit slots"
 msgstr ""
 
-#: ../storage/ipc/ipc.c:213
+#: ../storage/ipc/ipc.c:216
 msgid "Out of on_shmem_exit slots"
 msgstr ""
 
@@ -5820,8 +5818,8 @@ msgstr ""
 msgid "Backend cache invalidation initialization failed"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1180 ../storage/ipc/sinval.c:53
-#: ../storage/lmgr/proc.c:1091
+#: ../postmaster/postmaster.c:1114 ../storage/ipc/sinval.c:53
+#: ../storage/lmgr/proc.c:1088
 msgid "Sorry, too many clients already"
 msgstr ""
 
@@ -5833,46 +5831,46 @@ msgstr ""
 msgid "ReceiveSharedInvalidMessages: cache state reset"
 msgstr ""
 
-#: ../storage/ipc/sinval.c:312 ../storage/ipc/sinval.c:322
+#: ../storage/ipc/sinval.c:311 ../storage/ipc/sinval.c:321
 msgid "Memory exhausted in GetSnapshotData"
 msgstr ""
 
-#: ../storage/ipc/shmem.c:157
+#: ../storage/ipc/shmem.c:156
 msgid "ShmemAlloc: out of memory"
 msgstr "ShmemAlloc: ÄÚ´æÓþ¡"
 
-#: ../storage/ipc/shmem.c:203
+#: ../storage/ipc/shmem.c:202
 msgid "InitShmemIndex: couldn't initialize Shmem Index"
 msgstr ""
 
-#: ../storage/ipc/shmem.c:214
+#: ../storage/ipc/shmem.c:213
 msgid "InitShmemIndex: Shmem Index out of memory"
 msgstr ""
 
-#: ../storage/ipc/shmem.c:332
+#: ../storage/ipc/shmem.c:331
 msgid "ShmemInitStruct: Shmem Index out of memory"
 msgstr ""
 
-#: ../storage/ipc/shmem.c:347
+#: ../storage/ipc/shmem.c:346
 msgid "ShmemInitStruct: ShmemIndex entry size is wrong"
 msgstr ""
 
-#: ../storage/ipc/shmem.c:364
+#: ../storage/ipc/shmem.c:363
 #, c-format
 msgid "ShmemInitStruct: cannot allocate '%s'"
 msgstr ""
 
-#: ../storage/ipc/sinvaladt.c:122
+#: ../storage/ipc/sinvaladt.c:124
 #, c-format
 msgid "SIBackendInit: backend id %d"
 msgstr ""
 
-#: ../storage/ipc/sinvaladt.c:222
+#: ../storage/ipc/sinvaladt.c:224
 #, c-format
 msgid "SIInsertDataEntry: table is 70%% full, signaling postmaster"
 msgstr ""
 
-#: ../storage/ipc/ipci.c:109
+#: ../storage/ipc/ipci.c:108
 msgid "Couldn't create the lock table"
 msgstr ""
 
@@ -5893,178 +5891,178 @@ msgid ""
 "\tSystem allows %ld, we need at least %d."
 msgstr ""
 
-#: ../storage/file/fd.c:367
+#: ../storage/file/fd.c:368
 #, c-format
 msgid "Delete %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:387
+#: ../storage/file/fd.c:388
 #, c-format
 msgid "LruDelete %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:422
+#: ../storage/file/fd.c:423
 #, c-format
 msgid "Insert %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:444
+#: ../storage/file/fd.c:445
 #, c-format
 msgid "LruInsert %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:466
+#: ../storage/file/fd.c:467
 #, c-format
 msgid "RE_OPEN FAILED: %d"
 msgstr ""
 
-#: ../storage/file/fd.c:471
+#: ../storage/file/fd.c:472
 msgid "RE_OPEN SUCCESS"
 msgstr ""
 
-#: ../storage/file/fd.c:495
+#: ../storage/file/fd.c:496
 #, c-format
 msgid "ReleaseLruFile. Opened %d"
 msgstr ""
 
-#: ../storage/file/fd.c:516
+#: ../storage/file/fd.c:518
 #, c-format
 msgid "AllocateVfd. Size %d"
 msgstr ""
 
-#: ../storage/file/fd.c:523
+#: ../storage/file/fd.c:525
 msgid "AllocateVfd: no room for VFD array"
 msgstr ""
 
-#: ../storage/file/fd.c:555
+#: ../storage/file/fd.c:558
 msgid "AllocateVfd: no room to enlarge VFD array"
 msgstr ""
 
-#: ../storage/file/fd.c:588
+#: ../storage/file/fd.c:591
 #, c-format
 msgid "FreeVfd: %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:638
+#: ../storage/file/fd.c:643
 #, c-format
 msgid "FileAccess %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:690
+#: ../storage/file/fd.c:697
 msgid "fileNameOpenFile: NULL fname"
 msgstr ""
 
-#: ../storage/file/fd.c:692
+#: ../storage/file/fd.c:699
 #, c-format
 msgid "fileNameOpenFile: %s %x %o"
 msgstr ""
 
-#: ../storage/file/fd.c:712
+#: ../storage/file/fd.c:719
 #, c-format
 msgid "fileNameOpenFile: success %d"
 msgstr ""
 
-#: ../storage/file/fd.c:719
+#: ../storage/file/fd.c:726
 msgid "fileNameOpenFile: no room to save VFD filename"
 msgstr ""
 
-#: ../storage/file/fd.c:812
+#: ../storage/file/fd.c:819
 #, c-format
 msgid "Failed to create temporary file %s"
 msgstr "´´½¨ÁÙʱÎļþ %s Ê§°Ü"
 
-#: ../storage/file/fd.c:831
+#: ../storage/file/fd.c:838
 #, c-format
 msgid "FileClose: %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:880
+#: ../storage/file/fd.c:887
 #, c-format
 msgid "FileUnlink: %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:896
+#: ../storage/file/fd.c:903
 #, c-format
 msgid "FileRead: %d (%s) %ld %d %p"
 msgstr ""
 
-#: ../storage/file/fd.c:917
+#: ../storage/file/fd.c:924
 #, c-format
 msgid "FileWrite: %d (%s) %ld %d %p"
 msgstr ""
 
-#: ../storage/file/fd.c:943
+#: ../storage/file/fd.c:950
 #, c-format
 msgid "FileSeek: %d (%s) %ld %ld %d"
 msgstr ""
 
-#: ../storage/file/fd.c:953 ../storage/file/fd.c:974
+#: ../storage/file/fd.c:960 ../storage/file/fd.c:981
 #, c-format
 msgid "FileSeek: invalid offset: %ld"
 msgstr ""
 
-#: ../storage/file/fd.c:964 ../storage/file/fd.c:986
+#: ../storage/file/fd.c:971 ../storage/file/fd.c:993
 #, c-format
 msgid "FileSeek: invalid whence: %d"
 msgstr ""
 
-#: ../storage/file/fd.c:1001
+#: ../storage/file/fd.c:1008
 #, c-format
 msgid "FileTell %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:1014
+#: ../storage/file/fd.c:1022
 #, c-format
 msgid "FileTruncate %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:1113
+#: ../storage/file/fd.c:1122
 #, c-format
 msgid "FileMarkDirty: %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:1143
+#: ../storage/file/fd.c:1152
 #, c-format
 msgid "AllocateFile: Allocated %d"
 msgstr ""
 
-#: ../storage/file/fd.c:1146
+#: ../storage/file/fd.c:1155
 msgid "AllocateFile: too many private FDs demanded"
 msgstr ""
 
-#: ../storage/file/fd.c:1160
+#: ../storage/file/fd.c:1169
 #, c-format
 msgid "AllocateFile: not enough descs, retry, er= %d"
 msgstr ""
 
-#: ../storage/file/fd.c:1176
+#: ../storage/file/fd.c:1185
 #, c-format
 msgid "FreeFile: Allocated %d"
 msgstr ""
 
-#: ../storage/file/fd.c:1189
+#: ../storage/file/fd.c:1198
 msgid "FreeFile: file was not obtained from AllocateFile"
 msgstr ""
 
-#: ../storage/file/buffile.c:477
+#: ../storage/file/buffile.c:479
 #, c-format
 msgid "BufFileSeek: invalid whence: %d"
 msgstr ""
 
-#: ../storage/lmgr/lwlock.c:70
+#: ../storage/lmgr/lwlock.c:69
 #, c-format
 msgid "%s(%d): excl %d shared %d head %p"
 msgstr ""
 
-#: ../storage/lmgr/lwlock.c:173
+#: ../storage/lmgr/lwlock.c:172
 msgid "No more LWLockIds available"
 msgstr ""
 
-#: ../storage/lmgr/lwlock.c:242
+#: ../storage/lmgr/lwlock.c:241
 msgid "LWLockAcquire: can't wait without a PROC structure"
 msgstr ""
 
-#: ../storage/lmgr/lwlock.c:389
+#: ../storage/lmgr/lwlock.c:387
 #, c-format
 msgid "LWLockRelease: lock %d is not held"
 msgstr ""
@@ -6111,42 +6109,42 @@ msgid ""
 "d)=%d"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:251
+#: ../storage/lmgr/lock.c:252
 #, c-format
 msgid "LockMethodTableInit: too many lock types %d greater than %d"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:282 ../storage/lmgr/lock.c:323
-#: ../storage/lmgr/lock.c:343
+#: ../storage/lmgr/lock.c:283 ../storage/lmgr/lock.c:324
+#: ../storage/lmgr/lock.c:344
 #, c-format
 msgid "LockMethodTableInit: couldn't initialize %s"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:464
+#: ../storage/lmgr/lock.c:465
 #, c-format
 msgid "LockAcquire: user lock [%u] %s"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:475
+#: ../storage/lmgr/lock.c:476
 #, c-format
 msgid "LockAcquire: bad lock table %d"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:493
+#: ../storage/lmgr/lock.c:494
 #, c-format
 msgid "LockAcquire: lock table %d is out of memory"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:540
+#: ../storage/lmgr/lock.c:541
 msgid "LockAcquire: holder table out of memory"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:585
+#: ../storage/lmgr/lock.c:586
 #, c-format
 msgid "Deadlock risk: raising lock level from %s to %s on object %u/%u/%u"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:665
+#: ../storage/lmgr/lock.c:664
 msgid "LockAcquire: remove holder, table corrupted"
 msgstr ""
 
@@ -6180,70 +6178,70 @@ msgstr ""
 msgid "LockRelease: you don't own a lock of type %s"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:1129
+#: ../storage/lmgr/lock.c:1130
 msgid "LockRelease: remove lock, table corrupted"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:1158
+#: ../storage/lmgr/lock.c:1159
 msgid "LockRelease: remove holder, table corrupted"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:1199
+#: ../storage/lmgr/lock.c:1200
 #, c-format
 msgid "LockReleaseAll: lockmethod=%d, pid=%d"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:1207
+#: ../storage/lmgr/lock.c:1208
 #, c-format
 msgid "LockReleaseAll: bad lockmethod %d"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:1311
+#: ../storage/lmgr/lock.c:1312
 msgid "LockReleaseAll: holder table corrupted"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:1329
+#: ../storage/lmgr/lock.c:1330
 msgid "LockReleaseAll: cannot remove lock from HTAB"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:1344
+#: ../storage/lmgr/lock.c:1345
 msgid "LockReleaseAll: done"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:1463
+#: ../storage/lmgr/lock.c:1464
 msgid "DumpAllLocks: holder->tag.lock = NULL"
 msgstr ""
 
-#: ../storage/lmgr/proc.c:212
+#: ../storage/lmgr/proc.c:209
 msgid "InitProcess: Proc Header uninitialized"
 msgstr ""
 
-#: ../storage/lmgr/proc.c:215
+#: ../storage/lmgr/proc.c:212
 msgid "InitProcess: you already exist"
 msgstr ""
 
-#: ../storage/lmgr/proc.c:238
+#: ../storage/lmgr/proc.c:235
 msgid "cannot create new proc: out of memory"
 msgstr "ÎÞ·¨´´½¨Ð¹ý³Ì: ÄÚ´æÓþ¡"
 
-#: ../storage/lmgr/proc.c:301
+#: ../storage/lmgr/proc.c:298
 msgid "InitDummyProcess: Proc Header uninitialized"
 msgstr ""
 
-#: ../storage/lmgr/proc.c:304
+#: ../storage/lmgr/proc.c:301
 msgid "InitDummyProcess: you already exist"
 msgstr ""
 
-#: ../storage/lmgr/proc.c:310
+#: ../storage/lmgr/proc.c:307
 #, c-format
 msgid "InitDummyProcess: DummyProc is in use by PID %d"
 msgstr ""
 
-#: ../storage/lmgr/proc.c:696
+#: ../storage/lmgr/proc.c:693
 msgid "ProcSleep: Unable to set timer for process wakeup"
 msgstr ""
 
-#: ../storage/lmgr/proc.c:718
+#: ../storage/lmgr/proc.c:715
 msgid "ProcSleep: Unable to disable timer for process wakeup"
 msgstr ""
 
@@ -6251,7 +6249,7 @@ msgstr ""
 msgid "s_init_lock_sema: not enough semaphores"
 msgstr ""
 
-#: ../storage/lmgr/deadlock.c:273
+#: ../storage/lmgr/deadlock.c:274
 msgid "DeadLockCheckRecurse: inconsistent results"
 msgstr ""
 
@@ -6263,25 +6261,8 @@ msgstr ""
 msgid "PageAddItem: tried overwrite of used ItemId"
 msgstr ""
 
-#: ../storage/page/bufpage.c:296
-#, c-format
-msgid ""
-"PageRepairFragmentation: corrupted page pointers: lower = %u, upper = %u, "
-"special = %u"
-msgstr ""
-
-#: ../storage/page/bufpage.c:338
-#, c-format
-msgid "PageRepairFragmentation: corrupted item pointer %u"
-msgstr ""
-
-#: ../storage/page/bufpage.c:351
-#, c-format
-msgid "PageRepairFragmentation: corrupted item lengths, total %u, avail %u"
-msgstr ""
-
-#: ../storage/smgr/md.c:252 ../storage/smgr/md.c:442 ../storage/smgr/md.c:485
-#: ../storage/smgr/md.c:519 ../storage/smgr/md.c:564
+#: ../storage/smgr/md.c:252 ../storage/smgr/md.c:445 ../storage/smgr/md.c:488
+#: ../storage/smgr/md.c:522 ../storage/smgr/md.c:567
 msgid "seekpos too big!"
 msgstr ""
 
@@ -6289,48 +6270,48 @@ msgstr ""
 msgid "segment too big!"
 msgstr ""
 
-#: ../storage/smgr/md.c:341
+#: ../storage/smgr/md.c:342
 msgid "segment too big on relopen!"
 msgstr ""
 
-#: ../storage/smgr/md.c:574
+#: ../storage/smgr/md.c:577
 #, c-format
 msgid "mdblindwrt: lseek(%ld) failed: %m"
 msgstr ""
 
-#: ../storage/smgr/md.c:588
+#: ../storage/smgr/md.c:591
 #, c-format
 msgid "mdblindwrt: write() failed: %m"
 msgstr ""
 
-#: ../storage/smgr/md.c:594
+#: ../storage/smgr/md.c:597
 #, c-format
 msgid "mdblindwrt: close() failed: %m"
 msgstr ""
 
-#: ../storage/smgr/md.c:679
+#: ../storage/smgr/md.c:681
 msgid "segment too big in mdnblocks!"
 msgstr ""
 
-#: ../storage/smgr/md.c:699
+#: ../storage/smgr/md.c:700
 #, c-format
 msgid "cannot count blocks for %s -- open failed: %m"
 msgstr ""
 
-#: ../storage/smgr/md.c:891
+#: ../storage/smgr/md.c:892
 msgid "_fdvec_alloc error"
 msgstr ""
 
-#: ../storage/smgr/md.c:973
+#: ../storage/smgr/md.c:974
 msgid "segment too big on openseg!"
 msgstr ""
 
-#: ../storage/smgr/md.c:992
+#: ../storage/smgr/md.c:993
 #, c-format
 msgid "_mdfd_getrelnfd: cannot open relation %s: %m"
 msgstr ""
 
-#: ../storage/smgr/md.c:1035
+#: ../storage/smgr/md.c:1036
 #, c-format
 msgid "cannot open segment %u of relation %s (target block %u): %m"
 msgstr ""
@@ -6374,94 +6355,94 @@ msgstr ""
 msgid "Illegal storage manager id %d"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:135
+#: ../storage/smgr/smgr.c:137
 #, c-format
 msgid "initialization failed on %s: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:157
+#: ../storage/smgr/smgr.c:159
 #, c-format
 msgid "shutdown failed on %s: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:177
+#: ../storage/smgr/smgr.c:179
 #, c-format
 msgid "cannot create %s: %m"
 msgstr "ÎÞ·¨´´½¨ %s: %m"
 
-#: ../storage/smgr/smgr.c:247
+#: ../storage/smgr/smgr.c:249
 #, c-format
 msgid ""
 "cannot extend %s: %m.\n"
 "\tCheck free disk space."
 msgstr ""
 
-#: ../storage/smgr/smgr.c:283
+#: ../storage/smgr/smgr.c:285
 #, c-format
 msgid "cannot close %s: %m"
 msgstr "ÎÞ·¨¹Ø±Õ %s: %m"
 
-#: ../storage/smgr/smgr.c:306
+#: ../storage/smgr/smgr.c:308
 #, c-format
 msgid "cannot read block %d of %s: %m"
 msgstr "ÎÞ·¨¶ÁÈ¡ %2$s µÄ¿é %1$d: %m"
 
-#: ../storage/smgr/smgr.c:328
+#: ../storage/smgr/smgr.c:330
 #, c-format
 msgid "cannot write block %d of %s: %m"
 msgstr "ÎÞ·¨Ð´Èë %2$s µÄ¿é %1$d: %m"
 
-#: ../storage/smgr/smgr.c:345
+#: ../storage/smgr/smgr.c:347
 #, c-format
 msgid "cannot flush block %d of %s to stable store: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:376
+#: ../storage/smgr/smgr.c:378
 #, c-format
 msgid "cannot write block %d of %u/%u blind: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:402
+#: ../storage/smgr/smgr.c:404
 #, c-format
 msgid "cannot mark block %d of %s: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:423
+#: ../storage/smgr/smgr.c:425
 #, c-format
 msgid "cannot mark block %d of %u/%u blind: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:450
+#: ../storage/smgr/smgr.c:451
 #, c-format
 msgid "cannot count blocks for %s: %m"
 msgstr "ÎÞ·¨Îª %s ¼ÆËã¿éÊý: %m"
 
-#: ../storage/smgr/smgr.c:482
+#: ../storage/smgr/smgr.c:483
 #, c-format
 msgid "cannot truncate %s to %u blocks: %m"
 msgstr "ÎÞ·¨½« %s ½Ø¶ÏΪ %u ¿é: %m"
 
-#: ../storage/smgr/smgr.c:524
+#: ../storage/smgr/smgr.c:525
 #, c-format
 msgid "cannot unlink %u/%u: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:547
+#: ../storage/smgr/smgr.c:548
 #, c-format
 msgid "transaction commit failed on %s: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:566
+#: ../storage/smgr/smgr.c:567
 #, c-format
 msgid "transaction abort failed on %s: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:585
+#: ../storage/smgr/smgr.c:586
 #, c-format
 msgid "storage sync failed on %s: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:599
+#: ../storage/smgr/smgr.c:600
 #, c-format
 msgid "illegal storage manager number %d"
 msgstr ""
@@ -6490,87 +6471,87 @@ msgstr ""
 msgid "Out of memory in LocalBufferAlloc"
 msgstr ""
 
-#: ../storage/buffer/freelist.c:201
+#: ../storage/buffer/freelist.c:203
 msgid "out of free buffers: time to abort!"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:258
+#: ../storage/buffer/bufmgr.c:254
 msgid "BufRead: buffer table broken after IO error"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:428
+#: ../storage/buffer/bufmgr.c:426
 #, c-format
 msgid "BufferAlloc: cannot write block %u for %u/%u"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:446
+#: ../storage/buffer/bufmgr.c:444
 #, c-format
 msgid "BufferAlloc: content of block %u (%u/%u) changed while flushing"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:538
+#: ../storage/buffer/bufmgr.c:537
 msgid "buffer wasn't in the buffer table"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:546
+#: ../storage/buffer/bufmgr.c:545
 msgid "Buffer in lookup table twice"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:807
+#: ../storage/buffer/bufmgr.c:806
 #, c-format
 msgid "BufferSync: cannot write %u for %u/%u"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:978
+#: ../storage/buffer/bufmgr.c:965
 #, c-format
 msgid ""
 "Buffer Leak: [%03d] (freeNext=%d, freePrev=%d, rel=%u/%u, blockNum=%u, "
 "flags=0x%x, refcount=%d %ld)"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:1374 ../storage/buffer/bufmgr.c:1406
+#: ../storage/buffer/bufmgr.c:1364 ../storage/buffer/bufmgr.c:1396
 #, c-format
 msgid ""
 "[%02d] (freeNext=%d, freePrev=%d, rel=%u/%u, blockNum=%u, flags=0x%x, "
 "refcount=%d %ld)"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:1507
+#: ../storage/buffer/bufmgr.c:1498
 #, c-format
 msgid ""
 "FlushRelationBuffers(%s (local), %u): block %u is dirty, could not flush it"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:1517
+#: ../storage/buffer/bufmgr.c:1508
 #, c-format
 msgid "FlushRelationBuffers(%s (local), %u): block %u is referenced (%ld)"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:1569
+#: ../storage/buffer/bufmgr.c:1560
 #, c-format
 msgid "FlushRelationBuffers: cannot write %u for %u/%u"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:1595
+#: ../storage/buffer/bufmgr.c:1586
 #, c-format
 msgid ""
 "FlushRelationBuffers(%s, %u): block %u is referenced (private %ld, global %d)"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:1825
+#: ../storage/buffer/bufmgr.c:1819
 msgid "buffer alloc trace error and can't open log file"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:2018
+#: ../storage/buffer/bufmgr.c:2016
 #, c-format
 msgid "LockBuffer: unknown lock mode %d"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:2049 ../storage/buffer/bufmgr.c:2056
+#: ../storage/buffer/bufmgr.c:2048 ../storage/buffer/bufmgr.c:2055
 msgid "LockBufferForCleanup: wrong local pin count"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:2078
+#: ../storage/buffer/bufmgr.c:2077
 msgid "Multiple backends attempting to wait for pincount 1"
 msgstr ""
 
@@ -6579,28 +6560,28 @@ msgstr ""
 msgid "write error may be permanent: cannot write block %u for %u/%u"
 msgstr ""
 
-#: ../storage/freespace/freespace.c:178 ../storage/freespace/freespace.c:193
-#: ../storage/freespace/freespace.c:201
+#: ../storage/freespace/freespace.c:176 ../storage/freespace/freespace.c:191
+#: ../storage/freespace/freespace.c:199
 msgid "Insufficient shared memory for free space map"
 msgstr ""
 
-#: ../storage/freespace/freespace.c:530
+#: ../storage/freespace/freespace.c:522
 msgid "FreeSpaceMap hashtable out of memory"
 msgstr ""
 
-#: ../storage/freespace/freespace.c:599
+#: ../storage/freespace/freespace.c:592
 msgid "FreeSpaceMap hashtable corrupted"
 msgstr ""
 
-#: ../storage/freespace/freespace.c:772
+#: ../storage/freespace/freespace.c:764
 msgid "fsm_record_free_space: unexpected match"
 msgstr ""
 
-#: ../storage/freespace/freespace.c:891
+#: ../storage/freespace/freespace.c:880
 msgid "insert_fsm_page_entry: entry already exists!"
 msgstr ""
 
-#: ../storage/freespace/freespace.c:900
+#: ../storage/freespace/freespace.c:889
 msgid "insert_fsm_page_entry: failed to insert entry!"
 msgstr ""
 
@@ -6644,58 +6625,58 @@ msgstr ""
 msgid "inv_seek: invalid whence: %d"
 msgstr "inv_seek: ·Ç·¨Æðµã: %d"
 
-#: ../commands/rename.c:91
+#: ../commands/rename.c:73
 #, c-format
 msgid "renameatt: class \"%s\" is a system catalog"
 msgstr ""
 
-#: ../commands/rename.c:95
+#: ../commands/rename.c:77
 #, c-format
 msgid "renameatt: you do not own class \"%s\""
 msgstr ""
 
-#: ../commands/rename.c:139
+#: ../commands/rename.c:122
 #, c-format
 msgid "renameatt: can't find catalog entry for inheriting class with oid %u"
 msgstr ""
 
-#: ../commands/rename.c:159
+#: ../commands/rename.c:142
 #, c-format
 msgid "renameatt: attribute \"%s\" does not exist"
 msgstr ""
 
-#: ../commands/rename.c:162
+#: ../commands/rename.c:145
 #, c-format
 msgid "renameatt: system attribute \"%s\" not renamed"
 msgstr ""
 
-#: ../commands/rename.c:169
+#: ../commands/rename.c:152
 #, c-format
 msgid "renameatt: attribute \"%s\" exists"
 msgstr ""
 
-#: ../commands/rename.c:206
-#, c-format
-msgid "renameatt: can't find index id %u"
-msgstr ""
-
-#: ../commands/rename.c:281
+#: ../commands/rename.c:186
 #, c-format
 msgid "renamerel: system relation \"%s\" may not be renamed"
 msgstr ""
 
-#: ../commands/rename.c:285
+#: ../commands/rename.c:190
 #, c-format
 msgid ""
 "renamerel: Illegal class name: \"%s\" -- pg_ is reserved for system catalogs"
 msgstr ""
 
-#: ../commands/rename.c:331
+#: ../catalog/heap.c:941 ../commands/rename.c:207
+#, c-format
+msgid "Relation \"%s\" does not exist"
+msgstr ""
+
+#: ../commands/rename.c:244
 #, c-format
 msgid "renamerel: relation \"%s\" does not exist"
 msgstr ""
 
-#: ../commands/rename.c:334
+#: ../commands/rename.c:247
 #, c-format
 msgid "renamerel: relation \"%s\" exists"
 msgstr ""
@@ -6726,156 +6707,139 @@ msgstr ""
 msgid "RemoveOperator: left unary operator '%s' taking '%s' does not exist"
 msgstr ""
 
-#: ../commands/remove.c:245
+#: ../commands/remove.c:246
 #, c-format
 msgid "RemoveType: type '%s': permission denied"
 msgstr ""
 
-#: ../commands/remove.c:254 ../commands/remove.c:269
+#: ../commands/remove.c:255 ../commands/remove.c:270
 #, c-format
 msgid "RemoveType: type '%s' does not exist"
 msgstr ""
 
-#: ../catalog/pg_proc.c:99 ../commands/comment.c:636 ../commands/remove.c:298
+#: ../catalog/pg_proc.c:99 ../commands/comment.c:647 ../commands/remove.c:299
 #, c-format
 msgid "functions cannot have more than %d arguments"
 msgstr ""
 
-#: ../commands/remove.c:316
+#: ../commands/remove.c:317
 #, c-format
 msgid "RemoveFunction: type '%s' not found"
 msgstr ""
 
-#: ../commands/remove.c:322
+#: ../commands/remove.c:323
 #, c-format
 msgid "RemoveFunction: function '%s': permission denied"
 msgstr ""
 
-#: ../commands/remove.c:340
+#: ../commands/remove.c:341
 #, c-format
 msgid "Removing built-in function \"%s\""
 msgstr ""
 
-#: ../commands/remove.c:374
+#: ../commands/remove.c:375
 #, c-format
 msgid "RemoveAggregate: type '%s' does not exist"
 msgstr ""
 
-#: ../commands/remove.c:382
+#: ../commands/remove.c:383
 #, c-format
 msgid "RemoveAggregate: aggregate '%s' for all types: permission denied"
 msgstr ""
 
-#: ../commands/remove.c:385
+#: ../commands/remove.c:386
 #, c-format
 msgid "RemoveAggregate: aggregate '%s' for type %s: permission denied"
 msgstr ""
 
-#: ../commands/variable.c:113
+#: ../commands/variable.c:112
 #, c-format
 msgid "Syntax error near \"%s\": empty setting"
 msgstr ""
 
-#: ../commands/variable.c:140 ../commands/variable.c:174
+#: ../commands/variable.c:139 ../commands/variable.c:173
 #, c-format
 msgid "Syntax error near \"%s\""
 msgstr ""
 
-#: ../commands/variable.c:150
+#: ../commands/variable.c:149
 #, c-format
 msgid "Syntax error near \"=%s\""
 msgstr ""
 
-#: ../commands/variable.c:249
+#: ../commands/variable.c:251
 #, c-format
 msgid "Bad value for date style (%s)"
 msgstr ""
 
-#: ../commands/variable.c:253
+#: ../commands/variable.c:255
 msgid "Conflicting settings for date"
 msgstr ""
 
-#: ../commands/variable.c:402
-msgid "SET TIME ZONE illegal INTERVAL; month not allowed"
-msgstr ""
-
-#: ../commands/variable.c:426
-msgid "Unable to process SET TIME ZONE command; internal coding error"
-msgstr ""
-
-#: ../commands/variable.c:455 ../commands/variable.c:519
+#: ../commands/variable.c:381 ../commands/variable.c:425
 #, c-format
 msgid "Unable to set TZ environment variable to %s"
 msgstr ""
 
-#: ../commands/variable.c:485
+#: ../commands/variable.c:396
 #, c-format
-msgid "Time zone is '%s'"
-msgstr "ʱÇøÊÇ '%s'"
+msgid "Time zone is %s"
+msgstr "ʱÇøÊÇ %s"
 
-#: ../commands/variable.c:487
-msgid "Time zone is unset"
-msgstr ""
-
-#: ../commands/variable.c:531
+#: ../commands/variable.c:437
 msgid "Unable to clear TZ environment variable"
 msgstr ""
 
-#: ../commands/variable.c:560 ../commands/variable.c:591
+#: ../commands/variable.c:460 ../commands/variable.c:492
 msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query"
 msgstr ""
 
-#: ../commands/variable.c:569
+#: ../commands/variable.c:470
 #, c-format
 msgid "invalid transaction isolation level: %s"
 msgstr ""
 
-#: ../commands/variable.c:579
+#: ../commands/variable.c:480
 msgid "TRANSACTION ISOLATION LEVEL is SERIALIZABLE"
 msgstr ""
 
-#: ../commands/variable.c:581
+#: ../commands/variable.c:482
 msgid "TRANSACTION ISOLATION LEVEL is READ COMMITTED"
 msgstr ""
 
-#: ../commands/variable.c:626
+#: ../commands/variable.c:523
 msgid "Seed for random number generator is unavailable"
 msgstr ""
 
-#: ../commands/variable.c:670
+#: ../commands/variable.c:556 ../commands/variable.c:571
 #, c-format
-msgid "Client encoding '%s' is not supported"
+msgid "Client encoding %s is not supported"
 msgstr ""
 
-#: ../commands/variable.c:672
+#: ../commands/variable.c:558
 msgid "No client encoding is specified"
 msgstr ""
 
-#: ../commands/variable.c:678
+#: ../commands/variable.c:564
 #, c-format
 msgid "Conversion between %s and %s is not supported"
 msgstr ""
 
-#: ../commands/variable.c:685
-#, c-format
-msgid "Client encoding %s is not supported"
-msgstr ""
-
-#: ../commands/variable.c:693
+#: ../commands/variable.c:579
 #, c-format
-msgid "Current client encoding is '%s'"
+msgid "Current client encoding is %s"
 msgstr ""
 
-#: ../commands/variable.c:730
+#: ../commands/variable.c:615
 msgid "SET SERVER_ENCODING is not supported"
 msgstr ""
 
-#: ../commands/variable.c:737
+#: ../commands/variable.c:622
 #, c-format
-msgid "Current server encoding is '%s'"
+msgid "Current server encoding is %s"
 msgstr ""
 
-#: ../commands/variable.c:744
+#: ../commands/variable.c:629
 msgid "RESET SERVER_ENCODING is not supported"
 msgstr ""
 
@@ -6884,23 +6848,23 @@ msgstr ""
 msgid "CreateTrigger: can't create trigger for system relation %s"
 msgstr ""
 
-#: ../commands/trigger.c:114
+#: ../commands/trigger.c:115
 msgid "CreateTrigger: STATEMENT triggers are unimplemented, yet"
 msgstr ""
 
-#: ../commands/trigger.c:122
+#: ../commands/trigger.c:123
 msgid "CreateTrigger: double INSERT event specified"
 msgstr ""
 
-#: ../commands/trigger.c:127
+#: ../commands/trigger.c:128
 msgid "CreateTrigger: double DELETE event specified"
 msgstr ""
 
-#: ../commands/trigger.c:132
+#: ../commands/trigger.c:133
 msgid "CreateTrigger: double UPDATE event specified"
 msgstr ""
 
-#: ../commands/trigger.c:136
+#: ../commands/trigger.c:137
 msgid "CreateTrigger: unknown event specified"
 msgstr ""
 
@@ -6933,438 +6897,489 @@ msgstr ""
 msgid "CreateTrigger: relation %s not found in pg_class"
 msgstr ""
 
-#: ../commands/trigger.c:350
+#: ../commands/trigger.c:349
 #, c-format
 msgid "DropTrigger: there is no trigger %s on relation %s"
 msgstr ""
 
-#: ../commands/trigger.c:353
+#: ../commands/trigger.c:352
 #, c-format
 msgid "DropTrigger: found (and deleted) %d triggers %s on relation %s"
 msgstr ""
 
-#: ../commands/trigger.c:368
+#: ../commands/trigger.c:367
 #, c-format
 msgid "DropTrigger: relation %s not found in pg_class"
 msgstr ""
 
-#: ../commands/trigger.c:439
+#: ../commands/trigger.c:437
 #, c-format
 msgid "RelationRemoveTriggers: relation %u not found in pg_class"
 msgstr ""
 
-#: ../commands/trigger.c:475
+#: ../commands/trigger.c:472
 #, c-format
 msgid ""
 "DROP TABLE implicitly drops referential integrity trigger from table \"%s\""
 msgstr ""
 
-#: ../commands/trigger.c:566
+#: ../commands/trigger.c:563
 #, c-format
 msgid "RelationBuildTriggers: unexpected record found for rel %s"
 msgstr ""
 
-#: ../commands/trigger.c:601
+#: ../commands/trigger.c:593 ../commands/trigger.c:604
 #, c-format
 msgid "RelationBuildTriggers: tgargs IS NULL for rel %s"
 msgstr ""
 
-#: ../commands/trigger.c:623
+#: ../commands/trigger.c:626
 #, c-format
 msgid "RelationBuildTriggers: %d record(s) not found for rel %s"
 msgstr ""
 
-#: ../commands/trigger.c:882
+#: ../commands/trigger.c:885
 #, c-format
 msgid "ExecCallTriggerFunc: function %u returned NULL"
 msgstr ""
 
-#: ../commands/trigger.c:1119 ../executor/execMain.c:1062
-#: ../executor/execMain.c:1333 ../executor/execMain.c:1465
+#: ../commands/trigger.c:1129 ../executor/execMain.c:1070
+#: ../executor/execMain.c:1342 ../executor/execMain.c:1475
 msgid "Can't serialize access due to concurrent update"
 msgstr ""
 
-#: ../commands/trigger.c:1142 ../executor/execMain.c:1083
+#: ../commands/trigger.c:1152 ../executor/execMain.c:1091
 #, c-format
 msgid "Unknown status %u from heap_mark4update"
 msgstr ""
 
-#: ../commands/trigger.c:1154
+#: ../commands/trigger.c:1164
 msgid "GetTupleForTrigger: failed ReadBuffer"
 msgstr ""
 
-#: ../commands/trigger.c:1345
+#: ../commands/trigger.c:1348
+#, c-format
+msgid "deferredTriggerGetPreviousEvent: event for tuple %s not found"
+msgstr ""
+
+#: ../commands/trigger.c:1395
 msgid "DeferredTriggerExecute: failed to fetch old tuple"
 msgstr ""
 
-#: ../commands/trigger.c:1353
+#: ../commands/trigger.c:1403
 msgid "DeferredTriggerExecute: failed to fetch new tuple"
 msgstr ""
 
-#: ../commands/trigger.c:1374
+#: ../commands/trigger.c:1424
 #, c-format
 msgid "DeferredTriggerExecute: can't find trigger %u"
 msgstr ""
 
-#: ../commands/trigger.c:1619
+#: ../commands/trigger.c:1622
 msgid "DeferredTriggerBeginXact() called while inside transaction"
 msgstr ""
 
-#: ../commands/trigger.c:1827
+#: ../commands/trigger.c:1836
 msgid "unnamed constraints cannot be set explicitly"
 msgstr ""
 
-#: ../commands/trigger.c:1878
+#: ../commands/trigger.c:1887
 #, c-format
 msgid "Constraint '%s' is not deferrable"
 msgstr ""
 
-#: ../commands/trigger.c:1893
+#: ../commands/trigger.c:1902
 #, c-format
 msgid "Constraint '%s' does not exist"
 msgstr ""
 
-#: ../commands/trigger.c:2008
+#: ../commands/trigger.c:2020
 msgid "DeferredTriggerSaveEvent() called outside of transaction"
 msgstr ""
 
-#: ../commands/command.c:113
+#: ../commands/trigger.c:2184 ../commands/trigger.c:2191
+#: ../commands/trigger.c:2225
+#, c-format
+msgid "triggered data change violation on relation \"%s\""
+msgstr ""
+
+#: ../commands/command.c:114
 msgid "PerformPortalFetch: missing portal name"
 msgstr ""
 
-#: ../commands/command.c:123
+#: ../commands/command.c:124
 #, c-format
 msgid "PerformPortalFetch: portal \"%s\" not found"
 msgstr ""
 
-#: ../commands/command.c:245
+#: ../commands/command.c:244
 msgid "PerformPortalClose: missing portal name"
 msgstr ""
 
-#: ../commands/command.c:255
+#: ../commands/command.c:254
 #, c-format
 msgid "PerformPortalClose: portal \"%s\" not found"
 msgstr ""
 
-#: ../commands/command.c:328 ../commands/command.c:552
-#: ../commands/command.c:721 ../commands/command.c:1058
-#: ../commands/command.c:1195 ../commands/command.c:1677
-#: ../commands/command.c:1750 ../commands/command.c:1828
+#: ../commands/command.c:326 ../commands/command.c:538
+#: ../commands/command.c:707 ../commands/command.c:1043
+#: ../commands/command.c:1179 ../commands/command.c:1773
+#: ../commands/command.c:1842 ../commands/command.c:1920
 msgid "ALTER TABLE: permission denied"
 msgstr ""
 
-#: ../commands/command.c:337 ../commands/command.c:558
-#: ../commands/command.c:727 ../commands/command.c:1068
-#: ../commands/command.c:1205 ../commands/command.c:1696
-#: ../commands/command.c:1838
+#: ../commands/command.c:335 ../commands/command.c:543
+#: ../commands/command.c:712 ../commands/command.c:1053
+#: ../commands/command.c:1930
 #, c-format
 msgid "ALTER TABLE: relation \"%s\" is not a table"
 msgstr ""
 
-#: ../commands/command.c:394
-msgid ""
-"Adding columns with defaults is not implemented.\n"
-"\tAdd the column, then use ALTER TABLE SET DEFAULT."
+#: ../commands/command.c:345
+msgid "Can't add a NOT NULL attribute to an existing relation"
 msgstr ""
 
-#: ../commands/command.c:398
-msgid ""
-"Adding NOT NULL columns is not implemented.\n"
-"\tAdd the column, then use ALTER TABLE ADD CONSTRAINT."
+#: ../commands/command.c:348
+msgid "Adding columns with defaults is not implemented."
 msgstr ""
 
-#: ../commands/command.c:409 ../commands/command.c:1088
-#: ../commands/command.c:1766 ../commands/command.c:1852
+#: ../commands/command.c:400 ../commands/command.c:1073
+#: ../commands/command.c:1858 ../commands/command.c:1944
 #, c-format
 msgid "ALTER TABLE: relation \"%s\" not found"
 msgstr ""
 
-#: ../commands/command.c:416
+#: ../commands/command.c:406
 #, c-format
-msgid "ALTER TABLE: column name \"%s\" already exists in table \"%s\""
+msgid "ALTER TABLE: relations limited to %d columns"
 msgstr ""
 
-#: ../commands/command.c:422
+#: ../commands/command.c:438
 #, c-format
-msgid "ALTER TABLE: relations limited to %d columns"
+msgid "ALTER TABLE: column name \"%s\" already exists in table \"%s\""
 msgstr ""
 
-#: ../commands/command.c:443
+#: ../commands/command.c:459
 #, c-format
 msgid "ALTER TABLE: type \"%s\" does not exist"
 msgstr ""
 
-#: ../commands/command.c:606 ../commands/command.c:780
+#: ../commands/command.c:590 ../commands/command.c:764
 #, c-format
 msgid "ALTER TABLE: relation \"%s\" has no column \"%s\""
 msgstr ""
 
-#: ../commands/command.c:784
+#: ../commands/command.c:768
 #, c-format
 msgid "ALTER TABLE: cannot change system attribute \"%s\""
 msgstr ""
 
-#: ../commands/command.c:966
+#: ../commands/command.c:950
 msgid "target column is used in a constraint"
 msgstr ""
 
-#: ../commands/command.c:1001
+#: ../commands/command.c:985
 msgid "target column is used in an index"
 msgstr ""
 
-#: ../commands/command.c:1045
+#: ../commands/command.c:1030
 msgid "ALTER TABLE / DROP COLUMN with inherit option is not supported yet"
 msgstr ""
 
-#: ../commands/command.c:1078
+#: ../commands/command.c:1063
 msgid "ALTER TABLE: cannot drop a column on table that is inherited from"
 msgstr ""
 
-#: ../commands/command.c:1099 ../commands/command.c:1863
+#: ../commands/command.c:1084 ../commands/command.c:1955
 msgid "couldn't lock pg_class tuple"
 msgstr ""
 
-#: ../commands/command.c:1114
+#: ../commands/command.c:1099
 #, c-format
 msgid "ALTER TABLE: column name \"%s\" doesn't exist in table \"%s\""
 msgstr ""
 
-#: ../commands/command.c:1120
+#: ../commands/command.c:1105
 #, c-format
 msgid "ALTER TABLE: column name \"%s\" was already dropped"
 msgstr ""
 
-#: ../commands/command.c:1129
+#: ../commands/command.c:1114
 msgid "the column is referenced"
 msgstr ""
 
-#: ../commands/command.c:1176
+#: ../commands/command.c:1161
 msgid "ALTER TABLE / DROP COLUMN is not implemented"
 msgstr ""
 
-#: ../commands/command.c:1291
+#: ../commands/command.c:1175
+msgid "ALTER TABLE / ADD CONSTRAINT passed invalid constraint."
+msgstr ""
+
+#: ../commands/command.c:1184
+#, c-format
+msgid "ALTER TABLE ADD CONSTRAINT: %s is not a table"
+msgstr ""
+
+#: ../commands/command.c:1223
+msgid "ALTER TABLE: cannot add constraint to a view"
+msgstr ""
+
+#: ../commands/command.c:1251
 #, c-format
 msgid "CHECK '%s' does not yield boolean result"
 msgstr ""
 
-#: ../commands/command.c:1299
+#: ../commands/command.c:1259
 #, c-format
 msgid "Only relation '%s' can be referenced in CHECK"
 msgstr ""
 
-#: ../commands/command.c:1342
+#: ../commands/command.c:1300
 #, c-format
 msgid "AlterTableAddConstraint: rejected due to CHECK constraint %s"
 msgstr ""
 
-#: ../commands/command.c:1442
+#: ../commands/command.c:1421
 #, c-format
-msgid "ALTER TABLE / ADD CONSTRAINT: Index \"%u\" not found"
+msgid "ALTER TABLE/ADD CONSTRAINT: Index \"%u\" not found"
 msgstr ""
 
-#: ../commands/command.c:1501
+#: ../commands/command.c:1455
+#, c-format
+msgid "ALTER TABLE/ADD CONSTRAINT: Key \"%u[%u]\" not found"
+msgstr ""
+
+#: ../commands/command.c:1471
 #, c-format
 msgid "Unique primary key already defined on relation \"%s\""
 msgstr ""
 
-#: ../commands/command.c:1503
+#: ../commands/command.c:1473
 #, c-format
 msgid ""
 "Unique constraint already defined on the specified attributes in relation \"%"
 "s\""
 msgstr ""
 
-#: ../commands/command.c:1520
+#: ../commands/command.c:1487
 #, c-format
-msgid "ALTER TABLE / ADD UNIQUE will create implicit index '%s' for table '%s'"
+msgid "ALTER TABLE/ADD UNIQUE will create implicit index '%s' for table '%s'"
 msgstr ""
 
-#: ../commands/command.c:1523
+#: ../commands/command.c:1490
 #, c-format
 msgid ""
 "Unique constraint supercedes existing index on relation \"%s\".  Drop the "
 "existing index to remove redundancy."
 msgstr ""
 
-#: ../commands/command.c:1529
+#: ../commands/command.c:1499
 msgid ""
 "ALTER TABLE / ADD CONSTRAINT is not implemented for that constraint type."
 msgstr ""
 
-#: ../commands/command.c:1545
+#: ../commands/command.c:1528
 msgid ""
 "ALTER TABLE / ADD CONSTRAINT: Unable to reference temporary table from "
 "permanent table constraint."
 msgstr ""
 
-#: ../commands/command.c:1554
+#: ../commands/command.c:1537
 #, c-format
 msgid "referenced table \"%s\" not a relation"
 msgstr ""
 
-#: ../commands/command.c:1651
+#: ../commands/command.c:1549
+#, c-format
+msgid "referencing table \"%s\" not a relation"
+msgstr ""
+
+#: ../commands/command.c:1570 ../parser/analyze.c:2974
+#: ../parser/analyze.c:3071
+#, c-format
+msgid "transformFkeyGetPrimaryKey: index %u not found"
+msgstr ""
+
+#: ../commands/command.c:1625 ../parser/analyze.c:1421
+#: ../parser/analyze.c:3020
+#, c-format
+msgid ""
+"UNIQUE constraint matching given keys for referenced table \"%s\" not found"
+msgstr ""
+
+#: ../commands/command.c:1664 ../parser/analyze.c:1280
+msgid "columns referenced in foreign key constraint not found."
+msgstr ""
+
+#: ../commands/command.c:1751
 msgid ""
 "ALTER TABLE / ADD CONSTRAINT unable to determine type of constraint passed"
 msgstr ""
 
-#: ../commands/command.c:1685
+#: ../commands/command.c:1779
 msgid "ALTER TABLE / DROP CONSTRAINT does not support the CASCADE keyword"
 msgstr ""
 
-#: ../commands/command.c:1726
+#: ../commands/command.c:1790
+#, c-format
+msgid "ALTER TABLE / DROP CONSTRAINT: %s is not a table"
+msgstr ""
+
+#: ../commands/command.c:1818
 #, c-format
 msgid "ALTER TABLE / DROP CONSTRAINT: %s does not exist"
 msgstr ""
 
-#: ../commands/command.c:1730
+#: ../commands/command.c:1822
 msgid "Multiple constraints dropped"
 msgstr ""
 
-#: ../commands/command.c:1778
+#: ../commands/command.c:1870
 #, c-format
 msgid "ALTER TABLE: relation \"%s\" is not a table, index, view, or sequence"
 msgstr ""
 
-#: ../commands/command.c:1881
+#: ../commands/command.c:1973
 #, c-format
 msgid "ALTER TABLE: relation \"%s\" already has a toast table"
 msgstr ""
 
-#: ../commands/command.c:1898
+#: ../commands/command.c:1990
 #, c-format
 msgid "ALTER TABLE: relation \"%s\" does not need a toast table"
 msgstr ""
 
-#: ../commands/command.c:2083
-msgid "LOCK TABLE: permission denied"
-msgstr ""
-
-#: ../commands/command.c:2089
+#: ../commands/command.c:2168
 #, c-format
 msgid "LOCK TABLE: %s is not a table"
 msgstr ""
 
+#: ../commands/command.c:2179
+msgid "LOCK TABLE: permission denied"
+msgstr ""
+
 #: ../commands/comment.c:112
 #, c-format
 msgid "An attempt was made to comment on a unknown type: %d"
 msgstr ""
 
-#: ../commands/comment.c:332 ../commands/comment.c:393
+#: ../commands/comment.c:332 ../commands/comment.c:404
 #, c-format
 msgid "you are not permitted to comment on class '%s'"
 msgstr ""
 
-#: ../commands/comment.c:348
+#: ../commands/comment.c:355
 #, c-format
 msgid "relation '%s' is not an index"
 msgstr ""
 
-#: ../commands/comment.c:352
+#: ../commands/comment.c:359
 #, c-format
 msgid "relation '%s' is not a table"
 msgstr ""
 
-#: ../commands/comment.c:356
+#: ../commands/comment.c:363
 #, c-format
 msgid "relation '%s' is not a view"
 msgstr ""
 
-#: ../commands/comment.c:360
+#: ../commands/comment.c:367
 #, c-format
 msgid "relation '%s' is not a sequence"
 msgstr ""
 
-#: ../commands/comment.c:403
+#: ../commands/comment.c:414
 #, c-format
 msgid "'%s' is not an attribute of class '%s'"
 msgstr ""
 
-#: ../commands/comment.c:447
+#: ../commands/comment.c:458
 #, c-format
 msgid "database '%s' does not exist"
 msgstr ""
 
-#: ../commands/comment.c:453
+#: ../commands/comment.c:464
 #, c-format
 msgid "you are not permitted to comment on database '%s'"
 msgstr ""
 
-#: ../commands/comment.c:489
+#: ../commands/comment.c:500
 #, c-format
 msgid "you are not permitted to comment on rule '%s'"
 msgstr ""
 
-#: ../commands/comment.c:498
+#: ../commands/comment.c:509
 #, c-format
 msgid "rule '%s' does not exist"
 msgstr ""
 
-#: ../commands/comment.c:531
+#: ../commands/comment.c:542
 #, c-format
 msgid "you are not permitted to comment on type '%s'"
 msgstr ""
 
-#: ../commands/comment.c:540 ../commands/comment.c:574
+#: ../commands/comment.c:551 ../commands/comment.c:585
 #, c-format
 msgid "type '%s' does not exist"
 msgstr ""
 
-#: ../commands/comment.c:584
+#: ../commands/comment.c:595
 #, c-format
 msgid "you are not permitted to comment on aggregate '%s' for all types"
 msgstr ""
 
-#: ../commands/comment.c:587
+#: ../commands/comment.c:598
 #, c-format
 msgid "you are not permitted to comment on aggregate '%s' for type %s"
 msgstr ""
 
-#: ../commands/comment.c:653
+#: ../commands/comment.c:664
 #, c-format
 msgid "CommentProc: type '%s' not found"
 msgstr ""
 
-#: ../commands/comment.c:660
+#: ../commands/comment.c:671
 #, c-format
 msgid "you are not permitted to comment on function '%s'"
 msgstr ""
 
-#: ../commands/comment.c:723
+#: ../commands/comment.c:734
 #, c-format
 msgid "left type '%s' does not exist"
 msgstr ""
 
-#: ../commands/comment.c:732
+#: ../commands/comment.c:743
 #, c-format
 msgid "right type '%s' does not exist"
 msgstr ""
 
-#: ../commands/comment.c:744
+#: ../commands/comment.c:755
 #, c-format
 msgid "operator '%s' is of an illegal type'"
 msgstr ""
 
-#: ../commands/comment.c:754
+#: ../commands/comment.c:765
 #, c-format
 msgid "operator '%s' does not exist"
 msgstr ""
 
-#: ../commands/comment.c:761
+#: ../commands/comment.c:772
 #, c-format
 msgid "you are not permitted to comment on operator '%s'"
 msgstr ""
 
-#: ../commands/comment.c:769
+#: ../commands/comment.c:780
 #, c-format
 msgid "operator '%s' does not have an underlying function"
 msgstr ""
 
-#: ../commands/comment.c:802
+#: ../commands/comment.c:813
 #, c-format
 msgid "you are not permitted to comment on trigger '%s' %s '%s'"
 msgstr ""
 
-#: ../commands/comment.c:821
+#: ../commands/comment.c:832
 #, c-format
 msgid "trigger '%s' defined for relation '%s' does not exist"
 msgstr ""
@@ -7412,7 +7427,7 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../commands/dbcommands.c:84 ../commands/dbcommands.c:317
+#: ../commands/dbcommands.c:84 ../commands/dbcommands.c:316
 msgid "current user name is invalid"
 msgstr ""
 
@@ -7424,7 +7439,7 @@ msgstr ""
 msgid "CREATE DATABASE: may not be called in a transaction block"
 msgstr ""
 
-#: ../commands/dbcommands.c:102 ../commands/dbcommands.c:233
+#: ../commands/dbcommands.c:102 ../commands/dbcommands.c:232
 #, c-format
 msgid "CREATE DATABASE: database \"%s\" already exists"
 msgstr ""
@@ -7449,88 +7464,88 @@ msgstr ""
 msgid "CREATE DATABASE: invalid backend encoding"
 msgstr ""
 
-#: ../commands/dbcommands.c:172 ../commands/dbcommands.c:174
-#: ../commands/dbcommands.c:176
+#: ../commands/dbcommands.c:171 ../commands/dbcommands.c:173
+#: ../commands/dbcommands.c:175
 msgid "database path may not contain single quotes"
 msgstr ""
 
-#: ../commands/dbcommands.c:199
+#: ../commands/dbcommands.c:198
 #, c-format
 msgid "CREATE DATABASE: unable to create database directory '%s': %m"
 msgstr ""
 
-#: ../commands/dbcommands.c:207
+#: ../commands/dbcommands.c:206
 #, c-format
 msgid "CREATE DATABASE: could not link '%s' to '%s': %m"
 msgstr ""
 
-#: ../commands/dbcommands.c:217
+#: ../commands/dbcommands.c:216
 msgid "CREATE DATABASE: could not initialize database directory"
 msgstr ""
 
-#: ../commands/dbcommands.c:219
+#: ../commands/dbcommands.c:218
 msgid ""
 "CREATE DATABASE: could not initialize database directory; delete failed as "
 "well"
 msgstr ""
 
-#: ../commands/dbcommands.c:311
+#: ../commands/dbcommands.c:310
 msgid "DROP DATABASE: cannot be executed on the currently open database"
 msgstr ""
 
-#: ../commands/dbcommands.c:314
+#: ../commands/dbcommands.c:313
 msgid "DROP DATABASE: may not be called in a transaction block"
 msgstr ""
 
-#: ../commands/dbcommands.c:332
+#: ../commands/dbcommands.c:331
 #, c-format
 msgid "DROP DATABASE: database \"%s\" does not exist"
 msgstr ""
 
-#: ../commands/dbcommands.c:335
+#: ../commands/dbcommands.c:334
 msgid "DROP DATABASE: permission denied"
 msgstr ""
 
-#: ../commands/dbcommands.c:343
+#: ../commands/dbcommands.c:342
 msgid "DROP DATABASE: database is marked as a template"
 msgstr ""
 
-#: ../commands/dbcommands.c:352
+#: ../commands/dbcommands.c:351
 #, c-format
 msgid "DROP DATABASE: database \"%s\" is being accessed by other users"
 msgstr ""
 
-#: ../commands/dbcommands.c:369
+#: ../commands/dbcommands.c:368
 #, c-format
 msgid ""
 "DROP DATABASE: Database \"%s\" doesn't exist despite earlier reports to the "
 "contrary"
 msgstr ""
 
-#: ../commands/dbcommands.c:532
+#: ../commands/dbcommands.c:531
 msgid "Relative paths are not allowed as database locations"
 msgstr ""
 
-#: ../commands/dbcommands.c:534
+#: ../commands/dbcommands.c:533
 msgid "Absolute paths are not allowed as database locations"
 msgstr ""
 
-#: ../commands/dbcommands.c:544
+#: ../commands/dbcommands.c:543
 #, c-format
 msgid "Postmaster environment variable '%s' not set"
 msgstr ""
 
-#: ../commands/dbcommands.c:546
+#: ../commands/dbcommands.c:545
 #, c-format
 msgid "Postmaster environment variable '%s' must be absolute path"
 msgstr ""
 
-#: ../commands/dbcommands.c:578
+#: ../commands/dbcommands.c:577
 #, c-format
 msgid "could not remove '%s': %m"
 msgstr ""
 
-#: ../commands/dbcommands.c:587
+#: ../commands/dbcommands.c:586
 #, c-format
 msgid "database directory '%s' could not be removed"
 msgstr ""
@@ -7539,292 +7554,292 @@ msgstr ""
 msgid "DefineRelation: please inherit from a relation or define an attribute"
 msgstr ""
 
-#: ../catalog/heap.c:1719 ../catalog/heap.c:1733 ../commands/creatinh.c:110
+#: ../catalog/heap.c:1697 ../catalog/heap.c:1711 ../commands/creatinh.c:110
 #, c-format
 msgid "Duplicate CHECK constraint name: '%s'"
 msgstr ""
 
-#: ../commands/creatinh.c:329
+#: ../commands/creatinh.c:328
 #, c-format
 msgid "CREATE TABLE: attribute \"%s\" duplicated"
 msgstr ""
 
-#: ../commands/creatinh.c:344
+#: ../commands/creatinh.c:342
 #, c-format
 msgid "CREATE TABLE: inherited relation \"%s\" duplicated"
 msgstr ""
 
-#: ../commands/creatinh.c:367
+#: ../commands/creatinh.c:365
 #, c-format
 msgid "CREATE TABLE: inherited relation \"%s\" is not a table"
 msgstr ""
 
-#: ../commands/creatinh.c:370
+#: ../commands/creatinh.c:368
 #, c-format
 msgid "CREATE TABLE: cannot inherit from temp relation \"%s\""
 msgstr ""
 
-#: ../commands/creatinh.c:377
+#: ../commands/creatinh.c:375
 #, c-format
 msgid "you do not own table \"%s\""
 msgstr ""
 
-#: ../commands/creatinh.c:413
+#: ../commands/creatinh.c:411
 #, c-format
 msgid "CREATE TABLE: cache lookup failed for type %u"
 msgstr ""
 
-#: ../commands/creatinh.c:428
+#: ../commands/creatinh.c:426
 #, c-format
 msgid ""
 "CREATE TABLE: merging multiple inherited definitions of attribute \"%s\""
 msgstr ""
 
-#: ../commands/creatinh.c:433
+#: ../commands/creatinh.c:431
 #, c-format
 msgid "CREATE TABLE: inherited attribute \"%s\" type conflict (%s and %s)"
 msgstr ""
 
-#: ../commands/creatinh.c:567
+#: ../commands/creatinh.c:561
 #, c-format
 msgid "CREATE TABLE: merging attribute \"%s\" with inherited definition"
 msgstr ""
 
-#: ../commands/creatinh.c:572
+#: ../commands/creatinh.c:566
 #, c-format
 msgid "CREATE TABLE: attribute \"%s\" type conflict (%s and %s)"
 msgstr ""
 
-#: ../commands/creatinh.c:606
+#: ../commands/creatinh.c:600
 #, c-format
 msgid ""
 "CREATE TABLE: attribute \"%s\" inherits conflicting default values\n"
 "\tTo resolve the conflict, specify a default explicitly"
 msgstr ""
 
-#: ../commands/creatinh.c:843
+#: ../commands/creatinh.c:839
 #, c-format
 msgid "setRelhassubclassInRelation: cache lookup failed for relation %u"
 msgstr ""
 
-#: ../commands/copy.c:116
+#: ../commands/copy.c:117
 #, c-format
 msgid "CopySendData: %m"
 msgstr ""
 
-#: ../commands/copy.c:286
+#: ../commands/copy.c:288
 msgid ""
 "You must have Postgres superuser privilege to do a COPY directly to or from "
 "a file.  Anyone can COPY to stdout or from stdin.  Psql's \\copy command "
 "also works for anyone."
 msgstr ""
 
-#: ../commands/copy.c:295
+#: ../commands/copy.c:297
 msgid "COPY BINARY is not supported to stdout or from stdin"
 msgstr ""
 
-#: ../commands/copy.c:311 ../commands/copy.c:343
+#: ../commands/copy.c:313 ../commands/copy.c:345
 #, c-format
 msgid "You cannot copy view %s"
 msgstr ""
 
-#: ../commands/copy.c:313
+#: ../commands/copy.c:315
 #, c-format
 msgid "You cannot change sequence relation %s"
 msgstr ""
 
-#: ../commands/copy.c:315 ../commands/copy.c:347
+#: ../commands/copy.c:317 ../commands/copy.c:349
 #, c-format
 msgid "You cannot copy object %s"
 msgstr ""
 
-#: ../commands/copy.c:331
+#: ../commands/copy.c:333
 #, c-format
 msgid ""
 "COPY command, running in backend with effective uid %d, could not open file "
 "'%s' for reading.  Errno = %s (%d)."
 msgstr ""
 
-#: ../commands/copy.c:345
+#: ../commands/copy.c:347
 #, c-format
 msgid "You cannot copy sequence %s"
 msgstr ""
 
-#: ../commands/copy.c:369
+#: ../commands/copy.c:371
 msgid "Relative path not allowed for server side COPY command."
 msgstr ""
 
-#: ../commands/copy.c:377
+#: ../commands/copy.c:379
 #, c-format
 msgid ""
 "COPY command, running in backend with effective uid %d, could not open file "
 "'%s' for writing.  Errno = %s (%d)."
 msgstr ""
 
-#: ../commands/copy.c:426
+#: ../commands/copy.c:428
 #, c-format
 msgid "COPY: table %s does not have OIDs"
 msgstr ""
 
-#: ../commands/copy.c:446
+#: ../commands/copy.c:448
 #, c-format
 msgid "COPY: couldn't lookup info for type %u"
 msgstr ""
 
-#: ../commands/copy.c:693
+#: ../commands/copy.c:696
 msgid "COPY BINARY: file signature not recognized"
 msgstr ""
 
-#: ../commands/copy.c:698
+#: ../commands/copy.c:701
 msgid "COPY BINARY: incompatible integer layout"
 msgstr ""
 
-#: ../commands/copy.c:702
+#: ../commands/copy.c:705
 msgid "COPY BINARY: bogus file header (missing flags)"
 msgstr ""
 
-#: ../commands/copy.c:706
+#: ../commands/copy.c:709
 msgid "COPY BINARY: unrecognized critical flags in header"
 msgstr ""
 
-#: ../commands/copy.c:711
+#: ../commands/copy.c:714
 msgid "COPY BINARY: bogus file header (missing length)"
 msgstr ""
 
-#: ../commands/copy.c:717
+#: ../commands/copy.c:720
 msgid "COPY BINARY: bogus file header (wrong length)"
 msgstr ""
 
-#: ../commands/copy.c:756
+#: ../commands/copy.c:759
 msgid "COPY TEXT: NULL Oid"
 msgstr ""
 
-#: ../commands/copy.c:764
+#: ../commands/copy.c:767
 msgid "COPY TEXT: Invalid Oid"
 msgstr ""
 
-#: ../commands/copy.c:802
+#: ../commands/copy.c:805
 #, c-format
 msgid "COPY BINARY: tuple field count is %d, expected %d"
 msgstr ""
 
-#: ../commands/copy.c:809 ../commands/copy.c:815 ../commands/copy.c:824
-#: ../commands/copy.c:838 ../commands/copy.c:847 ../commands/copy.c:859
-#: ../commands/copy.c:875
+#: ../commands/copy.c:812 ../commands/copy.c:818 ../commands/copy.c:827
+#: ../commands/copy.c:841 ../commands/copy.c:850 ../commands/copy.c:862
+#: ../commands/copy.c:878
 msgid "COPY BINARY: unexpected EOF"
 msgstr ""
 
-#: ../commands/copy.c:811
+#: ../commands/copy.c:814
 #, c-format
 msgid "COPY BINARY: sizeof(Oid) is %d, expected %d"
 msgstr ""
 
-#: ../commands/copy.c:817
+#: ../commands/copy.c:820
 msgid "COPY BINARY: Invalid Oid"
 msgstr ""
 
-#: ../commands/copy.c:828
+#: ../commands/copy.c:831
 #, c-format
 msgid "COPY BINARY: sizeof(field %d) is %d, expected %d"
 msgstr ""
 
-#: ../commands/copy.c:840
+#: ../commands/copy.c:843
 msgid "COPY BINARY: bogus varlena length"
 msgstr ""
 
-#: ../commands/copy.c:973
+#: ../commands/copy.c:976
 #, c-format
 msgid "GetInputFunction: Cache lookup of type %u failed"
 msgstr ""
 
-#: ../commands/copy.c:989
+#: ../commands/copy.c:992
 #, c-format
 msgid "GetTypeElement: Cache lookup of type %u failed"
 msgstr ""
 
-#: ../commands/copy.c:1005
+#: ../commands/copy.c:1008
 msgid "CopyReadNewline: extra fields ignored"
 msgstr ""
 
-#: ../commands/copy.c:1140
+#: ../commands/copy.c:1143
 msgid "CopyReadAttribute: end of record marker corrupted"
 msgstr ""
 
-#: ../commands/vacuum.c:974 ../commands/vacuumlazy.c:211
+#: ../commands/vacuum.c:970 ../commands/vacuumlazy.c:211
 #, c-format
 msgid "--Relation %s--"
 msgstr ""
 
-#: ../commands/vacuum.c:1004 ../commands/vacuumlazy.c:265
+#: ../commands/vacuum.c:1000 ../commands/vacuumlazy.c:264
 #, c-format
 msgid "Rel %s: Uninitialized page %u - fixing"
 msgstr ""
 
-#: ../catalog/index.c:1745 ../commands/vacuum.c:1133
-#: ../commands/vacuumlazy.c:356 ../commands/vacuumlazy.c:835
+#: ../catalog/index.c:1747 ../commands/vacuum.c:1124
+#: ../commands/vacuumlazy.c:353 ../commands/vacuumlazy.c:829
 msgid "Unexpected HeapTupleSatisfiesVacuum result"
 msgstr ""
 
-#: ../commands/vacuum.c:1146 ../commands/vacuumlazy.c:369
+#: ../commands/vacuum.c:1137 ../commands/vacuumlazy.c:366
 #, c-format
 msgid "Rel %s: TID %u/%u: OID IS INVALID. TUPGONE %d."
 msgstr ""
 
-#: ../commands/vacuumlazy.c:431
+#: ../commands/vacuumlazy.c:428
 #, c-format
 msgid ""
 "Pages %u: Changed %u, Empty %u; Tup %.0f: Vac %.0f, Keep %.0f, UnUsed %.0f.\n"
 "\tTotal %s"
 msgstr ""
 
-#: ../commands/vacuumlazy.c:480
+#: ../commands/vacuumlazy.c:477
 #, c-format
 msgid ""
 "Removed %d tuples in %d pages.\n"
 "\t%s"
 msgstr ""
 
-#: ../commands/vacuum.c:2446 ../commands/vacuumlazy.c:588
+#: ../commands/vacuum.c:2436 ../commands/vacuumlazy.c:585
 #, c-format
 msgid ""
 "Index %s: Pages %u; Tuples %.0f.\n"
 "\t%s"
 msgstr ""
 
-#: ../commands/vacuum.c:2500 ../commands/vacuumlazy.c:635
+#: ../commands/vacuum.c:2490 ../commands/vacuumlazy.c:632
 #, c-format
 msgid ""
 "Index %s: Pages %u; Tuples %.0f: Deleted %.0f.\n"
 "\t%s"
 msgstr ""
 
-#: ../commands/vacuumlazy.c:710
+#: ../commands/vacuumlazy.c:706
 #, c-format
 msgid "VACUUM (lazy_truncate_heap): FlushRelationBuffers returned %d"
 msgstr ""
 
-#: ../commands/vacuumlazy.c:745
+#: ../commands/vacuumlazy.c:740
 #, c-format
 msgid ""
 "Truncated %u --> %u pages.\n"
 "\t%s"
 msgstr ""
 
-#: ../commands/define.c:149
+#: ../commands/define.c:150
 msgid "untrusted function has been decommissioned."
 msgstr ""
 
-#: ../commands/define.c:160
+#: ../commands/define.c:161
 #, c-format
 msgid "Unrecognized function attribute '%s' ignored"
 msgstr ""
 
-#: ../commands/define.c:202
+#: ../commands/define.c:204
 #, c-format
 msgid "CREATE FUNCTION: only one AS item needed for %s language"
 msgstr ""
 
-#: ../commands/define.c:261
+#: ../commands/define.c:263
 #, c-format
 msgid ""
 "Only users with Postgres superuser privilege are permitted to create a "
@@ -7832,69 +7847,69 @@ msgid ""
 "\tOthers may use the 'sql' language or the created procedural languages."
 msgstr ""
 
-#: ../commands/define.c:282
+#: ../commands/define.c:284
 #, c-format
 msgid ""
 "Unrecognized language specified in a CREATE FUNCTION: '%s'.\n"
-"\tPre-installed languages are SQL, C, and internal.\n"
-"\tAdditional languages may be installed using 'createlang'."
+"\tRecognized languages are sql, C, internal, and created procedural "
+"languages."
 msgstr ""
 
-#: ../commands/define.c:292
+#: ../commands/define.c:293
 #, c-format
 msgid "Language '%s' isn't defined as PL"
 msgstr ""
 
-#: ../commands/define.c:299
+#: ../commands/define.c:300
 #, c-format
 msgid ""
 "Only users with Postgres superuser privilege are permitted to create a "
 "function in the '%s' language."
 msgstr ""
 
-#: ../commands/define.c:387
+#: ../commands/define.c:388
 msgid "setof type not implemented for leftarg"
 msgstr ""
 
-#: ../commands/define.c:394
+#: ../commands/define.c:395
 msgid "setof type not implemented for rightarg"
 msgstr ""
 
-#: ../commands/define.c:401
+#: ../commands/define.c:402
 msgid "CREATE OPERATOR: precedence not implemented"
 msgstr ""
 
-#: ../commands/define.c:406
+#: ../commands/define.c:407
 msgid "CREATE OPERATOR: associativity not implemented"
 msgstr ""
 
-#: ../commands/define.c:432
+#: ../commands/define.c:433
 #, c-format
 msgid "DefineOperator: attribute \"%s\" not recognized"
 msgstr ""
 
-#: ../commands/define.c:441
+#: ../commands/define.c:442
 msgid "Define: \"procedure\" unspecified"
 msgstr ""
 
-#: ../commands/define.c:503
+#: ../commands/define.c:504
 #, c-format
 msgid "DefineAggregate: attribute \"%s\" not recognized"
 msgstr ""
 
-#: ../commands/define.c:511
+#: ../commands/define.c:512
 msgid "Define: \"basetype\" unspecified"
 msgstr ""
 
-#: ../commands/define.c:513
+#: ../commands/define.c:514
 msgid "Define: \"stype\" unspecified"
 msgstr ""
 
-#: ../commands/define.c:515
+#: ../commands/define.c:516
 msgid "Define: \"sfunc\" unspecified"
 msgstr ""
 
-#: ../commands/define.c:556
+#: ../commands/define.c:557
 #, c-format
 msgid "DefineType: type names must be %d characters or less"
 msgstr ""
@@ -7971,74 +7986,74 @@ msgstr ""
 msgid "DefineIndex: relation \"%s\" not found"
 msgstr ""
 
-#: ../commands/indexcmds.c:107
+#: ../commands/indexcmds.c:106
 #, c-format
 msgid "DefineIndex: access method \"%s\" not found"
 msgstr ""
 
-#: ../commands/indexcmds.c:113
+#: ../commands/indexcmds.c:112
 #, c-format
 msgid "DefineIndex: access method \"%s\" does not support UNIQUE indexes"
 msgstr ""
 
-#: ../commands/indexcmds.c:116
+#: ../commands/indexcmds.c:115
 #, c-format
 msgid "DefineIndex: access method \"%s\" does not support multi-column indexes"
 msgstr ""
 
-#: ../commands/indexcmds.c:135
+#: ../commands/indexcmds.c:134
 msgid "Existing indexes are inactive. REINDEX first"
 msgstr ""
 
-#: ../commands/indexcmds.c:153
+#: ../commands/indexcmds.c:152
 msgid "Functional index can only have one attribute"
 msgstr ""
 
-#: ../commands/indexcmds.c:157
+#: ../commands/indexcmds.c:156
 #, c-format
 msgid "Index function can take at most %d arguments"
 msgstr ""
 
-#: ../commands/indexcmds.c:212
+#: ../commands/indexcmds.c:211
 msgid "Partial-index predicates may refer only to the base relation"
 msgstr ""
 
-#: ../commands/indexcmds.c:220
+#: ../commands/indexcmds.c:218
 msgid "Cannot use subselect in index predicate"
 msgstr ""
 
-#: ../commands/indexcmds.c:222
+#: ../commands/indexcmds.c:220
 msgid "Cannot use aggregate in index predicate"
 msgstr ""
 
-#: ../commands/indexcmds.c:229
+#: ../commands/indexcmds.c:227
 msgid "Cannot use non-cachable function in index predicate"
 msgstr ""
 
-#: ../commands/indexcmds.c:270 ../commands/indexcmds.c:361
+#: ../commands/indexcmds.c:268 ../commands/indexcmds.c:359
 #, c-format
 msgid "DefineIndex: attribute \"%s\" not found"
 msgstr ""
 
-#: ../commands/indexcmds.c:295
+#: ../commands/indexcmds.c:293
 msgid ""
 "DefineIndex: functional index must use a real function, not a type coercion\n"
 "\tTry specifying the index opclass you want to use, instead"
 msgstr ""
 
-#: ../commands/indexcmds.c:302
+#: ../commands/indexcmds.c:300
 msgid "DefineIndex: cannot index on a function returning a set"
 msgstr ""
 
-#: ../commands/indexcmds.c:319
+#: ../commands/indexcmds.c:317
 msgid "DefineIndex: index function must be marked iscachable"
 msgstr ""
 
-#: ../commands/indexcmds.c:354
+#: ../commands/indexcmds.c:352
 msgid "missing attribute for define index"
 msgstr ""
 
-#: ../commands/indexcmds.c:388
+#: ../commands/indexcmds.c:386
 #, c-format
 msgid ""
 "data type %s has no default operator class for access method \"%s\"\n"
@@ -8046,269 +8061,259 @@ msgid ""
 "\tdefault operator class for the data type"
 msgstr ""
 
-#: ../commands/indexcmds.c:404
+#: ../commands/indexcmds.c:402
 #, c-format
 msgid ""
 "DefineIndex: operator class \"%s\" not supported by access method \"%s\""
 msgstr ""
 
-#: ../commands/indexcmds.c:412
+#: ../commands/indexcmds.c:410
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr ""
 
-#: ../commands/indexcmds.c:476
+#: ../commands/indexcmds.c:474
 #, c-format
 msgid "pg_opclass contains multiple default opclasses for data tyype %s"
 msgstr ""
 
-#: ../commands/indexcmds.c:502 ../commands/indexcmds.c:539
+#: ../commands/indexcmds.c:500 ../commands/indexcmds.c:537
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr ""
 
-#: ../commands/indexcmds.c:505 ../commands/indexcmds.c:542
-#: ../commands/indexcmds.c:581
+#: ../commands/indexcmds.c:503 ../commands/indexcmds.c:540
+#: ../commands/indexcmds.c:579
 #, c-format
 msgid "relation \"%s\" is of type \"%c\""
 msgstr ""
 
-#: ../commands/indexcmds.c:533 ../commands/indexcmds.c:572
+#: ../commands/indexcmds.c:531 ../commands/indexcmds.c:570
 msgid "REINDEX cannot run inside a BEGIN/END block"
 msgstr ""
 
-#: ../commands/indexcmds.c:548
+#: ../commands/indexcmds.c:546
 #, c-format
 msgid "index \"%s\" wasn't reindexed"
 msgstr ""
 
-#: ../commands/indexcmds.c:578
+#: ../commands/indexcmds.c:576
 #, c-format
 msgid "table \"%s\" does not exist"
 msgstr ""
 
-#: ../commands/indexcmds.c:585
+#: ../commands/indexcmds.c:583
 #, c-format
 msgid "table \"%s\" wasn't reindexed"
 msgstr ""
 
-#: ../commands/indexcmds.c:615
+#: ../commands/indexcmds.c:613
 msgid "REINDEX DATABASE: Can be executed only on the currently open database."
 msgstr ""
 
-#: ../commands/indexcmds.c:618
+#: ../commands/indexcmds.c:616
 msgid "REINDEX DATABASE: Permission denied."
 msgstr ""
 
-#: ../commands/indexcmds.c:626
+#: ../commands/indexcmds.c:624
 msgid "REINDEX DATABASE cannot run inside a BEGIN/END block"
 msgstr ""
 
-#: ../commands/indexcmds.c:680
+#: ../commands/indexcmds.c:676
 #, c-format
 msgid "relation %u was reindexed"
 msgstr ""
 
-#: ../commands/analyze.c:210
+#: ../commands/analyze.c:205
 #, c-format
 msgid "Skipping \"%s\" --- only table or database owner can ANALYZE it"
 msgstr ""
 
-#: ../commands/analyze.c:217
+#: ../commands/analyze.c:212
 #, c-format
 msgid "Analyzing %s"
 msgstr ""
 
-#: ../commands/analyze.c:244
+#: ../commands/analyze.c:239
 #, c-format
 msgid "ANALYZE: there is no attribute %s in %s"
 msgstr ""
 
-#: ../commands/analyze.c:620
+#: ../commands/analyze.c:607
 #, c-format
 msgid "acquire_sample_rows: ReadBuffer(%s,%u) failed"
 msgstr ""
 
-#: ../commands/user.c:81
+#: ../commands/user.c:76 ../commands/user.c:159
 #, c-format
 msgid "write_password_file: unable to write %s: %m"
 msgstr ""
 
-#: ../commands/user.c:130
-#, c-format
-msgid "Invalid user name '%s'"
-msgstr "ÎÞЧÓû§Ãû '%s'"
-
-#: ../commands/user.c:133
-#, c-format
-msgid "Invalid user password '%s'"
-msgstr "Óû§¿ÚÁîÎÞЧ '%s'"
-
-#: ../commands/user.c:168
+#: ../commands/user.c:136
 #, c-format
 msgid "%s: %m"
 msgstr ""
 
-#: ../commands/user.c:176
+#: ../commands/user.c:144
 #, c-format
 msgid "rename %s to %s: %m"
 msgstr ""
 
-#: ../commands/user.c:252 ../commands/user.c:262 ../commands/user.c:268
-#: ../commands/user.c:274 ../commands/user.c:280 ../commands/user.c:286
+#: ../commands/user.c:227 ../commands/user.c:236 ../commands/user.c:241
+#: ../commands/user.c:246 ../commands/user.c:251 ../commands/user.c:256
 msgid "CREATE USER: conflicting options"
 msgstr ""
 
-#: ../commands/user.c:290
+#: ../commands/user.c:260
 #, c-format
 msgid "CREATE USER: option \"%s\" not recognized"
 msgstr ""
 
-#: ../commands/user.c:302
+#: ../commands/user.c:272
 msgid "user id must be positive"
 msgstr ""
 
-#: ../commands/user.c:317
+#: ../commands/user.c:287
 msgid "CREATE USER: permission denied"
 msgstr ""
 
-#: ../commands/user.c:356
+#: ../commands/user.c:326
 #, c-format
 msgid "CREATE USER: user name \"%s\" already exists"
 msgstr ""
 
-#: ../commands/user.c:359
+#: ../commands/user.c:329
 #, c-format
 msgid "CREATE USER: sysid %d is already assigned"
 msgstr ""
 
-#: ../commands/user.c:389 ../commands/user.c:627
+#: ../commands/user.c:359 ../commands/user.c:592
 msgid "CREATE USER: password encryption failed"
 msgstr ""
 
-#: ../commands/user.c:494 ../commands/user.c:504 ../commands/user.c:510
-#: ../commands/user.c:516
+#: ../commands/user.c:462 ../commands/user.c:471 ../commands/user.c:476
+#: ../commands/user.c:481
 msgid "ALTER USER: conflicting options"
 msgstr ""
 
-#: ../commands/user.c:520
+#: ../commands/user.c:485
 #, c-format
 msgid "ALTER USER: option \"%s\" not recognized"
 msgstr ""
 
-#: ../commands/user.c:543
+#: ../commands/user.c:508
 msgid "ALTER USER: permission denied"
 msgstr ""
 
-#: ../commands/user.c:547
+#: ../commands/user.c:512
 msgid "ALTER USER: password changes cannot be rolled back"
 msgstr ""
 
-#: ../commands/user.c:561
+#: ../commands/user.c:526
 #, c-format
 msgid "ALTER USER: user \"%s\" does not exist"
 msgstr ""
 
-#: ../commands/user.c:698
+#: ../commands/user.c:663
 msgid "DROP USER: permission denied"
 msgstr ""
 
-#: ../commands/user.c:701
+#: ../commands/user.c:666
 msgid "DROP USER cannot be rolled back completely"
 msgstr ""
 
-#: ../commands/user.c:728
+#: ../commands/user.c:693
 #, c-format
 msgid "DROP USER: user \"%s\" does not exist%s"
 msgstr ""
 
-#: ../commands/user.c:734
+#: ../commands/user.c:699
 msgid "current user cannot be dropped"
 msgstr ""
 
-#: ../commands/user.c:736
+#: ../commands/user.c:701
 msgid "session user cannot be dropped"
 msgstr ""
 
-#: ../commands/user.c:763
+#: ../commands/user.c:728
 #, c-format
 msgid "DROP USER: user \"%s\" owns database \"%s\", cannot be removed%s"
 msgstr ""
 
-#: ../commands/user.c:843
+#: ../commands/user.c:808
 #, c-format
 msgid "CheckPgUserAclNotNull: \"%s\" not found"
 msgstr ""
 
-#: ../commands/user.c:848
+#: ../commands/user.c:813
 #, c-format
 msgid ""
 "To use passwords, you have to revoke permissions on %s so normal users "
 "cannot read the passwords. Try 'REVOKE ALL ON \"%s\" FROM PUBLIC'."
 msgstr ""
 
-#: ../commands/user.c:890 ../commands/user.c:896
+#: ../commands/user.c:854 ../commands/user.c:859
 msgid "CREATE GROUP: conflicting options"
 msgstr ""
 
-#: ../commands/user.c:900
+#: ../commands/user.c:863
 #, c-format
 msgid "CREATE GROUP: option \"%s\" not recognized"
 msgstr ""
 
-#: ../commands/user.c:908
+#: ../commands/user.c:871
 msgid "group id must be positive"
 msgstr ""
 
-#: ../commands/user.c:919
+#: ../commands/user.c:882
 msgid "CREATE GROUP: permission denied"
 msgstr ""
 
-#: ../commands/user.c:952
+#: ../commands/user.c:915
 #, c-format
 msgid "CREATE GROUP: group name \"%s\" already exists"
 msgstr ""
 
-#: ../commands/user.c:955
+#: ../commands/user.c:918
 #, c-format
 msgid "CREATE GROUP: group sysid %d is already assigned"
 msgstr ""
 
-#: ../commands/user.c:1045
+#: ../commands/user.c:1008
 #, c-format
 msgid "%s: permission denied"
 msgstr ""
 
-#: ../commands/user.c:1057
+#: ../commands/user.c:1020
 #, c-format
 msgid "%s: group \"%s\" does not exist"
 msgstr ""
 
-#: ../commands/user.c:1121
+#: ../commands/user.c:1084
 #, c-format
 msgid "AlterGroup: unknown tag %s"
 msgstr ""
 
-#: ../commands/user.c:1133
+#: ../commands/user.c:1095
 #, c-format
 msgid "%s: user \"%s\" is already in group \"%s\""
 msgstr ""
 
-#: ../commands/user.c:1185
+#: ../commands/user.c:1147
 #, c-format
 msgid "ALTER GROUP: group \"%s\" does not have any members"
 msgstr ""
 
-#: ../commands/user.c:1238
+#: ../commands/user.c:1200
 #, c-format
 msgid "ALTER GROUP: user \"%s\" is not in group \"%s\""
 msgstr ""
 
-#: ../commands/user.c:1304
+#: ../commands/user.c:1266
 msgid "DROP GROUP: permission denied"
 msgstr ""
 
-#: ../commands/user.c:1333
+#: ../commands/user.c:1295
 #, c-format
 msgid "DROP GROUP: group \"%s\" does not exist"
 msgstr ""
@@ -8359,28 +8364,28 @@ msgstr ""
 msgid "%s cannot run inside a BEGIN/END block"
 msgstr ""
 
-#: ../commands/vacuum.c:403
+#: ../commands/vacuum.c:402
 #, c-format
 msgid "%s: can not process indexes, views or special system tables"
 msgstr ""
 
-#: ../commands/vacuum.c:427
+#: ../commands/vacuum.c:426
 #, c-format
 msgid "%s: table not found"
 msgstr ""
 
-#: ../commands/vacuum.c:471
+#: ../commands/vacuum.c:470
 msgid ""
 "oldest Xmin is far in the past --- close open transactions soon to avoid "
 "wraparound problems"
 msgstr ""
 
-#: ../commands/vacuum.c:517
+#: ../commands/vacuum.c:516
 #, c-format
 msgid "pg_class entry for relid %u vanished during vacuuming"
 msgstr ""
 
-#: ../commands/vacuum.c:655
+#: ../commands/vacuum.c:653
 #, c-format
 msgid ""
 "Some databases have not been vacuumed in %d transactions.\n"
@@ -8388,29 +8393,29 @@ msgid ""
 "\tor you may have a wraparound failure."
 msgstr ""
 
-#: ../commands/vacuum.c:735
+#: ../commands/vacuum.c:732
 #, c-format
 msgid "Skipping \"%s\" --- only table or database owner can VACUUM it"
 msgstr ""
 
-#: ../commands/vacuum.c:907
+#: ../commands/vacuum.c:903
 #, c-format
 msgid "VACUUM (full_vacuum_rel): FlushRelationBuffers returned %d"
 msgstr ""
 
-#: ../commands/vacuum.c:1118
+#: ../commands/vacuum.c:1110
 #, c-format
 msgid ""
 "Rel %s: TID %u/%u: InsertTransactionInProgress %u - can't shrink relation"
 msgstr ""
 
-#: ../commands/vacuum.c:1128
+#: ../commands/vacuum.c:1119
 #, c-format
 msgid ""
 "Rel %s: TID %u/%u: DeleteTransactionInProgress %u - can't shrink relation"
 msgstr ""
 
-#: ../commands/vacuum.c:1283
+#: ../commands/vacuum.c:1273
 #, c-format
 msgid ""
 "Pages %u: Changed %u, reaped %u, Empty %u, New %u; Tup %.0f: Vac %.0f, Keep/"
@@ -8419,105 +8424,105 @@ msgid ""
 "\t%s"
 msgstr ""
 
-#: ../commands/vacuum.c:1504
+#: ../commands/vacuum.c:1493
 msgid "Invalid XID in t_cmin"
 msgstr ""
 
-#: ../commands/vacuum.c:1506
+#: ../commands/vacuum.c:1495
 msgid "HEAP_MOVED_IN was not expected"
 msgstr ""
 
-#: ../commands/vacuum.c:1539
+#: ../commands/vacuum.c:1528
 msgid "HEAP_MOVED_OFF was expected"
 msgstr ""
 
-#: ../commands/vacuum.c:1569
+#: ../commands/vacuum.c:1558
 msgid "No one parent tuple was found"
 msgstr ""
 
-#: ../commands/vacuum.c:1607
+#: ../commands/vacuum.c:1597
 msgid ""
 "Child itemid in update-chain marked as unused - can't continue repair_frag"
 msgstr ""
 
-#: ../commands/vacuum.c:1686
+#: ../commands/vacuum.c:1676
 msgid "Parent tuple was not found"
 msgstr ""
 
-#: ../commands/vacuum.c:1694
+#: ../commands/vacuum.c:1684
 msgid "Parent itemid marked as unused"
 msgstr ""
 
-#: ../commands/vacuum.c:1726
+#: ../commands/vacuum.c:1716
 msgid "Too old parent tuple found - can't continue repair_frag"
 msgstr ""
 
-#: ../commands/vacuum.c:1855
+#: ../commands/vacuum.c:1845
 #, c-format
 msgid "moving chain: failed to add item with len = %lu to page %u"
 msgstr ""
 
-#: ../commands/vacuum.c:1978
+#: ../commands/vacuum.c:1968
 #, c-format
 msgid ""
 "failed to add item with len = %lu to page %u (free space %lu, nusd %u, noff %"
 "u)"
 msgstr ""
 
-#: ../commands/vacuum.c:2046
+#: ../commands/vacuum.c:2036
 msgid "Invalid XID in t_cmin (4)"
 msgstr ""
 
-#: ../commands/vacuum.c:2048
+#: ../commands/vacuum.c:2038
 msgid "HEAP_MOVED_IN was not expected (2)"
 msgstr ""
 
-#: ../commands/vacuum.c:2182
+#: ../commands/vacuum.c:2172
 msgid "Invalid XID in t_cmin (2)"
 msgstr ""
 
-#: ../commands/vacuum.c:2191
+#: ../commands/vacuum.c:2181
 msgid "HEAP_MOVED_OFF/HEAP_MOVED_IN was expected"
 msgstr ""
 
-#: ../commands/vacuum.c:2201
+#: ../commands/vacuum.c:2191
 #, c-format
 msgid ""
 "Rel %s: Pages: %u --> %u; Tuple(s) moved: %u.\n"
 "\t%s"
 msgstr ""
 
-#: ../commands/vacuum.c:2261
+#: ../commands/vacuum.c:2251
 msgid "Invalid XID in t_cmin (3)"
 msgstr ""
 
-#: ../commands/vacuum.c:2268
+#: ../commands/vacuum.c:2258
 msgid "HEAP_MOVED_OFF was expected (2)"
 msgstr ""
 
-#: ../commands/vacuum.c:2303
+#: ../commands/vacuum.c:2293
 #, c-format
 msgid "VACUUM (repair_frag): FlushRelationBuffers returned %d"
 msgstr ""
 
-#: ../commands/vacuum.c:2366
+#: ../commands/vacuum.c:2356
 #, c-format
 msgid "VACUUM (vacuum_heap): FlushRelationBuffers returned %d"
 msgstr ""
 
-#: ../commands/vacuum.c:2372
+#: ../commands/vacuum.c:2362
 #, c-format
 msgid "Rel %s: Pages: %u --> %u."
 msgstr ""
 
-#: ../commands/vacuum.c:2459 ../commands/vacuum.c:2513
+#: ../commands/vacuum.c:2449 ../commands/vacuum.c:2503
 #, c-format
 msgid ""
 "Index %s: NUMBER OF INDEX' TUPLES (%.0f) IS NOT THE SAME AS HEAP' (%.0f).\n"
 "\tRecreate the index."
 msgstr ""
 
-#: ../commands/vacuum.c:2828
+#: ../commands/vacuum.c:2815
 #, c-format
 msgid "vac_is_partial_index: index %u not found"
 msgstr ""
@@ -8542,57 +8547,57 @@ msgstr ""
 msgid "Async_Unlisten %s"
 msgstr ""
 
-#: ../commands/async.c:361
+#: ../commands/async.c:360
 msgid "Async_UnlistenAll"
 msgstr ""
 
-#: ../commands/async.c:463
+#: ../commands/async.c:462
 msgid "AtCommit_Notify"
 msgstr ""
 
-#: ../commands/async.c:495
+#: ../commands/async.c:494
 msgid "AtCommit_Notify: notifying self"
 msgstr ""
 
-#: ../commands/async.c:502
+#: ../commands/async.c:501
 #, c-format
 msgid "AtCommit_Notify: notifying pid %d"
 msgstr ""
 
-#: ../commands/async.c:558
+#: ../commands/async.c:559
 msgid "AtCommit_Notify: done"
 msgstr ""
 
-#: ../commands/async.c:631
+#: ../commands/async.c:633
 msgid "Async_NotifyHandler: perform async notify"
 msgstr ""
 
-#: ../commands/async.c:636
+#: ../commands/async.c:638
 msgid "Async_NotifyHandler: done"
 msgstr ""
 
-#: ../commands/async.c:703
+#: ../commands/async.c:706
 msgid "EnableNotifyInterrupt: perform async notify"
 msgstr ""
 
-#: ../commands/async.c:708
+#: ../commands/async.c:711
 msgid "EnableNotifyInterrupt: done"
 msgstr ""
 
-#: ../commands/async.c:759
+#: ../commands/async.c:762
 msgid "ProcessIncomingNotify"
 msgstr ""
 
-#: ../commands/async.c:795
+#: ../commands/async.c:798
 #, c-format
 msgid "ProcessIncomingNotify: received %s from %d"
 msgstr ""
 
-#: ../commands/async.c:837
+#: ../commands/async.c:840
 msgid "ProcessIncomingNotify: done"
 msgstr ""
 
-#: ../commands/async.c:864
+#: ../commands/async.c:867
 #, c-format
 msgid "NOTIFY for %s"
 msgstr ""
@@ -8612,8 +8617,8 @@ msgid "%s.nextval: reached MAXVALUE ("
 msgstr ""
 
 #: ../commands/sequence.c:320 ../commands/sequence.c:336
-#: ../commands/sequence.c:461 ../commands/sequence.c:785
-#: ../commands/sequence.c:799 ../commands/sequence.c:802
+#: ../commands/sequence.c:461 ../commands/sequence.c:787
+#: ../commands/sequence.c:801 ../commands/sequence.c:804
 msgid ")"
 msgstr ""
 
@@ -8680,81 +8685,81 @@ msgstr ""
 msgid "%s.%s: %s is not a sequence"
 msgstr ""
 
-#: ../commands/sequence.c:668
+#: ../commands/sequence.c:669
 #, c-format
 msgid "%s.%s: sequence was re-created"
 msgstr ""
 
-#: ../commands/sequence.c:682 ../commands/sequence.c:685
+#: ../commands/sequence.c:684 ../commands/sequence.c:687
 msgid "Memory exhausted in init_sequence"
 msgstr ""
 
-#: ../commands/sequence.c:751
+#: ../commands/sequence.c:753
 msgid "DefineSequence: CYCLE ??"
 msgstr ""
 
-#: ../commands/sequence.c:755
+#: ../commands/sequence.c:757
 #, c-format
 msgid "DefineSequence: option \"%s\" not recognized"
 msgstr ""
 
-#: ../commands/sequence.c:762
+#: ../commands/sequence.c:764
 msgid "DefineSequence: can't INCREMENT by 0"
 msgstr ""
 
-#: ../commands/sequence.c:785
+#: ../commands/sequence.c:787
 msgid "DefineSequence: MINVALUE ("
 msgstr ""
 
-#: ../commands/sequence.c:785
+#: ../commands/sequence.c:787
 msgid ") can't be >= MAXVALUE ("
 msgstr ""
 
-#: ../commands/sequence.c:799 ../commands/sequence.c:802
+#: ../commands/sequence.c:801 ../commands/sequence.c:804
 msgid "DefineSequence: START value ("
 msgstr ""
 
-#: ../commands/sequence.c:799
+#: ../commands/sequence.c:801
 msgid ") can't be < MINVALUE ("
 msgstr ""
 
-#: ../commands/sequence.c:802
+#: ../commands/sequence.c:804
 msgid ") can't be > MAXVALUE ("
 msgstr ""
 
-#: ../commands/sequence.c:808
+#: ../commands/sequence.c:810
 msgid "DefineSequence: CACHE ("
 msgstr ""
 
-#: ../commands/sequence.c:808
+#: ../commands/sequence.c:810
 msgid ") can't be <= 0"
 msgstr ""
 
-#: ../commands/sequence.c:817
+#: ../commands/sequence.c:819
 #, c-format
 msgid "DefineSequence: \"%s\" value unspecified"
 msgstr ""
 
-#: ../commands/sequence.c:831
+#: ../commands/sequence.c:833
 #, c-format
 msgid "DefineSequence: \"%s\" value must be integer"
 msgstr ""
 
-#: ../commands/sequence.c:848
+#: ../commands/sequence.c:850
 #, c-format
 msgid "seq_redo: unknown op code %u"
 msgstr ""
 
-#: ../commands/sequence.c:856
+#: ../commands/sequence.c:858
 #, c-format
 msgid "seq_redo: can't read block of %u/%u"
 msgstr ""
 
-#: ../commands/sequence.c:870
+#: ../commands/sequence.c:872
 msgid "seq_redo: failed to add item to page"
 msgstr ""
 
-#: ../commands/_deadcode/version.c:185
+#: ../commands/_deadcode/version.c:188
 msgid "Unable to expand all -- amopenr failed "
 msgstr ""
 
@@ -8785,87 +8790,87 @@ msgstr ""
 msgid "tg_rewriteQuery: Whoa! why is my qual a List???"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:502
+#: ../commands/_deadcode/recipe.c:504
 #, c-format
 msgid "tg_replaceNumberedParam: unexpected paramkind value of %d"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:613
+#: ../commands/_deadcode/recipe.c:618
 #, c-format
 msgid ""
 "tg_rewriteParamsInExpr:can't substitute for parameter %d when that input is "
 "unconnected"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:627
+#: ../commands/_deadcode/recipe.c:632
 #, c-format
 msgid "tg_rewriteParamsInExpr: unexpected paramkind value of %d"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:698
+#: ../commands/_deadcode/recipe.c:704
 #, c-format
 msgid "getParamTypes: Ingredients cannot take > %d arguments"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:704
+#: ../commands/_deadcode/recipe.c:710
 msgid "getParamTypes: Ingredient functions cannot take type 'opaque'"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:710
+#: ../commands/_deadcode/recipe.c:716
 #, c-format
 msgid "getParamTypes: arg type '%s' is not defined"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:712
+#: ../commands/_deadcode/recipe.c:718
 #, c-format
 msgid "getParamTypes: arg type '%s' is only a shell"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:837 ../commands/_deadcode/recipe.c:880
+#: ../commands/_deadcode/recipe.c:844 ../commands/_deadcode/recipe.c:887
 #, c-format
 msgid "calling parser with %s"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:847 ../commands/_deadcode/recipe.c:887
+#: ../commands/_deadcode/recipe.c:854 ../commands/_deadcode/recipe.c:894
 msgid "tg_parseSubQuery: parser produced > 1 query tree"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:892
+#: ../commands/_deadcode/recipe.c:899
 msgid "tg_parseSubQuery: can't parse recipe graph ingredients yet!"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:895
+#: ../commands/_deadcode/recipe.c:902
 msgid "tg_parseSubQuery: can't parse compiled ingredients yet!"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:898
+#: ../commands/_deadcode/recipe.c:905
 #, c-format
 msgid "tg_parseSubQuery: unknown srcLang: %d"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:940
+#: ../commands/_deadcode/recipe.c:948
 msgid "tg_parseSubQuery: can't handle eye nodes yet"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:1034
+#: ../commands/_deadcode/recipe.c:1046
 msgid "tg_parseSubQuery: unexpected result from TupleDescInitEntry"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:1045
+#: ../commands/_deadcode/recipe.c:1057
 msgid "tg_parseSubQuery: can't handle embedded recipes yet!"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:1047
+#: ../commands/_deadcode/recipe.c:1059
 #, c-format
 msgid "unknown nodeType: %d"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:1158
+#: ../commands/_deadcode/recipe.c:1170
 #, c-format
 msgid "appendTeeQuery: teeNodeName '%s' not found in teeInfo"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:1304
+#: ../commands/_deadcode/recipe.c:1317
 msgid "replaceTeeScans didn't find the corresponding tee plan"
 msgstr ""
 
@@ -8904,67 +8909,67 @@ msgstr ""
 msgid "Subselect in FROM may not have SELECT INTO"
 msgstr ""
 
-#: ../parser/parse_clause.c:642
+#: ../parser/parse_clause.c:643
 #, c-format
 msgid "Common column name \"%s\" appears more than once in left table"
 msgstr ""
 
-#: ../parser/parse_clause.c:648
+#: ../parser/parse_clause.c:649
 #, c-format
 msgid "JOIN/USING column \"%s\" not found in left table"
 msgstr ""
 
-#: ../parser/parse_clause.c:659
+#: ../parser/parse_clause.c:660
 #, c-format
 msgid "Common column name \"%s\" appears more than once in right table"
 msgstr ""
 
-#: ../parser/parse_clause.c:665
+#: ../parser/parse_clause.c:666
 #, c-format
 msgid "JOIN/USING column \"%s\" not found in right table"
 msgstr ""
 
-#: ../parser/parse_clause.c:743
+#: ../parser/parse_clause.c:745
 #, c-format
 msgid "Column alias list for \"%s\" has wrong number of entries (need %d)"
 msgstr ""
 
-#: ../parser/parse_clause.c:755
+#: ../parser/parse_clause.c:757
 #, c-format
 msgid ""
 "transformFromClauseItem: unexpected node (internal error)\n"
 "\t%s"
 msgstr ""
 
-#: ../parser/parse_clause.c:777
+#: ../parser/parse_clause.c:779
 #, c-format
 msgid "WHERE clause must return type boolean, not type %s"
 msgstr ""
 
-#: ../parser/parse_clause.c:873
+#: ../parser/parse_clause.c:876
 #, c-format
 msgid "%s '%s' is ambiguous"
 msgstr ""
 
-#: ../parser/parse_clause.c:892
+#: ../parser/parse_clause.c:895
 #, c-format
 msgid "Non-integer constant in %s"
 msgstr ""
 
-#: ../parser/parse_clause.c:905
+#: ../parser/parse_clause.c:908
 #, c-format
 msgid "%s position %d is not in target list"
 msgstr ""
 
-#: ../parser/parse_clause.c:1047
+#: ../parser/parse_clause.c:1050
 msgid "For SELECT DISTINCT, ORDER BY expressions must appear in target list"
 msgstr ""
 
-#: ../parser/parse_clause.c:1085
+#: ../parser/parse_clause.c:1088
 msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
 msgstr ""
 
-#: ../parser/parse_clause.c:1109
+#: ../parser/parse_clause.c:1112
 msgid ""
 "transformDistinctClause: failed to add DISTINCT ON clause to target list"
 msgstr ""
@@ -8986,274 +8991,273 @@ msgstr ""
 msgid "Aggregates not allowed in GROUP BY clause"
 msgstr ""
 
-#: ../parser/parse_agg.c:249
+#: ../parser/parse_agg.c:250
 #, c-format
 msgid "%s: aggregate '%s' for all types does not exist"
 msgstr ""
 
-#: ../parser/parse_agg.c:252
+#: ../parser/parse_agg.c:253
 #, c-format
 msgid "%s: aggregate '%s' for type %s does not exist"
 msgstr ""
 
-#: ../parser/parse_relation.c:139
+#: ../parser/parse_relation.c:175
 #, c-format
 msgid "scanNameSpaceForRefname: unexpected node type %d"
 msgstr ""
 
-#: ../parser/parse_relation.c:150
+#: ../parser/parse_relation.c:186
 #, c-format
 msgid "Table name \"%s\" specified more than once"
 msgstr ""
 
-#: ../parser/parse_relation.c:203
+#: ../parser/parse_relation.c:239
 #, c-format
 msgid "checkNameSpaceConflicts: unexpected node type %d"
 msgstr ""
 
-#: ../parser/parse_relation.c:238
+#: ../parser/parse_relation.c:274
 msgid "RTERangeTablePosn: RTE not found (internal error)"
 msgstr ""
 
-#: ../parser/parse_relation.c:268 ../parser/parse_relation.c:330
-#: ../parser/parse_relation.c:396
+#: ../parser/parse_relation.c:304 ../parser/parse_relation.c:366
+#: ../parser/parse_relation.c:432
 #, c-format
 msgid "Column reference \"%s\" is ambiguous"
 msgstr ""
 
-#: ../parser/parse_relation.c:390
+#: ../parser/parse_relation.c:426
 #, c-format
 msgid "colnameToVar: unexpected node type %d"
 msgstr ""
 
-#: ../parser/parse_relation.c:444
+#: ../parser/parse_relation.c:480
 #, c-format
 msgid "qualifiedNameToVar: unexpected node type %d"
 msgstr ""
 
-#: ../parser/parse_relation.c:500 ../parser/parse_relation.c:593
+#: ../parser/parse_relation.c:536 ../parser/parse_relation.c:629
 #, c-format
 msgid "Table \"%s\" has %d columns available but %d columns specified"
 msgstr ""
 
-#: ../parser/parse_relation.c:915
+#: ../parser/parse_relation.c:951
 #, c-format
 msgid "Invalid attnum %d for rangetable entry %s"
 msgstr ""
 
-#: ../parser/parse_relation.c:951
+#: ../parser/parse_relation.c:987
 #, c-format
 msgid "Relation '%s' does not have attribute '%s'"
 msgstr ""
 
-#: ../parser/parse_relation.c:995
+#: ../parser/parse_relation.c:1036
 #, c-format
-msgid "attnumAttName: invalid attribute number %d"
+msgid "attnumTypeId: bogus attribute number %d"
 msgstr ""
 
-#: ../parser/parse_relation.c:1017
-#, c-format
-msgid "attnumTypeId: invalid attribute number %d"
-msgstr ""
-
-#: ../parser/parse_relation.c:1044
+#: ../parser/parse_relation.c:1068
 #, c-format
 msgid "Adding missing FROM-clause entry%s for table \"%s\""
 msgstr ""
 
-#: ../parser/parse_coerce.c:136
+#: ../parser/parse_coerce.c:139
 #, c-format
 msgid "coerce_type: conversion function %s produced %s"
 msgstr ""
 
-#: ../parser/parse_coerce.c:388
+#: ../parser/parse_coerce.c:392
 #, c-format
 msgid "%s types \"%s\" and \"%s\" not matched"
 msgstr ""
 
-#: ../parser/parse_coerce.c:443
+#: ../parser/parse_coerce.c:448
 #, c-format
 msgid "%s unable to convert to type \"%s\""
 msgstr ""
 
-#: gram.y:741
+#: gram.y:734
 msgid "ALTER SCHEMA not yet supported"
 msgstr ""
 
-#: gram.y:848
+#: gram.y:840
 msgid "SET must have at least one argument"
 msgstr ""
 
-#: gram.y:1263 gram.y:1268 gram.y:3601 gram.y:3606
+#: gram.y:1210 gram.y:1215 gram.y:3544 gram.y:3549
 msgid "GLOBAL TEMPORARY TABLE is not currently supported"
 msgstr ""
 
-#: gram.y:1303
+#: gram.y:1250
 #, c-format
-msgid "CREATE TABLE / COLLATE %s not yet implemented; clause ignored"
+msgid "CREATE TABLE/COLLATE %s not yet implemented; clause ignored"
 msgstr ""
 
-#: gram.y:1559
+#: gram.y:1506
 msgid "FOREIGN KEY/MATCH PARTIAL not yet implemented"
 msgstr ""
 
-#: gram.y:1614
-msgid "CREATE TABLE AS may not specify INTO"
+#: gram.y:1561
+msgid "CREATE TABLE/AS SELECT may not specify INTO"
 msgstr ""
 
-#: ../parser/analyze.c:3120 ../parser/analyze.c:3138 gram.y:1914 gram.y:1927
+#: ../parser/analyze.c:3164 ../parser/analyze.c:3182 gram.y:1862 gram.y:1875
 msgid "INITIALLY DEFERRED constraint must be DEFERRABLE"
 msgstr ""
 
-#: gram.y:2173
-msgid "FETCH / RELATIVE at current position is not supported"
+#: gram.y:2121
+msgid "FETCH/RELATIVE at current position is not supported"
 msgstr ""
 
-#: gram.y:2301
-msgid "FETCH / ABSOLUTE not supported, using RELATIVE"
+#: gram.y:2249
+msgid "FETCH/ABSOLUTE not supported, using RELATIVE"
 msgstr ""
 
-#: gram.y:2418
+#: gram.y:2366
 msgid ""
 "WITH GRANT OPTION is not supported.  Only relation owners can set privileges"
 msgstr ""
 
-#: gram.y:2607
-msgid "CREATE FUNCTION / OUT parameters are not supported"
+#: gram.y:2555
+msgid "CREATE FUNCTION/OUT parameters are not supported"
 msgstr ""
 
-#: gram.y:2612
-msgid "CREATE FUNCTION / INOUT parameters are not supported"
+#: gram.y:2560
+msgid "CREATE FUNCTION/INOUT parameters are not supported"
 msgstr ""
 
-#: gram.y:2701
+#: gram.y:2645
 msgid "parser: argument type missing (use NONE for unary operators)"
 msgstr ""
 
-#: gram.y:2961
-msgid "COMMIT / CHAIN not yet supported"
+#: gram.y:2905
+msgid "COMMIT/CHAIN not yet supported"
 msgstr ""
 
-#: gram.y:3081
+#: gram.y:3025
 #, c-format
 msgid "%s is not a valid encoding name"
 msgstr ""
 
-#: gram.y:3093
+#: gram.y:3037
 #, c-format
 msgid "%d is not a valid encoding code"
 msgstr ""
 
-#: gram.y:3679
+#: gram.y:3618
 msgid "LIMIT must not be negative"
 msgstr ""
 
-#: gram.y:3720
+#: gram.y:3659
 msgid "OFFSET must not be negative"
 msgstr ""
 
-#: gram.y:3825
+#: gram.y:3764
 msgid ""
 "sub-SELECT in FROM must have an alias\n"
 "\tFor example, FROM (SELECT ...) [AS] foo"
 msgstr ""
 
-#: gram.y:4125
+#: gram.y:4063
 msgid "precision for FLOAT must be at least 1"
 msgstr ""
 
-#: gram.y:4131
+#: gram.y:4069
 msgid "precision for FLOAT must be less than 16"
 msgstr ""
 
-#: gram.y:4142 gram.y:4153
+#: gram.y:4080 gram.y:4091
 #, c-format
-msgid "NUMERIC precision %d must be between 1 and %d"
+msgid "NUMERIC precision %d must be beween 1 and %d"
 msgstr ""
 
-#: gram.y:4145
+#: gram.y:4083
 #, c-format
 msgid "NUMERIC scale %d must be between 0 and precision %d"
 msgstr ""
 
-#: gram.y:4168 gram.y:4179
+#: gram.y:4106 gram.y:4117
 #, c-format
-msgid "DECIMAL precision %d must be between 1 and %d"
+msgid "DECIMAL precision %d must be beween 1 and %d"
 msgstr ""
 
-#: gram.y:4171
+#: gram.y:4109
 #, c-format
 msgid "DECIMAL scale %d must be between 0 and precision %d"
 msgstr ""
 
-#: gram.y:4201 gram.y:4239
+#: gram.y:4139 gram.y:4174
 #, c-format
 msgid "length for type '%s' must be at least 1"
 msgstr ""
 
-#: gram.y:4204 gram.y:4242
+#: gram.y:4142 gram.y:4177
 #, c-format
 msgid "length for type '%s' cannot exceed %d"
 msgstr ""
 
-#: gram.y:4316
+#: gram.y:4254
 #, c-format
-msgid "TIMESTAMP(%d)%s precision must be between %d and %d"
+msgid "TIMESTAMP(%d) %s precision must be beween %d and %d"
 msgstr ""
 
-#: gram.y:4344
+#: gram.y:4279
 #, c-format
-msgid "TIME(%d)%s precision must be between %d and %d"
+msgid "TIME(%d) %s precision must be beween %d and %d"
 msgstr ""
 
-#: gram.y:4471
+#: gram.y:4409
 msgid "Wrong number of parameters on left side of OVERLAPS expression"
 msgstr ""
 
-#: gram.y:4476
+#: gram.y:4414
 msgid "Wrong number of parameters on right side of OVERLAPS expression"
 msgstr ""
 
-#: gram.y:5037
+#: gram.y:4978
 #, c-format
 msgid "CURRENT_TIME(%d) precision must be between %d and %d"
 msgstr ""
 
-#: gram.y:5091
+#: gram.y:5034
 #, c-format
-msgid "CURRENT_TIMESTAMP(%d) precision must be between %d and %d"
+msgid "CURRENT_TIMESTAMP(%d) precision must be beween %d and %d"
 msgstr ""
 
-#: gram.y:6017
+#: gram.y:5902
 msgid "OLD used in non-rule query"
 msgstr ""
 
-#: gram.y:6024
+#: gram.y:5909
 msgid "NEW used in non-rule query"
 msgstr ""
 
-#: gram.y:6108
+#: gram.y:5968
 msgid "Unequal number of entries in row expression"
 msgstr ""
 
-#: gram.y:6136
+#: gram.y:5996
 #, c-format
 msgid "Operator '%s' not implemented for row expressions"
 msgstr ""
 
-#: gram.y:6171
+#: gram.y:6009
+msgid "CREATE TABLE/AS SELECT has mismatched column count"
+msgstr ""
+
+#: gram.y:6053
 msgid "Multiple ORDER BY clauses not allowed"
 msgstr ""
 
-#: gram.y:6177
+#: gram.y:6059
 msgid "Multiple FOR UPDATE clauses not allowed"
 msgstr ""
 
-#: gram.y:6183
+#: gram.y:6065
 msgid "Multiple OFFSET clauses not allowed"
 msgstr ""
 
-#: gram.y:6189
+#: gram.y:6071
 msgid "Multiple LIMIT clauses not allowed"
 msgstr ""
 
@@ -9305,289 +9309,257 @@ msgstr ""
 msgid "Unput() failed.\n"
 msgstr ""
 
-#: ../parser/analyze.c:228
+#: ../parser/analyze.c:193
 msgid "CREATE VIEW specifies more column names than columns"
 msgstr ""
 
-#: ../parser/analyze.c:413
+#: ../parser/analyze.c:380
 msgid "INSERT ... SELECT may not specify INTO"
 msgstr ""
 
-#: ../parser/analyze.c:497
+#: ../parser/analyze.c:466
 msgid "INSERT has more expressions than target columns"
 msgstr ""
 
-#: ../parser/analyze.c:707
-msgid "parser: unrecognized node (internal error)"
-msgstr ""
-
-#: ../parser/analyze.c:826
+#: ../parser/analyze.c:807
 #, c-format
-msgid "%s will create implicit sequence '%s' for SERIAL column '%s.%s'"
+msgid ""
+"CREATE TABLE will create implicit sequence '%s' for SERIAL column '%s.%s'"
 msgstr ""
 
-#: ../parser/analyze.c:867 ../parser/analyze.c:875
+#: ../parser/analyze.c:847 ../parser/analyze.c:855
 #, c-format
-msgid "%s/(NOT) NULL conflicting declaration for '%s.%s'"
+msgid "CREATE TABLE/(NOT) NULL conflicting declaration for '%s.%s'"
 msgstr ""
 
-#: ../parser/analyze.c:883
+#: ../parser/analyze.c:863
 #, c-format
-msgid "%s/DEFAULT multiple values specified for '%s.%s'"
+msgid "CREATE TABLE/DEFAULT multiple values specified for '%s.%s'"
 msgstr ""
 
-#: ../parser/analyze.c:933 ../parser/analyze.c:972
+#: ../parser/analyze.c:907 ../parser/analyze.c:942
 msgid "parser: unrecognized constraint (internal error)"
 msgstr ""
 
-#: ../parser/analyze.c:968
+#: ../parser/analyze.c:938
 msgid "parser: illegal context for constraint (internal error)"
 msgstr ""
 
-#: ../parser/analyze.c:1012
-#, c-format
-msgid "%s / PRIMARY KEY multiple primary keys for table '%s' are not allowed"
+#: ../parser/analyze.c:957
+msgid "parser: unrecognized node (internal error)"
 msgstr ""
 
-#: ../parser/analyze.c:1080 ../parser/analyze.c:3029
+#: ../parser/analyze.c:983
 #, c-format
-msgid "inherited table \"%s\" is not a relation"
+msgid ""
+"CREATE TABLE/PRIMARY KEY multiple primary keys for table '%s' are not allowed"
 msgstr ""
 
-#: ../parser/analyze.c:1107
+#: ../parser/analyze.c:1038 ../parser/analyze.c:1258 ../parser/analyze.c:1395
 #, c-format
-msgid ""
-"inherited attribute \"%s\" cannot be a PRIMARY KEY because it is not marked "
-"NOT NULL"
+msgid "inherited table \"%s\" is not a relation"
 msgstr ""
 
-#: ../parser/analyze.c:1136
+#: ../parser/analyze.c:1065
 #, c-format
 msgid ""
-"Existing attribute \"%s\" cannot be a PRIMARY KEY because it is not marked "
+"inherited attribute \"%s\" cannot be a PRIMARY KEY because it is not marked "
 "NOT NULL"
 msgstr ""
 
-#: ../parser/analyze.c:1143
+#: ../parser/analyze.c:1077
 #, c-format
-msgid "%s: column \"%s\" named in key does not exist"
-msgstr "%s: ÔÚ¼ü×ÖÖÐÃüÃûµÄ×ֶΠ\"%s\" ²»´æÔÚ"
+msgid "CREATE TABLE: column \"%s\" named in key does not exist"
+msgstr "CREATE TABLE: ÔÚ¼ü×ÖÖÐÃüÃûµÄ×ֶΠ\"%s\" ²»´æÔÚ"
 
-#: ../parser/analyze.c:1151
+#: ../parser/analyze.c:1085
 #, c-format
-msgid "%s: column \"%s\" appears twice in %s constraint"
+msgid "CREATE TABLE: column \"%s\" appears twice in %s constraint"
 msgstr ""
 
-#: ../parser/analyze.c:1238
-#, c-format
-msgid "%s: failed to make implicit index name"
+#: ../parser/analyze.c:1170
+msgid "CREATE TABLE: failed to make implicit index name"
 msgstr ""
 
-#: ../parser/analyze.c:1241
+#: ../parser/analyze.c:1172
 #, c-format
-msgid "%s / %s%s will create implicit index '%s' for table '%s'"
+msgid "CREATE TABLE/%s will create implicit index '%s' for table '%s'"
 msgstr ""
 
-#: ../parser/analyze.c:1265
-#, c-format
-msgid "%s will create implicit trigger(s) for FOREIGN KEY check(s)"
+#: ../parser/analyze.c:1200
+msgid "CREATE TABLE will create implicit trigger(s) for FOREIGN KEY check(s)"
 msgstr ""
 
-#: ../parser/analyze.c:1293 ../parser/analyze.c:1324 ../parser/analyze.c:1381
+#: ../parser/analyze.c:1238 ../parser/analyze.c:1318 ../parser/analyze.c:1378
 #, c-format
-msgid "Can only have %d keys in a foreign key"
+msgid "Unable to lookup type %s"
 msgstr ""
 
-#: ../parser/analyze.c:1336 ../parser/analyze.c:2914
+#: ../parser/analyze.c:1328 ../parser/analyze.c:3086
 #, c-format
 msgid "PRIMARY KEY for referenced table \"%s\" not found"
 msgstr ""
 
-#: ../parser/analyze.c:1398 ../parser/analyze.c:2854
+#: ../parser/analyze.c:1473 ../parser/analyze.c:2573
 #, c-format
-msgid ""
-"UNIQUE constraint matching given keys for referenced table \"%s\" not found"
+msgid "Illegal FOREIGN KEY definition REFERENCES \"%s\""
 msgstr ""
 
-#: ../parser/analyze.c:1453
-#, c-format
+#: ../parser/analyze.c:1475 ../parser/analyze.c:2575
 msgid ""
-"number of key attributes in referenced table must be equal to foreign key\n"
-"\tIllegal FOREIGN KEY definition references \"%s\""
+"number of key attributes in referenced table must be equal to foreign key"
 msgstr ""
 
-#: ../parser/analyze.c:1514
+#: ../parser/analyze.c:1535 ../parser/analyze.c:2620
 msgid "Only one ON DELETE action can be specified for FOREIGN KEY constraint"
 msgstr ""
 
-#: ../parser/analyze.c:1586
+#: ../parser/analyze.c:1608 ../parser/analyze.c:2691
 msgid "Only one ON UPDATE action can be specified for FOREIGN KEY constraint"
 msgstr ""
 
-#: ../parser/analyze.c:1732 ../parser/analyze.c:1849
+#: ../parser/analyze.c:1751 ../parser/analyze.c:1868
 #, c-format
 msgid "transformRuleStmt: unexpected event type %d"
 msgstr ""
 
-#: ../parser/analyze.c:1741
+#: ../parser/analyze.c:1760
 msgid "Rule WHERE condition may not contain references to other relations"
 msgstr ""
 
-#: ../parser/analyze.c:1809
+#: ../parser/analyze.c:1828
 msgid ""
 "Rules with WHERE conditions may only have SELECT, INSERT, UPDATE, or DELETE "
 "actions"
 msgstr ""
 
-#: ../parser/analyze.c:1833
+#: ../parser/analyze.c:1852
 msgid "ON SELECT rule may not use OLD"
 msgstr ""
 
-#: ../parser/analyze.c:1835
+#: ../parser/analyze.c:1854
 msgid "ON SELECT rule may not use NEW"
 msgstr ""
 
-#: ../parser/analyze.c:1842
+#: ../parser/analyze.c:1861
 msgid "ON INSERT rule may not use OLD"
 msgstr ""
 
-#: ../parser/analyze.c:1846
+#: ../parser/analyze.c:1865
 msgid "ON DELETE rule may not use NEW"
 msgstr ""
 
-#: ../parser/analyze.c:1911 ../parser/analyze.c:2131
+#: ../parser/analyze.c:1930 ../parser/analyze.c:2142
 msgid "DECLARE CURSOR must not specify INTO"
 msgstr ""
 
-#: ../parser/analyze.c:1913 ../parser/analyze.c:2133
+#: ../parser/analyze.c:1932 ../parser/analyze.c:2144
 msgid ""
 "DECLARE/UPDATE is not supported\n"
 "\tCursors must be READ ONLY"
 msgstr ""
 
-#: ../parser/analyze.c:1923 ../parser/analyze.c:2143
+#: ../parser/analyze.c:1942 ../parser/analyze.c:2154
 msgid "DECLARE CURSOR may only be used in begin/end transaction blocks"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:797 ../parser/analyze.c:2067
-#: ../parser/analyze.c:2234 ../parser/analyze.c:2695
+#: ../optimizer/plan/planner.c:799 ../parser/analyze.c:2078
+#: ../parser/analyze.c:2242 ../parser/analyze.c:2851
 msgid "SELECT FOR UPDATE is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr ""
 
-#: ../parser/analyze.c:2195
+#: ../parser/analyze.c:2203
 msgid ""
 "ORDER BY on a UNION/INTERSECT/EXCEPT result must be on one of the result "
 "columns"
 msgstr ""
 
-#: ../parser/analyze.c:2229
+#: ../parser/analyze.c:2237
 msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
 msgstr ""
 
-#: ../parser/analyze.c:2231
+#: ../parser/analyze.c:2239
 msgid "Portal may not appear in UNION/INTERSECT/EXCEPT"
 msgstr ""
 
-#: ../parser/analyze.c:2326
+#: ../parser/analyze.c:2334
 #, c-format
 msgid "Each %s query must have the same number of columns"
 msgstr ""
 
-#: ../parser/analyze.c:2384
+#: ../parser/analyze.c:2392
 #, c-format
 msgid "getSetColTypes: unexpected node %d"
 msgstr ""
 
-#: ../parser/analyze.c:2395
-msgid "CREATE TABLE AS specifies too many column names"
-msgstr ""
-
-#: ../parser/analyze.c:2478 ../parser/analyze.c:2487
+#: ../parser/analyze.c:2467 ../parser/analyze.c:2476
 msgid "UPDATE target count mismatch --- internal error"
 msgstr ""
 
-#: ../parser/analyze.c:2567
-msgid "Unexpected node type in ALTER TABLE ADD CONSTRAINT"
+#: ../parser/analyze.c:2515
+msgid ""
+"ALTER TABLE ... ADD CONSTRAINT will create implicit trigger(s) for FOREIGN "
+"KEY check(s)"
 msgstr ""
 
-#: ../parser/analyze.c:2640
+#: ../parser/analyze.c:2796
 #, c-format
 msgid "Unsupported type %d in transformTypeRefs"
 msgstr ""
 
-#: ../parser/analyze.c:2681
+#: ../parser/analyze.c:2837
 #, c-format
 msgid "unsupported expression in %%TYPE"
 msgstr ""
 
-#: ../parser/analyze.c:2684
+#: ../parser/analyze.c:2840
 #, c-format
 msgid "%s.%s%%TYPE converted to %s"
 msgstr ""
 
-#: ../parser/analyze.c:2697
+#: ../parser/analyze.c:2853
 msgid "SELECT FOR UPDATE is not allowed with DISTINCT clause"
 msgstr ""
 
-#: ../parser/analyze.c:2699
+#: ../parser/analyze.c:2855
 msgid "SELECT FOR UPDATE is not allowed with GROUP BY clause"
 msgstr ""
 
-#: ../parser/analyze.c:2701
+#: ../parser/analyze.c:2857
 msgid "SELECT FOR UPDATE is not allowed with AGGREGATE"
 msgstr ""
 
-#: ../parser/analyze.c:2766
+#: ../parser/analyze.c:2922
 #, c-format
 msgid "FOR UPDATE: relation \"%s\" not found in FROM clause"
 msgstr ""
 
-#: ../parser/analyze.c:2813
-#, c-format
-msgid "transformFkeyCheckAttrs: index %u not found"
-msgstr ""
-
-#: ../parser/analyze.c:2899
-#, c-format
-msgid "transformFkeyGetPrimaryKey: index %u not found"
-msgstr ""
-
-#: ../parser/analyze.c:2970
+#: ../parser/analyze.c:2953 ../parser/analyze.c:3052
 #, c-format
-msgid "relationHasPrimaryKey: index %u not found"
-msgstr "relationHasPrimaryKey: Î´ÕÒµ½Ë÷Òý %u"
+msgid "referenced table \"%s\" not found"
+msgstr "δÕÒµ½±»ÒýÓõıí \"%s\""
 
-#: ../parser/analyze.c:3010
-#, c-format
-msgid "Unable to lookup type %s"
-msgstr ""
-
-#: ../parser/analyze.c:3063
-#, c-format
-msgid "%s: column \"%s\" referenced in foreign key constraint does not exist"
-msgstr ""
-
-#: ../parser/analyze.c:3104
+#: ../parser/analyze.c:3148
 msgid "Misplaced DEFERRABLE clause"
 msgstr ""
 
-#: ../parser/analyze.c:3106 ../parser/analyze.c:3115
+#: ../parser/analyze.c:3150 ../parser/analyze.c:3159
 msgid "Multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr ""
 
-#: ../parser/analyze.c:3113
+#: ../parser/analyze.c:3157
 msgid "Misplaced NOT DEFERRABLE clause"
 msgstr ""
 
-#: ../parser/analyze.c:3125
+#: ../parser/analyze.c:3169
 msgid "Misplaced INITIALLY DEFERRED clause"
 msgstr ""
 
-#: ../parser/analyze.c:3127 ../parser/analyze.c:3145
+#: ../parser/analyze.c:3171 ../parser/analyze.c:3189
 msgid "Multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr ""
 
-#: ../parser/analyze.c:3143
+#: ../parser/analyze.c:3187
 msgid "Misplaced INITIALLY IMMEDIATE clause"
 msgstr ""
 
@@ -9601,170 +9573,175 @@ msgstr ""
 msgid "Parameter '$%d' is out of range"
 msgstr "²ÎÊý '$%d' ³¬³ö·¶Î§"
 
-#: ../parser/parse_expr.c:211
+#: ../parser/parse_expr.c:209
 #, c-format
 msgid "left-hand side of AND is type '%s', not '%s'"
 msgstr ""
 
-#: ../parser/parse_expr.c:216
+#: ../parser/parse_expr.c:214
 #, c-format
 msgid "right-hand side of AND is type '%s', not '%s'"
 msgstr ""
 
-#: ../parser/parse_expr.c:237
+#: ../parser/parse_expr.c:235
 #, c-format
 msgid "left-hand side of OR is type '%s', not '%s'"
 msgstr ""
 
-#: ../parser/parse_expr.c:242
+#: ../parser/parse_expr.c:240
 #, c-format
 msgid "right-hand side of OR is type '%s', not '%s'"
 msgstr ""
 
-#: ../parser/parse_expr.c:260
+#: ../parser/parse_expr.c:258
 #, c-format
 msgid "argument to NOT is type '%s', not '%s'"
 msgstr ""
 
-#: ../parser/parse_expr.c:311 ../parser/parse_expr.c:315
+#: ../parser/parse_expr.c:309 ../parser/parse_expr.c:313
 msgid "Bad query in subselect"
 msgstr ""
 
-#: ../parser/parse_expr.c:337
+#: ../parser/parse_expr.c:336
 msgid "Subselect must have a field"
 msgstr ""
 
-#: ../parser/parse_expr.c:341
+#: ../parser/parse_expr.c:340
 msgid "Subselect must have only one field"
 msgstr ""
 
-#: ../parser/parse_expr.c:370
+#: ../parser/parse_expr.c:369
 #, c-format
 msgid "Row comparison cannot use '%s'"
 msgstr ""
 
-#: ../parser/parse_expr.c:393
+#: ../parser/parse_expr.c:392
 msgid "Subselect has too many fields"
 msgstr ""
 
-#: ../parser/parse_expr.c:409
+#: ../parser/parse_expr.c:408
 #, c-format
 msgid ""
 "'%s' result type of '%s' must return '%s' to be used with quantified "
 "predicate subquery"
 msgstr ""
 
-#: ../parser/parse_expr.c:421
+#: ../parser/parse_expr.c:420
 msgid "Subselect has too few fields"
 msgstr ""
 
-#: ../parser/parse_expr.c:461
+#: ../parser/parse_expr.c:506
 msgid "WHEN clause must have a boolean result"
 msgstr ""
 
-#: ../parser/parse_expr.c:574
+#: ../parser/parse_expr.c:565
 #, c-format
 msgid "transformExpr: unexpected booltesttype %d"
 msgstr ""
 
-#: ../parser/parse_expr.c:579
+#: ../parser/parse_expr.c:570
 #, c-format
 msgid "Argument of %s must be boolean"
 msgstr ""
 
-#: ../parser/parse_expr.c:609
+#: ../parser/parse_expr.c:600
 #, c-format
 msgid "transformExpr: does not know how to transform node %d (internal error)"
 msgstr ""
 
-#: ../parser/parse_expr.c:668
+#: ../parser/parse_expr.c:659
 #, c-format
 msgid "Attribute '%s' not found"
 msgstr ""
 
-#: ../parser/parse_expr.c:728
+#: ../parser/parse_expr.c:719
 msgid "Cannot get type for untransformed sublink"
 msgstr ""
 
-#: ../parser/parse_expr.c:756
+#: ../parser/parse_expr.c:747
 #, c-format
 msgid "Do not know how to get type for %d node"
 msgstr ""
 
-#: ../parser/parse_expr.c:982
+#: ../parser/parse_expr.c:887
+#, c-format
+msgid "cache lookup for type %u failed"
+msgstr ""
+
+#: ../parser/parse_expr.c:942
 #, c-format
 msgid "Cannot cast this expression to type '%s'"
 msgstr ""
 
-#: ../parser/parse_expr.c:1032
+#: ../parser/parse_expr.c:992
 #, c-format
 msgid "Cannot cast type '%s' to '%s'"
 msgstr "ÎÞ·¨°ÑÀàÐÍ '%s' ×ª»»Îª '%s'"
 
-#: ../parser/parse_func.c:154
+#: ../parser/parse_func.c:155
 #, c-format
 msgid "Cannot pass more than %d arguments to a function"
 msgstr ""
 
-#: ../parser/parse_func.c:161
+#: ../parser/parse_func.c:162
 #, c-format
 msgid "Function '%s' does not allow NULL input"
 msgstr ""
 
-#: ../parser/parse_func.c:204
+#: ../parser/parse_func.c:208
 #, c-format
 msgid "Type '%s' is not a relation type"
 msgstr ""
 
-#: ../parser/parse_func.c:211 ../parser/parse_func.c:483
+#: ../parser/parse_func.c:216 ../parser/parse_func.c:488
 #, c-format
 msgid "No such attribute or function '%s'"
 msgstr ""
 
-#: ../parser/parse_func.c:227
+#: ../parser/parse_func.c:232
 msgid "Aggregate functions may only have one parameter"
 msgstr ""
 
-#: ../parser/parse_func.c:230
+#: ../parser/parse_func.c:235
 msgid "Aggregate functions cannot be applied to relation names"
 msgstr ""
 
-#: ../parser/parse_func.c:286
+#: ../parser/parse_func.c:291
 #, c-format
 msgid "Unable to select an aggregate function %s(%s)"
 msgstr ""
 
-#: ../parser/parse_func.c:297
+#: ../parser/parse_func.c:303
 #, c-format
 msgid "There is no aggregate function %s(%s)"
 msgstr ""
 
-#: ../parser/parse_func.c:350 ../parser/parse_func.c:395
+#: ../parser/parse_func.c:357 ../parser/parse_func.c:400
 #, c-format
 msgid "No such attribute or function %s.%s"
 msgstr ""
 
-#: ../parser/parse_func.c:359
+#: ../parser/parse_func.c:366
 #, c-format
 msgid "Cannot pass result of join %s to a function"
 msgstr ""
 
-#: ../parser/parse_func.c:366
+#: ../parser/parse_func.c:373
 #, c-format
 msgid "ParseFuncOrColumn: unexpected node type %d"
 msgstr ""
 
-#: ../parser/parse_func.c:400
+#: ../parser/parse_func.c:405
 #, c-format
 msgid "Cannot pass result of sub-select %s to a function"
 msgstr ""
 
-#: ../parser/parse_func.c:1714
+#: ../parser/parse_func.c:1720
 #, c-format
 msgid "Function '%s(%s)' does not exist%s%s"
 msgstr ""
 
-#: ../parser/parse_func.c:1720
+#: ../parser/parse_func.c:1726
 #, c-format
 msgid "%s: function '%s(%s)' does not exist%s%s"
 msgstr ""
@@ -9817,107 +9794,107 @@ msgid ""
 "\tUse an explicit ordering operator or modify the query"
 msgstr ""
 
-#: ../parser/parse_oper.c:923
+#: ../parser/parse_oper.c:926
 #, c-format
 msgid ""
 "Left hand side of operator '%s' has an unknown type\n"
 "\tProbably a bad attribute name"
 msgstr ""
 
-#: ../parser/parse_oper.c:927
+#: ../parser/parse_oper.c:930
 #, c-format
 msgid ""
 "Right hand side of operator %s has an unknown type\n"
 "\tProbably a bad attribute name"
 msgstr ""
 
-#: ../parser/parse_oper.c:930
+#: ../parser/parse_oper.c:933
 #, c-format
 msgid ""
 "Unable to identify an operator '%s' for types '%s' and '%s'\n"
 "\tYou will have to retype this query using an explicit cast"
 msgstr ""
 
-#: ../parser/parse_oper.c:945
+#: ../parser/parse_oper.c:948
 #, c-format
 msgid ""
 "operand of prefix operator '%s' has an unknown type\n"
 "\t(probably an invalid column reference)"
 msgstr ""
 
-#: ../parser/parse_oper.c:949
+#: ../parser/parse_oper.c:952
 #, c-format
 msgid ""
 "operand of postfix operator '%s' has an unknown type\n"
 "\t(probably an invalid column reference)"
 msgstr ""
 
-#: ../parser/parse_oper.c:956
+#: ../parser/parse_oper.c:959
 #, c-format
 msgid ""
 "Unable to identify a prefix operator '%s' for type '%s'\n"
 "\tYou may need to add parentheses or an explicit cast"
 msgstr ""
 
-#: ../parser/parse_oper.c:960
+#: ../parser/parse_oper.c:963
 #, c-format
 msgid ""
 "Unable to identify a postfix operator '%s' for type '%s'\n"
 "\tYou may need to add parentheses or an explicit cast"
 msgstr ""
 
-#: ../parser/parse_target.c:61
+#: ../parser/parse_target.c:60
 msgid "You can't use relation names alone in the target list, try relation.*."
 msgstr ""
 
-#: ../parser/parse_target.c:143
+#: ../parser/parse_target.c:144
 #, c-format
 msgid "transformTargetList: unexpected node type %d"
 msgstr ""
 
-#: ../parser/parse_target.c:204
+#: ../parser/parse_target.c:205
 #, c-format
 msgid "Cannot assign to system attribute '%s'"
 msgstr ""
 
-#: ../parser/parse_target.c:264
+#: ../parser/parse_target.c:268
 #, c-format
 msgid ""
 "column \"%s\" is of type '%s' but expression is of type '%s'\n"
 "\tYou will need to rewrite or cast the expression"
 msgstr ""
 
-#: ../parser/parse_target.c:384
+#: ../parser/parse_target.c:390
 #, c-format
 msgid "Attribute '%s' specified more than once"
 msgstr ""
 
-#: ../parser/parse_target.c:434
+#: ../parser/parse_target.c:440
 #, c-format
 msgid ""
 "ExpandAllTables: unexpected node (internal error)\n"
 "\t%s"
 msgstr ""
 
-#: ../parser/parse_target.c:440
+#: ../parser/parse_target.c:446
 msgid "Wildcard with no tables specified not allowed"
 msgstr ""
 
-#: ../parser/parse_type.c:50 ../parser/parse_type.c:221
+#: ../parser/parse_type.c:47 ../parser/parse_type.c:222
 #, c-format
 msgid "Unable to locate type oid %u in catalog"
 msgstr ""
 
-#: ../parser/parse_type.c:62
+#: ../parser/parse_type.c:59
 msgid "typenameType: Null typename"
 msgstr ""
 
-#: ../parser/parse_type.c:68
+#: ../parser/parse_type.c:65
 #, c-format
 msgid "Unable to locate type name '%s' in catalog"
 msgstr ""
 
-#: ../parser/parse_type.c:77
+#: ../parser/parse_type.c:74
 msgid "typeTypeId() called with NULL type struct"
 msgstr ""
 
@@ -9926,39 +9903,32 @@ msgstr ""
 msgid "typeidOutfunc: Invalid type - oid = %u"
 msgstr ""
 
-#: ../parser/parse_type.c:246
+#: ../parser/parse_type.c:247
 #, c-format
 msgid "typeidTypeRelid: Invalid type - oid = %u"
 msgstr ""
 
-#: ../parser/parse_type.c:295 ../parser/parse_type.c:311
-#: ../parser/parse_type.c:313 ../parser/parse_type.c:319
-#: ../parser/parse_type.c:324 ../parser/parse_type.c:328
-#, c-format
-msgid "Invalid type name '%s'"
-msgstr "ÎÞЧµÄÀàÐÍÃû '%s'"
-
-#: ../optimizer/geqo/geqo_erx.c:336
+#: ../optimizer/geqo/geqo_erx.c:338
 msgid "gimme_gene: Internal error - minimum_count not set"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_erx.c:362
+#: ../optimizer/geqo/geqo_erx.c:364
 msgid "gimme_gene: neither shared nor minimum number nor random edge found"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_erx.c:422
+#: ../optimizer/geqo/geqo_erx.c:424
 msgid "edge_failure(1): no edge found via random decision and total_edges == 4"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_erx.c:447
+#: ../optimizer/geqo/geqo_erx.c:449
 msgid "edge_failure(2): no edge found via random decision and remainig edges"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_erx.c:465
+#: ../optimizer/geqo/geqo_erx.c:467
 msgid "edge_failure(3): no edge found via looking for the last ununsed point"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_erx.c:470
+#: ../optimizer/geqo/geqo_erx.c:472
 msgid "edge_failure: no edge detected"
 msgstr ""
 
@@ -9966,45 +9936,45 @@ msgstr ""
 msgid "gimme_tree: failed to construct join rel"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:123
+#: ../optimizer/geqo/geqo_main.c:126
 msgid "geqo_main: using edge recombination crossover [ERX]"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:127
+#: ../optimizer/geqo/geqo_main.c:130
 msgid "geqo_main: using partially matched crossover [PMX]"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:131
+#: ../optimizer/geqo/geqo_main.c:134
 msgid "geqo_main: using cycle crossover [CX]"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:136
+#: ../optimizer/geqo/geqo_main.c:139
 msgid "geqo_main: using position crossover [PX]"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:141
+#: ../optimizer/geqo/geqo_main.c:144
 msgid "geqo_main: using order crossover [OX1]"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:146
+#: ../optimizer/geqo/geqo_main.c:149
 msgid "geqo_main: using order crossover [OX2]"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:217
+#: ../optimizer/geqo/geqo_main.c:220
 #, c-format
 msgid "[GEQO] failures: %d, average: %d"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:220
+#: ../optimizer/geqo/geqo_main.c:223
 msgid "[GEQO] No edge failures detected."
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:226
+#: ../optimizer/geqo/geqo_main.c:229
 #, c-format
 msgid "[GEQO] mutations: %d, generations: %d"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:228
+#: ../optimizer/geqo/geqo_main.c:231
 msgid "[GEQO] No mutations processed."
 msgstr ""
 
@@ -10012,102 +9982,97 @@ msgstr ""
 msgid "avg_pool: pool_size of zero"
 msgstr ""
 
-#: ../optimizer/path/clausesel.c:522
+#: ../optimizer/path/clausesel.c:532
 #, c-format
 msgid "clause_selectivity: s1 %f"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:506
+#: ../optimizer/path/indxpath.c:508
 msgid "extract_or_indexqual_conditions: no matching clause"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:1302
+#: ../optimizer/path/indxpath.c:1303
 msgid "pred_test_simple_clause: unknown test_op"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:1330
+#: ../optimizer/path/indxpath.c:1331
 msgid "pred_test_simple_clause: null test result"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:2008
+#: ../optimizer/path/indxpath.c:2012
 #, c-format
 msgid "prefix_quals: unexpected operator %u"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:2019
+#: ../optimizer/path/indxpath.c:2023
 #, c-format
 msgid "prefix_quals: no = operator for type %u"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:2034
+#: ../optimizer/path/indxpath.c:2038
 #, c-format
 msgid "prefix_quals: no >= operator for type %u"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:2050
+#: ../optimizer/path/indxpath.c:2054
 #, c-format
 msgid "prefix_quals: no < operator for type %u"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:2099
+#: ../optimizer/path/indxpath.c:2103
 #, c-format
 msgid "network_prefix_quals: unexpected operator %u"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:2112
+#: ../optimizer/path/indxpath.c:2116
 #, c-format
 msgid "network_prefix_quals: no %s operator for type %u"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:2127
+#: ../optimizer/path/indxpath.c:2131
 #, c-format
 msgid "network_prefix_quals: no <= operator for type %u"
 msgstr ""
 
-#: ../optimizer/path/allpaths.c:192
+#: ../optimizer/path/allpaths.c:190
 msgid "SELECT FOR UPDATE is not supported for inherit queries"
 msgstr ""
 
-#: ../optimizer/path/joinpath.c:172
-#, c-format
-msgid "sort_inner_and_outer: unexpected join type %d"
-msgstr "sort_inner_and_outer: Î´ÖªµÄÁ¬½ÓÀàÐÍ %d"
-
-#: ../optimizer/path/joinpath.c:343
+#: ../optimizer/path/joinpath.c:317
 #, c-format
 msgid "match_unsorted_outer: unexpected join type %d"
 msgstr ""
 
-#: ../optimizer/path/joinpath.c:602
+#: ../optimizer/path/joinpath.c:577
 #, c-format
 msgid "match_unsorted_inner: unexpected join type %d"
 msgstr ""
 
-#: ../executor/nodeMergejoin.c:1509 ../optimizer/path/joinpath.c:939
+#: ../executor/nodeMergejoin.c:1533 ../optimizer/path/joinpath.c:915
 msgid "FULL JOIN is only supported with mergejoinable join conditions"
 msgstr ""
 
-#: ../optimizer/path/joinrels.c:226
+#: ../optimizer/path/joinrels.c:229
 #, c-format
 msgid "make_rels_by_joins: failed to build any %d-way joins"
 msgstr ""
 
-#: ../optimizer/path/joinrels.c:381
+#: ../optimizer/path/joinrels.c:380
 #, c-format
 msgid "make_jointree_rel: unexpected node type %d"
 msgstr ""
 
-#: ../optimizer/path/joinrels.c:438
+#: ../optimizer/path/joinrels.c:437
 #, c-format
 msgid "make_join_rel: unsupported join type %d"
 msgstr ""
 
-#: ../optimizer/path/costsize.c:1229
+#: ../optimizer/path/costsize.c:1225
 #, c-format
 msgid "set_joinrel_size_estimates: unsupported join type %d"
 msgstr ""
 
-#: ../optimizer/path/pathkeys.c:872
+#: ../optimizer/path/pathkeys.c:856
 msgid ""
 "make_pathkeys_for_mergeclauses: can't identify which side of mergeclause to "
 "use"
@@ -10121,131 +10086,131 @@ msgstr ""
 msgid "called xfunc_predmig with bad inputs"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/predmig.c:327
+#: ../optimizer/path/_deadcode/predmig.c:328
 msgid "Didn't find matching node in original stream"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/predmig.c:338
+#: ../optimizer/path/_deadcode/predmig.c:339
 msgid "pulling up in xfunc_predmig_pullup!"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/predmig.c:385
+#: ../optimizer/path/_deadcode/predmig.c:386
 msgid "didn't succeed in pulling up in xfunc_prdmig_pullup"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/predmig.c:780
+#: ../optimizer/path/_deadcode/predmig.c:781
 msgid "bad pointers in stream"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/predmig.c:787
+#: ../optimizer/path/_deadcode/predmig.c:788
 msgid "Joins got reordered!"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/xfunc.c:455
-#: ../optimizer/path/_deadcode/xfunc.c:706
-#: ../optimizer/path/_deadcode/xfunc.c:843
-#: ../optimizer/path/_deadcode/xfunc.c:1178
+#: ../optimizer/path/_deadcode/xfunc.c:456
+#: ../optimizer/path/_deadcode/xfunc.c:710
+#: ../optimizer/path/_deadcode/xfunc.c:847
+#: ../optimizer/path/_deadcode/xfunc.c:1183
 msgid "Clause node of undetermined type"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/xfunc.c:491
+#: ../optimizer/path/_deadcode/xfunc.c:492
 msgid "Oper's function is undefined"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/xfunc.c:501
-#: ../optimizer/path/_deadcode/xfunc.c:677
-#: ../optimizer/path/_deadcode/xfunc.c:1306
+#: ../optimizer/path/_deadcode/xfunc.c:502
+#: ../optimizer/path/_deadcode/xfunc.c:680
+#: ../optimizer/path/_deadcode/xfunc.c:1311
 #, c-format
 msgid "Cache lookup failed for procedure %u"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/xfunc.c:616
-#: ../optimizer/path/_deadcode/xfunc.c:1324
+#: ../optimizer/path/_deadcode/xfunc.c:617
+#: ../optimizer/path/_deadcode/xfunc.c:1329
 #, c-format
 msgid "Cache lookup failed for type %u"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/xfunc.c:1405
+#: ../optimizer/path/_deadcode/xfunc.c:1410
 msgid "xfunc_LispRemove: didn't find a match!"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:151
+#: ../optimizer/plan/initsplan.c:148
 #, c-format
 msgid "add_missing_rels_to_query: unexpected node type %d"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:274 ../optimizer/plan/planner.c:412
+#: ../optimizer/plan/initsplan.c:271 ../optimizer/plan/planner.c:396
 msgid "UNION JOIN is not implemented yet"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:278
+#: ../optimizer/plan/initsplan.c:275
 #, c-format
 msgid "distribute_quals_to_rels: unsupported join type %d"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:288
+#: ../optimizer/plan/initsplan.c:285
 #, c-format
 msgid "distribute_quals_to_rels: unexpected node type %d"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:325
+#: ../optimizer/plan/initsplan.c:322
 msgid ""
 "SELECT FOR UPDATE cannot be applied to the nullable side of an OUTER JOIN"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:387
+#: ../optimizer/plan/initsplan.c:382
 msgid "JOIN qualification may not refer to other relations"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:545
+#: ../optimizer/plan/initsplan.c:518
 msgid "distribute_qual_to_rels: can't cope with variable-free clause"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:689
+#: ../optimizer/plan/initsplan.c:661
 #, c-format
 msgid "Unable to identify an equality operator for types '%s' and '%s'"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:700
+#: ../optimizer/plan/initsplan.c:672
 #, c-format
 msgid ""
 "Equality operator for types '%s' and '%s' should be mergejoinable, but isn't"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:415
+#: ../optimizer/plan/planner.c:399
 #, c-format
 msgid "pull_up_subqueries: unexpected join type %d"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:421
+#: ../optimizer/plan/planner.c:405
 #, c-format
 msgid "pull_up_subqueries: unexpected node type %d"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:442
+#: ../optimizer/plan/planner.c:427
 msgid "is_simple_subquery: subquery is bogus"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:517
+#: ../optimizer/plan/planner.c:502
 #, c-format
 msgid "resolvenew_in_jointree: unexpected node type %d"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:596
+#: ../optimizer/plan/planner.c:582
 #, c-format
 msgid "preprocess_jointree: unexpected node type %d"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:682
+#: ../optimizer/plan/planner.c:683
 #, c-format
 msgid "preprocess_qual_conditions: unexpected node type %d"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:850
+#: ../optimizer/plan/planner.c:852
 msgid "SELECT FOR UPDATE is not allowed in subselects"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:1452 ../optimizer/plan/planner.c:1458
+#: ../optimizer/plan/planner.c:1456 ../optimizer/plan/planner.c:1462
 msgid "postprocess_setop_tlist: resjunk output columns not implemented"
 msgstr ""
 
@@ -10272,25 +10237,25 @@ msgstr ""
 msgid "SS_finalize_plan: plan shouldn't reference subplan's variable"
 msgstr ""
 
-#: ../optimizer/plan/setrefs.c:192
+#: ../optimizer/plan/setrefs.c:190
 #, c-format
 msgid "set_plan_references: unknown plan type %d"
 msgstr ""
 
-#: ../optimizer/plan/setrefs.c:413
+#: ../optimizer/plan/setrefs.c:424
 msgid "join_references: variable not in subplan target lists"
 msgstr ""
 
-#: ../optimizer/plan/setrefs.c:474
+#: ../optimizer/plan/setrefs.c:476
 msgid "replace_vars_with_subplan_refs: variable not in subplan target list"
 msgstr ""
 
-#: ../optimizer/plan/planmain.c:218
+#: ../optimizer/plan/planmain.c:220
 #, c-format
 msgid "Internal error: no jointree entry for rel %s (%d)"
 msgstr ""
 
-#: ../optimizer/plan/planmain.c:241
+#: ../optimizer/plan/planmain.c:243
 msgid "subplanner: failed to construct a relation"
 msgstr ""
 
@@ -10309,53 +10274,46 @@ msgstr ""
 msgid "create_join_plan: unknown node type: %d"
 msgstr ""
 
-#: ../optimizer/plan/createplan.c:980
+#: ../optimizer/plan/createplan.c:982
 msgid "fix_indxqual_sublist: indexqual clause is not binary opclause"
 msgstr ""
 
-#: ../optimizer/plan/createplan.c:1017
+#: ../optimizer/plan/createplan.c:1019
 msgid "fix_indxqual_sublist: failed to find substitute op"
 msgstr ""
 
-#: ../optimizer/plan/createplan.c:1079
+#: ../optimizer/plan/createplan.c:1082
 msgid "fix_indxqual_operand: var is not index attribute"
 msgstr ""
 
-#: ../optimizer/plan/createplan.c:1497
+#: ../optimizer/plan/createplan.c:1501
 msgid "make_sort_from_pathkeys: cannot find tlist item to sort"
 msgstr ""
 
-#: ../optimizer/prep/preptlist.c:66
+#: ../optimizer/prep/preptlist.c:62
 msgid "preprocess_targetlist: subquery cannot be result relation"
 msgstr ""
 
-#: ../optimizer/prep/preptlist.c:213
+#: ../optimizer/prep/preptlist.c:269
 msgid "expand_targetlist: unexpected command_type"
 msgstr ""
 
-#: ../optimizer/prep/preptlist.c:246
+#: ../optimizer/prep/preptlist.c:294
 #, c-format
 msgid "Unexpected assignment to attribute \"%s\""
 msgstr ""
 
-#: ../optimizer/prep/preptlist.c:315 ../optimizer/prep/preptlist.c:327
+#: ../optimizer/prep/preptlist.c:364 ../optimizer/prep/preptlist.c:376
 #, c-format
 msgid "Multiple assignments to same attribute \"%s\""
 msgstr ""
 
-#: ../catalog/heap.c:1669 ../optimizer/prep/preptlist.c:402
-#, c-format
-msgid ""
-"Column \"%s\" is of type %s but default expression is of type %s\n"
-"\tYou will need to rewrite or cast the expression"
-msgstr ""
-
-#: ../optimizer/prep/prepunion.c:194
+#: ../optimizer/prep/prepunion.c:193
 #, c-format
 msgid "recurse_set_operations: unexpected node %d"
 msgstr ""
 
-#: ../optimizer/prep/prepunion.c:314
+#: ../optimizer/prep/prepunion.c:305
 msgid "generate_nonunion_plan: bogus operation code"
 msgstr ""
 
@@ -10389,58 +10347,58 @@ msgstr ""
 msgid "has_subclass: Relation %u not found"
 msgstr ""
 
-#: ../optimizer/util/tlist.c:239
+#: ../optimizer/util/tlist.c:240
 msgid ""
 "get_sortgroupclause_tle: ORDER/GROUP BY expression not found in targetlist"
 msgstr ""
 
-#: ../optimizer/util/relnode.c:68
+#: ../optimizer/util/relnode.c:66
 msgid "build_base_rel: rel already exists as 'other' rel"
 msgstr ""
 
-#: ../optimizer/util/relnode.c:108
+#: ../optimizer/util/relnode.c:106
 msgid "build_other_rel: rel already exists as base rel"
 msgstr ""
 
-#: ../optimizer/util/relnode.c:201
+#: ../optimizer/util/relnode.c:199
 #, c-format
 msgid "find_base_rel: no relation entry for relid %d"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:78
+#: ../optimizer/util/clauses.c:72
 #, c-format
 msgid "make_clause: unsupported type %d"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:441
+#: ../optimizer/util/clauses.c:436
 msgid "Aggregate function calls may not be nested"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:655
+#: ../optimizer/util/clauses.c:612
 #, c-format
 msgid "Sub-SELECT uses un-GROUPed attribute %s.%s from outer query"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:946
+#: ../optimizer/util/clauses.c:903
 msgid "CommuteClause: applied to non-binary-operator clause"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:954
+#: ../optimizer/util/clauses.c:911
 #, c-format
 msgid "CommuteClause: no commutator for operator %u"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:1179
+#: ../optimizer/util/clauses.c:1136
 #, c-format
 msgid "eval_const_expressions: unexpected opType %d"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:1796
+#: ../optimizer/util/clauses.c:1756
 #, c-format
 msgid "expression_tree_walker: Unexpected node type %d"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:2171
+#: ../optimizer/util/clauses.c:2136
 #, c-format
 msgid "expression_tree_mutator: Unexpected node type %d"
 msgstr ""
@@ -10449,78 +10407,78 @@ msgstr ""
 msgid "Unable to devise a query plan for the given query"
 msgstr ""
 
-#: ../executor/execQual.c:143 ../executor/execQual.c:165
+#: ../executor/execQual.c:144 ../executor/execQual.c:166
 #, c-format
 msgid "ExecEvalArrayRef: can only handle %d dimensions"
 msgstr ""
 
-#: ../executor/execQual.c:187
+#: ../executor/execQual.c:188
 msgid "ExecEvalArrayRef: upper and lower indices mismatch"
 msgstr ""
 
-#: ../executor/execQual.c:265
+#: ../executor/execQual.c:266
 msgid "ExecEvalAggref: no aggregates in this expression context"
 msgstr ""
 
-#: ../executor/execQual.c:467
+#: ../executor/execQual.c:469
 msgid "ExecEvalParam: new/old params with same id & diff names"
 msgstr ""
 
-#: ../executor/execQual.c:476
+#: ../executor/execQual.c:478
 #, c-format
 msgid "ExecEvalParam: invalid paramkind %d"
 msgstr ""
 
-#: ../executor/execQual.c:490
+#: ../executor/execQual.c:493
 #, c-format
 msgid "ExecEvalParam: Unknown value for parameter %s"
 msgstr ""
 
-#: ../executor/execQual.c:524
+#: ../executor/execQual.c:527
 msgid "GetAttributeByNum: Invalid attribute number"
 msgstr ""
 
-#: ../executor/execQual.c:527
+#: ../executor/execQual.c:530
 msgid "GetAttributeByNum: cannot access system attributes here"
 msgstr ""
 
-#: ../executor/execQual.c:530
+#: ../executor/execQual.c:533
 msgid "GetAttributeByNum: a NULL isNull flag was passed"
 msgstr ""
 
-#: ../executor/execQual.c:558
+#: ../executor/execQual.c:561
 msgid "GetAttributeByName: Invalid attribute name"
 msgstr ""
 
-#: ../executor/execQual.c:561
+#: ../executor/execQual.c:564
 msgid "GetAttributeByName: a NULL isNull flag was passed"
 msgstr ""
 
-#: ../executor/execQual.c:583
+#: ../executor/execQual.c:586
 #, c-format
 msgid "GetAttributeByName: attribute %s not found"
 msgstr ""
 
-#: ../executor/execQual.c:628
+#: ../executor/execQual.c:631
 msgid "Functions and operators can take only one set argument"
 msgstr ""
 
-#: ../executor/execQual.c:1146
+#: ../executor/execQual.c:1149
 #, c-format
 msgid "ExecEvalNullTest: unexpected nulltesttype %d"
 msgstr ""
 
-#: ../executor/execQual.c:1226
+#: ../executor/execQual.c:1229
 #, c-format
 msgid "ExecEvalBooleanTest: unexpected booltesttype %d"
 msgstr ""
 
-#: ../executor/execQual.c:1382 ../executor/execQual.c:1421
+#: ../executor/execQual.c:1385 ../executor/execQual.c:1424
 #, c-format
 msgid "ExecEvalExpr: unknown expression type %d"
 msgstr ""
 
-#: ../executor/execQual.c:1767
+#: ../executor/execQual.c:1770
 msgid "ExecTargetList: fjoin nodes not currently supported"
 msgstr ""
 
@@ -10532,109 +10490,109 @@ msgstr ""
 msgid "InstrStopNode without start"
 msgstr ""
 
-#: ../executor/nodeHashjoin.c:358
+#: ../executor/nodeHashjoin.c:363
 #, c-format
 msgid "ExecInitHashJoin: unsupported join type %d"
 msgstr ""
 
-#: ../executor/nodeHashjoin.c:530 ../executor/nodeHashjoin.c:538
+#: ../executor/nodeHashjoin.c:535 ../executor/nodeHashjoin.c:543
 msgid "Read from hashjoin temp file failed"
 msgstr ""
 
-#: ../executor/nodeHashjoin.c:594 ../executor/nodeHashjoin.c:599
+#: ../executor/nodeHashjoin.c:600 ../executor/nodeHashjoin.c:605
 msgid "Failed to rewind hash temp file"
 msgstr ""
 
-#: ../executor/nodeHashjoin.c:670 ../executor/nodeHashjoin.c:673
+#: ../executor/nodeHashjoin.c:676 ../executor/nodeHashjoin.c:679
 msgid "Write to hashjoin temp file failed"
 msgstr "дÈëÉ¢ÁÐÁª½ÓÁÙʱÎļþʧ°Ü"
 
-#: ../executor/spi.c:69
+#: ../executor/spi.c:73
 msgid "SPI_connect: no connection(s) expected"
 msgstr ""
 
-#: ../executor/spi.c:75
+#: ../executor/spi.c:79
 msgid "SPI_connect: some connection(s) expected"
 msgstr ""
 
-#: ../executor/spi.c:81
+#: ../executor/spi.c:85
 msgid "Memory exhausted in SPI_connect"
 msgstr ""
 
-#: ../executor/spi.c:154
+#: ../executor/spi.c:158
 msgid "Memory exhausted in SPI_finish"
 msgstr ""
 
-#: ../executor/spi.c:320 ../executor/spi.c:347 ../executor/spi.c:376
-#: ../executor/spi.c:415 ../executor/spi.c:655 ../executor/spi.c:1300
+#: ../executor/spi.c:324 ../executor/spi.c:351 ../executor/spi.c:385
+#: ../executor/spi.c:586 ../executor/spi.c:1230
 msgid "SPI: stack corrupted"
 msgstr ""
 
-#: ../executor/spi.c:722
+#: ../executor/spi.c:653
 msgid "cannot open multi-query plan as cursor"
 msgstr ""
 
-#: ../executor/spi.c:727
+#: ../executor/spi.c:658
 msgid "plan in SPI_cursor_open() is not a SELECT"
 msgstr ""
 
-#: ../executor/spi.c:729
+#: ../executor/spi.c:660
 msgid "plan in SPI_cursor_open() must NOT be a DECLARE already"
 msgstr ""
 
-#: ../executor/spi.c:731
+#: ../executor/spi.c:662
 msgid "plan in SPI_cursor_open() must NOT be a SELECT INTO"
 msgstr ""
 
-#: ../executor/spi.c:761
+#: ../executor/spi.c:689
 #, c-format
 msgid "cursor \"%s\" already in use"
 msgstr ""
 
-#: ../executor/spi.c:766
+#: ../executor/spi.c:694
 #, c-format
 msgid "failed to create portal \"%s\""
 msgstr "´´½¨Èë¿Ú \"%s\" Ê§°Ü"
 
-#: ../executor/spi.c:860 ../executor/spi.c:1213
+#: ../executor/spi.c:787 ../executor/spi.c:1143
 msgid "invalid portal in SPI cursor operation"
 msgstr ""
 
-#: ../executor/spi.c:885
+#: ../executor/spi.c:812
 msgid "SPI: improper call to spi_printtup"
 msgstr ""
 
-#: ../executor/spi.c:887
+#: ../executor/spi.c:814
 msgid "SPI: stack corrupted in spi_printtup"
 msgstr ""
 
-#: ../executor/spi.c:1165
+#: ../executor/spi.c:1092
 msgid "SPI_select: retrieve into portal not implemented"
 msgstr ""
 
-#: ../executor/spi.c:1175
+#: ../executor/spi.c:1102
 msgid "SPI_select: # of processed tuples check failed"
 msgstr ""
 
-#: ../executor/spi.c:1266
+#: ../executor/spi.c:1196
 msgid "SPI_fetch: # of processed tuples check failed"
 msgstr ""
 
-#: ../executor/nodeIndexscan.c:726
+#: ../executor/nodeIndexscan.c:721
 msgid "ExecInitIndexScan: indxqual not an opclause!"
 msgstr ""
 
-#: ../executor/nodeIndexscan.c:852 ../executor/nodeIndexscan.c:915
+#: ../executor/nodeIndexscan.c:851 ../executor/nodeIndexscan.c:916
 #, c-format
 msgid "ExecInitIndexScan: %s"
 msgstr ""
 
-#: ../executor/nodeIndexscan.c:1002
+#: ../executor/nodeIndexscan.c:1003
 #, c-format
 msgid "indexes of the relation %u was inactivated"
 msgstr ""
 
-#: ../executor/nodeSetOp.c:174
+#: ../executor/nodeSetOp.c:178
 #, c-format
 msgid "ExecSetOp: bogus command code %d"
 msgstr ""
@@ -10649,40 +10607,40 @@ msgstr ""
 msgid "init_sql_fcache: Cache lookup failed for type %u"
 msgstr ""
 
-#: ../executor/functions.c:241
+#: ../executor/functions.c:242
 #, c-format
 msgid "init_sql_fcache: null prosrc for procedure %u"
 msgstr ""
 
-#: ../executor/nodeMergejoin.c:137
+#: ../executor/nodeMergejoin.c:138
 msgid "MJFormSkipQual: op not an Oper!"
 msgstr ""
 
-#: ../executor/nodeMergejoin.c:151
+#: ../executor/nodeMergejoin.c:152
 #, c-format
 msgid "MJFormSkipQual: operator %u not found"
 msgstr ""
 
-#: ../executor/nodeMergejoin.c:168
+#: ../executor/nodeMergejoin.c:169
 #, c-format
 msgid "MJFormSkipQual: mergejoin operator %u has no matching %s op"
 msgstr ""
 
-#: ../executor/nodeMergejoin.c:430
+#: ../executor/nodeMergejoin.c:432
 #, c-format
 msgid "ExecMergeJoin: unsupported join type %d"
 msgstr ""
 
-#: ../executor/nodeMergejoin.c:1414
+#: ../executor/nodeMergejoin.c:1438
 #, c-format
 msgid "ExecMergeJoin: invalid join state %d, aborting"
 msgstr ""
 
-#: ../executor/nodeMergejoin.c:1494
+#: ../executor/nodeMergejoin.c:1518
 msgid "RIGHT JOIN is only supported with mergejoinable join conditions"
 msgstr ""
 
-#: ../executor/nodeMergejoin.c:1512
+#: ../executor/nodeMergejoin.c:1536
 #, c-format
 msgid "ExecInitMergeJoin: unsupported join type %d"
 msgstr ""
@@ -10701,22 +10659,22 @@ msgstr ""
 msgid "ExecCloseR: not a scan node!"
 msgstr ""
 
-#: ../executor/execAmi.c:365
+#: ../executor/execAmi.c:366
 #, c-format
 msgid "ExecReScan: node type %d not supported"
 msgstr ""
 
-#: ../executor/execAmi.c:434
+#: ../executor/execAmi.c:435
 #, c-format
 msgid "ExecMarkPos: node type %d not supported"
 msgstr ""
 
-#: ../executor/execAmi.c:471
+#: ../executor/execAmi.c:472
 #, c-format
 msgid "ExecRestrPos: node type %d not supported"
 msgstr ""
 
-#: ../executor/nodeNestloop.c:318
+#: ../executor/nodeNestloop.c:322
 #, c-format
 msgid "ExecInitNestLoop: unsupported join type %d"
 msgstr ""
@@ -10725,12 +10683,12 @@ msgstr ""
 msgid "ExecHash: hash table is NULL."
 msgstr ""
 
-#: ../executor/nodeHash.c:312 ../executor/nodeHash.c:491
-#: ../executor/nodeHash.c:725
+#: ../executor/nodeHash.c:314 ../executor/nodeHash.c:494
+#: ../executor/nodeHash.c:729
 msgid "Insufficient memory for hash table."
 msgstr ""
 
-#: ../executor/nodeAppend.c:293
+#: ../executor/nodeAppend.c:295
 msgid "ExecProcAppend: subnode is NULL"
 msgstr ""
 
@@ -10739,7 +10697,7 @@ msgid "ExecSubPlan: can't set parent params from subquery"
 msgstr ""
 
 #: ../executor/nodeSubplan.c:120 ../executor/nodeSubplan.c:142
-#: ../executor/nodeSubplan.c:385
+#: ../executor/nodeSubplan.c:386
 msgid "More than one tuple returned by a subselect used as an expression."
 msgstr ""
 
@@ -10747,23 +10705,23 @@ msgstr ""
 msgid "ExecSubPlan: failed to find placeholder for subplan result"
 msgstr ""
 
-#: ../executor/nodeSubplan.c:358
+#: ../executor/nodeSubplan.c:359
 msgid "ExecSetParamPlan: ANY/ALL subselect unsupported"
 msgstr ""
 
-#: ../executor/nodeSubplan.c:468
+#: ../executor/nodeSubplan.c:469
 msgid "ExecReScanSetParamPlan: direct correlated subquery unsupported, yet"
 msgstr ""
 
-#: ../executor/nodeSubplan.c:470
+#: ../executor/nodeSubplan.c:471
 msgid "ExecReScanSetParamPlan: setParam list is NULL"
 msgstr ""
 
-#: ../executor/nodeSubplan.c:472
+#: ../executor/nodeSubplan.c:473
 msgid "ExecReScanSetParamPlan: extParam list of plan is NULL"
 msgstr ""
 
-#: ../executor/nodeAgg.c:923 ../executor/nodeGroup.c:495
+#: ../executor/nodeAgg.c:933 ../executor/nodeGroup.c:497
 #, c-format
 msgid "Unable to identify an equality operator for type '%s'"
 msgstr ""
@@ -10772,7 +10730,7 @@ msgstr ""
 msgid "ExtractSortKeys: keycount <= 0"
 msgstr ""
 
-#: ../executor/execUtils.c:534
+#: ../executor/execUtils.c:536
 #, c-format
 msgid "ExecOpenIndices: index %u not found"
 msgstr ""
@@ -10811,159 +10769,154 @@ msgstr ""
 msgid "ExecutorRun: Unknown feature %d"
 msgstr ""
 
-#: ../executor/execMain.c:448
+#: ../executor/execMain.c:450
 #, c-format
 msgid "ExecCheckRTEPerms: bogus operation %d"
 msgstr ""
 
-#: ../executor/execMain.c:805
+#: ../executor/execMain.c:813
 #, c-format
 msgid "You can't change sequence relation %s"
 msgstr ""
 
-#: ../executor/execMain.c:809
+#: ../executor/execMain.c:817
 #, c-format
 msgid "You can't change toast relation %s"
 msgstr ""
 
-#: ../executor/execMain.c:813
+#: ../executor/execMain.c:821
 #, c-format
 msgid "You can't change view relation %s"
 msgstr ""
 
-#: ../executor/execMain.c:1014
+#: ../executor/execMain.c:1022
 msgid "ExecutePlan: NO (junk) `ctid' was found!"
 msgstr ""
 
-#: ../executor/execMain.c:1018
+#: ../executor/execMain.c:1026
 msgid "ExecutePlan: (junk) `ctid' is NULL!"
 msgstr ""
 
-#: ../executor/execMain.c:1043
+#: ../executor/execMain.c:1051
 #, c-format
 msgid "ExecutePlan: NO (junk) `%s' was found!"
 msgstr ""
 
-#: ../executor/execMain.c:1048
+#: ../executor/execMain.c:1056
 #, c-format
 msgid "ExecutePlan: (junk) `%s' is NULL!"
 msgstr ""
 
-#: ../executor/execMain.c:1134
+#: ../executor/execMain.c:1142
 msgid "ExecutePlan: unknown operation in queryDesc"
 msgstr ""
 
-#: ../executor/execMain.c:1398
+#: ../executor/execMain.c:1407
 msgid "ExecReplace: replace can't run without transactions"
 msgstr ""
 
-#: ../executor/execMain.c:1595
+#: ../executor/execMain.c:1605
 #, c-format
 msgid "%s: Fail to add null value in not null attribute %s"
 msgstr ""
 
-#: ../executor/execMain.c:1605
+#: ../executor/execMain.c:1615
 #, c-format
 msgid "%s: rejected due to CHECK constraint %s"
 msgstr ""
 
-#: ../executor/execMain.c:1649
+#: ../executor/execMain.c:1661
 #, c-format
 msgid "EvalPlanQual: can't find RTE %d"
 msgstr ""
 
-#: ../executor/execMain.c:1668
+#: ../executor/execMain.c:1680
 msgid "EvalPlanQual: t_xmin is uncommitted ?!"
 msgstr ""
 
-#: ../executor/nodeAgg.c:760
+#: ../executor/nodeAgg.c:768
 msgid "ExecInitAgg: could not find any aggregate functions"
 msgstr ""
 
-#: ../executor/nodeAgg.c:858
+#: ../executor/nodeAgg.c:866
 #, c-format
 msgid "ExecAgg: cache lookup failed for aggregate %s(%s)"
 msgstr ""
 
-#: ../executor/nodeAgg.c:901
+#: ../executor/nodeAgg.c:910
 #, c-format
 msgid "Aggregate %s needs to have compatible input type and transition type"
 msgstr ""
 
-#: ../catalog/pg_operator.c:229
+#: ../catalog/pg_operator.c:177
 #, c-format
 msgid "left type \"%s\" of operator %s does not exist"
 msgstr ""
 
-#: ../catalog/pg_operator.c:238
+#: ../catalog/pg_operator.c:186
 #, c-format
 msgid "right type \"%s\" of operator %s does not exist"
 msgstr ""
 
-#: ../catalog/pg_operator.c:244
+#: ../catalog/pg_operator.c:192
 #, c-format
 msgid "operator %s must have at least one operand type"
 msgstr ""
 
-#: ../catalog/pg_operator.c:299 ../catalog/pg_operator.c:517
-#, c-format
-msgid "\"%s\" is not a valid operator name"
-msgstr ""
-
-#: ../catalog/pg_operator.c:312
+#: ../catalog/pg_operator.c:333
 msgid "OperatorShellMake: the operand types are not valid"
 msgstr ""
 
-#: ../catalog/pg_operator.c:505
+#: ../catalog/pg_operator.c:479
 #, c-format
 msgid "OperatorDef: operator \"%s\" already defined"
 msgstr ""
 
-#: ../catalog/pg_operator.c:529
+#: ../catalog/pg_operator.c:497
 #, c-format
 msgid "left type \"%s\" does not exist"
 msgstr ""
 
-#: ../catalog/pg_operator.c:538
+#: ../catalog/pg_operator.c:506
 #, c-format
 msgid "right type \"%s\" does not exist"
 msgstr ""
 
-#: ../catalog/pg_operator.c:544
+#: ../catalog/pg_operator.c:512
 msgid "operator must have at least one operand type"
 msgstr ""
 
-#: ../catalog/pg_operator.c:739
+#: ../catalog/pg_operator.c:707
 #, c-format
 msgid "OperatorDef: can't create operator shell \"%s\""
 msgstr ""
 
-#: ../catalog/pg_operator.c:751
+#: ../catalog/pg_operator.c:720
 msgid "operator cannot be its own negator or sort operator"
 msgstr ""
 
-#: ../catalog/pg_operator.c:806
+#: ../catalog/pg_operator.c:775
 #, c-format
 msgid "OperatorDef: operator %u not found"
 msgstr ""
 
-#: ../catalog/pg_operator.c:1057
+#: ../catalog/pg_operator.c:1026
 msgid "at least one of leftarg or rightarg must be specified"
 msgstr ""
 
-#: ../catalog/pg_operator.c:1063
+#: ../catalog/pg_operator.c:1032
 msgid "only binary operators can have commutators"
 msgstr ""
 
-#: ../catalog/pg_operator.c:1065
+#: ../catalog/pg_operator.c:1034
 msgid "only binary operators can have join selectivity"
 msgstr ""
 
-#: ../catalog/pg_operator.c:1067
+#: ../catalog/pg_operator.c:1036
 msgid "only binary operators can hash"
 msgstr ""
 
-#: ../catalog/pg_operator.c:1069
+#: ../catalog/pg_operator.c:1038
 msgid "only binary operators can have sort links"
 msgstr ""
 
@@ -10987,232 +10940,239 @@ msgstr ""
 msgid "\tacl[%d]: %s"
 msgstr ""
 
-#: ../catalog/aclchk.c:107
+#: ../catalog/aclchk.c:108
 #, c-format
 msgid "relation \"%s\" not found"
 msgstr ""
 
-#: ../catalog/aclchk.c:113
+#: ../catalog/aclchk.c:114
 #, c-format
 msgid "\"%s\" is an index"
 msgstr ""
 
-#: ../catalog/aclchk.c:209
+#: ../catalog/aclchk.c:208
 #, c-format
 msgid "non-existent group \"%s\""
 msgstr ""
 
-#: ../catalog/aclchk.c:279
+#: ../catalog/aclchk.c:278
 #, c-format
 msgid "in_group: group %u not found"
 msgstr ""
 
-#: ../catalog/aclchk.c:306
+#: ../catalog/aclchk.c:305
 msgid "aclcheck: null ACL, returning OK"
 msgstr ""
 
-#: ../catalog/aclchk.c:321
+#: ../catalog/aclchk.c:320
 msgid "aclcheck: zero-length ACL, returning OK"
 msgstr ""
 
-#: ../catalog/aclchk.c:330
+#: ../catalog/aclchk.c:329
 msgid "aclcheck: first entry in ACL is not 'world' entry"
 msgstr ""
 
-#: ../catalog/aclchk.c:334
+#: ../catalog/aclchk.c:333
 #, c-format
 msgid "aclcheck: using world=%d"
 msgstr ""
 
-#: ../catalog/aclchk.c:350
+#: ../catalog/aclchk.c:349
 #, c-format
 msgid "aclcheck: found user %u/%d"
 msgstr ""
 
-#: ../catalog/aclchk.c:367 ../catalog/aclchk.c:388
+#: ../catalog/aclchk.c:366 ../catalog/aclchk.c:387
 #, c-format
 msgid "aclcheck: found group %u/%d"
 msgstr ""
 
-#: ../catalog/aclchk.c:400
+#: ../catalog/aclchk.c:399
 #, c-format
 msgid "aclcheck: bogus ACL id type: %d"
 msgstr ""
 
-#: ../catalog/aclchk.c:430
+#: ../catalog/aclchk.c:429
 #, c-format
 msgid "pg_aclcheck: invalid user id %u"
 msgstr ""
 
-#: ../catalog/aclchk.c:446
+#: ../catalog/aclchk.c:445
 #, c-format
 msgid "pg_aclcheck: catalog update to \"%s\": permission denied"
 msgstr ""
 
-#: ../catalog/aclchk.c:459
+#: ../catalog/aclchk.c:458
 #, c-format
 msgid "pg_aclcheck: \"%s\" is superuser"
 msgstr ""
 
-#: ../catalog/aclchk.c:476
+#: ../catalog/aclchk.c:475
 #, c-format
 msgid "pg_aclcheck: class \"%s\" not found"
 msgstr ""
 
-#: ../catalog/aclchk.c:526
+#: ../catalog/aclchk.c:525
 #, c-format
 msgid "pg_ownercheck: invalid user id %u"
 msgstr ""
 
-#: ../catalog/aclchk.c:536 ../catalog/aclchk.c:598 ../catalog/aclchk.c:649
+#: ../catalog/aclchk.c:535 ../catalog/aclchk.c:597 ../catalog/aclchk.c:648
 #, c-format
 msgid "pg_ownercheck: user \"%s\" is superuser"
 msgstr ""
 
-#: ../catalog/aclchk.c:553
+#: ../catalog/aclchk.c:552
 #, c-format
 msgid "pg_ownercheck: class \"%s\" not found"
 msgstr ""
 
-#: ../catalog/aclchk.c:559
+#: ../catalog/aclchk.c:558
 #, c-format
 msgid "pg_ownercheck: type \"%s\" not found"
 msgstr ""
 
-#: ../catalog/aclchk.c:564
+#: ../catalog/aclchk.c:563
 #, c-format
 msgid "pg_ownercheck: invalid cache id: %d"
 msgstr ""
 
-#: ../catalog/aclchk.c:588
+#: ../catalog/aclchk.c:587
 #, c-format
 msgid "pg_oper_ownercheck: invalid user id %u"
 msgstr ""
 
-#: ../catalog/aclchk.c:612
+#: ../catalog/aclchk.c:611
 #, c-format
 msgid "pg_ownercheck: operator %u not found"
 msgstr ""
 
-#: ../catalog/aclchk.c:639
+#: ../catalog/aclchk.c:638
 #, c-format
 msgid "pg_func_ownercheck: invalid user id %u"
 msgstr ""
 
-#: ../catalog/aclchk.c:691
+#: ../catalog/aclchk.c:690
 #, c-format
 msgid "pg_aggr_ownercheck: invalid user id %u"
 msgstr ""
 
-#: ../catalog/aclchk.c:701
+#: ../catalog/aclchk.c:700
 #, c-format
 msgid "pg_aggr_ownercheck: user \"%s\" is superuser"
 msgstr ""
 
-#: ../catalog/heap.c:160 ../catalog/heap.c:163
+#: ../catalog/heap.c:159 ../catalog/heap.c:162
 #, c-format
 msgid "SystemAttributeDefinition: invalid attribute number %d"
 msgstr ""
 
-#: ../catalog/heap.c:234
+#: ../catalog/heap.c:209
 #, c-format
 msgid ""
 "invalid relation name \"%s\"; the 'pg_' name prefix is reserved for system "
 "catalogs"
 msgstr ""
 
-#: ../catalog/heap.c:380
+#: ../catalog/heap.c:359
 #, c-format
 msgid "name of column \"%s\" conflicts with an existing system column"
 msgstr ""
 
-#: ../catalog/heap.c:383
+#: ../catalog/heap.c:364
 #, c-format
 msgid ""
 "Attribute '%s' has an unknown type\n"
 "\tProceeding with relation creation anyway"
 msgstr ""
 
-#: ../catalog/heap.c:397
+#: ../catalog/heap.c:378
 #, c-format
 msgid "column name \"%s\" is duplicated"
 msgstr ""
 
-#: ../catalog/heap.c:734
+#: ../catalog/heap.c:712
 #, c-format
 msgid "Number of columns is out of range (1 to %d)"
 msgstr "×ֶαàºÅ³¬³ö·¶Î§ (1 µ½ %d)"
 
-#: ../catalog/heap.c:742
+#: ../catalog/heap.c:720
 #, c-format
 msgid "Relation '%s' already exists"
 msgstr ""
 
-#: ../catalog/heap.c:877
+#: ../catalog/heap.c:855
 #, c-format
 msgid "Relation \"%s\" inherits from \"%s\""
 msgstr ""
 
-#: ../catalog/heap.c:880
+#: ../catalog/heap.c:858
 #, c-format
 msgid "Relation %u inherits from \"%s\""
 msgstr ""
 
-#: ../catalog/heap.c:1076
+#: ../catalog/heap.c:1054
 msgid "TRUNCATE TABLE cannot run inside a transaction block"
 msgstr ""
 
-#: ../catalog/heap.c:1186
+#: ../catalog/heap.c:1164
 #, c-format
 msgid "DeleteTypeTuple: type \"%s\" does not exist"
 msgstr ""
 
-#: ../catalog/heap.c:1226
+#: ../catalog/heap.c:1204
 #, c-format
 msgid "DeleteTypeTuple: column of type %s exists in relation %u"
 msgstr ""
 
-#: ../catalog/heap.c:1297
+#: ../catalog/heap.c:1275
 #, c-format
 msgid "System relation \"%s\" may not be dropped"
 msgstr ""
 
-#: ../catalog/heap.c:1306
+#: ../catalog/heap.c:1284
 #, c-format
 msgid "heap_drop_with_catalog: FlushRelationBuffers returned %d"
 msgstr ""
 
-#: ../catalog/heap.c:1639
+#: ../catalog/heap.c:1617
 msgid "cannot use column references in DEFAULT clause"
 msgstr ""
 
-#: ../catalog/heap.c:1645
+#: ../catalog/heap.c:1623
 msgid "cannot use subselects in DEFAULT clause"
 msgstr ""
 
-#: ../catalog/heap.c:1647
+#: ../catalog/heap.c:1625
 msgid "cannot use aggregate functions in DEFAULT clause"
 msgstr ""
 
-#: ../catalog/heap.c:1800
+#: ../catalog/heap.c:1647
+#, c-format
+msgid ""
+"Column \"%s\" is of type %s but default expression is of type %s\n"
+"\tYou will need to rewrite or cast the expression"
+msgstr ""
+
+#: ../catalog/heap.c:1769
 #, c-format
 msgid "CHECK constraint expression '%s' does not yield boolean result"
 msgstr ""
 
-#: ../catalog/heap.c:1807
+#: ../catalog/heap.c:1776
 #, c-format
 msgid "Only relation \"%s\" can be referenced in CHECK constraint expression"
 msgstr ""
 
-#: ../catalog/heap.c:1814
+#: ../catalog/heap.c:1783
 msgid "cannot use subselect in CHECK constraint expression"
 msgstr ""
 
-#: ../catalog/heap.c:1816
+#: ../catalog/heap.c:1785
 msgid "cannot use aggregate function in CHECK constraint expression"
 msgstr ""
 
-#: ../catalog/heap.c:2037
+#: ../catalog/heap.c:2000
 msgid "check count became negative"
 msgstr ""
 
@@ -11250,20 +11210,20 @@ msgid ""
 "with input type"
 msgstr ""
 
-#: ../catalog/pg_aggregate.c:203
+#: ../catalog/pg_aggregate.c:204
 msgid "AggregateCreate: heap_formtuple failed"
 msgstr ""
 
-#: ../catalog/pg_aggregate.c:205
+#: ../catalog/pg_aggregate.c:206
 msgid "AggregateCreate: heap_insert failed"
 msgstr ""
 
-#: ../catalog/pg_aggregate.c:238
+#: ../catalog/pg_aggregate.c:239
 #, c-format
 msgid "AggNameGetInitVal: cache lookup failed for aggregate '%s'"
 msgstr ""
 
-#: ../catalog/pg_aggregate.c:263
+#: ../catalog/pg_aggregate.c:264
 #, c-format
 msgid ""
 "AggNameGetInitVal: cache lookup failed on aggregate transition function "
@@ -11293,45 +11253,45 @@ msgstr ""
 msgid "functions cannot accept set arguments"
 msgstr ""
 
-#: ../catalog/pg_proc.c:159
+#: ../catalog/pg_proc.c:160
 msgid "lookup for procedure by source needs fix (Jan)"
 msgstr ""
 
-#: ../catalog/pg_proc.c:167
+#: ../catalog/pg_proc.c:168
 msgid "SQL functions cannot return type \"opaque\""
 msgstr ""
 
-#: ../catalog/pg_proc.c:176
+#: ../catalog/pg_proc.c:177
 #, c-format
 msgid "ProcedureCreate: type %s is not yet defined"
 msgstr ""
 
-#: ../catalog/pg_proc.c:180
+#: ../catalog/pg_proc.c:181
 #, c-format
 msgid "could not create type %s"
 msgstr "ÎÞ·¨´´½¨ÀàÐÍ %s"
 
-#: ../catalog/pg_proc.c:184
+#: ../catalog/pg_proc.c:185
 #, c-format
 msgid "return type %s is only a shell"
 msgstr ""
 
-#: ../catalog/pg_proc.c:197
+#: ../catalog/pg_proc.c:198
 #, c-format
 msgid "method %s already an attribute of type %s"
 msgstr ""
 
-#: ../catalog/pg_proc.c:232
+#: ../catalog/pg_proc.c:233
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr ""
 
-#: ../catalog/pg_proc.c:308
+#: ../catalog/pg_proc.c:309
 #, c-format
 msgid "function %s already exists with same argument types"
 msgstr ""
 
-#: ../catalog/pg_proc.c:311
+#: ../catalog/pg_proc.c:312
 #, c-format
 msgid "ProcedureCreate: you do not have permission to replace function %s"
 msgstr ""
@@ -11408,20 +11368,20 @@ msgstr ""
 msgid "cannot create index: column %d does not exist"
 msgstr "ÎÞ·¨´´½¨Ë÷Òý: ×ֶΠ%d ²»´æÔÚ"
 
-#: ../catalog/index.c:679
+#: ../catalog/index.c:678
 msgid "must index at least one column"
 msgstr ""
 
-#: ../catalog/index.c:683
+#: ../catalog/index.c:682
 msgid "User-defined indexes on system catalogs are not supported"
 msgstr ""
 
-#: ../catalog/index.c:864 ../catalog/index.c:912
+#: ../catalog/index.c:862 ../catalog/index.c:910
 #, c-format
 msgid "index_drop: cache lookup failed for index %u"
 msgstr ""
 
-#: ../catalog/index.c:924
+#: ../catalog/index.c:922
 #, c-format
 msgid "index_drop: FlushRelationBuffers returned %d"
 msgstr ""
@@ -11458,20 +11418,25 @@ msgstr ""
 msgid "setNewRelfilenode impossible to lock class tuple"
 msgstr ""
 
-#: ../catalog/index.c:1455
+#: ../catalog/index.c:1425
+#, c-format
+msgid "UpdateStats: cannot open relation id %u"
+msgstr ""
+
+#: ../catalog/index.c:1461
 #, c-format
 msgid "UpdateStats: cannot find relation %u in pg_class"
 msgstr ""
 
-#: ../catalog/index.c:1726
+#: ../catalog/index.c:1730
 msgid "IndexBuildHeapScan: concurrent insert in progress"
 msgstr ""
 
-#: ../catalog/index.c:1740
+#: ../catalog/index.c:1742
 msgid "IndexBuildHeapScan: concurrent delete in progress"
 msgstr ""
 
-#: ../catalog/index.c:1832
+#: ../catalog/index.c:1834
 #, c-format
 msgid "IndexGetRelation: can't find index id %u"
 msgstr ""
@@ -11480,35 +11445,35 @@ msgstr ""
 msgid "REINDEX cannot run inside a transaction block"
 msgstr ""
 
-#: ../catalog/index.c:1895
-msgid "reindex_index: can't open index relation"
-msgstr ""
-
-#: ../catalog/index.c:1907
+#: ../catalog/index.c:1892
 #, c-format
 msgid "reindex_index: index %u not found in pg_index"
 msgstr ""
 
-#: ../catalog/index.c:1921
+#: ../catalog/index.c:1906
 msgid "reindex_index: can't open heap relation"
 msgstr ""
 
-#: ../catalog/index.c:2045
+#: ../catalog/index.c:1909
+msgid "reindex_index: can't open index relation"
+msgstr ""
+
+#: ../catalog/index.c:2030
 #, c-format
 msgid "the target relation %u is nailed"
 msgstr ""
 
-#: ../catalog/index.c:2061
+#: ../catalog/index.c:2046
 #, c-format
 msgid "the target relation %u is shared"
 msgstr ""
 
-#: ../catalog/pg_type.c:307 ../catalog/pg_type.c:538
+#: ../catalog/pg_type.c:307 ../catalog/pg_type.c:539
 #, c-format
 msgid "type named %s already exists"
 msgstr ""
 
-#: ../catalog/pg_type.c:317 ../catalog/pg_type.c:533
+#: ../catalog/pg_type.c:317 ../catalog/pg_type.c:534
 #, c-format
 msgid "type %s does not exist"
 msgstr ""
@@ -11527,12 +11492,12 @@ msgstr ""
 msgid "TypeCreate: fixed size types must have storage PLAIN"
 msgstr ""
 
-#: ../catalog/pg_type.c:467
+#: ../catalog/pg_type.c:468
 #, c-format
 msgid "type %s already exists"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:297 ../postmaster/postmaster.c:288
+#: ../bootstrap/bootstrap.c:297 ../postmaster/postmaster.c:276
 #, c-format
 msgid ""
 "%s does not know where to find the database system data.\n"
@@ -11546,24 +11511,7 @@ msgstr ""
 "PGDATA »·¾³±äÁ¿ÉùÃ÷°üº¬Êý¾Ý¿âϵͳµÄĿ¼.\n"
 "\n"
 
-#: ../postmaster/postmaster.c:302
-#, c-format
-msgid "data directory %s was not found"
-msgstr "δÕÒµ½Êý¾ÝĿ¼ %s"
-
-#: ../postmaster/postmaster.c:304
-#, c-format
-msgid "could not read permissions of directory %s: %m"
-msgstr ""
-
-#: ../postmaster/postmaster.c:309
-#, c-format
-msgid ""
-"data directory %s has group or world access; permissions should be u=rwx "
-"(0700)"
-msgstr ""
-
-#: ../postmaster/postmaster.c:321
+#: ../postmaster/postmaster.c:290
 #, c-format
 msgid ""
 "%s does not find the database system.\n"
@@ -11576,50 +11524,50 @@ msgstr ""
 "µ«ÊÇÎÞ·¨´ò¿ªÎļþ \"%s\": %s\n"
 "\n"
 
-#: ../postmaster/postmaster.c:421 ../postmaster/postmaster.c:432
-#: ../postmaster/postmaster.c:574 ../postmaster/postmaster.c:630
+#: ../postmaster/postmaster.c:396 ../postmaster/postmaster.c:407
+#: ../postmaster/postmaster.c:545 ../postmaster/postmaster.c:584
 #, c-format
 msgid "Try '%s --help' for more information.\n"
 msgstr "Óà'%s --help' »ñÈ¡¸ü¶àµÄÐÅÏ¢.\n"
 
-#: ../postmaster/postmaster.c:431
+#: ../postmaster/postmaster.c:406
 #, c-format
 msgid "invalid argument -- %s"
 msgstr "ÎÞЧ²ÎÊý -- %s"
 
-#: ../postmaster/postmaster.c:458
+#: ../postmaster/postmaster.c:430
 msgid "Assert checking is not compiled in."
 msgstr "ûÓаѶÏÑÔ¼ì²é±àÒëµ½³ÌÐòÀï."
 
-#: ../postmaster/postmaster.c:589
+#: ../postmaster/postmaster.c:560
 msgid ""
 "The number of buffers (-B) must be at least twice the number of allowed "
 "connections (-N) and at least 16."
 msgstr "»º³åÇøµÄÊýÁ¿ (-B) ±ØÐëÖÁÉÙÊÇÔÊÐíµÄÁª½ÓÊý (-N)µÄÁ½±¶²¢ÇÒÖÁÉÙΪ 16."
 
-#: ../postmaster/postmaster.c:629
+#: ../postmaster/postmaster.c:583
 msgid "For SSL, TCP/IP connections must be enabled."
 msgstr "¶ÔÓÚ SSL ¶øÑÔ, ±ØÐë´ò¿ª TCP/IP Áª½Ó."
 
-#: ../postmaster/postmaster.c:676
+#: ../postmaster/postmaster.c:629
 msgid "cannot create INET stream port"
 msgstr "ÎÞ·¨´´½¨ INET Á÷¶Ë¿Ú"
 
-#: ../postmaster/postmaster.c:688
+#: ../postmaster/postmaster.c:641
 msgid "cannot create UNIX stream port"
 msgstr "ÎÞ·¨´´½¨ UNIX Á÷¶Ë¿Ú"
 
-#: ../postmaster/postmaster.c:780
+#: ../postmaster/postmaster.c:728
 #, c-format
 msgid "fork failed: %s"
 msgstr "fork Ê§°Ü: %s"
 
-#: ../postmaster/postmaster.c:798
+#: ../postmaster/postmaster.c:746
 #, c-format
 msgid "cannot disassociate from controlling TTY: %s"
 msgstr "ÎÞ·¨Óë¿ØÖÆ TTY: %s ¶Ï¿ªÁªÏµ"
 
-#: ../postmaster/postmaster.c:818
+#: ../postmaster/postmaster.c:766
 #, c-format
 msgid ""
 "%s is the PostgreSQL server.\n"
@@ -11628,7 +11576,7 @@ msgstr ""
 "%s ÊÇ PostgreSQL ·þÎñÆ÷.\n"
 "\n"
 
-#: ../postmaster/postmaster.c:819
+#: ../postmaster/postmaster.c:767
 #, c-format
 msgid ""
 "Usage:\n"
@@ -11639,71 +11587,71 @@ msgstr ""
 "  %s [Ñ¡Ïî...]\n"
 "\n"
 
-#: ../postmaster/postmaster.c:820
+#: ../postmaster/postmaster.c:768
 msgid "Options:\n"
 msgstr "Ñ¡Ïî:\n"
 
-#: ../postmaster/postmaster.c:822
+#: ../postmaster/postmaster.c:770
 msgid "  -A 1|0          enable/disable run-time assert checking\n"
 msgstr "  -A 1|0          ´ò¿ª/¹Ø±ÕÔËÐÐʱ¶ÏÑÔ¼ì²é\n"
 
-#: ../postmaster/postmaster.c:824
+#: ../postmaster/postmaster.c:772
 #, c-format
 msgid "  -B NBUFFERS     number of shared buffers (default %d)\n"
 msgstr "  -B »º³åÇøÊýÁ¿   ¹²Ïí»º³åÇøµÄÊýÁ¿ (ȱʡÊÇ %d)\n"
 
-#: ../postmaster/postmaster.c:825
+#: ../postmaster/postmaster.c:773
 msgid "  -c NAME=VALUE   set run-time parameter\n"
 msgstr "  -c Ãû×Ö=ÊýÖµ   ÉèÖÃÔËÐÐʱ²ÎÊý\n"
 
-#: ../postmaster/postmaster.c:826
+#: ../postmaster/postmaster.c:774
 msgid "  -d 1-5          debugging level\n"
 msgstr "  -d 1-5         µ÷ÊÔ¼¶±ð\n"
 
-#: ../postmaster/postmaster.c:827
+#: ../postmaster/postmaster.c:775
 msgid "  -D DATADIR      database directory\n"
 msgstr "  -D Êý¾ÝĿ¼     Êý¾Ý¿âĿ¼\n"
 
-#: ../postmaster/postmaster.c:828
+#: ../postmaster/postmaster.c:776
 msgid "  -F              turn fsync off\n"
 msgstr "  -F              ¹Ø±Õ fsync\n"
 
-#: ../postmaster/postmaster.c:829
+#: ../postmaster/postmaster.c:777
 msgid "  -h HOSTNAME     host name or IP address to listen on\n"
 msgstr "  -h Ö÷»úÃû       ÕìÌýµÄÖ÷»úÃû»òÕß IP µØÖ·\n"
 
-#: ../postmaster/postmaster.c:830
+#: ../postmaster/postmaster.c:778
 msgid "  -i              enable TCP/IP connections\n"
 msgstr "  -i              ´ò¿ª TCP/IP Áª½Ó\n"
 
-#: ../postmaster/postmaster.c:831
+#: ../postmaster/postmaster.c:779
 msgid "  -k DIRECTORY    Unix-domain socket location\n"
 msgstr "  -k Ä¿Â¼         Unix ÓòÌ×½Ó×ÖµÄλÖÃ\n"
 
-#: ../postmaster/postmaster.c:833
+#: ../postmaster/postmaster.c:781
 msgid "  -l              enable SSL connections\n"
 msgstr "  -l              ´ò¿ª SSL Áª½Ó\n"
 
-#: ../postmaster/postmaster.c:835
+#: ../postmaster/postmaster.c:783
 #, c-format
 msgid "  -N MAX-CONNECT  maximum number of allowed connections (default %d)\n"
 msgstr "  -N ×î´óÁª½Ó     ÔÊÐí½¨Á¢µÄ×î´óÁª½ÓÊýÄ¿ (ȱʡÊÇ %d)\n"
 
-#: ../postmaster/postmaster.c:837
+#: ../postmaster/postmaster.c:785
 msgid "  -o OPTIONS      pass 'OPTIONS' to each backend server\n"
 msgstr "  -o Ñ¡Ïî         °Ñ'Ñ¡Ïî'´«µÝ¸øÿһ¸öºó¶Ë·þÎñÆ÷\n"
 
-#: ../postmaster/postmaster.c:838
+#: ../postmaster/postmaster.c:786
 #, c-format
 msgid "  -p PORT         port number to listen on (default %d)\n"
 msgstr "  -p PORT         ÕìÌýµÄ¶Ë¿ÚºÅ (ȱʡÊÇ %d)\n"
 
-#: ../postmaster/postmaster.c:839
+#: ../postmaster/postmaster.c:787
 msgid ""
 "  -S              silent mode (start in background without logging output)\n"
 msgstr "  -S              °²¾²Ä£Ê½(ºó¶ËÆô¶¯Ö®ºó²»ÔټǼÈÕÖ¾Êä³ö)\n"
 
-#: ../postmaster/postmaster.c:841
+#: ../postmaster/postmaster.c:789
 msgid ""
 "\n"
 "Developer options:\n"
@@ -11711,16 +11659,16 @@ msgstr ""
 "\n"
 "¿ª·¢ÈËԱѡÏî:\n"
 
-#: ../postmaster/postmaster.c:842
+#: ../postmaster/postmaster.c:790
 msgid ""
 "  -n              do not reinitialize shared memory after abnormal exit\n"
 msgstr "  -n              ÔÚÒì³£Í˳öÖ®ºó²»ÔÙÖØгõʼ»¯¹²ÏíÄÚ´æ\n"
 
-#: ../postmaster/postmaster.c:843
+#: ../postmaster/postmaster.c:791
 msgid "  -s              send SIGSTOP to all backend servers if one dies\n"
 msgstr "  -s              Èç¹ûÒ»¸öºó¶ËÍ˳ö, ÄÇôÏòËùÓкó¶Ë·¢ËÍ SIGSTOP\n"
 
-#: ../postmaster/postmaster.c:845
+#: ../postmaster/postmaster.c:793
 msgid ""
 "\n"
 "Please read the documentation for the complete list of run-time\n"
@@ -11735,270 +11683,267 @@ msgstr ""
 "\n"
 "ÇëÏò <pgsql-bugs@postgresql.org> ±¨¸æ³ô³æ.\n"
 
-#: ../postmaster/postmaster.c:927
-#,  c-format
-msgid "ServerLoop: select failed: %m"
-msgstr "ServerLoop: select Ê§°Ü: %m"
-
-#: ../postmaster/postmaster.c:1053 ../postmaster/postmaster.c:1067
-msgid "incomplete startup packet"
-msgstr ""
+#: ../postmaster/postmaster.c:865
+#, c-format
+msgid "ServerLoop: select failed: %s"
+msgstr "ServerLoop: select Ê§°Ü: %s"
 
-#: ../postmaster/postmaster.c:1061
+#: ../postmaster/postmaster.c:999
 msgid "invalid length of startup packet"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1100
+#: ../postmaster/postmaster.c:1033
 #, c-format
 msgid "failed to send SSL negotiation response: %s"
 msgstr "·¢ËÍ SSL Ð­ÉÌÏìӦʧ°Ü: %s"
 
-#: ../postmaster/postmaster.c:1112
+#: ../postmaster/postmaster.c:1045
 #, c-format
-msgid "failed to initialize SSL connection: %s (%m)"
-msgstr "³õʼ»¯ SSL Áª½Óʧ°Ü: %s (%m)"
+msgid "failed to initialize SSL connection: %s (%s)"
+msgstr "³õʼ»¯ SSL Áª½Óʧ°Ü: %s (%s)"
 
-#: ../postmaster/postmaster.c:1132
+#: ../postmaster/postmaster.c:1065
 msgid "unsupported frontend protocol"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1159
+#: ../postmaster/postmaster.c:1093
 msgid "no PostgreSQL user name specified in startup packet"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1171
+#: ../postmaster/postmaster.c:1105
 msgid "The database system is starting up"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1174
+#: ../postmaster/postmaster.c:1108
 msgid "The database system is shutting down"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1177
+#: ../postmaster/postmaster.c:1111
 msgid "The database system is in recovery mode"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1211
+#: ../postmaster/postmaster.c:1145
 #, c-format
 msgid "processCancelRequest: CheckPointPID in cancel request for process %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1226
+#: ../postmaster/postmaster.c:1160
 #, c-format
 msgid "processing cancel request: sending SIGINT to process %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1234
+#: ../postmaster/postmaster.c:1168
 #, c-format
 msgid "bad key in cancel request for process %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1243
+#: ../postmaster/postmaster.c:1177
 #, c-format
 msgid "bad pid in cancel request for process %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1286
+#: ../postmaster/postmaster.c:1219
 msgid "ConnCreate: malloc failed"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1408
+#: ../postmaster/postmaster.c:1341
 #, c-format
 msgid "pmdie %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1422
+#: ../postmaster/postmaster.c:1372
 msgid "smart shutdown request"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1434 ../postmaster/postmaster.c:1478
+#: ../postmaster/postmaster.c:1390 ../postmaster/postmaster.c:1443
 #, c-format
 msgid "shutdown process %d already running"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1452
+#: ../postmaster/postmaster.c:1412
 msgid "fast shutdown request"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1458
+#: ../postmaster/postmaster.c:1418
 msgid "aborting any active transactions"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1494
+#: ../postmaster/postmaster.c:1460
 msgid "immediate shutdown request"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1530
+#: ../postmaster/postmaster.c:1494
 msgid "reaping dead processes"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1547
-msgid "statistics collector process"
+#: ../postmaster/postmaster.c:1511
+#, c-format
+msgid "statistics collector exited with status %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1560
-msgid "shutdown process"
+#: ../postmaster/postmaster.c:1514
+#, c-format
+msgid "statistics collector was terminated by signal %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1571
-msgid "startup process"
+#: ../postmaster/postmaster.c:1524
+#, c-format
+msgid "shutdown process %d exited with status %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1573
-msgid "aborting startup due to startup process failure"
+#: ../postmaster/postmaster.c:1530
+#, c-format
+msgid "shutdown process %d was terminated by signal %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1582
+#: ../postmaster/postmaster.c:1541
 #, c-format
-msgid "startup process %d died while shutdown process %d already running"
+msgid "startup process %d exited with status %d; aborting startup"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1614
-msgid ""
-"all server processes terminated; reinitializing shared memory and semaphores"
+#: ../postmaster/postmaster.c:1547
+#, c-format
+msgid "shutdown process %d was terminated by signal %d; aborting startup"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1653
-msgid "child process"
+#: ../postmaster/postmaster.c:1558
+#, c-format
+msgid "startup process %d died while shutdown process %d already running"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1698
-msgid "server process"
+#: ../postmaster/postmaster.c:1594
+msgid ""
+"all server processes terminated; reinitializing shared memory and semaphores"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1699
-msgid "terminating any other active server processes"
+#: ../postmaster/postmaster.c:1638
+#, c-format
+msgid "CleanupProc: pid %d exited with status %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1721
+#: ../postmaster/postmaster.c:1685
 #, c-format
-msgid "CleanupProc: sending %s to process %d"
+msgid "server process (pid %d) exited with status %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1766
+#: ../postmaster/postmaster.c:1688
 #, c-format
-msgid "%s (pid %d) exited with exit code %d"
+msgid "server process (pid %d) was terminated by signal %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1769
-#, c-format
-msgid "%s (pid %d) was terminated by signal %d"
+#: ../postmaster/postmaster.c:1690
+msgid "terminating any other active server processes"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1772
+#: ../postmaster/postmaster.c:1712
 #, c-format
-msgid "%s (pid %d) exited with unexpected status %d"
+msgid "CleanupProc: sending %s to process %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1796
+#: ../postmaster/postmaster.c:1766
 #, c-format
 msgid "SignalChildren: sending signal %d to process %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1831
+#: ../postmaster/postmaster.c:1817
 msgid "out of memory; connection startup aborted"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1866
+#: ../postmaster/postmaster.c:1836
 msgid "connection startup failed"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1881
+#: ../postmaster/postmaster.c:1851
 #, c-format
 msgid "connection startup failed (fork failure): %s"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1888
+#: ../postmaster/postmaster.c:1858
 #, c-format
-msgid "BackendStartup: forked pid=%d socket=%d"
+msgid "BackendStartup: pid=%d user=%s db=%s socket=%d\n"
 msgstr ""
 
-#: ../postmaster/postmaster.c:2012
+#: ../postmaster/postmaster.c:1980
 msgid "DoBackend: Unable to set timer for auth timeout"
 msgstr ""
 
-#: ../postmaster/postmaster.c:2089
+#: ../postmaster/postmaster.c:1998
 msgid "DoBackend: Unable to disable timer for auth timeout"
 msgstr ""
 
-#: ../postmaster/postmaster.c:2093
-#, c-format
-msgid "connection: host=%s user=%s database=%s"
-msgstr "Áª½Ó: Ö÷»ú=%s Óû§=%s Êý¾Ý¿â=%s"
-
-#: ../postmaster/postmaster.c:2396
+#: ../postmaster/postmaster.c:2255
 #, c-format
 msgid "failed to create SSL context: %s"
 msgstr "´´½¨ SSL »·¾³Ê§°Ü: %s"
 
-#: ../postmaster/postmaster.c:2403
+#: ../postmaster/postmaster.c:2262
 #, c-format
 msgid "failed to load server certificate (%s): %s"
 msgstr "×°ÔØ·þÎñÆ÷ÈÏÖ¤ (%s) Ê§°Ü: %s"
 
-#: ../postmaster/postmaster.c:2410
+#: ../postmaster/postmaster.c:2269
 #, c-format
 msgid "failed to load private key file (%s): %s"
 msgstr "×°ÔØ˽ԿÎļþ (%s) Ê§°Ü: %s"
 
-#: ../postmaster/postmaster.c:2416
+#: ../postmaster/postmaster.c:2275
 #, c-format
 msgid "check of private key failed: %s"
 msgstr "¼ì²é˽Կʧ°Ü: %s"
 
-#: ../postmaster/postmaster.c:2545
+#: ../postmaster/postmaster.c:2359
 #, c-format
 msgid "could not launch startup process (fork failure): %s"
 msgstr ""
 
-#: ../postmaster/postmaster.c:2549
+#: ../postmaster/postmaster.c:2363
 #, c-format
 msgid "could not launch checkpoint process (fork failure): %s"
 msgstr ""
 
-#: ../postmaster/postmaster.c:2554
+#: ../postmaster/postmaster.c:2368
 #, c-format
 msgid "could not launch shutdown process (fork failure): %s"
 msgstr ""
 
-#: ../postmaster/postmaster.c:2577
+#: ../postmaster/postmaster.c:2391
 msgid "CheckPointDataBase: malloc failed"
 msgstr ""
 
-#: ../postmaster/postmaster.c:2617
+#: ../postmaster/postmaster.c:2431
 #, c-format
 msgid "cannot create file %s: %s"
 msgstr "ÎÞ·¨´´½¨Îļþ %s: %s"
 
-#: ../postmaster/postmaster.c:2629
+#: ../postmaster/postmaster.c:2443
 #, c-format
 msgid "writing file %s failed"
 msgstr "дÈëÎļþ %s Ê§°Ü"
 
-#: ../postmaster/pgstat.c:694
+#: ../postmaster/pgstat.c:699
 msgid "Only database superusers can reset statistic counters"
 msgstr ""
 
-#: ../postmaster/pgstat.c:2098
+#: ../postmaster/pgstat.c:2108
 msgid "PGSTAT: Creation of DB hash table failed"
 msgstr ""
 
-#: ../postmaster/pgstat.c:2144 ../postmaster/pgstat.c:2181
-#: ../postmaster/pgstat.c:2254 ../postmaster/pgstat.c:2295
-#: ../postmaster/pgstat.c:2326 ../postmaster/pgstat.c:2382
-#: ../postmaster/pgstat.c:2423
+#: ../postmaster/pgstat.c:2154 ../postmaster/pgstat.c:2191
+#: ../postmaster/pgstat.c:2264 ../postmaster/pgstat.c:2305
+#: ../postmaster/pgstat.c:2336 ../postmaster/pgstat.c:2391
+#: ../postmaster/pgstat.c:2432
 msgid "PGSTAT: corrupted pgstat.stat file"
 msgstr ""
 
-#: ../postmaster/pgstat.c:2166
+#: ../postmaster/pgstat.c:2176
 msgid "PGSTAT: DB hash table out of memory"
 msgstr ""
 
-#: ../postmaster/pgstat.c:2219
+#: ../postmaster/pgstat.c:2229
 msgid "PGSTAT: failed to initialize hash table for new database entry\n"
 msgstr ""
 
-#: ../postmaster/pgstat.c:2279
+#: ../postmaster/pgstat.c:2289
 msgid "PGSTAT: Tab hash table out of memory"
 msgstr ""
 
@@ -12020,115 +11965,115 @@ msgstr ""
 "  -o file          °Ñµ÷ÊÔÐÅÏ¢Êä³öµ½Îļþ file\n"
 "  -x num           ÄÚ²¿Ê¹ÓÃ\n"
 
-#: ../bootstrap/bootstrap.c:395
+#: ../bootstrap/bootstrap.c:393
 #, c-format
 msgid "Unsupported XLOG op %d"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:499
+#: ../bootstrap/bootstrap.c:497
 #, c-format
 msgid "open relation %s, attrsize %d"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:528
+#: ../bootstrap/bootstrap.c:526
 #, c-format
 msgid "create attribute %d name %s len %d num %d type %u"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:548
+#: ../bootstrap/bootstrap.c:546
 #, c-format
 msgid "closerel: close of '%s' when '%s' was expected"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:552
+#: ../bootstrap/bootstrap.c:550
 #, c-format
 msgid "closerel: close of '%s' before any relation was opened"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:558
+#: ../bootstrap/bootstrap.c:556
 msgid "no open relation to close"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:562
+#: ../bootstrap/bootstrap.c:560
 #, c-format
 msgid "close relation %s"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:586
+#: ../bootstrap/bootstrap.c:584
 msgid "warning: no open relations allowed with 'create' command"
 msgstr "¾¯¸æ: ´ò¿ªµÄ¹ØϵÀïûÓÐÔÊÐí create' ÁР%s %s"
 
-#: ../bootstrap/bootstrap.c:598 ../bootstrap/bootstrap.c:610
+#: ../bootstrap/bootstrap.c:596 ../bootstrap/bootstrap.c:608
 #, c-format
 msgid "column %s %s"
 msgstr "ÁР%s %s"
 
-#: ../bootstrap/bootstrap.c:659
+#: ../bootstrap/bootstrap.c:657
 #, c-format
 msgid "inserting row oid %u, %d columns"
 msgstr "²åÈëÐРoid %u, %d ÁÐ"
 
-#: ../bootstrap/bootstrap.c:670
+#: ../bootstrap/bootstrap.c:668
 msgid "row inserted"
 msgstr "ÐÐÒѲåÈë"
 
-#: ../bootstrap/bootstrap.c:693
+#: ../bootstrap/bootstrap.c:691
 #, c-format
 msgid "inserting column %d value '%s'"
-msgstr "ÕýÔÚ²åÈëÊýֵΪ '%2$s'"
+msgstr "ÕýÔÚ²åÈëÊýֵΪ '%2$s' µÄ×ֶΠ%1$d"
 
-#: ../bootstrap/bootstrap.c:700
+#: ../bootstrap/bootstrap.c:698
 msgid "Typ != NULL"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:707
+#: ../bootstrap/bootstrap.c:705
 #, c-format
 msgid "unable to find atttypid %u in Typ list"
 msgstr "ÔÚÀàÐÍÁбíÖÐÎÞ·¨ÕÒµ½ atttypid %u"
 
-#: ../bootstrap/bootstrap.c:719 ../bootstrap/bootstrap.c:742
+#: ../bootstrap/bootstrap.c:717 ../bootstrap/bootstrap.c:740
 #, c-format
 msgid " -> %s"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:730
+#: ../bootstrap/bootstrap.c:728
 #, c-format
 msgid "type oid %u not found"
 msgstr "δÕÒµ½ÀàÐÍ oid %u"
 
-#: ../bootstrap/bootstrap.c:732
+#: ../bootstrap/bootstrap.c:730
 #, c-format
 msgid "Typ == NULL, typeindex = %u"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:746
+#: ../bootstrap/bootstrap.c:744
 msgid "inserted"
 msgstr "ÒѲåÈë"
 
-#: ../bootstrap/bootstrap.c:757
+#: ../bootstrap/bootstrap.c:755
 #, c-format
 msgid "inserting column %d NULL"
 msgstr "ÕýÔÚ²åÈë×ֶΠ%d NULL"
 
-#: ../bootstrap/bootstrap.c:804
+#: ../bootstrap/bootstrap.c:802
 msgid "Memory manager fault: cleanup called twice.\n"
 msgstr "´æ´¢Æ÷¹ÜÀíÆ÷ʧ°Ü: ÇåÀí¹ý³Ìµ÷ÓÃÁËÁ½´Î.\n"
 
-#: ../bootstrap/bootstrap.c:845
+#: ../bootstrap/bootstrap.c:843
 #, c-format
 msgid "external type: %s"
 msgstr "ÍⲿÀàÐÍ: %s"
 
-#: ../bootstrap/bootstrap.c:869
+#: ../bootstrap/bootstrap.c:867
 #, c-format
 msgid "Error: unknown type '%s'.\n"
 msgstr "´íÎó: Î´ÖªÀàÐÍ '%s'.\n"
 
-#: ../bootstrap/bootstrap.c:885
+#: ../bootstrap/bootstrap.c:883
 msgid "AllocateAttribute: malloc failed"
 msgstr "AllocateAttribute: malloc Ê§°Ü"
 
-#: ../bootstrap/bootstrap.c:1036
+#: ../bootstrap/bootstrap.c:1035
 msgid ""
 "There are too many string constants and identifiers for the compiler to "
 "handle."
@@ -12197,5 +12142,41 @@ msgstr "
 msgid "syntax error at line %d: unexpected token %s"
 msgstr "ÔÚµÚ %d Ðд¦Óï·¨´íÎó: Î´Öª¼ÇºÅ %s"
 
-#~ msgid "cannot read %s: %m"
-#~ msgstr "ÎÞ·¨¶ÁÈ¡ %s: %m"
+#~ msgid "TRUNCATE cannot be used on views. '%s' is a view"
+#~ msgstr "²»ÄÜÔÚÊÓͼÉÏʹÓàTRUNCATE. '%s' ÊÇÒ»¸öÊÓͼ"
+
+#~ msgid ""
+#~ "\"%s\" is a system table. call REINDEX under standalone postgres with -O -"
+#~ "P options"
+#~ msgstr ""
+#~ "\"%s\" ÊǸöϵͳ±í. ÔÚ´øÓР-O -P Ñ¡ÏîÔËÐеĶÀÁ¢ postgres ½ø³Ìϵ÷ÓàREINDEX"
+
+#~ msgid ""
+#~ "\"%s\" is a system table. call REINDEX under standalone postgres with -P -"
+#~ "O options"
+#~ msgstr ""
+#~ "\"%s\" ÊǸöϵͳ±í. ÔÚ´øÓР-P -O Ñ¡ÏîÔËÐеĶÀÁ¢ postgres ½ø³Ìϵ÷ÓàREINDEX"
+
+#~ msgid "pq_recvbuf: recv() failed: %m"
+#~ msgstr "pq_recvbuf: recv() Ê§°Ü: %m"
+
+#~ msgid "pq_flush: send() failed: %m"
+#~ msgstr "pq_flush: send() Ê§°Ü: %m"
+
+#~ msgid "pq_eof: recv() failed: %m"
+#~ msgstr "pq_eof: recv() Ê§°Ü: %m"
+
+#~ msgid "Cache lookup for type %u failed"
+#~ msgstr "ÔÚ»º³åÖвéÕÒÀàÐÍ %u Ê§°Ü"
+
+#~ msgid "Invalid user password '%s'"
+#~ msgstr "Óû§¿ÚÁîÎÞЧ '%s'"
+
+#~ msgid "relationHasPrimaryKey: index %u not found"
+#~ msgstr "relationHasPrimaryKey: Î´ÕÒµ½Ë÷Òý %u"
+
+#~ msgid "sort_inner_and_outer: unexpected join type %d"
+#~ msgstr "sort_inner_and_outer: Î´ÖªµÄÁ¬½ÓÀàÐÍ %d"
+
+#~ msgid "data directory %s was not found"
+#~ msgstr "δÕÒµ½Êý¾ÝĿ¼ %s"
index 7cebc5f37e17317319abf5f4dbba0b496419f970..121e0eed155507d0eb527175e805f572888eb631 100644 (file)
@@ -1,12 +1,12 @@
 # simplified Chinese translation file for pg_dump and friends
 # Weiping He <laser@zhengmai.com.cn>, 2001.
-# $Header: /cvsroot/pgsql/src/bin/pg_dump/Attic/zh_CN.po,v 1.3 2001/11/26 17:56:32 momjian Exp $
+# $Header: /cvsroot/pgsql/src/bin/pg_dump/Attic/zh_CN.po,v 1.4 2001/12/03 18:43:21 momjian Exp $
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 7.2\n"
-"POT-Creation-Date: 2001-11-25 18:48+0800\n"
-"PO-Revision-Date: 2001-11-26 20:34:44+0800\n"
+"POT-Creation-Date: 2001-11-30 22:18+0800\n"
+"PO-Revision-Date: 2001-11-30 22:26:59+0800\n"
 "Last-Translator: Weiping He <laser@zhengmai.com.cn>\n"
 "Language-Team: Weiping He <laser@zhengmai.com.cn>\n"
 "MIME-Version: 1.0\n"
@@ -469,7 +469,7 @@ msgstr "
 #: pg_dump.c:2232
 #, c-format
 msgid "finding CHECK constraints for table %s\n"
-msgstr "Ϊ±í \"%S\" ²éÕÒ CHECK Ô¼Êø\n"
+msgstr "Ϊ±í \"%s\" ²éÕÒ CHECK Ô¼Êø\n"
 
 #: pg_dump.c:2253
 #, c-format
@@ -529,7 +529,7 @@ msgstr "
 #: pg_dump.c:2410
 #, c-format
 msgid "expected %d triggers on table \"%s\" but found %d\n"
-msgstr "Ô¤ÆÚÔÚ±í \"%2$s\" ÉÏÓд¥·¢Æ÷ %d , È´·¢ÏÖ %d\n"
+msgstr "Ô¤ÆÚÔÚ±í \"%2$s\" ÉÏÓд¥·¢Æ÷ %1$d , È´·¢ÏÖ %3$d\n"
 
 #: pg_dump.c:2490
 #, c-format
@@ -550,12 +550,12 @@ msgid ""
 "table \"%s\" (oid of table: %s)\n"
 msgstr ""
 "¶ÔÔÚ±í \"%2$s\" ÉϵÄÍâ¼ü´¥·¢Æ÷ \"%1$s\" ÉϵIJéѯÉú³É NULL ¸öÒýÓñí(±íµÄ oid "
-"ÊÇ: %s)\n"
+"ÊÇ: %3$s)\n"
 
 #: pg_dump.c:2593
 #, c-format
 msgid "bad argument string (%s) for trigger \"%s\" on table \"%s\"\n"
-msgstr "¸ø±í \"%3$s\" ÉϵĴ¥·¢Æ÷ \"%$2s\" µÄ´íÎó²ÎÊý (%1$s)\n"
+msgstr "¸ø±í \"%3$s\" ÉϵĴ¥·¢Æ÷ \"%2$s\" µÄ´íÎó²ÎÊý (%1$s)\n"
 
 #: pg_dump.c:2681
 #, c-format
@@ -721,7 +721,7 @@ msgstr "dumpTables(): 
 #: pg_dump.c:4329
 #, c-format
 msgid "getAttrName(): invalid column number %d for table %s\n"
-msgstr "getAttrName(): ±í \"%s\" µÄÎÞЧ×ֶκŠ%d\n"
+msgstr "getAttrName(): ±í \"%2$s\" µÄÎÞЧ×ֶκŠ%1$d\n"
 
 #: pg_dump.c:4359
 #, c-format
@@ -1253,12 +1253,12 @@ msgstr "û
 msgid "unrecognized data block type %d while restoring archive\n"
 msgstr "»Ö¸´¹éµµÊ±Åöµ½²»Ê¶±ðµÄÊý¾Ý¿éÀàÐÍ %d\n"
 
-#: pg_backup_custom.c:549 pg_backup_custom.c:905
+#: pg_backup_custom.c:549 pg_backup_custom.c:907
 #, c-format
 msgid "could not initialize compression library: %s\n"
 msgstr "ÎÞ·¨³õʼ»¯Ñ¹Ëõ¿â: %s\n"
 
-#: pg_backup_custom.c:570 pg_backup_custom.c:694
+#: pg_backup_custom.c:570 pg_backup_custom.c:696
 #, c-format
 msgid "could not read data block - expected %d, got %d\n"
 msgstr "ÎÞ·¨¶ÁÈ¡Êý¾Ý¿é - Ô¤ÆÚ %d, Êµ¼Ê %d\n"
@@ -1268,39 +1268,44 @@ msgstr "
 msgid "unable to uncompress data: %s\n"
 msgstr "ÎÞ·¨Ñ¹ËõÊý¾Ý: %s\n"
 
-#: pg_backup_custom.c:722
+#: pg_backup_custom.c:626
+#, c-format
+msgid "could not close compression library: %s\n"
+msgstr "ÎÞ·¨¹Ø±ÕѹËõ¿â: %s\n"
+
+#: pg_backup_custom.c:724
 #, c-format
 msgid "could not write byte: %s\n"
 msgstr "ÎÞ·¨Ð´×Ö½Ú: %s\n"
 
-#: pg_backup_custom.c:765 pg_backup_files.c:418
+#: pg_backup_custom.c:767 pg_backup_files.c:418
 #, c-format
 msgid "write error in _WriteBuf (%d != %d)\n"
 msgstr "ÔÚ _WriteBuf ÀïµÄд´íÎó (%d != %d)\n"
 
-#: pg_backup_custom.c:835
+#: pg_backup_custom.c:837
 #, c-format
 msgid "could not close archive file: %s\n"
 msgstr "ÎÞ·¨¹Ø±Õ¹éµµÎļþ: %s\n"
 
-#: pg_backup_custom.c:858
+#: pg_backup_custom.c:860
 msgid "WARNING: ftell mismatch with expected position -- ftell ignored\n"
 msgstr "¾¯¸æ: ftell ºÍÔ¤ÆÚλÖò»Æ¥Åä -- ºöÂÔ ftell\n"
 
-#: pg_backup_custom.c:937
+#: pg_backup_custom.c:939
 #, c-format
 msgid "could not compress data: %s\n"
 msgstr "ÎÞ·¨Ñ¹ËõÊý¾Ý: %s\n"
 
-#: pg_backup_custom.c:957
+#: pg_backup_custom.c:959
 msgid "could not write compressed chunk\n"
 msgstr "ÎÞ·¨Ð´ÈëѹËõµÄ¿é\n"
 
-#: pg_backup_custom.c:971
+#: pg_backup_custom.c:973
 msgid "could not write uncompressed chunk\n"
 msgstr "ÎÞ·¨Ð´ÈëδѹËõµÄ¿é\n"
 
-#: pg_backup_custom.c:1020
+#: pg_backup_custom.c:1022
 #, c-format
 msgid "could not close compression stream: %s\n"
 msgstr "ÎÞ·¨¹Ø±ÕѹËõÁ÷: %s\n"
@@ -1419,7 +1424,7 @@ msgstr "Ϊ %s.%s 
 #: pg_backup_db.c:791
 #, c-format
 msgid "SQL: %s\n"
-msgstr ""
+msgstr "SQL: %s\n"
 
 #: pg_backup_db.c:796
 #, c-format
@@ -1699,20 +1704,21 @@ msgstr ""
 "Ñ¡Ïî:\n"
 
 #: pg_restore.c:389
+#
 msgid ""
 "  -a, --data-only          restore only the data, no schema\n"
 "  -c, --clean              clean (drop) schema prior to create\n"
 "  -C, --create             issue commands to create the database\n"
-"  -d, --dbname=NAME        specify database name\n"
-"  -f, --file=FILENAME      TOC output file name (see -l)\n"
+"  -d, --dbname=NAME        output database name\n"
+"  -f, --file=FILENAME      output file name\n"
 "  -F, --format={c|t}       specify backup file format\n"
 "  -h, --host=HOSTNAME      server host name\n"
 "  -i, --index=NAME         restore named index\n"
-"  -l, --list               dump summarized TOC for of the archive\n"
+"  -l, --list               print summarized TOC of the archive\n"
 "  -L, --use-list=FILENAME  use specified table of contents for ordering\n"
 "                           output from this file\n"
 "  -N, --orig-order         restore in original dump order\n"
-"  -o, --oid-order          restore in oid order\n"
+"  -o, --oid-order          restore in OID order\n"
 "  -O, --no-owner           do not reconnect to database to match\n"
 "                           object owner\n"
 "  -p, --port=PORT          server port number\n"
@@ -1737,15 +1743,15 @@ msgstr ""
 "  -a, --data-only          Ö»»Ö¸´Êý¾Ý, ²»°üÀ¨´ó¸Ù\n"
 "  -c, --clean              ÔÚ´´½¨Ö®Ç°ÇåÀí(ɾ³ý)´ó¸Ù\n"
 "  -C, --create             ·¢³ö´´½¨Êý¾Ý¿âµÄÃüÁî\n"
-"  -d, --dbname=Ãû×Ö        ÉùÃ÷Êý¾Ý¿âÃû×Ö\n"
-"  -f, --file=ÎļþÃû        TOC Êä³öÎļþÃû(¼û -l)\n"
+"  -d, --dbname=Ãû×Ö        Êä³öÊý¾Ý¿âÃû×Ö\n"
+"  -f, --file=ÎļþÃû        Êä³öÎļþÃû\n"
 "  -F, --format={c|t}       ÉùÃ÷±¸·ÝÎļþ¸ñʽ\n"
 "  -h, --host=HOSTNAME      ·þÎñÆ÷Ö÷»úÃû\n"
 "  -i, --index=Ãû×Ö         »Ö¸´Ö¸¶¨µÄË÷Òý\n"
-"  -l, --list               Îª¹éµµ×ª´¢¸ÅÒª TOC\n"
+"  -l, --list               ´òÓ¡¹éµµµÄ¸ÅҪĿ¼\n"
 "  -L, --use-list=ÎļþÃû    Ê¹ÓÃÖ¸¶¨Ä¿Â¼×÷Ϊ´ËÎļþÊä³öµÄÅÅÐò·½·¨\n"
 "  -N, --orig-order         °´ÕÕԭʼµÄת´¢Ë³Ðò»Ö¸´\n"
-"  -o, --oid-order          °´ÕÕ oid Ë³Ðò»Ö¸´\n"
+"  -o, --oid-order          °´ÕÕ OID Ë³Ðò»Ö¸´\n"
 "  -O, --no-owner           ²»ÒªÎªÁËÆ¥Åä¶ÔÏóËùÓÐÕ߶øÖØÐÂÁª½ÓÊý¾Ý¿â\n"
 "  -p, --port=PORT          ·þÎñÆ÷¶Ë¿ÚºÅ\n"
 "  -P, --function=Ãû×Ö      »Ö¸´Ö¸¶¨µÄº¯Êý\n"
@@ -1764,21 +1770,22 @@ msgstr ""
 "                           ÖØÐÂÁª½Ó\n"
 
 #: pg_restore.c:425
+#
 msgid ""
 "  -a                       restore only the data, no schema\n"
 "  -c                       clean (drop) schema prior to create\n"
 "  -C                       issue commands to create the database\n"
-"  -d NAME                  specify database name\n"
-"  -f FILENAME              TOC output file name (see -l)\n"
+"  -d NAME                  output database name\n"
+"  -f FILENAME              output file name\n"
 "  -F {c|t}                 specify backup file format\n"
 "  -h HOSTNAME              server host name\n"
 "  -i NAME                  restore named index\n"
-"  -l                       dump summarized TOC for this file\n"
+"  -l                       print summarized TOC of the archive\n"
 "  -L FILENAME              use specified table of contents for ordering\n"
 "                           output from this file\n"
 "  -N                       restore in original dump order\n"
-"  -o                       restore in oid order\n"
-"  -O                       do not output reconnect to database to match\n"
+"  -o                       restore in OID order\n"
+"  -O                       do not reconnect to database to match\n"
 "                           object owner\n"
 "  -p PORT                  server port number\n"
 "  -P NAME                  restore named function\n"
@@ -1802,18 +1809,18 @@ msgstr ""
 "  -a                       Ö»»Ö¸´Êý¾Ý, ²»»Ö¸´´ó¸Ù\n"
 "  -c                       ´´½¨Ö®Ç°ÇåÀí(ɾ³ý)´ó¸Ù\n"
 "  -C                       ·¢³ö´´½¨Êý¾Ý¿âµÄÃüÁî\n"
-"  -d Ãû×Ö                  ÉùÃ÷Êý¾Ý¿âÃû\n"
-"  -f ÎļþÃû                TOC Êä³öÎļþÃû (¼û -l)\n"
+"  -d Ãû×Ö                  Êä³öÊý¾Ý¿âÃû\n"
+"  -f ÎļþÃû                Êä³öÎļþÃû\n"
 "  -F {c|t}                 ÉùÃ÷±¸·ÝÎļþ¸ñʽ\n"
 "  -h Ö÷»úÃû                ·þÎñÆ÷Ö÷»úÃû\n"
 "  -i Ãû×Ö                  »Ö¸´Ö¸¶¨Ë÷Òý\n"
-"  -l                       Îª¸ÃÎļþת´¢¸ÅÒª TOC (Ŀ¼)\n"
+"  -l                       ´òÓ¡¹éµµµÄ¸ÅҪĿ¼\n"
 "  -L ÎļþÃû                Ê¹ÓÃÖ¸¶¨µÄĿ¼×÷Ϊ¶Ô¸ÃÎļþÊä³öµÄÅÅÐò·½·¨\n"
 "  -N                       ÒÔԭʼµÄת´¢Ë³Ðò»Ö¸´\n"
 "  -o                       ÒÔ oid (¶ÔÏó±êʶ) µÄ˳Ðò»Ö¸´\n"
 "  -O                       ²»ÒªÎªÆ¥Åä¶ÔÏóËùÓÐÕßÊä³ö¶ÔÊý¾Ý¿âµÄÖØÐÂÁª½ÓÃüÁî\n"
 "  -p ¶Ë¿Ú                  ·þÎñÆ÷¶Ë¿ÚºÅ\n"
-"  -P Ãû×Ö                  »Ö¸´ÃüÃûº¯Êý\n"
+"  -P Ãû×Ö                  »Ö¸´Ö¸¶¨º¯Êý\n"
 "  -r                       ÖØÐÂÅÅÁÐÊä³ö, °ÑË÷ÒýµÈ·Åµ½Ä©Î²\n"
 "  -R                       ½ûÖ¹ËùÓÐÓëÊý¾Ý¿âµÄÖØÐÂÁª½Ó\n"
 "  -s                       Ö»»Ö¸´´ó¸Ù, ²»»Ö¸´Êý¾Ý\n"