]> granicus.if.org Git - postgresql/commitdiff
Backend /po patch.
authorBruce Momjian <bruce@momjian.us>
Sun, 25 Nov 2001 18:25:54 +0000 (18:25 +0000)
committerBruce Momjian <bruce@momjian.us>
Sun, 25 Nov 2001 18:25:54 +0000 (18:25 +0000)
http://laser.zhengmai.com.cn/download/backend_zh_CN.po.diff.gz

Weiping He

src/backend/po/zh_CN.po

index 04d65b9cf52e92d2ca99ea89530aa408ac03cee6..61bd28f07883c104e13cf74fecdcb00424844534 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.2 2001/11/21 05:45:31 momjian Exp $
+# $Header: /cvsroot/pgsql/src/backend/po/Attic/zh_CN.po,v 1.3 2001/11/25 18:25:54 momjian Exp $
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 7.2\n"
-"POT-Creation-Date: 2001-10-07 11:56+0800\n"
-"PO-Revision-Date: 2001-10-08 23:50:55+0800\n"
+"POT-Creation-Date: 2001-11-25 18:34+0800\n"
+"PO-Revision-Date: 2001-11-25 18:51:00+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:84
+#: ../main/main.c:85
 #, c-format
 msgid "%s: setsysinfo failed: %s\n"
 msgstr "%s: setsysinfo Ê§°Ü: %s\n"
 
-#: ../main/main.c:127
+#: ../main/main.c:155
 msgid ""
 "\"root\" execution of the PostgreSQL server is not permitted.\n"
 "\n"
@@ -43,21 +43,21 @@ msgstr ""
 "ÓйØÈçºÎÕýÈ·Æô¶¯·þÎñÆ÷µÄÐÅÏ¢.\n"
 "\n"
 
-#: ../main/main.c:147
+#: ../main/main.c:175
 #, c-format
 msgid "%s: real and effective user ids must match\n"
 msgstr "%s: ÕæʵºÍÓÐЧÓû§±êʶ±ØÐëÏ໥ƥÅä\n"
 
-#: ../main/main.c:196
+#: ../main/main.c:224
 #, c-format
 msgid "%s: invalid current euid %d\n"
 msgstr "%s: ·Ç·¨µÄµ±Ç° euid %d\n"
 
-#: ../port/beos/sem.c:160
+#: ../port/beos/sem.c:159
 msgid "beos : semctl error : GETNCNT not implemented"
 msgstr "beos : semctl ´íÎó : GETNCNT ÉÐδʵÏÖ"
 
-#: ../port/beos/sem.c:175
+#: ../port/beos/sem.c:174
 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:130
+#: ../port/beos/support.c:129
 #, c-format
 msgid "loading symbol '%s' failed "
 msgstr "×°Èë·ûºÅ %s Ê§°Ü"
@@ -119,28 +119,28 @@ msgstr "ж
 msgid "dl: Undefined:"
 msgstr "dl: Î´¶¨Òå:"
 
-#: ../tcop/fastpath.c:171
+#: ../tcop/fastpath.c:172
 #, c-format
 msgid "fetch_fp_info: cache lookup for function %u failed"
 msgstr "fetch_fp_info: ÔÚ»º³åÖвéÕÒº¯Êý %u Ê§°Ü"
 
-#: ../tcop/fastpath.c:271
+#: ../tcop/fastpath.c:272
 #, c-format
 msgid ""
 "HandleFunctionRequest: actual arguments (%d) != registered arguments (%d)"
 msgstr "HandleFunctionRequest: Êµ¼Ê²ÎÊý (%d) != ×¢²á²ÎÊý (%d)"
 
-#: ../tcop/fastpath.c:290 ../tcop/fastpath.c:302
+#: ../tcop/fastpath.c:291 ../tcop/fastpath.c:303
 #, c-format
 msgid "HandleFunctionRequest: bogus argsize %d"
 msgstr "HandleFunctionRequest: ´íÎóµÄ argsize %d"
 
-#: ../tcop/fastpath.c:315
+#: ../tcop/fastpath.c:316
 #, c-format
 msgid "HandleFunctionRequest: bogus argsize %d, should be %d"
 msgstr "HandleFunctionRequest: ´íÎóµÄ argsize %d, Ó¦Îª %d"
 
-#: ../tcop/fastpath.c:333 ../tcop/postgres.c:708
+#: ../tcop/fastpath.c:334 ../tcop/postgres.c:680
 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:148
+#: ../tcop/pquery.c:147
 #, c-format
 msgid "Closing pre-existing portal \"%s\""
 msgstr "¹Ø±ÕÔ¤´æÔÚµÄÈë¿Ú \"%s\""
 
-#: ../tcop/postgres.c:306
+#: ../tcop/postgres.c:289
 #, c-format
 msgid "Socket command type %c unknown"
 msgstr "δ֪µÄ Socket ÃüÁîÀàÐÍ %c"
 
-#: ../tcop/postgres.c:389
+#: ../tcop/postgres.c:372
 #, c-format
 msgid "query: %s"
 msgstr "²éѯ: %s"
 
-#: ../tcop/postgres.c:452
+#: ../tcop/postgres.c:431
 msgid "parse tree:"
 msgstr "·ÖÎöÊ÷:"
 
-#: ../tcop/postgres.c:456
+#: ../tcop/postgres.c:435
 #, c-format
 msgid "parse tree: %s"
 msgstr "·ÖÎöÊ÷: %s"
 
-#: ../tcop/postgres.c:490
+#: ../tcop/postgres.c:466
 msgid "pg_analyze_and_rewrite: copyObject failed on parse tree"
 msgstr "pg_analyze_and_rewrite: copyObject ´ò¿ª·ÖÎöÊ÷ʧ°Ü"
 
-#: ../tcop/postgres.c:499 ../tcop/postgres.c:509
+#: ../tcop/postgres.c:475 ../tcop/postgres.c:485
 msgid "rewritten parse tree:"
 msgstr "ÖØд·ÖÎöÊ÷:"
 
-#: ../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
+#: ../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
 #, c-format
 msgid "%s"
 msgstr ""
 
-#: ../tcop/postgres.c:556
+#: ../tcop/postgres.c:529
 msgid "pg_plan_query: copyObject failed on plan tree"
 msgstr "pg_plan_query: ÔÚ·ÖÎöÊ÷ÉÏ copyObject Ê§°Ü"
 
-#: ../tcop/postgres.c:570
+#: ../tcop/postgres.c:543
 msgid "plan:"
 msgstr "¹æ»®:"
 
-#: ../tcop/postgres.c:574
+#: ../tcop/postgres.c:547
 #, c-format
 msgid "plan: %s"
 msgstr "¹æ»®: %s"
 
-#: ../tcop/postgres.c:775
+#: ../tcop/postgres.c:746
 #, c-format
 msgid "ProcessUtility: %s"
 msgstr ""
 
-#: ../tcop/postgres.c:777
+#: ../tcop/postgres.c:748
 msgid "ProcessUtility"
 msgstr ""
 
-#: ../tcop/postgres.c:811
+#: ../tcop/postgres.c:781
 msgid "ProcessQuery"
 msgstr ""
 
-#: ../tcop/postgres.c:873
+#: ../tcop/postgres.c:840
 msgid "StartTransactionCommand"
 msgstr ""
 
-#: ../tcop/postgres.c:885
+#: ../tcop/postgres.c:852
 msgid "CommitTransactionCommand"
 msgstr ""
 
-#: ../tcop/postgres.c:912
+#: ../tcop/postgres.c:879
 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:1030
+#: ../tcop/postgres.c:997
 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:1062
+#: ../tcop/postgres.c:1029
 msgid "This connection has been terminated by the administrator."
 msgstr "Õâ¸öÁª½ÓÒѱ»¹ÜÀíÔ±ÖÕÖ¹."
 
-#: ../tcop/postgres.c:1068
+#: ../tcop/postgres.c:1035
 msgid "Query was cancelled."
 msgstr "²éѯÒѱ»È¡Ïû."
 
-#: ../tcop/postgres.c:1216
+#: ../tcop/postgres.c:1176
 msgid "Assert checking is not compiled in"
 msgstr "ûÓаѶÏÑÔ¼ì²é±àÒë½øÀ´"
 
-#: ../tcop/postgres.c:1437
+#: ../tcop/postgres.c:1397
 msgid "only one -x flag is allowed"
 msgstr "Ö»ÔÊÐíÒ»¸ö -x ±êÖ¾"
 
-#: ../tcop/postgres.c:1455
+#: ../tcop/postgres.c:1415
 msgid "use -x {off,nor,nopull,nopm,pullall,wait}"
 msgstr "ʹÓà-x {off, nor, nopull, nopm, pullall, wait}"
 
-#: ../postmaster/postmaster.c:531 ../tcop/postgres.c:1471
+#: ../postmaster/postmaster.c:560 ../tcop/postgres.c:1431
 #, c-format
 msgid "--%s requires argument"
 msgstr "--%s ÐèÒª²ÎÊý"
 
-#: ../postmaster/postmaster.c:533 ../tcop/postgres.c:1473
+#: ../postmaster/postmaster.c:562 ../tcop/postgres.c:1433
 #, c-format
 msgid "-c %s requires argument"
 msgstr "-c %s ÐèÒª²ÎÊý"
 
-#: ../tcop/postgres.c:1494
+#: ../tcop/postgres.c:1454
 msgid ""
 "Query statistics are disabled because parser, planner, or executor "
 "statistics are on."
 msgstr "ÒòΪ´ò¿ªÁË·ÖÎöÆ÷, ¹æ»®Æ÷»òÕßÖ´ÐÐÆ÷ͳ¼Æ, ËùÒÔ²éѯͳ¼Æ±»¹Ø±Õ."
 
-#: ../tcop/postgres.c:1573 ../tcop/postgres.c:1585
+#: ../tcop/postgres.c:1534 ../tcop/postgres.c:1546
 #, c-format
 msgid ""
 "%s: invalid command line arguments\n"
@@ -290,39 +290,41 @@ msgstr ""
 "%s: ·Ç·¨ÃüÁîÐвÎÊý\n"
 "¼üÈë -? »ñÈ¡°ïÖú."
 
-#: ../tcop/postgres.c:1593
+#: ../tcop/postgres.c:1554
 #, c-format
 msgid "%s: user name undefined and no database specified\n"
 msgstr "%s: Ã»ÓÐÉùÃ÷Óû§Ãû²¢ÇÒûÓÐÉùÃ÷Êý¾Ý¿â\n"
 
-#: ../tcop/postgres.c:1625
+#: ../postmaster/postmaster.c:620 ../tcop/postgres.c:1564
 #, c-format
 msgid "%s: could not locate executable, bailing out..."
 msgstr "%s: ÎÞ·¨¶¨Î»¿ÉÖ´ÐÐÎļþ, Í˳ö..."
 
-#: ../tcop/postgres.c:1684
-#, c-format
-msgid "connection: host=%s user=%s database=%s"
-msgstr "Áª½Ó: Ö÷»ú=%s Óû§=%s Êý¾Ý¿â=%s"
-
-#: ../tcop/postgres.c:1695
+#: ../tcop/postgres.c:1606
 msgid "InitPostgres"
 msgstr ""
 
-#: ../tcop/postgres.c:1778
+#: ../tcop/postgres.c:1689
 msgid "AbortCurrentTransaction"
 msgstr ""
 
-#: ../tcop/postgres.c:1974
+#: ../tcop/postgres.c:1878
 msgid "unknown frontend message was received"
 msgstr "ÊÕµ½Î´ÖªÇ°¶ËÐÅÏ¢"
 
-#: ../tcop/postgres.c:2122
+#: ../tcop/postgres.c:2010
+#, c-format
+msgid ""
+"%s\n"
+"%s"
+msgstr ""
+
+#: ../tcop/postgres.c:2032
 #, c-format
 msgid "Assert test successfull (val = %d)"
 msgstr "¶ÏÑÔ²âÊԳɹ¦ (val = %d)"
 
-#: ../tcop/postgres.c:2125
+#: ../tcop/postgres.c:2035
 #, c-format
 msgid "Assert checking is disabled (val = %d)"
 msgstr "¶ÏÑÔ¼ì²éÒѹرՠ( val = %d)"
@@ -352,60 +354,60 @@ msgstr "
 msgid "%s \"%s\" is a system %s"
 msgstr "%s \"%s\" ÊÇÒ»¸öϵͳ %s"
 
-#: ../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
+#: ../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
 #, c-format
 msgid "%s: %s"
 msgstr ""
 
-#: ../tcop/utility.c:304
+#: ../tcop/utility.c:303
 #, c-format
 msgid "TRUNCATE cannot be used on system tables. '%s' is a system table"
 msgstr "²»ÄÜÔÚϵͳ±íÉÏʹÓàTRUNCATE. '%s' ÊÇÒ»¸öϵͳ±í"
 
-#: ../tcop/utility.c:310
+#: ../tcop/utility.c:309
 #, c-format
 msgid "TRUNCATE cannot be used on sequences. '%s' is a sequence"
 msgstr "²»ÄÜÔÚÐòÁÐÉÏʹÓàTRUNCATE. '%s' ÊÇÒ»¸öÐòÁÐ"
 
-#: ../tcop/utility.c:313
+#: ../tcop/utility.c:312
 #, c-format
-msgid "TRUNCATE cannot be used on views. '%s' is a sequence"
+msgid "TRUNCATE cannot be used on views. '%s' is a view"
 msgstr "²»ÄÜÔÚÊÓͼÉÏʹÓàTRUNCATE. '%s' ÊÇÒ»¸öÊÓͼ"
 
-#: ../tcop/utility.c:318
+#: ../tcop/utility.c:317
 #, c-format
 msgid "you do not own class \"%s\""
 msgstr "Äã²»ÊDZí \"%s\" µÄËùÓÐÕß"
 
-#: ../commands/command.c:323 ../commands/command.c:534
-#: ../commands/command.c:1039 ../tcop/utility.c:373
+#: ../commands/command.c:325 ../commands/command.c:548
+#: ../commands/command.c:1054 ../tcop/utility.c:372
 #, c-format
 msgid "ALTER TABLE: relation \"%s\" is a system catalog"
 msgstr "ALTER TABLE: ¹Øϵ \"%s\" ÊÇÒ»¸öϵͳ±í"
 
-#: ../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
+#: ../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
 msgid "permission denied"
 msgstr "ûÓÐ×㹻ȨÏÞ"
 
-#: ../tcop/utility.c:470
+#: ../tcop/utility.c:467
 msgid "T_AlterTableStmt: unknown subtype"
 msgstr "T_AlterTableStmt: Î´Öª×ÓÀàÐÍ"
 
-#: ../tcop/utility.c:613
+#: ../tcop/utility.c:611
 msgid "CREATE VERSION is not currently implemented"
 msgstr "CREATE VERSION ÊµÏֵò»ÕýÈ·"
 
-#: ../tcop/utility.c:691
+#: ../tcop/utility.c:689
 #, c-format
 msgid "CLUSTER: relation \"%s\" is a system catalog"
 msgstr "CLUSTER: ¹Øϵ \"%s\" ÊÇÒ»¸öϵͳ±í"
 
-#: ../tcop/utility.c:871
+#: ../tcop/utility.c:869
 #, c-format
 msgid ""
 "\"%s\" is a system index. call REINDEX under standalone postgres with -O -P "
@@ -413,7 +415,7 @@ msgid ""
 msgstr ""
 "\"%s\" ÊǸöϵͳ±í. ÔÚ´øÓР-O -P Ñ¡ÏîÔËÐеĶÀÁ¢ postgres ½ø³Ìϵ÷ÓÃREINDEX"
 
-#: ../tcop/utility.c:874
+#: ../tcop/utility.c:872
 #, c-format
 msgid ""
 "\"%s\" is a system index. call REINDEX under standalone postgres with -P -O "
@@ -421,32 +423,48 @@ msgid ""
 msgstr ""
 "\"%s\" ÊǸöϵͳË÷Òý. ÔÚ´øÓР-P -O Ñ¡ÏîÔËÐеĶÀÁ¢ postgres ½ø³Ìϵ÷ÓÃREINDEX"
 
-#: ../tcop/utility.c:890
+#: ../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
 msgid "must be called under standalone postgres with -O -P options"
 msgstr "±ØÐëÔÚ´øÓР-O -P Ñ¡ÏîÔËÐеĶÀÁ¢ postgres ½ø³Ìϵ÷ÓÃ"
 
-#: ../tcop/utility.c:892
+#: ../tcop/utility.c:899
 msgid "must be called under standalone postgres with -P -O options"
 msgstr "±ØÐëÔÚ´øÓР-P -O Ñ¡ÏîÔËÐеĶÀÁ¢ postgres ½ø³Ìϵ÷ÓÃ"
 
-#: ../tcop/utility.c:905
+#: ../tcop/utility.c:912
 #, c-format
 msgid "ProcessUtility: command #%d unsupported"
 msgstr "ProcessUtility: ²»Ö§³Ö #%d ÃüÁî"
 
-#: ../rewrite/rewriteManip.c:559 ../rewrite/rewriteManip.c:566
+#: ../rewrite/rewriteManip.c:557 ../rewrite/rewriteManip.c:564
 msgid "getInsertSelectQuery: expected to find SELECT subquery"
 msgstr "getInsertSelectQuery: Ô¤ÆÚÕÒµ½ SELECT ×Ó²éѯ"
 
-#: ../rewrite/rewriteManip.c:577
+#: ../rewrite/rewriteManip.c:575
 msgid "getInsertSelectQuery: can't find rule placeholders"
 msgstr "getInsertSelectQuery: ÎÞ·¨ÕÒµ½¹æÔòռλ·û"
 
-#: ../rewrite/rewriteManip.c:611 ../rewrite/rewriteManip.c:651
+#: ../rewrite/rewriteManip.c:609 ../rewrite/rewriteManip.c:649
 msgid "Conditional utility statements are not implemented"
 msgstr "δʵÏÖÌõ¼þ¹¤¾ßÓï¾ä"
 
-#: ../rewrite/rewriteManip.c:776
+#: ../rewrite/rewriteManip.c:772
 msgid "ResolveNew: can't handle whole-tuple reference"
 msgstr "ResolveNew: ÎÞ·¨´¦ÀíÈ«Ôª×éÒýÓÃ"
 
@@ -564,33 +582,33 @@ msgstr "ApplyRetrieveRule: 
 msgid "ApplyRetrieveRule: can't handle per-attribute ON SELECT rule"
 msgstr "ApplyRetrieveRule: ÎÞ·¨´¦Àíÿ¸öÊôÐԵĠON SELECT ¹æÔò"
 
-#: ../rewrite/rewriteHandler.c:491 ../rewrite/rewriteHandler.c:778
+#: ../rewrite/rewriteHandler.c:490 ../rewrite/rewriteHandler.c:777
 #, c-format
 msgid "Relation \"%s\" with OID %u no longer exists"
 msgstr "ÓÐ×Å OID Îª %2$u µÄ¹Øϵ \"%1$s\" ²»ÔÙ´æÔÚ"
 
-#: ../rewrite/rewriteHandler.c:558
+#: ../rewrite/rewriteHandler.c:557
 msgid "fireRIRrules: failed to remove aggs from qual"
 msgstr "fireRIRrules: ÎÞ·¨´ÓÌõ¼þÖÐɾ³ý¾Û¼¯"
 
-#: ../rewrite/rewriteHandler.c:830
+#: ../rewrite/rewriteHandler.c:829
 #, c-format
 msgid "query rewritten %d times, may contain cycles"
 msgstr "²éѯÖØдÁË %d ´Î, ¿ÉÄÜ°üº¬Ñ­»·"
 
-#: ../rewrite/rewriteHandler.c:951
+#: ../rewrite/rewriteHandler.c:953
 msgid "Cannot insert into a view without an appropriate rule"
 msgstr "ûÓкÏÊʹæÔòÇé¿öÏÂÎÞ·¨²åÈëÒ»¸öÊÓͼ"
 
-#: ../rewrite/rewriteHandler.c:954
+#: ../rewrite/rewriteHandler.c:956
 msgid "Cannot update a view without an appropriate rule"
 msgstr "ûÓкÏÊʹæÔòÇé¿öÏÂÎÞ·¨¸üÐÂÒ»¸öÊÓͼ"
 
-#: ../rewrite/rewriteHandler.c:957
+#: ../rewrite/rewriteHandler.c:959
 msgid "Cannot delete from a view without an appropriate rule"
 msgstr "ûÓкÏÊʹæÔòÇé¿öÏÂÎÞ·¨´ÓÊÓͼÖÐɾ³ý"
 
-#: ../rewrite/rewriteHandler.c:960
+#: ../rewrite/rewriteHandler.c:962
 #, c-format
 msgid "QueryRewrite: unexpected commandType %d"
 msgstr "QueryRewrite: ÒâÍâµÄ commandType %d"
@@ -600,7 +618,7 @@ msgstr "QueryRewrite: 
 msgid "Rule or view \"%s\" not found"
 msgstr "ûÓÐÕÒµ½ÃûΪ \"%s\" µÄ¹æÔò»òÊÓͼ"
 
-#: ../rewrite/rewriteRemove.c:53 ../utils/adt/tid.c:157
+#: ../rewrite/rewriteRemove.c:53 ../utils/adt/tid.c:156
 #, c-format
 msgid "Relation %u not found"
 msgstr "δÕÒµ½¹Øϵ %u"
@@ -614,10 +632,10 @@ msgstr "δ
 msgid "Cannot remove a view's SELECT rule"
 msgstr "ÎÞ·¨É¾³ýÊÓͼµÄ SELECT ¹æÔò"
 
-#: ../libpq/crypt.c:85
+#: ../libpq/crypt.c:68
 #, c-format
-msgid "could not open %s: %s"
-msgstr "ÎÞ·¨´ò¿ª %s: %s"
+msgid "could not open %s: %m"
+msgstr "ÎÞ·¨´ò¿ª %s: %m"
 
 #: ../libpq/be-fsstubs.c:85
 #, c-format
@@ -705,31 +723,50 @@ msgstr "lo_export: 
 msgid "lo_export: error while writing \"%s\""
 msgstr "lo_export: Ð´³ö \"%s\" Ê±³ö´í"
 
-#: ../libpq/auth.c:456
+#: ../libpq/auth.c:473
 #, c-format
 msgid "%s authentication failed for user \"%s\""
 msgstr "ΪÓû§ \"%2$s\" %1$s ÈÏ֤ʧ°Ü"
 
-#: ../libpq/auth.c:477
+#: ../libpq/auth.c:495
 msgid "Missing or erroneous pg_hba.conf file, see postmaster log for details"
 msgstr "ȱʧ»òÕßʱÄõ½´íÎóµÄ pg_hba.conf Îļþ, ¼û postmaster ÈÕÖ¾»ñȡϸ½Ú"
 
-#: ../libpq/auth.c:506
+#: ../libpq/auth.c:526
 #, 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:538
+#: ../libpq/auth.c:560
 #, c-format
 msgid "pg_local_sendauth: can't do setsockopt: %s\n"
 msgstr "pg_local_sendauth: ÎÞ·¨½øÐРsetsockopt: %s\n"
 
-#: ../libpq/pqformat.c:201
+#: ../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
 #, c-format
 msgid "pq_sendint: unsupported size %d"
 msgstr "pq_sendint: ²»Ö§³ÖµÄ³ß´ç %d"
 
-#: ../nodes/copyfuncs.c:2980
+#: ../nodes/copyfuncs.c:2976
 #, c-format
 msgid "copyObject: don't know how to copy node type %d"
 msgstr "copyObject: ²»ÖªµÀÈçºÎ¿½±´½ÚµãÀàÐÍ %d"
@@ -742,27 +779,27 @@ msgstr "toIntList: 
 msgid "toOidList: unexpected datatype"
 msgstr "toOidList: ·ÇÔ¤ÆÚÊý¾ÝÀàÐÍ"
 
-#: ../nodes/readfuncs.c:798
+#: ../nodes/readfuncs.c:797
 #, c-format
 msgid "_readExpr: unknown opType \"%.*s\""
 msgstr "_readExpr: δ֪ opType \"%.*s\""
 
-#: ../nodes/readfuncs.c:2024
+#: ../nodes/readfuncs.c:2023
 #, c-format
 msgid "badly formatted planstring \"%.10s\"..."
 msgstr "´íÎóµÄ¹æ»®´®(planstring) \"%.10s\""
 
-#: ../nodes/readfuncs.c:2057 ../nodes/readfuncs.c:2089
+#: ../nodes/readfuncs.c:2056 ../nodes/readfuncs.c:2088
 #, c-format
 msgid "readDatum: expected '%s', got '%s'; length = %lu"
 msgstr ""
 
-#: ../nodes/readfuncs.c:2064
+#: ../nodes/readfuncs.c:2063
 #, c-format
 msgid "readDatum: byval & length = %lu"
 msgstr ""
 
-#: ../nodes/equalfuncs.c:202
+#: ../nodes/equalfuncs.c:201
 #, c-format
 msgid "_equalParam: Invalid paramkind value: %d"
 msgstr ""
@@ -785,16 +822,21 @@ msgstr ""
 msgid "nodeRead: Bad type %d"
 msgstr ""
 
-#: ../nodes/outfuncs.c:1295
+#: ../nodes/outfuncs.c:1294
 #, c-format
 msgid "_outValue: don't know how to print type %d "
 msgstr ""
 
-#: ../nodes/outfuncs.c:1675
+#: ../nodes/outfuncs.c:1696
 #, 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 Ê§°Ü"
+
 #: ../tioga/tgRecipe.c:81
 #, c-format
 msgid ""
@@ -823,194 +865,148 @@ msgstr ""
 msgid "Node named %s not found in recipe named %s"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:249
+#: ../tioga/tgRecipe.c:248
 #, c-format
 msgid "fillTgNode: unknown nodeType field value : %s\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:328
+#: ../tioga/tgRecipe.c:326
 #, c-format
 msgid "fillTgElement(): unknown srcLang field value : %s\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:338
+#: ../tioga/tgRecipe.c:336
 #, c-format
 msgid "fillTgElement(): unknown elemType field value : %s\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:378
+#: ../tioga/tgRecipe.c:376
 #, c-format
 msgid "lookupEdges(): Error while executing query : %s\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:379 ../tioga/tgRecipe.c:542 ../tioga/tgRecipe.c:561
-#: ../tioga/tgRecipe.c:598 ../tioga/tgRecipe.c:709
+#: ../tioga/tgRecipe.c:377 ../tioga/tgRecipe.c:540 ../tioga/tgRecipe.c:559
+#: ../tioga/tgRecipe.c:596 ../tioga/tgRecipe.c:707
 #, c-format
 msgid "result = %s, error is %s\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:404
+#: ../tioga/tgRecipe.c:402
 msgid "lookupEdges():  SANITY CHECK failed.  Edge with invalid fromPort value!"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:409
+#: ../tioga/tgRecipe.c:407
 msgid "lookupEdges():  SANITY CHECK failed.  Edge with invalid toPort value!!"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:418
+#: ../tioga/tgRecipe.c:416
 msgid "lookupEdges():  SANITY CHECK failed.  Edge with bad fromNode value!"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:424
+#: ../tioga/tgRecipe.c:422
 msgid "lookupEdges():  SANITY CHECK failed.  Edge with bad toNode value!"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:471
+#: ../tioga/tgRecipe.c:469
 msgid "Internal Error: connectTee() called with a null origToNode"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:541 ../tioga/tgRecipe.c:560
+#: ../tioga/tgRecipe.c:539 ../tioga/tgRecipe.c:558
 #, c-format
 msgid "fillAllNodes(): Error while executing query : %s\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:597
+#: ../tioga/tgRecipe.c:595
 #, c-format
 msgid "fillAllElements(): Error while executing query : %s\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:708
+#: ../tioga/tgRecipe.c:706
 #, c-format
 msgid "retrieveRecipe: Error while executing query : %s\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:717
+#: ../tioga/tgRecipe.c:715
 #, c-format
 msgid "retrieveRecipe():  No recipe named %s exists\n"
 msgstr ""
 
-#: ../tioga/tgRecipe.c:722
+#: ../tioga/tgRecipe.c:720
 #, c-format
 msgid "retrieveRecipe():  Multiple (%d) recipes named %s exists\n"
 msgstr ""
 
-#: ../utils/mb/mbutils.c:225
-#, c-format
-msgid "Invalid encoding name %s"
-msgstr ""
-
-#: ../utils/mb/mbutils.c:230 ../utils/mb/mbutils.c:273
-#, c-format
-msgid "Conversion from %s to %s is not possible"
-msgstr ""
-
-#: ../utils/mb/mbutils.c:236 ../utils/mb/mbutils.c:280
-msgid "Encoding conversion failed"
-msgstr ""
-
-#: ../utils/mb/mbutils.c:267
-#, c-format
-msgid "Invalid source encoding name %s"
-msgstr ""
-
-#: ../utils/mb/mbutils.c:269
-#, c-format
-msgid "Invalid destination encoding name %s"
-msgstr ""
-
-#: ../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/mb/conv.c:1289
-#, c-format
-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 ""
-
-#: ../utils/mb/conv.c:1423
-#, c-format
-msgid "local_to_utf: could not convert (0x%04x) %s to UTF-8. Ignored"
-msgstr ""
-
-#: ../utils/mb/encnames.c:176
-msgid "pg_char_to_encname_struct(): encoding name too long"
-msgstr ""
-
-#: ../utils/adt/numeric.c:1501
+#: ../utils/adt/numeric.c:1500
 msgid "Cannot convert NaN to int4"
 msgstr ""
 
-#: ../utils/adt/numeric.c:1551
+#: ../utils/adt/numeric.c:1550
 msgid "Cannot convert NaN to int8"
 msgstr ""
 
-#: ../utils/adt/numeric.c:1602
+#: ../utils/adt/numeric.c:1601
 msgid "Cannot convert NaN to int2"
 msgstr ""
 
-#: ../utils/adt/numeric.c:1739
+#: ../utils/adt/float.c:269 ../utils/adt/numeric.c:1685
+#, c-format
+msgid "Bad float8 input format '%s'"
+msgstr ""
+
+#: ../utils/adt/numeric.c:1767
 msgid "do_numeric_accum: expected 3-element numeric array"
 msgstr ""
 
-#: ../utils/adt/numeric.c:1830
+#: ../utils/adt/numeric.c:1858
 msgid "numeric_avg: expected 3-element numeric array"
 msgstr ""
 
-#: ../utils/adt/numeric.c:1865
+#: ../utils/adt/numeric.c:1893
 msgid "numeric_variance: expected 3-element numeric array"
 msgstr ""
 
-#: ../utils/adt/numeric.c:1932
+#: ../utils/adt/numeric.c:1960
 msgid "numeric_stddev: expected 3-element numeric array"
 msgstr ""
 
-#: ../utils/adt/numeric.c:2114
+#: ../utils/adt/numeric.c:2142
 msgid "int2_avg_accum: expected 2-element int8 array"
 msgstr ""
 
-#: ../utils/adt/numeric.c:2134
+#: ../utils/adt/numeric.c:2162
 msgid "int4_avg_accum: expected 2-element int8 array"
 msgstr ""
 
-#: ../utils/adt/numeric.c:2152
+#: ../utils/adt/numeric.c:2180
 msgid "int8_avg: expected 2-element int8 array"
 msgstr ""
 
-#: ../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
+#: ../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
 #, c-format
 msgid "Bad numeric input format '%s'"
 msgstr ""
 
-#: ../utils/adt/numeric.c:2711
+#: ../utils/adt/numeric.c:2738
 #, c-format
 msgid ""
 "overflow on numeric ABS(value) >= 10^%d for field with precision %d scale %d"
 msgstr ""
 
-#: ../utils/adt/numeric.c:3125
+#: ../utils/adt/numeric.c:3148
 msgid "division by zero on numeric"
 msgstr ""
 
-#: ../utils/adt/numeric.c:3430
+#: ../utils/adt/numeric.c:3453
 msgid "math error on numeric - cannot compute SQRT of negative value"
 msgstr ""
 
-#: ../utils/adt/numeric.c:3516
+#: ../utils/adt/numeric.c:3539
 msgid "argument for EXP() too big"
 msgstr ""
 
-#: ../utils/adt/numeric.c:3583
+#: ../utils/adt/numeric.c:3606
 msgid "math error on numeric - cannot compute LN of value <= zero"
 msgstr ""
 
@@ -1018,296 +1014,310 @@ msgstr ""
 msgid "datumGetSize: Invalid Datum Pointer"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:66 ../utils/adt/timestamp.c:189
+#: ../utils/adt/timestamp.c:68 ../utils/adt/timestamp.c:192
 #, c-format
 msgid "Bad timestamp external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:72 ../utils/adt/timestamp.c:195
+#: ../utils/adt/timestamp.c:74
 #, c-format
-msgid "Timestamp out of range '%s'"
-msgstr " Timestamp ³¬³ö·¶Î§ '%s'"
+msgid "TIMESTAMP out of range '%s'"
+msgstr "TIMESTAMP ³¬³ö·¶Î§ '%s'"
 
-#: ../utils/adt/timestamp.c:88
+#: ../utils/adt/timestamp.c:90
 #, c-format
-msgid "Timestamp '%s' no longer supported"
+msgid "TIMESTAMP '%s' no longer supported"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:93
+#: ../utils/adt/timestamp.c:95
 #, c-format
-msgid "Timestamp '%s' not parsed; internal coding error"
+msgid "TIMESTAMP '%s' not parsed; internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:121
+#: ../utils/adt/timestamp.c:123
 msgid "Unable to format timestamp; internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:211
+#: ../utils/adt/timestamp.c:198
+#, c-format
+msgid "TIMESTAMP WITH TIME ZONE out of range '%s'"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:214
 #, 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:216
+#: ../utils/adt/timestamp.c:219
 #, 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:245
+#: ../utils/adt/timestamp.c:248
 msgid "Unable to format timestamp with time zone; internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:300 ../utils/adt/timestamp.c:308
+#: ../utils/adt/timestamp.c:308 ../utils/adt/timestamp.c:316
 #, c-format
 msgid "Bad interval external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:312
+#: ../utils/adt/timestamp.c:321
 #, c-format
 msgid "Interval '%s' no longer supported"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:316
+#: ../utils/adt/timestamp.c:325
 #, c-format
 msgid "Interval '%s' not parsed; internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:336
+#: ../utils/adt/timestamp.c:345
 msgid "Unable to encode interval; internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:339
+#: ../utils/adt/timestamp.c:348
 msgid "Unable to format interval; internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1015
+#: ../utils/adt/timestamp.c:470
+msgid "AdjustIntervalForTypmod(): internal coding error"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:1194
 msgid "Unable to subtract non-finite timestamps"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1075
+#: ../utils/adt/timestamp.c:1252
 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:1082
+#: ../utils/adt/timestamp.c:1259
 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:1167
+#: ../utils/adt/timestamp.c:1342
 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:1172
+#: ../utils/adt/timestamp.c:1347
 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:1354
+#: ../utils/adt/timestamp.c:1529
 msgid "interval_div: divide by 0.0 error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1391
+#: ../utils/adt/timestamp.c:1566
 msgid "interval_accum: expected 2-element interval array"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1430
+#: ../utils/adt/timestamp.c:1608
 msgid "interval_avg: expected 2-element interval array"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1549
+#: ../utils/adt/timestamp.c:1730
 msgid ""
-"Unable to encode interval\n"
+"Unable to encode INTERVAL\n"
 "\ttimestamp_age() internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1553
+#: ../utils/adt/timestamp.c:1734
 msgid ""
-"Unable to decode timestamp\n"
+"Unable to decode TIMESTAMP\n"
 "\ttimestamp_age() internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1658 ../utils/adt/timestamp.c:1661
-msgid "Unable to decode timestamp"
+#: ../utils/adt/timestamp.c:1839 ../utils/adt/timestamp.c:1842
+msgid "Unable to decode TIMESTAMP"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1714
-msgid "Bad timestamp external representation (too long)"
+#: ../utils/adt/timestamp.c:1895
+msgid "TIMESTAMP bad external representation (too long)"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1770
-msgid "Bad timestamp with time zone external representation (too long)"
+#: ../utils/adt/timestamp.c:1951
+msgid "TIMESTAMP WITH TIME ZONE bad external representation (too long)"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1827
-msgid "Bad interval external representation (too long)"
+#: ../utils/adt/timestamp.c:2008
+msgid "INTERVAL bad external representation (too long)"
 msgstr ""
 
-#: ../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
+#: ../utils/adt/timestamp.c:2041 ../utils/adt/timestamp.c:2099
+#: ../utils/adt/timestamp.c:2388 ../utils/adt/timestamp.c:2503
 #, c-format
-msgid "Interval units '%s' not recognized"
+msgid "TIMESTAMP units '%s' not recognized"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1906 ../utils/adt/timestamp.c:1993
-#: ../utils/adt/timestamp.c:2284 ../utils/adt/timestamp.c:2312
+#: ../utils/adt/timestamp.c:2090 ../utils/adt/timestamp.c:2468
+#: ../utils/adt/timestamp.c:2496
 #, c-format
-msgid "Timestamp units '%s' not supported"
+msgid "TIMESTAMP units '%s' not supported"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1911 ../utils/adt/timestamp.c:2000
+#: ../utils/adt/timestamp.c:2095
 #, c-format
-msgid "Unable to truncate timestamp to '%s'"
+msgid "Unable to truncate TIMESTAMP to '%s'"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:1915 ../utils/adt/timestamp.c:2004
-#: ../utils/adt/timestamp.c:2319
+#: ../utils/adt/timestamp.c:2128 ../utils/adt/timestamp.c:2187
+#: ../utils/adt/timestamp.c:2533 ../utils/adt/timestamp.c:2658
 #, c-format
-msgid "Timestamp units '%s' not recognized"
+msgid "TIMESTAMP WITH TIME ZONE units '%s' not recognized"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2081 ../utils/adt/timestamp.c:2570
+#: ../utils/adt/timestamp.c:2176 ../utils/adt/timestamp.c:2623
+#: ../utils/adt/timestamp.c:2652
 #, c-format
-msgid "Interval units '%s' not supported"
+msgid "TIMESTAMP WITH TIME ZONE units '%s' not supported"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2085
+#: ../utils/adt/timestamp.c:2183
 #, c-format
-msgid "Unable to truncate interval to '%s'"
+msgid "Unable to truncate TIMESTAMP WITH TIME ZONE to '%s'"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2090
-msgid "Unable to decode interval; internal coding error"
+#: ../utils/adt/timestamp.c:2216 ../utils/adt/timestamp.c:2279
+#: ../utils/adt/timestamp.c:2686 ../utils/adt/timestamp.c:2779
+#, c-format
+msgid "INTERVAL units '%s' not recognized"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2118
-msgid "isoweek2date(): can't convert without year information"
+#: ../utils/adt/timestamp.c:2264 ../utils/adt/timestamp.c:2754
+#, c-format
+msgid "INTERVAL units '%s' not supported"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2298 ../utils/adt/timestamp.c:2305
-msgid "Unable to encode timestamp"
+#: ../utils/adt/timestamp.c:2268
+#, c-format
+msgid "Unable to truncate INTERVAL to '%s'"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2439 ../utils/adt/timestamp.c:2468
-#, c-format
-msgid "Timestamp with time zone units '%s' not supported"
+#: ../utils/adt/timestamp.c:2273
+msgid "Unable to decode INTERVAL; internal coding error"
+msgstr ""
+
+#: ../utils/adt/timestamp.c:2301
+msgid "isoweek2date(): can't convert without year information"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2454 ../utils/adt/timestamp.c:2461
-msgid "Unable to encode timestamp with time zone"
+#: ../utils/adt/timestamp.c:2482 ../utils/adt/timestamp.c:2489
+msgid "Unable to encode TIMESTAMP"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2474
-#, c-format
-msgid "Timestamp with time zone units '%s' not recognized"
+#: ../utils/adt/timestamp.c:2638 ../utils/adt/timestamp.c:2645
+msgid "Unable to encode TIMESTAMP WITH TIME ZONE"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2579
+#: ../utils/adt/timestamp.c:2763
 msgid ""
-"Unable to decode interval\n"
+"Unable to decode INTERVAL\n"
 "\tinterval_part() internal coding error"
 msgstr ""
 
-#: ../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
+#: ../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
 #, c-format
 msgid "Time zone '%s' not recognized"
 msgstr ""
 
-#: ../utils/adt/date.c:1524 ../utils/adt/timestamp.c:2668
-#: ../utils/adt/timestamp.c:2838
+#: ../utils/adt/date.c:1629 ../utils/adt/timestamp.c:2852
+#: ../utils/adt/timestamp.c:3018
 #, c-format
 msgid "INTERVAL time zone '%s' not legal (month specified)"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2698
-msgid "Unable to convert timestamp to timestamp with time zone (tm)"
+#: ../utils/adt/timestamp.c:2880
+msgid "Unable to convert TIMESTAMP to TIMESTAMP WITH TIME ZONE (tm)"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2703
-msgid "Unable to convert timestamp to timestamp with time zone"
+#: ../utils/adt/timestamp.c:2885
+msgid "Unable to convert TIMESTAMP to TIMESTAMP WITH TIME ZONE"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2730
-msgid "Unable to convert timestamp with time zone to timestamp (tm)"
+#: ../utils/adt/timestamp.c:2910
+msgid "Unable to convert TIMESTAMP WITH TIME ZONE to TIMESTAMP (tm)"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2733
-msgid "Unable to convert timestamp with time zone to timestamp"
+#: ../utils/adt/timestamp.c:2913
+msgid "Unable to convert TIMESTAMP WITH TIME ZONE to TIMESTAMP"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2787
+#: ../utils/adt/timestamp.c:2967
 msgid ""
-"Unable to decode timestamp\n"
-"\ttimestamp_zone() internal coding error"
+"Unable to decode TIMESTAMP WITH TIME ZONE\n"
+"\ttimestamptz_zone() internal coding error"
 msgstr ""
 
-#: ../utils/adt/timestamp.c:2848
+#: ../utils/adt/timestamp.c:3028
 msgid ""
-"Unable to decode timestamp\n"
-"\ttimestamp_izone() internal coding error"
+"Unable to decode TIMESTAMP WITH TIME ZONE\n"
+"\ttimestamptz_izone() internal coding error"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:343 ../utils/adt/nabstime.c:358
+#: ../utils/adt/nabstime.c:370 ../utils/adt/nabstime.c:403
 #, c-format
 msgid "Invalid timezone '%s'"
 msgstr "ÎÞЧʱÇø '%s'"
 
-#: ../utils/adt/nabstime.c:440
+#: ../utils/adt/nabstime.c:507
 #, c-format
 msgid "Bad (length) abstime external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:444
+#: ../utils/adt/nabstime.c:511
 #, c-format
 msgid "Bad abstime external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:471
+#: ../utils/adt/nabstime.c:541
 #, c-format
 msgid "Bad abstime (internal coding error) '%s'"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:661 ../utils/adt/nabstime.c:726
+#: ../utils/adt/nabstime.c:732 ../utils/adt/nabstime.c:798
 msgid "Unable to convert timestamp to abstime"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:684
+#: ../utils/adt/nabstime.c:756
 msgid "Unable to convert abstime 'invalid' to timestamp"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:745
+#: ../utils/adt/nabstime.c:817
 msgid "Unable to convert abstime 'invalid' to timestamptz"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:788
+#: ../utils/adt/nabstime.c:860
 #, c-format
 msgid "Bad (length) reltime external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:792
+#: ../utils/adt/nabstime.c:864
 #, c-format
 msgid "Bad reltime external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:802
+#: ../utils/adt/nabstime.c:874
 #, c-format
 msgid "Bad reltime (internal coding error) '%s'"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:860
+#: ../utils/adt/nabstime.c:932
 #, c-format
 msgid "Unable to decode tinterval '%s'"
 msgstr ""
 
-#: ../utils/adt/nabstime.c:961
+#: ../utils/adt/nabstime.c:1033
 msgid "Unable to convert reltime 'invalid' to interval"
 msgstr ""
 
@@ -1371,30 +1381,30 @@ msgstr ""
 msgid "aclitemout: bad ai_idtype: %d"
 msgstr ""
 
-#: ../utils/adt/acl.c:448
+#: ../utils/adt/acl.c:450
 msgid "aclinsert3: insertion before world ACL??"
 msgstr ""
 
-#: ../utils/adt/acl.c:557
+#: ../utils/adt/acl.c:559
 msgid "aclremove: removal of the world ACL??"
 msgstr ""
 
-#: ../utils/adt/acl.c:828 ../utils/adt/acl.c:899 ../utils/adt/acl.c:1023
+#: ../utils/adt/acl.c:830 ../utils/adt/acl.c:901 ../utils/adt/acl.c:1026
 #, c-format
 msgid "has_table_privilege: invalid relation oid %u"
 msgstr ""
 
-#: ../utils/adt/acl.c:960
+#: ../utils/adt/acl.c:962
 #, c-format
 msgid "has_table_privilege: invalid privilege type %s"
 msgstr ""
 
-#: ../utils/adt/acl.c:1062
+#: ../utils/adt/acl.c:1064
 #, c-format
 msgid "has_table_privilege: relation \"%s\" does not exist"
 msgstr ""
 
-#: ../utils/adt/like.c:495 ../utils/adt/like_match.c:294
+#: ../utils/adt/like.c:493 ../utils/adt/like_match.c:288
 msgid "ESCAPE string must be empty or one character"
 msgstr ""
 
@@ -1450,526 +1460,526 @@ msgstr ""
 msgid "invalid tid format: '%s'"
 msgstr "ÎÞЧ tid ¸ñʽ: '%s'"
 
-#: ../utils/adt/tid.c:182
+#: ../utils/adt/tid.c:181
 #, c-format
 msgid "Relation %s not found"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:185
+#: ../utils/adt/ri_triggers.c:175
 msgid "RI_FKey_check() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:188
+#: ../utils/adt/ri_triggers.c:178
 msgid "RI_FKey_check() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:191
+#: ../utils/adt/ri_triggers.c:181
 msgid "RI_FKey_check() must be fired for INSERT or UPDATE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:199
+#: ../utils/adt/ri_triggers.c:189
 msgid "wrong # of arguments in call to RI_FKey_check()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:201
+#: ../utils/adt/ri_triggers.c:191
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_check()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:264 ../utils/adt/ri_triggers.c:375
+#: ../utils/adt/ri_triggers.c:254 ../utils/adt/ri_triggers.c:365
 msgid "SPI_connect() failed in RI_FKey_check()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:271 ../utils/adt/ri_triggers.c:454
+#: ../utils/adt/ri_triggers.c:261 ../utils/adt/ri_triggers.c:443
 msgid "SPI_execp() failed in RI_FKey_check()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:276
+#: ../utils/adt/ri_triggers.c:266
 #, c-format
 msgid "%s referential integrity violation - no rows found in %s"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:282 ../utils/adt/ri_triggers.c:466
+#: ../utils/adt/ri_triggers.c:272 ../utils/adt/ri_triggers.c:455
 msgid "SPI_finish() failed in RI_FKey_check()"
 msgstr ""
 
-#: ../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
+#: ../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
 msgid "MATCH PARTIAL not yet supported"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:328
+#: ../utils/adt/ri_triggers.c:318
 #, 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:352
+#: ../utils/adt/ri_triggers.c:342
 msgid "MATCH PARTIAL not yet implemented"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:459
+#: ../utils/adt/ri_triggers.c:448
 #, c-format
 msgid ""
 "%s referential integrity violation - key referenced from %s not found in %s"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:473
+#: ../utils/adt/ri_triggers.c:462
 msgid "internal error #1 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:538
+#: ../utils/adt/ri_triggers.c:527
 msgid "RI_FKey_noaction_del() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:541
+#: ../utils/adt/ri_triggers.c:530
 msgid "RI_FKey_noaction_del() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:543
+#: ../utils/adt/ri_triggers.c:532
 msgid "RI_FKey_noaction_del() must be fired for DELETE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:551
+#: ../utils/adt/ri_triggers.c:540
 msgid "wrong # of arguments in call to RI_FKey_noaction_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:553
+#: ../utils/adt/ri_triggers.c:542
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_noaction_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:608
+#: ../utils/adt/ri_triggers.c:597
 msgid "SPI_connect() failed in RI_FKey_noaction_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:677
+#: ../utils/adt/ri_triggers.c:666
 msgid "SPI_execp() failed in RI_FKey_noaction_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:682 ../utils/adt/ri_triggers.c:896
-#: ../utils/adt/ri_triggers.c:1524 ../utils/adt/ri_triggers.c:1746
+#: ../utils/adt/ri_triggers.c:671 ../utils/adt/ri_triggers.c:885
+#: ../utils/adt/ri_triggers.c:1513 ../utils/adt/ri_triggers.c:1735
 #, c-format
 msgid "%s referential integrity violation - key in %s still referenced from %s"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:689
+#: ../utils/adt/ri_triggers.c:678
 msgid "SPI_finish() failed in RI_FKey_noaction_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:704
+#: ../utils/adt/ri_triggers.c:693
 msgid "internal error #2 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:744
+#: ../utils/adt/ri_triggers.c:733
 msgid "RI_FKey_noaction_upd() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:747
+#: ../utils/adt/ri_triggers.c:736
 msgid "RI_FKey_noaction_upd() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:749
+#: ../utils/adt/ri_triggers.c:738
 msgid "RI_FKey_noaction_upd() must be fired for UPDATE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:757
+#: ../utils/adt/ri_triggers.c:746
 msgid "wrong # of arguments in call to RI_FKey_noaction_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:759
+#: ../utils/adt/ri_triggers.c:748
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_noaction_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:822
+#: ../utils/adt/ri_triggers.c:811
 msgid "SPI_connect() failed in RI_FKey_noaction_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:891
+#: ../utils/adt/ri_triggers.c:880
 msgid "SPI_execp() failed in RI_FKey_noaction_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:903
+#: ../utils/adt/ri_triggers.c:892
 msgid "SPI_finish() failed in RI_FKey_noaction_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:918
+#: ../utils/adt/ri_triggers.c:907
 msgid "internal error #3 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:954
+#: ../utils/adt/ri_triggers.c:943
 msgid "RI_FKey_cascade_del() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:957
+#: ../utils/adt/ri_triggers.c:946
 msgid "RI_FKey_cascade_del() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:959
+#: ../utils/adt/ri_triggers.c:948
 msgid "RI_FKey_cascade_del() must be fired for DELETE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:967
+#: ../utils/adt/ri_triggers.c:956
 msgid "wrong # of arguments in call to RI_FKey_cascade_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:969
+#: ../utils/adt/ri_triggers.c:958
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_cascade_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1025
+#: ../utils/adt/ri_triggers.c:1014
 msgid "SPI_connect() failed in RI_FKey_cascade_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1091
+#: ../utils/adt/ri_triggers.c:1080
 msgid "SPI_execp() failed in RI_FKey_cascade_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1096
+#: ../utils/adt/ri_triggers.c:1085
 msgid "SPI_finish() failed in RI_FKey_cascade_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1111
+#: ../utils/adt/ri_triggers.c:1100
 msgid "internal error #4 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1149
+#: ../utils/adt/ri_triggers.c:1138
 msgid "RI_FKey_cascade_upd() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1152
+#: ../utils/adt/ri_triggers.c:1141
 msgid "RI_FKey_cascade_upd() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1154
+#: ../utils/adt/ri_triggers.c:1143
 msgid "RI_FKey_cascade_upd() must be fired for UPDATE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1162
+#: ../utils/adt/ri_triggers.c:1151
 msgid "wrong # of arguments in call to RI_FKey_cascade_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1164
+#: ../utils/adt/ri_triggers.c:1153
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_cascade_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1228
+#: ../utils/adt/ri_triggers.c:1217
 msgid "SPI_connect() failed in RI_FKey_cascade_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1315
+#: ../utils/adt/ri_triggers.c:1304
 msgid "SPI_execp() failed in RI_FKey_cascade_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1320
+#: ../utils/adt/ri_triggers.c:1309
 msgid "SPI_finish() failed in RI_FKey_cascade_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1335
+#: ../utils/adt/ri_triggers.c:1324
 msgid "internal error #5 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1378
+#: ../utils/adt/ri_triggers.c:1367
 msgid "RI_FKey_restrict_del() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1381
+#: ../utils/adt/ri_triggers.c:1370
 msgid "RI_FKey_restrict_del() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1383
+#: ../utils/adt/ri_triggers.c:1372
 msgid "RI_FKey_restrict_del() must be fired for DELETE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1391
+#: ../utils/adt/ri_triggers.c:1380
 msgid "wrong # of arguments in call to RI_FKey_restrict_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1393
+#: ../utils/adt/ri_triggers.c:1382
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_restrict_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1449
+#: ../utils/adt/ri_triggers.c:1438
 msgid "SPI_connect() failed in RI_FKey_restrict_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1519
+#: ../utils/adt/ri_triggers.c:1508
 msgid "SPI_execp() failed in RI_FKey_restrict_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1531
+#: ../utils/adt/ri_triggers.c:1520
 msgid "SPI_finish() failed in RI_FKey_restrict_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1546
+#: ../utils/adt/ri_triggers.c:1535
 msgid "internal error #6 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1590
+#: ../utils/adt/ri_triggers.c:1579
 msgid "RI_FKey_restrict_upd() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1593
+#: ../utils/adt/ri_triggers.c:1582
 msgid "RI_FKey_restrict_upd() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1595
+#: ../utils/adt/ri_triggers.c:1584
 msgid "RI_FKey_restrict_upd() must be fired for UPDATE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1603
+#: ../utils/adt/ri_triggers.c:1592
 msgid "wrong # of arguments in call to RI_FKey_restrict_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1605
+#: ../utils/adt/ri_triggers.c:1594
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_restrict_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1669
+#: ../utils/adt/ri_triggers.c:1658
 msgid "SPI_connect() failed in RI_FKey_restrict_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1741
+#: ../utils/adt/ri_triggers.c:1730
 msgid "SPI_execp() failed in RI_FKey_restrict_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1753
+#: ../utils/adt/ri_triggers.c:1742
 msgid "SPI_finish() failed in RI_FKey_restrict_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1768
+#: ../utils/adt/ri_triggers.c:1757
 msgid "internal error #7 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1804
+#: ../utils/adt/ri_triggers.c:1793
 msgid "RI_FKey_setnull_del() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1807
+#: ../utils/adt/ri_triggers.c:1796
 msgid "RI_FKey_setnull_del() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1809
+#: ../utils/adt/ri_triggers.c:1798
 msgid "RI_FKey_setnull_del() must be fired for DELETE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1817
+#: ../utils/adt/ri_triggers.c:1806
 msgid "wrong # of arguments in call to RI_FKey_setnull_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1819
+#: ../utils/adt/ri_triggers.c:1808
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_setnull_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1875
+#: ../utils/adt/ri_triggers.c:1864
 msgid "SPI_connect() failed in RI_FKey_setnull_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1952
+#: ../utils/adt/ri_triggers.c:1941
 msgid "SPI_execp() failed in RI_FKey_setnull_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1957
+#: ../utils/adt/ri_triggers.c:1946
 msgid "SPI_finish() failed in RI_FKey_setnull_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:1972
+#: ../utils/adt/ri_triggers.c:1961
 msgid "internal error #8 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2011
+#: ../utils/adt/ri_triggers.c:2000
 msgid "RI_FKey_setnull_upd() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2014
+#: ../utils/adt/ri_triggers.c:2003
 msgid "RI_FKey_setnull_upd() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2016
+#: ../utils/adt/ri_triggers.c:2005
 msgid "RI_FKey_setnull_upd() must be fired for UPDATE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2024
+#: ../utils/adt/ri_triggers.c:2013
 msgid "wrong # of arguments in call to RI_FKey_setnull_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2026
+#: ../utils/adt/ri_triggers.c:2015
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_setnull_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2092
+#: ../utils/adt/ri_triggers.c:2081
 msgid "SPI_connect() failed in RI_FKey_setnull_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2206
+#: ../utils/adt/ri_triggers.c:2194
 msgid "SPI_execp() failed in RI_FKey_setnull_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2211
+#: ../utils/adt/ri_triggers.c:2199
 msgid "SPI_finish() failed in RI_FKey_setnull_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2226
+#: ../utils/adt/ri_triggers.c:2214
 msgid "internal error #9 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2262
+#: ../utils/adt/ri_triggers.c:2250
 msgid "RI_FKey_setdefault_del() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2265
+#: ../utils/adt/ri_triggers.c:2253
 msgid "RI_FKey_setdefault_del() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2267
+#: ../utils/adt/ri_triggers.c:2255
 msgid "RI_FKey_setdefault_del() must be fired for DELETE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2275
+#: ../utils/adt/ri_triggers.c:2263
 msgid "wrong # of arguments in call to RI_FKey_setdefault_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2277
+#: ../utils/adt/ri_triggers.c:2265
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_setdefault_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2332
+#: ../utils/adt/ri_triggers.c:2320
 msgid "SPI_connect() failed in RI_FKey_setdefault_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2457
+#: ../utils/adt/ri_triggers.c:2443
 msgid "SPI_execp() failed in RI_FKey_setdefault_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2462
+#: ../utils/adt/ri_triggers.c:2448
 msgid "SPI_finish() failed in RI_FKey_setdefault_del()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2477
+#: ../utils/adt/ri_triggers.c:2463
 msgid "internal error #10 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2515
+#: ../utils/adt/ri_triggers.c:2501
 msgid "RI_FKey_setdefault_upd() not fired by trigger manager"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2518
+#: ../utils/adt/ri_triggers.c:2504
 msgid "RI_FKey_setdefault_upd() must be fired AFTER ROW"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2520
+#: ../utils/adt/ri_triggers.c:2506
 msgid "RI_FKey_setdefault_upd() must be fired for UPDATE"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2528
+#: ../utils/adt/ri_triggers.c:2514
 msgid "wrong # of arguments in call to RI_FKey_setdefault_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2530
+#: ../utils/adt/ri_triggers.c:2516
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_setdefault_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2595
+#: ../utils/adt/ri_triggers.c:2581
 msgid "SPI_connect() failed in RI_FKey_setdefault_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2737
+#: ../utils/adt/ri_triggers.c:2719
 msgid "SPI_execp() failed in RI_FKey_setdefault_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2742
+#: ../utils/adt/ri_triggers.c:2724
 msgid "SPI_finish() failed in RI_FKey_setdefault_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2757
+#: ../utils/adt/ri_triggers.c:2739
 msgid "internal error #11 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2788
+#: ../utils/adt/ri_triggers.c:2770
 msgid "wrong # of arguments in call to RI_FKey_keyequal_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2790
+#: ../utils/adt/ri_triggers.c:2772
 #, c-format
 msgid "too many keys (%d max) in call to RI_FKey_keyequal_upd()"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2839
+#: ../utils/adt/ri_triggers.c:2820
 msgid "internal error #12 in ri_triggers.c"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2872
+#: ../utils/adt/ri_triggers.c:2853
 #, c-format
 msgid "unrecognized referential integrity MATCH type '%s'"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:2922 ../utils/adt/ri_triggers.c:2930
+#: ../utils/adt/ri_triggers.c:2903 ../utils/adt/ri_triggers.c:2911
 #, c-format
 msgid "constraint %s: table %s does not have an attribute %s"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:3059
+#: ../utils/adt/ri_triggers.c:3040
 msgid "out of memory for RI plan cache"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:3255
+#: ../utils/adt/ri_triggers.c:3234
 #, c-format
 msgid "ri_AttributesEqual(): cannot find '=' operator for type %u"
 msgstr ""
 
-#: ../utils/adt/ri_triggers.c:3273
+#: ../utils/adt/ri_triggers.c:3252
 msgid "out of memory for RI operator cache"
 msgstr ""
 
-#: ../utils/adt/varchar.c:116 ../utils/adt/varchar.c:126
-#: ../utils/adt/varchar.c:224 ../utils/adt/varchar.c:236
+#: ../utils/adt/varchar.c:120 ../utils/adt/varchar.c:132
+#: ../utils/adt/varchar.c:232 ../utils/adt/varchar.c:245
 #, c-format
 msgid "value too long for type character(%d)"
 msgstr ""
 
-#: ../utils/adt/varchar.c:436 ../utils/adt/varchar.c:506
-#: ../utils/adt/varchar.c:514
+#: ../utils/adt/varchar.c:448 ../utils/adt/varchar.c:519
+#: ../utils/adt/varchar.c:527
 #, c-format
 msgid "value too long for type character varying(%d)"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:177
+#: ../utils/adt/ruleutils.c:178
 msgid "get_ruledef: cannot connect to SPI manager"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:192 ../utils/adt/ruleutils.c:285
+#: ../utils/adt/ruleutils.c:193 ../utils/adt/ruleutils.c:286
 #, c-format
 msgid "SPI_prepare() failed for \"%s\""
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:204
+#: ../utils/adt/ruleutils.c:205
 #, c-format
 msgid "failed to get pg_rewrite tuple for %s"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:208 ../utils/adt/ruleutils.c:233
+#: ../utils/adt/ruleutils.c:209 ../utils/adt/ruleutils.c:234
 msgid "get_ruledef: SPI_finish() failed"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:270
+#: ../utils/adt/ruleutils.c:271
 msgid "get_viewdef: cannot connect to SPI manager"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:298
+#: ../utils/adt/ruleutils.c:299
 #, c-format
 msgid "failed to get pg_rewrite tuple for view %s"
 msgstr "ΪÊÓͼ %s »ñÈ¡ pg_rewrite Ôª×éʧ°Ü"
@@ -1993,28 +2003,28 @@ msgstr ""
 msgid "lookup for AM %u failed"
 msgstr ""
 
-#: ../parser/parse_expr.c:862 ../utils/adt/ruleutils.c:447
-#: ../utils/adt/ruleutils.c:2029
+#: ../parser/parse_expr.c:902 ../utils/adt/ruleutils.c:447
+#: ../utils/adt/ruleutils.c:2029 ../utils/adt/ruleutils.c:2125
 #, c-format
 msgid "cache lookup for proc %u failed"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:747
+#: ../utils/adt/ruleutils.c:746
 #, c-format
 msgid "get_ruledef: rule %s has unsupported event type %d"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:931
+#: ../utils/adt/ruleutils.c:930
 #, c-format
 msgid "get_ruledef of %s: query command type %d not implemented yet"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:1151
+#: ../utils/adt/ruleutils.c:1150
 #, c-format
 msgid "get_setop_query: unexpected set op %d"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:1162
+#: ../utils/adt/ruleutils.c:1161
 #, c-format
 msgid "get_setop_query: unexpected node %d"
 msgstr ""
@@ -2056,8 +2066,8 @@ msgstr ""
 msgid "get_rule_expr: expr opType %d not supported"
 msgstr ""
 
-#: ../commands/analyze.c:411 ../utils/adt/ruleutils.c:1867
-#: ../utils/adt/ruleutils.c:1894 ../utils/adt/ruleutils.c:2162
+#: ../commands/analyze.c:417 ../utils/adt/ruleutils.c:1867
+#: ../utils/adt/ruleutils.c:1894 ../utils/adt/ruleutils.c:2216
 #, c-format
 msgid "cache lookup of type %u failed"
 msgstr ""
@@ -2082,83 +2092,92 @@ msgstr ""
 msgid "get_ruledef of %s: unknown node type %d in get_rule_expr()"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:2306
+#: ../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
 #, c-format
 msgid "get_sublink_expr: unsupported sublink type %d"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:2450
+#: ../utils/adt/ruleutils.c:2503
 #, c-format
 msgid "get_from_clause_item: unknown join type %d"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:2501
+#: ../utils/adt/ruleutils.c:2554
 #, c-format
 msgid "get_from_clause_item: unexpected node type %d"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:2528 ../utils/cache/lsyscache.c:275
+#: ../utils/adt/ruleutils.c:2581 ../utils/cache/lsyscache.c:275
 #, c-format
 msgid "cache lookup failed for opclass %u"
 msgstr ""
 
-#: ../utils/adt/ruleutils.c:2558
+#: ../utils/adt/ruleutils.c:2611
 msgid "tleIsArrayAssign: I'm confused ..."
 msgstr ""
 
-#: ../catalog/heap.c:1826 ../catalog/heap.c:2007 ../utils/adt/ruleutils.c:2641
+#: ../catalog/heap.c:1857 ../catalog/heap.c:2044 ../utils/adt/ruleutils.c:2692
 #, c-format
 msgid "cache lookup of relation %u failed"
 msgstr ""
 
-#: ../catalog/heap.c:1426 ../parser/parse_relation.c:959
-#: ../utils/adt/ruleutils.c:2665
+#: ../catalog/heap.c:1448 ../parser/parse_relation.c:923
+#: ../utils/adt/ruleutils.c:2716
 #, c-format
 msgid "cache lookup of attribute %d in relation %u failed"
 msgstr ""
 
-#: ../utils/adt/encode.c:51 ../utils/adt/encode.c:83
+#: ../utils/adt/encode.c:53 ../utils/adt/encode.c:87
 #, c-format
 msgid "No such encoding as '%s'"
 msgstr ""
 
-#: ../utils/adt/encode.c:60
+#: ../utils/adt/encode.c:62
 msgid "Overflow - encode estimate too small"
 msgstr ""
 
-#: ../utils/adt/encode.c:92
+#: ../utils/adt/encode.c:96
 msgid "Overflow - decode estimate too small"
 msgstr ""
 
-#: ../utils/adt/encode.c:140
+#: ../utils/adt/encode.c:144
 #, c-format
 msgid "Bad hex code: '%c'"
 msgstr ""
 
-#: ../utils/adt/encode.c:166
+#: ../utils/adt/encode.c:170
 msgid "hex_decode: invalid data"
 msgstr ""
 
-#: ../utils/adt/encode.c:280
+#: ../utils/adt/encode.c:284
 msgid "base64: unexpected '='"
 msgstr ""
 
-#: ../utils/adt/encode.c:289
+#: ../utils/adt/encode.c:294
 msgid "base64: Invalid symbol"
 msgstr ""
 
-#: ../utils/adt/encode.c:307
+#: ../utils/adt/encode.c:312
 msgid "base64: invalid end sequence"
 msgstr ""
 
-#: ../utils/adt/encode.c:416 ../utils/adt/encode.c:481
+#: ../utils/adt/encode.c:419 ../utils/adt/encode.c:482
 msgid "decode: Bad input string for type bytea"
 msgstr ""
 
-#: ../utils/adt/datetime.c:927 ../utils/adt/datetime.c:1379
-#: ../utils/adt/formatting.c:3041
+#: ../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
 #, c-format
-msgid "Inconsistant use of year %04d and 'BC'"
+msgid "Inconsistent use of year %04d and 'BC'"
 msgstr ""
 
 #: ../utils/adt/numutils.c:61
@@ -2183,185 +2202,180 @@ msgstr ""
 msgid "pg_atoi: invalid result size: %d"
 msgstr "pg_atoi: ·Ç·¨µÄ½á¹û³ß´ç: %d"
 
-#: ../utils/adt/varlena.c:77 ../utils/adt/varlena.c:117
+#: ../utils/adt/varlena.c:71 ../utils/adt/varlena.c:109
 msgid "Bad input string for type bytea"
 msgstr ""
 
-#: ../utils/adt/varlena.c:867
+#: ../utils/adt/varlena.c:842
 #, c-format
 msgid "byteaGetByte: index %d out of range [0..%d]"
 msgstr ""
 
-#: ../utils/adt/varlena.c:896
+#: ../utils/adt/varlena.c:871
 #, c-format
 msgid "byteaGetBit: index %d out of range [0..%d]"
 msgstr ""
 
-#: ../utils/adt/varlena.c:930
+#: ../utils/adt/varlena.c:905
 #, c-format
 msgid "byteaSetByte: index %d out of range [0..%d]"
 msgstr ""
 
-#: ../utils/adt/varlena.c:971
+#: ../utils/adt/varlena.c:946
 #, c-format
 msgid "byteaSetBit: index %d out of range [0..%d]"
 msgstr ""
 
-#: ../utils/adt/varlena.c:981
+#: ../utils/adt/varlena.c:956
 msgid "byteaSetBit: new bit must be 0 or 1"
 msgstr ""
 
-#: ../utils/adt/float.c:152
+#: ../utils/adt/float.c:147
 msgid "Bad float4 input format -- overflow"
 msgstr ""
 
-#: ../utils/adt/float.c:154
+#: ../utils/adt/float.c:149
 msgid "Bad float4 input format -- underflow"
 msgstr ""
 
-#: ../utils/adt/float.c:177
+#: ../utils/adt/float.c:171
 msgid "Bad float8 input format -- overflow"
 msgstr ""
 
-#: ../utils/adt/float.c:179
+#: ../utils/adt/float.c:173
 msgid "Bad float8 input format -- underflow"
 msgstr ""
 
-#: ../utils/adt/float.c:210
+#: ../utils/adt/float.c:204
 #, c-format
 msgid "Bad float4 input format '%s'"
 msgstr ""
 
-#: ../utils/adt/float.c:215
+#: ../utils/adt/float.c:209
 #, c-format
 msgid "Input '%s' is out of range for float4"
 msgstr ""
 
-#: ../utils/adt/float.c:275
-#, c-format
-msgid "Bad float8 input format '%s'"
-msgstr ""
-
-#: ../utils/adt/float.c:280
+#: ../utils/adt/float.c:274
 #, c-format
 msgid "Input '%s' is out of range for float8"
 msgstr ""
 
-#: ../utils/adt/float.c:497
+#: ../utils/adt/float.c:493
 msgid "float4div: divide by zero error"
 msgstr ""
 
-#: ../utils/adt/float.c:559
+#: ../utils/adt/float.c:555
 msgid "float8div: divide by zero error"
 msgstr ""
 
-#: ../utils/adt/float.c:809
+#: ../utils/adt/float.c:805
 msgid "dtoi4: integer out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:826
+#: ../utils/adt/float.c:822
 msgid "dtoi2: integer out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:871
+#: ../utils/adt/float.c:867
 msgid "ftoi4: integer out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:888
+#: ../utils/adt/float.c:884
 msgid "ftoi2: integer out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1078
+#: ../utils/adt/float.c:1074
 msgid "can't take sqrt of a negative number"
 msgstr ""
 
-#: ../utils/adt/float.c:1122
+#: ../utils/adt/float.c:1118
 msgid "pow() result is out of range"
 msgstr "pow() µÄ½á¹û³¬³ö·¶Î§"
 
-#: ../utils/adt/float.c:1150
+#: ../utils/adt/float.c:1146
 msgid "exp() result is out of range"
 msgstr "exp() µÄ½á¹û³¬³ö·¶Î§"
 
-#: ../utils/adt/float.c:1168 ../utils/adt/float.c:1189
+#: ../utils/adt/float.c:1164 ../utils/adt/float.c:1185
 msgid "can't take log of zero"
 msgstr ""
 
-#: ../utils/adt/float.c:1170 ../utils/adt/float.c:1191
+#: ../utils/adt/float.c:1166 ../utils/adt/float.c:1187
 msgid "can't take log of a negative number"
 msgstr ""
 
-#: ../utils/adt/float.c:1216
+#: ../utils/adt/float.c:1212
 #, c-format
 msgid "acos(%f) input is out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1239
+#: ../utils/adt/float.c:1235
 #, c-format
 msgid "asin(%f) input is out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1262
+#: ../utils/adt/float.c:1258
 #, c-format
 msgid "atan(%f) input is out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1286
+#: ../utils/adt/float.c:1282
 #, c-format
 msgid "atan2(%f,%f) input is out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1309
+#: ../utils/adt/float.c:1305
 #, c-format
 msgid "cos(%f) input is out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1332
+#: ../utils/adt/float.c:1328
 #, c-format
 msgid "cot(%f) input is out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1356
+#: ../utils/adt/float.c:1352
 #, c-format
 msgid "sin(%f) input is out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1379
+#: ../utils/adt/float.c:1375
 #, c-format
 msgid "tan(%f) input is out of range"
 msgstr ""
 
-#: ../utils/adt/float.c:1491
+#: ../utils/adt/float.c:1486
 #, c-format
 msgid "%s: expected 3-element float8 array"
 msgstr ""
 
-#: ../utils/adt/float.c:1686
+#: ../utils/adt/float.c:1681
 msgid "float48div: divide by zero"
 msgstr ""
 
-#: ../utils/adt/float.c:1746
+#: ../utils/adt/float.c:1741
 msgid "float84div: divide by zero"
 msgstr ""
 
-#: ../utils/adt/cash.c:210
+#: ../utils/adt/cash.c:209
 #, c-format
 msgid "Bad money external representation %s"
 msgstr ""
 
-#: ../utils/adt/cash.c:320 ../utils/adt/cash.c:333
+#: ../utils/adt/cash.c:318 ../utils/adt/cash.c:331
 msgid "Memory allocation failed, can't output cash"
 msgstr ""
 
-#: ../utils/adt/cash.c:473 ../utils/adt/cash.c:523
+#: ../utils/adt/cash.c:471 ../utils/adt/cash.c:521
 msgid "cash_div:  divide by 0.0 error"
 msgstr ""
 
-#: ../utils/adt/cash.c:574
+#: ../utils/adt/cash.c:572
 msgid "cash_div_int4: divide by 0 error"
 msgstr ""
 
-#: ../utils/adt/cash.c:624
+#: ../utils/adt/cash.c:622
 msgid "cash_div:  divide by 0 error"
 msgstr ""
 
@@ -2386,8 +2400,8 @@ msgstr ""
 msgid "Unrecognized date external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/date.c:256 ../utils/adt/date.c:325 ../utils/adt/date.c:749
-#: ../utils/adt/date.c:1375
+#: ../utils/adt/date.c:256 ../utils/adt/date.c:325 ../utils/adt/date.c:747
+#: ../utils/adt/date.c:1371
 msgid "Unable to convert timestamp to date"
 msgstr ""
 
@@ -2403,38 +2417,52 @@ msgstr ""
 msgid "Bad date external representation (too long)"
 msgstr ""
 
-#: ../utils/adt/date.c:446 ../utils/adt/date.c:957
+#: ../utils/adt/date.c:447 ../utils/adt/date.c:956
 #, c-format
 msgid "Bad time external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/date.c:917
+#: ../utils/adt/date.c:915
 msgid "Bad time external representation (too long)"
 msgstr ""
 
-#: ../utils/adt/date.c:1447
+#: ../utils/adt/date.c:1443
 msgid "Bad timetz external representation (too long)"
 msgstr ""
 
-#: ../utils/adt/int8.c:77 ../utils/adt/int8.c:87
+#: ../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
 #, c-format
 msgid "Bad int8 external representation \"%s\""
 msgstr ""
 
-#: ../utils/adt/int8.c:83
+#: ../utils/adt/int8.c:104
 #, c-format
 msgid "int8 value out of range: \"%s\""
 msgstr ""
 
-#: ../utils/adt/int8.c:106
+#: ../utils/adt/int8.c:127
 msgid "Unable to format int8"
 msgstr ""
 
-#: ../utils/adt/int8.c:695
+#: ../utils/adt/int8.c:716
 msgid "int8 conversion to int4 is out of range"
 msgstr ""
 
-#: ../utils/adt/int8.c:731
+#: ../utils/adt/int8.c:739
+msgid "int8 conversion to int2 is out of range"
+msgstr ""
+
+#: ../utils/adt/int8.c:775
 msgid "Floating point conversion to int8 is out of range"
 msgstr ""
 
@@ -2447,78 +2475,78 @@ msgstr ""
 msgid "Bad box external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:825
+#: ../utils/adt/geo_ops.c:824
 #, c-format
 msgid "Bad line external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:830 ../utils/adt/geo_ops.c:894
+#: ../utils/adt/geo_ops.c:829 ../utils/adt/geo_ops.c:892
 msgid "line not yet implemented"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:1221 ../utils/adt/geo_ops.c:1242
+#: ../utils/adt/geo_ops.c:1219 ../utils/adt/geo_ops.c:1240
 #, c-format
 msgid "Bad path external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:1499
+#: ../utils/adt/geo_ops.c:1556
 #, c-format
 msgid "Bad point external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:1695
+#: ../utils/adt/geo_ops.c:1752
 #, c-format
 msgid "Bad lseg external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:2240
+#: ../utils/adt/geo_ops.c:2312
 msgid "dist_lb not implemented"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:2763
+#: ../utils/adt/geo_ops.c:2834
 msgid "close_lb not implemented"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:3042
+#: ../utils/adt/geo_ops.c:3111
 msgid "Unable to create bounding box for empty polygon"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:3064 ../utils/adt/geo_ops.c:3075
+#: ../utils/adt/geo_ops.c:3133 ../utils/adt/geo_ops.c:3144
 #, c-format
 msgid "Bad polygon external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:3364
+#: ../utils/adt/geo_ops.c:3432
 msgid "poly_distance not implemented"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:3443
+#: ../utils/adt/geo_ops.c:3511
 msgid "point_div:  divide by 0.0 error"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:3671
+#: ../utils/adt/geo_ops.c:3738
 msgid "path_center not implemented"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:3686
+#: ../utils/adt/geo_ops.c:3753
 msgid "Open path cannot be converted to polygon"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:3852 ../utils/adt/geo_ops.c:3860
-#: ../utils/adt/geo_ops.c:3873 ../utils/adt/geo_ops.c:3877
+#: ../utils/adt/geo_ops.c:3919 ../utils/adt/geo_ops.c:3927
+#: ../utils/adt/geo_ops.c:3940 ../utils/adt/geo_ops.c:3944
 #, c-format
 msgid "Bad circle external representation '%s'"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:3897 ../utils/adt/geo_ops.c:3903
+#: ../utils/adt/geo_ops.c:3964 ../utils/adt/geo_ops.c:3970
 msgid "Unable to format circle"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:4383
+#: ../utils/adt/geo_ops.c:4450
 msgid "Unable to convert circle to polygon"
 msgstr ""
 
-#: ../utils/adt/geo_ops.c:4417 ../utils/adt/geo_ops.c:4438
+#: ../utils/adt/geo_ops.c:4484 ../utils/adt/geo_ops.c:4505
 msgid "Unable to convert polygon to circle"
 msgstr ""
 
@@ -2532,15 +2560,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:471
+#: ../utils/adt/network.c:129 ../utils/adt/network.c:470
 #, c-format
 msgid "unable to print address (%s)"
 msgstr ""
 
-#: ../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
+#: ../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
 #, c-format
 msgid "unknown address family (%d)"
 msgstr ""
@@ -2550,19 +2578,19 @@ msgstr ""
 msgid "set_masklen - invalid value '%d'"
 msgstr ""
 
-#: ../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
+#: ../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
 #, c-format
 msgid "cannot compare address families %d and %d"
 msgstr "ÎÞ·¨±È½ÏµØÖ·×å %d ºÍ %d"
 
-#: ../utils/adt/network.c:400 ../utils/adt/network.c:431
+#: ../utils/adt/network.c:399 ../utils/adt/network.c:430
 #, c-format
 msgid "unable to print host (%s)"
 msgstr ""
 
-#: ../utils/adt/network.c:658
+#: ../utils/adt/network.c:657
 #, c-format
 msgid "convert_network_to_scalar: unsupported type %u"
 msgstr ""
@@ -2572,75 +2600,75 @@ msgstr ""
 msgid "SetDefine: unable to define set %s"
 msgstr ""
 
-#: ../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
+#: ../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
 msgid "Set-valued function called in context that cannot accept a set"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:820
+#: ../utils/adt/selfuncs.c:842
 #, c-format
 msgid "patternsel: no = operator for type %u"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:1004 ../utils/adt/selfuncs.c:1081
-#: ../utils/adt/selfuncs.c:1121 ../utils/adt/selfuncs.c:1151
+#: ../utils/adt/selfuncs.c:1026 ../utils/adt/selfuncs.c:1103
+#: ../utils/adt/selfuncs.c:1144 ../utils/adt/selfuncs.c:1174
 #, c-format
 msgid "booltestsel: unexpected booltesttype %d"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:1192 ../utils/adt/selfuncs.c:1247
+#: ../utils/adt/selfuncs.c:1215 ../utils/adt/selfuncs.c:1272
 #, c-format
 msgid "nulltestsel: unexpected nulltesttype %d"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:1808
+#: ../utils/adt/selfuncs.c:1844
 #, c-format
 msgid "convert_numeric_to_scalar: unsupported type %u"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:1999
+#: ../utils/adt/selfuncs.c:2034
 #, c-format
 msgid "convert_string_datum: unsupported type %u"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:2170
+#: ../utils/adt/selfuncs.c:2205
 #, c-format
 msgid "convert_timevalue_to_scalar: unsupported type %u"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:2562
+#: ../utils/adt/selfuncs.c:2598
 msgid "pattern_fixed_prefix: bogus ptype"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:2591
+#: ../utils/adt/selfuncs.c:2627
 #, c-format
 msgid "prefix_selectivity: no >= operator for type %u"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:2614
+#: ../utils/adt/selfuncs.c:2650
 #, c-format
 msgid "prefix_selectivity: no < operator for type %u"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:2852
+#: ../utils/adt/selfuncs.c:2885
 msgid "pattern_selectivity: bogus ptype"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:2881
+#: ../utils/adt/selfuncs.c:2914
 msgid "Invalid LC_COLLATE setting"
 msgstr ""
 
-#: ../utils/adt/selfuncs.c:3004
+#: ../utils/adt/selfuncs.c:3037
 #, c-format
 msgid "string_lessthan: unexpected datatype %u"
 msgstr ""
 
-#: ../utils/adt/ascii.c:33 gram.y:3028 gram.y:3040
+#: ../utils/adt/ascii.c:33 gram.y:3084 gram.y:3096
 msgid "Multi-byte support is not enabled"
 msgstr ""
 
-#: ../utils/adt/ascii.c:110
+#: ../utils/adt/ascii.c:107
 #, c-format
 msgid "pg_to_ascii(): unsupported encoding from %s"
 msgstr ""
@@ -2686,98 +2714,98 @@ msgid ""
 "mon %d\n"
 msgstr ""
 
-#: ../utils/adt/formatting.c:982
+#: ../utils/adt/formatting.c:981
 msgid "to_char/to_number(): '9' must be ahead of 'PR'."
 msgstr ""
 
-#: ../utils/adt/formatting.c:999
+#: ../utils/adt/formatting.c:998
 msgid "to_char/to_number(): '0' must be ahead of 'PR'."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1026
+#: ../utils/adt/formatting.c:1025
 msgid "to_char/to_number(): not unique decimal point."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1031 ../utils/adt/formatting.c:1118
+#: ../utils/adt/formatting.c:1030 ../utils/adt/formatting.c:1117
 msgid "to_char/to_number(): can't use 'V' and decimal poin together."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1044
+#: ../utils/adt/formatting.c:1043
 msgid "to_char/to_number(): not unique 'S'."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1049
+#: ../utils/adt/formatting.c:1048
 msgid "to_char/to_number(): can't use 'S' and 'PL'/'MI'/'SG'/'PR' together."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1071
+#: ../utils/adt/formatting.c:1070
 msgid "to_char/to_number(): can't use 'S' and 'MI' together."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1080
+#: ../utils/adt/formatting.c:1079
 msgid "to_char/to_number(): can't use 'S' and 'PL' together."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1089
+#: ../utils/adt/formatting.c:1088
 msgid "to_char/to_number(): can't use 'S' and 'SG' together."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1099
+#: ../utils/adt/formatting.c:1098
 msgid "to_char/to_number(): can't use 'PR' and 'S'/'PL'/'MI'/'SG' together."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1125
+#: ../utils/adt/formatting.c:1124
 msgid "to_char/to_number(): 'E' is not supported."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1149
+#: ../utils/adt/formatting.c:1148
 msgid "to_char/number(): run parser."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1348
+#: ../utils/adt/formatting.c:1344
 msgid "to_from-char(): DUMP FORMAT"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1353
+#: ../utils/adt/formatting.c:1349
 #, c-format
 msgid "%d:\t NODE_TYPE_ACTION '%s'\t(%s,%s)"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1356
+#: ../utils/adt/formatting.c:1352
 #, c-format
 msgid "%d:\t NODE_TYPE_CHAR '%c'"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1359
+#: ../utils/adt/formatting.c:1355
 #, c-format
 msgid "%d:\t NODE_TYPE_END"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1363
+#: ../utils/adt/formatting.c:1359
 #, c-format
 msgid "%d:\t UnKnown NODE !!!"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1388
+#: ../utils/adt/formatting.c:1383
 #, c-format
 msgid "get_th: '%s' is not number."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1556
+#: ../utils/adt/formatting.c:1551
 msgid "TO-FROM_CHAR: Dump KeyWord Index:"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1562
+#: ../utils/adt/formatting.c:1557
 #, c-format
 msgid "\t%c: %s, "
 msgstr ""
 
-#: ../utils/adt/formatting.c:1568
+#: ../utils/adt/formatting.c:1563
 #, c-format
 msgid "\t(%d) %c %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1571
+#: ../utils/adt/formatting.c:1566
 #, c-format
 msgid ""
 "\n"
@@ -2785,133 +2813,133 @@ msgid ""
 "\t\tFree positions: %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1644
+#: ../utils/adt/formatting.c:1638
 msgid "to_timestamp(): bad AM/PM string"
 msgstr ""
 
-#: ../utils/adt/formatting.c:1971
+#: ../utils/adt/formatting.c:1974
 msgid "to_timestamp(): TZ/tz not supported."
 msgstr ""
 
-#: ../utils/adt/formatting.c:1979
+#: ../utils/adt/formatting.c:1982
 #, c-format
 msgid "to_timestamp(): bad value for %s"
 msgstr ""
 
-#: ../utils/adt/formatting.c:2585 ../utils/adt/formatting.c:3171
+#: ../utils/adt/formatting.c:2590 ../utils/adt/formatting.c:3182
 #, c-format
 msgid "Cache is full (%d)"
 msgstr ""
 
-#: ../utils/adt/formatting.c:2593 ../utils/adt/formatting.c:3189
+#: ../utils/adt/formatting.c:2598 ../utils/adt/formatting.c:3199
 #, c-format
 msgid "OLD: '%s' AGE: %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:2604 ../utils/adt/formatting.c:3201
+#: ../utils/adt/formatting.c:2609 ../utils/adt/formatting.c:3211
 #, c-format
 msgid "NEW (%d)"
 msgstr ""
 
-#: ../utils/adt/formatting.c:2766 ../utils/adt/formatting.c:2790
+#: ../utils/adt/formatting.c:2774 ../utils/adt/formatting.c:2800
 msgid "to_char(): Unable to convert timestamp to tm"
 msgstr ""
 
-#: ../utils/adt/formatting.c:2963
+#: ../utils/adt/formatting.c:2976
 msgid "to_timestamp(): AM/PM hour must be between 1 and 12"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3073
+#: ../utils/adt/formatting.c:3085
 msgid "to_timestamp() cat't convert yday without year information"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3101
+#: ../utils/adt/formatting.c:3113
 msgid "to_timestamp(): can't convert 'tm' to timestamp."
 msgstr ""
 
-#: ../utils/adt/formatting.c:3251
+#: ../utils/adt/formatting.c:3261
 #, c-format
 msgid "REMOVING ENTRY (%s)"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3485
+#: ../utils/adt/formatting.c:3493
 msgid "CALL: get_last_relevant_decnum()"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3510
+#: ../utils/adt/formatting.c:3518
 msgid " --- scan start --- "
 msgstr ""
 
-#: ../utils/adt/formatting.c:3531
+#: ../utils/adt/formatting.c:3539
 #, c-format
 msgid "Try read sign (%c)."
 msgstr ""
 
-#: ../utils/adt/formatting.c:3543
+#: ../utils/adt/formatting.c:3551
 #, c-format
 msgid "Try read locale sign (%c)."
 msgstr ""
 
-#: ../utils/adt/formatting.c:3562
+#: ../utils/adt/formatting.c:3570
 #, c-format
 msgid "Try read sipmle sign (%c)."
 msgstr ""
 
-#: ../utils/adt/formatting.c:3603
+#: ../utils/adt/formatting.c:3611
 #, c-format
 msgid "Read digit (%c)."
 msgstr ""
 
-#: ../utils/adt/formatting.c:3614
+#: ../utils/adt/formatting.c:3622
 #, c-format
 msgid "Try read decimal point (%c)."
 msgstr ""
 
-#: ../utils/adt/formatting.c:3629
+#: ../utils/adt/formatting.c:3637
 #, c-format
 msgid "Try read locale point (%c)."
 msgstr ""
 
-#: ../utils/adt/formatting.c:3662
+#: ../utils/adt/formatting.c:3670
 #, c-format
 msgid "SIGN_WROTE: %d, CURRENT: %d, NUMBER_P: '%s', INOUT: '%s'"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3677
+#: ../utils/adt/formatting.c:3685
 #, c-format
 msgid "Writing sign to position: %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3721
+#: ../utils/adt/formatting.c:3727
 #, c-format
 msgid "Writing bracket to position %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3744
+#: ../utils/adt/formatting.c:3749
 #, c-format
 msgid "Writing blank space to position %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3760
+#: ../utils/adt/formatting.c:3764
 #, c-format
 msgid "Writing zero to position %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3779
+#: ../utils/adt/formatting.c:3782
 #, c-format
 msgid "Writing decimal point to position %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3833
+#: ../utils/adt/formatting.c:3835
 #, c-format
 msgid "Writing digit '%c' to position %d"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3876
+#: ../utils/adt/formatting.c:3878
 msgid "to_number(): RN is not supported"
 msgstr ""
 
-#: ../utils/adt/formatting.c:3999
+#: ../utils/adt/formatting.c:4000
 #, c-format
 msgid ""
 "\n"
@@ -2928,7 +2956,7 @@ msgid ""
 "\tLAST_RELEVANT: %s"
 msgstr ""
 
-#: ../utils/adt/formatting.c:4261
+#: ../utils/adt/formatting.c:4259
 #, c-format
 msgid "TO_NUMBER (number): '%s'"
 msgstr ""
@@ -2960,32 +2988,32 @@ msgid ""
 "LC_MONETARY:\t%s\n"
 msgstr ""
 
-#: ../utils/adt/pg_locale.c:123
+#: ../utils/adt/pg_locale.c:122
 #, c-format
 msgid "pg_setlocale(): 'LC_COLLATE=%s' cannot be honored."
 msgstr ""
 
-#: ../utils/adt/pg_locale.c:127
+#: ../utils/adt/pg_locale.c:126
 #, c-format
 msgid "pg_setlocale(): 'LC_CTYPE=%s' cannot be honored."
 msgstr ""
 
-#: ../utils/adt/pg_locale.c:131
+#: ../utils/adt/pg_locale.c:130
 #, c-format
 msgid "pg_setlocale(): 'LC_NUMERIC=%s' cannot be honored."
 msgstr ""
 
-#: ../utils/adt/pg_locale.c:135
+#: ../utils/adt/pg_locale.c:134
 #, c-format
 msgid "pg_setlocale(): 'LC_TIME=%s' cannot be honored."
 msgstr ""
 
-#: ../utils/adt/pg_locale.c:139
+#: ../utils/adt/pg_locale.c:138
 #, c-format
 msgid "pg_setlocale(): 'LC_MONETARY=%s' cannot be honored."
 msgstr ""
 
-#: ../utils/adt/pg_locale.c:144
+#: ../utils/adt/pg_locale.c:143
 #, c-format
 msgid "pg_setlocale(): 'LC_MESSAGES=%s' cannot be honored."
 msgstr ""
@@ -3028,86 +3056,91 @@ msgstr ""
 msgid "array_in: illformed array constant"
 msgstr ""
 
-#: ../utils/adt/arrayfuncs.c:851
+#: ../utils/adt/arrayfuncs.c:849
 msgid "Slices of fixed-length arrays not implemented"
 msgstr ""
 
-#: ../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
+#: ../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
 msgid "Invalid array subscripts"
 msgstr ""
 
-#: ../utils/adt/arrayfuncs.c:1130
+#: ../utils/adt/arrayfuncs.c:1126
 msgid "Updates on slices of fixed-length arrays not implemented"
 msgstr ""
 
-#: ../utils/adt/arrayfuncs.c:1183
+#: ../utils/adt/arrayfuncs.c:1179
 msgid "Source array too small"
 msgstr ""
 
-#: ../utils/adt/arrayfuncs.c:1314
+#: ../utils/adt/arrayfuncs.c:1307
 #, c-format
 msgid "array_map: invalid nargs: %d"
 msgstr ""
 
-#: ../utils/adt/arrayfuncs.c:1316
+#: ../utils/adt/arrayfuncs.c:1309
 msgid "array_map: null input array"
 msgstr ""
 
-#: ../utils/adt/arrayfuncs.c:1360
+#: ../utils/adt/arrayfuncs.c:1353
 msgid "array_map: cannot handle NULL in array"
 msgstr ""
 
-#: ../utils/adt/arrayfuncs.c:1538
+#: ../utils/adt/arrayfuncs.c:1531
 #, c-format
 msgid "array_out: Cache lookup failed for type %u"
 msgstr ""
 
-#: ../utils/adt/format_type.c:126 ../utils/adt/format_type.c:143
+#: ../utils/adt/format_type.c:141 ../utils/adt/format_type.c:159
 #, c-format
 msgid "could not locate data type with oid %u in catalog"
 msgstr ""
 
-#: ../utils/adt/varbit.c:103 ../utils/adt/varbit.c:219
+#: ../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
 #, c-format
 msgid "bit string length does not match type bit(%d)"
 msgstr ""
 
-#: ../utils/adt/varbit.c:124 ../utils/adt/varbit.c:332
+#: ../utils/adt/varbit.c:122 ../utils/adt/varbit.c:329
 #, c-format
 msgid "cannot parse %c as a binary digit"
 msgstr ""
 
-#: ../utils/adt/varbit.c:145 ../utils/adt/varbit.c:353
+#: ../utils/adt/varbit.c:143 ../utils/adt/varbit.c:350
 #, c-format
 msgid "cannot parse %c as a hex digit"
 msgstr ""
 
-#: ../utils/adt/varbit.c:311 ../utils/adt/varbit.c:426
+#: ../utils/adt/varbit.c:308 ../utils/adt/varbit.c:423
 #, c-format
 msgid "bit string too long for type bit varying(%d)"
 msgstr ""
 
-#: ../utils/adt/varbit.c:819
+#: ../utils/adt/varbit.c:815
 msgid "cannot AND bit strings of different sizes"
 msgstr ""
 
-#: ../utils/adt/varbit.c:857
+#: ../utils/adt/varbit.c:853
 msgid "cannot OR bit strings of different sizes"
 msgstr ""
 
-#: ../utils/adt/varbit.c:901
+#: ../utils/adt/varbit.c:897
 msgid "cannot XOR bit strings of different sizes"
 msgstr ""
 
-#: ../utils/adt/varbit.c:1116
+#: ../utils/adt/varbit.c:1112
 msgid "bit string is too large to fit in type integer"
 msgstr ""
 
-#: ../utils/adt/varbit.c:1204
+#: ../utils/adt/varbit.c:1200
 #, c-format
 msgid "S. %d %d em=%2x sm=%2x r=%d"
 msgstr ""
@@ -3122,7 +3155,7 @@ msgstr ""
 msgid "No function memory context in set-function"
 msgstr ""
 
-#: ../utils/adt/regexp.c:144
+#: ../utils/adt/regexp.c:143
 #, c-format
 msgid "Invalid regular expression: %s"
 msgstr ""
@@ -3195,56 +3228,56 @@ msgstr ""
 msgid "fmgr_info: function %u: cache lookup failed"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:205
+#: ../utils/fmgr/fmgr.c:206
 #, c-format
 msgid "fmgr_info: function %s not in internal table"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:252
+#: ../utils/fmgr/fmgr.c:253
 #, c-format
 msgid "fmgr: Could not extract prosrc for %u from pg_proc"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:259
+#: ../utils/fmgr/fmgr.c:260
 #, c-format
 msgid "fmgr: Could not extract probin for %u from pg_proc"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:292
+#: ../utils/fmgr/fmgr.c:293
 #, c-format
 msgid "Unknown function API version %d"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:317
+#: ../utils/fmgr/fmgr.c:318
 #, c-format
 msgid "fmgr_info: cache lookup for language %u failed"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:333
+#: ../utils/fmgr/fmgr.c:334
 #, c-format
 msgid "fmgr_info: language %u has old-style handler"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:338
+#: ../utils/fmgr/fmgr.c:339
 #, c-format
 msgid "fmgr_info: function %u: unsupported language %u"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:386
+#: ../utils/fmgr/fmgr.c:387
 #, c-format
 msgid "Null result from %s"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:394
+#: ../utils/fmgr/fmgr.c:395
 #, c-format
 msgid "Unknown version %d reported by %s"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:462
+#: ../utils/fmgr/fmgr.c:463
 msgid "Internal error: fmgr_oldstyle received NULL pointer"
 msgstr ""
 
-#: ../utils/fmgr/fmgr.c:611
+#: ../utils/fmgr/fmgr.c:612
 #, c-format
 msgid "fmgr_oldstyle: function %u: too many arguments (%d > %d)"
 msgstr ""
@@ -3408,64 +3441,52 @@ msgstr ""
 msgid "Hash table '%s' corrupted"
 msgstr ""
 
-#: ../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
+#: ../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
 #: guc-file.l:148 guc-file.l:267 guc-file.l:308
 msgid "out of memory"
 msgstr "ÄÚ´æÓþ¡"
 
-#: ../utils/init/miscinit.c:150
+#: ../utils/init/miscinit.c:149
 #, c-format
 msgid "cannot get current working directory: %m"
 msgstr ""
 
-#: ../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
+#: ../utils/init/miscinit.c:209 ../utils/init/miscinit.c:216
 msgid ""
 "convert is not supported. To use convert, you need to enable multibyte "
 "capability"
 msgstr ""
 
-#: ../utils/cache/lsyscache.c:1096 ../utils/init/miscinit.c:469
+#: ../utils/cache/lsyscache.c:1103 ../utils/init/miscinit.c:461
 #, c-format
 msgid "user \"%s\" does not exist"
 msgstr ""
 
-#: ../utils/init/miscinit.c:523
+#: ../utils/init/miscinit.c:516
 #, c-format
 msgid "invalid user id %u"
 msgstr "·Ç·¨Óû§ id %u"
 
-#: ../utils/init/miscinit.c:606
+#: ../utils/init/miscinit.c:598
 #, c-format
 msgid "Can't create lock file %s: %m"
 msgstr "ÎÞ·¨´´½¨ËøÎļþ %s: %m"
 
-#: ../utils/init/miscinit.c:617 ../utils/init/miscinit.c:620
+#: ../utils/init/miscinit.c:609 ../utils/init/miscinit.c:612
 #, c-format
 msgid "Can't read lock file %s: %m"
 msgstr "ÎÞ·¨¶ÁÈ¡ËøÎļþ %s: %m"
 
-#: ../utils/init/miscinit.c:630
+#: ../utils/init/miscinit.c:622
 #, c-format
 msgid "Bogus data in lock file %s"
 msgstr ""
 
-#: ../utils/init/miscinit.c:705
+#: ../utils/init/miscinit.c:697
 #, c-format
 msgid ""
 "Can't remove old lock file %s: %m\n"
@@ -3473,53 +3494,48 @@ msgid ""
 "\tPlease remove the file by hand and try again."
 msgstr ""
 
-#: ../utils/init/miscinit.c:726
+#: ../utils/init/miscinit.c:718
 #, c-format
 msgid "Can't write lock file %s: %m"
 msgstr "ÎÞ·¨Ð´ÈëËøÎļþ %s: %m"
 
-#: ../utils/init/miscinit.c:817
+#: ../utils/init/miscinit.c:809
 #, c-format
 msgid "Failed to rewrite %s: %m"
 msgstr "ÖØд %s Ê§°Ü: %m"
 
-#: ../utils/init/miscinit.c:823
+#: ../utils/init/miscinit.c:815
 #, c-format
 msgid "Failed to read %s: %m"
 msgstr "¶ÁÈ¡ %s Ê§°Ü: %m"
 
-#: ../utils/init/miscinit.c:836
+#: ../utils/init/miscinit.c:828
 #, c-format
 msgid "Bogus data in %s"
 msgstr ""
 
-#: ../utils/init/miscinit.c:861
+#: ../utils/init/miscinit.c:853
 #, c-format
 msgid "Failed to write %s: %m"
 msgstr "дÈë %s Ê§°Ü: %m"
 
-#: ../utils/init/miscinit.c:903
+#: ../utils/init/miscinit.c:895
 #, c-format
 msgid "File %s is missing. This is not a valid data directory."
 msgstr ""
 
-#: ../storage/smgr/smgr.c:271 ../utils/init/miscinit.c:905
-#: ../utils/misc/database.c:150
+#: ../storage/smgr/smgr.c:269 ../utils/init/miscinit.c:897
+#: ../utils/misc/database.c:149
 #, c-format
 msgid "cannot open %s: %m"
 msgstr "ÎÞ·¨´ò¿ª %s: %m"
 
-#: ../utils/init/miscinit.c:910
+#: ../utils/init/miscinit.c:902
 #, c-format
-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."
+msgid "File %s does not contain valid data. You need to initdb."
 msgstr ""
 
-#: ../utils/init/miscinit.c:917
+#: ../utils/init/miscinit.c:907
 #, c-format
 msgid ""
 "The data directory was initialized by PostgreSQL version %ld.%ld, which is "
@@ -3544,40 +3560,33 @@ msgid ""
 "\tlooks like you need to initdb or recompile."
 msgstr ""
 
-#: ../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
+#: ../utils/init/postinit.c:238
 #, c-format
 msgid "Database \"%s\" does not exist in the system catalog."
 msgstr ""
 
-#: ../utils/init/postinit.c:249
+#: ../utils/init/postinit.c:246
 #, c-format
 msgid ""
 "Database \"%s\" does not exist.\n"
 "\tThe database subdirectory '%s' is missing."
 msgstr ""
 
-#: ../utils/init/postinit.c:256
+#: ../utils/init/postinit.c:253
 #, c-format
 msgid "Unable to change directory to '%s': %m"
 msgstr ""
 
-#: ../utils/init/postinit.c:285
+#: ../utils/init/postinit.c:282
 #, c-format
 msgid "InitPostgres: bad backend id %d"
 msgstr ""
 
-#: ../utils/init/postinit.c:340
+#: ../utils/init/postinit.c:330
 msgid "There are currently no users defined in this database system."
 msgstr ""
 
-#: ../utils/init/postinit.c:341
+#: ../utils/init/postinit.c:331
 #, c-format
 msgid ""
 "You should immediately run 'CREATE USER \"%s\" WITH SYSID %d CREATEUSER;'."
@@ -3597,161 +3606,161 @@ msgstr ""
 msgid ":%u: syntax error, token=\"%s\""
 msgstr ""
 
-#: ../commands/vacuum.c:582 ../utils/misc/superuser.c:73
+#: ../commands/vacuum.c:584 ../utils/misc/superuser.c:73
 #, c-format
 msgid "database %u does not exist"
 msgstr ""
 
-#: ../utils/misc/guc.c:698
+#: ../utils/misc/guc.c:884
 #, c-format
 msgid "'%s' is not a valid option name"
 msgstr ""
 
-#: ../utils/misc/guc.c:713
+#: ../utils/misc/guc.c:899
 #, c-format
 msgid "'%s' cannot be changed after server start"
 msgstr ""
 
-#: ../utils/misc/guc.c:717
+#: ../utils/misc/guc.c:903
 #, c-format
 msgid "'%s' cannot be changed now"
 msgstr ""
 
-#: ../utils/misc/guc.c:740
+#: ../utils/misc/guc.c:927
 #, c-format
 msgid "'%s' cannot be set after connection start"
 msgstr ""
 
-#: ../utils/misc/guc.c:766
+#: ../utils/misc/guc.c:953
 #, c-format
 msgid "option '%s' requires a boolean value"
 msgstr ""
 
-#: ../utils/misc/guc.c:798
+#: ../utils/misc/guc.c:985
 #, c-format
 msgid "option '%s' expects an integer value"
 msgstr ""
 
-#: ../utils/misc/guc.c:803
+#: ../utils/misc/guc.c:990
 #, c-format
 msgid "option '%s' value %d is outside of permissible range [%d .. %d]"
 msgstr ""
 
-#: ../utils/misc/guc.c:810
+#: ../utils/misc/guc.c:997
 #, c-format
 msgid "invalid value for option '%s': %d"
 msgstr ""
 
-#: ../utils/misc/guc.c:842
+#: ../utils/misc/guc.c:1029
 #, c-format
 msgid "option '%s' expects a real number"
 msgstr ""
 
-#: ../utils/misc/guc.c:847
+#: ../utils/misc/guc.c:1034
 #, c-format
 msgid "option '%s' value %g is outside of permissible range [%g .. %g]"
 msgstr ""
 
-#: ../utils/misc/guc.c:854
+#: ../utils/misc/guc.c:1041
 #, c-format
 msgid "invalid value for option '%s': %g"
 msgstr ""
 
-#: ../utils/misc/guc.c:884
+#: ../utils/misc/guc.c:1071
 #, c-format
 msgid "invalid value for option '%s': '%s'"
 msgstr ""
 
-#: ../utils/misc/guc.c:982
+#: ../utils/misc/guc.c:1170
 #, c-format
 msgid "Option '%s' is not recognized"
 msgstr ""
 
-#: ../commands/variable.c:692 ../utils/misc/guc.c:1040
+#: ../commands/variable.c:817 ../utils/misc/guc.c:1228
 #, c-format
 msgid "%s is %s"
 msgstr ""
 
-#: ../utils/misc/guc.c:1157
+#: ../utils/misc/guc.c:1344
 msgid "bogus transaction isolation level"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:332
+#: ../utils/mmgr/aset.c:331
 #, c-format
 msgid "Memory exhausted in AllocSetContextCreate(%lu)"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:495 ../utils/mmgr/aset.c:693
+#: ../utils/mmgr/aset.c:493 ../utils/mmgr/aset.c:690
 #, c-format
 msgid "Memory exhausted in AllocSetAlloc(%lu)"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:742
+#: ../utils/mmgr/aset.c:739
 #, c-format
 msgid "AllocSetFree: detected write past chunk end in %s %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:764
+#: ../utils/mmgr/aset.c:760
 #, c-format
 msgid "AllocSetFree: cannot find block containing chunk %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:818
+#: ../utils/mmgr/aset.c:814
 #, c-format
 msgid "AllocSetRealloc: detected write past chunk end in %s %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:859
+#: ../utils/mmgr/aset.c:854
 #, c-format
 msgid "AllocSetRealloc: cannot find block containing chunk %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:872
+#: ../utils/mmgr/aset.c:867
 #, c-format
 msgid "Memory exhausted in AllocSetReAlloc(%lu)"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:1030
+#: ../utils/mmgr/aset.c:1024
 #, c-format
 msgid "AllocSetCheck: %s: empty block %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:1052
+#: ../utils/mmgr/aset.c:1046
 #, c-format
 msgid "AllocSetCheck: %s: req size > alloc size for chunk %p in block %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:1055
+#: ../utils/mmgr/aset.c:1049
 #, c-format
 msgid "AllocSetCheck: %s: bad size %lu for chunk %p in block %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:1061
+#: ../utils/mmgr/aset.c:1055
 #, c-format
 msgid "AllocSetCheck: %s: bad single-chunk %p in block %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:1070
+#: ../utils/mmgr/aset.c:1064
 #, c-format
 msgid "AllocSetCheck: %s: bogus aset link in block %p, chunk %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:1077
+#: ../utils/mmgr/aset.c:1071
 #, c-format
 msgid "AllocSetCheck: %s: detected write past chunk end in block %p, chunk %p"
 msgstr ""
 
-#: ../utils/mmgr/aset.c:1087
+#: ../utils/mmgr/aset.c:1081
 #, c-format
 msgid "AllocSetCheck: %s: found inconsistent memory block %p"
 msgstr ""
 
-#: ../utils/mmgr/mcxt.c:418
+#: ../utils/mmgr/mcxt.c:417
 #, c-format
 msgid "MemoryContextAlloc: invalid request size %lu"
 msgstr ""
 
-#: ../utils/mmgr/mcxt.c:478
+#: ../utils/mmgr/mcxt.c:477
 #, c-format
 msgid "repalloc: invalid request size %lu"
 msgstr ""
@@ -3773,118 +3782,118 @@ msgstr ""
 msgid "CreatePortal: portal \"%s\" already exists"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:722
+#: ../utils/sort/tuplesort.c:723
 msgid "tuplesort_puttuple: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:769
+#: ../utils/sort/tuplesort.c:770
 msgid "tuplesort_performsort: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:890 ../utils/sort/tuplesort.c:905
+#: ../utils/sort/tuplesort.c:888 ../utils/sort/tuplesort.c:903
 msgid "tuplesort_gettuple: bogus tuple len in backward scan"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:958
+#: ../utils/sort/tuplesort.c:955
 msgid "tuplesort_gettuple: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:1519
+#: ../utils/sort/tuplesort.c:1515
 msgid "tuplesort_rescan: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:1546
+#: ../utils/sort/tuplesort.c:1542
 msgid "tuplesort_markpos: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:1571
+#: ../utils/sort/tuplesort.c:1567
 msgid "tuplesort_restorepos failed"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:1575
+#: ../utils/sort/tuplesort.c:1571
 msgid "tuplesort_restorepos: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:1694
+#: ../utils/sort/tuplesort.c:1690
 msgid "tuplesort: unexpected end of tape"
 msgstr ""
 
-#: ../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
+#: ../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
 msgid "tuplesort: unexpected end of data"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:1890
+#: ../utils/sort/tuplesort.c:1891
 msgid "Cannot create unique index. Table contains non-unique values"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:1974
+#: ../utils/sort/tuplesort.c:1975
 msgid "copytup_datum() should not be called"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:2128
+#: ../utils/sort/tuplesort.c:2131
 #, c-format
 msgid "SelectSortFunction: cache lookup failed for operator %u"
 msgstr ""
 
-#: ../utils/sort/tuplesort.c:2209
+#: ../utils/sort/tuplesort.c:2212
 #, c-format
 msgid "Invalid SortFunctionKind %d"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:314
+#: ../utils/sort/tuplestore.c:313
 msgid "tuplestore_puttuple: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:350
+#: ../utils/sort/tuplestore.c:349
 msgid "tuplestore_donestoring: seek(0) failed"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:358
+#: ../utils/sort/tuplestore.c:357
 msgid "tuplestore_donestoring: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:479 ../utils/sort/tuplestore.c:494
+#: ../utils/sort/tuplestore.c:475 ../utils/sort/tuplestore.c:490
 msgid "tuplestore_gettuple: bogus tuple len in backward scan"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:499
+#: ../utils/sort/tuplestore.c:495
 msgid "tuplestore_gettuple: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:535
+#: ../utils/sort/tuplestore.c:531
 msgid "tuplestore_rescan: seek(0) failed"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:542
+#: ../utils/sort/tuplestore.c:538
 msgid "tuplestore_rescan: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:568
+#: ../utils/sort/tuplestore.c:564
 msgid "tuplestore_markpos: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:593
+#: ../utils/sort/tuplestore.c:589
 msgid "tuplestore_restorepos failed"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:597
+#: ../utils/sort/tuplestore.c:593
 msgid "tuplestore_restorepos: invalid state"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:613
+#: ../utils/sort/tuplestore.c:609
 msgid "tuplestore: unexpected end of tape"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:615 ../utils/sort/tuplestore.c:683
-#: ../utils/sort/tuplestore.c:687
+#: ../utils/sort/tuplestore.c:611 ../utils/sort/tuplestore.c:679
+#: ../utils/sort/tuplestore.c:683
 msgid "tuplestore: unexpected end of data"
 msgstr ""
 
-#: ../utils/sort/tuplestore.c:625 ../utils/sort/tuplestore.c:655
-#: ../utils/sort/tuplestore.c:658 ../utils/sort/tuplestore.c:662
+#: ../utils/sort/tuplestore.c:621 ../utils/sort/tuplestore.c:651
+#: ../utils/sort/tuplestore.c:654 ../utils/sort/tuplestore.c:658
 msgid "tuplestore: write failed"
 msgstr ""
 
@@ -3900,15 +3909,15 @@ msgstr ""
 msgid "ltsReadBlock: failed to read block %ld of temporary file"
 msgstr ""
 
-#: ../utils/sort/logtape.c:572
+#: ../utils/sort/logtape.c:569
 msgid "LogicalTapeWrite: impossible state"
 msgstr ""
 
-#: ../utils/sort/logtape.c:837
+#: ../utils/sort/logtape.c:831
 msgid "LogicalTapeBackspace: unexpected end of tape"
 msgstr ""
 
-#: ../utils/sort/logtape.c:894 ../utils/sort/logtape.c:904
+#: ../utils/sort/logtape.c:888 ../utils/sort/logtape.c:898
 msgid "LogicalTapeSeek: unexpected end of tape"
 msgstr ""
 
@@ -3991,18 +4000,18 @@ msgstr ""
 msgid "Operator OID %u does not exist"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:1404 ../utils/cache/lsyscache.c:536
+#: ../optimizer/util/clauses.c:1445 ../utils/cache/lsyscache.c:536
 #: ../utils/cache/lsyscache.c:557
 #, c-format
 msgid "Function OID %u does not exist"
 msgstr ""
 
-#: ../utils/cache/lsyscache.c:698
+#: ../utils/cache/lsyscache.c:697
 #, c-format
 msgid "cache lookup failed for type %u"
 msgstr ""
 
-#: ../utils/cache/lsyscache.c:773
+#: ../utils/cache/lsyscache.c:771
 #, c-format
 msgid "get_typdefault: failed to lookup type %u"
 msgstr ""
@@ -4011,25 +4020,25 @@ msgstr ""
 msgid "get_attstatsslot: stavalues is null"
 msgstr ""
 
-#: ../utils/cache/lsyscache.c:995
+#: ../utils/cache/lsyscache.c:998
 #, c-format
 msgid "get_attstatsslot: Cache lookup failed for type %u"
 msgstr ""
 
-#: ../utils/cache/lsyscache.c:1029
+#: ../utils/cache/lsyscache.c:1034
 msgid "get_attstatsslot: stanumbers is null"
 msgstr ""
 
-#: ../utils/cache/lsyscache.c:1039
+#: ../utils/cache/lsyscache.c:1045
 msgid "get_attstatsslot: stanumbers is bogus"
 msgstr ""
 
-#: ../utils/cache/syscache.c:406
+#: ../utils/cache/syscache.c:407
 #, c-format
 msgid "InitCatalogCache: Can't init cache %s (%d)"
 msgstr ""
 
-#: ../utils/cache/syscache.c:438
+#: ../utils/cache/syscache.c:439
 #, c-format
 msgid "SearchSysCache: Bad cache id %d"
 msgstr ""
@@ -4054,224 +4063,223 @@ msgstr ""
 msgid "trying to delete a reldesc that does not exist."
 msgstr ""
 
-#: ../utils/cache/relcache.c:318 ../utils/cache/relcache.c:384
+#: ../utils/cache/relcache.c:316 ../utils/cache/relcache.c:381
 msgid "ScanPgRelation: bad buildinfo"
 msgstr ""
 
-#: ../utils/cache/relcache.c:596
+#: ../utils/cache/relcache.c:592
 #, c-format
 msgid "catalog is missing %d attribute%s for relid %u"
 msgstr ""
 
-#: ../utils/cache/relcache.c:667
+#: ../utils/cache/relcache.c:662
 #, c-format
 msgid "cannot find attribute %d of relation %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:1072
+#: ../utils/cache/relcache.c:1067
 #, c-format
 msgid "RelationBuildDesc: can't open %s: %m"
 msgstr ""
 
-#: ../utils/cache/relcache.c:1310
+#: ../utils/cache/relcache.c:1306
 #, c-format
 msgid "fixrdesc: no pg_class entry for %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:1319
+#: ../utils/cache/relcache.c:1315
 #, c-format
 msgid "fixrdesc: no existing relcache entry for %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:1551
+#: ../utils/cache/relcache.c:1547
 #, c-format
 msgid "RelationReloadClassinfo system relation id=%d doesn't exist"
 msgstr ""
 
-#: ../utils/cache/relcache.c:1680
+#: ../utils/cache/relcache.c:1674
 #, c-format
 msgid "RelationClearRelation: relation %u deleted while still in use"
 msgstr ""
 
-#: ../utils/cache/relcache.c:1783
+#: ../utils/cache/relcache.c:1775
 #, c-format
 msgid "Local relation %s not found in list"
 msgstr ""
 
-#: ../utils/cache/relcache.c:1831
+#: ../utils/cache/relcache.c:1823
 msgid "inval call to RFI"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2308
+#: ../utils/cache/relcache.c:2298
 #, c-format
 msgid "AttrDefaultFetch: second record found for attr %s in rel %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2316
+#: ../utils/cache/relcache.c:2306
 #, c-format
 msgid "AttrDefaultFetch: adbin IS NULL for attr %s in rel %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2329
+#: ../utils/cache/relcache.c:2319
 #, c-format
 msgid "AttrDefaultFetch: unexpected record found for attr %d in rel %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2335
+#: ../utils/cache/relcache.c:2325
 #, c-format
 msgid "AttrDefaultFetch: %d record not found for rel %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2409
+#: ../utils/cache/relcache.c:2399
 #, c-format
 msgid "RelCheckFetch: unexpected record found for rel %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2416
+#: ../utils/cache/relcache.c:2406
 #, c-format
 msgid "RelCheckFetch: rcname IS NULL for rel %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2424
+#: ../utils/cache/relcache.c:2414
 #, c-format
 msgid "RelCheckFetch: rcbin IS NULL for rel %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2435
+#: ../utils/cache/relcache.c:2425
 #, c-format
 msgid "RelCheckFetch: %d record not found for rel %s"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2856
+#: ../utils/cache/relcache.c:2845
 #, c-format
 msgid ""
 "Cannot create init file %s: %m\n"
 "\tContinuing anyway, but there's something wrong."
 msgstr ""
 
-#: ../utils/cache/relcache.c:2925
+#: ../utils/cache/relcache.c:2914
 msgid "cannot write init file -- descriptor length"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2929
+#: ../utils/cache/relcache.c:2918
 msgid "cannot write init file -- reldesc"
 msgstr "ÎÞ·¨Ð´Èë³õʼ»¯Îļþ -- reldesc"
 
-#: ../utils/cache/relcache.c:2935
+#: ../utils/cache/relcache.c:2924
 msgid "cannot write init file -- am tuple form length"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2938
+#: ../utils/cache/relcache.c:2927
 msgid "cannot write init file -- am tuple form"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2944
+#: ../utils/cache/relcache.c:2933
 msgid "cannot write init file -- relation tuple form length"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2947
+#: ../utils/cache/relcache.c:2936
 msgid "cannot write init file -- relation tuple form"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2955
+#: ../utils/cache/relcache.c:2944
 #, c-format
 msgid "cannot write init file -- length of attdesc %d"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2958
+#: ../utils/cache/relcache.c:2947
 #, c-format
 msgid "cannot write init file -- attdesc %d"
 msgstr "ÎÞ·¨Ð´Èë³õʼ»¯Îļþ -- attdesc %d"
 
-#: ../utils/cache/relcache.c:2966
+#: ../utils/cache/relcache.c:2955
 msgid "cannot write init file -- strategy map length"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2969
+#: ../utils/cache/relcache.c:2958
 msgid "cannot write init file -- strategy map"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2975
+#: ../utils/cache/relcache.c:2964
 msgid "cannot write init file -- support vector length"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2978
+#: ../utils/cache/relcache.c:2967
 msgid "cannot write init file -- support vector"
 msgstr ""
 
-#: ../utils/cache/relcache.c:2992
+#: ../utils/cache/relcache.c:2981
 #, c-format
 msgid ""
 "Cannot rename init file %s to %s: %m\n"
 "\tContinuing anyway, but there's something wrong."
 msgstr ""
 
-#: ../utils/cache/inval.c:393
+#: ../utils/cache/inval.c:396
 #, c-format
 msgid "ExecuteInvalidationMessage: bogus message id %d"
 msgstr ""
 
 #. translator: This string will be truncated at 31 characters.
-#: ../utils/error/elog.c:174
+#: ../utils/error/elog.c:176
 #, c-format
 msgid "copy: line %d, "
 msgstr "¿½±´: ÐР%d, "
 
 #. translator: This must fit in fmt_fixedbuf.
-#: ../utils/error/elog.c:197 ../utils/error/elog.c:293
+#: ../utils/error/elog.c:199 ../utils/error/elog.c:295
 msgid "elog: out of memory"
 msgstr "elog: ÄÚ´æÓþ¡"
 
-#: ../utils/error/elog.c:415
+#: ../utils/error/elog.c:417
 msgid "elog: error during error recovery, giving up!"
 msgstr ""
 
-#: ../utils/error/elog.c:460
+#: ../utils/error/elog.c:462
 #, c-format
 msgid "DebugFileOpen: open of %s: %m"
 msgstr ""
 
-#: ../utils/error/elog.c:469
+#: ../utils/error/elog.c:471
 #, c-format
 msgid "DebugFileOpen: %s reopen as stderr: %m"
 msgstr ""
 
-#: ../utils/error/elog.c:481
+#: ../utils/error/elog.c:483
 #, c-format
 msgid "DebugFileOpen: %s reopen as stdout: %m"
 msgstr ""
 
-#: ../utils/error/elog.c:498
+#: ../utils/error/elog.c:500
 msgid "DebugFileOpen: could not open debugging file"
 msgstr ""
 
-#: ../utils/error/elog.c:725
+#: ../utils/error/elog.c:704
 msgid "Numerical result out of range"
 msgstr "ÊýÖµ½á¹û³¬³ö·¶Î§"
 
-#. translator: This string will be truncated at 47 characters expanded.
-#: ../utils/error/elog.c:736
+#: ../utils/error/elog.c:718
 #, c-format
 msgid "operating system error %d"
 msgstr "²Ù×÷ϵͳ´íÎó %d"
 
-#: ../utils/error/elog.c:753
+#: ../utils/error/elog.c:735
 msgid "DEBUG:  "
 msgstr "µ÷ÊÔ:  "
 
-#: ../utils/error/elog.c:756
+#: ../utils/error/elog.c:738
 msgid "NOTICE:  "
 msgstr "×¢Òâ:  "
 
-#: ../utils/error/elog.c:759
+#: ../utils/error/elog.c:741
 msgid "ERROR:  "
 msgstr "´íÎó:  "
 
-#: ../utils/error/elog.c:762
+#: ../utils/error/elog.c:744
 msgid "FATAL 1:  "
 msgstr "ÖÂÃü´íÎó 1:  "
 
-#: ../utils/error/elog.c:765
+#: ../utils/error/elog.c:747
 msgid "FATAL 2:  "
 msgstr "ÖÂÃü´íÎó 2:  "
 
@@ -4280,42 +4288,42 @@ msgstr "
 msgid "GiST scan list corrupted -- cannot find 0x%p"
 msgstr ""
 
-#: ../access/gist/gistscan.c:410
+#: ../access/gist/gistscan.c:409
 #, c-format
 msgid "Bad operation in GiST scan adjust: %d"
 msgstr ""
 
-#: ../access/gist/gist.c:171 ../access/hash/hash.c:72
-#: ../access/nbtree/nbtree.c:128 ../access/rtree/rtree.c:128
+#: ../access/gist/gist.c:173 ../access/hash/hash.c:72
+#: ../access/nbtree/nbtree.c:129 ../access/rtree/rtree.c:128
 #, c-format
 msgid "%s already contains data"
 msgstr ""
 
-#: ../access/gist/gist.c:390 ../access/gist/gist.c:584
+#: ../access/gist/gist.c:400 ../access/gist/gist.c:599
 #, c-format
 msgid "gist: failed to add index item to %s"
 msgstr ""
 
-#: ../access/gist/gist.c:1548
+#: ../access/gist/gist.c:1655
 #, c-format
 msgid "initGISTstate: numberOfAttributes %d > %d"
 msgstr ""
 
-#: ../access/gist/gist.c:1799
+#: ../access/gist/gist.c:1917
 #, c-format
 msgid "%sPage: %d %s blk: %d maxoff: %d free: %d"
 msgstr ""
 
-#: ../access/gist/gist.c:1809
+#: ../access/gist/gist.c:1927
 #, c-format
 msgid "%s  Tuple. blk: %d size: %d"
 msgstr ""
 
-#: ../access/gist/gist.c:1825
+#: ../access/gist/gist.c:1942
 msgid "gist_redo: unimplemented"
 msgstr ""
 
-#: ../access/gist/gist.c:1831
+#: ../access/gist/gist.c:1948
 msgid "gist_undo: unimplemented"
 msgstr ""
 
@@ -4357,17 +4365,17 @@ msgstr ""
 msgid "_hash_unsetpagelock: invalid access (%d) on blk %x: %s"
 msgstr ""
 
-#: ../access/hash/hashpage.c:548 ../access/hash/hashpage.c:689
+#: ../access/hash/hashpage.c:547 ../access/hash/hashpage.c:684
 #, c-format
 msgid "_hash_splitpage: empty overflow page %d"
 msgstr ""
 
-#: ../access/hash/hashpage.c:589
+#: ../access/hash/hashpage.c:586
 #, c-format
 msgid "_hash_splitpage: empty ovfl page %d!"
 msgstr ""
 
-#: ../access/hash/hashpage.c:644
+#: ../access/hash/hashpage.c:639
 #, c-format
 msgid "_hash_splitpage: failed to add index item to %s"
 msgstr ""
@@ -4380,7 +4388,7 @@ msgstr ""
 msgid "overflow_page: problem with _hash_initbitmap."
 msgstr ""
 
-#: ../access/hash/hashovfl.c:569
+#: ../access/hash/hashovfl.c:568
 #, c-format
 msgid "_hash_squeezebucket: failed to add index item to %s"
 msgstr ""
@@ -4394,11 +4402,11 @@ msgstr ""
 msgid "hash indices cannot include null keys"
 msgstr ""
 
-#: ../access/hash/hash.c:472
+#: ../access/hash/hash.c:471
 msgid "hash_redo: unimplemented"
 msgstr ""
 
-#: ../access/hash/hash.c:478
+#: ../access/hash/hash.c:477
 msgid "hash_undo: unimplemented"
 msgstr ""
 
@@ -4406,11 +4414,11 @@ msgstr ""
 msgid "Hash indices valid for only one index key."
 msgstr ""
 
-#: ../access/hash/hashinsert.c:169
+#: ../access/hash/hashinsert.c:166
 msgid "hash item too large"
 msgstr ""
 
-#: ../access/hash/hashinsert.c:235
+#: ../access/hash/hashinsert.c:231
 #, c-format
 msgid "_hash_pgaddtup: failed to add index item to %s"
 msgstr ""
@@ -4424,158 +4432,162 @@ msgstr ""
 msgid "Tuple is too big: size %lu, max size %ld"
 msgstr ""
 
-#: ../access/heap/hio.c:268
+#: ../access/heap/hio.c:273
 #, c-format
 msgid "Tuple is too big: size %lu"
 msgstr ""
 
-#: ../access/heap/tuptoaster.c:849
+#: ../access/heap/tuptoaster.c:838
 msgid "Failed to build TOAST tuple"
 msgstr ""
 
-#: ../access/heap/tuptoaster.c:865
+#: ../access/heap/tuptoaster.c:854
 msgid "Failed to insert index entry for TOAST tuple"
 msgstr ""
 
-#: ../access/heap/tuptoaster.c:1048
+#: ../access/heap/tuptoaster.c:1037
 #, c-format
 msgid "unexpected chunk number %d for toast value %u"
 msgstr ""
 
-#: ../access/heap/tuptoaster.c:1054 ../access/heap/tuptoaster.c:1061
+#: ../access/heap/tuptoaster.c:1043 ../access/heap/tuptoaster.c:1050
 #, c-format
 msgid "unexpected chunk size %d in chunk %d for toast value %u"
 msgstr ""
 
-#: ../access/heap/tuptoaster.c:1066
+#: ../access/heap/tuptoaster.c:1055
 #, c-format
 msgid "chunk %d for toast value %u appears multiple times"
 msgstr ""
 
-#: ../access/heap/tuptoaster.c:1084
+#: ../access/heap/tuptoaster.c:1073
 #, c-format
 msgid "not all toast chunks found for value %u"
 msgstr ""
 
-#: ../access/heap/heapam.c:143
+#: ../access/heap/heapam.c:145
 #, c-format
 msgid "heapgettup(%s, tid=0x%x[%d,%d], dir=%d, ...)"
 msgstr ""
 
-#: ../access/heap/heapam.c:149
+#: ../access/heap/heapam.c:151
 #, c-format
 msgid "heapgettup(%s, tid=0x%x, dir=%d, ...)"
 msgstr ""
 
-#: ../access/heap/heapam.c:152
+#: ../access/heap/heapam.c:154
 #, c-format
 msgid "heapgettup(..., b=0x%x, nkeys=%d, key=0x%x"
 msgstr ""
 
-#: ../access/heap/heapam.c:154
+#: ../access/heap/heapam.c:156
 #, c-format
 msgid "heapgettup: relation(%c)=`%s', %p"
 msgstr ""
 
-#: ../access/heap/heapam.c:202 ../access/heap/heapam.c:237
-#: ../access/heap/heapam.c:278 ../access/heap/heapam.c:371
+#: ../access/heap/heapam.c:204 ../access/heap/heapam.c:239
+#: ../access/heap/heapam.c:280 ../access/heap/heapam.c:373
 msgid "heapgettup: failed ReadBuffer"
 msgstr ""
 
-#: ../access/heap/heapam.c:468
+#: ../access/heap/heapam.c:475
 #, c-format
 msgid "Relation %u does not exist"
 msgstr ""
 
-#: ../access/heap/heapam.c:472 ../access/heap/heapam.c:509
-#: ../access/heap/heapam.c:546 ../access/heap/heapam.c:576
+#: ../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
 #, c-format
 msgid "%s is an index relation"
 msgstr ""
 
-#: ../access/heap/heapam.c:505
+#: ../access/heap/heapam.c:576 ../access/heap/heapam.c:601
 #, c-format
-msgid "Relation '%s' does not exist"
+msgid "%s is a special relation"
 msgstr ""
 
-#: ../access/heap/heapam.c:637
+#: ../access/heap/heapam.c:633
 msgid "heap_beginscan: !RelationIsValid(relation)"
 msgstr ""
 
-#: ../access/heap/heapam.c:752
+#: ../access/heap/heapam.c:748
 #, c-format
 msgid "heap_getnext([%s,nkeys=%d],backw=%d) called"
 msgstr ""
 
-#: ../access/heap/heapam.c:756
+#: ../access/heap/heapam.c:752
 msgid "heap_getnext returning EOS"
 msgstr ""
 
-#: ../access/heap/heapam.c:759
+#: ../access/heap/heapam.c:755
 msgid "heap_getnext returning tuple"
 msgstr ""
 
-#: ../access/heap/heapam.c:782
+#: ../access/heap/heapam.c:778
 msgid "heap_getnext: NULL relscan"
 msgstr ""
 
-#: ../access/heap/heapam.c:880
+#: ../access/heap/heapam.c:876
 #, c-format
 msgid "heap_fetch: %s relation: ReadBuffer(%lx) failed"
 msgstr ""
 
-#: ../access/heap/heapam.c:969
+#: ../access/heap/heapam.c:965
 #, c-format
 msgid "heap_get_latest_tid: %s relation: ReadBuffer(%lx) failed"
 msgstr ""
 
-#: ../access/heap/heapam.c:1171
+#: ../access/heap/heapam.c:1168
 msgid "heap_delete: failed ReadBuffer"
 msgstr ""
 
-#: ../access/heap/heapam.c:1190
+#: ../access/heap/heapam.c:1187
 msgid "heap_delete: (am)invalid tid"
 msgstr ""
 
-#: ../access/heap/heapam.c:1310
+#: ../access/heap/heapam.c:1307
 msgid "simple_heap_delete: tuple already updated by self"
 msgstr ""
 
-#: ../access/heap/heapam.c:1318
+#: ../access/heap/heapam.c:1315
 msgid "simple_heap_delete: tuple concurrently updated"
 msgstr ""
 
-#: ../access/heap/heapam.c:1322 ../executor/execMain.c:1358
+#: ../access/heap/heapam.c:1319 ../executor/execMain.c:1349
 #, c-format
 msgid "Unknown status %u from heap_delete"
 msgstr ""
 
-#: ../access/heap/heapam.c:1357
+#: ../access/heap/heapam.c:1354
 msgid "heap_update: failed ReadBuffer"
 msgstr ""
 
-#: ../access/heap/heapam.c:1382
+#: ../access/heap/heapam.c:1379
 msgid "heap_update: (am)invalid tid"
 msgstr ""
 
-#: ../access/heap/heapam.c:1626
+#: ../access/heap/heapam.c:1624
 msgid "simple_heap_update: tuple already updated by self"
 msgstr ""
 
-#: ../access/heap/heapam.c:1634
+#: ../access/heap/heapam.c:1632
 msgid "simple_heap_update: tuple concurrently updated"
 msgstr ""
 
-#: ../access/heap/heapam.c:1638 ../executor/execMain.c:1495
+#: ../access/heap/heapam.c:1636 ../executor/execMain.c:1485
 #, c-format
 msgid "Unknown status %u from heap_update"
 msgstr ""
 
-#: ../access/heap/heapam.c:1661
+#: ../access/heap/heapam.c:1659
 msgid "heap_mark4update: failed ReadBuffer"
 msgstr ""
 
-#: ../access/heap/heapam.c:1678
+#: ../access/heap/heapam.c:1676
 msgid "heap_mark4update: (am)invalid tid"
 msgstr ""
 
@@ -4615,92 +4627,92 @@ msgstr ""
 msgid "heap_insert_%sdo: uninitialized page"
 msgstr ""
 
-#: ../access/heap/heapam.c:2109
+#: ../access/heap/heapam.c:2110
 msgid "heap_insert_redo: invalid max offset number"
 msgstr ""
 
-#: ../access/heap/heapam.c:2133
+#: ../access/heap/heapam.c:2134
 msgid "heap_insert_redo: failed to add tuple"
 msgstr ""
 
-#: ../access/heap/heapam.c:2143
+#: ../access/heap/heapam.c:2144
 msgid "heap_insert_undo: bad page LSN"
 msgstr ""
 
-#: ../access/heap/heapam.c:2145
+#: ../access/heap/heapam.c:2146
 msgid "heap_insert_undo: unimplemented"
 msgstr ""
 
-#: ../access/heap/heapam.c:2176
+#: ../access/heap/heapam.c:2177
 #, c-format
 msgid "heap_update_%sdo: no block"
 msgstr ""
 
-#: ../access/heap/heapam.c:2180
+#: ../access/heap/heapam.c:2181
 #, c-format
 msgid "heap_update_%sdo: uninitialized old page"
 msgstr ""
 
-#: ../access/heap/heapam.c:2194
+#: ../access/heap/heapam.c:2195
 msgid "heap_update_undo: bad old tuple page LSN"
 msgstr ""
 
-#: ../access/heap/heapam.c:2201
+#: ../access/heap/heapam.c:2202
 #, c-format
 msgid "heap_update_%sdo: invalid lp"
 msgstr ""
 
-#: ../access/heap/heapam.c:2229 ../access/heap/heapam.c:2334
+#: ../access/heap/heapam.c:2230 ../access/heap/heapam.c:2335
 msgid "heap_update_undo: unimplemented"
 msgstr ""
 
-#: ../access/heap/heapam.c:2250
+#: ../access/heap/heapam.c:2251
 #, c-format
 msgid "heap_update_%sdo: uninitialized page"
 msgstr ""
 
-#: ../access/heap/heapam.c:2276
+#: ../access/heap/heapam.c:2278
 msgid "heap_update_redo: invalid max offset number"
 msgstr ""
 
-#: ../access/heap/heapam.c:2322
+#: ../access/heap/heapam.c:2324
 msgid "heap_update_redo: failed to add tuple"
 msgstr ""
 
-#: ../access/heap/heapam.c:2332
+#: ../access/heap/heapam.c:2333
 msgid "heap_update_undo: bad new tuple page LSN"
 msgstr ""
 
-#: ../access/heap/heapam.c:2350
+#: ../access/heap/heapam.c:2351
 msgid "_heap_unlock_tuple: can't open relation"
 msgstr ""
 
-#: ../access/heap/heapam.c:2355
+#: ../access/heap/heapam.c:2356
 msgid "_heap_unlock_tuple: can't read buffer"
 msgstr ""
 
-#: ../access/heap/heapam.c:2359
+#: ../access/heap/heapam.c:2360
 msgid "_heap_unlock_tuple: uninitialized page"
 msgstr ""
 
-#: ../access/heap/heapam.c:2363
+#: ../access/heap/heapam.c:2364
 msgid "_heap_unlock_tuple: invalid itemid"
 msgstr ""
 
-#: ../access/heap/heapam.c:2367
+#: ../access/heap/heapam.c:2368
 msgid "_heap_unlock_tuple: unused/deleted tuple in rollback"
 msgstr ""
 
-#: ../access/heap/heapam.c:2373
+#: ../access/heap/heapam.c:2374
 msgid "_heap_unlock_tuple: invalid xmax/cmax in rollback"
 msgstr ""
 
-#: ../access/heap/heapam.c:2397
+#: ../access/heap/heapam.c:2398
 #, c-format
 msgid "heap_redo: unknown op code %u"
 msgstr ""
 
-#: ../access/heap/heapam.c:2417
+#: ../access/heap/heapam.c:2418
 #, c-format
 msgid "heap_undo: unknown op code %u"
 msgstr ""
@@ -4726,79 +4738,69 @@ msgstr ""
 msgid "index_%s: invalid %s regproc"
 msgstr ""
 
-#: ../access/index/indexam.c:128
-#, c-format
-msgid "Index %u does not exist"
-msgstr ""
-
-#: ../access/index/indexam.c:131 ../access/index/indexam.c:155
+#: ../access/index/indexam.c:130 ../access/index/indexam.c:152
 #, c-format
 msgid "%s is not an index relation"
 msgstr ""
 
-#: ../access/index/indexam.c:152
-#, c-format
-msgid "Index '%s' does not exist"
-msgstr ""
-
-#: ../access/index/istrat.c:249
+#: ../access/index/istrat.c:248
 #, c-format
 msgid "StrategyTermEvaluate: impossible case %d"
 msgstr ""
 
-#: ../access/index/istrat.c:325
+#: ../access/index/istrat.c:323
 #, c-format
 msgid "RelationGetStrategy: impossible case %d"
 msgstr ""
 
-#: ../access/index/istrat.c:331
+#: ../access/index/istrat.c:329
 msgid "RelationGetStrategy: corrupted evaluation"
 msgstr ""
 
-#: ../access/index/istrat.c:450
+#: ../access/index/istrat.c:448
 #, c-format
 msgid "RelationInvokeStrategy: cannot evaluate strategy %d"
 msgstr ""
 
-#: ../access/index/istrat.c:475
+#: ../access/index/istrat.c:472
 #, c-format
 msgid "FillScanKeyEntry: unknown operator %u"
 msgstr ""
 
-#: ../access/index/istrat.c:485
+#: ../access/index/istrat.c:482
 #, c-format
 msgid "FillScanKeyEntry: no procedure for operator %u"
 msgstr ""
 
-#: ../access/index/istrat.c:530
+#: ../access/index/istrat.c:527
 #, c-format
 msgid "IndexSupportInitialize: no pg_index entry for index %u"
 msgstr ""
 
-#: ../access/index/istrat.c:544
+#: ../access/index/istrat.c:541
 msgid "IndexSupportInitialize: bogus pg_index tuple"
 msgstr ""
 
-#: ../access/rtree/rtree.c:329
+#: ../access/rtree/rtree.c:330
 #, c-format
 msgid "rtdoinsert: failed to add index item to %s"
 msgstr ""
 
-#: ../access/rtree/rtree.c:523 ../access/rtree/rtree.c:547
+#: ../access/rtree/rtree.c:522 ../access/rtree/rtree.c:546
 #, c-format
 msgid "rtdosplit: failed to add index item to %s"
 msgstr ""
 
-#: ../access/rtree/rtree.c:643
+#: ../access/rtree/rtree.c:642
 msgid "Variable-length rtree keys are not supported."
 msgstr ""
 
-#: ../access/rtree/rtree.c:663
+#: ../access/rtree/rtree.c:662
 #, c-format
 msgid "rtintinsert: failed to add index item to %s"
 msgstr ""
 
-#: ../access/rtree/rtree.c:689 ../access/rtree/rtree.c:694
+#: ../access/rtree/rtree.c:688 ../access/rtree/rtree.c:693
 #, c-format
 msgid "rtnewroot: failed to add index item to %s"
 msgstr ""
@@ -4808,15 +4810,15 @@ msgstr ""
 msgid "rtree: index item size %lu exceeds maximum %lu"
 msgstr ""
 
-#: ../access/rtree/rtree.c:1066
+#: ../access/rtree/rtree.c:1065
 msgid "rtpicksplit: failed to find a workable page split"
 msgstr ""
 
-#: ../access/rtree/rtree.c:1351
+#: ../access/rtree/rtree.c:1348
 msgid "rtree_redo: unimplemented"
 msgstr ""
 
-#: ../access/rtree/rtree.c:1357
+#: ../access/rtree/rtree.c:1354
 msgid "rtree_undo: unimplemented"
 msgstr ""
 
@@ -4825,17 +4827,17 @@ msgstr ""
 msgid "rtree scan list corrupted -- cannot find 0x%p"
 msgstr ""
 
-#: ../access/rtree/rtscan.c:407
+#: ../access/rtree/rtscan.c:406
 #, c-format
 msgid "Bad operation in rtree scan adjust: %d"
 msgstr ""
 
-#: ../access/common/indextuple.c:56
+#: ../access/common/indextuple.c:55
 #, c-format
 msgid "index_formtuple: numberOfAttributes %d > %d"
 msgstr ""
 
-#: ../access/common/indextuple.c:163
+#: ../access/common/indextuple.c:162
 #, c-format
 msgid "index_formtuple: data takes %lu bytes, max is %d"
 msgstr ""
@@ -4848,17 +4850,17 @@ msgstr ""
 msgid "heap_attisnull: undefined negative attnum"
 msgstr ""
 
-#: ../access/common/heaptuple.c:459
+#: ../access/common/heaptuple.c:457
 #, c-format
 msgid "heap_getsysattr: invalid attnum %d"
 msgstr ""
 
-#: ../access/common/heaptuple.c:585
+#: ../access/common/heaptuple.c:582
 #, c-format
 msgid "heap_formtuple: numberOfAttributes of %d > %d"
 msgstr ""
 
-#: ../access/common/heaptuple.c:688
+#: ../access/common/heaptuple.c:685
 #, c-format
 msgid "heap_modifytuple: repl is \\%3d"
 msgstr ""
@@ -4868,7 +4870,7 @@ msgstr ""
 msgid "getTypeOutputInfo: Cache lookup of type %u failed"
 msgstr ""
 
-#: ../access/common/tupdesc.c:598
+#: ../access/common/tupdesc.c:596
 #, c-format
 msgid "DefineRelation: no such type %s"
 msgstr ""
@@ -4877,59 +4879,59 @@ msgstr ""
 msgid "_xl_remove_hash_entry: file was not found in cache"
 msgstr ""
 
-#: ../access/transam/xlogutils.c:351
+#: ../access/transam/xlogutils.c:349
 msgid "XLogOpenRelation: out of memory for cache"
 msgstr "XLogOpenRelation: »º³åÄÚ´æÓþ¡"
 
-#: ../access/transam/xlogutils.c:354
+#: ../access/transam/xlogutils.c:352
 msgid "XLogOpenRelation: file found on insert into cache"
 msgstr ""
 
-#: ../access/transam/clog.c:545 ../access/transam/clog.c:596
+#: ../access/transam/clog.c:547 ../access/transam/clog.c:599
 #, c-format
 msgid "open of %s failed: %m"
 msgstr "´ò¿ª %s Ê§°Ü: %m"
 
-#: ../access/transam/clog.c:546
+#: ../access/transam/clog.c:548
 #, c-format
 msgid "clog file %s doesn't exist, reading as zeroes"
 msgstr ""
 
-#: ../access/transam/clog.c:552 ../access/transam/clog.c:604
+#: ../access/transam/clog.c:554 ../access/transam/clog.c:607
 #, c-format
 msgid "lseek of clog file %u, offset %u failed: %m"
 msgstr ""
 
-#: ../access/transam/clog.c:557
+#: ../access/transam/clog.c:559
 #, c-format
 msgid "read of clog file %u, offset %u failed: %m"
 msgstr ""
 
-#: ../access/transam/clog.c:600 ../access/transam/xlog.c:1311
+#: ../access/transam/clog.c:603 ../access/transam/xlog.c:1308
 #, c-format
 msgid "creation of file %s failed: %m"
 msgstr "´´½¨Îļþ %s Ê§°Ü: %m"
 
-#: ../access/transam/clog.c:613
+#: ../access/transam/clog.c:616
 #, c-format
 msgid "write of clog file %u, offset %u failed: %m"
 msgstr "дÈë clog Îļþ %u, Æ«ÒÆÁ¿ %u Ê§°Ü: %m"
 
-#: ../access/transam/clog.c:831
+#: ../access/transam/clog.c:835
 msgid "unable to truncate commit log: apparent wraparound"
 msgstr ""
 
-#: ../access/transam/clog.c:884
+#: ../access/transam/clog.c:890
 #, c-format
 msgid "could not open transaction-commit log directory (%s): %m"
 msgstr ""
 
-#: ../access/transam/clog.c:900
+#: ../access/transam/clog.c:906
 #, c-format
 msgid "removing commit log file %s"
 msgstr ""
 
-#: ../access/transam/clog.c:909
+#: ../access/transam/clog.c:915
 #, c-format
 msgid "could not read transaction-commit log directory (%s): %m"
 msgstr ""
@@ -4938,259 +4940,259 @@ msgstr ""
 msgid "You may only have 2^32-1 commands per transaction"
 msgstr ""
 
-#: ../access/transam/xact.c:929
+#: ../access/transam/xact.c:923
 msgid "CommitTransaction and not in in-progress state"
 msgstr ""
 
-#: ../access/transam/xact.c:1054
+#: ../access/transam/xact.c:1047
 msgid "AbortTransaction and not in in-progress state"
 msgstr ""
 
-#: ../access/transam/xact.c:1133
+#: ../access/transam/xact.c:1126
 msgid "CleanupTransaction and not in abort state"
 msgstr ""
 
-#: ../access/transam/xact.c:1174
+#: ../access/transam/xact.c:1166
 msgid "StartTransactionCommand: unexpected TBLOCK_BEGIN"
 msgstr ""
 
-#: ../access/transam/xact.c:1195
+#: ../access/transam/xact.c:1187
 msgid "StartTransactionCommand: unexpected TBLOCK_END"
 msgstr ""
 
-#: ../access/transam/xact.c:1218
+#: ../access/transam/xact.c:1210
 msgid "StartTransactionCommand: unexpected TBLOCK_ENDABORT"
 msgstr ""
 
-#: ../access/transam/xact.c:1400
+#: ../access/transam/xact.c:1390
 msgid "BEGIN: already a transaction in progress"
 msgstr ""
 
-#: ../access/transam/xact.c:1463
+#: ../access/transam/xact.c:1451
 msgid "COMMIT: no transaction in progress"
 msgstr ""
 
-#: ../access/transam/xact.c:1501 ../access/transam/xact.c:1550
+#: ../access/transam/xact.c:1488 ../access/transam/xact.c:1535
 msgid "ROLLBACK: no transaction in progress"
 msgstr ""
 
-#: ../access/transam/xact.c:1624 ../access/transam/xact.c:1635
+#: ../access/transam/xact.c:1609 ../access/transam/xact.c:1620
 #, c-format
 msgid "xact_redo: unknown op code %u"
 msgstr ""
 
-#: ../access/transam/xact.c:1633
+#: ../access/transam/xact.c:1618
 msgid "xact_undo: can't undo committed xaction"
 msgstr ""
 
-#: ../access/transam/xact.c:1670
+#: ../access/transam/xact.c:1655
 msgid "XactPushRollback: already installed"
 msgstr ""
 
-#: ../access/transam/xlog.c:490
+#: ../access/transam/xlog.c:492
 #, c-format
 msgid "XLogInsert: invalid info mask %02X"
 msgstr ""
 
-#: ../access/transam/xlog.c:595
+#: ../access/transam/xlog.c:597
 #, c-format
 msgid "XLogInsert: can backup %d blocks at most"
 msgstr ""
 
-#: ../access/transam/xlog.c:613
+#: ../access/transam/xlog.c:615
 #, c-format
 msgid "XLogInsert: invalid record length %u"
 msgstr ""
 
-#: ../access/transam/xlog.c:996
+#: ../access/transam/xlog.c:995
 #, c-format
 msgid "XLogWrite: write request %X/%X is past end of log %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:1014 ../access/transam/xlog.c:1129
-#: ../access/transam/xlog.c:3248
+#: ../access/transam/xlog.c:1012 ../access/transam/xlog.c:1126
+#: ../access/transam/xlog.c:3241
 #, c-format
 msgid "close of log file %u, segment %u failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1027
+#: ../access/transam/xlog.c:1025
 msgid "XLogWrite: new log file created - consider increasing WAL_FILES"
 msgstr ""
 
-#: ../access/transam/xlog.c:1053
+#: ../access/transam/xlog.c:1051
 msgid "XLogWrite: time for a checkpoint, signaling postmaster"
 msgstr ""
 
-#: ../access/transam/xlog.c:1072
+#: ../access/transam/xlog.c:1070
 #, c-format
 msgid "lseek of log file %u, segment %u, offset %u failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1084
+#: ../access/transam/xlog.c:1082
 #, c-format
 msgid "write of log file %u, segment %u, offset %u failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1176
+#: ../access/transam/xlog.c:1173
 #, c-format
 msgid "XLogFlush%s%s: request %X/%X; write %X/%X; flush %X/%X\n"
 msgstr ""
 
-#: ../access/transam/xlog.c:1241
+#: ../access/transam/xlog.c:1238
 #, c-format
 msgid "XLogFlush: request %X/%X is not satisfied --- flushed only to %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:1289 ../access/transam/xlog.c:1370
-#: ../access/transam/xlog.c:1480 ../access/transam/xlog.c:1484
+#: ../access/transam/xlog.c:1286 ../access/transam/xlog.c:1367
+#: ../access/transam/xlog.c:1477 ../access/transam/xlog.c:1481
 #, c-format
 msgid "open of %s (log file %u, segment %u) failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1338
+#: ../access/transam/xlog.c:1335
 #, c-format
 msgid "ZeroFill failed to write %s: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1343
+#: ../access/transam/xlog.c:1340
 #, c-format
 msgid "fsync of file %s failed: %m"
 msgstr "fsync Îļþ %s Ê§°Ü: %m"
 
-#: ../access/transam/xlog.c:1448
+#: ../access/transam/xlog.c:1445
 #, c-format
 msgid ""
 "link from %s to %s (initialization of log file %u, segment %u) failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1453
+#: ../access/transam/xlog.c:1450
 #, c-format
 msgid ""
 "rename from %s to %s (initialization of log file %u, segment %u) failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1545
+#: ../access/transam/xlog.c:1542
 #, c-format
 msgid "could not open transaction log directory (%s): %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1560
+#: ../access/transam/xlog.c:1557
 #, c-format
 msgid "archiving transaction log file %s"
 msgstr ""
 
-#: ../access/transam/xlog.c:1562
+#: ../access/transam/xlog.c:1559
 msgid "archiving log files is not implemented!"
 msgstr ""
 
-#: ../access/transam/xlog.c:1576
+#: ../access/transam/xlog.c:1573
 #, c-format
 msgid "recycled transaction log file %s"
 msgstr ""
 
-#: ../access/transam/xlog.c:1582
+#: ../access/transam/xlog.c:1579
 #, c-format
 msgid "removing transaction log file %s"
 msgstr ""
 
-#: ../access/transam/xlog.c:1591
+#: ../access/transam/xlog.c:1588
 #, c-format
 msgid "could not read transaction log directory (%s): %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1664
+#: ../access/transam/xlog.c:1661
 #, c-format
 msgid "ReadRecord: bad resource manager data checksum in record at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:1686
+#: ../access/transam/xlog.c:1683
 #, c-format
 msgid "ReadRecord: bad checksum of backup block %d in record at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:1756
+#: ../access/transam/xlog.c:1752
 #, c-format
 msgid "ReadRecord: invalid record offset at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:1779
+#: ../access/transam/xlog.c:1775
 #, c-format
 msgid "ReadRecord: lseek of log file %u, segment %u, offset %u failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1785 ../access/transam/xlog.c:1869
+#: ../access/transam/xlog.c:1781 ../access/transam/xlog.c:1865
 #, c-format
 msgid "ReadRecord: read of log file %u, segment %u, offset %u failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:1795
+#: ../access/transam/xlog.c:1791
 #, c-format
 msgid "ReadRecord: contrecord is requested by %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:1809
+#: ../access/transam/xlog.c:1805
 #, c-format
 msgid "ReadRecord: record with zero length at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:1833
+#: ../access/transam/xlog.c:1829
 #, c-format
 msgid "ReadRecord: record length %u at %X/%X too long"
 msgstr ""
 
-#: ../access/transam/xlog.c:1839
+#: ../access/transam/xlog.c:1835
 #, c-format
 msgid "ReadRecord: invalid resource manager id %u at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:1877
+#: ../access/transam/xlog.c:1873
 #, c-format
 msgid ""
 "ReadRecord: there is no ContRecord flag in log file %u, segment %u, offset %u"
 msgstr ""
 
-#: ../access/transam/xlog.c:1885
+#: ../access/transam/xlog.c:1881
 #, c-format
 msgid ""
 "ReadRecord: invalid ContRecord length %u in log file %u, segment %u, offset %"
 "u"
 msgstr ""
 
-#: ../access/transam/xlog.c:1949
+#: ../access/transam/xlog.c:1945
 #, c-format
 msgid ""
 "ReadRecord: invalid magic number %04X in log file %u, segment %u, offset %u"
 msgstr ""
 
-#: ../access/transam/xlog.c:1955
+#: ../access/transam/xlog.c:1951
 #, c-format
 msgid ""
 "ReadRecord: invalid info bits %04X in log file %u, segment %u, offset %u"
 msgstr ""
 
-#: ../access/transam/xlog.c:1963
+#: ../access/transam/xlog.c:1959
 #, 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:1985
+#: ../access/transam/xlog.c:1981
 #, c-format
 msgid ""
 "ReadRecord: out-of-sequence SUI %u (after %u) in log file %u, segment %u, "
 "offset %u"
 msgstr ""
 
-#: ../access/transam/xlog.c:2038
+#: ../access/transam/xlog.c:2033
 msgid "invalid LC_COLLATE setting"
 msgstr ""
 
-#: ../access/transam/xlog.c:2042
+#: ../access/transam/xlog.c:2037
 msgid "invalid LC_CTYPE setting"
 msgstr ""
 
-#: ../access/transam/xlog.c:2051
+#: ../access/transam/xlog.c:2046
 #, c-format
 msgid ""
 "Initializing database with %s collation order.\n"
@@ -5200,36 +5202,36 @@ msgid ""
 "\tre-initdb.  For more information see the Administrator's Guide."
 msgstr ""
 
-#: ../access/transam/xlog.c:2077
+#: ../access/transam/xlog.c:2072
 msgid "sizeof(ControlFileData) is larger than BLCKSZ; fix either one"
 msgstr ""
 
-#: ../access/transam/xlog.c:2085
+#: ../access/transam/xlog.c:2080
 #, c-format
 msgid "WriteControlFile: could not create control file (%s): %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:2094
+#: ../access/transam/xlog.c:2089
 #, c-format
 msgid "WriteControlFile: write to control file failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:2098
+#: ../access/transam/xlog.c:2093
 #, c-format
 msgid "WriteControlFile: fsync of control file failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:2114 ../access/transam/xlog.c:2211
+#: ../access/transam/xlog.c:2109 ../access/transam/xlog.c:2206
 #, c-format
 msgid "could not open control file (%s): %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:2117
+#: ../access/transam/xlog.c:2112
 #, c-format
 msgid "read from control file failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:2129
+#: ../access/transam/xlog.c:2124
 #, c-format
 msgid ""
 "The database cluster was initialized with PG_CONTROL_VERSION %d,\n"
@@ -5237,11 +5239,11 @@ msgid ""
 "\tIt looks like you need to initdb."
 msgstr ""
 
-#: ../access/transam/xlog.c:2142
+#: ../access/transam/xlog.c:2137
 msgid "invalid checksum in control file"
 msgstr ""
 
-#: ../access/transam/xlog.c:2158
+#: ../access/transam/xlog.c:2153
 #, c-format
 msgid ""
 "The database cluster was initialized with CATALOG_VERSION_NO %d,\n"
@@ -5249,7 +5251,7 @@ msgid ""
 "\tIt looks like you need to initdb."
 msgstr ""
 
-#: ../access/transam/xlog.c:2164
+#: ../access/transam/xlog.c:2159
 #, c-format
 msgid ""
 "The database cluster was initialized with BLCKSZ %d,\n"
@@ -5257,7 +5259,7 @@ msgid ""
 "\tIt looks like you need to initdb."
 msgstr ""
 
-#: ../access/transam/xlog.c:2170
+#: ../access/transam/xlog.c:2165
 #, c-format
 msgid ""
 "The database cluster was initialized with RELSEG_SIZE %d,\n"
@@ -5265,7 +5267,7 @@ msgid ""
 "\tIt looks like you need to initdb."
 msgstr ""
 
-#: ../access/transam/xlog.c:2177
+#: ../access/transam/xlog.c:2172
 #, c-format
 msgid ""
 "The database cluster was initialized with LC_COLLATE '%s',\n"
@@ -5273,7 +5275,7 @@ msgid ""
 "\tIt looks like you need to initdb."
 msgstr ""
 
-#: ../access/transam/xlog.c:2183
+#: ../access/transam/xlog.c:2178
 #, c-format
 msgid ""
 "The database cluster was initialized with LC_CTYPE '%s',\n"
@@ -5281,7 +5283,7 @@ msgid ""
 "\tIt looks like you need to initdb."
 msgstr ""
 
-#: ../access/transam/xlog.c:2191
+#: ../access/transam/xlog.c:2186
 #, c-format
 msgid ""
 "The database cluster was initialized with LC_COLLATE '%s' and\n"
@@ -5289,41 +5291,41 @@ msgid ""
 "\tIt looks like you need to initdb or recompile."
 msgstr ""
 
-#: ../access/transam/xlog.c:2219
+#: ../access/transam/xlog.c:2214
 #, c-format
 msgid "write to control file failed: %m"
 msgstr "дÈë¿ØÖÆÎļþʧ°Ü: %m"
 
-#: ../access/transam/xlog.c:2223
+#: ../access/transam/xlog.c:2218
 #, c-format
 msgid "fsync of control file failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:2363
+#: ../access/transam/xlog.c:2358
 #, c-format
 msgid "BootStrapXLOG failed to write log file: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:2367
+#: ../access/transam/xlog.c:2362
 #, c-format
 msgid "BootStrapXLOG failed to fsync log file: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:2433
+#: ../access/transam/xlog.c:2428
 msgid "control file context is broken"
 msgstr ""
 
-#: ../access/transam/xlog.c:2436
+#: ../access/transam/xlog.c:2431
 #, c-format
 msgid "database system was shut down at %s"
 msgstr ""
 
-#: ../access/transam/xlog.c:2439
+#: ../access/transam/xlog.c:2434
 #, c-format
 msgid "database system shutdown was interrupted at %s"
 msgstr ""
 
-#: ../access/transam/xlog.c:2442
+#: ../access/transam/xlog.c:2437
 #, c-format
 msgid ""
 "database system was interrupted being in recovery at %s\n"
@@ -5331,161 +5333,161 @@ msgid ""
 "\tand you will have to use the last backup for recovery."
 msgstr ""
 
-#: ../access/transam/xlog.c:2447
+#: ../access/transam/xlog.c:2442
 #, c-format
 msgid "database system was interrupted at %s"
 msgstr ""
 
-#: ../access/transam/xlog.c:2458
+#: ../access/transam/xlog.c:2453
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:2467
+#: ../access/transam/xlog.c:2462
 #, c-format
 msgid "using previous checkpoint record at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:2472
+#: ../access/transam/xlog.c:2467
 msgid "unable to locate a valid checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2478
+#: ../access/transam/xlog.c:2473
 #, c-format
 msgid "redo record is at %X/%X; undo record is at %X/%X; shutdown %s"
 msgstr ""
 
-#: ../access/transam/xlog.c:2482
+#: ../access/transam/xlog.c:2477
 #, c-format
 msgid "next transaction id: %u; next oid: %u"
 msgstr ""
 
-#: ../access/transam/xlog.c:2485
+#: ../access/transam/xlog.c:2480
 msgid "invalid next transaction id"
 msgstr ""
 
-#: ../access/transam/xlog.c:2496
+#: ../access/transam/xlog.c:2491
 msgid "invalid redo in checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2504
+#: ../access/transam/xlog.c:2499
 msgid "invalid redo/undo record in shutdown checkpoint"
 msgstr ""
 
-#: ../access/transam/xlog.c:2513
+#: ../access/transam/xlog.c:2508
 msgid ""
 "database system was not properly shut down; automatic recovery in progress"
 msgstr ""
 
-#: ../access/transam/xlog.c:2533
+#: ../access/transam/xlog.c:2528
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:2564
+#: ../access/transam/xlog.c:2559
 #, c-format
 msgid "redo done at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:2570
+#: ../access/transam/xlog.c:2565
 msgid "redo is not required"
 msgstr ""
 
-#: ../access/transam/xlog.c:2653
+#: ../access/transam/xlog.c:2647
 #, c-format
 msgid "undo starts at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:2663
+#: ../access/transam/xlog.c:2657
 #, c-format
 msgid "undo done at %X/%X"
 msgstr ""
 
-#: ../access/transam/xlog.c:2667
+#: ../access/transam/xlog.c:2661
 msgid "undo is not required"
 msgstr ""
 
-#: ../access/transam/xlog.c:2702
+#: ../access/transam/xlog.c:2695
 msgid "database system is ready"
 msgstr ""
 
-#: ../access/transam/xlog.c:2734
+#: ../access/transam/xlog.c:2727
 msgid "invalid primary checkpoint link in control file"
 msgstr ""
 
-#: ../access/transam/xlog.c:2735
+#: ../access/transam/xlog.c:2728
 msgid "invalid secondary checkpoint link in control file"
 msgstr ""
 
-#: ../access/transam/xlog.c:2744
+#: ../access/transam/xlog.c:2737
 msgid "invalid primary checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2745
+#: ../access/transam/xlog.c:2738
 msgid "invalid secondary checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2751
+#: ../access/transam/xlog.c:2744
 msgid "invalid resource manager id in primary checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2752
+#: ../access/transam/xlog.c:2745
 msgid "invalid resource manager id in secondary checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2759
+#: ../access/transam/xlog.c:2752
 msgid "invalid xl_info in primary checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2760
+#: ../access/transam/xlog.c:2753
 msgid "invalid xl_info in secondary checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2766
+#: ../access/transam/xlog.c:2759
 msgid "invalid length of primary checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2767
+#: ../access/transam/xlog.c:2760
 msgid "invalid length of secondary checkpoint record"
 msgstr ""
 
-#: ../access/transam/xlog.c:2815
+#: ../access/transam/xlog.c:2808
 msgid "shutting down"
 msgstr ""
 
-#: ../access/transam/xlog.c:2826
+#: ../access/transam/xlog.c:2819
 msgid "database system is shut down"
 msgstr ""
 
-#: ../access/transam/xlog.c:2844
+#: ../access/transam/xlog.c:2837
 msgid "CreateCheckPoint: cannot be called inside transaction block"
 msgstr ""
 
-#: ../access/transam/xlog.c:2942
+#: ../access/transam/xlog.c:2935
 msgid "active transaction while database system is shutting down"
 msgstr ""
 
-#: ../access/transam/xlog.c:2989
+#: ../access/transam/xlog.c:2982
 msgid ""
 "concurrent transaction log activity while database system is shutting down"
 msgstr ""
 
-#: ../access/transam/xlog.c:3226
+#: ../access/transam/xlog.c:3220
 #, c-format
 msgid "bogus wal_sync_method %s"
 msgstr ""
 
-#: ../access/transam/xlog.c:3243 ../access/transam/xlog.c:3269
+#: ../access/transam/xlog.c:3236 ../access/transam/xlog.c:3262
 #, c-format
 msgid "fsync of log file %u, segment %u failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:3275
+#: ../access/transam/xlog.c:3268
 #, c-format
 msgid "fdatasync of log file %u, segment %u failed: %m"
 msgstr ""
 
-#: ../access/transam/xlog.c:3283
+#: ../access/transam/xlog.c:3276
 #, c-format
 msgid "bogus wal_sync_method %d"
 msgstr ""
@@ -5503,99 +5505,99 @@ msgstr ""
 msgid "Illegal scan direction %d"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:728
+#: ../access/nbtree/nbtree.c:747
 #, c-format
 msgid ""
 "_bt_restscan: my bits moved right off the end of the world!\n"
 "\tRecreate index %s."
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:758
+#: ../access/nbtree/nbtree.c:777
 msgid "_bt_restore_page: can't add item to page"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:781
+#: ../access/nbtree/nbtree.c:800
 msgid "btree_delete_redo: block unfound"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:784
+#: ../access/nbtree/nbtree.c:803
 msgid "btree_delete_redo: uninitialized page"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:820
+#: ../access/nbtree/nbtree.c:839
 #, c-format
 msgid "btree_insert_%sdo: block unfound"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:823
+#: ../access/nbtree/nbtree.c:842
 #, c-format
 msgid "btree_insert_%sdo: uninitialized page"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:837
+#: ../access/nbtree/nbtree.c:856
 msgid "btree_insert_redo: failed to add item"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:846
+#: ../access/nbtree/nbtree.c:865
 msgid "btree_insert_undo: bad page LSN"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:854
+#: ../access/nbtree/nbtree.c:873
 msgid "btree_insert_undo: unimplemented"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:881
+#: ../access/nbtree/nbtree.c:900
 #, c-format
 msgid "btree_split_%s: lost left sibling"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:887
+#: ../access/nbtree/nbtree.c:906
 msgid "btree_split_undo: uninitialized left sibling"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:910
+#: ../access/nbtree/nbtree.c:929
 msgid "btree_split_undo: bad left sibling LSN"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:911 ../access/nbtree/nbtree.c:950
+#: ../access/nbtree/nbtree.c:930 ../access/nbtree/nbtree.c:969
 msgid "btree_split_undo: unimplemented"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:919
+#: ../access/nbtree/nbtree.c:938
 #, c-format
 msgid "btree_split_%s: lost right sibling"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:925
+#: ../access/nbtree/nbtree.c:944
 msgid "btree_split_undo: uninitialized right sibling"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:949
+#: ../access/nbtree/nbtree.c:968
 msgid "btree_split_undo: bad right sibling LSN"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:963
+#: ../access/nbtree/nbtree.c:982
 msgid "btree_split_redo: lost next right page"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:967
+#: ../access/nbtree/nbtree.c:986
 msgid "btree_split_redo: uninitialized next right page"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:1004
+#: ../access/nbtree/nbtree.c:1023
 msgid "btree_newroot_redo: no root page"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:1007
+#: ../access/nbtree/nbtree.c:1026
 msgid "btree_newroot_redo: no metapage"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:1061
+#: ../access/nbtree/nbtree.c:1080
 #, c-format
 msgid "btree_redo: unknown op code %u"
 msgstr ""
 
-#: ../access/nbtree/nbtree.c:1081
+#: ../access/nbtree/nbtree.c:1100
 #, c-format
 msgid "btree_undo: unknown op code %u"
 msgstr ""
@@ -5649,41 +5651,41 @@ msgstr ""
 msgid "_bt_findsplitloc: can't find a feasible split point for %s"
 msgstr ""
 
-#: ../access/nbtree/nbtinsert.c:1301
+#: ../access/nbtree/nbtinsert.c:1302
 msgid "btree: failed to add leftkey to new root page"
 msgstr ""
 
-#: ../access/nbtree/nbtinsert.c:1318
+#: ../access/nbtree/nbtinsert.c:1319
 msgid "btree: failed to add rightkey to new root page"
 msgstr ""
 
-#: ../access/nbtree/nbtinsert.c:1402
+#: ../access/nbtree/nbtinsert.c:1403
 msgid "bt_fixroot: not valid old root page"
 msgstr ""
 
-#: ../access/nbtree/nbtinsert.c:1533
+#: ../access/nbtree/nbtinsert.c:1534
 #, c-format
 msgid "bt_fixtree[%s]: invalid start page (need to recreate index)"
 msgstr ""
 
-#: ../access/nbtree/nbtinsert.c:1559
+#: ../access/nbtree/nbtinsert.c:1560
 #, c-format
 msgid "bt_fixtree[%s]: fixing root page"
 msgstr ""
 
-#: ../access/nbtree/nbtinsert.c:1607
+#: ../access/nbtree/nbtinsert.c:1608
 #, c-format
 msgid "bt_fixlevel[%s]: invalid maxoff on start page (need to recreate index)"
 msgstr ""
 
-#: ../access/nbtree/nbtinsert.c:1614
+#: ../access/nbtree/nbtinsert.c:1615
 #, c-format
 msgid ""
 "bt_fixtlevel[%s]: non-leftmost child page of leftmost parent (need to "
 "recreate index)"
 msgstr ""
 
-#: ../access/nbtree/nbtinsert.c:1617
+#: ../access/nbtree/nbtinsert.c:1618
 #, c-format
 msgid "bt_fixtlevel[%s]: invalid start child (need to recreate index)"
 msgstr ""
@@ -5763,16 +5765,16 @@ msgstr ""
 msgid "Version mismatch on %s: version %d file, version %d code"
 msgstr ""
 
-#: ../access/nbtree/nbtpage.c:259
+#: ../access/nbtree/nbtpage.c:256
 #, c-format
 msgid "bt_getroot[%s]: fixing root page"
 msgstr ""
 
-#: ../access/nbtree/nbtsort.c:286
+#: ../access/nbtree/nbtsort.c:285
 msgid "btree: failed to add item to the page in _bt_sort"
 msgstr ""
 
-#: ../access/nbtree/nbtsort.c:351
+#: ../access/nbtree/nbtsort.c:350
 #, c-format
 msgid "btree: index item size %lu exceeds maximum %ld"
 msgstr ""
@@ -5781,36 +5783,36 @@ msgstr ""
 msgid "_bt_orderkeys: key(s) for attribute 1 missed"
 msgstr ""
 
-#: ../access/nbtree/nbtutils.c:287
+#: ../access/nbtree/nbtutils.c:286
 #, c-format
 msgid "_bt_orderkeys: key(s) for attribute %d missed"
 msgstr ""
 
-#: ../access/nbtree/nbtutils.c:404
+#: ../access/nbtree/nbtutils.c:402
 #, c-format
 msgid "_bt_orderkeys: unable to identify operator %u"
 msgstr ""
 
-#: ../storage/ipc/ipc.c:138
+#: ../storage/ipc/ipc.c:135
 #, c-format
 msgid "proc_exit(%d)"
 msgstr ""
 
-#: ../storage/ipc/ipc.c:157
+#: ../storage/ipc/ipc.c:154
 #, c-format
 msgid "exit(%d)"
 msgstr ""
 
-#: ../storage/ipc/ipc.c:171
+#: ../storage/ipc/ipc.c:168
 #, c-format
 msgid "shmem_exit(%d)"
 msgstr ""
 
-#: ../storage/ipc/ipc.c:197
+#: ../storage/ipc/ipc.c:194
 msgid "Out of on_proc_exit slots"
 msgstr ""
 
-#: ../storage/ipc/ipc.c:216
+#: ../storage/ipc/ipc.c:213
 msgid "Out of on_shmem_exit slots"
 msgstr ""
 
@@ -5818,8 +5820,8 @@ msgstr ""
 msgid "Backend cache invalidation initialization failed"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1114 ../storage/ipc/sinval.c:53
-#: ../storage/lmgr/proc.c:1088
+#: ../postmaster/postmaster.c:1180 ../storage/ipc/sinval.c:53
+#: ../storage/lmgr/proc.c:1091
 msgid "Sorry, too many clients already"
 msgstr ""
 
@@ -5831,46 +5833,46 @@ msgstr ""
 msgid "ReceiveSharedInvalidMessages: cache state reset"
 msgstr ""
 
-#: ../storage/ipc/sinval.c:311 ../storage/ipc/sinval.c:321
+#: ../storage/ipc/sinval.c:312 ../storage/ipc/sinval.c:322
 msgid "Memory exhausted in GetSnapshotData"
 msgstr ""
 
-#: ../storage/ipc/shmem.c:156
+#: ../storage/ipc/shmem.c:157
 msgid "ShmemAlloc: out of memory"
 msgstr "ShmemAlloc: ÄÚ´æÓþ¡"
 
-#: ../storage/ipc/shmem.c:202
+#: ../storage/ipc/shmem.c:203
 msgid "InitShmemIndex: couldn't initialize Shmem Index"
 msgstr ""
 
-#: ../storage/ipc/shmem.c:213
+#: ../storage/ipc/shmem.c:214
 msgid "InitShmemIndex: Shmem Index out of memory"
 msgstr ""
 
-#: ../storage/ipc/shmem.c:331
+#: ../storage/ipc/shmem.c:332
 msgid "ShmemInitStruct: Shmem Index out of memory"
 msgstr ""
 
-#: ../storage/ipc/shmem.c:346
+#: ../storage/ipc/shmem.c:347
 msgid "ShmemInitStruct: ShmemIndex entry size is wrong"
 msgstr ""
 
-#: ../storage/ipc/shmem.c:363
+#: ../storage/ipc/shmem.c:364
 #, c-format
 msgid "ShmemInitStruct: cannot allocate '%s'"
 msgstr ""
 
-#: ../storage/ipc/sinvaladt.c:124
+#: ../storage/ipc/sinvaladt.c:122
 #, c-format
 msgid "SIBackendInit: backend id %d"
 msgstr ""
 
-#: ../storage/ipc/sinvaladt.c:224
+#: ../storage/ipc/sinvaladt.c:222
 #, c-format
 msgid "SIInsertDataEntry: table is 70%% full, signaling postmaster"
 msgstr ""
 
-#: ../storage/ipc/ipci.c:108
+#: ../storage/ipc/ipci.c:109
 msgid "Couldn't create the lock table"
 msgstr ""
 
@@ -5891,178 +5893,178 @@ msgid ""
 "\tSystem allows %ld, we need at least %d."
 msgstr ""
 
-#: ../storage/file/fd.c:368
+#: ../storage/file/fd.c:367
 #, c-format
 msgid "Delete %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:388
+#: ../storage/file/fd.c:387
 #, c-format
 msgid "LruDelete %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:423
+#: ../storage/file/fd.c:422
 #, c-format
 msgid "Insert %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:445
+#: ../storage/file/fd.c:444
 #, c-format
 msgid "LruInsert %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:467
+#: ../storage/file/fd.c:466
 #, c-format
 msgid "RE_OPEN FAILED: %d"
 msgstr ""
 
-#: ../storage/file/fd.c:472
+#: ../storage/file/fd.c:471
 msgid "RE_OPEN SUCCESS"
 msgstr ""
 
-#: ../storage/file/fd.c:496
+#: ../storage/file/fd.c:495
 #, c-format
 msgid "ReleaseLruFile. Opened %d"
 msgstr ""
 
-#: ../storage/file/fd.c:518
+#: ../storage/file/fd.c:516
 #, c-format
 msgid "AllocateVfd. Size %d"
 msgstr ""
 
-#: ../storage/file/fd.c:525
+#: ../storage/file/fd.c:523
 msgid "AllocateVfd: no room for VFD array"
 msgstr ""
 
-#: ../storage/file/fd.c:558
+#: ../storage/file/fd.c:555
 msgid "AllocateVfd: no room to enlarge VFD array"
 msgstr ""
 
-#: ../storage/file/fd.c:591
+#: ../storage/file/fd.c:588
 #, c-format
 msgid "FreeVfd: %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:643
+#: ../storage/file/fd.c:638
 #, c-format
 msgid "FileAccess %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:697
+#: ../storage/file/fd.c:690
 msgid "fileNameOpenFile: NULL fname"
 msgstr ""
 
-#: ../storage/file/fd.c:699
+#: ../storage/file/fd.c:692
 #, c-format
 msgid "fileNameOpenFile: %s %x %o"
 msgstr ""
 
-#: ../storage/file/fd.c:719
+#: ../storage/file/fd.c:712
 #, c-format
 msgid "fileNameOpenFile: success %d"
 msgstr ""
 
-#: ../storage/file/fd.c:726
+#: ../storage/file/fd.c:719
 msgid "fileNameOpenFile: no room to save VFD filename"
 msgstr ""
 
-#: ../storage/file/fd.c:819
+#: ../storage/file/fd.c:812
 #, c-format
 msgid "Failed to create temporary file %s"
 msgstr "´´½¨ÁÙʱÎļþ %s Ê§°Ü"
 
-#: ../storage/file/fd.c:838
+#: ../storage/file/fd.c:831
 #, c-format
 msgid "FileClose: %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:887
+#: ../storage/file/fd.c:880
 #, c-format
 msgid "FileUnlink: %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:903
+#: ../storage/file/fd.c:896
 #, c-format
 msgid "FileRead: %d (%s) %ld %d %p"
 msgstr ""
 
-#: ../storage/file/fd.c:924
+#: ../storage/file/fd.c:917
 #, c-format
 msgid "FileWrite: %d (%s) %ld %d %p"
 msgstr ""
 
-#: ../storage/file/fd.c:950
+#: ../storage/file/fd.c:943
 #, c-format
 msgid "FileSeek: %d (%s) %ld %ld %d"
 msgstr ""
 
-#: ../storage/file/fd.c:960 ../storage/file/fd.c:981
+#: ../storage/file/fd.c:953 ../storage/file/fd.c:974
 #, c-format
 msgid "FileSeek: invalid offset: %ld"
 msgstr ""
 
-#: ../storage/file/fd.c:971 ../storage/file/fd.c:993
+#: ../storage/file/fd.c:964 ../storage/file/fd.c:986
 #, c-format
 msgid "FileSeek: invalid whence: %d"
 msgstr ""
 
-#: ../storage/file/fd.c:1008
+#: ../storage/file/fd.c:1001
 #, c-format
 msgid "FileTell %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:1022
+#: ../storage/file/fd.c:1014
 #, c-format
 msgid "FileTruncate %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:1122
+#: ../storage/file/fd.c:1113
 #, c-format
 msgid "FileMarkDirty: %d (%s)"
 msgstr ""
 
-#: ../storage/file/fd.c:1152
+#: ../storage/file/fd.c:1143
 #, c-format
 msgid "AllocateFile: Allocated %d"
 msgstr ""
 
-#: ../storage/file/fd.c:1155
+#: ../storage/file/fd.c:1146
 msgid "AllocateFile: too many private FDs demanded"
 msgstr ""
 
-#: ../storage/file/fd.c:1169
+#: ../storage/file/fd.c:1160
 #, c-format
 msgid "AllocateFile: not enough descs, retry, er= %d"
 msgstr ""
 
-#: ../storage/file/fd.c:1185
+#: ../storage/file/fd.c:1176
 #, c-format
 msgid "FreeFile: Allocated %d"
 msgstr ""
 
-#: ../storage/file/fd.c:1198
+#: ../storage/file/fd.c:1189
 msgid "FreeFile: file was not obtained from AllocateFile"
 msgstr ""
 
-#: ../storage/file/buffile.c:479
+#: ../storage/file/buffile.c:477
 #, c-format
 msgid "BufFileSeek: invalid whence: %d"
 msgstr ""
 
-#: ../storage/lmgr/lwlock.c:69
+#: ../storage/lmgr/lwlock.c:70
 #, c-format
 msgid "%s(%d): excl %d shared %d head %p"
 msgstr ""
 
-#: ../storage/lmgr/lwlock.c:172
+#: ../storage/lmgr/lwlock.c:173
 msgid "No more LWLockIds available"
 msgstr ""
 
-#: ../storage/lmgr/lwlock.c:241
+#: ../storage/lmgr/lwlock.c:242
 msgid "LWLockAcquire: can't wait without a PROC structure"
 msgstr ""
 
-#: ../storage/lmgr/lwlock.c:387
+#: ../storage/lmgr/lwlock.c:389
 #, c-format
 msgid "LWLockRelease: lock %d is not held"
 msgstr ""
@@ -6109,42 +6111,42 @@ msgid ""
 "d)=%d"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:252
+#: ../storage/lmgr/lock.c:251
 #, c-format
 msgid "LockMethodTableInit: too many lock types %d greater than %d"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:283 ../storage/lmgr/lock.c:324
-#: ../storage/lmgr/lock.c:344
+#: ../storage/lmgr/lock.c:282 ../storage/lmgr/lock.c:323
+#: ../storage/lmgr/lock.c:343
 #, c-format
 msgid "LockMethodTableInit: couldn't initialize %s"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:465
+#: ../storage/lmgr/lock.c:464
 #, c-format
 msgid "LockAcquire: user lock [%u] %s"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:476
+#: ../storage/lmgr/lock.c:475
 #, c-format
 msgid "LockAcquire: bad lock table %d"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:494
+#: ../storage/lmgr/lock.c:493
 #, c-format
 msgid "LockAcquire: lock table %d is out of memory"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:541
+#: ../storage/lmgr/lock.c:540
 msgid "LockAcquire: holder table out of memory"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:586
+#: ../storage/lmgr/lock.c:585
 #, c-format
 msgid "Deadlock risk: raising lock level from %s to %s on object %u/%u/%u"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:664
+#: ../storage/lmgr/lock.c:665
 msgid "LockAcquire: remove holder, table corrupted"
 msgstr ""
 
@@ -6178,70 +6180,70 @@ msgstr ""
 msgid "LockRelease: you don't own a lock of type %s"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:1130
+#: ../storage/lmgr/lock.c:1129
 msgid "LockRelease: remove lock, table corrupted"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:1159
+#: ../storage/lmgr/lock.c:1158
 msgid "LockRelease: remove holder, table corrupted"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:1200
+#: ../storage/lmgr/lock.c:1199
 #, c-format
 msgid "LockReleaseAll: lockmethod=%d, pid=%d"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:1208
+#: ../storage/lmgr/lock.c:1207
 #, c-format
 msgid "LockReleaseAll: bad lockmethod %d"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:1312
+#: ../storage/lmgr/lock.c:1311
 msgid "LockReleaseAll: holder table corrupted"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:1330
+#: ../storage/lmgr/lock.c:1329
 msgid "LockReleaseAll: cannot remove lock from HTAB"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:1345
+#: ../storage/lmgr/lock.c:1344
 msgid "LockReleaseAll: done"
 msgstr ""
 
-#: ../storage/lmgr/lock.c:1464
+#: ../storage/lmgr/lock.c:1463
 msgid "DumpAllLocks: holder->tag.lock = NULL"
 msgstr ""
 
-#: ../storage/lmgr/proc.c:209
+#: ../storage/lmgr/proc.c:212
 msgid "InitProcess: Proc Header uninitialized"
 msgstr ""
 
-#: ../storage/lmgr/proc.c:212
+#: ../storage/lmgr/proc.c:215
 msgid "InitProcess: you already exist"
 msgstr ""
 
-#: ../storage/lmgr/proc.c:235
+#: ../storage/lmgr/proc.c:238
 msgid "cannot create new proc: out of memory"
 msgstr "ÎÞ·¨´´½¨Ð¹ý³Ì: ÄÚ´æÓþ¡"
 
-#: ../storage/lmgr/proc.c:298
+#: ../storage/lmgr/proc.c:301
 msgid "InitDummyProcess: Proc Header uninitialized"
 msgstr ""
 
-#: ../storage/lmgr/proc.c:301
+#: ../storage/lmgr/proc.c:304
 msgid "InitDummyProcess: you already exist"
 msgstr ""
 
-#: ../storage/lmgr/proc.c:307
+#: ../storage/lmgr/proc.c:310
 #, c-format
 msgid "InitDummyProcess: DummyProc is in use by PID %d"
 msgstr ""
 
-#: ../storage/lmgr/proc.c:693
+#: ../storage/lmgr/proc.c:696
 msgid "ProcSleep: Unable to set timer for process wakeup"
 msgstr ""
 
-#: ../storage/lmgr/proc.c:715
+#: ../storage/lmgr/proc.c:718
 msgid "ProcSleep: Unable to disable timer for process wakeup"
 msgstr ""
 
@@ -6249,7 +6251,7 @@ msgstr ""
 msgid "s_init_lock_sema: not enough semaphores"
 msgstr ""
 
-#: ../storage/lmgr/deadlock.c:274
+#: ../storage/lmgr/deadlock.c:273
 msgid "DeadLockCheckRecurse: inconsistent results"
 msgstr ""
 
@@ -6261,8 +6263,25 @@ msgstr ""
 msgid "PageAddItem: tried overwrite of used ItemId"
 msgstr ""
 
-#: ../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
+#: ../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
 msgid "seekpos too big!"
 msgstr ""
 
@@ -6270,48 +6289,48 @@ msgstr ""
 msgid "segment too big!"
 msgstr ""
 
-#: ../storage/smgr/md.c:342
+#: ../storage/smgr/md.c:341
 msgid "segment too big on relopen!"
 msgstr ""
 
-#: ../storage/smgr/md.c:577
+#: ../storage/smgr/md.c:574
 #, c-format
 msgid "mdblindwrt: lseek(%ld) failed: %m"
 msgstr ""
 
-#: ../storage/smgr/md.c:591
+#: ../storage/smgr/md.c:588
 #, c-format
 msgid "mdblindwrt: write() failed: %m"
 msgstr ""
 
-#: ../storage/smgr/md.c:597
+#: ../storage/smgr/md.c:594
 #, c-format
 msgid "mdblindwrt: close() failed: %m"
 msgstr ""
 
-#: ../storage/smgr/md.c:681
+#: ../storage/smgr/md.c:679
 msgid "segment too big in mdnblocks!"
 msgstr ""
 
-#: ../storage/smgr/md.c:700
+#: ../storage/smgr/md.c:699
 #, c-format
 msgid "cannot count blocks for %s -- open failed: %m"
 msgstr ""
 
-#: ../storage/smgr/md.c:892
+#: ../storage/smgr/md.c:891
 msgid "_fdvec_alloc error"
 msgstr ""
 
-#: ../storage/smgr/md.c:974
+#: ../storage/smgr/md.c:973
 msgid "segment too big on openseg!"
 msgstr ""
 
-#: ../storage/smgr/md.c:993
+#: ../storage/smgr/md.c:992
 #, c-format
 msgid "_mdfd_getrelnfd: cannot open relation %s: %m"
 msgstr ""
 
-#: ../storage/smgr/md.c:1036
+#: ../storage/smgr/md.c:1035
 #, c-format
 msgid "cannot open segment %u of relation %s (target block %u): %m"
 msgstr ""
@@ -6355,94 +6374,94 @@ msgstr ""
 msgid "Illegal storage manager id %d"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:137
+#: ../storage/smgr/smgr.c:135
 #, c-format
 msgid "initialization failed on %s: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:159
+#: ../storage/smgr/smgr.c:157
 #, c-format
 msgid "shutdown failed on %s: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:179
+#: ../storage/smgr/smgr.c:177
 #, c-format
 msgid "cannot create %s: %m"
 msgstr "ÎÞ·¨´´½¨ %s: %m"
 
-#: ../storage/smgr/smgr.c:249
+#: ../storage/smgr/smgr.c:247
 #, c-format
 msgid ""
 "cannot extend %s: %m.\n"
 "\tCheck free disk space."
 msgstr ""
 
-#: ../storage/smgr/smgr.c:285
+#: ../storage/smgr/smgr.c:283
 #, c-format
 msgid "cannot close %s: %m"
 msgstr "ÎÞ·¨¹Ø±Õ %s: %m"
 
-#: ../storage/smgr/smgr.c:308
+#: ../storage/smgr/smgr.c:306
 #, c-format
 msgid "cannot read block %d of %s: %m"
 msgstr "ÎÞ·¨¶ÁÈ¡ %2$s µÄ¿é %1$d: %m"
 
-#: ../storage/smgr/smgr.c:330
+#: ../storage/smgr/smgr.c:328
 #, c-format
 msgid "cannot write block %d of %s: %m"
 msgstr "ÎÞ·¨Ð´Èë %2$s µÄ¿é %1$d: %m"
 
-#: ../storage/smgr/smgr.c:347
+#: ../storage/smgr/smgr.c:345
 #, c-format
 msgid "cannot flush block %d of %s to stable store: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:378
+#: ../storage/smgr/smgr.c:376
 #, c-format
 msgid "cannot write block %d of %u/%u blind: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:404
+#: ../storage/smgr/smgr.c:402
 #, c-format
 msgid "cannot mark block %d of %s: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:425
+#: ../storage/smgr/smgr.c:423
 #, c-format
 msgid "cannot mark block %d of %u/%u blind: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:451
+#: ../storage/smgr/smgr.c:450
 #, c-format
 msgid "cannot count blocks for %s: %m"
 msgstr "ÎÞ·¨Îª %s ¼ÆËã¿éÊý: %m"
 
-#: ../storage/smgr/smgr.c:483
+#: ../storage/smgr/smgr.c:482
 #, c-format
 msgid "cannot truncate %s to %u blocks: %m"
 msgstr "ÎÞ·¨½« %s ½Ø¶ÏΪ %u ¿é: %m"
 
-#: ../storage/smgr/smgr.c:525
+#: ../storage/smgr/smgr.c:524
 #, c-format
 msgid "cannot unlink %u/%u: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:548
+#: ../storage/smgr/smgr.c:547
 #, c-format
 msgid "transaction commit failed on %s: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:567
+#: ../storage/smgr/smgr.c:566
 #, c-format
 msgid "transaction abort failed on %s: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:586
+#: ../storage/smgr/smgr.c:585
 #, c-format
 msgid "storage sync failed on %s: %m"
 msgstr ""
 
-#: ../storage/smgr/smgr.c:600
+#: ../storage/smgr/smgr.c:599
 #, c-format
 msgid "illegal storage manager number %d"
 msgstr ""
@@ -6471,87 +6490,87 @@ msgstr ""
 msgid "Out of memory in LocalBufferAlloc"
 msgstr ""
 
-#: ../storage/buffer/freelist.c:203
+#: ../storage/buffer/freelist.c:201
 msgid "out of free buffers: time to abort!"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:254
+#: ../storage/buffer/bufmgr.c:258
 msgid "BufRead: buffer table broken after IO error"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:426
+#: ../storage/buffer/bufmgr.c:428
 #, c-format
 msgid "BufferAlloc: cannot write block %u for %u/%u"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:444
+#: ../storage/buffer/bufmgr.c:446
 #, c-format
 msgid "BufferAlloc: content of block %u (%u/%u) changed while flushing"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:537
+#: ../storage/buffer/bufmgr.c:538
 msgid "buffer wasn't in the buffer table"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:545
+#: ../storage/buffer/bufmgr.c:546
 msgid "Buffer in lookup table twice"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:806
+#: ../storage/buffer/bufmgr.c:807
 #, c-format
 msgid "BufferSync: cannot write %u for %u/%u"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:965
+#: ../storage/buffer/bufmgr.c:978
 #, 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:1364 ../storage/buffer/bufmgr.c:1396
+#: ../storage/buffer/bufmgr.c:1374 ../storage/buffer/bufmgr.c:1406
 #, c-format
 msgid ""
 "[%02d] (freeNext=%d, freePrev=%d, rel=%u/%u, blockNum=%u, flags=0x%x, "
 "refcount=%d %ld)"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:1498
+#: ../storage/buffer/bufmgr.c:1507
 #, c-format
 msgid ""
 "FlushRelationBuffers(%s (local), %u): block %u is dirty, could not flush it"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:1508
+#: ../storage/buffer/bufmgr.c:1517
 #, c-format
 msgid "FlushRelationBuffers(%s (local), %u): block %u is referenced (%ld)"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:1560
+#: ../storage/buffer/bufmgr.c:1569
 #, c-format
 msgid "FlushRelationBuffers: cannot write %u for %u/%u"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:1586
+#: ../storage/buffer/bufmgr.c:1595
 #, c-format
 msgid ""
 "FlushRelationBuffers(%s, %u): block %u is referenced (private %ld, global %d)"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:1819
+#: ../storage/buffer/bufmgr.c:1825
 msgid "buffer alloc trace error and can't open log file"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:2016
+#: ../storage/buffer/bufmgr.c:2018
 #, c-format
 msgid "LockBuffer: unknown lock mode %d"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:2048 ../storage/buffer/bufmgr.c:2055
+#: ../storage/buffer/bufmgr.c:2049 ../storage/buffer/bufmgr.c:2056
 msgid "LockBufferForCleanup: wrong local pin count"
 msgstr ""
 
-#: ../storage/buffer/bufmgr.c:2077
+#: ../storage/buffer/bufmgr.c:2078
 msgid "Multiple backends attempting to wait for pincount 1"
 msgstr ""
 
@@ -6560,28 +6579,28 @@ msgstr ""
 msgid "write error may be permanent: cannot write block %u for %u/%u"
 msgstr ""
 
-#: ../storage/freespace/freespace.c:176 ../storage/freespace/freespace.c:191
-#: ../storage/freespace/freespace.c:199
+#: ../storage/freespace/freespace.c:178 ../storage/freespace/freespace.c:193
+#: ../storage/freespace/freespace.c:201
 msgid "Insufficient shared memory for free space map"
 msgstr ""
 
-#: ../storage/freespace/freespace.c:522
+#: ../storage/freespace/freespace.c:530
 msgid "FreeSpaceMap hashtable out of memory"
 msgstr ""
 
-#: ../storage/freespace/freespace.c:592
+#: ../storage/freespace/freespace.c:599
 msgid "FreeSpaceMap hashtable corrupted"
 msgstr ""
 
-#: ../storage/freespace/freespace.c:764
+#: ../storage/freespace/freespace.c:772
 msgid "fsm_record_free_space: unexpected match"
 msgstr ""
 
-#: ../storage/freespace/freespace.c:880
+#: ../storage/freespace/freespace.c:891
 msgid "insert_fsm_page_entry: entry already exists!"
 msgstr ""
 
-#: ../storage/freespace/freespace.c:889
+#: ../storage/freespace/freespace.c:900
 msgid "insert_fsm_page_entry: failed to insert entry!"
 msgstr ""
 
@@ -6625,58 +6644,58 @@ msgstr ""
 msgid "inv_seek: invalid whence: %d"
 msgstr "inv_seek: ·Ç·¨Æðµã: %d"
 
-#: ../commands/rename.c:73
+#: ../commands/rename.c:91
 #, c-format
 msgid "renameatt: class \"%s\" is a system catalog"
 msgstr ""
 
-#: ../commands/rename.c:77
+#: ../commands/rename.c:95
 #, c-format
 msgid "renameatt: you do not own class \"%s\""
 msgstr ""
 
-#: ../commands/rename.c:122
+#: ../commands/rename.c:139
 #, c-format
 msgid "renameatt: can't find catalog entry for inheriting class with oid %u"
 msgstr ""
 
-#: ../commands/rename.c:142
+#: ../commands/rename.c:159
 #, c-format
 msgid "renameatt: attribute \"%s\" does not exist"
 msgstr ""
 
-#: ../commands/rename.c:145
+#: ../commands/rename.c:162
 #, c-format
 msgid "renameatt: system attribute \"%s\" not renamed"
 msgstr ""
 
-#: ../commands/rename.c:152
+#: ../commands/rename.c:169
 #, c-format
 msgid "renameatt: attribute \"%s\" exists"
 msgstr ""
 
-#: ../commands/rename.c:186
+#: ../commands/rename.c:206
 #, c-format
-msgid "renamerel: system relation \"%s\" may not be renamed"
+msgid "renameatt: can't find index id %u"
 msgstr ""
 
-#: ../commands/rename.c:190
+#: ../commands/rename.c:281
 #, c-format
-msgid ""
-"renamerel: Illegal class name: \"%s\" -- pg_ is reserved for system catalogs"
+msgid "renamerel: system relation \"%s\" may not be renamed"
 msgstr ""
 
-#: ../catalog/heap.c:941 ../commands/rename.c:207
+#: ../commands/rename.c:285
 #, c-format
-msgid "Relation \"%s\" does not exist"
+msgid ""
+"renamerel: Illegal class name: \"%s\" -- pg_ is reserved for system catalogs"
 msgstr ""
 
-#: ../commands/rename.c:244
+#: ../commands/rename.c:331
 #, c-format
 msgid "renamerel: relation \"%s\" does not exist"
 msgstr ""
 
-#: ../commands/rename.c:247
+#: ../commands/rename.c:334
 #, c-format
 msgid "renamerel: relation \"%s\" exists"
 msgstr ""
@@ -6707,139 +6726,156 @@ msgstr ""
 msgid "RemoveOperator: left unary operator '%s' taking '%s' does not exist"
 msgstr ""
 
-#: ../commands/remove.c:246
+#: ../commands/remove.c:245
 #, c-format
 msgid "RemoveType: type '%s': permission denied"
 msgstr ""
 
-#: ../commands/remove.c:255 ../commands/remove.c:270
+#: ../commands/remove.c:254 ../commands/remove.c:269
 #, c-format
 msgid "RemoveType: type '%s' does not exist"
 msgstr ""
 
-#: ../catalog/pg_proc.c:99 ../commands/comment.c:647 ../commands/remove.c:299
+#: ../catalog/pg_proc.c:99 ../commands/comment.c:636 ../commands/remove.c:298
 #, c-format
 msgid "functions cannot have more than %d arguments"
 msgstr ""
 
-#: ../commands/remove.c:317
+#: ../commands/remove.c:316
 #, c-format
 msgid "RemoveFunction: type '%s' not found"
 msgstr ""
 
-#: ../commands/remove.c:323
+#: ../commands/remove.c:322
 #, c-format
 msgid "RemoveFunction: function '%s': permission denied"
 msgstr ""
 
-#: ../commands/remove.c:341
+#: ../commands/remove.c:340
 #, c-format
 msgid "Removing built-in function \"%s\""
 msgstr ""
 
-#: ../commands/remove.c:375
+#: ../commands/remove.c:374
 #, c-format
 msgid "RemoveAggregate: type '%s' does not exist"
 msgstr ""
 
-#: ../commands/remove.c:383
+#: ../commands/remove.c:382
 #, c-format
 msgid "RemoveAggregate: aggregate '%s' for all types: permission denied"
 msgstr ""
 
-#: ../commands/remove.c:386
+#: ../commands/remove.c:385
 #, c-format
 msgid "RemoveAggregate: aggregate '%s' for type %s: permission denied"
 msgstr ""
 
-#: ../commands/variable.c:112
+#: ../commands/variable.c:113
 #, c-format
 msgid "Syntax error near \"%s\": empty setting"
 msgstr ""
 
-#: ../commands/variable.c:139 ../commands/variable.c:173
+#: ../commands/variable.c:140 ../commands/variable.c:174
 #, c-format
 msgid "Syntax error near \"%s\""
 msgstr ""
 
-#: ../commands/variable.c:149
+#: ../commands/variable.c:150
 #, c-format
 msgid "Syntax error near \"=%s\""
 msgstr ""
 
-#: ../commands/variable.c:251
+#: ../commands/variable.c:249
 #, c-format
 msgid "Bad value for date style (%s)"
 msgstr ""
 
-#: ../commands/variable.c:255
+#: ../commands/variable.c:253
 msgid "Conflicting settings for date"
 msgstr ""
 
-#: ../commands/variable.c:381 ../commands/variable.c:425
+#: ../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
 #, c-format
 msgid "Unable to set TZ environment variable to %s"
 msgstr ""
 
-#: ../commands/variable.c:396
+#: ../commands/variable.c:485
 #, c-format
-msgid "Time zone is %s"
+msgid "Time zone is '%s'"
+msgstr "ʱÇøÊÇ '%s'"
+
+#: ../commands/variable.c:487
+msgid "Time zone is unset"
 msgstr ""
 
-#: ../commands/variable.c:437
+#: ../commands/variable.c:531
 msgid "Unable to clear TZ environment variable"
 msgstr ""
 
-#: ../commands/variable.c:460 ../commands/variable.c:492
+#: ../commands/variable.c:560 ../commands/variable.c:591
 msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query"
 msgstr ""
 
-#: ../commands/variable.c:470
+#: ../commands/variable.c:569
 #, c-format
 msgid "invalid transaction isolation level: %s"
 msgstr ""
 
-#: ../commands/variable.c:480
+#: ../commands/variable.c:579
 msgid "TRANSACTION ISOLATION LEVEL is SERIALIZABLE"
 msgstr ""
 
-#: ../commands/variable.c:482
+#: ../commands/variable.c:581
 msgid "TRANSACTION ISOLATION LEVEL is READ COMMITTED"
 msgstr ""
 
-#: ../commands/variable.c:523
+#: ../commands/variable.c:626
 msgid "Seed for random number generator is unavailable"
 msgstr ""
 
-#: ../commands/variable.c:556 ../commands/variable.c:571
+#: ../commands/variable.c:670
 #, c-format
-msgid "Client encoding %s is not supported"
+msgid "Client encoding '%s' is not supported"
 msgstr ""
 
-#: ../commands/variable.c:558
+#: ../commands/variable.c:672
 msgid "No client encoding is specified"
 msgstr ""
 
-#: ../commands/variable.c:564
+#: ../commands/variable.c:678
 #, c-format
 msgid "Conversion between %s and %s is not supported"
 msgstr ""
 
-#: ../commands/variable.c:579
+#: ../commands/variable.c:685
+#, c-format
+msgid "Client encoding %s is not supported"
+msgstr ""
+
+#: ../commands/variable.c:693
 #, c-format
-msgid "Current client encoding is %s"
+msgid "Current client encoding is '%s'"
 msgstr ""
 
-#: ../commands/variable.c:615
+#: ../commands/variable.c:730
 msgid "SET SERVER_ENCODING is not supported"
 msgstr ""
 
-#: ../commands/variable.c:622
+#: ../commands/variable.c:737
 #, c-format
-msgid "Current server encoding is %s"
+msgid "Current server encoding is '%s'"
 msgstr ""
 
-#: ../commands/variable.c:629
+#: ../commands/variable.c:744
 msgid "RESET SERVER_ENCODING is not supported"
 msgstr ""
 
@@ -6848,23 +6884,23 @@ msgstr ""
 msgid "CreateTrigger: can't create trigger for system relation %s"
 msgstr ""
 
-#: ../commands/trigger.c:115
+#: ../commands/trigger.c:114
 msgid "CreateTrigger: STATEMENT triggers are unimplemented, yet"
 msgstr ""
 
-#: ../commands/trigger.c:123
+#: ../commands/trigger.c:122
 msgid "CreateTrigger: double INSERT event specified"
 msgstr ""
 
-#: ../commands/trigger.c:128
+#: ../commands/trigger.c:127
 msgid "CreateTrigger: double DELETE event specified"
 msgstr ""
 
-#: ../commands/trigger.c:133
+#: ../commands/trigger.c:132
 msgid "CreateTrigger: double UPDATE event specified"
 msgstr ""
 
-#: ../commands/trigger.c:137
+#: ../commands/trigger.c:136
 msgid "CreateTrigger: unknown event specified"
 msgstr ""
 
@@ -6897,366 +6933,315 @@ msgstr ""
 msgid "CreateTrigger: relation %s not found in pg_class"
 msgstr ""
 
-#: ../commands/trigger.c:349
+#: ../commands/trigger.c:350
 #, c-format
 msgid "DropTrigger: there is no trigger %s on relation %s"
 msgstr ""
 
-#: ../commands/trigger.c:352
+#: ../commands/trigger.c:353
 #, c-format
 msgid "DropTrigger: found (and deleted) %d triggers %s on relation %s"
 msgstr ""
 
-#: ../commands/trigger.c:367
+#: ../commands/trigger.c:368
 #, c-format
 msgid "DropTrigger: relation %s not found in pg_class"
 msgstr ""
 
-#: ../commands/trigger.c:437
+#: ../commands/trigger.c:439
 #, c-format
 msgid "RelationRemoveTriggers: relation %u not found in pg_class"
 msgstr ""
 
-#: ../commands/trigger.c:472
+#: ../commands/trigger.c:475
 #, c-format
 msgid ""
 "DROP TABLE implicitly drops referential integrity trigger from table \"%s\""
 msgstr ""
 
-#: ../commands/trigger.c:563
+#: ../commands/trigger.c:566
 #, c-format
 msgid "RelationBuildTriggers: unexpected record found for rel %s"
 msgstr ""
 
-#: ../commands/trigger.c:593 ../commands/trigger.c:604
+#: ../commands/trigger.c:601
 #, c-format
 msgid "RelationBuildTriggers: tgargs IS NULL for rel %s"
 msgstr ""
 
-#: ../commands/trigger.c:626
+#: ../commands/trigger.c:623
 #, c-format
 msgid "RelationBuildTriggers: %d record(s) not found for rel %s"
 msgstr ""
 
-#: ../commands/trigger.c:885
+#: ../commands/trigger.c:882
 #, c-format
 msgid "ExecCallTriggerFunc: function %u returned NULL"
 msgstr ""
 
-#: ../commands/trigger.c:1129 ../executor/execMain.c:1070
-#: ../executor/execMain.c:1342 ../executor/execMain.c:1475
+#: ../commands/trigger.c:1119 ../executor/execMain.c:1062
+#: ../executor/execMain.c:1333 ../executor/execMain.c:1465
 msgid "Can't serialize access due to concurrent update"
 msgstr ""
 
-#: ../commands/trigger.c:1152 ../executor/execMain.c:1091
+#: ../commands/trigger.c:1142 ../executor/execMain.c:1083
 #, c-format
 msgid "Unknown status %u from heap_mark4update"
 msgstr ""
 
-#: ../commands/trigger.c:1164
+#: ../commands/trigger.c:1154
 msgid "GetTupleForTrigger: failed ReadBuffer"
 msgstr ""
 
-#: ../commands/trigger.c:1348
-#, c-format
-msgid "deferredTriggerGetPreviousEvent: event for tuple %s not found"
-msgstr ""
-
-#: ../commands/trigger.c:1395
+#: ../commands/trigger.c:1345
 msgid "DeferredTriggerExecute: failed to fetch old tuple"
 msgstr ""
 
-#: ../commands/trigger.c:1403
+#: ../commands/trigger.c:1353
 msgid "DeferredTriggerExecute: failed to fetch new tuple"
 msgstr ""
 
-#: ../commands/trigger.c:1424
+#: ../commands/trigger.c:1374
 #, c-format
 msgid "DeferredTriggerExecute: can't find trigger %u"
 msgstr ""
 
-#: ../commands/trigger.c:1622
+#: ../commands/trigger.c:1619
 msgid "DeferredTriggerBeginXact() called while inside transaction"
 msgstr ""
 
-#: ../commands/trigger.c:1836
+#: ../commands/trigger.c:1827
 msgid "unnamed constraints cannot be set explicitly"
 msgstr ""
 
-#: ../commands/trigger.c:1887
+#: ../commands/trigger.c:1878
 #, c-format
 msgid "Constraint '%s' is not deferrable"
 msgstr ""
 
-#: ../commands/trigger.c:1902
+#: ../commands/trigger.c:1893
 #, c-format
 msgid "Constraint '%s' does not exist"
 msgstr ""
 
-#: ../commands/trigger.c:2020
+#: ../commands/trigger.c:2008
 msgid "DeferredTriggerSaveEvent() called outside of transaction"
 msgstr ""
 
-#: ../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
+#: ../commands/command.c:113
 msgid "PerformPortalFetch: missing portal name"
 msgstr ""
 
-#: ../commands/command.c:124
+#: ../commands/command.c:123
 #, c-format
 msgid "PerformPortalFetch: portal \"%s\" not found"
 msgstr ""
 
-#: ../commands/command.c:244
+#: ../commands/command.c:245
 msgid "PerformPortalClose: missing portal name"
 msgstr ""
 
-#: ../commands/command.c:254
+#: ../commands/command.c:255
 #, c-format
 msgid "PerformPortalClose: portal \"%s\" not found"
 msgstr ""
 
-#: ../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
+#: ../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
 msgid "ALTER TABLE: permission denied"
 msgstr ""
 
-#: ../commands/command.c:335 ../commands/command.c:543
-#: ../commands/command.c:712 ../commands/command.c:1053
-#: ../commands/command.c:1930
+#: ../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
 #, c-format
 msgid "ALTER TABLE: relation \"%s\" is not a table"
 msgstr ""
 
-#: ../commands/command.c:345
-msgid "Can't add a NOT NULL attribute to an existing relation"
+#: ../commands/command.c:394
+msgid ""
+"Adding columns with defaults is not implemented.\n"
+"\tAdd the column, then use ALTER TABLE SET DEFAULT."
 msgstr ""
 
-#: ../commands/command.c:348
-msgid "Adding columns with defaults is not implemented."
+#: ../commands/command.c:398
+msgid ""
+"Adding NOT NULL columns is not implemented.\n"
+"\tAdd the column, then use ALTER TABLE ADD CONSTRAINT."
 msgstr ""
 
-#: ../commands/command.c:400 ../commands/command.c:1073
-#: ../commands/command.c:1858 ../commands/command.c:1944
+#: ../commands/command.c:409 ../commands/command.c:1088
+#: ../commands/command.c:1766 ../commands/command.c:1852
 #, c-format
 msgid "ALTER TABLE: relation \"%s\" not found"
 msgstr ""
 
-#: ../commands/command.c:406
+#: ../commands/command.c:416
 #, 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:438
+#: ../commands/command.c:422
 #, 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:459
+#: ../commands/command.c:443
 #, c-format
 msgid "ALTER TABLE: type \"%s\" does not exist"
 msgstr ""
 
-#: ../commands/command.c:590 ../commands/command.c:764
+#: ../commands/command.c:606 ../commands/command.c:780
 #, c-format
 msgid "ALTER TABLE: relation \"%s\" has no column \"%s\""
 msgstr ""
 
-#: ../commands/command.c:768
+#: ../commands/command.c:784
 #, c-format
 msgid "ALTER TABLE: cannot change system attribute \"%s\""
 msgstr ""
 
-#: ../commands/command.c:950
+#: ../commands/command.c:966
 msgid "target column is used in a constraint"
 msgstr ""
 
-#: ../commands/command.c:985
+#: ../commands/command.c:1001
 msgid "target column is used in an index"
 msgstr ""
 
-#: ../commands/command.c:1030
+#: ../commands/command.c:1045
 msgid "ALTER TABLE / DROP COLUMN with inherit option is not supported yet"
 msgstr ""
 
-#: ../commands/command.c:1063
+#: ../commands/command.c:1078
 msgid "ALTER TABLE: cannot drop a column on table that is inherited from"
 msgstr ""
 
-#: ../commands/command.c:1084 ../commands/command.c:1955
+#: ../commands/command.c:1099 ../commands/command.c:1863
 msgid "couldn't lock pg_class tuple"
 msgstr ""
 
-#: ../commands/command.c:1099
+#: ../commands/command.c:1114
 #, c-format
 msgid "ALTER TABLE: column name \"%s\" doesn't exist in table \"%s\""
 msgstr ""
 
-#: ../commands/command.c:1105
+#: ../commands/command.c:1120
 #, c-format
 msgid "ALTER TABLE: column name \"%s\" was already dropped"
 msgstr ""
 
-#: ../commands/command.c:1114
+#: ../commands/command.c:1129
 msgid "the column is referenced"
 msgstr ""
 
-#: ../commands/command.c:1161
+#: ../commands/command.c:1176
 msgid "ALTER TABLE / DROP COLUMN is not implemented"
 msgstr ""
 
-#: ../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
+#: ../commands/command.c:1291
 #, c-format
 msgid "CHECK '%s' does not yield boolean result"
 msgstr ""
 
-#: ../commands/command.c:1259
+#: ../commands/command.c:1299
 #, c-format
 msgid "Only relation '%s' can be referenced in CHECK"
 msgstr ""
 
-#: ../commands/command.c:1300
+#: ../commands/command.c:1342
 #, c-format
 msgid "AlterTableAddConstraint: rejected due to CHECK constraint %s"
 msgstr ""
 
-#: ../commands/command.c:1421
-#, c-format
-msgid "ALTER TABLE/ADD CONSTRAINT: Index \"%u\" not found"
-msgstr ""
-
-#: ../commands/command.c:1455
+#: ../commands/command.c:1442
 #, c-format
-msgid "ALTER TABLE/ADD CONSTRAINT: Key \"%u[%u]\" not found"
+msgid "ALTER TABLE / ADD CONSTRAINT: Index \"%u\" not found"
 msgstr ""
 
-#: ../commands/command.c:1471
+#: ../commands/command.c:1501
 #, c-format
 msgid "Unique primary key already defined on relation \"%s\""
 msgstr ""
 
-#: ../commands/command.c:1473
+#: ../commands/command.c:1503
 #, c-format
 msgid ""
 "Unique constraint already defined on the specified attributes in relation \"%"
 "s\""
 msgstr ""
 
-#: ../commands/command.c:1487
+#: ../commands/command.c:1520
 #, 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:1490
+#: ../commands/command.c:1523
 #, c-format
 msgid ""
 "Unique constraint supercedes existing index on relation \"%s\".  Drop the "
 "existing index to remove redundancy."
 msgstr ""
 
-#: ../commands/command.c:1499
+#: ../commands/command.c:1529
 msgid ""
 "ALTER TABLE / ADD CONSTRAINT is not implemented for that constraint type."
 msgstr ""
 
-#: ../commands/command.c:1528
+#: ../commands/command.c:1545
 msgid ""
 "ALTER TABLE / ADD CONSTRAINT: Unable to reference temporary table from "
 "permanent table constraint."
 msgstr ""
 
-#: ../commands/command.c:1537
+#: ../commands/command.c:1554
 #, c-format
 msgid "referenced table \"%s\" not a relation"
 msgstr ""
 
-#: ../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
+#: ../commands/command.c:1651
 msgid ""
 "ALTER TABLE / ADD CONSTRAINT unable to determine type of constraint passed"
 msgstr ""
 
-#: ../commands/command.c:1779
+#: ../commands/command.c:1685
 msgid "ALTER TABLE / DROP CONSTRAINT does not support the CASCADE keyword"
 msgstr ""
 
-#: ../commands/command.c:1790
-#, c-format
-msgid "ALTER TABLE / DROP CONSTRAINT: %s is not a table"
-msgstr ""
-
-#: ../commands/command.c:1818
+#: ../commands/command.c:1726
 #, c-format
 msgid "ALTER TABLE / DROP CONSTRAINT: %s does not exist"
 msgstr ""
 
-#: ../commands/command.c:1822
+#: ../commands/command.c:1730
 msgid "Multiple constraints dropped"
 msgstr ""
 
-#: ../commands/command.c:1870
+#: ../commands/command.c:1778
 #, c-format
 msgid "ALTER TABLE: relation \"%s\" is not a table, index, view, or sequence"
 msgstr ""
 
-#: ../commands/command.c:1973
+#: ../commands/command.c:1881
 #, c-format
 msgid "ALTER TABLE: relation \"%s\" already has a toast table"
 msgstr ""
 
-#: ../commands/command.c:1990
+#: ../commands/command.c:1898
 #, c-format
 msgid "ALTER TABLE: relation \"%s\" does not need a toast table"
 msgstr ""
 
-#: ../commands/command.c:2168
-#, c-format
-msgid "LOCK TABLE: %s is not a table"
+#: ../commands/command.c:2083
+msgid "LOCK TABLE: permission denied"
 msgstr ""
 
-#: ../commands/command.c:2179
-msgid "LOCK TABLE: permission denied"
+#: ../commands/command.c:2089
+#, c-format
+msgid "LOCK TABLE: %s is not a table"
 msgstr ""
 
 #: ../commands/comment.c:112
@@ -7264,122 +7249,122 @@ msgstr ""
 msgid "An attempt was made to comment on a unknown type: %d"
 msgstr ""
 
-#: ../commands/comment.c:332 ../commands/comment.c:404
+#: ../commands/comment.c:332 ../commands/comment.c:393
 #, c-format
 msgid "you are not permitted to comment on class '%s'"
 msgstr ""
 
-#: ../commands/comment.c:355
+#: ../commands/comment.c:348
 #, c-format
 msgid "relation '%s' is not an index"
 msgstr ""
 
-#: ../commands/comment.c:359
+#: ../commands/comment.c:352
 #, c-format
 msgid "relation '%s' is not a table"
 msgstr ""
 
-#: ../commands/comment.c:363
+#: ../commands/comment.c:356
 #, c-format
 msgid "relation '%s' is not a view"
 msgstr ""
 
-#: ../commands/comment.c:367
+#: ../commands/comment.c:360
 #, c-format
 msgid "relation '%s' is not a sequence"
 msgstr ""
 
-#: ../commands/comment.c:414
+#: ../commands/comment.c:403
 #, c-format
 msgid "'%s' is not an attribute of class '%s'"
 msgstr ""
 
-#: ../commands/comment.c:458
+#: ../commands/comment.c:447
 #, c-format
 msgid "database '%s' does not exist"
 msgstr ""
 
-#: ../commands/comment.c:464
+#: ../commands/comment.c:453
 #, c-format
 msgid "you are not permitted to comment on database '%s'"
 msgstr ""
 
-#: ../commands/comment.c:500
+#: ../commands/comment.c:489
 #, c-format
 msgid "you are not permitted to comment on rule '%s'"
 msgstr ""
 
-#: ../commands/comment.c:509
+#: ../commands/comment.c:498
 #, c-format
 msgid "rule '%s' does not exist"
 msgstr ""
 
-#: ../commands/comment.c:542
+#: ../commands/comment.c:531
 #, c-format
 msgid "you are not permitted to comment on type '%s'"
 msgstr ""
 
-#: ../commands/comment.c:551 ../commands/comment.c:585
+#: ../commands/comment.c:540 ../commands/comment.c:574
 #, c-format
 msgid "type '%s' does not exist"
 msgstr ""
 
-#: ../commands/comment.c:595
+#: ../commands/comment.c:584
 #, c-format
 msgid "you are not permitted to comment on aggregate '%s' for all types"
 msgstr ""
 
-#: ../commands/comment.c:598
+#: ../commands/comment.c:587
 #, c-format
 msgid "you are not permitted to comment on aggregate '%s' for type %s"
 msgstr ""
 
-#: ../commands/comment.c:664
+#: ../commands/comment.c:653
 #, c-format
 msgid "CommentProc: type '%s' not found"
 msgstr ""
 
-#: ../commands/comment.c:671
+#: ../commands/comment.c:660
 #, c-format
 msgid "you are not permitted to comment on function '%s'"
 msgstr ""
 
-#: ../commands/comment.c:734
+#: ../commands/comment.c:723
 #, c-format
 msgid "left type '%s' does not exist"
 msgstr ""
 
-#: ../commands/comment.c:743
+#: ../commands/comment.c:732
 #, c-format
 msgid "right type '%s' does not exist"
 msgstr ""
 
-#: ../commands/comment.c:755
+#: ../commands/comment.c:744
 #, c-format
 msgid "operator '%s' is of an illegal type'"
 msgstr ""
 
-#: ../commands/comment.c:765
+#: ../commands/comment.c:754
 #, c-format
 msgid "operator '%s' does not exist"
 msgstr ""
 
-#: ../commands/comment.c:772
+#: ../commands/comment.c:761
 #, c-format
 msgid "you are not permitted to comment on operator '%s'"
 msgstr ""
 
-#: ../commands/comment.c:780
+#: ../commands/comment.c:769
 #, c-format
 msgid "operator '%s' does not have an underlying function"
 msgstr ""
 
-#: ../commands/comment.c:813
+#: ../commands/comment.c:802
 #, c-format
 msgid "you are not permitted to comment on trigger '%s' %s '%s'"
 msgstr ""
 
-#: ../commands/comment.c:832
+#: ../commands/comment.c:821
 #, c-format
 msgid "trigger '%s' defined for relation '%s' does not exist"
 msgstr ""
@@ -7427,7 +7412,7 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../commands/dbcommands.c:84 ../commands/dbcommands.c:316
+#: ../commands/dbcommands.c:84 ../commands/dbcommands.c:317
 msgid "current user name is invalid"
 msgstr ""
 
@@ -7439,7 +7424,7 @@ msgstr ""
 msgid "CREATE DATABASE: may not be called in a transaction block"
 msgstr ""
 
-#: ../commands/dbcommands.c:102 ../commands/dbcommands.c:232
+#: ../commands/dbcommands.c:102 ../commands/dbcommands.c:233
 #, c-format
 msgid "CREATE DATABASE: database \"%s\" already exists"
 msgstr ""
@@ -7464,88 +7449,88 @@ msgstr ""
 msgid "CREATE DATABASE: invalid backend encoding"
 msgstr ""
 
-#: ../commands/dbcommands.c:171 ../commands/dbcommands.c:173
-#: ../commands/dbcommands.c:175
+#: ../commands/dbcommands.c:172 ../commands/dbcommands.c:174
+#: ../commands/dbcommands.c:176
 msgid "database path may not contain single quotes"
 msgstr ""
 
-#: ../commands/dbcommands.c:198
+#: ../commands/dbcommands.c:199
 #, c-format
 msgid "CREATE DATABASE: unable to create database directory '%s': %m"
 msgstr ""
 
-#: ../commands/dbcommands.c:206
+#: ../commands/dbcommands.c:207
 #, c-format
 msgid "CREATE DATABASE: could not link '%s' to '%s': %m"
 msgstr ""
 
-#: ../commands/dbcommands.c:216
+#: ../commands/dbcommands.c:217
 msgid "CREATE DATABASE: could not initialize database directory"
 msgstr ""
 
-#: ../commands/dbcommands.c:218
+#: ../commands/dbcommands.c:219
 msgid ""
 "CREATE DATABASE: could not initialize database directory; delete failed as "
 "well"
 msgstr ""
 
-#: ../commands/dbcommands.c:310
+#: ../commands/dbcommands.c:311
 msgid "DROP DATABASE: cannot be executed on the currently open database"
 msgstr ""
 
-#: ../commands/dbcommands.c:313
+#: ../commands/dbcommands.c:314
 msgid "DROP DATABASE: may not be called in a transaction block"
 msgstr ""
 
-#: ../commands/dbcommands.c:331
+#: ../commands/dbcommands.c:332
 #, c-format
 msgid "DROP DATABASE: database \"%s\" does not exist"
 msgstr ""
 
-#: ../commands/dbcommands.c:334
+#: ../commands/dbcommands.c:335
 msgid "DROP DATABASE: permission denied"
 msgstr ""
 
-#: ../commands/dbcommands.c:342
+#: ../commands/dbcommands.c:343
 msgid "DROP DATABASE: database is marked as a template"
 msgstr ""
 
-#: ../commands/dbcommands.c:351
+#: ../commands/dbcommands.c:352
 #, c-format
 msgid "DROP DATABASE: database \"%s\" is being accessed by other users"
 msgstr ""
 
-#: ../commands/dbcommands.c:368
+#: ../commands/dbcommands.c:369
 #, c-format
 msgid ""
 "DROP DATABASE: Database \"%s\" doesn't exist despite earlier reports to the "
 "contrary"
 msgstr ""
 
-#: ../commands/dbcommands.c:531
+#: ../commands/dbcommands.c:532
 msgid "Relative paths are not allowed as database locations"
 msgstr ""
 
-#: ../commands/dbcommands.c:533
+#: ../commands/dbcommands.c:534
 msgid "Absolute paths are not allowed as database locations"
 msgstr ""
 
-#: ../commands/dbcommands.c:543
+#: ../commands/dbcommands.c:544
 #, c-format
 msgid "Postmaster environment variable '%s' not set"
 msgstr ""
 
-#: ../commands/dbcommands.c:545
+#: ../commands/dbcommands.c:546
 #, c-format
 msgid "Postmaster environment variable '%s' must be absolute path"
 msgstr ""
 
-#: ../commands/dbcommands.c:577
+#: ../commands/dbcommands.c:578
 #, c-format
 msgid "could not remove '%s': %m"
 msgstr ""
 
-#: ../commands/dbcommands.c:586
+#: ../commands/dbcommands.c:587
 #, c-format
 msgid "database directory '%s' could not be removed"
 msgstr ""
@@ -7554,292 +7539,292 @@ msgstr ""
 msgid "DefineRelation: please inherit from a relation or define an attribute"
 msgstr ""
 
-#: ../catalog/heap.c:1697 ../catalog/heap.c:1711 ../commands/creatinh.c:110
+#: ../catalog/heap.c:1719 ../catalog/heap.c:1733 ../commands/creatinh.c:110
 #, c-format
 msgid "Duplicate CHECK constraint name: '%s'"
 msgstr ""
 
-#: ../commands/creatinh.c:328
+#: ../commands/creatinh.c:329
 #, c-format
 msgid "CREATE TABLE: attribute \"%s\" duplicated"
 msgstr ""
 
-#: ../commands/creatinh.c:342
+#: ../commands/creatinh.c:344
 #, c-format
 msgid "CREATE TABLE: inherited relation \"%s\" duplicated"
 msgstr ""
 
-#: ../commands/creatinh.c:365
+#: ../commands/creatinh.c:367
 #, c-format
 msgid "CREATE TABLE: inherited relation \"%s\" is not a table"
 msgstr ""
 
-#: ../commands/creatinh.c:368
+#: ../commands/creatinh.c:370
 #, c-format
 msgid "CREATE TABLE: cannot inherit from temp relation \"%s\""
 msgstr ""
 
-#: ../commands/creatinh.c:375
+#: ../commands/creatinh.c:377
 #, c-format
 msgid "you do not own table \"%s\""
 msgstr ""
 
-#: ../commands/creatinh.c:411
+#: ../commands/creatinh.c:413
 #, c-format
 msgid "CREATE TABLE: cache lookup failed for type %u"
 msgstr ""
 
-#: ../commands/creatinh.c:426
+#: ../commands/creatinh.c:428
 #, c-format
 msgid ""
 "CREATE TABLE: merging multiple inherited definitions of attribute \"%s\""
 msgstr ""
 
-#: ../commands/creatinh.c:431
+#: ../commands/creatinh.c:433
 #, c-format
 msgid "CREATE TABLE: inherited attribute \"%s\" type conflict (%s and %s)"
 msgstr ""
 
-#: ../commands/creatinh.c:561
+#: ../commands/creatinh.c:567
 #, c-format
 msgid "CREATE TABLE: merging attribute \"%s\" with inherited definition"
 msgstr ""
 
-#: ../commands/creatinh.c:566
+#: ../commands/creatinh.c:572
 #, c-format
 msgid "CREATE TABLE: attribute \"%s\" type conflict (%s and %s)"
 msgstr ""
 
-#: ../commands/creatinh.c:600
+#: ../commands/creatinh.c:606
 #, c-format
 msgid ""
 "CREATE TABLE: attribute \"%s\" inherits conflicting default values\n"
 "\tTo resolve the conflict, specify a default explicitly"
 msgstr ""
 
-#: ../commands/creatinh.c:839
+#: ../commands/creatinh.c:843
 #, c-format
 msgid "setRelhassubclassInRelation: cache lookup failed for relation %u"
 msgstr ""
 
-#: ../commands/copy.c:117
+#: ../commands/copy.c:116
 #, c-format
 msgid "CopySendData: %m"
 msgstr ""
 
-#: ../commands/copy.c:288
+#: ../commands/copy.c:286
 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:297
+#: ../commands/copy.c:295
 msgid "COPY BINARY is not supported to stdout or from stdin"
 msgstr ""
 
-#: ../commands/copy.c:313 ../commands/copy.c:345
+#: ../commands/copy.c:311 ../commands/copy.c:343
 #, c-format
 msgid "You cannot copy view %s"
 msgstr ""
 
-#: ../commands/copy.c:315
+#: ../commands/copy.c:313
 #, c-format
 msgid "You cannot change sequence relation %s"
 msgstr ""
 
-#: ../commands/copy.c:317 ../commands/copy.c:349
+#: ../commands/copy.c:315 ../commands/copy.c:347
 #, c-format
 msgid "You cannot copy object %s"
 msgstr ""
 
-#: ../commands/copy.c:333
+#: ../commands/copy.c:331
 #, 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:347
+#: ../commands/copy.c:345
 #, c-format
 msgid "You cannot copy sequence %s"
 msgstr ""
 
-#: ../commands/copy.c:371
+#: ../commands/copy.c:369
 msgid "Relative path not allowed for server side COPY command."
 msgstr ""
 
-#: ../commands/copy.c:379
+#: ../commands/copy.c:377
 #, 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:428
+#: ../commands/copy.c:426
 #, c-format
 msgid "COPY: table %s does not have OIDs"
 msgstr ""
 
-#: ../commands/copy.c:448
+#: ../commands/copy.c:446
 #, c-format
 msgid "COPY: couldn't lookup info for type %u"
 msgstr ""
 
-#: ../commands/copy.c:696
+#: ../commands/copy.c:693
 msgid "COPY BINARY: file signature not recognized"
 msgstr ""
 
-#: ../commands/copy.c:701
+#: ../commands/copy.c:698
 msgid "COPY BINARY: incompatible integer layout"
 msgstr ""
 
-#: ../commands/copy.c:705
+#: ../commands/copy.c:702
 msgid "COPY BINARY: bogus file header (missing flags)"
 msgstr ""
 
-#: ../commands/copy.c:709
+#: ../commands/copy.c:706
 msgid "COPY BINARY: unrecognized critical flags in header"
 msgstr ""
 
-#: ../commands/copy.c:714
+#: ../commands/copy.c:711
 msgid "COPY BINARY: bogus file header (missing length)"
 msgstr ""
 
-#: ../commands/copy.c:720
+#: ../commands/copy.c:717
 msgid "COPY BINARY: bogus file header (wrong length)"
 msgstr ""
 
-#: ../commands/copy.c:759
+#: ../commands/copy.c:756
 msgid "COPY TEXT: NULL Oid"
 msgstr ""
 
-#: ../commands/copy.c:767
+#: ../commands/copy.c:764
 msgid "COPY TEXT: Invalid Oid"
 msgstr ""
 
-#: ../commands/copy.c:805
+#: ../commands/copy.c:802
 #, c-format
 msgid "COPY BINARY: tuple field count is %d, expected %d"
 msgstr ""
 
-#: ../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
+#: ../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
 msgid "COPY BINARY: unexpected EOF"
 msgstr ""
 
-#: ../commands/copy.c:814
+#: ../commands/copy.c:811
 #, c-format
 msgid "COPY BINARY: sizeof(Oid) is %d, expected %d"
 msgstr ""
 
-#: ../commands/copy.c:820
+#: ../commands/copy.c:817
 msgid "COPY BINARY: Invalid Oid"
 msgstr ""
 
-#: ../commands/copy.c:831
+#: ../commands/copy.c:828
 #, c-format
 msgid "COPY BINARY: sizeof(field %d) is %d, expected %d"
 msgstr ""
 
-#: ../commands/copy.c:843
+#: ../commands/copy.c:840
 msgid "COPY BINARY: bogus varlena length"
 msgstr ""
 
-#: ../commands/copy.c:976
+#: ../commands/copy.c:973
 #, c-format
 msgid "GetInputFunction: Cache lookup of type %u failed"
 msgstr ""
 
-#: ../commands/copy.c:992
+#: ../commands/copy.c:989
 #, c-format
 msgid "GetTypeElement: Cache lookup of type %u failed"
 msgstr ""
 
-#: ../commands/copy.c:1008
+#: ../commands/copy.c:1005
 msgid "CopyReadNewline: extra fields ignored"
 msgstr ""
 
-#: ../commands/copy.c:1143
+#: ../commands/copy.c:1140
 msgid "CopyReadAttribute: end of record marker corrupted"
 msgstr ""
 
-#: ../commands/vacuum.c:970 ../commands/vacuumlazy.c:211
+#: ../commands/vacuum.c:974 ../commands/vacuumlazy.c:211
 #, c-format
 msgid "--Relation %s--"
 msgstr ""
 
-#: ../commands/vacuum.c:1000 ../commands/vacuumlazy.c:264
+#: ../commands/vacuum.c:1004 ../commands/vacuumlazy.c:265
 #, c-format
 msgid "Rel %s: Uninitialized page %u - fixing"
 msgstr ""
 
-#: ../catalog/index.c:1747 ../commands/vacuum.c:1124
-#: ../commands/vacuumlazy.c:353 ../commands/vacuumlazy.c:829
+#: ../catalog/index.c:1745 ../commands/vacuum.c:1133
+#: ../commands/vacuumlazy.c:356 ../commands/vacuumlazy.c:835
 msgid "Unexpected HeapTupleSatisfiesVacuum result"
 msgstr ""
 
-#: ../commands/vacuum.c:1137 ../commands/vacuumlazy.c:366
+#: ../commands/vacuum.c:1146 ../commands/vacuumlazy.c:369
 #, c-format
 msgid "Rel %s: TID %u/%u: OID IS INVALID. TUPGONE %d."
 msgstr ""
 
-#: ../commands/vacuumlazy.c:428
+#: ../commands/vacuumlazy.c:431
 #, c-format
 msgid ""
 "Pages %u: Changed %u, Empty %u; Tup %.0f: Vac %.0f, Keep %.0f, UnUsed %.0f.\n"
 "\tTotal %s"
 msgstr ""
 
-#: ../commands/vacuumlazy.c:477
+#: ../commands/vacuumlazy.c:480
 #, c-format
 msgid ""
 "Removed %d tuples in %d pages.\n"
 "\t%s"
 msgstr ""
 
-#: ../commands/vacuum.c:2436 ../commands/vacuumlazy.c:585
+#: ../commands/vacuum.c:2446 ../commands/vacuumlazy.c:588
 #, c-format
 msgid ""
 "Index %s: Pages %u; Tuples %.0f.\n"
 "\t%s"
 msgstr ""
 
-#: ../commands/vacuum.c:2490 ../commands/vacuumlazy.c:632
+#: ../commands/vacuum.c:2500 ../commands/vacuumlazy.c:635
 #, c-format
 msgid ""
 "Index %s: Pages %u; Tuples %.0f: Deleted %.0f.\n"
 "\t%s"
 msgstr ""
 
-#: ../commands/vacuumlazy.c:706
+#: ../commands/vacuumlazy.c:710
 #, c-format
 msgid "VACUUM (lazy_truncate_heap): FlushRelationBuffers returned %d"
 msgstr ""
 
-#: ../commands/vacuumlazy.c:740
+#: ../commands/vacuumlazy.c:745
 #, c-format
 msgid ""
 "Truncated %u --> %u pages.\n"
 "\t%s"
 msgstr ""
 
-#: ../commands/define.c:150
+#: ../commands/define.c:149
 msgid "untrusted function has been decommissioned."
 msgstr ""
 
-#: ../commands/define.c:161
+#: ../commands/define.c:160
 #, c-format
 msgid "Unrecognized function attribute '%s' ignored"
 msgstr ""
 
-#: ../commands/define.c:204
+#: ../commands/define.c:202
 #, c-format
 msgid "CREATE FUNCTION: only one AS item needed for %s language"
 msgstr ""
 
-#: ../commands/define.c:263
+#: ../commands/define.c:261
 #, c-format
 msgid ""
 "Only users with Postgres superuser privilege are permitted to create a "
@@ -7847,69 +7832,69 @@ msgid ""
 "\tOthers may use the 'sql' language or the created procedural languages."
 msgstr ""
 
-#: ../commands/define.c:284
+#: ../commands/define.c:282
 #, c-format
 msgid ""
 "Unrecognized language specified in a CREATE FUNCTION: '%s'.\n"
-"\tRecognized languages are sql, C, internal, and created procedural "
-"languages."
+"\tPre-installed languages are SQL, C, and internal.\n"
+"\tAdditional languages may be installed using 'createlang'."
 msgstr ""
 
-#: ../commands/define.c:293
+#: ../commands/define.c:292
 #, c-format
 msgid "Language '%s' isn't defined as PL"
 msgstr ""
 
-#: ../commands/define.c:300
+#: ../commands/define.c:299
 #, c-format
 msgid ""
 "Only users with Postgres superuser privilege are permitted to create a "
 "function in the '%s' language."
 msgstr ""
 
-#: ../commands/define.c:388
+#: ../commands/define.c:387
 msgid "setof type not implemented for leftarg"
 msgstr ""
 
-#: ../commands/define.c:395
+#: ../commands/define.c:394
 msgid "setof type not implemented for rightarg"
 msgstr ""
 
-#: ../commands/define.c:402
+#: ../commands/define.c:401
 msgid "CREATE OPERATOR: precedence not implemented"
 msgstr ""
 
-#: ../commands/define.c:407
+#: ../commands/define.c:406
 msgid "CREATE OPERATOR: associativity not implemented"
 msgstr ""
 
-#: ../commands/define.c:433
+#: ../commands/define.c:432
 #, c-format
 msgid "DefineOperator: attribute \"%s\" not recognized"
 msgstr ""
 
-#: ../commands/define.c:442
+#: ../commands/define.c:441
 msgid "Define: \"procedure\" unspecified"
 msgstr ""
 
-#: ../commands/define.c:504
+#: ../commands/define.c:503
 #, c-format
 msgid "DefineAggregate: attribute \"%s\" not recognized"
 msgstr ""
 
-#: ../commands/define.c:512
+#: ../commands/define.c:511
 msgid "Define: \"basetype\" unspecified"
 msgstr ""
 
-#: ../commands/define.c:514
+#: ../commands/define.c:513
 msgid "Define: \"stype\" unspecified"
 msgstr ""
 
-#: ../commands/define.c:516
+#: ../commands/define.c:515
 msgid "Define: \"sfunc\" unspecified"
 msgstr ""
 
-#: ../commands/define.c:557
+#: ../commands/define.c:556
 #, c-format
 msgid "DefineType: type names must be %d characters or less"
 msgstr ""
@@ -7986,74 +7971,74 @@ msgstr ""
 msgid "DefineIndex: relation \"%s\" not found"
 msgstr ""
 
-#: ../commands/indexcmds.c:106
+#: ../commands/indexcmds.c:107
 #, c-format
 msgid "DefineIndex: access method \"%s\" not found"
 msgstr ""
 
-#: ../commands/indexcmds.c:112
+#: ../commands/indexcmds.c:113
 #, c-format
 msgid "DefineIndex: access method \"%s\" does not support UNIQUE indexes"
 msgstr ""
 
-#: ../commands/indexcmds.c:115
+#: ../commands/indexcmds.c:116
 #, c-format
 msgid "DefineIndex: access method \"%s\" does not support multi-column indexes"
 msgstr ""
 
-#: ../commands/indexcmds.c:134
+#: ../commands/indexcmds.c:135
 msgid "Existing indexes are inactive. REINDEX first"
 msgstr ""
 
-#: ../commands/indexcmds.c:152
+#: ../commands/indexcmds.c:153
 msgid "Functional index can only have one attribute"
 msgstr ""
 
-#: ../commands/indexcmds.c:156
+#: ../commands/indexcmds.c:157
 #, c-format
 msgid "Index function can take at most %d arguments"
 msgstr ""
 
-#: ../commands/indexcmds.c:211
+#: ../commands/indexcmds.c:212
 msgid "Partial-index predicates may refer only to the base relation"
 msgstr ""
 
-#: ../commands/indexcmds.c:218
+#: ../commands/indexcmds.c:220
 msgid "Cannot use subselect in index predicate"
 msgstr ""
 
-#: ../commands/indexcmds.c:220
+#: ../commands/indexcmds.c:222
 msgid "Cannot use aggregate in index predicate"
 msgstr ""
 
-#: ../commands/indexcmds.c:227
+#: ../commands/indexcmds.c:229
 msgid "Cannot use non-cachable function in index predicate"
 msgstr ""
 
-#: ../commands/indexcmds.c:268 ../commands/indexcmds.c:359
+#: ../commands/indexcmds.c:270 ../commands/indexcmds.c:361
 #, c-format
 msgid "DefineIndex: attribute \"%s\" not found"
 msgstr ""
 
-#: ../commands/indexcmds.c:293
+#: ../commands/indexcmds.c:295
 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:300
+#: ../commands/indexcmds.c:302
 msgid "DefineIndex: cannot index on a function returning a set"
 msgstr ""
 
-#: ../commands/indexcmds.c:317
+#: ../commands/indexcmds.c:319
 msgid "DefineIndex: index function must be marked iscachable"
 msgstr ""
 
-#: ../commands/indexcmds.c:352
+#: ../commands/indexcmds.c:354
 msgid "missing attribute for define index"
 msgstr ""
 
-#: ../commands/indexcmds.c:386
+#: ../commands/indexcmds.c:388
 #, c-format
 msgid ""
 "data type %s has no default operator class for access method \"%s\"\n"
@@ -8061,259 +8046,269 @@ msgid ""
 "\tdefault operator class for the data type"
 msgstr ""
 
-#: ../commands/indexcmds.c:402
+#: ../commands/indexcmds.c:404
 #, c-format
 msgid ""
 "DefineIndex: operator class \"%s\" not supported by access method \"%s\""
 msgstr ""
 
-#: ../commands/indexcmds.c:410
+#: ../commands/indexcmds.c:412
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr ""
 
-#: ../commands/indexcmds.c:474
+#: ../commands/indexcmds.c:476
 #, c-format
 msgid "pg_opclass contains multiple default opclasses for data tyype %s"
 msgstr ""
 
-#: ../commands/indexcmds.c:500 ../commands/indexcmds.c:537
+#: ../commands/indexcmds.c:502 ../commands/indexcmds.c:539
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr ""
 
-#: ../commands/indexcmds.c:503 ../commands/indexcmds.c:540
-#: ../commands/indexcmds.c:579
+#: ../commands/indexcmds.c:505 ../commands/indexcmds.c:542
+#: ../commands/indexcmds.c:581
 #, c-format
 msgid "relation \"%s\" is of type \"%c\""
 msgstr ""
 
-#: ../commands/indexcmds.c:531 ../commands/indexcmds.c:570
+#: ../commands/indexcmds.c:533 ../commands/indexcmds.c:572
 msgid "REINDEX cannot run inside a BEGIN/END block"
 msgstr ""
 
-#: ../commands/indexcmds.c:546
+#: ../commands/indexcmds.c:548
 #, c-format
 msgid "index \"%s\" wasn't reindexed"
 msgstr ""
 
-#: ../commands/indexcmds.c:576
+#: ../commands/indexcmds.c:578
 #, c-format
 msgid "table \"%s\" does not exist"
 msgstr ""
 
-#: ../commands/indexcmds.c:583
+#: ../commands/indexcmds.c:585
 #, c-format
 msgid "table \"%s\" wasn't reindexed"
 msgstr ""
 
-#: ../commands/indexcmds.c:613
+#: ../commands/indexcmds.c:615
 msgid "REINDEX DATABASE: Can be executed only on the currently open database."
 msgstr ""
 
-#: ../commands/indexcmds.c:616
+#: ../commands/indexcmds.c:618
 msgid "REINDEX DATABASE: Permission denied."
 msgstr ""
 
-#: ../commands/indexcmds.c:624
+#: ../commands/indexcmds.c:626
 msgid "REINDEX DATABASE cannot run inside a BEGIN/END block"
 msgstr ""
 
-#: ../commands/indexcmds.c:676
+#: ../commands/indexcmds.c:680
 #, c-format
 msgid "relation %u was reindexed"
 msgstr ""
 
-#: ../commands/analyze.c:205
+#: ../commands/analyze.c:210
 #, c-format
 msgid "Skipping \"%s\" --- only table or database owner can ANALYZE it"
 msgstr ""
 
-#: ../commands/analyze.c:212
+#: ../commands/analyze.c:217
 #, c-format
 msgid "Analyzing %s"
 msgstr ""
 
-#: ../commands/analyze.c:239
+#: ../commands/analyze.c:244
 #, c-format
 msgid "ANALYZE: there is no attribute %s in %s"
 msgstr ""
 
-#: ../commands/analyze.c:607
+#: ../commands/analyze.c:620
 #, c-format
 msgid "acquire_sample_rows: ReadBuffer(%s,%u) failed"
 msgstr ""
 
-#: ../commands/user.c:76 ../commands/user.c:159
+#: ../commands/user.c:81
 #, c-format
 msgid "write_password_file: unable to write %s: %m"
 msgstr ""
 
-#: ../commands/user.c:136
+#: ../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
 #, c-format
 msgid "%s: %m"
 msgstr ""
 
-#: ../commands/user.c:144
+#: ../commands/user.c:176
 #, c-format
 msgid "rename %s to %s: %m"
 msgstr ""
 
-#: ../commands/user.c:227 ../commands/user.c:236 ../commands/user.c:241
-#: ../commands/user.c:246 ../commands/user.c:251 ../commands/user.c:256
+#: ../commands/user.c:252 ../commands/user.c:262 ../commands/user.c:268
+#: ../commands/user.c:274 ../commands/user.c:280 ../commands/user.c:286
 msgid "CREATE USER: conflicting options"
 msgstr ""
 
-#: ../commands/user.c:260
+#: ../commands/user.c:290
 #, c-format
 msgid "CREATE USER: option \"%s\" not recognized"
 msgstr ""
 
-#: ../commands/user.c:272
+#: ../commands/user.c:302
 msgid "user id must be positive"
 msgstr ""
 
-#: ../commands/user.c:287
+#: ../commands/user.c:317
 msgid "CREATE USER: permission denied"
 msgstr ""
 
-#: ../commands/user.c:326
+#: ../commands/user.c:356
 #, c-format
 msgid "CREATE USER: user name \"%s\" already exists"
 msgstr ""
 
-#: ../commands/user.c:329
+#: ../commands/user.c:359
 #, c-format
 msgid "CREATE USER: sysid %d is already assigned"
 msgstr ""
 
-#: ../commands/user.c:359 ../commands/user.c:592
+#: ../commands/user.c:389 ../commands/user.c:627
 msgid "CREATE USER: password encryption failed"
 msgstr ""
 
-#: ../commands/user.c:462 ../commands/user.c:471 ../commands/user.c:476
-#: ../commands/user.c:481
+#: ../commands/user.c:494 ../commands/user.c:504 ../commands/user.c:510
+#: ../commands/user.c:516
 msgid "ALTER USER: conflicting options"
 msgstr ""
 
-#: ../commands/user.c:485
+#: ../commands/user.c:520
 #, c-format
 msgid "ALTER USER: option \"%s\" not recognized"
 msgstr ""
 
-#: ../commands/user.c:508
+#: ../commands/user.c:543
 msgid "ALTER USER: permission denied"
 msgstr ""
 
-#: ../commands/user.c:512
+#: ../commands/user.c:547
 msgid "ALTER USER: password changes cannot be rolled back"
 msgstr ""
 
-#: ../commands/user.c:526
+#: ../commands/user.c:561
 #, c-format
 msgid "ALTER USER: user \"%s\" does not exist"
 msgstr ""
 
-#: ../commands/user.c:663
+#: ../commands/user.c:698
 msgid "DROP USER: permission denied"
 msgstr ""
 
-#: ../commands/user.c:666
+#: ../commands/user.c:701
 msgid "DROP USER cannot be rolled back completely"
 msgstr ""
 
-#: ../commands/user.c:693
+#: ../commands/user.c:728
 #, c-format
 msgid "DROP USER: user \"%s\" does not exist%s"
 msgstr ""
 
-#: ../commands/user.c:699
+#: ../commands/user.c:734
 msgid "current user cannot be dropped"
 msgstr ""
 
-#: ../commands/user.c:701
+#: ../commands/user.c:736
 msgid "session user cannot be dropped"
 msgstr ""
 
-#: ../commands/user.c:728
+#: ../commands/user.c:763
 #, c-format
 msgid "DROP USER: user \"%s\" owns database \"%s\", cannot be removed%s"
 msgstr ""
 
-#: ../commands/user.c:808
+#: ../commands/user.c:843
 #, c-format
 msgid "CheckPgUserAclNotNull: \"%s\" not found"
 msgstr ""
 
-#: ../commands/user.c:813
+#: ../commands/user.c:848
 #, 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:854 ../commands/user.c:859
+#: ../commands/user.c:890 ../commands/user.c:896
 msgid "CREATE GROUP: conflicting options"
 msgstr ""
 
-#: ../commands/user.c:863
+#: ../commands/user.c:900
 #, c-format
 msgid "CREATE GROUP: option \"%s\" not recognized"
 msgstr ""
 
-#: ../commands/user.c:871
+#: ../commands/user.c:908
 msgid "group id must be positive"
 msgstr ""
 
-#: ../commands/user.c:882
+#: ../commands/user.c:919
 msgid "CREATE GROUP: permission denied"
 msgstr ""
 
-#: ../commands/user.c:915
+#: ../commands/user.c:952
 #, c-format
 msgid "CREATE GROUP: group name \"%s\" already exists"
 msgstr ""
 
-#: ../commands/user.c:918
+#: ../commands/user.c:955
 #, c-format
 msgid "CREATE GROUP: group sysid %d is already assigned"
 msgstr ""
 
-#: ../commands/user.c:1008
+#: ../commands/user.c:1045
 #, c-format
 msgid "%s: permission denied"
 msgstr ""
 
-#: ../commands/user.c:1020
+#: ../commands/user.c:1057
 #, c-format
 msgid "%s: group \"%s\" does not exist"
 msgstr ""
 
-#: ../commands/user.c:1084
+#: ../commands/user.c:1121
 #, c-format
 msgid "AlterGroup: unknown tag %s"
 msgstr ""
 
-#: ../commands/user.c:1095
+#: ../commands/user.c:1133
 #, c-format
 msgid "%s: user \"%s\" is already in group \"%s\""
 msgstr ""
 
-#: ../commands/user.c:1147
+#: ../commands/user.c:1185
 #, c-format
 msgid "ALTER GROUP: group \"%s\" does not have any members"
 msgstr ""
 
-#: ../commands/user.c:1200
+#: ../commands/user.c:1238
 #, c-format
 msgid "ALTER GROUP: user \"%s\" is not in group \"%s\""
 msgstr ""
 
-#: ../commands/user.c:1266
+#: ../commands/user.c:1304
 msgid "DROP GROUP: permission denied"
 msgstr ""
 
-#: ../commands/user.c:1295
+#: ../commands/user.c:1333
 #, c-format
 msgid "DROP GROUP: group \"%s\" does not exist"
 msgstr ""
@@ -8364,28 +8359,28 @@ msgstr ""
 msgid "%s cannot run inside a BEGIN/END block"
 msgstr ""
 
-#: ../commands/vacuum.c:402
+#: ../commands/vacuum.c:403
 #, c-format
 msgid "%s: can not process indexes, views or special system tables"
 msgstr ""
 
-#: ../commands/vacuum.c:426
+#: ../commands/vacuum.c:427
 #, c-format
 msgid "%s: table not found"
 msgstr ""
 
-#: ../commands/vacuum.c:470
+#: ../commands/vacuum.c:471
 msgid ""
 "oldest Xmin is far in the past --- close open transactions soon to avoid "
 "wraparound problems"
 msgstr ""
 
-#: ../commands/vacuum.c:516
+#: ../commands/vacuum.c:517
 #, c-format
 msgid "pg_class entry for relid %u vanished during vacuuming"
 msgstr ""
 
-#: ../commands/vacuum.c:653
+#: ../commands/vacuum.c:655
 #, c-format
 msgid ""
 "Some databases have not been vacuumed in %d transactions.\n"
@@ -8393,29 +8388,29 @@ msgid ""
 "\tor you may have a wraparound failure."
 msgstr ""
 
-#: ../commands/vacuum.c:732
+#: ../commands/vacuum.c:735
 #, c-format
 msgid "Skipping \"%s\" --- only table or database owner can VACUUM it"
 msgstr ""
 
-#: ../commands/vacuum.c:903
+#: ../commands/vacuum.c:907
 #, c-format
 msgid "VACUUM (full_vacuum_rel): FlushRelationBuffers returned %d"
 msgstr ""
 
-#: ../commands/vacuum.c:1110
+#: ../commands/vacuum.c:1118
 #, c-format
 msgid ""
 "Rel %s: TID %u/%u: InsertTransactionInProgress %u - can't shrink relation"
 msgstr ""
 
-#: ../commands/vacuum.c:1119
+#: ../commands/vacuum.c:1128
 #, c-format
 msgid ""
 "Rel %s: TID %u/%u: DeleteTransactionInProgress %u - can't shrink relation"
 msgstr ""
 
-#: ../commands/vacuum.c:1273
+#: ../commands/vacuum.c:1283
 #, c-format
 msgid ""
 "Pages %u: Changed %u, reaped %u, Empty %u, New %u; Tup %.0f: Vac %.0f, Keep/"
@@ -8424,105 +8419,105 @@ msgid ""
 "\t%s"
 msgstr ""
 
-#: ../commands/vacuum.c:1493
+#: ../commands/vacuum.c:1504
 msgid "Invalid XID in t_cmin"
 msgstr ""
 
-#: ../commands/vacuum.c:1495
+#: ../commands/vacuum.c:1506
 msgid "HEAP_MOVED_IN was not expected"
 msgstr ""
 
-#: ../commands/vacuum.c:1528
+#: ../commands/vacuum.c:1539
 msgid "HEAP_MOVED_OFF was expected"
 msgstr ""
 
-#: ../commands/vacuum.c:1558
+#: ../commands/vacuum.c:1569
 msgid "No one parent tuple was found"
 msgstr ""
 
-#: ../commands/vacuum.c:1597
+#: ../commands/vacuum.c:1607
 msgid ""
 "Child itemid in update-chain marked as unused - can't continue repair_frag"
 msgstr ""
 
-#: ../commands/vacuum.c:1676
+#: ../commands/vacuum.c:1686
 msgid "Parent tuple was not found"
 msgstr ""
 
-#: ../commands/vacuum.c:1684
+#: ../commands/vacuum.c:1694
 msgid "Parent itemid marked as unused"
 msgstr ""
 
-#: ../commands/vacuum.c:1716
+#: ../commands/vacuum.c:1726
 msgid "Too old parent tuple found - can't continue repair_frag"
 msgstr ""
 
-#: ../commands/vacuum.c:1845
+#: ../commands/vacuum.c:1855
 #, c-format
 msgid "moving chain: failed to add item with len = %lu to page %u"
 msgstr ""
 
-#: ../commands/vacuum.c:1968
+#: ../commands/vacuum.c:1978
 #, c-format
 msgid ""
 "failed to add item with len = %lu to page %u (free space %lu, nusd %u, noff %"
 "u)"
 msgstr ""
 
-#: ../commands/vacuum.c:2036
+#: ../commands/vacuum.c:2046
 msgid "Invalid XID in t_cmin (4)"
 msgstr ""
 
-#: ../commands/vacuum.c:2038
+#: ../commands/vacuum.c:2048
 msgid "HEAP_MOVED_IN was not expected (2)"
 msgstr ""
 
-#: ../commands/vacuum.c:2172
+#: ../commands/vacuum.c:2182
 msgid "Invalid XID in t_cmin (2)"
 msgstr ""
 
-#: ../commands/vacuum.c:2181
+#: ../commands/vacuum.c:2191
 msgid "HEAP_MOVED_OFF/HEAP_MOVED_IN was expected"
 msgstr ""
 
-#: ../commands/vacuum.c:2191
+#: ../commands/vacuum.c:2201
 #, c-format
 msgid ""
 "Rel %s: Pages: %u --> %u; Tuple(s) moved: %u.\n"
 "\t%s"
 msgstr ""
 
-#: ../commands/vacuum.c:2251
+#: ../commands/vacuum.c:2261
 msgid "Invalid XID in t_cmin (3)"
 msgstr ""
 
-#: ../commands/vacuum.c:2258
+#: ../commands/vacuum.c:2268
 msgid "HEAP_MOVED_OFF was expected (2)"
 msgstr ""
 
-#: ../commands/vacuum.c:2293
+#: ../commands/vacuum.c:2303
 #, c-format
 msgid "VACUUM (repair_frag): FlushRelationBuffers returned %d"
 msgstr ""
 
-#: ../commands/vacuum.c:2356
+#: ../commands/vacuum.c:2366
 #, c-format
 msgid "VACUUM (vacuum_heap): FlushRelationBuffers returned %d"
 msgstr ""
 
-#: ../commands/vacuum.c:2362
+#: ../commands/vacuum.c:2372
 #, c-format
 msgid "Rel %s: Pages: %u --> %u."
 msgstr ""
 
-#: ../commands/vacuum.c:2449 ../commands/vacuum.c:2503
+#: ../commands/vacuum.c:2459 ../commands/vacuum.c:2513
 #, 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:2815
+#: ../commands/vacuum.c:2828
 #, c-format
 msgid "vac_is_partial_index: index %u not found"
 msgstr ""
@@ -8547,57 +8542,57 @@ msgstr ""
 msgid "Async_Unlisten %s"
 msgstr ""
 
-#: ../commands/async.c:360
+#: ../commands/async.c:361
 msgid "Async_UnlistenAll"
 msgstr ""
 
-#: ../commands/async.c:462
+#: ../commands/async.c:463
 msgid "AtCommit_Notify"
 msgstr ""
 
-#: ../commands/async.c:494
+#: ../commands/async.c:495
 msgid "AtCommit_Notify: notifying self"
 msgstr ""
 
-#: ../commands/async.c:501
+#: ../commands/async.c:502
 #, c-format
 msgid "AtCommit_Notify: notifying pid %d"
 msgstr ""
 
-#: ../commands/async.c:559
+#: ../commands/async.c:558
 msgid "AtCommit_Notify: done"
 msgstr ""
 
-#: ../commands/async.c:633
+#: ../commands/async.c:631
 msgid "Async_NotifyHandler: perform async notify"
 msgstr ""
 
-#: ../commands/async.c:638
+#: ../commands/async.c:636
 msgid "Async_NotifyHandler: done"
 msgstr ""
 
-#: ../commands/async.c:706
+#: ../commands/async.c:703
 msgid "EnableNotifyInterrupt: perform async notify"
 msgstr ""
 
-#: ../commands/async.c:711
+#: ../commands/async.c:708
 msgid "EnableNotifyInterrupt: done"
 msgstr ""
 
-#: ../commands/async.c:762
+#: ../commands/async.c:759
 msgid "ProcessIncomingNotify"
 msgstr ""
 
-#: ../commands/async.c:798
+#: ../commands/async.c:795
 #, c-format
 msgid "ProcessIncomingNotify: received %s from %d"
 msgstr ""
 
-#: ../commands/async.c:840
+#: ../commands/async.c:837
 msgid "ProcessIncomingNotify: done"
 msgstr ""
 
-#: ../commands/async.c:867
+#: ../commands/async.c:864
 #, c-format
 msgid "NOTIFY for %s"
 msgstr ""
@@ -8617,8 +8612,8 @@ msgid "%s.nextval: reached MAXVALUE ("
 msgstr ""
 
 #: ../commands/sequence.c:320 ../commands/sequence.c:336
-#: ../commands/sequence.c:461 ../commands/sequence.c:787
-#: ../commands/sequence.c:801 ../commands/sequence.c:804
+#: ../commands/sequence.c:461 ../commands/sequence.c:785
+#: ../commands/sequence.c:799 ../commands/sequence.c:802
 msgid ")"
 msgstr ""
 
@@ -8685,81 +8680,81 @@ msgstr ""
 msgid "%s.%s: %s is not a sequence"
 msgstr ""
 
-#: ../commands/sequence.c:669
+#: ../commands/sequence.c:668
 #, c-format
 msgid "%s.%s: sequence was re-created"
 msgstr ""
 
-#: ../commands/sequence.c:684 ../commands/sequence.c:687
+#: ../commands/sequence.c:682 ../commands/sequence.c:685
 msgid "Memory exhausted in init_sequence"
 msgstr ""
 
-#: ../commands/sequence.c:753
+#: ../commands/sequence.c:751
 msgid "DefineSequence: CYCLE ??"
 msgstr ""
 
-#: ../commands/sequence.c:757
+#: ../commands/sequence.c:755
 #, c-format
 msgid "DefineSequence: option \"%s\" not recognized"
 msgstr ""
 
-#: ../commands/sequence.c:764
+#: ../commands/sequence.c:762
 msgid "DefineSequence: can't INCREMENT by 0"
 msgstr ""
 
-#: ../commands/sequence.c:787
+#: ../commands/sequence.c:785
 msgid "DefineSequence: MINVALUE ("
 msgstr ""
 
-#: ../commands/sequence.c:787
+#: ../commands/sequence.c:785
 msgid ") can't be >= MAXVALUE ("
 msgstr ""
 
-#: ../commands/sequence.c:801 ../commands/sequence.c:804
+#: ../commands/sequence.c:799 ../commands/sequence.c:802
 msgid "DefineSequence: START value ("
 msgstr ""
 
-#: ../commands/sequence.c:801
+#: ../commands/sequence.c:799
 msgid ") can't be < MINVALUE ("
 msgstr ""
 
-#: ../commands/sequence.c:804
+#: ../commands/sequence.c:802
 msgid ") can't be > MAXVALUE ("
 msgstr ""
 
-#: ../commands/sequence.c:810
+#: ../commands/sequence.c:808
 msgid "DefineSequence: CACHE ("
 msgstr ""
 
-#: ../commands/sequence.c:810
+#: ../commands/sequence.c:808
 msgid ") can't be <= 0"
 msgstr ""
 
-#: ../commands/sequence.c:819
+#: ../commands/sequence.c:817
 #, c-format
 msgid "DefineSequence: \"%s\" value unspecified"
 msgstr ""
 
-#: ../commands/sequence.c:833
+#: ../commands/sequence.c:831
 #, c-format
 msgid "DefineSequence: \"%s\" value must be integer"
 msgstr ""
 
-#: ../commands/sequence.c:850
+#: ../commands/sequence.c:848
 #, c-format
 msgid "seq_redo: unknown op code %u"
 msgstr ""
 
-#: ../commands/sequence.c:858
+#: ../commands/sequence.c:856
 #, c-format
 msgid "seq_redo: can't read block of %u/%u"
 msgstr ""
 
-#: ../commands/sequence.c:872
+#: ../commands/sequence.c:870
 msgid "seq_redo: failed to add item to page"
 msgstr ""
 
-#: ../commands/_deadcode/version.c:188
+#: ../commands/_deadcode/version.c:185
 msgid "Unable to expand all -- amopenr failed "
 msgstr ""
 
@@ -8790,87 +8785,87 @@ msgstr ""
 msgid "tg_rewriteQuery: Whoa! why is my qual a List???"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:504
+#: ../commands/_deadcode/recipe.c:502
 #, c-format
 msgid "tg_replaceNumberedParam: unexpected paramkind value of %d"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:618
+#: ../commands/_deadcode/recipe.c:613
 #, c-format
 msgid ""
 "tg_rewriteParamsInExpr:can't substitute for parameter %d when that input is "
 "unconnected"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:632
+#: ../commands/_deadcode/recipe.c:627
 #, c-format
 msgid "tg_rewriteParamsInExpr: unexpected paramkind value of %d"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:704
+#: ../commands/_deadcode/recipe.c:698
 #, c-format
 msgid "getParamTypes: Ingredients cannot take > %d arguments"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:710
+#: ../commands/_deadcode/recipe.c:704
 msgid "getParamTypes: Ingredient functions cannot take type 'opaque'"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:716
+#: ../commands/_deadcode/recipe.c:710
 #, c-format
 msgid "getParamTypes: arg type '%s' is not defined"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:718
+#: ../commands/_deadcode/recipe.c:712
 #, c-format
 msgid "getParamTypes: arg type '%s' is only a shell"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:844 ../commands/_deadcode/recipe.c:887
+#: ../commands/_deadcode/recipe.c:837 ../commands/_deadcode/recipe.c:880
 #, c-format
 msgid "calling parser with %s"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:854 ../commands/_deadcode/recipe.c:894
+#: ../commands/_deadcode/recipe.c:847 ../commands/_deadcode/recipe.c:887
 msgid "tg_parseSubQuery: parser produced > 1 query tree"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:899
+#: ../commands/_deadcode/recipe.c:892
 msgid "tg_parseSubQuery: can't parse recipe graph ingredients yet!"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:902
+#: ../commands/_deadcode/recipe.c:895
 msgid "tg_parseSubQuery: can't parse compiled ingredients yet!"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:905
+#: ../commands/_deadcode/recipe.c:898
 #, c-format
 msgid "tg_parseSubQuery: unknown srcLang: %d"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:948
+#: ../commands/_deadcode/recipe.c:940
 msgid "tg_parseSubQuery: can't handle eye nodes yet"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:1046
+#: ../commands/_deadcode/recipe.c:1034
 msgid "tg_parseSubQuery: unexpected result from TupleDescInitEntry"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:1057
+#: ../commands/_deadcode/recipe.c:1045
 msgid "tg_parseSubQuery: can't handle embedded recipes yet!"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:1059
+#: ../commands/_deadcode/recipe.c:1047
 #, c-format
 msgid "unknown nodeType: %d"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:1170
+#: ../commands/_deadcode/recipe.c:1158
 #, c-format
 msgid "appendTeeQuery: teeNodeName '%s' not found in teeInfo"
 msgstr ""
 
-#: ../commands/_deadcode/recipe.c:1317
+#: ../commands/_deadcode/recipe.c:1304
 msgid "replaceTeeScans didn't find the corresponding tee plan"
 msgstr ""
 
@@ -8909,67 +8904,67 @@ msgstr ""
 msgid "Subselect in FROM may not have SELECT INTO"
 msgstr ""
 
-#: ../parser/parse_clause.c:643
+#: ../parser/parse_clause.c:642
 #, c-format
 msgid "Common column name \"%s\" appears more than once in left table"
 msgstr ""
 
-#: ../parser/parse_clause.c:649
+#: ../parser/parse_clause.c:648
 #, c-format
 msgid "JOIN/USING column \"%s\" not found in left table"
 msgstr ""
 
-#: ../parser/parse_clause.c:660
+#: ../parser/parse_clause.c:659
 #, c-format
 msgid "Common column name \"%s\" appears more than once in right table"
 msgstr ""
 
-#: ../parser/parse_clause.c:666
+#: ../parser/parse_clause.c:665
 #, c-format
 msgid "JOIN/USING column \"%s\" not found in right table"
 msgstr ""
 
-#: ../parser/parse_clause.c:745
+#: ../parser/parse_clause.c:743
 #, c-format
 msgid "Column alias list for \"%s\" has wrong number of entries (need %d)"
 msgstr ""
 
-#: ../parser/parse_clause.c:757
+#: ../parser/parse_clause.c:755
 #, c-format
 msgid ""
 "transformFromClauseItem: unexpected node (internal error)\n"
 "\t%s"
 msgstr ""
 
-#: ../parser/parse_clause.c:779
+#: ../parser/parse_clause.c:777
 #, c-format
 msgid "WHERE clause must return type boolean, not type %s"
 msgstr ""
 
-#: ../parser/parse_clause.c:876
+#: ../parser/parse_clause.c:873
 #, c-format
 msgid "%s '%s' is ambiguous"
 msgstr ""
 
-#: ../parser/parse_clause.c:895
+#: ../parser/parse_clause.c:892
 #, c-format
 msgid "Non-integer constant in %s"
 msgstr ""
 
-#: ../parser/parse_clause.c:908
+#: ../parser/parse_clause.c:905
 #, c-format
 msgid "%s position %d is not in target list"
 msgstr ""
 
-#: ../parser/parse_clause.c:1050
+#: ../parser/parse_clause.c:1047
 msgid "For SELECT DISTINCT, ORDER BY expressions must appear in target list"
 msgstr ""
 
-#: ../parser/parse_clause.c:1088
+#: ../parser/parse_clause.c:1085
 msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
 msgstr ""
 
-#: ../parser/parse_clause.c:1112
+#: ../parser/parse_clause.c:1109
 msgid ""
 "transformDistinctClause: failed to add DISTINCT ON clause to target list"
 msgstr ""
@@ -8991,273 +8986,274 @@ msgstr ""
 msgid "Aggregates not allowed in GROUP BY clause"
 msgstr ""
 
-#: ../parser/parse_agg.c:250
+#: ../parser/parse_agg.c:249
 #, c-format
 msgid "%s: aggregate '%s' for all types does not exist"
 msgstr ""
 
-#: ../parser/parse_agg.c:253
+#: ../parser/parse_agg.c:252
 #, c-format
 msgid "%s: aggregate '%s' for type %s does not exist"
 msgstr ""
 
-#: ../parser/parse_relation.c:175
+#: ../parser/parse_relation.c:139
 #, c-format
 msgid "scanNameSpaceForRefname: unexpected node type %d"
 msgstr ""
 
-#: ../parser/parse_relation.c:186
+#: ../parser/parse_relation.c:150
 #, c-format
 msgid "Table name \"%s\" specified more than once"
 msgstr ""
 
-#: ../parser/parse_relation.c:239
+#: ../parser/parse_relation.c:203
 #, c-format
 msgid "checkNameSpaceConflicts: unexpected node type %d"
 msgstr ""
 
-#: ../parser/parse_relation.c:274
+#: ../parser/parse_relation.c:238
 msgid "RTERangeTablePosn: RTE not found (internal error)"
 msgstr ""
 
-#: ../parser/parse_relation.c:304 ../parser/parse_relation.c:366
-#: ../parser/parse_relation.c:432
+#: ../parser/parse_relation.c:268 ../parser/parse_relation.c:330
+#: ../parser/parse_relation.c:396
 #, c-format
 msgid "Column reference \"%s\" is ambiguous"
 msgstr ""
 
-#: ../parser/parse_relation.c:426
+#: ../parser/parse_relation.c:390
 #, c-format
 msgid "colnameToVar: unexpected node type %d"
 msgstr ""
 
-#: ../parser/parse_relation.c:480
+#: ../parser/parse_relation.c:444
 #, c-format
 msgid "qualifiedNameToVar: unexpected node type %d"
 msgstr ""
 
-#: ../parser/parse_relation.c:536 ../parser/parse_relation.c:629
+#: ../parser/parse_relation.c:500 ../parser/parse_relation.c:593
 #, c-format
 msgid "Table \"%s\" has %d columns available but %d columns specified"
 msgstr ""
 
-#: ../parser/parse_relation.c:951
+#: ../parser/parse_relation.c:915
 #, c-format
 msgid "Invalid attnum %d for rangetable entry %s"
 msgstr ""
 
-#: ../parser/parse_relation.c:987
+#: ../parser/parse_relation.c:951
 #, c-format
 msgid "Relation '%s' does not have attribute '%s'"
 msgstr ""
 
-#: ../parser/parse_relation.c:1036
+#: ../parser/parse_relation.c:995
+#, c-format
+msgid "attnumAttName: invalid attribute number %d"
+msgstr ""
+
+#: ../parser/parse_relation.c:1017
 #, c-format
-msgid "attnumTypeId: bogus attribute number %d"
+msgid "attnumTypeId: invalid attribute number %d"
 msgstr ""
 
-#: ../parser/parse_relation.c:1068
+#: ../parser/parse_relation.c:1044
 #, c-format
 msgid "Adding missing FROM-clause entry%s for table \"%s\""
 msgstr ""
 
-#: ../parser/parse_coerce.c:139
+#: ../parser/parse_coerce.c:136
 #, c-format
 msgid "coerce_type: conversion function %s produced %s"
 msgstr ""
 
-#: ../parser/parse_coerce.c:392
+#: ../parser/parse_coerce.c:388
 #, c-format
 msgid "%s types \"%s\" and \"%s\" not matched"
 msgstr ""
 
-#: ../parser/parse_coerce.c:448
+#: ../parser/parse_coerce.c:443
 #, c-format
 msgid "%s unable to convert to type \"%s\""
 msgstr ""
 
-#: gram.y:734
+#: gram.y:741
 msgid "ALTER SCHEMA not yet supported"
 msgstr ""
 
-#: gram.y:840
+#: gram.y:848
 msgid "SET must have at least one argument"
 msgstr ""
 
-#: gram.y:1210 gram.y:1215 gram.y:3544 gram.y:3549
+#: gram.y:1263 gram.y:1268 gram.y:3601 gram.y:3606
 msgid "GLOBAL TEMPORARY TABLE is not currently supported"
 msgstr ""
 
-#: gram.y:1250
+#: gram.y:1303
 #, 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:1506
+#: gram.y:1559
 msgid "FOREIGN KEY/MATCH PARTIAL not yet implemented"
 msgstr ""
 
-#: gram.y:1561
-msgid "CREATE TABLE/AS SELECT may not specify INTO"
+#: gram.y:1614
+msgid "CREATE TABLE AS may not specify INTO"
 msgstr ""
 
-#: ../parser/analyze.c:3164 ../parser/analyze.c:3182 gram.y:1862 gram.y:1875
+#: ../parser/analyze.c:3120 ../parser/analyze.c:3138 gram.y:1914 gram.y:1927
 msgid "INITIALLY DEFERRED constraint must be DEFERRABLE"
 msgstr ""
 
-#: gram.y:2121
-msgid "FETCH/RELATIVE at current position is not supported"
+#: gram.y:2173
+msgid "FETCH / RELATIVE at current position is not supported"
 msgstr ""
 
-#: gram.y:2249
-msgid "FETCH/ABSOLUTE not supported, using RELATIVE"
+#: gram.y:2301
+msgid "FETCH / ABSOLUTE not supported, using RELATIVE"
 msgstr ""
 
-#: gram.y:2366
+#: gram.y:2418
 msgid ""
 "WITH GRANT OPTION is not supported.  Only relation owners can set privileges"
 msgstr ""
 
-#: gram.y:2555
-msgid "CREATE FUNCTION/OUT parameters are not supported"
+#: gram.y:2607
+msgid "CREATE FUNCTION / OUT parameters are not supported"
 msgstr ""
 
-#: gram.y:2560
-msgid "CREATE FUNCTION/INOUT parameters are not supported"
+#: gram.y:2612
+msgid "CREATE FUNCTION / INOUT parameters are not supported"
 msgstr ""
 
-#: gram.y:2645
+#: gram.y:2701
 msgid "parser: argument type missing (use NONE for unary operators)"
 msgstr ""
 
-#: gram.y:2905
-msgid "COMMIT/CHAIN not yet supported"
+#: gram.y:2961
+msgid "COMMIT / CHAIN not yet supported"
 msgstr ""
 
-#: gram.y:3025
+#: gram.y:3081
 #, c-format
 msgid "%s is not a valid encoding name"
 msgstr ""
 
-#: gram.y:3037
+#: gram.y:3093
 #, c-format
 msgid "%d is not a valid encoding code"
 msgstr ""
 
-#: gram.y:3618
+#: gram.y:3679
 msgid "LIMIT must not be negative"
 msgstr ""
 
-#: gram.y:3659
+#: gram.y:3720
 msgid "OFFSET must not be negative"
 msgstr ""
 
-#: gram.y:3764
+#: gram.y:3825
 msgid ""
 "sub-SELECT in FROM must have an alias\n"
 "\tFor example, FROM (SELECT ...) [AS] foo"
 msgstr ""
 
-#: gram.y:4063
+#: gram.y:4125
 msgid "precision for FLOAT must be at least 1"
 msgstr ""
 
-#: gram.y:4069
+#: gram.y:4131
 msgid "precision for FLOAT must be less than 16"
 msgstr ""
 
-#: gram.y:4080 gram.y:4091
+#: gram.y:4142 gram.y:4153
 #, c-format
-msgid "NUMERIC precision %d must be beween 1 and %d"
+msgid "NUMERIC precision %d must be between 1 and %d"
 msgstr ""
 
-#: gram.y:4083
+#: gram.y:4145
 #, c-format
 msgid "NUMERIC scale %d must be between 0 and precision %d"
 msgstr ""
 
-#: gram.y:4106 gram.y:4117
+#: gram.y:4168 gram.y:4179
 #, c-format
-msgid "DECIMAL precision %d must be beween 1 and %d"
+msgid "DECIMAL precision %d must be between 1 and %d"
 msgstr ""
 
-#: gram.y:4109
+#: gram.y:4171
 #, c-format
 msgid "DECIMAL scale %d must be between 0 and precision %d"
 msgstr ""
 
-#: gram.y:4139 gram.y:4174
+#: gram.y:4201 gram.y:4239
 #, c-format
 msgid "length for type '%s' must be at least 1"
 msgstr ""
 
-#: gram.y:4142 gram.y:4177
+#: gram.y:4204 gram.y:4242
 #, c-format
 msgid "length for type '%s' cannot exceed %d"
 msgstr ""
 
-#: gram.y:4254
+#: gram.y:4316
 #, c-format
-msgid "TIMESTAMP(%d) %s precision must be beween %d and %d"
+msgid "TIMESTAMP(%d)%s precision must be between %d and %d"
 msgstr ""
 
-#: gram.y:4279
+#: gram.y:4344
 #, c-format
-msgid "TIME(%d) %s precision must be beween %d and %d"
+msgid "TIME(%d)%s precision must be between %d and %d"
 msgstr ""
 
-#: gram.y:4409
+#: gram.y:4471
 msgid "Wrong number of parameters on left side of OVERLAPS expression"
 msgstr ""
 
-#: gram.y:4414
+#: gram.y:4476
 msgid "Wrong number of parameters on right side of OVERLAPS expression"
 msgstr ""
 
-#: gram.y:4978
+#: gram.y:5037
 #, c-format
 msgid "CURRENT_TIME(%d) precision must be between %d and %d"
 msgstr ""
 
-#: gram.y:5034
+#: gram.y:5091
 #, c-format
-msgid "CURRENT_TIMESTAMP(%d) precision must be beween %d and %d"
+msgid "CURRENT_TIMESTAMP(%d) precision must be between %d and %d"
 msgstr ""
 
-#: gram.y:5902
+#: gram.y:6017
 msgid "OLD used in non-rule query"
 msgstr ""
 
-#: gram.y:5909
+#: gram.y:6024
 msgid "NEW used in non-rule query"
 msgstr ""
 
-#: gram.y:5968
+#: gram.y:6108
 msgid "Unequal number of entries in row expression"
 msgstr ""
 
-#: gram.y:5996
+#: gram.y:6136
 #, c-format
 msgid "Operator '%s' not implemented for row expressions"
 msgstr ""
 
-#: gram.y:6009
-msgid "CREATE TABLE/AS SELECT has mismatched column count"
-msgstr ""
-
-#: gram.y:6053
+#: gram.y:6171
 msgid "Multiple ORDER BY clauses not allowed"
 msgstr ""
 
-#: gram.y:6059
+#: gram.y:6177
 msgid "Multiple FOR UPDATE clauses not allowed"
 msgstr ""
 
-#: gram.y:6065
+#: gram.y:6183
 msgid "Multiple OFFSET clauses not allowed"
 msgstr ""
 
-#: gram.y:6071
+#: gram.y:6189
 msgid "Multiple LIMIT clauses not allowed"
 msgstr ""
 
@@ -9309,257 +9305,289 @@ msgstr ""
 msgid "Unput() failed.\n"
 msgstr ""
 
-#: ../parser/analyze.c:193
+#: ../parser/analyze.c:228
 msgid "CREATE VIEW specifies more column names than columns"
 msgstr ""
 
-#: ../parser/analyze.c:380
+#: ../parser/analyze.c:413
 msgid "INSERT ... SELECT may not specify INTO"
 msgstr ""
 
-#: ../parser/analyze.c:466
+#: ../parser/analyze.c:497
 msgid "INSERT has more expressions than target columns"
 msgstr ""
 
-#: ../parser/analyze.c:807
+#: ../parser/analyze.c:707
+msgid "parser: unrecognized node (internal error)"
+msgstr ""
+
+#: ../parser/analyze.c:826
 #, c-format
-msgid ""
-"CREATE TABLE will create implicit sequence '%s' for SERIAL column '%s.%s'"
+msgid "%s will create implicit sequence '%s' for SERIAL column '%s.%s'"
 msgstr ""
 
-#: ../parser/analyze.c:847 ../parser/analyze.c:855
+#: ../parser/analyze.c:867 ../parser/analyze.c:875
 #, c-format
-msgid "CREATE TABLE/(NOT) NULL conflicting declaration for '%s.%s'"
+msgid "%s/(NOT) NULL conflicting declaration for '%s.%s'"
 msgstr ""
 
-#: ../parser/analyze.c:863
+#: ../parser/analyze.c:883
 #, c-format
-msgid "CREATE TABLE/DEFAULT multiple values specified for '%s.%s'"
+msgid "%s/DEFAULT multiple values specified for '%s.%s'"
 msgstr ""
 
-#: ../parser/analyze.c:907 ../parser/analyze.c:942
+#: ../parser/analyze.c:933 ../parser/analyze.c:972
 msgid "parser: unrecognized constraint (internal error)"
 msgstr ""
 
-#: ../parser/analyze.c:938
+#: ../parser/analyze.c:968
 msgid "parser: illegal context for constraint (internal error)"
 msgstr ""
 
-#: ../parser/analyze.c:957
-msgid "parser: unrecognized node (internal error)"
-msgstr ""
-
-#: ../parser/analyze.c:983
+#: ../parser/analyze.c:1012
 #, c-format
-msgid ""
-"CREATE TABLE/PRIMARY KEY multiple primary keys for table '%s' are not allowed"
+msgid "%s / PRIMARY KEY multiple primary keys for table '%s' are not allowed"
 msgstr ""
 
-#: ../parser/analyze.c:1038 ../parser/analyze.c:1258 ../parser/analyze.c:1395
+#: ../parser/analyze.c:1080 ../parser/analyze.c:3029
 #, c-format
 msgid "inherited table \"%s\" is not a relation"
 msgstr ""
 
-#: ../parser/analyze.c:1065
+#: ../parser/analyze.c:1107
 #, c-format
 msgid ""
 "inherited attribute \"%s\" cannot be a PRIMARY KEY because it is not marked "
 "NOT NULL"
 msgstr ""
 
-#: ../parser/analyze.c:1077
+#: ../parser/analyze.c:1136
 #, c-format
-msgid "CREATE TABLE: column \"%s\" named in key does not exist"
+msgid ""
+"Existing attribute \"%s\" cannot be a PRIMARY KEY because it is not marked "
+"NOT NULL"
 msgstr ""
 
-#: ../parser/analyze.c:1085
+#: ../parser/analyze.c:1143
 #, c-format
-msgid "CREATE TABLE: column \"%s\" appears twice in %s constraint"
+msgid "%s: column \"%s\" named in key does not exist"
+msgstr "%s: ÔÚ¼ü×ÖÖÐÃüÃûµÄ×ֶΠ\"%s\" ²»´æÔÚ"
+
+#: ../parser/analyze.c:1151
+#, c-format
+msgid "%s: column \"%s\" appears twice in %s constraint"
 msgstr ""
 
-#: ../parser/analyze.c:1170
-msgid "CREATE TABLE: failed to make implicit index name"
+#: ../parser/analyze.c:1238
+#, c-format
+msgid "%s: failed to make implicit index name"
 msgstr ""
 
-#: ../parser/analyze.c:1172
+#: ../parser/analyze.c:1241
 #, c-format
-msgid "CREATE TABLE/%s will create implicit index '%s' for table '%s'"
+msgid "%s / %s%s will create implicit index '%s' for table '%s'"
 msgstr ""
 
-#: ../parser/analyze.c:1200
-msgid "CREATE TABLE will create implicit trigger(s) for FOREIGN KEY check(s)"
+#: ../parser/analyze.c:1265
+#, c-format
+msgid "%s will create implicit trigger(s) for FOREIGN KEY check(s)"
 msgstr ""
 
-#: ../parser/analyze.c:1238 ../parser/analyze.c:1318 ../parser/analyze.c:1378
+#: ../parser/analyze.c:1293 ../parser/analyze.c:1324 ../parser/analyze.c:1381
 #, c-format
-msgid "Unable to lookup type %s"
+msgid "Can only have %d keys in a foreign key"
 msgstr ""
 
-#: ../parser/analyze.c:1328 ../parser/analyze.c:3086
+#: ../parser/analyze.c:1336 ../parser/analyze.c:2914
 #, c-format
 msgid "PRIMARY KEY for referenced table \"%s\" not found"
 msgstr ""
 
-#: ../parser/analyze.c:1473 ../parser/analyze.c:2573
+#: ../parser/analyze.c:1398 ../parser/analyze.c:2854
 #, c-format
-msgid "Illegal FOREIGN KEY definition REFERENCES \"%s\""
+msgid ""
+"UNIQUE constraint matching given keys for referenced table \"%s\" not found"
 msgstr ""
 
-#: ../parser/analyze.c:1475 ../parser/analyze.c:2575
+#: ../parser/analyze.c:1453
+#, c-format
 msgid ""
-"number of key attributes in referenced table must be equal to foreign key"
+"number of key attributes in referenced table must be equal to foreign key\n"
+"\tIllegal FOREIGN KEY definition references \"%s\""
 msgstr ""
 
-#: ../parser/analyze.c:1535 ../parser/analyze.c:2620
+#: ../parser/analyze.c:1514
 msgid "Only one ON DELETE action can be specified for FOREIGN KEY constraint"
 msgstr ""
 
-#: ../parser/analyze.c:1608 ../parser/analyze.c:2691
+#: ../parser/analyze.c:1586
 msgid "Only one ON UPDATE action can be specified for FOREIGN KEY constraint"
 msgstr ""
 
-#: ../parser/analyze.c:1751 ../parser/analyze.c:1868
+#: ../parser/analyze.c:1732 ../parser/analyze.c:1849
 #, c-format
 msgid "transformRuleStmt: unexpected event type %d"
 msgstr ""
 
-#: ../parser/analyze.c:1760
+#: ../parser/analyze.c:1741
 msgid "Rule WHERE condition may not contain references to other relations"
 msgstr ""
 
-#: ../parser/analyze.c:1828
+#: ../parser/analyze.c:1809
 msgid ""
 "Rules with WHERE conditions may only have SELECT, INSERT, UPDATE, or DELETE "
 "actions"
 msgstr ""
 
-#: ../parser/analyze.c:1852
+#: ../parser/analyze.c:1833
 msgid "ON SELECT rule may not use OLD"
 msgstr ""
 
-#: ../parser/analyze.c:1854
+#: ../parser/analyze.c:1835
 msgid "ON SELECT rule may not use NEW"
 msgstr ""
 
-#: ../parser/analyze.c:1861
+#: ../parser/analyze.c:1842
 msgid "ON INSERT rule may not use OLD"
 msgstr ""
 
-#: ../parser/analyze.c:1865
+#: ../parser/analyze.c:1846
 msgid "ON DELETE rule may not use NEW"
 msgstr ""
 
-#: ../parser/analyze.c:1930 ../parser/analyze.c:2142
+#: ../parser/analyze.c:1911 ../parser/analyze.c:2131
 msgid "DECLARE CURSOR must not specify INTO"
 msgstr ""
 
-#: ../parser/analyze.c:1932 ../parser/analyze.c:2144
+#: ../parser/analyze.c:1913 ../parser/analyze.c:2133
 msgid ""
 "DECLARE/UPDATE is not supported\n"
 "\tCursors must be READ ONLY"
 msgstr ""
 
-#: ../parser/analyze.c:1942 ../parser/analyze.c:2154
+#: ../parser/analyze.c:1923 ../parser/analyze.c:2143
 msgid "DECLARE CURSOR may only be used in begin/end transaction blocks"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:799 ../parser/analyze.c:2078
-#: ../parser/analyze.c:2242 ../parser/analyze.c:2851
+#: ../optimizer/plan/planner.c:797 ../parser/analyze.c:2067
+#: ../parser/analyze.c:2234 ../parser/analyze.c:2695
 msgid "SELECT FOR UPDATE is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr ""
 
-#: ../parser/analyze.c:2203
+#: ../parser/analyze.c:2195
 msgid ""
 "ORDER BY on a UNION/INTERSECT/EXCEPT result must be on one of the result "
 "columns"
 msgstr ""
 
-#: ../parser/analyze.c:2237
+#: ../parser/analyze.c:2229
 msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
 msgstr ""
 
-#: ../parser/analyze.c:2239
+#: ../parser/analyze.c:2231
 msgid "Portal may not appear in UNION/INTERSECT/EXCEPT"
 msgstr ""
 
-#: ../parser/analyze.c:2334
+#: ../parser/analyze.c:2326
 #, c-format
 msgid "Each %s query must have the same number of columns"
 msgstr ""
 
-#: ../parser/analyze.c:2392
+#: ../parser/analyze.c:2384
 #, c-format
 msgid "getSetColTypes: unexpected node %d"
 msgstr ""
 
-#: ../parser/analyze.c:2467 ../parser/analyze.c:2476
+#: ../parser/analyze.c:2395
+msgid "CREATE TABLE AS specifies too many column names"
+msgstr ""
+
+#: ../parser/analyze.c:2478 ../parser/analyze.c:2487
 msgid "UPDATE target count mismatch --- internal error"
 msgstr ""
 
-#: ../parser/analyze.c:2515
-msgid ""
-"ALTER TABLE ... ADD CONSTRAINT will create implicit trigger(s) for FOREIGN "
-"KEY check(s)"
+#: ../parser/analyze.c:2567
+msgid "Unexpected node type in ALTER TABLE ADD CONSTRAINT"
 msgstr ""
 
-#: ../parser/analyze.c:2796
+#: ../parser/analyze.c:2640
 #, c-format
 msgid "Unsupported type %d in transformTypeRefs"
 msgstr ""
 
-#: ../parser/analyze.c:2837
+#: ../parser/analyze.c:2681
 #, c-format
 msgid "unsupported expression in %%TYPE"
 msgstr ""
 
-#: ../parser/analyze.c:2840
+#: ../parser/analyze.c:2684
 #, c-format
 msgid "%s.%s%%TYPE converted to %s"
 msgstr ""
 
-#: ../parser/analyze.c:2853
+#: ../parser/analyze.c:2697
 msgid "SELECT FOR UPDATE is not allowed with DISTINCT clause"
 msgstr ""
 
-#: ../parser/analyze.c:2855
+#: ../parser/analyze.c:2699
 msgid "SELECT FOR UPDATE is not allowed with GROUP BY clause"
 msgstr ""
 
-#: ../parser/analyze.c:2857
+#: ../parser/analyze.c:2701
 msgid "SELECT FOR UPDATE is not allowed with AGGREGATE"
 msgstr ""
 
-#: ../parser/analyze.c:2922
+#: ../parser/analyze.c:2766
 #, c-format
 msgid "FOR UPDATE: relation \"%s\" not found in FROM clause"
 msgstr ""
 
-#: ../parser/analyze.c:2953 ../parser/analyze.c:3052
+#: ../parser/analyze.c:2813
 #, c-format
-msgid "referenced table \"%s\" not found"
+msgid "transformFkeyCheckAttrs: index %u not found"
 msgstr ""
 
-#: ../parser/analyze.c:3148
+#: ../parser/analyze.c:2899
+#, c-format
+msgid "transformFkeyGetPrimaryKey: index %u not found"
+msgstr ""
+
+#: ../parser/analyze.c:2970
+#, c-format
+msgid "relationHasPrimaryKey: index %u not found"
+msgstr "relationHasPrimaryKey: Î´ÕÒµ½Ë÷Òý %u"
+
+#: ../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
 msgid "Misplaced DEFERRABLE clause"
 msgstr ""
 
-#: ../parser/analyze.c:3150 ../parser/analyze.c:3159
+#: ../parser/analyze.c:3106 ../parser/analyze.c:3115
 msgid "Multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr ""
 
-#: ../parser/analyze.c:3157
+#: ../parser/analyze.c:3113
 msgid "Misplaced NOT DEFERRABLE clause"
 msgstr ""
 
-#: ../parser/analyze.c:3169
+#: ../parser/analyze.c:3125
 msgid "Misplaced INITIALLY DEFERRED clause"
 msgstr ""
 
-#: ../parser/analyze.c:3171 ../parser/analyze.c:3189
+#: ../parser/analyze.c:3127 ../parser/analyze.c:3145
 msgid "Multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr ""
 
-#: ../parser/analyze.c:3187
+#: ../parser/analyze.c:3143
 msgid "Misplaced INITIALLY IMMEDIATE clause"
 msgstr ""
 
@@ -9573,175 +9601,170 @@ msgstr ""
 msgid "Parameter '$%d' is out of range"
 msgstr "²ÎÊý '$%d' ³¬³ö·¶Î§"
 
-#: ../parser/parse_expr.c:209
+#: ../parser/parse_expr.c:211
 #, c-format
 msgid "left-hand side of AND is type '%s', not '%s'"
 msgstr ""
 
-#: ../parser/parse_expr.c:214
+#: ../parser/parse_expr.c:216
 #, c-format
 msgid "right-hand side of AND is type '%s', not '%s'"
 msgstr ""
 
-#: ../parser/parse_expr.c:235
+#: ../parser/parse_expr.c:237
 #, c-format
 msgid "left-hand side of OR is type '%s', not '%s'"
 msgstr ""
 
-#: ../parser/parse_expr.c:240
+#: ../parser/parse_expr.c:242
 #, c-format
 msgid "right-hand side of OR is type '%s', not '%s'"
 msgstr ""
 
-#: ../parser/parse_expr.c:258
+#: ../parser/parse_expr.c:260
 #, c-format
 msgid "argument to NOT is type '%s', not '%s'"
 msgstr ""
 
-#: ../parser/parse_expr.c:309 ../parser/parse_expr.c:313
+#: ../parser/parse_expr.c:311 ../parser/parse_expr.c:315
 msgid "Bad query in subselect"
 msgstr ""
 
-#: ../parser/parse_expr.c:336
+#: ../parser/parse_expr.c:337
 msgid "Subselect must have a field"
 msgstr ""
 
-#: ../parser/parse_expr.c:340
+#: ../parser/parse_expr.c:341
 msgid "Subselect must have only one field"
 msgstr ""
 
-#: ../parser/parse_expr.c:369
+#: ../parser/parse_expr.c:370
 #, c-format
 msgid "Row comparison cannot use '%s'"
 msgstr ""
 
-#: ../parser/parse_expr.c:392
+#: ../parser/parse_expr.c:393
 msgid "Subselect has too many fields"
 msgstr ""
 
-#: ../parser/parse_expr.c:408
+#: ../parser/parse_expr.c:409
 #, c-format
 msgid ""
 "'%s' result type of '%s' must return '%s' to be used with quantified "
 "predicate subquery"
 msgstr ""
 
-#: ../parser/parse_expr.c:420
+#: ../parser/parse_expr.c:421
 msgid "Subselect has too few fields"
 msgstr ""
 
-#: ../parser/parse_expr.c:506
+#: ../parser/parse_expr.c:461
 msgid "WHEN clause must have a boolean result"
 msgstr ""
 
-#: ../parser/parse_expr.c:565
+#: ../parser/parse_expr.c:574
 #, c-format
 msgid "transformExpr: unexpected booltesttype %d"
 msgstr ""
 
-#: ../parser/parse_expr.c:570
+#: ../parser/parse_expr.c:579
 #, c-format
 msgid "Argument of %s must be boolean"
 msgstr ""
 
-#: ../parser/parse_expr.c:600
+#: ../parser/parse_expr.c:609
 #, c-format
 msgid "transformExpr: does not know how to transform node %d (internal error)"
 msgstr ""
 
-#: ../parser/parse_expr.c:659
+#: ../parser/parse_expr.c:668
 #, c-format
 msgid "Attribute '%s' not found"
 msgstr ""
 
-#: ../parser/parse_expr.c:719
+#: ../parser/parse_expr.c:728
 msgid "Cannot get type for untransformed sublink"
 msgstr ""
 
-#: ../parser/parse_expr.c:747
+#: ../parser/parse_expr.c:756
 #, c-format
 msgid "Do not know how to get type for %d node"
 msgstr ""
 
-#: ../parser/parse_expr.c:887
-#, c-format
-msgid "cache lookup for type %u failed"
-msgstr ""
-
-#: ../parser/parse_expr.c:942
+#: ../parser/parse_expr.c:982
 #, c-format
 msgid "Cannot cast this expression to type '%s'"
 msgstr ""
 
-#: ../parser/parse_expr.c:992
+#: ../parser/parse_expr.c:1032
 #, c-format
 msgid "Cannot cast type '%s' to '%s'"
 msgstr "ÎÞ·¨°ÑÀàÐÍ '%s' ×ª»»Îª '%s'"
 
-#: ../parser/parse_func.c:155
+#: ../parser/parse_func.c:154
 #, c-format
 msgid "Cannot pass more than %d arguments to a function"
 msgstr ""
 
-#: ../parser/parse_func.c:162
+#: ../parser/parse_func.c:161
 #, c-format
 msgid "Function '%s' does not allow NULL input"
 msgstr ""
 
-#: ../parser/parse_func.c:208
+#: ../parser/parse_func.c:204
 #, c-format
 msgid "Type '%s' is not a relation type"
 msgstr ""
 
-#: ../parser/parse_func.c:216 ../parser/parse_func.c:488
+#: ../parser/parse_func.c:211 ../parser/parse_func.c:483
 #, c-format
 msgid "No such attribute or function '%s'"
 msgstr ""
 
-#: ../parser/parse_func.c:232
+#: ../parser/parse_func.c:227
 msgid "Aggregate functions may only have one parameter"
 msgstr ""
 
-#: ../parser/parse_func.c:235
+#: ../parser/parse_func.c:230
 msgid "Aggregate functions cannot be applied to relation names"
 msgstr ""
 
-#: ../parser/parse_func.c:291
+#: ../parser/parse_func.c:286
 #, c-format
 msgid "Unable to select an aggregate function %s(%s)"
 msgstr ""
 
-#: ../parser/parse_func.c:303
+#: ../parser/parse_func.c:297
 #, c-format
 msgid "There is no aggregate function %s(%s)"
 msgstr ""
 
-#: ../parser/parse_func.c:357 ../parser/parse_func.c:400
+#: ../parser/parse_func.c:350 ../parser/parse_func.c:395
 #, c-format
 msgid "No such attribute or function %s.%s"
 msgstr ""
 
-#: ../parser/parse_func.c:366
+#: ../parser/parse_func.c:359
 #, c-format
 msgid "Cannot pass result of join %s to a function"
 msgstr ""
 
-#: ../parser/parse_func.c:373
+#: ../parser/parse_func.c:366
 #, c-format
 msgid "ParseFuncOrColumn: unexpected node type %d"
 msgstr ""
 
-#: ../parser/parse_func.c:405
+#: ../parser/parse_func.c:400
 #, c-format
 msgid "Cannot pass result of sub-select %s to a function"
 msgstr ""
 
-#: ../parser/parse_func.c:1720
+#: ../parser/parse_func.c:1714
 #, c-format
 msgid "Function '%s(%s)' does not exist%s%s"
 msgstr ""
 
-#: ../parser/parse_func.c:1726
+#: ../parser/parse_func.c:1720
 #, c-format
 msgid "%s: function '%s(%s)' does not exist%s%s"
 msgstr ""
@@ -9794,107 +9817,107 @@ msgid ""
 "\tUse an explicit ordering operator or modify the query"
 msgstr ""
 
-#: ../parser/parse_oper.c:926
+#: ../parser/parse_oper.c:923
 #, c-format
 msgid ""
 "Left 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:927
 #, c-format
 msgid ""
 "Right hand side of operator %s has an unknown type\n"
 "\tProbably a bad attribute name"
 msgstr ""
 
-#: ../parser/parse_oper.c:933
+#: ../parser/parse_oper.c:930
 #, 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:948
+#: ../parser/parse_oper.c:945
 #, c-format
 msgid ""
 "operand of prefix operator '%s' has an unknown type\n"
 "\t(probably an invalid column reference)"
 msgstr ""
 
-#: ../parser/parse_oper.c:952
+#: ../parser/parse_oper.c:949
 #, c-format
 msgid ""
 "operand of postfix operator '%s' has an unknown type\n"
 "\t(probably an invalid column reference)"
 msgstr ""
 
-#: ../parser/parse_oper.c:959
+#: ../parser/parse_oper.c:956
 #, 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:963
+#: ../parser/parse_oper.c:960
 #, 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:60
+#: ../parser/parse_target.c:61
 msgid "You can't use relation names alone in the target list, try relation.*."
 msgstr ""
 
-#: ../parser/parse_target.c:144
+#: ../parser/parse_target.c:143
 #, c-format
 msgid "transformTargetList: unexpected node type %d"
 msgstr ""
 
-#: ../parser/parse_target.c:205
+#: ../parser/parse_target.c:204
 #, c-format
 msgid "Cannot assign to system attribute '%s'"
 msgstr ""
 
-#: ../parser/parse_target.c:268
+#: ../parser/parse_target.c:264
 #, 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:390
+#: ../parser/parse_target.c:384
 #, c-format
 msgid "Attribute '%s' specified more than once"
 msgstr ""
 
-#: ../parser/parse_target.c:440
+#: ../parser/parse_target.c:434
 #, c-format
 msgid ""
 "ExpandAllTables: unexpected node (internal error)\n"
 "\t%s"
 msgstr ""
 
-#: ../parser/parse_target.c:446
+#: ../parser/parse_target.c:440
 msgid "Wildcard with no tables specified not allowed"
 msgstr ""
 
-#: ../parser/parse_type.c:47 ../parser/parse_type.c:222
+#: ../parser/parse_type.c:50 ../parser/parse_type.c:221
 #, c-format
 msgid "Unable to locate type oid %u in catalog"
 msgstr ""
 
-#: ../parser/parse_type.c:59
+#: ../parser/parse_type.c:62
 msgid "typenameType: Null typename"
 msgstr ""
 
-#: ../parser/parse_type.c:65
+#: ../parser/parse_type.c:68
 #, c-format
 msgid "Unable to locate type name '%s' in catalog"
 msgstr ""
 
-#: ../parser/parse_type.c:74
+#: ../parser/parse_type.c:77
 msgid "typeTypeId() called with NULL type struct"
 msgstr ""
 
@@ -9903,32 +9926,39 @@ msgstr ""
 msgid "typeidOutfunc: Invalid type - oid = %u"
 msgstr ""
 
-#: ../parser/parse_type.c:247
+#: ../parser/parse_type.c:246
 #, c-format
 msgid "typeidTypeRelid: Invalid type - oid = %u"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_erx.c:338
+#: ../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
 msgid "gimme_gene: Internal error - minimum_count not set"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_erx.c:364
+#: ../optimizer/geqo/geqo_erx.c:362
 msgid "gimme_gene: neither shared nor minimum number nor random edge found"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_erx.c:424
+#: ../optimizer/geqo/geqo_erx.c:422
 msgid "edge_failure(1): no edge found via random decision and total_edges == 4"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_erx.c:449
+#: ../optimizer/geqo/geqo_erx.c:447
 msgid "edge_failure(2): no edge found via random decision and remainig edges"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_erx.c:467
+#: ../optimizer/geqo/geqo_erx.c:465
 msgid "edge_failure(3): no edge found via looking for the last ununsed point"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_erx.c:472
+#: ../optimizer/geqo/geqo_erx.c:470
 msgid "edge_failure: no edge detected"
 msgstr ""
 
@@ -9936,45 +9966,45 @@ msgstr ""
 msgid "gimme_tree: failed to construct join rel"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:126
+#: ../optimizer/geqo/geqo_main.c:123
 msgid "geqo_main: using edge recombination crossover [ERX]"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:130
+#: ../optimizer/geqo/geqo_main.c:127
 msgid "geqo_main: using partially matched crossover [PMX]"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:134
+#: ../optimizer/geqo/geqo_main.c:131
 msgid "geqo_main: using cycle crossover [CX]"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:139
+#: ../optimizer/geqo/geqo_main.c:136
 msgid "geqo_main: using position crossover [PX]"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:144
+#: ../optimizer/geqo/geqo_main.c:141
 msgid "geqo_main: using order crossover [OX1]"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:149
+#: ../optimizer/geqo/geqo_main.c:146
 msgid "geqo_main: using order crossover [OX2]"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:220
+#: ../optimizer/geqo/geqo_main.c:217
 #, c-format
 msgid "[GEQO] failures: %d, average: %d"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:223
+#: ../optimizer/geqo/geqo_main.c:220
 msgid "[GEQO] No edge failures detected."
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:229
+#: ../optimizer/geqo/geqo_main.c:226
 #, c-format
 msgid "[GEQO] mutations: %d, generations: %d"
 msgstr ""
 
-#: ../optimizer/geqo/geqo_main.c:231
+#: ../optimizer/geqo/geqo_main.c:228
 msgid "[GEQO] No mutations processed."
 msgstr ""
 
@@ -9982,97 +10012,102 @@ msgstr ""
 msgid "avg_pool: pool_size of zero"
 msgstr ""
 
-#: ../optimizer/path/clausesel.c:532
+#: ../optimizer/path/clausesel.c:522
 #, c-format
 msgid "clause_selectivity: s1 %f"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:508
+#: ../optimizer/path/indxpath.c:506
 msgid "extract_or_indexqual_conditions: no matching clause"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:1303
+#: ../optimizer/path/indxpath.c:1302
 msgid "pred_test_simple_clause: unknown test_op"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:1331
+#: ../optimizer/path/indxpath.c:1330
 msgid "pred_test_simple_clause: null test result"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:2012
+#: ../optimizer/path/indxpath.c:2008
 #, c-format
 msgid "prefix_quals: unexpected operator %u"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:2023
+#: ../optimizer/path/indxpath.c:2019
 #, c-format
 msgid "prefix_quals: no = operator for type %u"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:2038
+#: ../optimizer/path/indxpath.c:2034
 #, c-format
 msgid "prefix_quals: no >= operator for type %u"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:2054
+#: ../optimizer/path/indxpath.c:2050
 #, c-format
 msgid "prefix_quals: no < operator for type %u"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:2103
+#: ../optimizer/path/indxpath.c:2099
 #, c-format
 msgid "network_prefix_quals: unexpected operator %u"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:2116
+#: ../optimizer/path/indxpath.c:2112
 #, c-format
 msgid "network_prefix_quals: no %s operator for type %u"
 msgstr ""
 
-#: ../optimizer/path/indxpath.c:2131
+#: ../optimizer/path/indxpath.c:2127
 #, c-format
 msgid "network_prefix_quals: no <= operator for type %u"
 msgstr ""
 
-#: ../optimizer/path/allpaths.c:190
+#: ../optimizer/path/allpaths.c:192
 msgid "SELECT FOR UPDATE is not supported for inherit queries"
 msgstr ""
 
-#: ../optimizer/path/joinpath.c:317
+#: ../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
 #, c-format
 msgid "match_unsorted_outer: unexpected join type %d"
 msgstr ""
 
-#: ../optimizer/path/joinpath.c:577
+#: ../optimizer/path/joinpath.c:602
 #, c-format
 msgid "match_unsorted_inner: unexpected join type %d"
 msgstr ""
 
-#: ../executor/nodeMergejoin.c:1533 ../optimizer/path/joinpath.c:915
+#: ../executor/nodeMergejoin.c:1509 ../optimizer/path/joinpath.c:939
 msgid "FULL JOIN is only supported with mergejoinable join conditions"
 msgstr ""
 
-#: ../optimizer/path/joinrels.c:229
+#: ../optimizer/path/joinrels.c:226
 #, c-format
 msgid "make_rels_by_joins: failed to build any %d-way joins"
 msgstr ""
 
-#: ../optimizer/path/joinrels.c:380
+#: ../optimizer/path/joinrels.c:381
 #, c-format
 msgid "make_jointree_rel: unexpected node type %d"
 msgstr ""
 
-#: ../optimizer/path/joinrels.c:437
+#: ../optimizer/path/joinrels.c:438
 #, c-format
 msgid "make_join_rel: unsupported join type %d"
 msgstr ""
 
-#: ../optimizer/path/costsize.c:1225
+#: ../optimizer/path/costsize.c:1229
 #, c-format
 msgid "set_joinrel_size_estimates: unsupported join type %d"
 msgstr ""
 
-#: ../optimizer/path/pathkeys.c:856
+#: ../optimizer/path/pathkeys.c:872
 msgid ""
 "make_pathkeys_for_mergeclauses: can't identify which side of mergeclause to "
 "use"
@@ -10086,131 +10121,131 @@ msgstr ""
 msgid "called xfunc_predmig with bad inputs"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/predmig.c:328
+#: ../optimizer/path/_deadcode/predmig.c:327
 msgid "Didn't find matching node in original stream"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/predmig.c:339
+#: ../optimizer/path/_deadcode/predmig.c:338
 msgid "pulling up in xfunc_predmig_pullup!"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/predmig.c:386
+#: ../optimizer/path/_deadcode/predmig.c:385
 msgid "didn't succeed in pulling up in xfunc_prdmig_pullup"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/predmig.c:781
+#: ../optimizer/path/_deadcode/predmig.c:780
 msgid "bad pointers in stream"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/predmig.c:788
+#: ../optimizer/path/_deadcode/predmig.c:787
 msgid "Joins got reordered!"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/xfunc.c:456
-#: ../optimizer/path/_deadcode/xfunc.c:710
-#: ../optimizer/path/_deadcode/xfunc.c:847
-#: ../optimizer/path/_deadcode/xfunc.c:1183
+#: ../optimizer/path/_deadcode/xfunc.c:455
+#: ../optimizer/path/_deadcode/xfunc.c:706
+#: ../optimizer/path/_deadcode/xfunc.c:843
+#: ../optimizer/path/_deadcode/xfunc.c:1178
 msgid "Clause node of undetermined type"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/xfunc.c:492
+#: ../optimizer/path/_deadcode/xfunc.c:491
 msgid "Oper's function is undefined"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/xfunc.c:502
-#: ../optimizer/path/_deadcode/xfunc.c:680
-#: ../optimizer/path/_deadcode/xfunc.c:1311
+#: ../optimizer/path/_deadcode/xfunc.c:501
+#: ../optimizer/path/_deadcode/xfunc.c:677
+#: ../optimizer/path/_deadcode/xfunc.c:1306
 #, c-format
 msgid "Cache lookup failed for procedure %u"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/xfunc.c:617
-#: ../optimizer/path/_deadcode/xfunc.c:1329
+#: ../optimizer/path/_deadcode/xfunc.c:616
+#: ../optimizer/path/_deadcode/xfunc.c:1324
 #, c-format
 msgid "Cache lookup failed for type %u"
 msgstr ""
 
-#: ../optimizer/path/_deadcode/xfunc.c:1410
+#: ../optimizer/path/_deadcode/xfunc.c:1405
 msgid "xfunc_LispRemove: didn't find a match!"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:148
+#: ../optimizer/plan/initsplan.c:151
 #, c-format
 msgid "add_missing_rels_to_query: unexpected node type %d"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:271 ../optimizer/plan/planner.c:396
+#: ../optimizer/plan/initsplan.c:274 ../optimizer/plan/planner.c:412
 msgid "UNION JOIN is not implemented yet"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:275
+#: ../optimizer/plan/initsplan.c:278
 #, c-format
 msgid "distribute_quals_to_rels: unsupported join type %d"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:285
+#: ../optimizer/plan/initsplan.c:288
 #, c-format
 msgid "distribute_quals_to_rels: unexpected node type %d"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:322
+#: ../optimizer/plan/initsplan.c:325
 msgid ""
 "SELECT FOR UPDATE cannot be applied to the nullable side of an OUTER JOIN"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:382
+#: ../optimizer/plan/initsplan.c:387
 msgid "JOIN qualification may not refer to other relations"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:518
+#: ../optimizer/plan/initsplan.c:545
 msgid "distribute_qual_to_rels: can't cope with variable-free clause"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:661
+#: ../optimizer/plan/initsplan.c:689
 #, c-format
 msgid "Unable to identify an equality operator for types '%s' and '%s'"
 msgstr ""
 
-#: ../optimizer/plan/initsplan.c:672
+#: ../optimizer/plan/initsplan.c:700
 #, c-format
 msgid ""
 "Equality operator for types '%s' and '%s' should be mergejoinable, but isn't"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:399
+#: ../optimizer/plan/planner.c:415
 #, c-format
 msgid "pull_up_subqueries: unexpected join type %d"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:405
+#: ../optimizer/plan/planner.c:421
 #, c-format
 msgid "pull_up_subqueries: unexpected node type %d"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:427
+#: ../optimizer/plan/planner.c:442
 msgid "is_simple_subquery: subquery is bogus"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:502
+#: ../optimizer/plan/planner.c:517
 #, c-format
 msgid "resolvenew_in_jointree: unexpected node type %d"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:582
+#: ../optimizer/plan/planner.c:596
 #, c-format
 msgid "preprocess_jointree: unexpected node type %d"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:683
+#: ../optimizer/plan/planner.c:682
 #, c-format
 msgid "preprocess_qual_conditions: unexpected node type %d"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:852
+#: ../optimizer/plan/planner.c:850
 msgid "SELECT FOR UPDATE is not allowed in subselects"
 msgstr ""
 
-#: ../optimizer/plan/planner.c:1456 ../optimizer/plan/planner.c:1462
+#: ../optimizer/plan/planner.c:1452 ../optimizer/plan/planner.c:1458
 msgid "postprocess_setop_tlist: resjunk output columns not implemented"
 msgstr ""
 
@@ -10237,25 +10272,25 @@ msgstr ""
 msgid "SS_finalize_plan: plan shouldn't reference subplan's variable"
 msgstr ""
 
-#: ../optimizer/plan/setrefs.c:190
+#: ../optimizer/plan/setrefs.c:192
 #, c-format
 msgid "set_plan_references: unknown plan type %d"
 msgstr ""
 
-#: ../optimizer/plan/setrefs.c:424
+#: ../optimizer/plan/setrefs.c:413
 msgid "join_references: variable not in subplan target lists"
 msgstr ""
 
-#: ../optimizer/plan/setrefs.c:476
+#: ../optimizer/plan/setrefs.c:474
 msgid "replace_vars_with_subplan_refs: variable not in subplan target list"
 msgstr ""
 
-#: ../optimizer/plan/planmain.c:220
+#: ../optimizer/plan/planmain.c:218
 #, c-format
 msgid "Internal error: no jointree entry for rel %s (%d)"
 msgstr ""
 
-#: ../optimizer/plan/planmain.c:243
+#: ../optimizer/plan/planmain.c:241
 msgid "subplanner: failed to construct a relation"
 msgstr ""
 
@@ -10274,46 +10309,53 @@ msgstr ""
 msgid "create_join_plan: unknown node type: %d"
 msgstr ""
 
-#: ../optimizer/plan/createplan.c:982
+#: ../optimizer/plan/createplan.c:980
 msgid "fix_indxqual_sublist: indexqual clause is not binary opclause"
 msgstr ""
 
-#: ../optimizer/plan/createplan.c:1019
+#: ../optimizer/plan/createplan.c:1017
 msgid "fix_indxqual_sublist: failed to find substitute op"
 msgstr ""
 
-#: ../optimizer/plan/createplan.c:1082
+#: ../optimizer/plan/createplan.c:1079
 msgid "fix_indxqual_operand: var is not index attribute"
 msgstr ""
 
-#: ../optimizer/plan/createplan.c:1501
+#: ../optimizer/plan/createplan.c:1497
 msgid "make_sort_from_pathkeys: cannot find tlist item to sort"
 msgstr ""
 
-#: ../optimizer/prep/preptlist.c:62
+#: ../optimizer/prep/preptlist.c:66
 msgid "preprocess_targetlist: subquery cannot be result relation"
 msgstr ""
 
-#: ../optimizer/prep/preptlist.c:269
+#: ../optimizer/prep/preptlist.c:213
 msgid "expand_targetlist: unexpected command_type"
 msgstr ""
 
-#: ../optimizer/prep/preptlist.c:294
+#: ../optimizer/prep/preptlist.c:246
 #, c-format
 msgid "Unexpected assignment to attribute \"%s\""
 msgstr ""
 
-#: ../optimizer/prep/preptlist.c:364 ../optimizer/prep/preptlist.c:376
+#: ../optimizer/prep/preptlist.c:315 ../optimizer/prep/preptlist.c:327
 #, c-format
 msgid "Multiple assignments to same attribute \"%s\""
 msgstr ""
 
-#: ../optimizer/prep/prepunion.c:193
+#: ../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
 #, c-format
 msgid "recurse_set_operations: unexpected node %d"
 msgstr ""
 
-#: ../optimizer/prep/prepunion.c:305
+#: ../optimizer/prep/prepunion.c:314
 msgid "generate_nonunion_plan: bogus operation code"
 msgstr ""
 
@@ -10347,58 +10389,58 @@ msgstr ""
 msgid "has_subclass: Relation %u not found"
 msgstr ""
 
-#: ../optimizer/util/tlist.c:240
+#: ../optimizer/util/tlist.c:239
 msgid ""
 "get_sortgroupclause_tle: ORDER/GROUP BY expression not found in targetlist"
 msgstr ""
 
-#: ../optimizer/util/relnode.c:66
+#: ../optimizer/util/relnode.c:68
 msgid "build_base_rel: rel already exists as 'other' rel"
 msgstr ""
 
-#: ../optimizer/util/relnode.c:106
+#: ../optimizer/util/relnode.c:108
 msgid "build_other_rel: rel already exists as base rel"
 msgstr ""
 
-#: ../optimizer/util/relnode.c:199
+#: ../optimizer/util/relnode.c:201
 #, c-format
 msgid "find_base_rel: no relation entry for relid %d"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:72
+#: ../optimizer/util/clauses.c:78
 #, c-format
 msgid "make_clause: unsupported type %d"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:436
+#: ../optimizer/util/clauses.c:441
 msgid "Aggregate function calls may not be nested"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:612
+#: ../optimizer/util/clauses.c:655
 #, c-format
 msgid "Sub-SELECT uses un-GROUPed attribute %s.%s from outer query"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:903
+#: ../optimizer/util/clauses.c:946
 msgid "CommuteClause: applied to non-binary-operator clause"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:911
+#: ../optimizer/util/clauses.c:954
 #, c-format
 msgid "CommuteClause: no commutator for operator %u"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:1136
+#: ../optimizer/util/clauses.c:1179
 #, c-format
 msgid "eval_const_expressions: unexpected opType %d"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:1756
+#: ../optimizer/util/clauses.c:1796
 #, c-format
 msgid "expression_tree_walker: Unexpected node type %d"
 msgstr ""
 
-#: ../optimizer/util/clauses.c:2136
+#: ../optimizer/util/clauses.c:2171
 #, c-format
 msgid "expression_tree_mutator: Unexpected node type %d"
 msgstr ""
@@ -10407,78 +10449,78 @@ msgstr ""
 msgid "Unable to devise a query plan for the given query"
 msgstr ""
 
-#: ../executor/execQual.c:144 ../executor/execQual.c:166
+#: ../executor/execQual.c:143 ../executor/execQual.c:165
 #, c-format
 msgid "ExecEvalArrayRef: can only handle %d dimensions"
 msgstr ""
 
-#: ../executor/execQual.c:188
+#: ../executor/execQual.c:187
 msgid "ExecEvalArrayRef: upper and lower indices mismatch"
 msgstr ""
 
-#: ../executor/execQual.c:266
+#: ../executor/execQual.c:265
 msgid "ExecEvalAggref: no aggregates in this expression context"
 msgstr ""
 
-#: ../executor/execQual.c:469
+#: ../executor/execQual.c:467
 msgid "ExecEvalParam: new/old params with same id & diff names"
 msgstr ""
 
-#: ../executor/execQual.c:478
+#: ../executor/execQual.c:476
 #, c-format
 msgid "ExecEvalParam: invalid paramkind %d"
 msgstr ""
 
-#: ../executor/execQual.c:493
+#: ../executor/execQual.c:490
 #, c-format
 msgid "ExecEvalParam: Unknown value for parameter %s"
 msgstr ""
 
-#: ../executor/execQual.c:527
+#: ../executor/execQual.c:524
 msgid "GetAttributeByNum: Invalid attribute number"
 msgstr ""
 
-#: ../executor/execQual.c:530
+#: ../executor/execQual.c:527
 msgid "GetAttributeByNum: cannot access system attributes here"
 msgstr ""
 
-#: ../executor/execQual.c:533
+#: ../executor/execQual.c:530
 msgid "GetAttributeByNum: a NULL isNull flag was passed"
 msgstr ""
 
-#: ../executor/execQual.c:561
+#: ../executor/execQual.c:558
 msgid "GetAttributeByName: Invalid attribute name"
 msgstr ""
 
-#: ../executor/execQual.c:564
+#: ../executor/execQual.c:561
 msgid "GetAttributeByName: a NULL isNull flag was passed"
 msgstr ""
 
-#: ../executor/execQual.c:586
+#: ../executor/execQual.c:583
 #, c-format
 msgid "GetAttributeByName: attribute %s not found"
 msgstr ""
 
-#: ../executor/execQual.c:631
+#: ../executor/execQual.c:628
 msgid "Functions and operators can take only one set argument"
 msgstr ""
 
-#: ../executor/execQual.c:1149
+#: ../executor/execQual.c:1146
 #, c-format
 msgid "ExecEvalNullTest: unexpected nulltesttype %d"
 msgstr ""
 
-#: ../executor/execQual.c:1229
+#: ../executor/execQual.c:1226
 #, c-format
 msgid "ExecEvalBooleanTest: unexpected booltesttype %d"
 msgstr ""
 
-#: ../executor/execQual.c:1385 ../executor/execQual.c:1424
+#: ../executor/execQual.c:1382 ../executor/execQual.c:1421
 #, c-format
 msgid "ExecEvalExpr: unknown expression type %d"
 msgstr ""
 
-#: ../executor/execQual.c:1770
+#: ../executor/execQual.c:1767
 msgid "ExecTargetList: fjoin nodes not currently supported"
 msgstr ""
 
@@ -10490,109 +10532,109 @@ msgstr ""
 msgid "InstrStopNode without start"
 msgstr ""
 
-#: ../executor/nodeHashjoin.c:363
+#: ../executor/nodeHashjoin.c:358
 #, c-format
 msgid "ExecInitHashJoin: unsupported join type %d"
 msgstr ""
 
-#: ../executor/nodeHashjoin.c:535 ../executor/nodeHashjoin.c:543
+#: ../executor/nodeHashjoin.c:530 ../executor/nodeHashjoin.c:538
 msgid "Read from hashjoin temp file failed"
 msgstr ""
 
-#: ../executor/nodeHashjoin.c:600 ../executor/nodeHashjoin.c:605
+#: ../executor/nodeHashjoin.c:594 ../executor/nodeHashjoin.c:599
 msgid "Failed to rewind hash temp file"
 msgstr ""
 
-#: ../executor/nodeHashjoin.c:676 ../executor/nodeHashjoin.c:679
+#: ../executor/nodeHashjoin.c:670 ../executor/nodeHashjoin.c:673
 msgid "Write to hashjoin temp file failed"
 msgstr "дÈëÉ¢ÁÐÁª½ÓÁÙʱÎļþʧ°Ü"
 
-#: ../executor/spi.c:73
+#: ../executor/spi.c:69
 msgid "SPI_connect: no connection(s) expected"
 msgstr ""
 
-#: ../executor/spi.c:79
+#: ../executor/spi.c:75
 msgid "SPI_connect: some connection(s) expected"
 msgstr ""
 
-#: ../executor/spi.c:85
+#: ../executor/spi.c:81
 msgid "Memory exhausted in SPI_connect"
 msgstr ""
 
-#: ../executor/spi.c:158
+#: ../executor/spi.c:154
 msgid "Memory exhausted in SPI_finish"
 msgstr ""
 
-#: ../executor/spi.c:324 ../executor/spi.c:351 ../executor/spi.c:385
-#: ../executor/spi.c:586 ../executor/spi.c:1230
+#: ../executor/spi.c:320 ../executor/spi.c:347 ../executor/spi.c:376
+#: ../executor/spi.c:415 ../executor/spi.c:655 ../executor/spi.c:1300
 msgid "SPI: stack corrupted"
 msgstr ""
 
-#: ../executor/spi.c:653
+#: ../executor/spi.c:722
 msgid "cannot open multi-query plan as cursor"
 msgstr ""
 
-#: ../executor/spi.c:658
+#: ../executor/spi.c:727
 msgid "plan in SPI_cursor_open() is not a SELECT"
 msgstr ""
 
-#: ../executor/spi.c:660
+#: ../executor/spi.c:729
 msgid "plan in SPI_cursor_open() must NOT be a DECLARE already"
 msgstr ""
 
-#: ../executor/spi.c:662
+#: ../executor/spi.c:731
 msgid "plan in SPI_cursor_open() must NOT be a SELECT INTO"
 msgstr ""
 
-#: ../executor/spi.c:689
+#: ../executor/spi.c:761
 #, c-format
 msgid "cursor \"%s\" already in use"
 msgstr ""
 
-#: ../executor/spi.c:694
+#: ../executor/spi.c:766
 #, c-format
 msgid "failed to create portal \"%s\""
 msgstr "´´½¨Èë¿Ú \"%s\" Ê§°Ü"
 
-#: ../executor/spi.c:787 ../executor/spi.c:1143
+#: ../executor/spi.c:860 ../executor/spi.c:1213
 msgid "invalid portal in SPI cursor operation"
 msgstr ""
 
-#: ../executor/spi.c:812
+#: ../executor/spi.c:885
 msgid "SPI: improper call to spi_printtup"
 msgstr ""
 
-#: ../executor/spi.c:814
+#: ../executor/spi.c:887
 msgid "SPI: stack corrupted in spi_printtup"
 msgstr ""
 
-#: ../executor/spi.c:1092
+#: ../executor/spi.c:1165
 msgid "SPI_select: retrieve into portal not implemented"
 msgstr ""
 
-#: ../executor/spi.c:1102
+#: ../executor/spi.c:1175
 msgid "SPI_select: # of processed tuples check failed"
 msgstr ""
 
-#: ../executor/spi.c:1196
+#: ../executor/spi.c:1266
 msgid "SPI_fetch: # of processed tuples check failed"
 msgstr ""
 
-#: ../executor/nodeIndexscan.c:721
+#: ../executor/nodeIndexscan.c:726
 msgid "ExecInitIndexScan: indxqual not an opclause!"
 msgstr ""
 
-#: ../executor/nodeIndexscan.c:851 ../executor/nodeIndexscan.c:916
+#: ../executor/nodeIndexscan.c:852 ../executor/nodeIndexscan.c:915
 #, c-format
 msgid "ExecInitIndexScan: %s"
 msgstr ""
 
-#: ../executor/nodeIndexscan.c:1003
+#: ../executor/nodeIndexscan.c:1002
 #, c-format
 msgid "indexes of the relation %u was inactivated"
 msgstr ""
 
-#: ../executor/nodeSetOp.c:178
+#: ../executor/nodeSetOp.c:174
 #, c-format
 msgid "ExecSetOp: bogus command code %d"
 msgstr ""
@@ -10607,40 +10649,40 @@ msgstr ""
 msgid "init_sql_fcache: Cache lookup failed for type %u"
 msgstr ""
 
-#: ../executor/functions.c:242
+#: ../executor/functions.c:241
 #, c-format
 msgid "init_sql_fcache: null prosrc for procedure %u"
 msgstr ""
 
-#: ../executor/nodeMergejoin.c:138
+#: ../executor/nodeMergejoin.c:137
 msgid "MJFormSkipQual: op not an Oper!"
 msgstr ""
 
-#: ../executor/nodeMergejoin.c:152
+#: ../executor/nodeMergejoin.c:151
 #, c-format
 msgid "MJFormSkipQual: operator %u not found"
 msgstr ""
 
-#: ../executor/nodeMergejoin.c:169
+#: ../executor/nodeMergejoin.c:168
 #, c-format
 msgid "MJFormSkipQual: mergejoin operator %u has no matching %s op"
 msgstr ""
 
-#: ../executor/nodeMergejoin.c:432
+#: ../executor/nodeMergejoin.c:430
 #, c-format
 msgid "ExecMergeJoin: unsupported join type %d"
 msgstr ""
 
-#: ../executor/nodeMergejoin.c:1438
+#: ../executor/nodeMergejoin.c:1414
 #, c-format
 msgid "ExecMergeJoin: invalid join state %d, aborting"
 msgstr ""
 
-#: ../executor/nodeMergejoin.c:1518
+#: ../executor/nodeMergejoin.c:1494
 msgid "RIGHT JOIN is only supported with mergejoinable join conditions"
 msgstr ""
 
-#: ../executor/nodeMergejoin.c:1536
+#: ../executor/nodeMergejoin.c:1512
 #, c-format
 msgid "ExecInitMergeJoin: unsupported join type %d"
 msgstr ""
@@ -10659,22 +10701,22 @@ msgstr ""
 msgid "ExecCloseR: not a scan node!"
 msgstr ""
 
-#: ../executor/execAmi.c:366
+#: ../executor/execAmi.c:365
 #, c-format
 msgid "ExecReScan: node type %d not supported"
 msgstr ""
 
-#: ../executor/execAmi.c:435
+#: ../executor/execAmi.c:434
 #, c-format
 msgid "ExecMarkPos: node type %d not supported"
 msgstr ""
 
-#: ../executor/execAmi.c:472
+#: ../executor/execAmi.c:471
 #, c-format
 msgid "ExecRestrPos: node type %d not supported"
 msgstr ""
 
-#: ../executor/nodeNestloop.c:322
+#: ../executor/nodeNestloop.c:318
 #, c-format
 msgid "ExecInitNestLoop: unsupported join type %d"
 msgstr ""
@@ -10683,12 +10725,12 @@ msgstr ""
 msgid "ExecHash: hash table is NULL."
 msgstr ""
 
-#: ../executor/nodeHash.c:314 ../executor/nodeHash.c:494
-#: ../executor/nodeHash.c:729
+#: ../executor/nodeHash.c:312 ../executor/nodeHash.c:491
+#: ../executor/nodeHash.c:725
 msgid "Insufficient memory for hash table."
 msgstr ""
 
-#: ../executor/nodeAppend.c:295
+#: ../executor/nodeAppend.c:293
 msgid "ExecProcAppend: subnode is NULL"
 msgstr ""
 
@@ -10697,7 +10739,7 @@ msgid "ExecSubPlan: can't set parent params from subquery"
 msgstr ""
 
 #: ../executor/nodeSubplan.c:120 ../executor/nodeSubplan.c:142
-#: ../executor/nodeSubplan.c:386
+#: ../executor/nodeSubplan.c:385
 msgid "More than one tuple returned by a subselect used as an expression."
 msgstr ""
 
@@ -10705,23 +10747,23 @@ msgstr ""
 msgid "ExecSubPlan: failed to find placeholder for subplan result"
 msgstr ""
 
-#: ../executor/nodeSubplan.c:359
+#: ../executor/nodeSubplan.c:358
 msgid "ExecSetParamPlan: ANY/ALL subselect unsupported"
 msgstr ""
 
-#: ../executor/nodeSubplan.c:469
+#: ../executor/nodeSubplan.c:468
 msgid "ExecReScanSetParamPlan: direct correlated subquery unsupported, yet"
 msgstr ""
 
-#: ../executor/nodeSubplan.c:471
+#: ../executor/nodeSubplan.c:470
 msgid "ExecReScanSetParamPlan: setParam list is NULL"
 msgstr ""
 
-#: ../executor/nodeSubplan.c:473
+#: ../executor/nodeSubplan.c:472
 msgid "ExecReScanSetParamPlan: extParam list of plan is NULL"
 msgstr ""
 
-#: ../executor/nodeAgg.c:933 ../executor/nodeGroup.c:497
+#: ../executor/nodeAgg.c:923 ../executor/nodeGroup.c:495
 #, c-format
 msgid "Unable to identify an equality operator for type '%s'"
 msgstr ""
@@ -10730,7 +10772,7 @@ msgstr ""
 msgid "ExtractSortKeys: keycount <= 0"
 msgstr ""
 
-#: ../executor/execUtils.c:536
+#: ../executor/execUtils.c:534
 #, c-format
 msgid "ExecOpenIndices: index %u not found"
 msgstr ""
@@ -10769,154 +10811,159 @@ msgstr ""
 msgid "ExecutorRun: Unknown feature %d"
 msgstr ""
 
-#: ../executor/execMain.c:450
+#: ../executor/execMain.c:448
 #, c-format
 msgid "ExecCheckRTEPerms: bogus operation %d"
 msgstr ""
 
-#: ../executor/execMain.c:813
+#: ../executor/execMain.c:805
 #, c-format
 msgid "You can't change sequence relation %s"
 msgstr ""
 
-#: ../executor/execMain.c:817
+#: ../executor/execMain.c:809
 #, c-format
 msgid "You can't change toast relation %s"
 msgstr ""
 
-#: ../executor/execMain.c:821
+#: ../executor/execMain.c:813
 #, c-format
 msgid "You can't change view relation %s"
 msgstr ""
 
-#: ../executor/execMain.c:1022
+#: ../executor/execMain.c:1014
 msgid "ExecutePlan: NO (junk) `ctid' was found!"
 msgstr ""
 
-#: ../executor/execMain.c:1026
+#: ../executor/execMain.c:1018
 msgid "ExecutePlan: (junk) `ctid' is NULL!"
 msgstr ""
 
-#: ../executor/execMain.c:1051
+#: ../executor/execMain.c:1043
 #, c-format
 msgid "ExecutePlan: NO (junk) `%s' was found!"
 msgstr ""
 
-#: ../executor/execMain.c:1056
+#: ../executor/execMain.c:1048
 #, c-format
 msgid "ExecutePlan: (junk) `%s' is NULL!"
 msgstr ""
 
-#: ../executor/execMain.c:1142
+#: ../executor/execMain.c:1134
 msgid "ExecutePlan: unknown operation in queryDesc"
 msgstr ""
 
-#: ../executor/execMain.c:1407
+#: ../executor/execMain.c:1398
 msgid "ExecReplace: replace can't run without transactions"
 msgstr ""
 
-#: ../executor/execMain.c:1605
+#: ../executor/execMain.c:1595
 #, c-format
 msgid "%s: Fail to add null value in not null attribute %s"
 msgstr ""
 
-#: ../executor/execMain.c:1615
+#: ../executor/execMain.c:1605
 #, c-format
 msgid "%s: rejected due to CHECK constraint %s"
 msgstr ""
 
-#: ../executor/execMain.c:1661
+#: ../executor/execMain.c:1649
 #, c-format
 msgid "EvalPlanQual: can't find RTE %d"
 msgstr ""
 
-#: ../executor/execMain.c:1680
+#: ../executor/execMain.c:1668
 msgid "EvalPlanQual: t_xmin is uncommitted ?!"
 msgstr ""
 
-#: ../executor/nodeAgg.c:768
+#: ../executor/nodeAgg.c:760
 msgid "ExecInitAgg: could not find any aggregate functions"
 msgstr ""
 
-#: ../executor/nodeAgg.c:866
+#: ../executor/nodeAgg.c:858
 #, c-format
 msgid "ExecAgg: cache lookup failed for aggregate %s(%s)"
 msgstr ""
 
-#: ../executor/nodeAgg.c:910
+#: ../executor/nodeAgg.c:901
 #, c-format
 msgid "Aggregate %s needs to have compatible input type and transition type"
 msgstr ""
 
-#: ../catalog/pg_operator.c:177
+#: ../catalog/pg_operator.c:229
 #, c-format
 msgid "left type \"%s\" of operator %s does not exist"
 msgstr ""
 
-#: ../catalog/pg_operator.c:186
+#: ../catalog/pg_operator.c:238
 #, c-format
 msgid "right type \"%s\" of operator %s does not exist"
 msgstr ""
 
-#: ../catalog/pg_operator.c:192
+#: ../catalog/pg_operator.c:244
 #, c-format
 msgid "operator %s must have at least one operand type"
 msgstr ""
 
-#: ../catalog/pg_operator.c:333
+#: ../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
 msgid "OperatorShellMake: the operand types are not valid"
 msgstr ""
 
-#: ../catalog/pg_operator.c:479
+#: ../catalog/pg_operator.c:505
 #, c-format
 msgid "OperatorDef: operator \"%s\" already defined"
 msgstr ""
 
-#: ../catalog/pg_operator.c:497
+#: ../catalog/pg_operator.c:529
 #, c-format
 msgid "left type \"%s\" does not exist"
 msgstr ""
 
-#: ../catalog/pg_operator.c:506
+#: ../catalog/pg_operator.c:538
 #, c-format
 msgid "right type \"%s\" does not exist"
 msgstr ""
 
-#: ../catalog/pg_operator.c:512
+#: ../catalog/pg_operator.c:544
 msgid "operator must have at least one operand type"
 msgstr ""
 
-#: ../catalog/pg_operator.c:707
+#: ../catalog/pg_operator.c:739
 #, c-format
 msgid "OperatorDef: can't create operator shell \"%s\""
 msgstr ""
 
-#: ../catalog/pg_operator.c:720
+#: ../catalog/pg_operator.c:751
 msgid "operator cannot be its own negator or sort operator"
 msgstr ""
 
-#: ../catalog/pg_operator.c:775
+#: ../catalog/pg_operator.c:806
 #, c-format
 msgid "OperatorDef: operator %u not found"
 msgstr ""
 
-#: ../catalog/pg_operator.c:1026
+#: ../catalog/pg_operator.c:1057
 msgid "at least one of leftarg or rightarg must be specified"
 msgstr ""
 
-#: ../catalog/pg_operator.c:1032
+#: ../catalog/pg_operator.c:1063
 msgid "only binary operators can have commutators"
 msgstr ""
 
-#: ../catalog/pg_operator.c:1034
+#: ../catalog/pg_operator.c:1065
 msgid "only binary operators can have join selectivity"
 msgstr ""
 
-#: ../catalog/pg_operator.c:1036
+#: ../catalog/pg_operator.c:1067
 msgid "only binary operators can hash"
 msgstr ""
 
-#: ../catalog/pg_operator.c:1038
+#: ../catalog/pg_operator.c:1069
 msgid "only binary operators can have sort links"
 msgstr ""
 
@@ -10940,239 +10987,232 @@ msgstr ""
 msgid "\tacl[%d]: %s"
 msgstr ""
 
-#: ../catalog/aclchk.c:108
+#: ../catalog/aclchk.c:107
 #, c-format
 msgid "relation \"%s\" not found"
 msgstr ""
 
-#: ../catalog/aclchk.c:114
+#: ../catalog/aclchk.c:113
 #, c-format
 msgid "\"%s\" is an index"
 msgstr ""
 
-#: ../catalog/aclchk.c:208
+#: ../catalog/aclchk.c:209
 #, c-format
 msgid "non-existent group \"%s\""
 msgstr ""
 
-#: ../catalog/aclchk.c:278
+#: ../catalog/aclchk.c:279
 #, c-format
 msgid "in_group: group %u not found"
 msgstr ""
 
-#: ../catalog/aclchk.c:305
+#: ../catalog/aclchk.c:306
 msgid "aclcheck: null ACL, returning OK"
 msgstr ""
 
-#: ../catalog/aclchk.c:320
+#: ../catalog/aclchk.c:321
 msgid "aclcheck: zero-length ACL, returning OK"
 msgstr ""
 
-#: ../catalog/aclchk.c:329
+#: ../catalog/aclchk.c:330
 msgid "aclcheck: first entry in ACL is not 'world' entry"
 msgstr ""
 
-#: ../catalog/aclchk.c:333
+#: ../catalog/aclchk.c:334
 #, c-format
 msgid "aclcheck: using world=%d"
 msgstr ""
 
-#: ../catalog/aclchk.c:349
+#: ../catalog/aclchk.c:350
 #, c-format
 msgid "aclcheck: found user %u/%d"
 msgstr ""
 
-#: ../catalog/aclchk.c:366 ../catalog/aclchk.c:387
+#: ../catalog/aclchk.c:367 ../catalog/aclchk.c:388
 #, c-format
 msgid "aclcheck: found group %u/%d"
 msgstr ""
 
-#: ../catalog/aclchk.c:399
+#: ../catalog/aclchk.c:400
 #, c-format
 msgid "aclcheck: bogus ACL id type: %d"
 msgstr ""
 
-#: ../catalog/aclchk.c:429
+#: ../catalog/aclchk.c:430
 #, c-format
 msgid "pg_aclcheck: invalid user id %u"
 msgstr ""
 
-#: ../catalog/aclchk.c:445
+#: ../catalog/aclchk.c:446
 #, c-format
 msgid "pg_aclcheck: catalog update to \"%s\": permission denied"
 msgstr ""
 
-#: ../catalog/aclchk.c:458
+#: ../catalog/aclchk.c:459
 #, c-format
 msgid "pg_aclcheck: \"%s\" is superuser"
 msgstr ""
 
-#: ../catalog/aclchk.c:475
+#: ../catalog/aclchk.c:476
 #, c-format
 msgid "pg_aclcheck: class \"%s\" not found"
 msgstr ""
 
-#: ../catalog/aclchk.c:525
+#: ../catalog/aclchk.c:526
 #, c-format
 msgid "pg_ownercheck: invalid user id %u"
 msgstr ""
 
-#: ../catalog/aclchk.c:535 ../catalog/aclchk.c:597 ../catalog/aclchk.c:648
+#: ../catalog/aclchk.c:536 ../catalog/aclchk.c:598 ../catalog/aclchk.c:649
 #, c-format
 msgid "pg_ownercheck: user \"%s\" is superuser"
 msgstr ""
 
-#: ../catalog/aclchk.c:552
+#: ../catalog/aclchk.c:553
 #, c-format
 msgid "pg_ownercheck: class \"%s\" not found"
 msgstr ""
 
-#: ../catalog/aclchk.c:558
+#: ../catalog/aclchk.c:559
 #, c-format
 msgid "pg_ownercheck: type \"%s\" not found"
 msgstr ""
 
-#: ../catalog/aclchk.c:563
+#: ../catalog/aclchk.c:564
 #, c-format
 msgid "pg_ownercheck: invalid cache id: %d"
 msgstr ""
 
-#: ../catalog/aclchk.c:587
+#: ../catalog/aclchk.c:588
 #, c-format
 msgid "pg_oper_ownercheck: invalid user id %u"
 msgstr ""
 
-#: ../catalog/aclchk.c:611
+#: ../catalog/aclchk.c:612
 #, c-format
 msgid "pg_ownercheck: operator %u not found"
 msgstr ""
 
-#: ../catalog/aclchk.c:638
+#: ../catalog/aclchk.c:639
 #, c-format
 msgid "pg_func_ownercheck: invalid user id %u"
 msgstr ""
 
-#: ../catalog/aclchk.c:690
+#: ../catalog/aclchk.c:691
 #, c-format
 msgid "pg_aggr_ownercheck: invalid user id %u"
 msgstr ""
 
-#: ../catalog/aclchk.c:700
+#: ../catalog/aclchk.c:701
 #, c-format
 msgid "pg_aggr_ownercheck: user \"%s\" is superuser"
 msgstr ""
 
-#: ../catalog/heap.c:159 ../catalog/heap.c:162
+#: ../catalog/heap.c:160 ../catalog/heap.c:163
 #, c-format
 msgid "SystemAttributeDefinition: invalid attribute number %d"
 msgstr ""
 
-#: ../catalog/heap.c:209
+#: ../catalog/heap.c:234
 #, c-format
 msgid ""
 "invalid relation name \"%s\"; the 'pg_' name prefix is reserved for system "
 "catalogs"
 msgstr ""
 
-#: ../catalog/heap.c:359
+#: ../catalog/heap.c:380
 #, c-format
 msgid "name of column \"%s\" conflicts with an existing system column"
 msgstr ""
 
-#: ../catalog/heap.c:364
+#: ../catalog/heap.c:383
 #, c-format
 msgid ""
 "Attribute '%s' has an unknown type\n"
 "\tProceeding with relation creation anyway"
 msgstr ""
 
-#: ../catalog/heap.c:378
+#: ../catalog/heap.c:397
 #, c-format
 msgid "column name \"%s\" is duplicated"
 msgstr ""
 
-#: ../catalog/heap.c:712
+#: ../catalog/heap.c:734
 #, c-format
 msgid "Number of columns is out of range (1 to %d)"
 msgstr "×ֶαàºÅ³¬³ö·¶Î§ (1 µ½ %d)"
 
-#: ../catalog/heap.c:720
+#: ../catalog/heap.c:742
 #, c-format
 msgid "Relation '%s' already exists"
 msgstr ""
 
-#: ../catalog/heap.c:855
+#: ../catalog/heap.c:877
 #, c-format
 msgid "Relation \"%s\" inherits from \"%s\""
 msgstr ""
 
-#: ../catalog/heap.c:858
+#: ../catalog/heap.c:880
 #, c-format
 msgid "Relation %u inherits from \"%s\""
 msgstr ""
 
-#: ../catalog/heap.c:1054
+#: ../catalog/heap.c:1076
 msgid "TRUNCATE TABLE cannot run inside a transaction block"
 msgstr ""
 
-#: ../catalog/heap.c:1164
+#: ../catalog/heap.c:1186
 #, c-format
 msgid "DeleteTypeTuple: type \"%s\" does not exist"
 msgstr ""
 
-#: ../catalog/heap.c:1204
+#: ../catalog/heap.c:1226
 #, c-format
 msgid "DeleteTypeTuple: column of type %s exists in relation %u"
 msgstr ""
 
-#: ../catalog/heap.c:1275
+#: ../catalog/heap.c:1297
 #, c-format
 msgid "System relation \"%s\" may not be dropped"
 msgstr ""
 
-#: ../catalog/heap.c:1284
+#: ../catalog/heap.c:1306
 #, c-format
 msgid "heap_drop_with_catalog: FlushRelationBuffers returned %d"
 msgstr ""
 
-#: ../catalog/heap.c:1617
+#: ../catalog/heap.c:1639
 msgid "cannot use column references in DEFAULT clause"
 msgstr ""
 
-#: ../catalog/heap.c:1623
+#: ../catalog/heap.c:1645
 msgid "cannot use subselects in DEFAULT clause"
 msgstr ""
 
-#: ../catalog/heap.c:1625
-msgid "cannot use aggregate functions in DEFAULT clause"
-msgstr ""
-
 #: ../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"
+msgid "cannot use aggregate functions in DEFAULT clause"
 msgstr ""
 
-#: ../catalog/heap.c:1769
+#: ../catalog/heap.c:1800
 #, c-format
 msgid "CHECK constraint expression '%s' does not yield boolean result"
 msgstr ""
 
-#: ../catalog/heap.c:1776
+#: ../catalog/heap.c:1807
 #, c-format
 msgid "Only relation \"%s\" can be referenced in CHECK constraint expression"
 msgstr ""
 
-#: ../catalog/heap.c:1783
+#: ../catalog/heap.c:1814
 msgid "cannot use subselect in CHECK constraint expression"
 msgstr ""
 
-#: ../catalog/heap.c:1785
+#: ../catalog/heap.c:1816
 msgid "cannot use aggregate function in CHECK constraint expression"
 msgstr ""
 
-#: ../catalog/heap.c:2000
+#: ../catalog/heap.c:2037
 msgid "check count became negative"
 msgstr ""
 
@@ -11210,20 +11250,20 @@ msgid ""
 "with input type"
 msgstr ""
 
-#: ../catalog/pg_aggregate.c:204
+#: ../catalog/pg_aggregate.c:203
 msgid "AggregateCreate: heap_formtuple failed"
 msgstr ""
 
-#: ../catalog/pg_aggregate.c:206
+#: ../catalog/pg_aggregate.c:205
 msgid "AggregateCreate: heap_insert failed"
 msgstr ""
 
-#: ../catalog/pg_aggregate.c:239
+#: ../catalog/pg_aggregate.c:238
 #, c-format
 msgid "AggNameGetInitVal: cache lookup failed for aggregate '%s'"
 msgstr ""
 
-#: ../catalog/pg_aggregate.c:264
+#: ../catalog/pg_aggregate.c:263
 #, c-format
 msgid ""
 "AggNameGetInitVal: cache lookup failed on aggregate transition function "
@@ -11253,45 +11293,45 @@ msgstr ""
 msgid "functions cannot accept set arguments"
 msgstr ""
 
-#: ../catalog/pg_proc.c:160
+#: ../catalog/pg_proc.c:159
 msgid "lookup for procedure by source needs fix (Jan)"
 msgstr ""
 
-#: ../catalog/pg_proc.c:168
+#: ../catalog/pg_proc.c:167
 msgid "SQL functions cannot return type \"opaque\""
 msgstr ""
 
-#: ../catalog/pg_proc.c:177
+#: ../catalog/pg_proc.c:176
 #, c-format
 msgid "ProcedureCreate: type %s is not yet defined"
 msgstr ""
 
-#: ../catalog/pg_proc.c:181
+#: ../catalog/pg_proc.c:180
 #, c-format
 msgid "could not create type %s"
 msgstr "ÎÞ·¨´´½¨ÀàÐÍ %s"
 
-#: ../catalog/pg_proc.c:185
+#: ../catalog/pg_proc.c:184
 #, c-format
 msgid "return type %s is only a shell"
 msgstr ""
 
-#: ../catalog/pg_proc.c:198
+#: ../catalog/pg_proc.c:197
 #, c-format
 msgid "method %s already an attribute of type %s"
 msgstr ""
 
-#: ../catalog/pg_proc.c:233
+#: ../catalog/pg_proc.c:232
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr ""
 
-#: ../catalog/pg_proc.c:309
+#: ../catalog/pg_proc.c:308
 #, c-format
 msgid "function %s already exists with same argument types"
 msgstr ""
 
-#: ../catalog/pg_proc.c:312
+#: ../catalog/pg_proc.c:311
 #, c-format
 msgid "ProcedureCreate: you do not have permission to replace function %s"
 msgstr ""
@@ -11368,20 +11408,20 @@ msgstr ""
 msgid "cannot create index: column %d does not exist"
 msgstr "ÎÞ·¨´´½¨Ë÷Òý: ×ֶΠ%d ²»´æÔÚ"
 
-#: ../catalog/index.c:678
+#: ../catalog/index.c:679
 msgid "must index at least one column"
 msgstr ""
 
-#: ../catalog/index.c:682
+#: ../catalog/index.c:683
 msgid "User-defined indexes on system catalogs are not supported"
 msgstr ""
 
-#: ../catalog/index.c:862 ../catalog/index.c:910
+#: ../catalog/index.c:864 ../catalog/index.c:912
 #, c-format
 msgid "index_drop: cache lookup failed for index %u"
 msgstr ""
 
-#: ../catalog/index.c:922
+#: ../catalog/index.c:924
 #, c-format
 msgid "index_drop: FlushRelationBuffers returned %d"
 msgstr ""
@@ -11418,25 +11458,20 @@ msgstr ""
 msgid "setNewRelfilenode impossible to lock class tuple"
 msgstr ""
 
-#: ../catalog/index.c:1425
-#, c-format
-msgid "UpdateStats: cannot open relation id %u"
-msgstr ""
-
-#: ../catalog/index.c:1461
+#: ../catalog/index.c:1455
 #, c-format
 msgid "UpdateStats: cannot find relation %u in pg_class"
 msgstr ""
 
-#: ../catalog/index.c:1730
+#: ../catalog/index.c:1726
 msgid "IndexBuildHeapScan: concurrent insert in progress"
 msgstr ""
 
-#: ../catalog/index.c:1742
+#: ../catalog/index.c:1740
 msgid "IndexBuildHeapScan: concurrent delete in progress"
 msgstr ""
 
-#: ../catalog/index.c:1834
+#: ../catalog/index.c:1832
 #, c-format
 msgid "IndexGetRelation: can't find index id %u"
 msgstr ""
@@ -11445,35 +11480,35 @@ msgstr ""
 msgid "REINDEX cannot run inside a transaction block"
 msgstr ""
 
-#: ../catalog/index.c:1892
+#: ../catalog/index.c:1895
+msgid "reindex_index: can't open index relation"
+msgstr ""
+
+#: ../catalog/index.c:1907
 #, c-format
 msgid "reindex_index: index %u not found in pg_index"
 msgstr ""
 
-#: ../catalog/index.c:1906
+#: ../catalog/index.c:1921
 msgid "reindex_index: can't open heap relation"
 msgstr ""
 
-#: ../catalog/index.c:1909
-msgid "reindex_index: can't open index relation"
-msgstr ""
-
-#: ../catalog/index.c:2030
+#: ../catalog/index.c:2045
 #, c-format
 msgid "the target relation %u is nailed"
 msgstr ""
 
-#: ../catalog/index.c:2046
+#: ../catalog/index.c:2061
 #, c-format
 msgid "the target relation %u is shared"
 msgstr ""
 
-#: ../catalog/pg_type.c:307 ../catalog/pg_type.c:539
+#: ../catalog/pg_type.c:307 ../catalog/pg_type.c:538
 #, c-format
 msgid "type named %s already exists"
 msgstr ""
 
-#: ../catalog/pg_type.c:317 ../catalog/pg_type.c:534
+#: ../catalog/pg_type.c:317 ../catalog/pg_type.c:533
 #, c-format
 msgid "type %s does not exist"
 msgstr ""
@@ -11492,12 +11527,12 @@ msgstr ""
 msgid "TypeCreate: fixed size types must have storage PLAIN"
 msgstr ""
 
-#: ../catalog/pg_type.c:468
+#: ../catalog/pg_type.c:467
 #, c-format
 msgid "type %s already exists"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:297 ../postmaster/postmaster.c:276
+#: ../bootstrap/bootstrap.c:297 ../postmaster/postmaster.c:288
 #, c-format
 msgid ""
 "%s does not know where to find the database system data.\n"
@@ -11511,7 +11546,24 @@ msgstr ""
 "PGDATA »·¾³±äÁ¿ÉùÃ÷°üº¬Êý¾Ý¿âϵͳµÄĿ¼.\n"
 "\n"
 
-#: ../postmaster/postmaster.c:290
+#: ../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
 #, c-format
 msgid ""
 "%s does not find the database system.\n"
@@ -11524,50 +11576,50 @@ msgstr ""
 "µ«ÊÇÎÞ·¨´ò¿ªÎļþ \"%s\": %s\n"
 "\n"
 
-#: ../postmaster/postmaster.c:396 ../postmaster/postmaster.c:407
-#: ../postmaster/postmaster.c:545 ../postmaster/postmaster.c:584
+#: ../postmaster/postmaster.c:421 ../postmaster/postmaster.c:432
+#: ../postmaster/postmaster.c:574 ../postmaster/postmaster.c:630
 #, c-format
 msgid "Try '%s --help' for more information.\n"
 msgstr "Óà'%s --help' »ñÈ¡¸ü¶àµÄÐÅÏ¢.\n"
 
-#: ../postmaster/postmaster.c:406
+#: ../postmaster/postmaster.c:431
 #, c-format
 msgid "invalid argument -- %s"
 msgstr "ÎÞЧ²ÎÊý -- %s"
 
-#: ../postmaster/postmaster.c:430
+#: ../postmaster/postmaster.c:458
 msgid "Assert checking is not compiled in."
 msgstr "ûÓаѶÏÑÔ¼ì²é±àÒëµ½³ÌÐòÀï."
 
-#: ../postmaster/postmaster.c:560
+#: ../postmaster/postmaster.c:589
 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:583
+#: ../postmaster/postmaster.c:629
 msgid "For SSL, TCP/IP connections must be enabled."
 msgstr "¶ÔÓÚ SSL ¶øÑÔ, ±ØÐë´ò¿ª TCP/IP Áª½Ó."
 
-#: ../postmaster/postmaster.c:629
+#: ../postmaster/postmaster.c:676
 msgid "cannot create INET stream port"
 msgstr "ÎÞ·¨´´½¨ INET Á÷¶Ë¿Ú"
 
-#: ../postmaster/postmaster.c:641
+#: ../postmaster/postmaster.c:688
 msgid "cannot create UNIX stream port"
 msgstr "ÎÞ·¨´´½¨ UNIX Á÷¶Ë¿Ú"
 
-#: ../postmaster/postmaster.c:728
+#: ../postmaster/postmaster.c:780
 #, c-format
 msgid "fork failed: %s"
 msgstr "fork Ê§°Ü: %s"
 
-#: ../postmaster/postmaster.c:746
+#: ../postmaster/postmaster.c:798
 #, c-format
 msgid "cannot disassociate from controlling TTY: %s"
 msgstr "ÎÞ·¨Óë¿ØÖÆ TTY: %s ¶Ï¿ªÁªÏµ"
 
-#: ../postmaster/postmaster.c:766
+#: ../postmaster/postmaster.c:818
 #, c-format
 msgid ""
 "%s is the PostgreSQL server.\n"
@@ -11576,7 +11628,7 @@ msgstr ""
 "%s ÊÇ PostgreSQL ·þÎñÆ÷.\n"
 "\n"
 
-#: ../postmaster/postmaster.c:767
+#: ../postmaster/postmaster.c:819
 #, c-format
 msgid ""
 "Usage:\n"
@@ -11587,71 +11639,71 @@ msgstr ""
 "  %s [Ñ¡Ïî...]\n"
 "\n"
 
-#: ../postmaster/postmaster.c:768
+#: ../postmaster/postmaster.c:820
 msgid "Options:\n"
 msgstr "Ñ¡Ïî:\n"
 
-#: ../postmaster/postmaster.c:770
+#: ../postmaster/postmaster.c:822
 msgid "  -A 1|0          enable/disable run-time assert checking\n"
 msgstr "  -A 1|0          ´ò¿ª/¹Ø±ÕÔËÐÐʱ¶ÏÑÔ¼ì²é\n"
 
-#: ../postmaster/postmaster.c:772
+#: ../postmaster/postmaster.c:824
 #, c-format
 msgid "  -B NBUFFERS     number of shared buffers (default %d)\n"
 msgstr "  -B »º³åÇøÊýÁ¿   ¹²Ïí»º³åÇøµÄÊýÁ¿ (ȱʡÊÇ %d)\n"
 
-#: ../postmaster/postmaster.c:773
+#: ../postmaster/postmaster.c:825
 msgid "  -c NAME=VALUE   set run-time parameter\n"
 msgstr "  -c Ãû×Ö=ÊýÖµ   ÉèÖÃÔËÐÐʱ²ÎÊý\n"
 
-#: ../postmaster/postmaster.c:774
+#: ../postmaster/postmaster.c:826
 msgid "  -d 1-5          debugging level\n"
 msgstr "  -d 1-5         µ÷ÊÔ¼¶±ð\n"
 
-#: ../postmaster/postmaster.c:775
+#: ../postmaster/postmaster.c:827
 msgid "  -D DATADIR      database directory\n"
 msgstr "  -D Êý¾ÝĿ¼     Êý¾Ý¿âĿ¼\n"
 
-#: ../postmaster/postmaster.c:776
+#: ../postmaster/postmaster.c:828
 msgid "  -F              turn fsync off\n"
 msgstr "  -F              ¹Ø±Õ fsync\n"
 
-#: ../postmaster/postmaster.c:777
+#: ../postmaster/postmaster.c:829
 msgid "  -h HOSTNAME     host name or IP address to listen on\n"
 msgstr "  -h Ö÷»úÃû       ÕìÌýµÄÖ÷»úÃû»òÕß IP µØÖ·\n"
 
-#: ../postmaster/postmaster.c:778
+#: ../postmaster/postmaster.c:830
 msgid "  -i              enable TCP/IP connections\n"
 msgstr "  -i              ´ò¿ª TCP/IP Áª½Ó\n"
 
-#: ../postmaster/postmaster.c:779
+#: ../postmaster/postmaster.c:831
 msgid "  -k DIRECTORY    Unix-domain socket location\n"
 msgstr "  -k Ä¿Â¼         Unix ÓòÌ×½Ó×ÖµÄλÖÃ\n"
 
-#: ../postmaster/postmaster.c:781
+#: ../postmaster/postmaster.c:833
 msgid "  -l              enable SSL connections\n"
 msgstr "  -l              ´ò¿ª SSL Áª½Ó\n"
 
-#: ../postmaster/postmaster.c:783
+#: ../postmaster/postmaster.c:835
 #, c-format
 msgid "  -N MAX-CONNECT  maximum number of allowed connections (default %d)\n"
 msgstr "  -N ×î´óÁª½Ó     ÔÊÐí½¨Á¢µÄ×î´óÁª½ÓÊýÄ¿ (ȱʡÊÇ %d)\n"
 
-#: ../postmaster/postmaster.c:785
+#: ../postmaster/postmaster.c:837
 msgid "  -o OPTIONS      pass 'OPTIONS' to each backend server\n"
 msgstr "  -o Ñ¡Ïî         °Ñ'Ñ¡Ïî'´«µÝ¸øÿһ¸öºó¶Ë·þÎñÆ÷\n"
 
-#: ../postmaster/postmaster.c:786
+#: ../postmaster/postmaster.c:838
 #, c-format
 msgid "  -p PORT         port number to listen on (default %d)\n"
 msgstr "  -p PORT         ÕìÌýµÄ¶Ë¿ÚºÅ (ȱʡÊÇ %d)\n"
 
-#: ../postmaster/postmaster.c:787
+#: ../postmaster/postmaster.c:839
 msgid ""
 "  -S              silent mode (start in background without logging output)\n"
 msgstr "  -S              °²¾²Ä£Ê½(ºó¶ËÆô¶¯Ö®ºó²»ÔټǼÈÕÖ¾Êä³ö)\n"
 
-#: ../postmaster/postmaster.c:789
+#: ../postmaster/postmaster.c:841
 msgid ""
 "\n"
 "Developer options:\n"
@@ -11659,16 +11711,16 @@ msgstr ""
 "\n"
 "¿ª·¢ÈËԱѡÏî:\n"
 
-#: ../postmaster/postmaster.c:790
+#: ../postmaster/postmaster.c:842
 msgid ""
 "  -n              do not reinitialize shared memory after abnormal exit\n"
 msgstr "  -n              ÔÚÒì³£Í˳öÖ®ºó²»ÔÙÖØгõʼ»¯¹²ÏíÄÚ´æ\n"
 
-#: ../postmaster/postmaster.c:791
+#: ../postmaster/postmaster.c:843
 msgid "  -s              send SIGSTOP to all backend servers if one dies\n"
 msgstr "  -s              Èç¹ûÒ»¸öºó¶ËÍ˳ö, ÄÇôÏòËùÓкó¶Ë·¢ËÍ SIGSTOP\n"
 
-#: ../postmaster/postmaster.c:793
+#: ../postmaster/postmaster.c:845
 msgid ""
 "\n"
 "Please read the documentation for the complete list of run-time\n"
@@ -11683,267 +11735,270 @@ msgstr ""
 "\n"
 "ÇëÏò <pgsql-bugs@postgresql.org> ±¨¸æ³ô³æ.\n"
 
-#: ../postmaster/postmaster.c:865
-#, c-format
-msgid "ServerLoop: select failed: %s"
+#: ../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:999
+#: ../postmaster/postmaster.c:1061
 msgid "invalid length of startup packet"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1033
+#: ../postmaster/postmaster.c:1100
 #, c-format
 msgid "failed to send SSL negotiation response: %s"
 msgstr "·¢ËÍ SSL Ð­ÉÌÏìӦʧ°Ü: %s"
 
-#: ../postmaster/postmaster.c:1045
+#: ../postmaster/postmaster.c:1112
 #, c-format
-msgid "failed to initialize SSL connection: %s (%s)"
-msgstr "³õʼ»¯ SLL Áª½Óʧ°Ü: %s (%s)"
+msgid "failed to initialize SSL connection: %s (%m)"
+msgstr "³õʼ»¯ SSL Áª½Óʧ°Ü: %s (%m)"
 
-#: ../postmaster/postmaster.c:1065
+#: ../postmaster/postmaster.c:1132
 msgid "unsupported frontend protocol"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1093
+#: ../postmaster/postmaster.c:1159
 msgid "no PostgreSQL user name specified in startup packet"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1105
+#: ../postmaster/postmaster.c:1171
 msgid "The database system is starting up"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1108
+#: ../postmaster/postmaster.c:1174
 msgid "The database system is shutting down"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1111
+#: ../postmaster/postmaster.c:1177
 msgid "The database system is in recovery mode"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1145
+#: ../postmaster/postmaster.c:1211
 #, c-format
 msgid "processCancelRequest: CheckPointPID in cancel request for process %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1160
+#: ../postmaster/postmaster.c:1226
 #, c-format
 msgid "processing cancel request: sending SIGINT to process %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1168
+#: ../postmaster/postmaster.c:1234
 #, c-format
 msgid "bad key in cancel request for process %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1177
+#: ../postmaster/postmaster.c:1243
 #, c-format
 msgid "bad pid in cancel request for process %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1219
+#: ../postmaster/postmaster.c:1286
 msgid "ConnCreate: malloc failed"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1341
+#: ../postmaster/postmaster.c:1408
 #, c-format
 msgid "pmdie %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1372
+#: ../postmaster/postmaster.c:1422
 msgid "smart shutdown request"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1390 ../postmaster/postmaster.c:1443
+#: ../postmaster/postmaster.c:1434 ../postmaster/postmaster.c:1478
 #, c-format
 msgid "shutdown process %d already running"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1412
+#: ../postmaster/postmaster.c:1452
 msgid "fast shutdown request"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1418
+#: ../postmaster/postmaster.c:1458
 msgid "aborting any active transactions"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1460
+#: ../postmaster/postmaster.c:1494
 msgid "immediate shutdown request"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1494
+#: ../postmaster/postmaster.c:1530
 msgid "reaping dead processes"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1511
-#, c-format
-msgid "statistics collector exited with status %d"
+#: ../postmaster/postmaster.c:1547
+msgid "statistics collector process"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1514
-#, c-format
-msgid "statistics collector was terminated by signal %d"
+#: ../postmaster/postmaster.c:1560
+msgid "shutdown process"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1524
-#, c-format
-msgid "shutdown process %d exited with status %d"
+#: ../postmaster/postmaster.c:1571
+msgid "startup process"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1530
-#, c-format
-msgid "shutdown process %d was terminated by signal %d"
+#: ../postmaster/postmaster.c:1573
+msgid "aborting startup due to startup process failure"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1541
+#: ../postmaster/postmaster.c:1582
 #, c-format
-msgid "startup process %d exited with status %d; aborting startup"
+msgid "startup process %d died while shutdown process %d already running"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1547
-#, c-format
-msgid "shutdown process %d was terminated by signal %d; aborting startup"
+#: ../postmaster/postmaster.c:1614
+msgid ""
+"all server processes terminated; reinitializing shared memory and semaphores"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1558
-#, c-format
-msgid "startup process %d died while shutdown process %d already running"
+#: ../postmaster/postmaster.c:1653
+msgid "child process"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1594
-msgid ""
-"all server processes terminated; reinitializing shared memory and semaphores"
+#: ../postmaster/postmaster.c:1698
+msgid "server process"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1638
-#, c-format
-msgid "CleanupProc: pid %d exited with status %d"
+#: ../postmaster/postmaster.c:1699
+msgid "terminating any other active server processes"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1685
+#: ../postmaster/postmaster.c:1721
 #, c-format
-msgid "server process (pid %d) exited with status %d"
+msgid "CleanupProc: sending %s to process %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1688
+#: ../postmaster/postmaster.c:1766
 #, c-format
-msgid "server process (pid %d) was terminated by signal %d"
+msgid "%s (pid %d) exited with exit code %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1690
-msgid "terminating any other active server processes"
+#: ../postmaster/postmaster.c:1769
+#, c-format
+msgid "%s (pid %d) was terminated by signal %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1712
+#: ../postmaster/postmaster.c:1772
 #, c-format
-msgid "CleanupProc: sending %s to process %d"
+msgid "%s (pid %d) exited with unexpected status %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1766
+#: ../postmaster/postmaster.c:1796
 #, c-format
 msgid "SignalChildren: sending signal %d to process %d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1817
+#: ../postmaster/postmaster.c:1831
 msgid "out of memory; connection startup aborted"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1836
+#: ../postmaster/postmaster.c:1866
 msgid "connection startup failed"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1851
+#: ../postmaster/postmaster.c:1881
 #, c-format
 msgid "connection startup failed (fork failure): %s"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1858
+#: ../postmaster/postmaster.c:1888
 #, c-format
-msgid "BackendStartup: pid=%d user=%s db=%s socket=%d\n"
+msgid "BackendStartup: forked pid=%d socket=%d"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1980
+#: ../postmaster/postmaster.c:2012
 msgid "DoBackend: Unable to set timer for auth timeout"
 msgstr ""
 
-#: ../postmaster/postmaster.c:1998
+#: ../postmaster/postmaster.c:2089
 msgid "DoBackend: Unable to disable timer for auth timeout"
 msgstr ""
 
-#: ../postmaster/postmaster.c:2255
+#: ../postmaster/postmaster.c:2093
+#, c-format
+msgid "connection: host=%s user=%s database=%s"
+msgstr "Áª½Ó: Ö÷»ú=%s Óû§=%s Êý¾Ý¿â=%s"
+
+#: ../postmaster/postmaster.c:2396
 #, c-format
 msgid "failed to create SSL context: %s"
 msgstr "´´½¨ SSL »·¾³Ê§°Ü: %s"
 
-#: ../postmaster/postmaster.c:2262
+#: ../postmaster/postmaster.c:2403
 #, c-format
 msgid "failed to load server certificate (%s): %s"
 msgstr "×°ÔØ·þÎñÆ÷ÈÏÖ¤ (%s) Ê§°Ü: %s"
 
-#: ../postmaster/postmaster.c:2269
+#: ../postmaster/postmaster.c:2410
 #, c-format
 msgid "failed to load private key file (%s): %s"
 msgstr "×°ÔØ˽ԿÎļþ (%s) Ê§°Ü: %s"
 
-#: ../postmaster/postmaster.c:2275
+#: ../postmaster/postmaster.c:2416
 #, c-format
 msgid "check of private key failed: %s"
 msgstr "¼ì²é˽Կʧ°Ü: %s"
 
-#: ../postmaster/postmaster.c:2359
+#: ../postmaster/postmaster.c:2545
 #, c-format
 msgid "could not launch startup process (fork failure): %s"
 msgstr ""
 
-#: ../postmaster/postmaster.c:2363
+#: ../postmaster/postmaster.c:2549
 #, c-format
 msgid "could not launch checkpoint process (fork failure): %s"
 msgstr ""
 
-#: ../postmaster/postmaster.c:2368
+#: ../postmaster/postmaster.c:2554
 #, c-format
 msgid "could not launch shutdown process (fork failure): %s"
 msgstr ""
 
-#: ../postmaster/postmaster.c:2391
+#: ../postmaster/postmaster.c:2577
 msgid "CheckPointDataBase: malloc failed"
 msgstr ""
 
-#: ../postmaster/postmaster.c:2431
+#: ../postmaster/postmaster.c:2617
 #, c-format
 msgid "cannot create file %s: %s"
 msgstr "ÎÞ·¨´´½¨Îļþ %s: %s"
 
-#: ../postmaster/postmaster.c:2443
+#: ../postmaster/postmaster.c:2629
 #, c-format
 msgid "writing file %s failed"
 msgstr "дÈëÎļþ %s Ê§°Ü"
 
-#: ../postmaster/pgstat.c:699
+#: ../postmaster/pgstat.c:694
 msgid "Only database superusers can reset statistic counters"
 msgstr ""
 
-#: ../postmaster/pgstat.c:2108
+#: ../postmaster/pgstat.c:2098
 msgid "PGSTAT: Creation of DB hash table failed"
 msgstr ""
 
-#: ../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
+#: ../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
 msgid "PGSTAT: corrupted pgstat.stat file"
 msgstr ""
 
-#: ../postmaster/pgstat.c:2176
+#: ../postmaster/pgstat.c:2166
 msgid "PGSTAT: DB hash table out of memory"
 msgstr ""
 
-#: ../postmaster/pgstat.c:2229
+#: ../postmaster/pgstat.c:2219
 msgid "PGSTAT: failed to initialize hash table for new database entry\n"
 msgstr ""
 
-#: ../postmaster/pgstat.c:2289
+#: ../postmaster/pgstat.c:2279
 msgid "PGSTAT: Tab hash table out of memory"
 msgstr ""
 
@@ -11965,115 +12020,115 @@ msgstr ""
 "  -o file          °Ñµ÷ÊÔÐÅÏ¢Êä³öµ½Îļþ file\n"
 "  -x num           ÄÚ²¿Ê¹ÓÃ\n"
 
-#: ../bootstrap/bootstrap.c:393
+#: ../bootstrap/bootstrap.c:395
 #, c-format
 msgid "Unsupported XLOG op %d"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:497
+#: ../bootstrap/bootstrap.c:499
 #, c-format
 msgid "open relation %s, attrsize %d"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:526
+#: ../bootstrap/bootstrap.c:528
 #, c-format
 msgid "create attribute %d name %s len %d num %d type %u"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:546
+#: ../bootstrap/bootstrap.c:548
 #, c-format
 msgid "closerel: close of '%s' when '%s' was expected"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:550
+#: ../bootstrap/bootstrap.c:552
 #, c-format
 msgid "closerel: close of '%s' before any relation was opened"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:556
+#: ../bootstrap/bootstrap.c:558
 msgid "no open relation to close"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:560
+#: ../bootstrap/bootstrap.c:562
 #, c-format
 msgid "close relation %s"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:584
+#: ../bootstrap/bootstrap.c:586
 msgid "warning: no open relations allowed with 'create' command"
 msgstr "¾¯¸æ: ´ò¿ªµÄ¹ØϵÀïûÓÐÔÊÐí create' ÁР%s %s"
 
-#: ../bootstrap/bootstrap.c:596 ../bootstrap/bootstrap.c:608
+#: ../bootstrap/bootstrap.c:598 ../bootstrap/bootstrap.c:610
 #, c-format
 msgid "column %s %s"
 msgstr "ÁР%s %s"
 
-#: ../bootstrap/bootstrap.c:657
+#: ../bootstrap/bootstrap.c:659
 #, c-format
 msgid "inserting row oid %u, %d columns"
 msgstr "²åÈëÐРoid %u, %d ÁÐ"
 
-#: ../bootstrap/bootstrap.c:668
+#: ../bootstrap/bootstrap.c:670
 msgid "row inserted"
 msgstr "ÐÐÒѲåÈë"
 
-#: ../bootstrap/bootstrap.c:691
+#: ../bootstrap/bootstrap.c:693
 #, c-format
 msgid "inserting column %d value '%s'"
 msgstr "ÕýÔÚ²åÈëÊýֵΪ '%2$s'"
 
-#: ../bootstrap/bootstrap.c:698
+#: ../bootstrap/bootstrap.c:700
 msgid "Typ != NULL"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:705
+#: ../bootstrap/bootstrap.c:707
 #, c-format
 msgid "unable to find atttypid %u in Typ list"
 msgstr "ÔÚÀàÐÍÁбíÖÐÎÞ·¨ÕÒµ½ atttypid %u"
 
-#: ../bootstrap/bootstrap.c:717 ../bootstrap/bootstrap.c:740
+#: ../bootstrap/bootstrap.c:719 ../bootstrap/bootstrap.c:742
 #, c-format
 msgid " -> %s"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:728
+#: ../bootstrap/bootstrap.c:730
 #, c-format
 msgid "type oid %u not found"
 msgstr "δÕÒµ½ÀàÐÍ oid %u"
 
-#: ../bootstrap/bootstrap.c:730
+#: ../bootstrap/bootstrap.c:732
 #, c-format
 msgid "Typ == NULL, typeindex = %u"
 msgstr ""
 
-#: ../bootstrap/bootstrap.c:744
+#: ../bootstrap/bootstrap.c:746
 msgid "inserted"
 msgstr "ÒѲåÈë"
 
-#: ../bootstrap/bootstrap.c:755
+#: ../bootstrap/bootstrap.c:757
 #, c-format
 msgid "inserting column %d NULL"
 msgstr "ÕýÔÚ²åÈë×ֶΠ%d NULL"
 
-#: ../bootstrap/bootstrap.c:802
+#: ../bootstrap/bootstrap.c:804
 msgid "Memory manager fault: cleanup called twice.\n"
 msgstr "´æ´¢Æ÷¹ÜÀíÆ÷ʧ°Ü: ÇåÀí¹ý³Ìµ÷ÓÃÁËÁ½´Î.\n"
 
-#: ../bootstrap/bootstrap.c:843
+#: ../bootstrap/bootstrap.c:845
 #, c-format
 msgid "external type: %s"
 msgstr "ÍⲿÀàÐÍ: %s"
 
-#: ../bootstrap/bootstrap.c:867
+#: ../bootstrap/bootstrap.c:869
 #, c-format
 msgid "Error: unknown type '%s'.\n"
 msgstr "´íÎó: Î´ÖªÀàÐÍ '%s'.\n"
 
-#: ../bootstrap/bootstrap.c:883
+#: ../bootstrap/bootstrap.c:885
 msgid "AllocateAttribute: malloc failed"
 msgstr "AllocateAttribute: malloc Ê§°Ü"
 
-#: ../bootstrap/bootstrap.c:1035
+#: ../bootstrap/bootstrap.c:1036
 msgid ""
 "There are too many string constants and identifiers for the compiler to "
 "handle."
@@ -12141,3 +12196,6 @@ msgstr "
 #, c-format
 msgid "syntax error at line %d: unexpected token %s"
 msgstr "ÔÚµÚ %d Ðд¦Óï·¨´íÎó: Î´Öª¼ÇºÅ %s"
+
+#~ msgid "cannot read %s: %m"
+#~ msgstr "ÎÞ·¨¶ÁÈ¡ %s: %m"