Another file of 9.6 updates
authorGuillaume Lelarge <guillaume@lelarge.info>
Mon, 9 May 2016 08:51:54 +0000 (10:51 +0200)
committerGuillaume Lelarge <guillaume@lelarge.info>
Mon, 9 May 2016 08:51:54 +0000 (10:51 +0200)
fr/postgres.po
fr/psql.po

index 45b4718832566d9f0c44eded247c4ba658ab9400..5cfa993a1bff95d7e31aa77fec07e6d499876502 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 8.4\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2016-02-23 23:09+0000\n"
+"POT-Creation-Date: 2016-05-09 08:38+0000\n"
 "PO-Revision-Date: 2016-02-28 15:10+0100\n"
 "Last-Translator: Guillaume Lelarge <guillaume@lelarge.info>\n"
 "Language-Team: French <guillaume@lelarge.info>\n"
@@ -19,6 +19,80 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Generator: Poedit 1.8.6\n"
 
+#: ../common/config_info.c:131 ../common/config_info.c:139
+#: ../common/config_info.c:147 ../common/config_info.c:155
+#: ../common/config_info.c:163 ../common/config_info.c:171
+#: ../common/config_info.c:179 ../common/config_info.c:187
+#: ../common/config_info.c:195
+msgid "not recorded"
+msgstr "non enregistré"
+
+#: ../common/controldata_utils.c:52 commands/copy.c:2798
+#: commands/extension.c:3120 utils/adt/genfile.c:134
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m"
+
+#: ../common/controldata_utils.c:56
+#, c-format
+msgid "%s: could not open file \"%s\" for reading: %s\n"
+msgstr "%s : n'a pas pu ouvrir le fichier « %s » en lecture : %s\n"
+
+#: ../common/controldata_utils.c:66 access/transam/timeline.c:346
+#: access/transam/xlog.c:3193 access/transam/xlog.c:10338
+#: access/transam/xlog.c:10351 access/transam/xlog.c:10714
+#: access/transam/xlog.c:10757 access/transam/xlog.c:10796
+#: access/transam/xlog.c:10839 access/transam/xlogfuncs.c:666
+#: access/transam/xlogfuncs.c:685 commands/extension.c:3130
+#: replication/logical/origin.c:665 replication/logical/origin.c:695
+#: replication/logical/reorderbuffer.c:3090 replication/walsender.c:499
+#: storage/file/copydir.c:176 utils/adt/genfile.c:151
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "n'a pas pu lire le fichier « %s » : %m"
+
+#: ../common/controldata_utils.c:69
+#, c-format
+msgid "%s: could not read file \"%s\": %s\n"
+msgstr "%s : n'a pas pu lire le fichier « %s » : %s\n"
+
+#: ../common/controldata_utils.c:86
+msgid "calculated CRC checksum does not match value stored in file"
+msgstr "la somme de contrôle CRC calculée ne correspond par à la valeur enregistrée dans le fichier"
+
+#: ../common/controldata_utils.c:88
+#, c-format
+msgid ""
+"WARNING: Calculated CRC checksum does not match value stored in file.\n"
+"Either the file is corrupt, or it has a different layout than this program\n"
+"is expecting.  The results below are untrustworthy.\n"
+"\n"
+msgstr ""
+"ATTENTION : Les sommes de contrôle (CRC) calculées ne correspondent pas aux\n"
+"valeurs stockées dans le fichier.\n"
+"Soit le fichier est corrompu, soit son organisation diffère de celle\n"
+"attendue par le programme.\n"
+"Les résultats ci-dessous ne sont pas dignes de confiance.\n"
+"\n"
+
+#: ../common/controldata_utils.c:97
+msgid "byte ordering mismatch"
+msgstr "différence de l'ordre des octets"
+
+#: ../common/controldata_utils.c:99
+#, c-format
+msgid ""
+"WARNING: possible byte ordering mismatch\n"
+"The byte ordering used to store the pg_control file might not match the one\n"
+"used by this program.  In that case the results below would be incorrect, and\n"
+"the PostgreSQL installation would be incompatible with this data directory.\n"
+msgstr ""
+"ATTENTION : possible incohérence dans l'ordre des octets\n"
+"L'ordre des octets utilisé pour enregistrer le fichier pg_control peut ne\n"
+"pas correspondre à celui utilisé par ce programme. Dans ce cas, les\n"
+"résultats ci-dessous sont incorrects, et l'installation PostgreSQL\n"
+"incompatible avec ce répertoire des données.\n"
+
 #: ../common/exec.c:127 ../common/exec.c:241 ../common/exec.c:284
 #, c-format
 msgid "could not identify current directory: %s"
@@ -54,7 +128,9 @@ msgstr "n'a pas pu lire le lien symbolique 
 msgid "pclose failed: %s"
 msgstr "échec de pclose : %s"
 
-#: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75 ../common/fe_memutils.c:98 ../common/psprintf.c:181 ../port/path.c:598 ../port/path.c:636 ../port/path.c:653
+#: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75
+#: ../common/fe_memutils.c:98 ../common/psprintf.c:181 ../port/path.c:632
+#: ../port/path.c:670 ../port/path.c:687
 #, c-format
 msgid "out of memory\n"
 msgstr "mémoire épuisée\n"
@@ -79,10 +155,29 @@ msgstr "n'a pas pu lire le r
 msgid "could not close directory \"%s\": %s\n"
 msgstr "n'a pas pu fermer le répertoire « %s » : %s\n"
 
-#: ../common/psprintf.c:179 ../port/path.c:596 ../port/path.c:634 ../port/path.c:651 access/transam/xlog.c:6041 lib/stringinfo.c:258 libpq/auth.c:820 libpq/auth.c:1181 libpq/auth.c:1249 libpq/auth.c:1660 postmaster/bgworker.c:289 postmaster/bgworker.c:797 postmaster/postmaster.c:2317 postmaster/postmaster.c:2348 postmaster/postmaster.c:3867 postmaster/postmaster.c:4557 postmaster/postmaster.c:4625 postmaster/postmaster.c:5315
-#: postmaster/postmaster.c:5568 replication/logical/logical.c:167 storage/buffer/localbuf.c:396 storage/file/fd.c:481 storage/file/fd.c:878 storage/file/fd.c:996 storage/file/fd.c:1609 storage/ipc/procarray.c:907 storage/ipc/procarray.c:1393 storage/ipc/procarray.c:1400 storage/ipc/procarray.c:1793 storage/ipc/procarray.c:2377 utils/adt/formatting.c:1523 utils/adt/formatting.c:1643 utils/adt/formatting.c:1764 utils/adt/regexp.c:219
-#: utils/adt/varlena.c:4199 utils/adt/varlena.c:4220 utils/fmgr/dfmgr.c:216 utils/hash/dynahash.c:411 utils/hash/dynahash.c:488 utils/hash/dynahash.c:1002 utils/mb/mbutils.c:376 utils/mb/mbutils.c:709 utils/misc/guc.c:3723 utils/misc/guc.c:3739 utils/misc/guc.c:3752 utils/misc/guc.c:6686 utils/misc/tzparser.c:470 utils/mmgr/aset.c:504 utils/mmgr/mcxt.c:688 utils/mmgr/mcxt.c:723 utils/mmgr/mcxt.c:760 utils/mmgr/mcxt.c:797 utils/mmgr/mcxt.c:831
-#: utils/mmgr/mcxt.c:860 utils/mmgr/mcxt.c:894 utils/mmgr/mcxt.c:974 utils/mmgr/mcxt.c:1007 utils/mmgr/mcxt.c:1054
+#: ../common/psprintf.c:179 ../port/path.c:630 ../port/path.c:668
+#: ../port/path.c:685 access/transam/twophase.c:1261
+#: access/transam/xlog.c:6069 lib/stringinfo.c:258 libpq/auth.c:847
+#: libpq/auth.c:1210 libpq/auth.c:1278 libpq/auth.c:1794
+#: postmaster/bgworker.c:289 postmaster/bgworker.c:797
+#: postmaster/postmaster.c:2323 postmaster/postmaster.c:2354
+#: postmaster/postmaster.c:3886 postmaster/postmaster.c:4576
+#: postmaster/postmaster.c:4644 postmaster/postmaster.c:5343
+#: postmaster/postmaster.c:5596 replication/logical/logical.c:170
+#: storage/buffer/localbuf.c:422 storage/file/fd.c:729 storage/file/fd.c:1126
+#: storage/file/fd.c:1244 storage/file/fd.c:1916 storage/ipc/procarray.c:1060
+#: storage/ipc/procarray.c:1546 storage/ipc/procarray.c:1553
+#: storage/ipc/procarray.c:1967 storage/ipc/procarray.c:2570
+#: utils/adt/formatting.c:1522 utils/adt/formatting.c:1642
+#: utils/adt/formatting.c:1763 utils/adt/regexp.c:219 utils/adt/varlena.c:4440
+#: utils/adt/varlena.c:4461 utils/fmgr/dfmgr.c:216 utils/hash/dynahash.c:431
+#: utils/hash/dynahash.c:537 utils/hash/dynahash.c:1049 utils/mb/mbutils.c:376
+#: utils/mb/mbutils.c:709 utils/misc/guc.c:3885 utils/misc/guc.c:3901
+#: utils/misc/guc.c:3914 utils/misc/guc.c:6859 utils/misc/tzparser.c:470
+#: utils/mmgr/aset.c:505 utils/mmgr/mcxt.c:770 utils/mmgr/mcxt.c:805
+#: utils/mmgr/mcxt.c:842 utils/mmgr/mcxt.c:879 utils/mmgr/mcxt.c:913
+#: utils/mmgr/mcxt.c:942 utils/mmgr/mcxt.c:976 utils/mmgr/mcxt.c:1058
+#: utils/mmgr/mcxt.c:1092 utils/mmgr/mcxt.c:1141
 #, c-format
 msgid "out of memory"
 msgstr "mémoire épuisée"
@@ -149,7 +244,7 @@ msgstr "n'a pas pu supprimer le fichier ou r
 msgid "could not look up effective user ID %ld: %s"
 msgstr "n'a pas pu trouver l'identifiant réel %ld de l'utilisateur : %s"
 
-#: ../common/username.c:47 libpq/auth.c:1607
+#: ../common/username.c:47 libpq/auth.c:1741
 msgid "user does not exist"
 msgstr "l'utilisateur n'existe pas"
 
@@ -193,37 +288,38 @@ msgstr "le processus fils a 
 msgid "child process exited with unrecognized status %d"
 msgstr "le processus fils a quitté avec un statut %d non reconnu"
 
-#: ../port/chklocale.c:259
+#: ../port/chklocale.c:294
 #, c-format
 msgid "could not determine encoding for codeset \"%s\""
 msgstr "n'a pas pu déterminer l'encodage pour le codeset « %s »"
 
-#: ../port/chklocale.c:260 ../port/chklocale.c:389 postmaster/postmaster.c:4857
+#: ../port/chklocale.c:295 ../port/chklocale.c:424
+#: postmaster/postmaster.c:4876
 #, c-format
 msgid "Please report this to <pgsql-bugs@postgresql.org>."
 msgstr "Veuillez rapporter ceci à <pgsql-bugs@postgresql.org>."
 
-#: ../port/chklocale.c:381 ../port/chklocale.c:387
+#: ../port/chklocale.c:416 ../port/chklocale.c:422
 #, c-format
 msgid "could not determine encoding for locale \"%s\": codeset is \"%s\""
 msgstr "n'a pas pu déterminer l'encodage pour la locale « %s » : le codeset vaut « %s »"
 
-#: ../port/dirmod.c:216
+#: ../port/dirmod.c:218
 #, c-format
 msgid "could not set junction for \"%s\": %s"
 msgstr "n'a pas pu configurer la jonction pour « %s » : %s"
 
-#: ../port/dirmod.c:219
+#: ../port/dirmod.c:221
 #, c-format
 msgid "could not set junction for \"%s\": %s\n"
 msgstr "n'a pas pu configurer la jonction pour « %s » : %s\n"
 
-#: ../port/dirmod.c:291
+#: ../port/dirmod.c:295
 #, c-format
 msgid "could not get junction for \"%s\": %s"
 msgstr "n'a pas pu obtenir la jonction pour « %s » : %s"
 
-#: ../port/dirmod.c:294
+#: ../port/dirmod.c:298
 #, c-format
 msgid "could not get junction for \"%s\": %s\n"
 msgstr "n'a pas pu obtenir la jonction pour « %s » : %s\n"
@@ -253,7 +349,7 @@ msgstr ""
 "Vous pouvez avoir un antivirus, un outil de sauvegarde ou un logiciel\n"
 "similaire interférant avec le système de bases de données."
 
-#: ../port/path.c:620
+#: ../port/path.c:654
 #, c-format
 msgid "could not get current working directory: %s\n"
 msgstr "n'a pas pu obtenir le répertoire de travail : %s\n"
@@ -263,27 +359,74 @@ msgstr "n'a pas pu obtenir le r
 msgid "unrecognized error %d"
 msgstr "erreur %d non reconnue"
 
-#: access/brin/brin.c:814
+#: access/brin/brin.c:813
 #, c-format
 msgid "\"%s\" is not a BRIN index"
 msgstr "« %s » n'est pas un index BRIN"
 
-#: access/brin/brin.c:830
+#: access/brin/brin.c:829
 #, c-format
 msgid "could not open parent table of index %s"
 msgstr "n'a pas pu ouvrir la table parent de l'index %s"
 
-#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362 access/brin/brin_pageops.c:828
+#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362
+#: access/brin/brin_pageops.c:828
 #, c-format
 msgid "index row size %lu exceeds maximum %lu for index \"%s\""
 msgstr "la taille de la ligne index, %lu, dépasse le maximum, %lu, pour l'index « %s »"
 
-#: access/brin/brin_revmap.c:449
+#: access/brin/brin_revmap.c:455
 #, c-format
 msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u"
 msgstr "type de page 0x%04X dans l'index BRIN « %s », bloc %u"
 
-#: access/common/heaptuple.c:708 access/common/heaptuple.c:1450
+#: access/brin/brin_validate.c:115
+#, c-format
+msgid "brin opfamily %s contains function %s with invalid support number %d"
+msgstr ""
+
+#: access/brin/brin_validate.c:131
+#, c-format
+msgid "brin opfamily %s contains function %s with wrong signature for support number %d"
+msgstr ""
+
+#: access/brin/brin_validate.c:153
+#, c-format
+msgid "brin opfamily %s contains operator %s with invalid strategy number %d"
+msgstr ""
+
+#: access/brin/brin_validate.c:182
+#, c-format
+msgid "brin opfamily %s contains invalid ORDER BY specification for operator %s"
+msgstr ""
+
+#: access/brin/brin_validate.c:195
+#, c-format
+msgid "brin opfamily %s contains operator %s with wrong signature"
+msgstr ""
+
+#: access/brin/brin_validate.c:233
+#, c-format
+msgid "brin opfamily %s is missing operator(s) for types %s and %s"
+msgstr ""
+
+#: access/brin/brin_validate.c:243
+#, c-format
+msgid "brin opfamily %s is missing support function(s) for types %s and %s"
+msgstr ""
+
+#: access/brin/brin_validate.c:256
+#, c-format
+msgid "brin opclass %s is missing operator(s)"
+msgstr ""
+
+#: access/brin/brin_validate.c:267
+#, fuzzy, c-format
+#| msgid "return type %s is not supported for SQL functions"
+msgid "brin opclass %s is missing support function %d"
+msgstr "le type de retour %s n'est pas supporté pour les fonctions SQL"
+
+#: access/common/heaptuple.c:708 access/common/heaptuple.c:1339
 #, c-format
 msgid "number of columns (%d) exceeds limit (%d)"
 msgstr "le nombre de colonnes (%d) dépasse la limite (%d)"
@@ -293,67 +436,68 @@ msgstr "le nombre de colonnes (%d) d
 msgid "number of index columns (%d) exceeds limit (%d)"
 msgstr "le nombre de colonnes indexées (%d) dépasse la limite (%d)"
 
-#: access/common/indextuple.c:176 access/spgist/spgutils.c:605
+#: access/common/indextuple.c:176 access/spgist/spgutils.c:641
 #, c-format
 msgid "index row requires %zu bytes, maximum size is %zu"
 msgstr "la ligne index requiert %zu octets, la taille maximum est %zu"
 
-#: access/common/printtup.c:294 tcop/fastpath.c:182 tcop/fastpath.c:544 tcop/postgres.c:1730
+#: access/common/printtup.c:294 tcop/fastpath.c:182 tcop/fastpath.c:544
+#: tcop/postgres.c:1721
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "code de format non supporté : %d"
 
-#: access/common/reloptions.c:419
+#: access/common/reloptions.c:488
 #, c-format
 msgid "user-defined relation parameter types limit exceeded"
 msgstr "limite dépassée des types de paramètres de la relation définie par l'utilisateur"
 
-#: access/common/reloptions.c:701
+#: access/common/reloptions.c:770
 #, c-format
 msgid "RESET must not include values for parameters"
 msgstr "RESET ne doit pas inclure de valeurs pour les paramètres"
 
-#: access/common/reloptions.c:734
+#: access/common/reloptions.c:803
 #, c-format
 msgid "unrecognized parameter namespace \"%s\""
 msgstr "espace de nom du paramètre « %s » non reconnu"
 
-#: access/common/reloptions.c:974 parser/parse_clause.c:279
+#: access/common/reloptions.c:1045 parser/parse_clause.c:281
 #, c-format
 msgid "unrecognized parameter \"%s\""
 msgstr "paramètre « %s » non reconnu"
 
-#: access/common/reloptions.c:1004
+#: access/common/reloptions.c:1075
 #, c-format
 msgid "parameter \"%s\" specified more than once"
 msgstr "le paramètre « %s » est spécifié plus d'une fois"
 
-#: access/common/reloptions.c:1020
+#: access/common/reloptions.c:1091
 #, c-format
 msgid "invalid value for boolean option \"%s\": %s"
 msgstr "valeur invalide pour l'option booléenne « %s » : %s"
 
-#: access/common/reloptions.c:1032
+#: access/common/reloptions.c:1103
 #, c-format
 msgid "invalid value for integer option \"%s\": %s"
 msgstr "valeur invalide pour l'option de type integer « %s » : %s"
 
-#: access/common/reloptions.c:1038 access/common/reloptions.c:1058
+#: access/common/reloptions.c:1109 access/common/reloptions.c:1129
 #, c-format
 msgid "value %s out of bounds for option \"%s\""
 msgstr "valeur %s en dehors des limites pour l'option « %s »"
 
-#: access/common/reloptions.c:1040
+#: access/common/reloptions.c:1111
 #, c-format
 msgid "Valid values are between \"%d\" and \"%d\"."
 msgstr "Les valeurs valides sont entre « %d » et « %d »."
 
-#: access/common/reloptions.c:1052
+#: access/common/reloptions.c:1123
 #, c-format
 msgid "invalid value for floating point option \"%s\": %s"
 msgstr "valeur invalide pour l'option de type float « %s » : %s"
 
-#: access/common/reloptions.c:1060
+#: access/common/reloptions.c:1131
 #, c-format
 msgid "Valid values are between \"%f\" and \"%f\"."
 msgstr "Les valeurs valides sont entre « %f » et « %f »."
@@ -385,46 +529,132 @@ msgstr "L'attribut 
 msgid "column \"%s\" cannot be declared SETOF"
 msgstr "la colonne « %s » ne peut pas être déclarée SETOF"
 
-#: access/gin/ginentrypage.c:109 access/gist/gist.c:1289 access/nbtree/nbtinsert.c:567 access/nbtree/nbtsort.c:488 access/spgist/spgdoinsert.c:1907
+#: access/gin/ginbulk.c:44
+#, fuzzy, c-format
+#| msgid "payload string too long"
+msgid "posting list is too long"
+msgstr "chaîne de charge trop longue"
+
+#: access/gin/ginbulk.c:45
+#, c-format
+msgid "Reduce maintenance_work_mem"
+msgstr ""
+
+#: access/gin/ginentrypage.c:109 access/gist/gist.c:1338
+#: access/nbtree/nbtinsert.c:575 access/nbtree/nbtsort.c:488
+#: access/spgist/spgdoinsert.c:1907
 #, c-format
 msgid "index row size %zu exceeds maximum %zu for index \"%s\""
 msgstr "la taille de la ligne index, %zu, dépasse le maximum, %zu, pour l'index « %s »"
 
-#: access/gin/ginscan.c:410
+#: access/gin/ginfast.c:991 access/transam/xlog.c:9795
+#: access/transam/xlog.c:10266 access/transam/xlogfuncs.c:294
+#: access/transam/xlogfuncs.c:321 access/transam/xlogfuncs.c:360
+#: access/transam/xlogfuncs.c:381 access/transam/xlogfuncs.c:402
+#: access/transam/xlogfuncs.c:472 access/transam/xlogfuncs.c:528
+#, c-format
+msgid "recovery is in progress"
+msgstr "restauration en cours"
+
+#: access/gin/ginfast.c:992
+#, fuzzy, c-format
+#| msgid "WAL control functions cannot be executed during recovery."
+msgid "GIN pending list cannot be cleaned up during recovery."
+msgstr ""
+"les fonctions de contrôle des journaux de transactions ne peuvent pas\n"
+"être exécutées lors de la restauration."
+
+#: access/gin/ginfast.c:999
+#, fuzzy, c-format
+#| msgid "\"%s\" is not a BRIN index"
+msgid "\"%s\" is not a GIN index"
+msgstr "« %s » n'est pas un index BRIN"
+
+#: access/gin/ginfast.c:1010
+#, fuzzy, c-format
+#| msgid "cannot access temporary tables of other sessions"
+msgid "cannot access temporary indexes of other sessions"
+msgstr "ne peut pas accéder aux tables temporaires d'autres sessions"
+
+#: access/gin/ginscan.c:409
 #, c-format
 msgid "old GIN indexes do not support whole-index scans nor searches for nulls"
 msgstr ""
 "les anciens index GIN ne supportent pas les parcours complets d'index et les\n"
 "recherches de valeurs NULL"
 
-#: access/gin/ginscan.c:411
+#: access/gin/ginscan.c:410
 #, c-format
 msgid "To fix this, do REINDEX INDEX \"%s\"."
 msgstr "Pour corriger ceci, faites un REINDEX INDEX « %s »."
 
-#: access/gist/gist.c:632 access/gist/gistvacuum.c:266
+#: access/gin/ginvalidate.c:92
+#, c-format
+msgid "gin opfamily %s contains support procedure %s with cross-type registration"
+msgstr ""
+
+#: access/gin/ginvalidate.c:148
+#, c-format
+msgid "gin opfamily %s contains function %s with invalid support number %d"
+msgstr ""
+
+#: access/gin/ginvalidate.c:160
+#, c-format
+msgid "gin opfamily %s contains function %s with wrong signature for support number %d"
+msgstr ""
+
+#: access/gin/ginvalidate.c:179
+#, c-format
+msgid "gin opfamily %s contains operator %s with invalid strategy number %d"
+msgstr ""
+
+#: access/gin/ginvalidate.c:192
+#, c-format
+msgid "gin opfamily %s contains invalid ORDER BY specification for operator %s"
+msgstr ""
+
+#: access/gin/ginvalidate.c:205
+#, c-format
+msgid "gin opfamily %s contains operator %s with wrong signature"
+msgstr ""
+
+#: access/gin/ginvalidate.c:246
+#, c-format
+msgid "gin opclass %s is missing support function %d"
+msgstr ""
+
+#: access/gin/ginvalidate.c:256
+#, c-format
+msgid "gin opclass %s is missing support function %d or %d"
+msgstr ""
+
+#: access/gist/gist.c:681 access/gist/gistvacuum.c:258
 #, c-format
 msgid "index \"%s\" contains an inner tuple marked as invalid"
 msgstr "l'index « %s » contient une ligne interne marquée comme invalide"
 
-#: access/gist/gist.c:634 access/gist/gistvacuum.c:268
+#: access/gist/gist.c:683 access/gist/gistvacuum.c:260
 #, c-format
 msgid "This is caused by an incomplete page split at crash recovery before upgrading to PostgreSQL 9.1."
 msgstr ""
 "Ceci est dû à la division d'une page incomplète à la restauration suite à un\n"
 "crash avant la mise à jour en 9.1."
 
-#: access/gist/gist.c:635 access/gist/gistutil.c:735 access/gist/gistutil.c:746 access/gist/gistvacuum.c:269 access/hash/hashutil.c:172 access/hash/hashutil.c:183 access/hash/hashutil.c:195 access/hash/hashutil.c:216 access/nbtree/nbtpage.c:518 access/nbtree/nbtpage.c:529
+#: access/gist/gist.c:684 access/gist/gistutil.c:735
+#: access/gist/gistutil.c:746 access/gist/gistvacuum.c:261
+#: access/hash/hashutil.c:172 access/hash/hashutil.c:183
+#: access/hash/hashutil.c:195 access/hash/hashutil.c:216
+#: access/nbtree/nbtpage.c:518 access/nbtree/nbtpage.c:529
 #, c-format
 msgid "Please REINDEX it."
 msgstr "Merci d'exécuter REINDEX sur cet objet."
 
-#: access/gist/gistbuild.c:252
+#: access/gist/gistbuild.c:249
 #, c-format
 msgid "invalid value for \"buffering\" option"
 msgstr "valeur invalide pour l'option « buffering »"
 
-#: access/gist/gistbuild.c:253
+#: access/gist/gistbuild.c:250
 #, c-format
 msgid "Valid values are \"on\", \"off\", and \"auto\"."
 msgstr "Les valeurs valides sont entre « on », « off » et « auto »."
@@ -447,22 +677,65 @@ msgstr ""
 "ou essayez d'utiliser la colonne comme second dans la commande\n"
 "CREATE INDEX."
 
-#: access/gist/gistutil.c:732 access/hash/hashutil.c:169 access/nbtree/nbtpage.c:515
+#: access/gist/gistutil.c:732 access/hash/hashutil.c:169
+#: access/nbtree/nbtpage.c:515
 #, c-format
 msgid "index \"%s\" contains unexpected zero page at block %u"
 msgstr "l'index « %s » contient une page zéro inattendue au bloc %u"
 
-#: access/gist/gistutil.c:743 access/hash/hashutil.c:180 access/hash/hashutil.c:192 access/nbtree/nbtpage.c:526
+#: access/gist/gistutil.c:743 access/hash/hashutil.c:180
+#: access/hash/hashutil.c:192 access/nbtree/nbtpage.c:526
 #, c-format
 msgid "index \"%s\" contains corrupted page at block %u"
 msgstr "l'index « %s » contient une page corrompue au bloc %u"
 
+#: access/gist/gistvalidate.c:92
+#, c-format
+msgid "gist opfamily %s contains support procedure %s with cross-type registration"
+msgstr ""
+
+#: access/gist/gistvalidate.c:145
+#, c-format
+msgid "gist opfamily %s contains function %s with invalid support number %d"
+msgstr ""
+
+#: access/gist/gistvalidate.c:157
+#, c-format
+msgid "gist opfamily %s contains function %s with wrong signature for support number %d"
+msgstr ""
+
+#: access/gist/gistvalidate.c:177
+#, c-format
+msgid "gist opfamily %s contains operator %s with invalid strategy number %d"
+msgstr ""
+
+#: access/gist/gistvalidate.c:195
+#, c-format
+msgid "gist opfamily %s contains unsupported ORDER BY specification for operator %s"
+msgstr ""
+
+#: access/gist/gistvalidate.c:206
+#, c-format
+msgid "gist opfamily %s contains incorrect ORDER BY opfamily specification for operator %s"
+msgstr ""
+
+#: access/gist/gistvalidate.c:225
+#, c-format
+msgid "gist opfamily %s contains operator %s with wrong signature"
+msgstr ""
+
+#: access/gist/gistvalidate.c:264
+#, c-format
+msgid "gist opclass %s is missing support function %d"
+msgstr ""
+
 #: access/hash/hashinsert.c:68
 #, c-format
 msgid "index row size %zu exceeds hash maximum %zu"
 msgstr "la taille de la ligne index, %zu, dépasse le hachage maximum, %zu"
 
-#: access/hash/hashinsert.c:70 access/spgist/spgdoinsert.c:1911 access/spgist/spgutils.c:666
+#: access/hash/hashinsert.c:70 access/spgist/spgdoinsert.c:1911
+#: access/spgist/spgutils.c:702
 #, c-format
 msgid "Values larger than a buffer page cannot be indexed."
 msgstr "Les valeurs plus larges qu'une page de tampon ne peuvent pas être indexées."
@@ -487,52 +760,106 @@ msgstr "l'index 
 msgid "index \"%s\" has wrong hash version"
 msgstr "l'index « %s » a la mauvaise version de hachage"
 
-#: access/heap/heapam.c:1074 access/heap/heapam.c:1126
+#: access/hash/hashvalidate.c:98
+#, c-format
+msgid "hash opfamily %s contains support procedure %s with cross-type registration"
+msgstr ""
+
+#: access/hash/hashvalidate.c:113
+#, c-format
+msgid "hash opfamily %s contains function %s with wrong signature for support number %d"
+msgstr ""
+
+#: access/hash/hashvalidate.c:130
+#, c-format
+msgid "hash opfamily %s contains function %s with invalid support number %d"
+msgstr ""
+
+#: access/hash/hashvalidate.c:151
+#, c-format
+msgid "hash opfamily %s contains operator %s with invalid strategy number %d"
+msgstr ""
+
+#: access/hash/hashvalidate.c:164
+#, c-format
+msgid "hash opfamily %s contains invalid ORDER BY specification for operator %s"
+msgstr ""
+
+#: access/hash/hashvalidate.c:177
+#, c-format
+msgid "hash opfamily %s contains operator %s with wrong signature"
+msgstr ""
+
+#: access/hash/hashvalidate.c:189
+#, c-format
+msgid "hash opfamily %s lacks support function for operator %s"
+msgstr ""
+
+#: access/hash/hashvalidate.c:217
+#, c-format
+msgid "hash opfamily %s is missing operator(s) for types %s and %s"
+msgstr ""
+
+#: access/hash/hashvalidate.c:231
+#, c-format
+msgid "hash opclass %s is missing operator(s)"
+msgstr ""
+
+#: access/hash/hashvalidate.c:247
+#, c-format
+msgid "hash opfamily %s is missing cross-type operator(s)"
+msgstr ""
+
+#: access/heap/heapam.c:1138 access/heap/heapam.c:1190
 #, c-format
 msgid "cannot access temporary tables during a parallel operation"
 msgstr "ne peut pas accéder à des tables temporaires pendant une opération parallèle"
 
-#: access/heap/heapam.c:1243 access/heap/heapam.c:1271 access/heap/heapam.c:1303 catalog/aclchk.c:1733
+#: access/heap/heapam.c:1307 access/heap/heapam.c:1335
+#: access/heap/heapam.c:1367 catalog/aclchk.c:1748
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "« %s » est un index"
 
-#: access/heap/heapam.c:1248 access/heap/heapam.c:1276 access/heap/heapam.c:1308 catalog/aclchk.c:1740 commands/tablecmds.c:8954 commands/tablecmds.c:11995
+#: access/heap/heapam.c:1312 access/heap/heapam.c:1340
+#: access/heap/heapam.c:1372 catalog/aclchk.c:1755 commands/tablecmds.c:8984
+#: commands/tablecmds.c:12042
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "« %s » est un type composite"
 
-#: access/heap/heapam.c:2344
+#: access/heap/heapam.c:2579
 #, c-format
 msgid "cannot insert tuples during a parallel operation"
 msgstr "ne peut pas insérer les lignes lors d'une opération parallèle"
 
-#: access/heap/heapam.c:2794
+#: access/heap/heapam.c:3029
 #, c-format
 msgid "cannot delete tuples during a parallel operation"
 msgstr "ne peut pas supprimer les lignes lors d'une opération parallèle"
 
-#: access/heap/heapam.c:2840
+#: access/heap/heapam.c:3075
 #, c-format
 msgid "attempted to delete invisible tuple"
 msgstr "a tenté de supprimer la ligne invisible"
 
-#: access/heap/heapam.c:3267 access/heap/heapam.c:5818
+#: access/heap/heapam.c:3502 access/heap/heapam.c:6053
 #, c-format
 msgid "cannot update tuples during a parallel operation"
 msgstr "ne peut pas mettre à jour les lignes lors d'une opération parallèle"
 
-#: access/heap/heapam.c:3389
+#: access/heap/heapam.c:3624
 #, c-format
 msgid "attempted to update invisible tuple"
 msgstr "a tenté de mettre à jour la ligne invisible"
 
-#: access/heap/heapam.c:4640 access/heap/heapam.c:4678 access/heap/heapam.c:4901 executor/execMain.c:2279
+#: access/heap/heapam.c:4875 access/heap/heapam.c:4913
+#: access/heap/heapam.c:5136 executor/execMain.c:2304
 #, c-format
 msgid "could not obtain lock on row in relation \"%s\""
 msgstr "n'a pas pu obtenir un verrou sur la relation « %s »"
 
-#: access/heap/hio.c:253 access/heap/rewriteheap.c:666
+#: access/heap/hio.c:322 access/heap/rewriteheap.c:666
 #, c-format
 msgid "row is too big: size %zu, maximum size %zu"
 msgstr "la ligne est trop grande : taille %zu, taille maximale %zu"
@@ -542,13 +869,24 @@ msgstr "la ligne est trop grande : taille %zu, taille maximale %zu"
 msgid "could not write to file \"%s\", wrote %d of %d: %m"
 msgstr "n'a pas pu écrire le fichier « %s », a écrit %d de %d : %m"
 
-#: access/heap/rewriteheap.c:965 access/heap/rewriteheap.c:1177 access/heap/rewriteheap.c:1274 access/transam/timeline.c:407 access/transam/timeline.c:497 access/transam/xlog.c:3011 access/transam/xlog.c:3173 replication/logical/origin.c:613 replication/logical/snapbuild.c:1592 replication/slot.c:1026 replication/slot.c:1115 storage/file/fd.c:459 storage/file/fd.c:2718 storage/smgr/md.c:982 storage/smgr/md.c:1213 storage/smgr/md.c:1386
-#: utils/misc/guc.c:6708
+#: access/heap/rewriteheap.c:965 access/heap/rewriteheap.c:1177
+#: access/heap/rewriteheap.c:1274 access/transam/timeline.c:407
+#: access/transam/timeline.c:483 access/transam/xlog.c:3060
+#: access/transam/xlog.c:3222 replication/logical/snapbuild.c:1607
+#: replication/slot.c:1077 replication/slot.c:1162 storage/file/fd.c:624
+#: storage/file/fd.c:3052 storage/smgr/md.c:1044 storage/smgr/md.c:1277
+#: storage/smgr/md.c:1450 utils/misc/guc.c:6881
 #, c-format
 msgid "could not fsync file \"%s\": %m"
 msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m"
 
-#: access/heap/rewriteheap.c:1020 access/heap/rewriteheap.c:1140 access/transam/timeline.c:315 access/transam/timeline.c:475 access/transam/xlog.c:2967 access/transam/xlog.c:3116 access/transam/xlog.c:10105 access/transam/xlog.c:10141 access/transam/xlog.c:10463 postmaster/postmaster.c:4332 replication/logical/origin.c:542 replication/slot.c:983 storage/file/copydir.c:162 storage/smgr/md.c:320 utils/time/snapmgr.c:1071
+#: access/heap/rewriteheap.c:1020 access/heap/rewriteheap.c:1140
+#: access/transam/timeline.c:315 access/transam/timeline.c:461
+#: access/transam/xlog.c:3016 access/transam/xlog.c:3165
+#: access/transam/xlog.c:10124 access/transam/xlog.c:10162
+#: access/transam/xlog.c:10489 postmaster/postmaster.c:4351
+#: replication/logical/origin.c:542 replication/slot.c:1034
+#: storage/file/copydir.c:162 storage/smgr/md.c:331 utils/time/snapmgr.c:1182
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "n'a pas pu créer le fichier « %s » : %m"
@@ -558,55 +896,98 @@ msgstr "n'a pas pu cr
 msgid "could not truncate file \"%s\" to %u: %m"
 msgstr "n'a pas pu tronquer le fichier « %s » en %u : %m"
 
-#: access/heap/rewriteheap.c:1156 replication/walsender.c:479 storage/smgr/md.c:1798
+#: access/heap/rewriteheap.c:1156 replication/walsender.c:481
+#: storage/smgr/md.c:1902
 #, c-format
 msgid "could not seek to end of file \"%s\": %m"
 msgstr "n'a pas pu trouver la fin du fichier « %s » : %m"
 
-#: access/heap/rewriteheap.c:1167 access/transam/timeline.c:367 access/transam/timeline.c:401 access/transam/timeline.c:491 access/transam/xlog.c:3002 access/transam/xlog.c:3166 postmaster/postmaster.c:4342 postmaster/postmaster.c:4352 replication/logical/origin.c:551 replication/logical/origin.c:587 replication/logical/origin.c:603 replication/logical/snapbuild.c:1576 replication/slot.c:1012 storage/file/copydir.c:187
-#: utils/init/miscinit.c:1199 utils/init/miscinit.c:1208 utils/init/miscinit.c:1215 utils/misc/guc.c:6669 utils/misc/guc.c:6700 utils/misc/guc.c:8498 utils/misc/guc.c:8512 utils/time/snapmgr.c:1076 utils/time/snapmgr.c:1083
+#: access/heap/rewriteheap.c:1167 access/transam/timeline.c:367
+#: access/transam/timeline.c:401 access/transam/timeline.c:477
+#: access/transam/xlog.c:3051 access/transam/xlog.c:3215
+#: postmaster/postmaster.c:4361 postmaster/postmaster.c:4371
+#: replication/logical/origin.c:551 replication/logical/origin.c:587
+#: replication/logical/origin.c:603 replication/logical/snapbuild.c:1591
+#: replication/slot.c:1063 storage/file/copydir.c:187
+#: utils/init/miscinit.c:1228 utils/init/miscinit.c:1237
+#: utils/init/miscinit.c:1244 utils/misc/guc.c:6842 utils/misc/guc.c:6873
+#: utils/misc/guc.c:8715 utils/misc/guc.c:8729 utils/time/snapmgr.c:1187
+#: utils/time/snapmgr.c:1194
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "n'a pas pu écrire dans le fichier « %s » : %m"
 
-#: access/heap/rewriteheap.c:1250 access/transam/xlog.c:10330 access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:468 replication/logical/origin.c:529 replication/logical/reorderbuffer.c:2421 replication/logical/reorderbuffer.c:2478 replication/logical/snapbuild.c:1520 replication/logical/snapbuild.c:1895 replication/slot.c:1089 storage/ipc/dsm.c:326 storage/smgr/md.c:420 storage/smgr/md.c:469 storage/smgr/md.c:1333
+#: access/heap/rewriteheap.c:1250 access/transam/xlog.c:10356
+#: access/transam/xlogarchive.c:114 access/transam/xlogarchive.c:468
+#: replication/logical/origin.c:529 replication/logical/reorderbuffer.c:2624
+#: replication/logical/reorderbuffer.c:2681
+#: replication/logical/snapbuild.c:1535 replication/logical/snapbuild.c:1910
+#: replication/slot.c:1136 storage/ipc/dsm.c:326 storage/smgr/md.c:431
+#: storage/smgr/md.c:480 storage/smgr/md.c:1397
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "n'a pas pu supprimer le fichier « %s » : %m"
 
-#: access/heap/rewriteheap.c:1264 access/transam/timeline.c:111 access/transam/timeline.c:236 access/transam/timeline.c:334 access/transam/xlog.c:2943 access/transam/xlog.c:3060 access/transam/xlog.c:3101 access/transam/xlog.c:3392 access/transam/xlog.c:3470 replication/basebackup.c:398 replication/basebackup.c:1159 replication/logical/logicalfuncs.c:154 replication/logical/origin.c:677 replication/logical/reorderbuffer.c:2038
-#: replication/logical/reorderbuffer.c:2242 replication/logical/reorderbuffer.c:2869 replication/logical/snapbuild.c:1569 replication/logical/snapbuild.c:1653 replication/slot.c:1104 replication/walsender.c:472 replication/walsender.c:2100 storage/file/copydir.c:155 storage/file/fd.c:445 storage/file/fd.c:2653 storage/file/fd.c:2705 storage/smgr/md.c:602 storage/smgr/md.c:860 utils/error/elog.c:1854 utils/init/miscinit.c:1134
-#: utils/init/miscinit.c:1255 utils/init/miscinit.c:1333 utils/misc/guc.c:6912 utils/misc/guc.c:6944
+#: access/heap/rewriteheap.c:1264 access/transam/timeline.c:111
+#: access/transam/timeline.c:236 access/transam/timeline.c:334
+#: access/transam/xlog.c:2992 access/transam/xlog.c:3109
+#: access/transam/xlog.c:3150 access/transam/xlog.c:3423
+#: access/transam/xlog.c:3501 access/transam/xlogutils.c:700
+#: replication/basebackup.c:401 replication/basebackup.c:1162
+#: replication/logical/origin.c:658 replication/logical/reorderbuffer.c:2154
+#: replication/logical/reorderbuffer.c:2394
+#: replication/logical/reorderbuffer.c:3072
+#: replication/logical/snapbuild.c:1584 replication/logical/snapbuild.c:1668
+#: replication/slot.c:1151 replication/walsender.c:474
+#: replication/walsender.c:2104 storage/file/copydir.c:155
+#: storage/file/fd.c:607 storage/file/fd.c:2964 storage/file/fd.c:3031
+#: storage/smgr/md.c:613 utils/error/elog.c:1870 utils/init/miscinit.c:1163
+#: utils/init/miscinit.c:1284 utils/init/miscinit.c:1362 utils/misc/guc.c:7101
+#: utils/misc/guc.c:7134
 #, c-format
 msgid "could not open file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier « %s » : %m"
 
-#: access/index/indexam.c:172 catalog/objectaddress.c:1144 commands/indexcmds.c:1754 commands/tablecmds.c:239 commands/tablecmds.c:11986
+#: access/index/amapi.c:69 commands/amcmds.c:164
+#, fuzzy, c-format
+#| msgid "access method \"%s\" does not exist"
+msgid "access method \"%s\" is not of type %s"
+msgstr "la méthode d'accès « %s » n'existe pas"
+
+#: access/index/amapi.c:78
+#, fuzzy, c-format
+#| msgid "access method \"%s\" does not exist"
+msgid "index access method \"%s\" does not have a handler"
+msgstr "la méthode d'accès « %s » n'existe pas"
+
+#: access/index/indexam.c:155 catalog/objectaddress.c:1196
+#: commands/indexcmds.c:1799 commands/tablecmds.c:241
+#: commands/tablecmds.c:12033
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "« %s » n'est pas un index"
 
-#: access/nbtree/nbtinsert.c:419
+#: access/nbtree/nbtinsert.c:427
 #, c-format
 msgid "duplicate key value violates unique constraint \"%s\""
 msgstr "la valeur d'une clé dupliquée rompt la contrainte unique « %s »"
 
-#: access/nbtree/nbtinsert.c:421
+#: access/nbtree/nbtinsert.c:429
 #, c-format
 msgid "Key %s already exists."
 msgstr "La clé « %s » existe déjà."
 
-#: access/nbtree/nbtinsert.c:488
+#: access/nbtree/nbtinsert.c:496
 #, c-format
 msgid "failed to re-find tuple within index \"%s\""
 msgstr "échec pour retrouver la ligne dans l'index « %s »"
 
-#: access/nbtree/nbtinsert.c:490
+#: access/nbtree/nbtinsert.c:498
 #, c-format
 msgid "This may be because of a non-immutable index expression."
 msgstr "Ceci peut être dû à une expression d'index immutable."
 
-#: access/nbtree/nbtinsert.c:570 access/nbtree/nbtsort.c:491
+#: access/nbtree/nbtinsert.c:578 access/nbtree/nbtsort.c:491
 #, c-format
 msgid ""
 "Values larger than 1/3 of a buffer page cannot be indexed.\n"
@@ -617,12 +998,14 @@ msgstr ""
 "Utilisez un index sur le hachage MD5 de la valeur ou passez à l'indexation\n"
 "de la recherche plein texte."
 
-#: access/nbtree/nbtpage.c:168 access/nbtree/nbtpage.c:371 access/nbtree/nbtpage.c:458 parser/parse_utilcmd.c:1665
+#: access/nbtree/nbtpage.c:168 access/nbtree/nbtpage.c:371
+#: access/nbtree/nbtpage.c:458 parser/parse_utilcmd.c:1715
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "l'index « %s » n'est pas un btree"
 
-#: access/nbtree/nbtpage.c:174 access/nbtree/nbtpage.c:377 access/nbtree/nbtpage.c:464
+#: access/nbtree/nbtpage.c:174 access/nbtree/nbtpage.c:377
+#: access/nbtree/nbtpage.c:464
 #, c-format
 msgid "version mismatch in index \"%s\": file version %d, code version %d"
 msgstr "la version ne correspond pas dans l'index « %s » : version du fichier %d, version du code %d"
@@ -637,11 +1020,101 @@ msgstr "l'index 
 msgid "This can be caused by an interrupted VACUUM in version 9.3 or older, before upgrade. Please REINDEX it."
 msgstr "Ceci peut être dû à un VACUUM interrompu en version 9.3 ou antérieure, avant la mise à jour. Merci d'utiliser REINDEX."
 
-#: access/spgist/spgutils.c:663
+#: access/nbtree/nbtvalidate.c:100
+#, c-format
+msgid "btree opfamily %s contains function %s with invalid support number %d"
+msgstr ""
+
+#: access/nbtree/nbtvalidate.c:112
+#, c-format
+msgid "btree opfamily %s contains function %s with wrong signature for support number %d"
+msgstr ""
+
+#: access/nbtree/nbtvalidate.c:132
+#, c-format
+msgid "btree opfamily %s contains operator %s with invalid strategy number %d"
+msgstr ""
+
+#: access/nbtree/nbtvalidate.c:145
+#, c-format
+msgid "btree opfamily %s contains invalid ORDER BY specification for operator %s"
+msgstr ""
+
+#: access/nbtree/nbtvalidate.c:158
+#, c-format
+msgid "btree opfamily %s contains operator %s with wrong signature"
+msgstr ""
+
+#: access/nbtree/nbtvalidate.c:200
+#, c-format
+msgid "btree opfamily %s is missing operator(s) for types %s and %s"
+msgstr ""
+
+#: access/nbtree/nbtvalidate.c:210
+#, c-format
+msgid "btree opfamily %s is missing support function for types %s and %s"
+msgstr ""
+
+#: access/nbtree/nbtvalidate.c:224
+#, c-format
+msgid "btree opclass %s is missing operator(s)"
+msgstr ""
+
+#: access/nbtree/nbtvalidate.c:241
+#, c-format
+msgid "btree opfamily %s is missing cross-type operator(s)"
+msgstr ""
+
+#: access/spgist/spgutils.c:699
 #, c-format
 msgid "SP-GiST inner tuple size %zu exceeds maximum %zu"
 msgstr "la taille de la ligne interne SP-GiST, %zu, dépasse le maximum, %zu"
 
+#: access/spgist/spgvalidate.c:92
+#, c-format
+msgid "spgist opfamily %s contains support procedure %s with cross-type registration"
+msgstr ""
+
+#: access/spgist/spgvalidate.c:115
+#, c-format
+msgid "spgist opfamily %s contains function %s with invalid support number %d"
+msgstr ""
+
+#: access/spgist/spgvalidate.c:127
+#, c-format
+msgid "spgist opfamily %s contains function %s with wrong signature for support number %d"
+msgstr ""
+
+#: access/spgist/spgvalidate.c:146
+#, c-format
+msgid "spgist opfamily %s contains operator %s with invalid strategy number %d"
+msgstr ""
+
+#: access/spgist/spgvalidate.c:159
+#, c-format
+msgid "spgist opfamily %s contains invalid ORDER BY specification for operator %s"
+msgstr ""
+
+#: access/spgist/spgvalidate.c:172
+#, c-format
+msgid "spgist opfamily %s contains operator %s with wrong signature"
+msgstr ""
+
+#: access/spgist/spgvalidate.c:200
+#, c-format
+msgid "spgist opfamily %s is missing operator(s) for types %s and %s"
+msgstr ""
+
+#: access/spgist/spgvalidate.c:220
+#, c-format
+msgid "spgist opfamily %s is missing support function %d for type %s"
+msgstr ""
+
+#: access/spgist/spgvalidate.c:233
+#, c-format
+msgid "spgist opclass %s is missing operator(s)"
+msgstr ""
+
 #: access/tablesample/bernoulli.c:152 access/tablesample/system.c:156
 #, c-format
 msgid "sample percentage must be between 0 and 100"
@@ -662,17 +1135,18 @@ msgstr "n'a pas pu r
 msgid "Make sure the configuration parameter \"%s\" is set on the master server."
 msgstr "Assurez-vous que le paramètre de configuration « %s » soit configuré sur le serveur primaire."
 
-#: access/transam/commit_ts.c:389 libpq/hba.c:1424
+#: access/transam/commit_ts.c:389 libpq/hba.c:1441
 #, c-format
 msgid "Make sure the configuration parameter \"%s\" is set."
 msgstr "Assurez-vous que le paramètre de configuration « %s » soit configuré."
 
-#: access/transam/multixact.c:1008
+#: access/transam/multixact.c:1000
 #, c-format
 msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database \"%s\""
 msgstr "la base de données n'accepte pas de commandes qui génèrent de nouveaux MultiXactId pour éviter les pertes de données suite à une réinitialisation de l'identifiant de transaction dans la base de données « %s »"
 
-#: access/transam/multixact.c:1010 access/transam/multixact.c:1017 access/transam/multixact.c:1041 access/transam/multixact.c:1050
+#: access/transam/multixact.c:1002 access/transam/multixact.c:1009
+#: access/transam/multixact.c:1033 access/transam/multixact.c:1042
 #, c-format
 msgid ""
 "Execute a database-wide VACUUM in that database.\n"
@@ -681,72 +1155,74 @@ msgstr ""
 "Exécutez un VACUUM sur toute cette base.\n"
 "Vous pouvez avoir besoin de valider ou d'annuler les anciennes transactions préparées."
 
-#: access/transam/multixact.c:1015
+#: access/transam/multixact.c:1007
 #, c-format
 msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with OID %u"
 msgstr ""
 "la base de données n'accepte pas de commandes qui génèrent de nouveaux MultiXactId pour éviter des pertes de données à cause de la réinitialisation de l'identifiant de transaction dans\n"
 "la base de données d'OID %u"
 
-#: access/transam/multixact.c:1036 access/transam/multixact.c:2319
+#: access/transam/multixact.c:1028 access/transam/multixact.c:2317
 #, c-format
 msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used"
 msgid_plural "database \"%s\" must be vacuumed before %u more MultiXactIds are used"
 msgstr[0] "un VACUUM doit être exécuté sur la base de données « %s » dans un maximum de %u MultiXactId"
 msgstr[1] "un VACUUM doit être exécuté sur la base de données « %s » dans un maximum de %u MultiXactId"
 
-#: access/transam/multixact.c:1045 access/transam/multixact.c:2328
+#: access/transam/multixact.c:1037 access/transam/multixact.c:2326
 #, c-format
 msgid "database with OID %u must be vacuumed before %u more MultiXactId is used"
 msgid_plural "database with OID %u must be vacuumed before %u more MultiXactIds are used"
 msgstr[0] "un VACUUM doit être exécuté sur la base de données d'OID %u dans un maximum de %u MultiXactId"
 msgstr[1] "un VACUUM doit être exécuté sur la base de données d'OID %u dans un maximum de %u MultiXactId"
 
-#: access/transam/multixact.c:1106
+#: access/transam/multixact.c:1098
 #, c-format
 msgid "multixact \"members\" limit exceeded"
 msgstr "dépassement de limite des membres du multixact"
 
-#: access/transam/multixact.c:1107
+#: access/transam/multixact.c:1099
 #, c-format
 msgid "This command would create a multixact with %u members, but the remaining space is only enough for %u member."
 msgid_plural "This command would create a multixact with %u members, but the remaining space is only enough for %u members."
 msgstr[0] "Cette commande créera un multixact avec %u membres, mais l'espace restant est seulement suffisant pour %u membre."
 msgstr[1] "Cette commande créera un multixact avec %u membres, mais l'espace restant est seulement suffisant pour %u membres."
 
-#: access/transam/multixact.c:1112
+#: access/transam/multixact.c:1104
 #, c-format
 msgid "Execute a database-wide VACUUM in database with OID %u with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings."
 msgstr "Exécute un VACUUM sur la base dans la base d'OID %u avec une configuration réduite pour vacuum_multixact_freeze_min_age et vacuum_multixact_freeze_table_age."
 
-#: access/transam/multixact.c:1143
+#: access/transam/multixact.c:1135
 #, c-format
 msgid "database with OID %u must be vacuumed before %d more multixact member is used"
 msgid_plural "database with OID %u must be vacuumed before %d more multixact members are used"
 msgstr[0] "un VACUUM doit être exécuté sur la base de données d'OID %u avant que %d MultiXactId supplémentaire ne soit utilisé"
 msgstr[1] "un VACUUM doit être exécuté sur la base de données d'OID %u avant que %d MultiXactId supplémentaires ne soient utilisés"
 
-#: access/transam/multixact.c:1148
+#: access/transam/multixact.c:1140
 #, c-format
 msgid "Execute a database-wide VACUUM in that database with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings."
 msgstr "Exécute un VACUUM sur la base dans cette base avec une configuration réduite pour vacuum_multixact_freeze_min_age et vacuum_multixact_freeze_table_age."
 
-#: access/transam/multixact.c:1286
+#: access/transam/multixact.c:1278
 #, c-format
 msgid "MultiXactId %u does no longer exist -- apparent wraparound"
 msgstr "le MultiXactId %u n'existe plus - wraparound apparent"
 
-#: access/transam/multixact.c:1294
+#: access/transam/multixact.c:1286
 #, c-format
 msgid "MultiXactId %u has not been created yet -- apparent wraparound"
 msgstr "le MultiXactId %u n'a pas encore été créer : wraparound apparent"
 
-#: access/transam/multixact.c:2269
+#: access/transam/multixact.c:2267
 #, c-format
 msgid "MultiXactId wrap limit is %u, limited by database with OID %u"
 msgstr "La limite de réinitialisation MultiXactId est %u, limité par la base de données d'OID %u"
 
-#: access/transam/multixact.c:2324 access/transam/multixact.c:2333 access/transam/varsup.c:146 access/transam/varsup.c:153 access/transam/varsup.c:384 access/transam/varsup.c:391
+#: access/transam/multixact.c:2322 access/transam/multixact.c:2331
+#: access/transam/varsup.c:146 access/transam/varsup.c:153
+#: access/transam/varsup.c:384 access/transam/varsup.c:391
 #, c-format
 msgid ""
 "To avoid a database shutdown, execute a database-wide VACUUM in that database.\n"
@@ -756,114 +1232,116 @@ msgstr ""
 "base. Vous pouvez avoir besoin d'enregistrer ou d'annuler les anciennes\n"
 "transactions préparées."
 
-#: access/transam/multixact.c:2603
+#: access/transam/multixact.c:2601
 #, c-format
 msgid "oldest MultiXactId member is at offset %u"
 msgstr "le membre le plus ancien du MultiXactId est au décalage %u"
 
-#: access/transam/multixact.c:2607
+#: access/transam/multixact.c:2605
 #, c-format
 msgid "MultiXact member wraparound protections are disabled because oldest checkpointed MultiXact %u does not exist on disk"
 msgstr "Les protections sur la réutilisation d'un membre MultiXact sont désactivées car le plus ancien MultiXact géré par un checkpoint, %u, n'existe pas sur disque"
 
-#: access/transam/multixact.c:2629
+#: access/transam/multixact.c:2627
 #, c-format
 msgid "MultiXact member wraparound protections are now enabled"
 msgstr "Les protections sur la réutilisation d'un membre MultiXact sont maintenant activées"
 
-#: access/transam/multixact.c:2631
+#: access/transam/multixact.c:2629
 #, c-format
 msgid "MultiXact member stop limit is now %u based on MultiXact %u"
 msgstr "La limite d'arrêt d'un membre MultiXact est maintenant %x, base sur le MultiXact %u"
 
-#: access/transam/multixact.c:3011
+#: access/transam/multixact.c:3009
 #, c-format
 msgid "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation"
 msgstr "plus ancien MultiXact introuvable %u, plus récent MultiXact %u, ignore le troncage"
 
-#: access/transam/multixact.c:3029
+#: access/transam/multixact.c:3027
 #, c-format
 msgid "cannot truncate up to MultiXact %u because it does not exist on disk, skipping truncation"
 msgstr "ne peut pas tronquer jusqu'au MutiXact %u car il n'existe pas sur disque, ignore le troncage"
 
-#: access/transam/multixact.c:3355
+#: access/transam/multixact.c:3353
 #, c-format
 msgid "invalid MultiXactId: %u"
 msgstr "MultiXactId invalide : %u"
 
-#: access/transam/parallel.c:577
+#: access/transam/parallel.c:583
 #, c-format
 msgid "postmaster exited during a parallel transaction"
 msgstr "postmaster a quitté pendant une transaction parallèle"
 
-#: access/transam/parallel.c:668
+#: access/transam/parallel.c:741
 #, c-format
 msgid "lost connection to parallel worker"
 msgstr "perte de la connexion au processus parallèle"
 
-#: access/transam/parallel.c:845
+#: access/transam/parallel.c:916
 #, fuzzy, c-format
 #| msgid "too many dynamic shared memory segments"
 msgid "could not map dynamic shared memory segment"
 msgstr "trop de segments de mémoire partagée dynamique"
 
-#: access/transam/parallel.c:850
+#: access/transam/parallel.c:921
 #, fuzzy, c-format
 #| msgid "too many dynamic shared memory segments"
 msgid "invalid magic number in dynamic shared memory segment"
 msgstr "trop de segments de mémoire partagée dynamique"
 
-#: access/transam/parallel.c:1001
+#: access/transam/parallel.c:1086
 #, c-format
 msgid "parallel worker, PID %d"
 msgstr "processus en parallèle, PID %d"
 
-#: access/transam/slru.c:652
+#: access/transam/slru.c:665
 #, c-format
 msgid "file \"%s\" doesn't exist, reading as zeroes"
 msgstr "le fichier « %s » n'existe pas, contenu lu comme des zéros"
 
-#: access/transam/slru.c:882 access/transam/slru.c:888 access/transam/slru.c:895 access/transam/slru.c:902 access/transam/slru.c:909 access/transam/slru.c:916
+#: access/transam/slru.c:895 access/transam/slru.c:901
+#: access/transam/slru.c:908 access/transam/slru.c:915
+#: access/transam/slru.c:922 access/transam/slru.c:929
 #, c-format
 msgid "could not access status of transaction %u"
 msgstr "n'a pas pu accéder au statut de la transaction %u"
 
-#: access/transam/slru.c:883
+#: access/transam/slru.c:896
 #, c-format
 msgid "Could not open file \"%s\": %m."
 msgstr "N'a pas pu ouvrir le fichier « %s » : %m"
 
-#: access/transam/slru.c:889
+#: access/transam/slru.c:902
 #, c-format
 msgid "Could not seek in file \"%s\" to offset %u: %m."
 msgstr "N'a pas pu se déplacer dans le fichier « %s » au décalage %u : %m"
 
-#: access/transam/slru.c:896
+#: access/transam/slru.c:909
 #, c-format
 msgid "Could not read from file \"%s\" at offset %u: %m."
 msgstr "N'a pas pu lire le fichier « %s » au décalage %u : %m"
 
-#: access/transam/slru.c:903
+#: access/transam/slru.c:916
 #, c-format
 msgid "Could not write to file \"%s\" at offset %u: %m."
 msgstr "N'a pas pu écrire le fichier « %s » au décalage %u : %m"
 
-#: access/transam/slru.c:910
+#: access/transam/slru.c:923
 #, c-format
 msgid "Could not fsync file \"%s\": %m."
 msgstr "N'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m"
 
-#: access/transam/slru.c:917
+#: access/transam/slru.c:930
 #, c-format
 msgid "Could not close file \"%s\": %m."
 msgstr "N'a pas pu fermer le fichier « %s » : %m"
 
-#: access/transam/slru.c:1172
+#: access/transam/slru.c:1185
 #, c-format
 msgid "could not truncate directory \"%s\": apparent wraparound"
 msgstr "n'a pas pu tronquer le répertoire « %s » : contournement apparent"
 
-#: access/transam/slru.c:1227 access/transam/slru.c:1283
+#: access/transam/slru.c:1240 access/transam/slru.c:1296
 #, c-format
 msgid "removing file \"%s\""
 msgstr "suppression du fichier « %s »"
@@ -905,207 +1383,183 @@ msgstr ""
 "Les identifiants timeline doivent être plus petits que les enfants des\n"
 "identifiants timeline."
 
-#: access/transam/timeline.c:346 access/transam/xlog.c:3144 access/transam/xlog.c:10312 access/transam/xlog.c:10325 access/transam/xlog.c:10688 access/transam/xlog.c:10731 access/transam/xlog.c:10770 access/transam/xlog.c:10813 access/transam/xlogfuncs.c:478 access/transam/xlogfuncs.c:497 commands/extension.c:3047 replication/logical/origin.c:684 replication/logical/origin.c:714 replication/logical/reorderbuffer.c:2887
-#: replication/walsender.c:497 storage/file/copydir.c:176 utils/adt/genfile.c:151
-#, c-format
-msgid "could not read file \"%s\": %m"
-msgstr "n'a pas pu lire le fichier « %s » : %m"
-
-#: access/transam/timeline.c:412 access/transam/timeline.c:502 access/transam/xlog.c:3017 access/transam/xlog.c:3178 access/transam/xlogfuncs.c:503 commands/copy.c:1631 storage/file/copydir.c:201
+#: access/transam/timeline.c:412 access/transam/timeline.c:488
+#: access/transam/xlog.c:3066 access/transam/xlog.c:3227
+#: access/transam/xlogfuncs.c:691 commands/copy.c:1671
+#: storage/file/copydir.c:201
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "n'a pas pu fermer le fichier « %s » : %m"
 
-#: access/transam/timeline.c:429 access/transam/timeline.c:519
-#, c-format
-msgid "could not link file \"%s\" to \"%s\": %m"
-msgstr "n'a pas pu lier le fichier « %s » à « %s » : %m"
-
-#: access/transam/timeline.c:436 access/transam/timeline.c:526 access/transam/xlog.c:5302 access/transam/xlog.c:6512 access/transam/xlog.c:6529 access/transam/xlog.c:7310 access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:476 access/transam/xlogarchive.c:586 postmaster/pgarch.c:734 replication/logical/origin.c:624 replication/logical/snapbuild.c:1606 replication/slot.c:470 replication/slot.c:926 replication/slot.c:1038
-#: utils/misc/guc.c:6968 utils/time/snapmgr.c:1094
-#, c-format
-msgid "could not rename file \"%s\" to \"%s\": %m"
-msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m"
-
-#: access/transam/timeline.c:598
+#: access/transam/timeline.c:570
 #, c-format
 msgid "requested timeline %u is not in this server's history"
 msgstr "la timeline %u requise n'est pas dans l'historique de ce serveur"
 
-#: access/transam/twophase.c:330
+#: access/transam/twophase.c:363
 #, c-format
 msgid "transaction identifier \"%s\" is too long"
 msgstr "l'identifiant de la transaction « %s » est trop long"
 
-#: access/transam/twophase.c:337
+#: access/transam/twophase.c:370
 #, c-format
 msgid "prepared transactions are disabled"
 msgstr "les transactions préparées sont désactivées"
 
-#: access/transam/twophase.c:338
+#: access/transam/twophase.c:371
 #, c-format
 msgid "Set max_prepared_transactions to a nonzero value."
 msgstr "Configure max_prepared_transactions à une valeur différente de zéro."
 
-#: access/transam/twophase.c:357
+#: access/transam/twophase.c:390
 #, c-format
 msgid "transaction identifier \"%s\" is already in use"
 msgstr "l'identifiant de la transaction « %s » est déjà utilisé"
 
-#: access/transam/twophase.c:366
+#: access/transam/twophase.c:399
 #, c-format
 msgid "maximum number of prepared transactions reached"
 msgstr "nombre maximum de transactions préparées obtenu"
 
-#: access/transam/twophase.c:367
+#: access/transam/twophase.c:400
 #, c-format
 msgid "Increase max_prepared_transactions (currently %d)."
 msgstr "Augmentez max_prepared_transactions (actuellement %d)."
 
-#: access/transam/twophase.c:504
+#: access/transam/twophase.c:539
 #, c-format
 msgid "prepared transaction with identifier \"%s\" is busy"
 msgstr "la transaction préparée d'identifiant « %s » est occupée"
 
-#: access/transam/twophase.c:510
+#: access/transam/twophase.c:545
 #, c-format
 msgid "permission denied to finish prepared transaction"
 msgstr "droit refusé pour terminer la transaction préparée"
 
-#: access/transam/twophase.c:511
+#: access/transam/twophase.c:546
 #, c-format
 msgid "Must be superuser or the user that prepared the transaction."
 msgstr "Doit être super-utilisateur ou l'utilisateur qui a préparé la transaction."
 
-#: access/transam/twophase.c:522
+#: access/transam/twophase.c:557
 #, c-format
 msgid "prepared transaction belongs to another database"
 msgstr "la transaction préparée appartient à une autre base de données"
 
-#: access/transam/twophase.c:523
+#: access/transam/twophase.c:558
 #, c-format
 msgid "Connect to the database where the transaction was prepared to finish it."
 msgstr ""
 "Connectez-vous à la base de données où la transaction a été préparée pour\n"
 "la terminer."
 
-#: access/transam/twophase.c:538
+#: access/transam/twophase.c:573
 #, c-format
 msgid "prepared transaction with identifier \"%s\" does not exist"
 msgstr "la transaction préparée d'identifiant « %s » n'existe pas"
 
-#: access/transam/twophase.c:1048
+#: access/transam/twophase.c:1042
 #, c-format
 msgid "two-phase state file maximum length exceeded"
 msgstr ""
 "longueur maximale dépassée pour le fichier de statut de la validation en\n"
 "deux phase"
 
-#: access/transam/twophase.c:1061
-#, c-format
-msgid "could not create two-phase state file \"%s\": %m"
-msgstr ""
-"n'a pas pu créer le fichier de statut de la validation en deux phases nommé\n"
-"« %s » : %m"
-
-#: access/transam/twophase.c:1075 access/transam/twophase.c:1092 access/transam/twophase.c:1145 access/transam/twophase.c:1575 access/transam/twophase.c:1582
-#, c-format
-msgid "could not write two-phase state file: %m"
-msgstr "n'a pas pu écrire dans le fichier d'état de la validation en deux phases : %m"
-
-#: access/transam/twophase.c:1101
-#, c-format
-msgid "could not seek in two-phase state file: %m"
-msgstr ""
-"n'a pas pu se déplacer dans le fichier de statut de la validation en deux\n"
-"phases : %m"
-
-#: access/transam/twophase.c:1151 access/transam/twophase.c:1600
-#, c-format
-msgid "could not close two-phase state file: %m"
-msgstr "n'a pas pu fermer le fichier d'état de la validation en deux phases : %m"
-
-#: access/transam/twophase.c:1239 access/transam/twophase.c:1681
+#: access/transam/twophase.c:1160
 #, c-format
 msgid "could not open two-phase state file \"%s\": %m"
 msgstr ""
 "n'a pas pu ouvrir le fichier d'état de la validation en deux phases nommé\n"
 "« %s » : %m"
 
-#: access/transam/twophase.c:1256
+#: access/transam/twophase.c:1177
 #, c-format
 msgid "could not stat two-phase state file \"%s\": %m"
 msgstr ""
 "n'a pas pu récupérer des informations sur le fichier d'état de la validation\n"
 "en deux phases nommé « %s » : %m"
 
-#: access/transam/twophase.c:1288
+#: access/transam/twophase.c:1209
 #, c-format
 msgid "could not read two-phase state file \"%s\": %m"
 msgstr ""
 "n'a pas pu lire le fichier d'état de la validation en deux phases nommé\n"
 "« %s » : %m"
 
-#: access/transam/twophase.c:1384
+#: access/transam/twophase.c:1262 access/transam/xlog.c:6070
+#, c-format
+msgid "Failed while allocating an XLog reading processor."
+msgstr "Échec lors de l'allocation d'un processeur de lecture XLog"
+
+#: access/transam/twophase.c:1268
+#, fuzzy, c-format
+#| msgid "could not read two-phase state file \"%s\": %m"
+msgid "could not read two-phase state from xlog at %X/%X"
+msgstr ""
+"n'a pas pu lire le fichier d'état de la validation en deux phases nommé\n"
+"« %s » : %m"
+
+#: access/transam/twophase.c:1276
 #, c-format
-msgid "two-phase state file for transaction %u is corrupt"
+msgid "expected two-phase state data is not present in xlog at %X/%X"
 msgstr ""
-"le fichier d'état de la validation en deux phases est corrompu pour la\n"
-"transaction %u"
 
-#: access/transam/twophase.c:1537
+#: access/transam/twophase.c:1512
 #, c-format
 msgid "could not remove two-phase state file \"%s\": %m"
 msgstr ""
 "n'a pas pu supprimer le fichier d'état de la validation en deux phases\n"
 "« %s » : %m"
 
-#: access/transam/twophase.c:1566
+#: access/transam/twophase.c:1542
 #, c-format
 msgid "could not recreate two-phase state file \"%s\": %m"
 msgstr ""
 "n'a pas pu re-créer le fichier d'état de la validation en deux phases nommé\n"
 "« %s » : %m"
 
-#: access/transam/twophase.c:1594
+#: access/transam/twophase.c:1551 access/transam/twophase.c:1558
 #, c-format
-msgid "could not fsync two-phase state file: %m"
+msgid "could not write two-phase state file: %m"
+msgstr "n'a pas pu écrire dans le fichier d'état de la validation en deux phases : %m"
+
+#: access/transam/twophase.c:1570
+#, c-format
+msgid "could not fsync two-phase state file: %m"
 msgstr ""
 "n'a pas pu synchroniser sur disque (fsync) le fichier d'état de la\n"
 "validation en deux phases : %m"
 
-#: access/transam/twophase.c:1690
+#: access/transam/twophase.c:1576
 #, c-format
-msgid "could not fsync two-phase state file \"%s\": %m"
-msgstr ""
-"n'a pas pu synchroniser sur disque (fsync) le fichier d'état de la\n"
-"validation en deux phases nommé « %s » : %m"
+msgid "could not close two-phase state file: %m"
+msgstr "n'a pas pu fermer le fichier d'état de la validation en deux phases : %m"
 
-#: access/transam/twophase.c:1697
+#: access/transam/twophase.c:1651
 #, c-format
-msgid "could not close two-phase state file \"%s\": %m"
+msgid "%u two-phase state files were written for long-running prepared transactions"
 msgstr ""
-"n'a pas pu fermer le fichier d'état de la validation en deux phases nommé\n"
-"« %s » : %m"
 
-#: access/transam/twophase.c:1762
+#: access/transam/twophase.c:1712
 #, c-format
 msgid "removing future two-phase state file \"%s\""
 msgstr "suppression du futur fichier d'état de la validation en deux phases nommé « %s »"
 
-#: access/transam/twophase.c:1778 access/transam/twophase.c:1789 access/transam/twophase.c:1908 access/transam/twophase.c:1919 access/transam/twophase.c:1992
+#: access/transam/twophase.c:1728 access/transam/twophase.c:1739
+#: access/transam/twophase.c:1858 access/transam/twophase.c:1869
+#: access/transam/twophase.c:1943
 #, c-format
 msgid "removing corrupt two-phase state file \"%s\""
 msgstr ""
 "suppression du fichier d'état corrompu de la validation en deux phases nommé\n"
 "« %s »"
 
-#: access/transam/twophase.c:1897 access/transam/twophase.c:1981
+#: access/transam/twophase.c:1847 access/transam/twophase.c:1932
 #, c-format
 msgid "removing stale two-phase state file \"%s\""
 msgstr "suppression du vieux fichier d'état de la validation en deux phases nommé « %s »"
 
-#: access/transam/twophase.c:1999
+#: access/transam/twophase.c:1950
 #, c-format
 msgid "recovering prepared transaction %u"
 msgstr "récupération de la transaction préparée %u"
@@ -1162,37 +1616,37 @@ msgstr ""
 msgid "cannot have more than 2^32-2 commands in a transaction"
 msgstr "ne peux pas avoir plus de 2^32-2 commandes dans une transaction"
 
-#: access/transam/xact.c:1453
+#: access/transam/xact.c:1471
 #, c-format
 msgid "maximum number of committed subtransactions (%d) exceeded"
 msgstr "nombre maximum de sous-transactions validées (%d) dépassé"
 
-#: access/transam/xact.c:2249
+#: access/transam/xact.c:2267
 #, c-format
 msgid "cannot PREPARE a transaction that has operated on temporary tables"
 msgstr ""
 "ne peut pas préparer (PREPARE) une transaction qui a travaillé sur des\n"
 "tables temporaires"
 
-#: access/transam/xact.c:2259
+#: access/transam/xact.c:2277
 #, c-format
 msgid "cannot PREPARE a transaction that has exported snapshots"
 msgstr "ne peut pas préparer (PREPARE) une transaction qui a exporté des snapshots"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3137
+#: access/transam/xact.c:3159
 #, c-format
 msgid "%s cannot run inside a transaction block"
 msgstr "%s ne peut pas être exécuté dans un bloc de transaction"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3147
+#: access/transam/xact.c:3169
 #, c-format
 msgid "%s cannot run inside a subtransaction"
 msgstr "%s ne peut pas être exécuté dans un sous-bloc de transaction"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3157
+#: access/transam/xact.c:3179
 #, c-format
 msgid "%s cannot be executed from a function or multi-command string"
 msgstr ""
@@ -1200,217 +1654,219 @@ msgstr ""
 "contenant plusieurs commandes"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3228
+#: access/transam/xact.c:3250
 #, c-format
 msgid "%s can only be used in transaction blocks"
 msgstr "%s peut seulement être utilisé dans des blocs de transaction"
 
-#: access/transam/xact.c:3412
+#: access/transam/xact.c:3434
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "une transaction est déjà en cours"
 
-#: access/transam/xact.c:3580 access/transam/xact.c:3683
+#: access/transam/xact.c:3602 access/transam/xact.c:3705
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "aucune transaction en cours"
 
-#: access/transam/xact.c:3591
+#: access/transam/xact.c:3613
 #, c-format
 msgid "cannot commit during a parallel operation"
 msgstr "ne peut pas valider pendant une opération parallèle"
 
-#: access/transam/xact.c:3694
+#: access/transam/xact.c:3716
 #, c-format
 msgid "cannot abort during a parallel operation"
 msgstr "ne peut pas annuler pendant une opération en parallèle"
 
-#: access/transam/xact.c:3736
+#: access/transam/xact.c:3758
 #, c-format
 msgid "cannot define savepoints during a parallel operation"
 msgstr "ne peut pas définir de points de sauvegarde lors d'une opération parallèle"
 
-#: access/transam/xact.c:3803
+#: access/transam/xact.c:3825
 #, c-format
 msgid "cannot release savepoints during a parallel operation"
 msgstr "ne peut pas relâcher de points de sauvegarde pendant une opération parallèle"
 
-#: access/transam/xact.c:3814 access/transam/xact.c:3866 access/transam/xact.c:3872 access/transam/xact.c:3928 access/transam/xact.c:3978 access/transam/xact.c:3984
+#: access/transam/xact.c:3836 access/transam/xact.c:3888
+#: access/transam/xact.c:3894 access/transam/xact.c:3950
+#: access/transam/xact.c:4000 access/transam/xact.c:4006
 #, c-format
 msgid "no such savepoint"
 msgstr "aucun point de sauvegarde"
 
-#: access/transam/xact.c:3916
+#: access/transam/xact.c:3938
 #, c-format
 msgid "cannot rollback to savepoints during a parallel operation"
 msgstr "ne peut pas retourner à un point de sauvegarde pendant un opération parallèle"
 
-#: access/transam/xact.c:4044
+#: access/transam/xact.c:4066
 #, c-format
 msgid "cannot start subtransactions during a parallel operation"
 msgstr "ne peut pas lancer de sous-transactions pendant une opération parallèle"
 
-#: access/transam/xact.c:4111
+#: access/transam/xact.c:4133
 #, c-format
 msgid "cannot commit subtransactions during a parallel operation"
 msgstr "ne peut pas valider de sous-transactions pendant une opération parallèle"
 
-#: access/transam/xact.c:4717
+#: access/transam/xact.c:4741
 #, c-format
 msgid "cannot have more than 2^32-1 subtransactions in a transaction"
 msgstr "ne peut pas avoir plus de 2^32-1 sous-transactions dans une transaction"
 
-#: access/transam/xlog.c:2270
+#: access/transam/xlog.c:2272
 #, c-format
 msgid "could not seek in log file %s to offset %u: %m"
 msgstr "n'a pas pu se déplacer dans le fichier de transactions « %s » au décalage %u : %m"
 
-#: access/transam/xlog.c:2290
+#: access/transam/xlog.c:2292
 #, c-format
 msgid "could not write to log file %s at offset %u, length %zu: %m"
 msgstr "n'a pas pu écrire le fichier de transactions %s au décalage %u, longueur %zu : %m"
 
-#: access/transam/xlog.c:2553
+#: access/transam/xlog.c:2555
 #, c-format
 msgid "updated min recovery point to %X/%X on timeline %u"
 msgstr "mise à jour du point minimum de restauration sur %X/%X pour la timeline %u"
 
-#: access/transam/xlog.c:3148
+#: access/transam/xlog.c:3197
 #, c-format
 msgid "not enough data in file \"%s\""
 msgstr "données insuffisantes dans le fichier « %s »"
 
-#: access/transam/xlog.c:3267
-#, c-format
-msgid "could not link file \"%s\" to \"%s\" (initialization of log file): %m"
-msgstr "n'a pas pu lier le fichier « %s » à « %s » (initialisation du journal de transactions) : %m"
-
-#: access/transam/xlog.c:3279
-#, c-format
-msgid "could not rename file \"%s\" to \"%s\" (initialization of log file): %m"
-msgstr "n'a pas pu renommer le fichier « %s » en « %s » (initialisation du journal de transactions) : %m"
-
-#: access/transam/xlog.c:3307
+#: access/transam/xlog.c:3338
 #, c-format
 msgid "could not open transaction log file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le journal des transactions « %s » : %m"
 
-#: access/transam/xlog.c:3496 access/transam/xlog.c:5272
+#: access/transam/xlog.c:3527 access/transam/xlog.c:5300
 #, c-format
 msgid "could not close log file %s: %m"
 msgstr "n'a pas pu fermer le fichier de transactions « %s » : %m"
 
-#: access/transam/xlog.c:3553 replication/logical/logicalfuncs.c:149 replication/walsender.c:2095
+#: access/transam/xlog.c:3584 access/transam/xlogutils.c:695
+#: replication/walsender.c:2099
 #, c-format
 msgid "requested WAL segment %s has already been removed"
 msgstr "le segment demandé du journal de transaction, %s, a déjà été supprimé"
 
-#: access/transam/xlog.c:3613 access/transam/xlog.c:3688 access/transam/xlog.c:3886
+#: access/transam/xlog.c:3644 access/transam/xlog.c:3719
+#: access/transam/xlog.c:3917
 #, c-format
 msgid "could not open transaction log directory \"%s\": %m"
 msgstr "n'a pas pu ouvrir le répertoire des journaux de transactions « %s » : %m"
 
-#: access/transam/xlog.c:3769
+#: access/transam/xlog.c:3800
 #, c-format
 msgid "recycled transaction log file \"%s\""
 msgstr "recyclage du journal de transactions « %s »"
 
-#: access/transam/xlog.c:3781
+#: access/transam/xlog.c:3812
 #, c-format
 msgid "removing transaction log file \"%s\""
 msgstr "suppression du journal de transactions « %s »"
 
-#: access/transam/xlog.c:3801
+#: access/transam/xlog.c:3832
 #, c-format
 msgid "could not rename old transaction log file \"%s\": %m"
 msgstr "n'a pas pu renommer l'ancien journal de transactions « %s » : %m"
 
-#: access/transam/xlog.c:3813
+#: access/transam/xlog.c:3844
 #, c-format
 msgid "could not remove old transaction log file \"%s\": %m"
 msgstr "n'a pas pu supprimer l'ancien journal de transaction « %s » : %m"
 
-#: access/transam/xlog.c:3846 access/transam/xlog.c:3856
+#: access/transam/xlog.c:3877 access/transam/xlog.c:3887
 #, c-format
 msgid "required WAL directory \"%s\" does not exist"
 msgstr "le répertoire « %s » requis pour les journaux de transactions n'existe pas"
 
-#: access/transam/xlog.c:3862
+#: access/transam/xlog.c:3893
 #, c-format
 msgid "creating missing WAL directory \"%s\""
 msgstr "création du répertoire manquant « %s » pour les journaux de transactions"
 
-#: access/transam/xlog.c:3865
+#: access/transam/xlog.c:3896
 #, c-format
 msgid "could not create missing directory \"%s\": %m"
 msgstr "n'a pas pu créer le répertoire « %s » manquant : %m"
 
-#: access/transam/xlog.c:3896
+#: access/transam/xlog.c:3927
 #, c-format
 msgid "removing transaction log backup history file \"%s\""
 msgstr "suppression du fichier historique des journaux de transaction « %s »"
 
-#: access/transam/xlog.c:3977
+#: access/transam/xlog.c:4008
 #, c-format
 msgid "unexpected timeline ID %u in log segment %s, offset %u"
 msgstr "identifiant timeline %u inattendu dans le journal de transactions %s, décalage %u"
 
-#: access/transam/xlog.c:4099
+#: access/transam/xlog.c:4130
 #, c-format
 msgid "new timeline %u is not a child of database system timeline %u"
 msgstr ""
 "le nouveau timeline %u n'est pas un fils du timeline %u du système de bases\n"
 "de données"
 
-#: access/transam/xlog.c:4113
+#: access/transam/xlog.c:4144
 #, c-format
 msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X"
 msgstr ""
 "la nouvelle timeline %u a été créée à partir de la timeline de la base de données système %u\n"
 "avant le point de restauration courant %X/%X"
 
-#: access/transam/xlog.c:4132
+#: access/transam/xlog.c:4163
 #, c-format
 msgid "new target timeline is %u"
 msgstr "la nouvelle timeline cible est %u"
 
-#: access/transam/xlog.c:4212
+#: access/transam/xlog.c:4243
 #, c-format
 msgid "could not create control file \"%s\": %m"
 msgstr "n'a pas pu créer le fichier de contrôle « %s » : %m"
 
-#: access/transam/xlog.c:4223 access/transam/xlog.c:4459
+#: access/transam/xlog.c:4254 access/transam/xlog.c:4490
 #, c-format
 msgid "could not write to control file: %m"
 msgstr "n'a pas pu écrire le fichier de contrôle : %m"
 
-#: access/transam/xlog.c:4229 access/transam/xlog.c:4465
+#: access/transam/xlog.c:4260 access/transam/xlog.c:4496
 #, c-format
 msgid "could not fsync control file: %m"
 msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier de contrôle : %m"
 
-#: access/transam/xlog.c:4234 access/transam/xlog.c:4470
+#: access/transam/xlog.c:4265 access/transam/xlog.c:4501
 #, c-format
 msgid "could not close control file: %m"
 msgstr "n'a pas pu fermer le fichier de contrôle : %m"
 
-#: access/transam/xlog.c:4252 access/transam/xlog.c:4448
+#: access/transam/xlog.c:4283 access/transam/xlog.c:4479
 #, c-format
 msgid "could not open control file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier de contrôle « %s » : %m"
 
-#: access/transam/xlog.c:4258
+#: access/transam/xlog.c:4289
 #, c-format
 msgid "could not read from control file: %m"
 msgstr "n'a pas pu lire le fichier de contrôle : %m"
 
-#: access/transam/xlog.c:4271 access/transam/xlog.c:4280 access/transam/xlog.c:4304 access/transam/xlog.c:4311 access/transam/xlog.c:4318 access/transam/xlog.c:4323 access/transam/xlog.c:4330 access/transam/xlog.c:4337 access/transam/xlog.c:4344 access/transam/xlog.c:4351 access/transam/xlog.c:4358 access/transam/xlog.c:4365 access/transam/xlog.c:4372 access/transam/xlog.c:4381 access/transam/xlog.c:4388 access/transam/xlog.c:4397
-#: access/transam/xlog.c:4404 access/transam/xlog.c:4413 access/transam/xlog.c:4420 utils/init/miscinit.c:1351
+#: access/transam/xlog.c:4302 access/transam/xlog.c:4311
+#: access/transam/xlog.c:4335 access/transam/xlog.c:4342
+#: access/transam/xlog.c:4349 access/transam/xlog.c:4354
+#: access/transam/xlog.c:4361 access/transam/xlog.c:4368
+#: access/transam/xlog.c:4375 access/transam/xlog.c:4382
+#: access/transam/xlog.c:4389 access/transam/xlog.c:4396
+#: access/transam/xlog.c:4403 access/transam/xlog.c:4412
+#: access/transam/xlog.c:4419 access/transam/xlog.c:4428
+#: access/transam/xlog.c:4435 access/transam/xlog.c:4444
+#: access/transam/xlog.c:4451 utils/init/miscinit.c:1380
 #, c-format
 msgid "database files are incompatible with server"
 msgstr "les fichiers de la base de données sont incompatibles avec le serveur"
 
-#: access/transam/xlog.c:4272
+#: access/transam/xlog.c:4303
 #, c-format
 msgid "The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), but the server was compiled with PG_CONTROL_VERSION %d (0x%08x)."
 msgstr ""
@@ -1418,295 +1874,310 @@ msgstr ""
 "%d (0x%08x) alors que le serveur a été compilé avec un PG_CONTROL_VERSION à\n"
 "%d (0x%08x)."
 
-#: access/transam/xlog.c:4276
+#: access/transam/xlog.c:4307
 #, c-format
 msgid "This could be a problem of mismatched byte ordering.  It looks like you need to initdb."
 msgstr ""
 "Ceci peut être un problème d'incohérence dans l'ordre des octets.\n"
 "Il se peut que vous ayez besoin d'initdb."
 
-#: access/transam/xlog.c:4281
+#: access/transam/xlog.c:4312
 #, c-format
 msgid "The database cluster was initialized with PG_CONTROL_VERSION %d, but the server was compiled with PG_CONTROL_VERSION %d."
 msgstr ""
 "Le cluster de base de données a été initialisé avec un PG_CONTROL_VERSION à\n"
 "%d alors que le serveur a été compilé avec un PG_CONTROL_VERSION à %d."
 
-#: access/transam/xlog.c:4284 access/transam/xlog.c:4308 access/transam/xlog.c:4315 access/transam/xlog.c:4320
+#: access/transam/xlog.c:4315 access/transam/xlog.c:4339
+#: access/transam/xlog.c:4346 access/transam/xlog.c:4351
 #, c-format
 msgid "It looks like you need to initdb."
 msgstr "Il semble que vous avez besoin d'initdb."
 
-#: access/transam/xlog.c:4295
+#: access/transam/xlog.c:4326
 #, c-format
 msgid "incorrect checksum in control file"
 msgstr "somme de contrôle incorrecte dans le fichier de contrôle"
 
-#: access/transam/xlog.c:4305
+#: access/transam/xlog.c:4336
 #, c-format
 msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d."
 msgstr ""
 "Le cluster de base de données a été initialisé avec un CATALOG_VERSION_NO à\n"
 "%d alors que le serveur a été compilé avec un CATALOG_VERSION_NO à %d."
 
-#: access/transam/xlog.c:4312
+#: access/transam/xlog.c:4343
 #, c-format
 msgid "The database cluster was initialized with MAXALIGN %d, but the server was compiled with MAXALIGN %d."
 msgstr ""
 "Le cluster de bases de données a été initialisé avec un MAXALIGN à %d alors\n"
 "que le serveur a été compilé avec un MAXALIGN à %d."
 
-#: access/transam/xlog.c:4319
+#: access/transam/xlog.c:4350
 #, c-format
 msgid "The database cluster appears to use a different floating-point number format than the server executable."
 msgstr ""
 "Le cluster de bases de données semble utiliser un format différent pour les\n"
 "nombres à virgule flottante de celui de l'exécutable serveur."
 
-#: access/transam/xlog.c:4324
+#: access/transam/xlog.c:4355
 #, c-format
 msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d."
 msgstr ""
 "Le cluster de base de données a été initialisé avec un BLCKSZ à %d alors que\n"
 "le serveur a été compilé avec un BLCKSZ à %d."
 
-#: access/transam/xlog.c:4327 access/transam/xlog.c:4334 access/transam/xlog.c:4341 access/transam/xlog.c:4348 access/transam/xlog.c:4355 access/transam/xlog.c:4362 access/transam/xlog.c:4369 access/transam/xlog.c:4376 access/transam/xlog.c:4384 access/transam/xlog.c:4391 access/transam/xlog.c:4400 access/transam/xlog.c:4407 access/transam/xlog.c:4416 access/transam/xlog.c:4423
+#: access/transam/xlog.c:4358 access/transam/xlog.c:4365
+#: access/transam/xlog.c:4372 access/transam/xlog.c:4379
+#: access/transam/xlog.c:4386 access/transam/xlog.c:4393
+#: access/transam/xlog.c:4400 access/transam/xlog.c:4407
+#: access/transam/xlog.c:4415 access/transam/xlog.c:4422
+#: access/transam/xlog.c:4431 access/transam/xlog.c:4438
+#: access/transam/xlog.c:4447 access/transam/xlog.c:4454
 #, c-format
 msgid "It looks like you need to recompile or initdb."
 msgstr "Il semble que vous avez besoin de recompiler ou de relancer initdb."
 
-#: access/transam/xlog.c:4331
+#: access/transam/xlog.c:4362
 #, c-format
 msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d."
 msgstr ""
 "Le cluster de bases de données a été initialisé avec un RELSEG_SIZE à %d\n"
 "alors que le serveur a été compilé avec un RELSEG_SIZE à %d."
 
-#: access/transam/xlog.c:4338
+#: access/transam/xlog.c:4369
 #, c-format
 msgid "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was compiled with XLOG_BLCKSZ %d."
 msgstr ""
 "Le cluster de base de données a été initialisé avec un XLOG_BLCKSZ à %d\n"
 "alors que le serveur a été compilé avec un XLOG_BLCKSZ à %d."
 
-#: access/transam/xlog.c:4345
+#: access/transam/xlog.c:4376
 #, c-format
 msgid "The database cluster was initialized with XLOG_SEG_SIZE %d, but the server was compiled with XLOG_SEG_SIZE %d."
 msgstr ""
 "Le cluster de bases de données a été initialisé avec un XLOG_SEG_SIZE à %d\n"
 "alors que le serveur a été compilé avec un XLOG_SEG_SIZE à %d."
 
-#: access/transam/xlog.c:4352
+#: access/transam/xlog.c:4383
 #, c-format
 msgid "The database cluster was initialized with NAMEDATALEN %d, but the server was compiled with NAMEDATALEN %d."
 msgstr ""
 "Le cluster de bases de données a été initialisé avec un NAMEDATALEN à %d\n"
 "alors que le serveur a été compilé avec un NAMEDATALEN à %d."
 
-#: access/transam/xlog.c:4359
+#: access/transam/xlog.c:4390
 #, c-format
 msgid "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server was compiled with INDEX_MAX_KEYS %d."
 msgstr ""
 "Le groupe de bases de données a été initialisé avec un INDEX_MAX_KEYS à %d\n"
 "alors que le serveur a été compilé avec un INDEX_MAX_KEYS à %d."
 
-#: access/transam/xlog.c:4366
+#: access/transam/xlog.c:4397
 #, c-format
 msgid "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the server was compiled with TOAST_MAX_CHUNK_SIZE %d."
 msgstr ""
 "Le cluster de bases de données a été initialisé avec un TOAST_MAX_CHUNK_SIZE\n"
 "à %d alors que le serveur a été compilé avec un TOAST_MAX_CHUNK_SIZE à %d."
 
-#: access/transam/xlog.c:4373
+#: access/transam/xlog.c:4404
 #, c-format
 msgid "The database cluster was initialized with LOBLKSIZE %d, but the server was compiled with LOBLKSIZE %d."
 msgstr ""
 "Le cluster de base de données a été initialisé avec un LOBLKSIZE à %d alors que\n"
 "le serveur a été compilé avec un LOBLKSIZE à %d."
 
-#: access/transam/xlog.c:4382
+#: access/transam/xlog.c:4413
 #, c-format
 msgid "The database cluster was initialized without HAVE_INT64_TIMESTAMP but the server was compiled with HAVE_INT64_TIMESTAMP."
 msgstr "Le cluster de bases de données a été initialisé sans HAVE_INT64_TIMESTAMPalors que le serveur a été compilé avec."
 
-#: access/transam/xlog.c:4389
+#: access/transam/xlog.c:4420
 #, c-format
 msgid "The database cluster was initialized with HAVE_INT64_TIMESTAMP but the server was compiled without HAVE_INT64_TIMESTAMP."
 msgstr ""
 "Le cluster de bases de données a été initialisé avec HAVE_INT64_TIMESTAMP\n"
 "alors que le serveur a été compilé sans."
 
-#: access/transam/xlog.c:4398
+#: access/transam/xlog.c:4429
 #, c-format
 msgid "The database cluster was initialized without USE_FLOAT4_BYVAL but the server was compiled with USE_FLOAT4_BYVAL."
 msgstr ""
 "Le cluster de base de données a été initialisé sans USE_FLOAT4_BYVAL\n"
 "alors que le serveur a été compilé avec USE_FLOAT4_BYVAL."
 
-#: access/transam/xlog.c:4405
+#: access/transam/xlog.c:4436
 #, c-format
 msgid "The database cluster was initialized with USE_FLOAT4_BYVAL but the server was compiled without USE_FLOAT4_BYVAL."
 msgstr ""
 "Le cluster de base de données a été initialisé avec USE_FLOAT4_BYVAL\n"
 "alors que le serveur a été compilé sans USE_FLOAT4_BYVAL."
 
-#: access/transam/xlog.c:4414
+#: access/transam/xlog.c:4445
 #, c-format
 msgid "The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL."
 msgstr ""
 "Le cluster de base de données a été initialisé sans USE_FLOAT8_BYVAL\n"
 "alors que le serveur a été compilé avec USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:4421
+#: access/transam/xlog.c:4452
 #, c-format
 msgid "The database cluster was initialized with USE_FLOAT8_BYVAL but the server was compiled without USE_FLOAT8_BYVAL."
 msgstr ""
 "Le cluster de base de données a été initialisé avec USE_FLOAT8_BYVAL\n"
 "alors que le serveur a été compilé sans USE_FLOAT8_BYVAL."
 
-#: access/transam/xlog.c:4847
+#: access/transam/xlog.c:4875
 #, c-format
 msgid "could not write bootstrap transaction log file: %m"
 msgstr "n'a pas pu écrire le « bootstrap » du journal des transactions : %m"
 
-#: access/transam/xlog.c:4853
+#: access/transam/xlog.c:4881
 #, c-format
 msgid "could not fsync bootstrap transaction log file: %m"
 msgstr ""
 "n'a pas pu synchroniser sur disque (fsync) le « bootstrap » du journal des\n"
 "transactions : %m"
 
-#: access/transam/xlog.c:4858
+#: access/transam/xlog.c:4886
 #, c-format
 msgid "could not close bootstrap transaction log file: %m"
 msgstr "n'a pas pu fermer le « bootstrap » du journal des transactions : %m"
 
-#: access/transam/xlog.c:4933
+#: access/transam/xlog.c:4961
 #, c-format
 msgid "could not open recovery command file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier de restauration « %s » : %m"
 
-#: access/transam/xlog.c:4979 access/transam/xlog.c:5062
+#: access/transam/xlog.c:5007 access/transam/xlog.c:5090
 #, c-format
 msgid "invalid value for recovery parameter \"%s\": \"%s\""
 msgstr "valeur invalide pour le paramètre de restauration « %s » : « %s »"
 
-#: access/transam/xlog.c:4982
+#: access/transam/xlog.c:5010
 #, c-format
 msgid "Valid values are \"pause\", \"promote\", and \"shutdown\"."
 msgstr "Les valeurs valides sont « pause », « promote » et « shutdown »."
 
-#: access/transam/xlog.c:5001
+#: access/transam/xlog.c:5029
 #, c-format
 msgid "recovery_target_timeline is not a valid number: \"%s\""
 msgstr "recovery_target_timeline n'est pas un nombre valide : « %s »"
 
-#: access/transam/xlog.c:5017
+#: access/transam/xlog.c:5045
 #, c-format
 msgid "recovery_target_xid is not a valid number: \"%s\""
 msgstr "recovery_target_xid n'est pas un nombre valide : « %s »"
 
-#: access/transam/xlog.c:5048
+#: access/transam/xlog.c:5076
 #, c-format
 msgid "recovery_target_name is too long (maximum %d characters)"
 msgstr "recovery_target_name est trop long (%d caractères maximum)"
 
-#: access/transam/xlog.c:5065
+#: access/transam/xlog.c:5093
 #, c-format
 msgid "The only allowed value is \"immediate\"."
 msgstr "La seule valeur autorisée est « immediate »."
 
-#: access/transam/xlog.c:5078 access/transam/xlog.c:5089 commands/extension.c:531 commands/extension.c:539 utils/misc/guc.c:5464
+#: access/transam/xlog.c:5106 access/transam/xlog.c:5117
+#: commands/extension.c:533 commands/extension.c:541 utils/misc/guc.c:5637
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "le paramètre « %s » requiert une valeur booléenne"
 
-#: access/transam/xlog.c:5124
+#: access/transam/xlog.c:5152
 #, c-format
 msgid "parameter \"%s\" requires a temporal value"
 msgstr "le paramètre « %s » requiert une valeur temporelle"
 
-#: access/transam/xlog.c:5126 catalog/dependency.c:984 catalog/dependency.c:985 catalog/dependency.c:991 catalog/dependency.c:992 catalog/dependency.c:1003 catalog/dependency.c:1004 catalog/objectaddress.c:1053 commands/tablecmds.c:791 commands/tablecmds.c:9415 commands/user.c:1027 commands/view.c:482 libpq/auth.c:285 port/win32/security.c:51 storage/lmgr/deadlock.c:955 storage/lmgr/proc.c:1177 utils/misc/guc.c:5486 utils/misc/guc.c:5579
-#: utils/misc/guc.c:9469 utils/misc/guc.c:9503 utils/misc/guc.c:9537 utils/misc/guc.c:9571 utils/misc/guc.c:9606
+#: access/transam/xlog.c:5154 catalog/dependency.c:991
+#: catalog/dependency.c:992 catalog/dependency.c:998 catalog/dependency.c:999
+#: catalog/dependency.c:1010 catalog/dependency.c:1011
+#: catalog/objectaddress.c:1100 commands/tablecmds.c:795
+#: commands/tablecmds.c:9445 commands/user.c:1045 commands/view.c:482
+#: libpq/auth.c:304 replication/syncrep.c:926 storage/lmgr/deadlock.c:1139
+#: storage/lmgr/proc.c:1276 utils/adt/acl.c:5281 utils/misc/guc.c:5659
+#: utils/misc/guc.c:5752 utils/misc/guc.c:9686 utils/misc/guc.c:9720
+#: utils/misc/guc.c:9754 utils/misc/guc.c:9788 utils/misc/guc.c:9823
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: access/transam/xlog.c:5132
+#: access/transam/xlog.c:5160
 #, c-format
 msgid "unrecognized recovery parameter \"%s\""
 msgstr "paramètre de restauration « %s » non reconnu"
 
-#: access/transam/xlog.c:5143
+#: access/transam/xlog.c:5171
 #, c-format
 msgid "recovery command file \"%s\" specified neither primary_conninfo nor restore_command"
 msgstr "le fichier de restauration « %s » n'a spécifié ni primary_conninfo ni restore_command"
 
-#: access/transam/xlog.c:5145
+#: access/transam/xlog.c:5173
 #, c-format
 msgid "The database server will regularly poll the pg_xlog subdirectory to check for files placed there."
 msgstr ""
 "Le serveur de la base de données va régulièrement interroger le sous-répertoire\n"
 "pg_xlog pour vérifier les fichiers placés ici."
 
-#: access/transam/xlog.c:5151
+#: access/transam/xlog.c:5179
 #, c-format
 msgid "recovery command file \"%s\" must specify restore_command when standby mode is not enabled"
 msgstr ""
 "le fichier de restauration « %s » doit spécifier restore_command quand le mode\n"
 "de restauration n'est pas activé"
 
-#: access/transam/xlog.c:5181
+#: access/transam/xlog.c:5209
 #, c-format
 msgid "recovery target timeline %u does not exist"
 msgstr "le timeline cible, %u, de la restauration n'existe pas"
 
-#: access/transam/xlog.c:5306
+#: access/transam/xlog.c:5330
 #, c-format
 msgid "archive recovery complete"
 msgstr "restauration terminée de l'archive"
 
-#: access/transam/xlog.c:5365 access/transam/xlog.c:5593
+#: access/transam/xlog.c:5389 access/transam/xlog.c:5617
 #, c-format
 msgid "recovery stopping after reaching consistency"
 msgstr "arrêt de la restauration après avoir atteint le point de cohérence"
 
-#: access/transam/xlog.c:5453
+#: access/transam/xlog.c:5477
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr "arrêt de la restauration avant validation de la transaction %u, %s"
 
-#: access/transam/xlog.c:5460
+#: access/transam/xlog.c:5484
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr "arrêt de la restauration avant annulation de la transaction %u, %s"
 
-#: access/transam/xlog.c:5505
+#: access/transam/xlog.c:5529
 #, c-format
 msgid "recovery stopping at restore point \"%s\", time %s"
 msgstr "restauration en arrêt au point de restauration « %s », heure %s"
 
-#: access/transam/xlog.c:5573
+#: access/transam/xlog.c:5597
 #, c-format
 msgid "recovery stopping after commit of transaction %u, time %s"
 msgstr "arrêt de la restauration après validation de la transaction %u, %s"
 
-#: access/transam/xlog.c:5581
+#: access/transam/xlog.c:5605
 #, c-format
 msgid "recovery stopping after abort of transaction %u, time %s"
 msgstr "arrêt de la restauration après annulation de la transaction %u, %s"
 
-#: access/transam/xlog.c:5620
+#: access/transam/xlog.c:5644
 #, c-format
 msgid "recovery has paused"
 msgstr "restauration en pause"
 
-#: access/transam/xlog.c:5621
+#: access/transam/xlog.c:5645
 #, c-format
 msgid "Execute pg_xlog_replay_resume() to continue."
 msgstr "Exécuter pg_xlog_replay_resume() pour continuer."
 
-#: access/transam/xlog.c:5824
+#: access/transam/xlog.c:5852
 #, c-format
 msgid "hot standby is not possible because %s = %d is a lower setting than on the master server (its value was %d)"
 msgstr ""
@@ -1714,277 +2185,269 @@ msgstr ""
 "paramètrage plus bas que celui du serveur maître des journaux de transactions\n"
 "(la valeur était %d)"
 
-#: access/transam/xlog.c:5850
+#: access/transam/xlog.c:5878
 #, c-format
 msgid "WAL was generated with wal_level=minimal, data may be missing"
 msgstr ""
 "le journal de transactions a été généré avec le paramètre wal_level configuré\n"
 "à « minimal », des données pourraient manquer"
 
-#: access/transam/xlog.c:5851
+#: access/transam/xlog.c:5879
 #, c-format
 msgid "This happens if you temporarily set wal_level=minimal without taking a new base backup."
 msgstr ""
 "Ceci peut arriver si vous configurez temporairement wal_level à minimal sans avoir\n"
 "pris une nouvelle sauvegarde de base."
 
-#: access/transam/xlog.c:5862
-#, c-format
-msgid "hot standby is not possible because wal_level was not set to \"hot_standby\" or higher on the master server"
+#: access/transam/xlog.c:5890
+#, fuzzy, c-format
+#| msgid "hot standby is not possible because wal_level was not set to \"hot_standby\" or higher on the master server"
+msgid "hot standby is not possible because wal_level was not set to \"replica\" or higher on the master server"
 msgstr ""
 "les connexions en lecture seule ne sont pas possibles parce que le paramètre\n"
 "wal_level n'a pas été configuré à « hot_standby » ou à une valeur plus importante\n"
 "sur le serveur maître"
 
-#: access/transam/xlog.c:5863
-#, c-format
-msgid "Either set wal_level to \"hot_standby\" on the master, or turn off hot_standby here."
+#: access/transam/xlog.c:5891
+#, fuzzy, c-format
+#| msgid "Either set wal_level to \"hot_standby\" on the master, or turn off hot_standby here."
+msgid "Either set wal_level to \"replica\" on the master, or turn off hot_standby here."
 msgstr ""
 "Soit vous initialisez wal_level à « hot_standby » sur le maître, soit vous\n"
 "désactivez hot_standby ici."
 
-#: access/transam/xlog.c:5920
+#: access/transam/xlog.c:5948
 #, c-format
 msgid "control file contains invalid data"
 msgstr "le fichier de contrôle contient des données invalides"
 
-#: access/transam/xlog.c:5926
+#: access/transam/xlog.c:5954
 #, c-format
 msgid "database system was shut down at %s"
 msgstr "le système de bases de données a été arrêté à %s"
 
-#: access/transam/xlog.c:5931
+#: access/transam/xlog.c:5959
 #, c-format
 msgid "database system was shut down in recovery at %s"
 msgstr "le système de bases de données a été arrêté pendant la restauration à %s"
 
-#: access/transam/xlog.c:5935
+#: access/transam/xlog.c:5963
 #, c-format
 msgid "database system shutdown was interrupted; last known up at %s"
 msgstr "le système de bases de données a été interrompu ; dernier lancement connu à %s"
 
-#: access/transam/xlog.c:5939
+#: access/transam/xlog.c:5967
 #, c-format
 msgid "database system was interrupted while in recovery at %s"
 msgstr "le système de bases de données a été interrompu lors d'une restauration à %s"
 
-#: access/transam/xlog.c:5941
+#: access/transam/xlog.c:5969
 #, c-format
 msgid "This probably means that some data is corrupted and you will have to use the last backup for recovery."
 msgstr ""
 "Ceci signifie probablement que des données ont été corrompues et que vous\n"
 "devrez utiliser la dernière sauvegarde pour la restauration."
 
-#: access/transam/xlog.c:5945
+#: access/transam/xlog.c:5973
 #, c-format
 msgid "database system was interrupted while in recovery at log time %s"
 msgstr ""
 "le système de bases de données a été interrompu lors d'une récupération à %s\n"
 "(moment de la journalisation)"
 
-#: access/transam/xlog.c:5947
+#: access/transam/xlog.c:5975
 #, c-format
 msgid "If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target."
 msgstr ""
 "Si c'est arrivé plus d'une fois, des données ont pu être corrompues et vous\n"
 "pourriez avoir besoin de choisir une cible de récupération antérieure."
 
-#: access/transam/xlog.c:5951
+#: access/transam/xlog.c:5979
 #, c-format
 msgid "database system was interrupted; last known up at %s"
 msgstr "le système de bases de données a été interrompu ; dernier lancement connu à %s"
 
-#: access/transam/xlog.c:6007
+#: access/transam/xlog.c:6035
 #, c-format
 msgid "entering standby mode"
 msgstr "entre en mode standby"
 
-#: access/transam/xlog.c:6010
+#: access/transam/xlog.c:6038
 #, c-format
 msgid "starting point-in-time recovery to XID %u"
 msgstr "début de la restauration de l'archive au XID %u"
 
-#: access/transam/xlog.c:6014
+#: access/transam/xlog.c:6042
 #, c-format
 msgid "starting point-in-time recovery to %s"
 msgstr "début de la restauration de l'archive à %s"
 
-#: access/transam/xlog.c:6018
+#: access/transam/xlog.c:6046
 #, c-format
 msgid "starting point-in-time recovery to \"%s\""
 msgstr "début de la restauration PITR à « %s »"
 
-#: access/transam/xlog.c:6022
+#: access/transam/xlog.c:6050
 #, c-format
 msgid "starting point-in-time recovery to earliest consistent point"
 msgstr "début de la restauration de l'archive jusqu'au point de cohérence le plus proche"
 
-#: access/transam/xlog.c:6025
+#: access/transam/xlog.c:6053
 #, c-format
 msgid "starting archive recovery"
 msgstr "début de la restauration de l'archive"
 
-#: access/transam/xlog.c:6042
-#, c-format
-msgid "Failed while allocating an XLog reading processor."
-msgstr "Échec lors de l'allocation d'un processeur de lecture XLog"
-
-#: access/transam/xlog.c:6069 access/transam/xlog.c:6197
+#: access/transam/xlog.c:6097 access/transam/xlog.c:6225
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr "l'enregistrement du point de vérification est à %X/%X"
 
-#: access/transam/xlog.c:6083
+#: access/transam/xlog.c:6111
 #, c-format
 msgid "could not find redo location referenced by checkpoint record"
 msgstr "n'a pas pu localiser l'enregistrement redo référencé par le point de vérification"
 
-#: access/transam/xlog.c:6084 access/transam/xlog.c:6091
+#: access/transam/xlog.c:6112 access/transam/xlog.c:6119
 #, c-format
 msgid "If you are not restoring from a backup, try removing the file \"%s/backup_label\"."
 msgstr ""
 "Si vous n'avez pas pu restaurer une sauvegarde, essayez de supprimer le\n"
 "fichier « %s/backup_label »."
 
-#: access/transam/xlog.c:6090
+#: access/transam/xlog.c:6118
 #, c-format
 msgid "could not locate required checkpoint record"
 msgstr "n'a pas pu localiser l'enregistrement d'un point de vérification requis"
 
-#: access/transam/xlog.c:6116 commands/tablespace.c:641
+#: access/transam/xlog.c:6144 commands/tablespace.c:641
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "n'a pas pu créer le lien symbolique « %s » : %m"
 
-#: access/transam/xlog.c:6148
+#: access/transam/xlog.c:6176 access/transam/xlog.c:6182
 #, c-format
 msgid "ignoring file \"%s\" because no file \"%s\" exists"
 msgstr "ignore le fichier « %s » car le fichier « %s » n'existe pas"
 
-#: access/transam/xlog.c:6150 access/transam/xlog.c:10888
+#: access/transam/xlog.c:6178 access/transam/xlog.c:10918
 #, c-format
 msgid "File \"%s\" was renamed to \"%s\"."
 msgstr "Le fichier « %s » a été renommé en « %s »."
 
-#: access/transam/xlog.c:6154
-#, c-format
-msgid "ignoring \"%s\" file because no \"%s\" file exists"
-msgstr "ignore le fichier « %s » parce que le fichier « %s » n'existe pas"
-
-#: access/transam/xlog.c:6156
+#: access/transam/xlog.c:6184
 #, c-format
 msgid "Could not rename file \"%s\" to \"%s\": %m."
 msgstr "N'a pas pu renommer le fichier « %s » en « %s » : %m"
 
-#: access/transam/xlog.c:6207 access/transam/xlog.c:6222
+#: access/transam/xlog.c:6235 access/transam/xlog.c:6250
 #, c-format
 msgid "could not locate a valid checkpoint record"
 msgstr "n'a pas pu localiser un enregistrement d'un point de vérification valide"
 
-#: access/transam/xlog.c:6216
+#: access/transam/xlog.c:6244
 #, c-format
 msgid "using previous checkpoint record at %X/%X"
 msgstr "utilisation du précédent enregistrement d'un point de vérification à %X/%X"
 
-#: access/transam/xlog.c:6260
+#: access/transam/xlog.c:6288
 #, c-format
 msgid "requested timeline %u is not a child of this server's history"
 msgstr "la timeline requise %u n'est pas un fils de l'historique de ce serveur"
 
-#: access/transam/xlog.c:6262
+#: access/transam/xlog.c:6290
 #, c-format
 msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X."
 msgstr "Le dernier checkpoint est à %X/%X sur la timeline %u, mais dans l'historique de la timeline demandée, le serveur est sorti de cette timeline à %X/%X."
 
-#: access/transam/xlog.c:6278
+#: access/transam/xlog.c:6306
 #, c-format
 msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u"
 msgstr "la timeline requise, %u, ne contient pas le point de restauration minimum (%X/%X) sur la timeline %u"
 
-#: access/transam/xlog.c:6309
+#: access/transam/xlog.c:6337
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "prochain ID de transaction invalide"
 
-#: access/transam/xlog.c:6392
+#: access/transam/xlog.c:6420
 #, c-format
 msgid "invalid redo in checkpoint record"
 msgstr "ré-exécution invalide dans l'enregistrement du point de vérification"
 
-#: access/transam/xlog.c:6403
+#: access/transam/xlog.c:6431
 #, c-format
 msgid "invalid redo record in shutdown checkpoint"
 msgstr "enregistrement de ré-exécution invalide dans le point de vérification d'arrêt"
 
-#: access/transam/xlog.c:6431
+#: access/transam/xlog.c:6459
 #, c-format
 msgid "database system was not properly shut down; automatic recovery in progress"
 msgstr ""
 "le système de bases de données n'a pas été arrêté proprement ; restauration\n"
 "automatique en cours"
 
-#: access/transam/xlog.c:6435
+#: access/transam/xlog.c:6463
 #, c-format
 msgid "crash recovery starts in timeline %u and has target timeline %u"
 msgstr "la restauration après crash commence avec la timeline %u et a la timeline %u en cible"
 
-#: access/transam/xlog.c:6479
+#: access/transam/xlog.c:6507
 #, c-format
 msgid "backup_label contains data inconsistent with control file"
 msgstr "backup_label contient des données incohérentes avec le fichier de contrôle"
 
-#: access/transam/xlog.c:6480
+#: access/transam/xlog.c:6508
 #, c-format
 msgid "This means that the backup is corrupted and you will have to use another backup for recovery."
 msgstr ""
 "Ceci signifie que la sauvegarde a été corrompue et que vous devrez utiliser\n"
 "la dernière sauvegarde pour la restauration."
 
-#: access/transam/xlog.c:6562
+#: access/transam/xlog.c:6582
 #, c-format
 msgid "initializing for hot standby"
 msgstr "initialisation pour « Hot Standby »"
 
-#: access/transam/xlog.c:6694
+#: access/transam/xlog.c:6714
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "la ré-exécution commence à %X/%X"
 
-#: access/transam/xlog.c:6908
+#: access/transam/xlog.c:6939
 #, c-format
 msgid "requested recovery stop point is before consistent recovery point"
 msgstr ""
 "le point d'arrêt de la restauration demandée se trouve avant le point\n"
 "cohérent de restauration"
 
-#: access/transam/xlog.c:6946
+#: access/transam/xlog.c:6977
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "ré-exécution faite à %X/%X"
 
-#: access/transam/xlog.c:6951 access/transam/xlog.c:8885
+#: access/transam/xlog.c:6982 access/transam/xlog.c:8906
 #, c-format
 msgid "last completed transaction was at log time %s"
 msgstr "la dernière transaction a eu lieu à %s (moment de la journalisation)"
 
-#: access/transam/xlog.c:6960
+#: access/transam/xlog.c:6991
 #, c-format
 msgid "redo is not required"
 msgstr "la ré-exécution n'est pas nécessaire"
 
-#: access/transam/xlog.c:7035 access/transam/xlog.c:7039
+#: access/transam/xlog.c:7066 access/transam/xlog.c:7070
 #, c-format
 msgid "WAL ends before end of online backup"
 msgstr "le journal de transactions se termine avant la fin de la sauvegarde de base"
 
-#: access/transam/xlog.c:7036
+#: access/transam/xlog.c:7067
 #, c-format
 msgid "All WAL generated while online backup was taken must be available at recovery."
 msgstr ""
 "Tous les journaux de transactions générés pendant la sauvegarde en ligne\n"
 "doivent être disponibles pour la restauration."
 
-#: access/transam/xlog.c:7040
+#: access/transam/xlog.c:7071
 #, c-format
 msgid "Online backup started with pg_start_backup() must be ended with pg_stop_backup(), and all WAL up to that point must be available at recovery."
 msgstr ""
@@ -1992,229 +2455,226 @@ msgstr ""
 "pg_stop_backup() et tous les journaux de transactions générés entre les deux\n"
 "doivent être disponibles pour la restauration."
 
-#: access/transam/xlog.c:7043
+#: access/transam/xlog.c:7074
 #, c-format
 msgid "WAL ends before consistent recovery point"
 msgstr "Le journal de transaction se termine avant un point de restauration cohérent"
 
-#: access/transam/xlog.c:7070
+#: access/transam/xlog.c:7101
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "identifiant d'un timeline nouvellement sélectionné : %u"
 
-#: access/transam/xlog.c:7485
+#: access/transam/xlog.c:7512
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "état de restauration cohérent atteint à %X/%X"
 
-#: access/transam/xlog.c:7676
+#: access/transam/xlog.c:7703
 #, c-format
 msgid "invalid primary checkpoint link in control file"
 msgstr "lien du point de vérification primaire invalide dans le fichier de contrôle"
 
-#: access/transam/xlog.c:7680
+#: access/transam/xlog.c:7707
 #, c-format
 msgid "invalid secondary checkpoint link in control file"
 msgstr "lien du point de vérification secondaire invalide dans le fichier de contrôle"
 
-#: access/transam/xlog.c:7684
+#: access/transam/xlog.c:7711
 #, c-format
 msgid "invalid checkpoint link in backup_label file"
 msgstr "lien du point de vérification invalide dans le fichier backup_label"
 
-#: access/transam/xlog.c:7701
+#: access/transam/xlog.c:7728
 #, c-format
 msgid "invalid primary checkpoint record"
 msgstr "enregistrement du point de vérification primaire invalide"
 
-#: access/transam/xlog.c:7705
+#: access/transam/xlog.c:7732
 #, c-format
 msgid "invalid secondary checkpoint record"
 msgstr "enregistrement du point de vérification secondaire invalide"
 
-#: access/transam/xlog.c:7709
+#: access/transam/xlog.c:7736
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "enregistrement du point de vérification invalide"
 
-#: access/transam/xlog.c:7720
+#: access/transam/xlog.c:7747
 #, c-format
 msgid "invalid resource manager ID in primary checkpoint record"
 msgstr "identifiant du gestionnaire de ressource invalide dans l'enregistrement primaire du point de vérification"
 
-#: access/transam/xlog.c:7724
+#: access/transam/xlog.c:7751
 #, c-format
 msgid "invalid resource manager ID in secondary checkpoint record"
 msgstr "identifiant du gestionnaire de ressource invalide dans l'enregistrement secondaire du point de vérification"
 
-#: access/transam/xlog.c:7728
+#: access/transam/xlog.c:7755
 #, c-format
 msgid "invalid resource manager ID in checkpoint record"
 msgstr "identifiant du gestionnaire de ressource invalide dans l'enregistrement du point de vérification"
 
-#: access/transam/xlog.c:7740
+#: access/transam/xlog.c:7767
 #, c-format
 msgid "invalid xl_info in primary checkpoint record"
 msgstr "xl_info invalide dans l'enregistrement du point de vérification primaire"
 
-#: access/transam/xlog.c:7744
+#: access/transam/xlog.c:7771
 #, c-format
 msgid "invalid xl_info in secondary checkpoint record"
 msgstr "xl_info invalide  dans l'enregistrement du point de vérification secondaire"
 
-#: access/transam/xlog.c:7748
+#: access/transam/xlog.c:7775
 #, c-format
 msgid "invalid xl_info in checkpoint record"
 msgstr "xl_info invalide dans l'enregistrement du point de vérification"
 
-#: access/transam/xlog.c:7759
+#: access/transam/xlog.c:7786
 #, c-format
 msgid "invalid length of primary checkpoint record"
 msgstr "longueur invalide de l'enregistrement primaire du point de vérification"
 
-#: access/transam/xlog.c:7763
+#: access/transam/xlog.c:7790
 #, c-format
 msgid "invalid length of secondary checkpoint record"
 msgstr "longueur invalide de l'enregistrement secondaire du point de vérification"
 
-#: access/transam/xlog.c:7767
+#: access/transam/xlog.c:7794
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "longueur invalide de l'enregistrement du point de vérification"
 
-#: access/transam/xlog.c:7937
+#: access/transam/xlog.c:7962
 #, c-format
 msgid "shutting down"
 msgstr "arrêt en cours"
 
-#: access/transam/xlog.c:7961
-#, c-format
-msgid "database system is shut down"
-msgstr "le système de base de données est arrêté"
-
-#: access/transam/xlog.c:8454
+#: access/transam/xlog.c:8475
 #, c-format
 msgid "concurrent transaction log activity while database system is shutting down"
 msgstr ""
 "activité en cours du journal de transactions alors que le système de bases\n"
 "de données est en cours d'arrêt"
 
-#: access/transam/xlog.c:8705
+#: access/transam/xlog.c:8726
 #, c-format
 msgid "skipping restartpoint, recovery has already ended"
 msgstr "restartpoint ignoré, la récupération est déjà terminée"
 
-#: access/transam/xlog.c:8728
+#: access/transam/xlog.c:8749
 #, c-format
 msgid "skipping restartpoint, already performed at %X/%X"
 msgstr "ignore le point de redémarrage, déjà réalisé à %X/%X"
 
-#: access/transam/xlog.c:8883
+#: access/transam/xlog.c:8904
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "la ré-exécution en restauration commence à %X/%X"
 
-#: access/transam/xlog.c:9016
+#: access/transam/xlog.c:9037
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "point de restauration « %s » créé à %X/%X"
 
-#: access/transam/xlog.c:9146
+#: access/transam/xlog.c:9167
 #, c-format
 msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record"
 msgstr "identifiant de timeline précédent %u inattendu (identifiant de la timeline courante %u) dans l'enregistrement du point de vérification"
 
-#: access/transam/xlog.c:9155
+#: access/transam/xlog.c:9176
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr ""
 "identifiant timeline %u inattendu (après %u) dans l'enregistrement du point\n"
 "de vérification"
 
-#: access/transam/xlog.c:9171
+#: access/transam/xlog.c:9192
 #, c-format
 msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u"
 msgstr "identifiant timeline %u inattendu dans l'enregistrement du checkpoint, avant d'atteindre le point de restauration minimum %X/%X sur la timeline %u"
 
-#: access/transam/xlog.c:9242
+#: access/transam/xlog.c:9263
 #, c-format
 msgid "online backup was canceled, recovery cannot continue"
 msgstr "la sauvegarde en ligne a été annulée, la restauration ne peut pas continuer"
 
-#: access/transam/xlog.c:9298 access/transam/xlog.c:9345 access/transam/xlog.c:9368
+#: access/transam/xlog.c:9319 access/transam/xlog.c:9366
+#: access/transam/xlog.c:9389
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
 msgstr ""
 "identifiant timeline %u inattendu (devrait être %u) dans l'enregistrement du\n"
 "point de vérification"
 
-#: access/transam/xlog.c:9645
+#: access/transam/xlog.c:9664
 #, c-format
 msgid "could not fsync log segment %s: %m"
 msgstr "n'a pas pu synchroniser sur disque (fsync) le segment du journal des transactions %s : %m"
 
-#: access/transam/xlog.c:9669
+#: access/transam/xlog.c:9688
 #, c-format
 msgid "could not fsync log file %s: %m"
 msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier de transactions « %s » : %m"
 
-#: access/transam/xlog.c:9677
+#: access/transam/xlog.c:9696
 #, c-format
 msgid "could not fsync write-through log file %s: %m"
 msgstr "n'a pas pu synchroniser sur disque (fsync) le journal des transactions %s : %m"
 
-#: access/transam/xlog.c:9686
+#: access/transam/xlog.c:9705
 #, c-format
 msgid "could not fdatasync log file %s: %m"
 msgstr "n'a pas pu synchroniser sur disque (fdatasync) le journal de transactions %s : %m"
 
-#: access/transam/xlog.c:9778 access/transam/xlog.c:10249 access/transam/xlogfuncs.c:121 access/transam/xlogfuncs.c:150 access/transam/xlogfuncs.c:189 access/transam/xlogfuncs.c:210 access/transam/xlogfuncs.c:280 access/transam/xlogfuncs.c:336
-#, c-format
-msgid "recovery is in progress"
-msgstr "restauration en cours"
-
-#: access/transam/xlog.c:9779 access/transam/xlog.c:10250 access/transam/xlogfuncs.c:122 access/transam/xlogfuncs.c:151 access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:211
+#: access/transam/xlog.c:9796 access/transam/xlog.c:10267
+#: access/transam/xlogfuncs.c:295 access/transam/xlogfuncs.c:322
+#: access/transam/xlogfuncs.c:361 access/transam/xlogfuncs.c:382
+#: access/transam/xlogfuncs.c:403
 #, c-format
 msgid "WAL control functions cannot be executed during recovery."
 msgstr ""
 "les fonctions de contrôle des journaux de transactions ne peuvent pas\n"
 "être exécutées lors de la restauration."
 
-#: access/transam/xlog.c:9788 access/transam/xlog.c:10259
+#: access/transam/xlog.c:9805 access/transam/xlog.c:10276
 #, c-format
 msgid "WAL level not sufficient for making an online backup"
 msgstr ""
 "Le niveau de journalisation (configuré par wal_level) n'est pas suffisant pour\n"
 "faire une sauvegarde en ligne."
 
-#: access/transam/xlog.c:9789 access/transam/xlog.c:10260 access/transam/xlogfuncs.c:157
-#, c-format
-msgid "wal_level must be set to \"archive\", \"hot_standby\", or \"logical\" at server start."
+#: access/transam/xlog.c:9806 access/transam/xlog.c:10277
+#: access/transam/xlogfuncs.c:328
+#, fuzzy, c-format
+#| msgid "wal_level must be set to \"archive\", \"hot_standby\", or \"logical\" at server start."
+msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
 msgstr ""
 "wal_level doit être configuré à « archive », « hot_standby » ou « logical »\n"
 "au démarrage du serveur."
 
-#: access/transam/xlog.c:9794
+#: access/transam/xlog.c:9811
 #, c-format
 msgid "backup label too long (max %d bytes)"
 msgstr "label de sauvegarde trop long (%d octets maximum)"
 
-#: access/transam/xlog.c:9826 access/transam/xlog.c:10096 access/transam/xlog.c:10132
+#: access/transam/xlog.c:9843 access/transam/xlog.c:10115
+#: access/transam/xlog.c:10153
 #, c-format
 msgid "a backup is already in progress"
 msgstr "une sauvegarde est déjà en cours"
 
-#: access/transam/xlog.c:9827
+#: access/transam/xlog.c:9844
 #, c-format
 msgid "Run pg_stop_backup() and try again."
 msgstr "Exécutez pg_stop_backup() et tentez de nouveau."
 
-#: access/transam/xlog.c:9922
+#: access/transam/xlog.c:9939
 #, c-format
 msgid "WAL generated with full_page_writes=off was replayed since last restartpoint"
 msgstr "Les journaux générés avec full_page_writes=off ont été rejoués depuis le dernier restartpoint."
 
-#: access/transam/xlog.c:9924 access/transam/xlog.c:10414
+#: access/transam/xlog.c:9941 access/transam/xlog.c:10440
 #, c-format
 msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the master, and then try an online backup again."
 msgstr ""
@@ -2222,81 +2682,101 @@ msgstr ""
 "corrompue et ne doit pas être utilisée. Activez full_page_writes et lancez\n"
 "CHECKPOINT sur le maître, puis recommencez la sauvegarde."
 
-#: access/transam/xlog.c:9990 replication/basebackup.c:1035 utils/adt/misc.c:378
+#: access/transam/xlog.c:10008 replication/basebackup.c:1038
+#: utils/adt/misc.c:498
 #, c-format
 msgid "could not read symbolic link \"%s\": %m"
 msgstr "n'a pas pu lire le lien symbolique « %s » : %m"
 
-#: access/transam/xlog.c:9997 replication/basebackup.c:1040 utils/adt/misc.c:383
+#: access/transam/xlog.c:10015 replication/basebackup.c:1043
+#: utils/adt/misc.c:503
 #, c-format
 msgid "symbolic link \"%s\" target is too long"
 msgstr "la cible du lien symbolique « %s » est trop long"
 
-#: access/transam/xlog.c:10050 commands/tablespace.c:391 commands/tablespace.c:553 replication/basebackup.c:1056 utils/adt/misc.c:391
+#: access/transam/xlog.c:10068 commands/tablespace.c:391
+#: commands/tablespace.c:553 replication/basebackup.c:1059
+#: utils/adt/misc.c:511
 #, c-format
 msgid "tablespaces are not supported on this platform"
 msgstr "les tablespaces ne sont pas supportés sur cette plateforme"
 
-#: access/transam/xlog.c:10090 access/transam/xlog.c:10126 access/transam/xlog.c:10300 access/transam/xlogarchive.c:106 access/transam/xlogarchive.c:265 commands/copy.c:1738 commands/copy.c:2764 commands/extension.c:3026 commands/tablespace.c:860 guc-file.l:1003 replication/basebackup.c:404 replication/basebackup.c:472 replication/logical/snapbuild.c:1478 storage/file/copydir.c:72 storage/file/copydir.c:115 storage/file/fd.c:2519
-#: storage/file/fd.c:2611 utils/adt/dbsize.c:68 utils/adt/dbsize.c:218 utils/adt/dbsize.c:298 utils/adt/genfile.c:114 utils/adt/genfile.c:333
+#: access/transam/xlog.c:10109 access/transam/xlog.c:10147
+#: access/transam/xlog.c:10326 access/transam/xlogarchive.c:106
+#: access/transam/xlogarchive.c:265 commands/copy.c:1778 commands/copy.c:2804
+#: commands/extension.c:3109 commands/tablespace.c:782
+#: commands/tablespace.c:873 guc-file.l:1003 replication/basebackup.c:407
+#: replication/basebackup.c:475 replication/logical/snapbuild.c:1493
+#: storage/file/copydir.c:72 storage/file/copydir.c:115 storage/file/fd.c:2826
+#: storage/file/fd.c:2918 utils/adt/dbsize.c:70 utils/adt/dbsize.c:220
+#: utils/adt/dbsize.c:300 utils/adt/genfile.c:114 utils/adt/genfile.c:333
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "n'a pas pu tester le fichier « %s » : %m"
 
-#: access/transam/xlog.c:10097 access/transam/xlog.c:10133
+#: access/transam/xlog.c:10116 access/transam/xlog.c:10154
 #, c-format
 msgid "If you're sure there is no backup in progress, remove file \"%s\" and try again."
 msgstr ""
 "Si vous êtes certain qu'aucune sauvegarde n'est en cours, supprimez le\n"
 "fichier « %s » et recommencez de nouveau."
 
-#: access/transam/xlog.c:10114 access/transam/xlog.c:10150 access/transam/xlog.c:10475
+#: access/transam/xlog.c:10133 access/transam/xlog.c:10171
+#: access/transam/xlog.c:10501
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "impossible d'écrire le fichier « %s » : %m"
 
-#: access/transam/xlog.c:10304
+#: access/transam/xlog.c:10290
+#, fuzzy, c-format
+#| msgid "a backup is not in progress"
+msgid "exclusive backup not in progress"
+msgstr "une sauvegarde n'est pas en cours"
+
+#: access/transam/xlog.c:10330
 #, c-format
 msgid "a backup is not in progress"
 msgstr "une sauvegarde n'est pas en cours"
 
-#: access/transam/xlog.c:10349 access/transam/xlog.c:10362 access/transam/xlog.c:10702 access/transam/xlog.c:10708 access/transam/xlog.c:10792 access/transam/xlogfuncs.c:508
+#: access/transam/xlog.c:10375 access/transam/xlog.c:10388
+#: access/transam/xlog.c:10728 access/transam/xlog.c:10734
+#: access/transam/xlog.c:10818 access/transam/xlogfuncs.c:696
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "données invalides dans le fichier « %s »"
 
-#: access/transam/xlog.c:10366 replication/basebackup.c:933
+#: access/transam/xlog.c:10392 replication/basebackup.c:936
 #, c-format
 msgid "the standby was promoted during online backup"
 msgstr "le standby a été promu lors de la sauvegarde en ligne"
 
-#: access/transam/xlog.c:10367 replication/basebackup.c:934
+#: access/transam/xlog.c:10393 replication/basebackup.c:937
 #, c-format
 msgid "This means that the backup being taken is corrupt and should not be used. Try taking another online backup."
 msgstr ""
 "Cela signifie que la sauvegarde en cours de réalisation est corrompue et ne\n"
 "doit pas être utilisée. Recommencez la sauvegarde."
 
-#: access/transam/xlog.c:10412
+#: access/transam/xlog.c:10438
 #, c-format
 msgid "WAL generated with full_page_writes=off was replayed during online backup"
 msgstr ""
 "le journal de transactions généré avec full_page_writes=off a été rejoué lors\n"
 "de la sauvegarde en ligne"
 
-#: access/transam/xlog.c:10524
+#: access/transam/xlog.c:10550
 #, c-format
 msgid "pg_stop_backup cleanup done, waiting for required WAL segments to be archived"
 msgstr "nettoyage de pg_stop_backup terminé, en attente des journaux de transactions requis à archiver"
 
-#: access/transam/xlog.c:10534
+#: access/transam/xlog.c:10560
 #, c-format
 msgid "pg_stop_backup still waiting for all required WAL segments to be archived (%d seconds elapsed)"
 msgstr ""
 "pg_stop_backup toujours en attente de la fin de l'archivage des segments de\n"
 "journaux de transactions requis (%d secondes passées)"
 
-#: access/transam/xlog.c:10536
+#: access/transam/xlog.c:10562
 #, c-format
 msgid "Check that your archive_command is executing properly.  pg_stop_backup can be canceled safely, but the database backup will not be usable without all the WAL segments."
 msgstr ""
@@ -2304,12 +2784,12 @@ msgstr ""
 "peut être annulé avec sûreté mais la sauvegarde de la base ne sera pas\n"
 "utilisable sans tous les segments WAL."
 
-#: access/transam/xlog.c:10543
+#: access/transam/xlog.c:10569
 #, c-format
 msgid "pg_stop_backup complete, all required WAL segments have been archived"
 msgstr "pg_stop_backup terminé, tous les journaux de transactions requis ont été archivés"
 
-#: access/transam/xlog.c:10547
+#: access/transam/xlog.c:10573
 #, c-format
 msgid "WAL archiving is not enabled; you must ensure that all required WAL segments are copied through other means to complete the backup"
 msgstr ""
@@ -2317,57 +2797,61 @@ msgstr ""
 "vous devez vous assurer que tous les fichiers requis des journaux de\n"
 "transactions sont copiés par d'autre moyens pour terminer la sauvegarde."
 
-#: access/transam/xlog.c:10831
-#, c-format
-msgid "xlog redo %s"
+#. translator: %s is an XLog record description
+#: access/transam/xlog.c:10858
+#, fuzzy, c-format
+#| msgid "xlog redo %s"
+msgid "xlog redo at %X/%X for %s"
 msgstr "xlog redo %s"
 
-#: access/transam/xlog.c:10877
+#: access/transam/xlog.c:10907
 #, c-format
 msgid "online backup mode was not canceled"
 msgstr "le mode de sauvegarde en ligne n'a pas été annulé"
 
-#: access/transam/xlog.c:10878
+#: access/transam/xlog.c:10908
 #, c-format
 msgid "File \"%s\" could not be renamed to \"%s\": %m."
 msgstr "Le fichier « %s » n'a pas pu être renommé en « %s » : %m"
 
-#: access/transam/xlog.c:10887 access/transam/xlog.c:10899 access/transam/xlog.c:10909
+#: access/transam/xlog.c:10917 access/transam/xlog.c:10929
+#: access/transam/xlog.c:10939
 #, c-format
 msgid "online backup mode canceled"
 msgstr "mode de sauvegarde en ligne annulé"
 
-#: access/transam/xlog.c:10900
+#: access/transam/xlog.c:10930
 #, c-format
 msgid "Files \"%s\" and \"%s\" were renamed to \"%s\" and \"%s\", respectively."
 msgstr "Les fichiers « %s » et « %s » sont renommés respectivement « %s » et « %s »."
 
-#: access/transam/xlog.c:10910
+#: access/transam/xlog.c:10940
 #, c-format
 msgid "File \"%s\" was renamed to \"%s\", but file \"%s\" could not be renamed to \"%s\": %m."
 msgstr "Le fichier « %s » a été renommé en « %s », mais le fichier « %s » n'a pas pu être renommé en « %s » : %m"
 
-#: access/transam/xlog.c:11032 replication/logical/logicalfuncs.c:171 replication/walreceiver.c:932 replication/walsender.c:2112
+#: access/transam/xlog.c:11062 access/transam/xlogutils.c:717
+#: replication/walreceiver.c:973 replication/walsender.c:2116
 #, c-format
 msgid "could not seek in log segment %s to offset %u: %m"
 msgstr "n'a pas pu se déplacer dans le journal de transactions %s au décalage %u : %m"
 
-#: access/transam/xlog.c:11044
+#: access/transam/xlog.c:11074
 #, c-format
 msgid "could not read from log segment %s, offset %u: %m"
 msgstr "n'a pas pu lire le journal de transactions %s, décalage %u : %m"
 
-#: access/transam/xlog.c:11518
+#: access/transam/xlog.c:11548
 #, c-format
 msgid "received promote request"
 msgstr "a reçu une demande de promotion"
 
-#: access/transam/xlog.c:11531
+#: access/transam/xlog.c:11561
 #, c-format
 msgid "trigger file found: %s"
 msgstr "fichier trigger trouvé : %s"
 
-#: access/transam/xlog.c:11540
+#: access/transam/xlog.c:11570
 #, c-format
 msgid "could not stat trigger file \"%s\": %m"
 msgstr "n'a pas pu tester le fichier trigger « %s » : %m"
@@ -2395,760 +2879,864 @@ msgstr "n'a pas pu restaurer le fichier 
 msgid "%s \"%s\": %s"
 msgstr "%s « %s »: %s"
 
-#: access/transam/xlogarchive.c:529 access/transam/xlogarchive.c:598
+#: access/transam/xlogarchive.c:458 replication/logical/snapbuild.c:1621
+#: replication/slot.c:470 replication/slot.c:981 replication/slot.c:1089
+#: storage/file/fd.c:635 storage/file/fd.c:693 utils/time/snapmgr.c:1205
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m"
+
+#: access/transam/xlogarchive.c:525 access/transam/xlogarchive.c:589
 #, c-format
 msgid "could not create archive status file \"%s\": %m"
 msgstr "n'a pas pu créer le fichier de statut d'archivage « %s » : %m"
 
-#: access/transam/xlogarchive.c:537 access/transam/xlogarchive.c:606
+#: access/transam/xlogarchive.c:533 access/transam/xlogarchive.c:597
 #, c-format
 msgid "could not write archive status file \"%s\": %m"
 msgstr "n'a pas pu écrire le fichier de statut d'archivage « %s » : %m"
 
-#: access/transam/xlogfuncs.c:61 access/transam/xlogfuncs.c:98
+#: access/transam/xlogfuncs.c:58
 #, c-format
-msgid "must be superuser or replication role to run a backup"
-msgstr "doit être super-utilisateur ou avoir l'attribut de réplication pour exécuter une sauvegarde"
+msgid "aborting backup due to backend exiting before pg_stop_backup was called"
+msgstr ""
+
+#: access/transam/xlogfuncs.c:88
+#, fuzzy, c-format
+#| msgid "a backup is already in progress"
+msgid "a backup is already in progress in this session"
+msgstr "une sauvegarde est déjà en cours"
 
-#: access/transam/xlogfuncs.c:67 commands/tablespace.c:705 commands/tablespace.c:715 postmaster/postmaster.c:1389 replication/basebackup.c:292 replication/basebackup.c:632 storage/file/copydir.c:53 storage/file/copydir.c:96 storage/file/fd.c:1985 storage/file/fd.c:2584 storage/ipc/dsm.c:300 utils/adt/genfile.c:439 utils/adt/misc.c:291 utils/misc/tzparser.c:339
+#: access/transam/xlogfuncs.c:94 commands/tablespace.c:705
+#: commands/tablespace.c:715 postmaster/postmaster.c:1395
+#: replication/basebackup.c:295 replication/basebackup.c:635
+#: storage/file/copydir.c:53 storage/file/copydir.c:96 storage/file/fd.c:2292
+#: storage/file/fd.c:2891 storage/ipc/dsm.c:300 utils/adt/genfile.c:439
+#: utils/adt/misc.c:411 utils/misc/tzparser.c:339
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "n'a pas pu ouvrir le répertoire « %s » : %m"
 
-#: access/transam/xlogfuncs.c:116
+#: access/transam/xlogfuncs.c:155 access/transam/xlogfuncs.c:229
+#, fuzzy, c-format
+#| msgid "a backup is not in progress"
+msgid "non-exclusive backup in progress"
+msgstr "une sauvegarde n'est pas en cours"
+
+#: access/transam/xlogfuncs.c:156 access/transam/xlogfuncs.c:230
+#, c-format
+msgid "did you mean to use pg_stop_backup('f')?"
+msgstr ""
+
+#: access/transam/xlogfuncs.c:200 commands/event_trigger.c:1449
+#: commands/event_trigger.c:2000 commands/extension.c:1728
+#: commands/extension.c:1837 commands/extension.c:2030 commands/prepare.c:702
+#: executor/execQual.c:1757 executor/execQual.c:1782 executor/execQual.c:2157
+#: executor/execQual.c:5393 executor/functions.c:1024 foreign/foreign.c:598
+#: replication/logical/logicalfuncs.c:175 replication/logical/origin.c:1391
+#: replication/slotfuncs.c:189 replication/walsender.c:2765
+#: utils/adt/jsonfuncs.c:1483 utils/adt/jsonfuncs.c:1615
+#: utils/adt/jsonfuncs.c:1805 utils/adt/jsonfuncs.c:1934
+#: utils/adt/jsonfuncs.c:2702 utils/adt/pgstatfuncs.c:554
+#: utils/adt/pgstatfuncs.c:655 utils/fmgr/funcapi.c:61 utils/misc/guc.c:8424
+#: utils/mmgr/portalmem.c:1064
+#, c-format
+msgid "set-valued function called in context that cannot accept a set"
+msgstr ""
+"la fonction avec set-value a été appelé dans un contexte qui n'accepte pas\n"
+"un ensemble"
+
+#: access/transam/xlogfuncs.c:204 commands/event_trigger.c:1453
+#: commands/event_trigger.c:2004 commands/extension.c:1732
+#: commands/extension.c:1841 commands/extension.c:2034 commands/prepare.c:706
+#: foreign/foreign.c:603 replication/logical/logicalfuncs.c:179
+#: replication/logical/origin.c:1395 replication/slotfuncs.c:193
+#: replication/walsender.c:2769 utils/adt/pgstatfuncs.c:558
+#: utils/adt/pgstatfuncs.c:659 utils/misc/guc.c:8428 utils/misc/pg_config.c:44
+#: utils/mmgr/portalmem.c:1068
 #, c-format
-msgid "must be superuser to switch transaction log files"
-msgstr "doit être super-utilisateur pour changer de journal de transactions"
+msgid "materialize mode required, but it is not allowed in this context"
+msgstr "mode matérialisé requis mais interdit dans ce contexte"
+
+#: access/transam/xlogfuncs.c:247
+#, fuzzy, c-format
+#| msgid "a backup is not in progress"
+msgid "non-exclusive backup is not in progress"
+msgstr "une sauvegarde n'est pas en cours"
 
-#: access/transam/xlogfuncs.c:145
+#: access/transam/xlogfuncs.c:248
 #, c-format
-msgid "must be superuser to create a restore point"
-msgstr "doit être super-utilisateur pour créer un point de restauration"
+msgid "did you mean to use pg_stop_backup('t')?"
+msgstr ""
 
-#: access/transam/xlogfuncs.c:156
+#: access/transam/xlogfuncs.c:327
 #, c-format
 msgid "WAL level not sufficient for creating a restore point"
 msgstr ""
 "le niveau de journalisation (configuré par wal_level) n'est pas suffisant pour\n"
 "créer un point de restauration"
 
-#: access/transam/xlogfuncs.c:164
+#: access/transam/xlogfuncs.c:335
 #, c-format
 msgid "value too long for restore point (maximum %d characters)"
 msgstr "valeur trop longue pour le point de restauration (%d caractères maximum)"
 
-#: access/transam/xlogfuncs.c:281
+#: access/transam/xlogfuncs.c:473
 #, c-format
 msgid "pg_xlogfile_name_offset() cannot be executed during recovery."
 msgstr "pg_xlogfile_name_offset() ne peut pas être exécuté lors de la restauration."
 
-#: access/transam/xlogfuncs.c:337
+#: access/transam/xlogfuncs.c:529
 #, c-format
 msgid "pg_xlogfile_name() cannot be executed during recovery."
 msgstr "pg_xlogfile_name() ne peut pas être exécuté lors de la restauration."
 
-#: access/transam/xlogfuncs.c:354 access/transam/xlogfuncs.c:376
-#, c-format
-msgid "must be superuser to control recovery"
-msgstr "doit être super-utilisateur pour contrôler la restauration"
-
-#: access/transam/xlogfuncs.c:359 access/transam/xlogfuncs.c:381 access/transam/xlogfuncs.c:398
+#: access/transam/xlogfuncs.c:549 access/transam/xlogfuncs.c:569
+#: access/transam/xlogfuncs.c:586
 #, c-format
 msgid "recovery is not in progress"
 msgstr "la restauration n'est pas en cours"
 
-#: access/transam/xlogfuncs.c:360 access/transam/xlogfuncs.c:382 access/transam/xlogfuncs.c:399
+#: access/transam/xlogfuncs.c:550 access/transam/xlogfuncs.c:570
+#: access/transam/xlogfuncs.c:587
 #, c-format
 msgid "Recovery control functions can only be executed during recovery."
 msgstr ""
 "Les fonctions de contrôle de la restauration peuvent seulement être exécutées\n"
 "lors de la restauration."
 
-#: access/transam/xlogreader.c:264
+#: access/transam/xlogreader.c:276
 #, c-format
 msgid "invalid record offset at %X/%X"
 msgstr "décalage invalide de l'enregistrement %X/%X"
 
-#: access/transam/xlogreader.c:272
+#: access/transam/xlogreader.c:284
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "« contrecord » est requis par %X/%X"
 
-#: access/transam/xlogreader.c:312 access/transam/xlogreader.c:603
+#: access/transam/xlogreader.c:325 access/transam/xlogreader.c:624
 #, c-format
-msgid "invalid record length at %X/%X"
-msgstr "longueur invalide de l'enregistrement à %X/%X"
+msgid "invalid record length at %X/%X: wanted %u, got %u"
+msgstr "longueur invalide de l'enregistrement à %X/%X : voulait %u, a eu %u"
 
-#: access/transam/xlogreader.c:326
+#: access/transam/xlogreader.c:340
 #, c-format
 msgid "record length %u at %X/%X too long"
 msgstr "longueur trop importante de l'enregistrement %u à %X/%X"
 
-#: access/transam/xlogreader.c:367
+#: access/transam/xlogreader.c:381
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "il n'existe pas de drapeau contrecord à %X/%X"
 
-#: access/transam/xlogreader.c:380
+#: access/transam/xlogreader.c:394
 #, c-format
 msgid "invalid contrecord length %u at %X/%X"
 msgstr "longueur %u invalide du contrecord à %X/%X"
 
-#: access/transam/xlogreader.c:610
+#: access/transam/xlogreader.c:632
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%X"
 
-#: access/transam/xlogreader.c:624 access/transam/xlogreader.c:641
+#: access/transam/xlogreader.c:646 access/transam/xlogreader.c:663
 #, c-format
 msgid "record with incorrect prev-link %X/%X at %X/%X"
 msgstr "enregistrement avec prev-link %X/%X incorrect à %X/%X"
 
-#: access/transam/xlogreader.c:678
+#: access/transam/xlogreader.c:700
 #, c-format
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr ""
 "somme de contrôle des données du gestionnaire de ressources incorrecte à\n"
 "l'enregistrement %X/%X"
 
-#: access/transam/xlogreader.c:711
+#: access/transam/xlogreader.c:733
 #, c-format
 msgid "invalid magic number %04X in log segment %s, offset %u"
 msgstr "numéro magique invalide %04X dans le segment %s, décalage %u"
 
-#: access/transam/xlogreader.c:725 access/transam/xlogreader.c:776
+#: access/transam/xlogreader.c:747 access/transam/xlogreader.c:798
 #, c-format
 msgid "invalid info bits %04X in log segment %s, offset %u"
 msgstr "bits d'information %04X invalides dans le segment %s, décalage %u"
 
-#: access/transam/xlogreader.c:751
+#: access/transam/xlogreader.c:773
 #, c-format
 msgid "WAL file is from different database system: WAL file database system identifier is %s, pg_control database system identifier is %s"
 msgstr "le fichier WAL provient d'un système différent : l'identifiant système de la base dans le fichier WAL est %s, alors que l'identifiant système de la base dans pg_control est %s"
 
-#: access/transam/xlogreader.c:758
+#: access/transam/xlogreader.c:780
 #, c-format
 msgid "WAL file is from different database system: incorrect XLOG_SEG_SIZE in page header"
 msgstr "le fichier WAL provient d'un système différent : XLOG_SEG_SIZE invalide dans l'en-tête de page"
 
-#: access/transam/xlogreader.c:764
+#: access/transam/xlogreader.c:786
 #, c-format
 msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
 msgstr "le fichier WAL provient d'un système différent : XLOG_BLCKSZ invalide dans l'en-tête de page"
 
-#: access/transam/xlogreader.c:790
+#: access/transam/xlogreader.c:812
 #, c-format
 msgid "unexpected pageaddr %X/%X in log segment %s, offset %u"
 msgstr "pageaddr %X/%X inattendue dans le journal de transactions %s, segment %u"
 
-#: access/transam/xlogreader.c:815
+#: access/transam/xlogreader.c:837
 #, c-format
 msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u"
 msgstr "identifiant timeline %u hors de la séquence (après %u) dans le segment %s, décalage %u"
 
-#: access/transam/xlogreader.c:1024
+#: access/transam/xlogreader.c:1044
 #, c-format
 msgid "out-of-order block_id %u at %X/%X"
 msgstr "block_id %u désordonné à %X/%X"
 
-#: access/transam/xlogreader.c:1046
+#: access/transam/xlogreader.c:1066
 #, c-format
 msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA configuré, mais aucune donnée inclus à %X/%X"
 
-#: access/transam/xlogreader.c:1053
+#: access/transam/xlogreader.c:1073
 #, c-format
 msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA non configuré, mais la longueur des données est %u à %X/%X"
 
-#: access/transam/xlogreader.c:1086
+#: access/transam/xlogreader.c:1106
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
 msgstr "BKPIMAGE_HAS_HOLE initialisé, mais décalage du trou %u longueur %u longueur de l'image du bloc %u à %X/%X"
 
-#: access/transam/xlogreader.c:1102
+#: access/transam/xlogreader.c:1122
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
 msgstr "BKPIMAGE_HAS_HOLE non initialisé, mais décalage du trou %u longueur %u à %X/%X"
 
-#: access/transam/xlogreader.c:1117
+#: access/transam/xlogreader.c:1137
 #, c-format
 msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X"
 msgstr "BKPIMAGE_IS_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X"
 
-#: access/transam/xlogreader.c:1132
+#: access/transam/xlogreader.c:1152
 #, c-format
 msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X"
 msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_IS_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X"
 
-#: access/transam/xlogreader.c:1148
+#: access/transam/xlogreader.c:1168
 #, c-format
 msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
 msgstr "BKPBLOCK_SAME_REL configuré, mais pas de relation précédente à %X/%X"
 
-#: access/transam/xlogreader.c:1160
+#: access/transam/xlogreader.c:1180
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "block_id %u invalide à %X/%X"
 
-#: access/transam/xlogreader.c:1225
+#: access/transam/xlogreader.c:1245
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "enregistrement de longueur invalide à %X/%X"
 
-#: access/transam/xlogreader.c:1314
+#: access/transam/xlogreader.c:1334
 #, c-format
 msgid "invalid compressed image at %X/%X, block %d"
 msgstr "image compressée invalide à %X/%X, bloc %d"
 
-#: bootstrap/bootstrap.c:268 postmaster/postmaster.c:779 tcop/postgres.c:3485
+#: access/transam/xlogutils.c:738 replication/walsender.c:2133
+#, c-format
+msgid "could not read from log segment %s, offset %u, length %lu: %m"
+msgstr "n'a pas pu lire le journal de transactions %s, décalage %u, longueur %lu : %m"
+
+#: bootstrap/bootstrap.c:269 postmaster/postmaster.c:785 tcop/postgres.c:3488
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s requiert une valeur"
 
-#: bootstrap/bootstrap.c:273 postmaster/postmaster.c:784 tcop/postgres.c:3490
+#: bootstrap/bootstrap.c:274 postmaster/postmaster.c:790 tcop/postgres.c:3493
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s requiert une valeur"
 
-#: bootstrap/bootstrap.c:284 postmaster/postmaster.c:796 postmaster/postmaster.c:809
+#: bootstrap/bootstrap.c:285 postmaster/postmaster.c:802
+#: postmaster/postmaster.c:815
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Essayez « %s --help » pour plus d'informations.\n"
 
-#: bootstrap/bootstrap.c:293
+#: bootstrap/bootstrap.c:294
 #, c-format
 msgid "%s: invalid command-line arguments\n"
 msgstr "%s : arguments invalides en ligne de commande\n"
 
-#: catalog/aclchk.c:182
+#: catalog/aclchk.c:193
 #, c-format
 msgid "grant options can only be granted to roles"
 msgstr "les options grant peuvent seulement être données aux rôles"
 
-#: catalog/aclchk.c:305
+#: catalog/aclchk.c:316
 #, c-format
 msgid "no privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "aucun droit n'a pu être accordé pour la colonne « %s » de la relation « %s »"
 
-#: catalog/aclchk.c:310
+#: catalog/aclchk.c:321
 #, c-format
 msgid "no privileges were granted for \"%s\""
 msgstr "aucun droit n'a été accordé pour « %s »"
 
-#: catalog/aclchk.c:318
+#: catalog/aclchk.c:329
 #, c-format
 msgid "not all privileges were granted for column \"%s\" of relation \"%s\""
 msgstr "certains droits n'ont pu être accordé pour la colonne « %s » de la relation « %s »"
 
-#: catalog/aclchk.c:323
+#: catalog/aclchk.c:334
 #, c-format
 msgid "not all privileges were granted for \"%s\""
 msgstr "tous les droits n'ont pas été accordés pour « %s »"
 
-#: catalog/aclchk.c:334
+#: catalog/aclchk.c:345
 #, c-format
 msgid "no privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "aucun droit n'a pu être révoqué pour la colonne « %s » de la relation « %s »"
 
-#: catalog/aclchk.c:339
+#: catalog/aclchk.c:350
 #, c-format
 msgid "no privileges could be revoked for \"%s\""
 msgstr "aucun droit n'a pu être révoqué pour « %s »"
 
-#: catalog/aclchk.c:347
+#: catalog/aclchk.c:358
 #, c-format
 msgid "not all privileges could be revoked for column \"%s\" of relation \"%s\""
 msgstr "certains droits n'ont pu être révoqué pour la colonne « %s » de la relation « %s »"
 
-#: catalog/aclchk.c:352
+#: catalog/aclchk.c:363
 #, c-format
 msgid "not all privileges could be revoked for \"%s\""
 msgstr "certains droits n'ont pu être révoqué pour « %s »"
 
-#: catalog/aclchk.c:434 catalog/aclchk.c:924
+#: catalog/aclchk.c:445 catalog/aclchk.c:935
 #, c-format
 msgid "invalid privilege type %s for relation"
 msgstr "droit %s invalide pour la relation"
 
-#: catalog/aclchk.c:438 catalog/aclchk.c:928
+#: catalog/aclchk.c:449 catalog/aclchk.c:939
 #, c-format
 msgid "invalid privilege type %s for sequence"
 msgstr "droit %s invalide pour la séquence"
 
-#: catalog/aclchk.c:442
+#: catalog/aclchk.c:453
 #, c-format
 msgid "invalid privilege type %s for database"
 msgstr "droit %s invalide pour la base de données"
 
-#: catalog/aclchk.c:446
+#: catalog/aclchk.c:457
 #, c-format
 msgid "invalid privilege type %s for domain"
 msgstr "type de droit %s invalide pour le domaine"
 
-#: catalog/aclchk.c:450 catalog/aclchk.c:932
+#: catalog/aclchk.c:461 catalog/aclchk.c:943
 #, c-format
 msgid "invalid privilege type %s for function"
 msgstr "droit %s invalide pour la fonction"
 
-#: catalog/aclchk.c:454
+#: catalog/aclchk.c:465
 #, c-format
 msgid "invalid privilege type %s for language"
 msgstr "droit %s invalide pour le langage"
 
-#: catalog/aclchk.c:458
+#: catalog/aclchk.c:469
 #, c-format
 msgid "invalid privilege type %s for large object"
 msgstr "type de droit invalide, %s, pour le Large Object"
 
-#: catalog/aclchk.c:462
+#: catalog/aclchk.c:473
 #, c-format
 msgid "invalid privilege type %s for schema"
 msgstr "droit %s invalide pour le schéma"
 
-#: catalog/aclchk.c:466
+#: catalog/aclchk.c:477
 #, c-format
 msgid "invalid privilege type %s for tablespace"
 msgstr "droit %s invalide pour le tablespace"
 
-#: catalog/aclchk.c:470 catalog/aclchk.c:936
+#: catalog/aclchk.c:481 catalog/aclchk.c:947
 #, c-format
 msgid "invalid privilege type %s for type"
 msgstr "type de droit %s invalide pour le type"
 
-#: catalog/aclchk.c:474
+#: catalog/aclchk.c:485
 #, c-format
 msgid "invalid privilege type %s for foreign-data wrapper"
 msgstr "type de droit %s invalide pour le wrapper de données distantes"
 
-#: catalog/aclchk.c:478
+#: catalog/aclchk.c:489
 #, c-format
 msgid "invalid privilege type %s for foreign server"
 msgstr "type de droit %s invalide pour le serveur distant"
 
-#: catalog/aclchk.c:517
+#: catalog/aclchk.c:528
 #, c-format
 msgid "column privileges are only valid for relations"
 msgstr "les droits sur la colonne sont seulement valides pour les relations"
 
-#: catalog/aclchk.c:676 catalog/aclchk.c:3874 catalog/aclchk.c:4651 catalog/objectaddress.c:854 catalog/pg_largeobject.c:113 storage/large_object/inv_api.c:291
+#: catalog/aclchk.c:687 catalog/aclchk.c:3914 catalog/aclchk.c:4691
+#: catalog/objectaddress.c:873 catalog/pg_largeobject.c:113
+#: storage/large_object/inv_api.c:291
 #, c-format
 msgid "large object %u does not exist"
 msgstr "le « Large Object » %u n'existe pas"
 
-#: catalog/aclchk.c:863 catalog/aclchk.c:871 commands/collationcmds.c:92 commands/copy.c:1010 commands/copy.c:1028 commands/copy.c:1036 commands/copy.c:1044 commands/copy.c:1052 commands/copy.c:1060 commands/copy.c:1068 commands/copy.c:1076 commands/copy.c:1084 commands/copy.c:1100 commands/copy.c:1114 commands/copy.c:1133 commands/copy.c:1148 commands/dbcommands.c:155 commands/dbcommands.c:163 commands/dbcommands.c:171
-#: commands/dbcommands.c:179 commands/dbcommands.c:187 commands/dbcommands.c:195 commands/dbcommands.c:203 commands/dbcommands.c:211 commands/dbcommands.c:219 commands/dbcommands.c:1397 commands/dbcommands.c:1405 commands/dbcommands.c:1413 commands/dbcommands.c:1421 commands/extension.c:1244 commands/extension.c:1252 commands/extension.c:1260 commands/extension.c:2677 commands/foreigncmds.c:539 commands/foreigncmds.c:548
-#: commands/functioncmds.c:525 commands/functioncmds.c:619 commands/functioncmds.c:627 commands/functioncmds.c:635 commands/functioncmds.c:643 commands/functioncmds.c:2045 commands/functioncmds.c:2053 commands/sequence.c:1189 commands/sequence.c:1197 commands/sequence.c:1205 commands/sequence.c:1213 commands/sequence.c:1221 commands/sequence.c:1229 commands/sequence.c:1237 commands/sequence.c:1245 commands/typecmds.c:293
-#: commands/typecmds.c:1380 commands/typecmds.c:1389 commands/typecmds.c:1397 commands/typecmds.c:1405 commands/typecmds.c:1413 commands/user.c:138 commands/user.c:155 commands/user.c:163 commands/user.c:171 commands/user.c:179 commands/user.c:187 commands/user.c:195 commands/user.c:203 commands/user.c:211 commands/user.c:219 commands/user.c:227 commands/user.c:235 commands/user.c:243 commands/user.c:522 commands/user.c:534
-#: commands/user.c:542 commands/user.c:550 commands/user.c:558 commands/user.c:566 commands/user.c:574 commands/user.c:582 commands/user.c:591 commands/user.c:599 commands/user.c:607
+#: catalog/aclchk.c:874 catalog/aclchk.c:882 commands/collationcmds.c:92
+#: commands/copy.c:1008 commands/copy.c:1026 commands/copy.c:1034
+#: commands/copy.c:1042 commands/copy.c:1050 commands/copy.c:1058
+#: commands/copy.c:1066 commands/copy.c:1074 commands/copy.c:1082
+#: commands/copy.c:1098 commands/copy.c:1112 commands/copy.c:1131
+#: commands/copy.c:1146 commands/dbcommands.c:155 commands/dbcommands.c:163
+#: commands/dbcommands.c:171 commands/dbcommands.c:179
+#: commands/dbcommands.c:187 commands/dbcommands.c:195
+#: commands/dbcommands.c:203 commands/dbcommands.c:211
+#: commands/dbcommands.c:219 commands/dbcommands.c:1397
+#: commands/dbcommands.c:1405 commands/dbcommands.c:1413
+#: commands/dbcommands.c:1421 commands/extension.c:1218
+#: commands/extension.c:1226 commands/extension.c:1234
+#: commands/extension.c:1242 commands/extension.c:2760
+#: commands/foreigncmds.c:539 commands/foreigncmds.c:548
+#: commands/functioncmds.c:533 commands/functioncmds.c:649
+#: commands/functioncmds.c:657 commands/functioncmds.c:665
+#: commands/functioncmds.c:673 commands/functioncmds.c:2085
+#: commands/functioncmds.c:2093 commands/sequence.c:1189
+#: commands/sequence.c:1197 commands/sequence.c:1205 commands/sequence.c:1213
+#: commands/sequence.c:1221 commands/sequence.c:1229 commands/sequence.c:1237
+#: commands/sequence.c:1245 commands/typecmds.c:295 commands/typecmds.c:1382
+#: commands/typecmds.c:1391 commands/typecmds.c:1399 commands/typecmds.c:1407
+#: commands/typecmds.c:1415 commands/user.c:139 commands/user.c:156
+#: commands/user.c:164 commands/user.c:172 commands/user.c:180
+#: commands/user.c:188 commands/user.c:196 commands/user.c:204
+#: commands/user.c:212 commands/user.c:220 commands/user.c:228
+#: commands/user.c:236 commands/user.c:244 commands/user.c:537
+#: commands/user.c:549 commands/user.c:557 commands/user.c:565
+#: commands/user.c:573 commands/user.c:581 commands/user.c:589
+#: commands/user.c:597 commands/user.c:606 commands/user.c:614
+#: commands/user.c:622
 #, c-format
 msgid "conflicting or redundant options"
 msgstr "options en conflit ou redondantes"
 
-#: catalog/aclchk.c:969
+#: catalog/aclchk.c:980
 #, c-format
 msgid "default privileges cannot be set for columns"
 msgstr "les droits par défaut ne peuvent pas être configurés pour les colonnes"
 
-#: catalog/aclchk.c:1483 catalog/objectaddress.c:1338 commands/analyze.c:378 commands/copy.c:4383 commands/sequence.c:1491 commands/tablecmds.c:5167 commands/tablecmds.c:5273 commands/tablecmds.c:5333 commands/tablecmds.c:5446 commands/tablecmds.c:5503 commands/tablecmds.c:5597 commands/tablecmds.c:5693 commands/tablecmds.c:7845 commands/tablecmds.c:8050 commands/tablecmds.c:8470 commands/trigger.c:643 parser/analyze.c:2160
-#: parser/parse_relation.c:2542 parser/parse_relation.c:2604 parser/parse_target.c:940 parser/parse_type.c:127 utils/adt/acl.c:2839 utils/adt/ruleutils.c:1856
+#: catalog/aclchk.c:1494 catalog/objectaddress.c:1390 commands/analyze.c:378
+#: commands/copy.c:4423 commands/sequence.c:1491 commands/tablecmds.c:5197
+#: commands/tablecmds.c:5303 commands/tablecmds.c:5363
+#: commands/tablecmds.c:5476 commands/tablecmds.c:5533
+#: commands/tablecmds.c:5627 commands/tablecmds.c:5723
+#: commands/tablecmds.c:7875 commands/tablecmds.c:8080
+#: commands/tablecmds.c:8500 commands/trigger.c:642 parser/analyze.c:2160
+#: parser/parse_relation.c:2542 parser/parse_relation.c:2604
+#: parser/parse_target.c:940 parser/parse_type.c:127 utils/adt/acl.c:2840
+#: utils/adt/ruleutils.c:1870
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "la colonne « %s » de la relation « %s » n'existe pas"
 
-#: catalog/aclchk.c:1748 catalog/objectaddress.c:1151 commands/sequence.c:1078 commands/tablecmds.c:221 commands/tablecmds.c:11960 utils/adt/acl.c:2075 utils/adt/acl.c:2105 utils/adt/acl.c:2137 utils/adt/acl.c:2169 utils/adt/acl.c:2197 utils/adt/acl.c:2227
+#: catalog/aclchk.c:1763 catalog/objectaddress.c:1203 commands/sequence.c:1078
+#: commands/tablecmds.c:223 commands/tablecmds.c:12007 utils/adt/acl.c:2076
+#: utils/adt/acl.c:2106 utils/adt/acl.c:2138 utils/adt/acl.c:2170
+#: utils/adt/acl.c:2198 utils/adt/acl.c:2228
 #, c-format
 msgid "\"%s\" is not a sequence"
 msgstr "« %s » n'est pas une séquence"
 
-#: catalog/aclchk.c:1786
+#: catalog/aclchk.c:1801
 #, c-format
 msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges"
 msgstr "la séquence « %s » accepte seulement les droits USAGE, SELECT et UPDATE"
 
-#: catalog/aclchk.c:1803
+#: catalog/aclchk.c:1818
 #, c-format
 msgid "invalid privilege type USAGE for table"
 msgstr "droit USAGE invalide pour la table"
 
-#: catalog/aclchk.c:1968
+#: catalog/aclchk.c:1986
 #, c-format
 msgid "invalid privilege type %s for column"
 msgstr "type de droit %s invalide pour la colonne"
 
-#: catalog/aclchk.c:1981
+#: catalog/aclchk.c:1999
 #, c-format
 msgid "sequence \"%s\" only supports SELECT column privileges"
 msgstr "la séquence « %s » accepte seulement le droit SELECT pour les colonnes"
 
-#: catalog/aclchk.c:2565
+#: catalog/aclchk.c:2593
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "le langage « %s » n'est pas de confiance"
 
-#: catalog/aclchk.c:2567
+#: catalog/aclchk.c:2595
 #, c-format
 msgid "Only superusers can use untrusted languages."
 msgstr ""
 "Seuls les super-utilisateurs peuvent utiliser des langages qui ne sont pas\n"
 "de confiance."
 
-#: catalog/aclchk.c:3083
+#: catalog/aclchk.c:3120
 #, c-format
 msgid "cannot set privileges of array types"
 msgstr "ne peut pas configurer les droits des types tableau"
 
-#: catalog/aclchk.c:3084
+#: catalog/aclchk.c:3121
 #, c-format
 msgid "Set the privileges of the element type instead."
 msgstr "Configurez les droits du type élément à la place."
 
-#: catalog/aclchk.c:3091 catalog/objectaddress.c:1471 commands/typecmds.c:3142
+#: catalog/aclchk.c:3128 catalog/objectaddress.c:1523 commands/typecmds.c:3146
 #, c-format
 msgid "\"%s\" is not a domain"
 msgstr "« %s » n'est pas un domaine"
 
-#: catalog/aclchk.c:3211
+#: catalog/aclchk.c:3251
 #, c-format
 msgid "unrecognized privilege type \"%s\""
 msgstr "droit « %s » non reconnu"
 
-#: catalog/aclchk.c:3260
+#: catalog/aclchk.c:3300
 #, c-format
 msgid "permission denied for column %s"
 msgstr "droit refusé pour la colonne %s"
 
-#: catalog/aclchk.c:3262
+#: catalog/aclchk.c:3302
 #, c-format
 msgid "permission denied for relation %s"
 msgstr "droit refusé pour la relation %s"
 
-#: catalog/aclchk.c:3264 commands/sequence.c:561 commands/sequence.c:786 commands/sequence.c:828 commands/sequence.c:865 commands/sequence.c:1543
+#: catalog/aclchk.c:3304 commands/sequence.c:561 commands/sequence.c:786
+#: commands/sequence.c:828 commands/sequence.c:865 commands/sequence.c:1543
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "droit refusé pour la séquence %s"
 
-#: catalog/aclchk.c:3266
+#: catalog/aclchk.c:3306
 #, c-format
 msgid "permission denied for database %s"
 msgstr "droit refusé pour la base de données %s"
 
-#: catalog/aclchk.c:3268
+#: catalog/aclchk.c:3308
 #, c-format
 msgid "permission denied for function %s"
 msgstr "droit refusé pour la fonction %s"
 
-#: catalog/aclchk.c:3270
+#: catalog/aclchk.c:3310
 #, c-format
 msgid "permission denied for operator %s"
 msgstr "droit refusé pour l'opérateur %s"
 
-#: catalog/aclchk.c:3272
+#: catalog/aclchk.c:3312
 #, c-format
 msgid "permission denied for type %s"
 msgstr "droit refusé pour le type %s"
 
-#: catalog/aclchk.c:3274
+#: catalog/aclchk.c:3314
 #, c-format
 msgid "permission denied for language %s"
 msgstr "droit refusé pour le langage %s"
 
-#: catalog/aclchk.c:3276
+#: catalog/aclchk.c:3316
 #, c-format
 msgid "permission denied for large object %s"
 msgstr "droit refusé pour le Large Object %s"
 
-#: catalog/aclchk.c:3278
+#: catalog/aclchk.c:3318
 #, c-format
 msgid "permission denied for schema %s"
 msgstr "droit refusé pour le schéma %s"
 
-#: catalog/aclchk.c:3280
+#: catalog/aclchk.c:3320
 #, c-format
 msgid "permission denied for operator class %s"
 msgstr "droit refusé pour la classe d'opérateur %s"
 
-#: catalog/aclchk.c:3282
+#: catalog/aclchk.c:3322
 #, c-format
 msgid "permission denied for operator family %s"
 msgstr "droit refusé pour la famille d'opérateur %s"
 
-#: catalog/aclchk.c:3284
+#: catalog/aclchk.c:3324
 #, c-format
 msgid "permission denied for collation %s"
 msgstr "droit refusé pour le collationnement %s"
 
-#: catalog/aclchk.c:3286
+#: catalog/aclchk.c:3326
 #, c-format
 msgid "permission denied for conversion %s"
 msgstr "droit refusé pour la conversion %s"
 
-#: catalog/aclchk.c:3288
+#: catalog/aclchk.c:3328
 #, c-format
 msgid "permission denied for tablespace %s"
 msgstr "droit refusé pour le tablespace %s"
 
-#: catalog/aclchk.c:3290
+#: catalog/aclchk.c:3330
 #, c-format
 msgid "permission denied for text search dictionary %s"
 msgstr "droit refusé pour le dictionnaire de recherche plein texte %s"
 
-#: catalog/aclchk.c:3292
+#: catalog/aclchk.c:3332
 #, c-format
 msgid "permission denied for text search configuration %s"
 msgstr "droit refusé pour la configuration de recherche plein texte %s"
 
-#: catalog/aclchk.c:3294
+#: catalog/aclchk.c:3334
 #, c-format
 msgid "permission denied for foreign-data wrapper %s"
 msgstr "droit refusé pour le wrapper de données distantes %s"
 
-#: catalog/aclchk.c:3296
+#: catalog/aclchk.c:3336
 #, c-format
 msgid "permission denied for foreign server %s"
 msgstr "droit refusé pour le serveur distant %s"
 
-#: catalog/aclchk.c:3298
+#: catalog/aclchk.c:3338
 #, c-format
 msgid "permission denied for event trigger %s"
 msgstr "droit refusé pour le trigger sur événement %s"
 
-#: catalog/aclchk.c:3300
+#: catalog/aclchk.c:3340
 #, c-format
 msgid "permission denied for extension %s"
 msgstr "droit refusé pour l'extension %s"
 
-#: catalog/aclchk.c:3306 catalog/aclchk.c:3308
+#: catalog/aclchk.c:3346 catalog/aclchk.c:3348
 #, c-format
 msgid "must be owner of relation %s"
 msgstr "doit être le propriétaire de la relation %s"
 
-#: catalog/aclchk.c:3310
+#: catalog/aclchk.c:3350
 #, c-format
 msgid "must be owner of sequence %s"
 msgstr "doit être le propriétaire de la séquence %s"
 
-#: catalog/aclchk.c:3312
+#: catalog/aclchk.c:3352
 #, c-format
 msgid "must be owner of database %s"
 msgstr "doit être le propriétaire de la base de données %s"
 
-#: catalog/aclchk.c:3314
+#: catalog/aclchk.c:3354
 #, c-format
 msgid "must be owner of function %s"
 msgstr "doit être le propriétaire de la fonction %s"
 
-#: catalog/aclchk.c:3316
+#: catalog/aclchk.c:3356
 #, c-format
 msgid "must be owner of operator %s"
 msgstr "doit être le prorpriétaire de l'opérateur %s"
 
-#: catalog/aclchk.c:3318
+#: catalog/aclchk.c:3358
 #, c-format
 msgid "must be owner of type %s"
 msgstr "doit être le propriétaire du type %s"
 
-#: catalog/aclchk.c:3320
+#: catalog/aclchk.c:3360
 #, c-format
 msgid "must be owner of language %s"
 msgstr "doit être le propriétaire du langage %s"
 
-#: catalog/aclchk.c:3322
+#: catalog/aclchk.c:3362
 #, c-format
 msgid "must be owner of large object %s"
 msgstr "doit être le propriétaire du Large Object %s"
 
-#: catalog/aclchk.c:3324
+#: catalog/aclchk.c:3364
 #, c-format
 msgid "must be owner of schema %s"
 msgstr "doit être le propriétaire du schéma %s"
 
-#: catalog/aclchk.c:3326
+#: catalog/aclchk.c:3366
 #, c-format
 msgid "must be owner of operator class %s"
 msgstr "doit être le propriétaire de la classe d'opérateur %s"
 
-#: catalog/aclchk.c:3328
+#: catalog/aclchk.c:3368
 #, c-format
 msgid "must be owner of operator family %s"
 msgstr "doit être le prorpriétaire de la famille d'opérateur %s"
 
-#: catalog/aclchk.c:3330
+#: catalog/aclchk.c:3370
 #, c-format
 msgid "must be owner of collation %s"
 msgstr "doit être le propriétaire du collationnement %s"
 
-#: catalog/aclchk.c:3332
+#: catalog/aclchk.c:3372
 #, c-format
 msgid "must be owner of conversion %s"
 msgstr "doit être le propriétaire de la conversion %s"
 
-#: catalog/aclchk.c:3334
+#: catalog/aclchk.c:3374
 #, c-format
 msgid "must be owner of tablespace %s"
 msgstr "doit être le propriétaire du tablespace %s"
 
-#: catalog/aclchk.c:3336
+#: catalog/aclchk.c:3376
 #, c-format
 msgid "must be owner of text search dictionary %s"
 msgstr "doit être le propriétaire du dictionnaire de recherche plein texte %s"
 
-#: catalog/aclchk.c:3338
+#: catalog/aclchk.c:3378
 #, c-format
 msgid "must be owner of text search configuration %s"
 msgstr "doit être le propriétaire de la configuration de recherche plein texte %s"
 
-#: catalog/aclchk.c:3340
+#: catalog/aclchk.c:3380
 #, c-format
 msgid "must be owner of foreign-data wrapper %s"
 msgstr "doit être le propriétaire du wrapper de données distantes %s"
 
-#: catalog/aclchk.c:3342
+#: catalog/aclchk.c:3382
 #, c-format
 msgid "must be owner of foreign server %s"
 msgstr "doit être le propriétaire de serveur distant %s"
 
-#: catalog/aclchk.c:3344
+#: catalog/aclchk.c:3384
 #, c-format
 msgid "must be owner of event trigger %s"
 msgstr "doit être le propriétaire du trigger sur événement %s"
 
-#: catalog/aclchk.c:3346
+#: catalog/aclchk.c:3386
 #, c-format
 msgid "must be owner of extension %s"
 msgstr "doit être le propriétaire de l'extension %s"
 
-#: catalog/aclchk.c:3388
+#: catalog/aclchk.c:3428
 #, c-format
 msgid "permission denied for column \"%s\" of relation \"%s\""
 msgstr "droit refusé pour la colonne « %s » de la relation « %s »"
 
-#: catalog/aclchk.c:3507 catalog/aclchk.c:3515
+#: catalog/aclchk.c:3547 catalog/aclchk.c:3555
 #, c-format
 msgid "attribute %d of relation with OID %u does not exist"
 msgstr "l'attribut %d de la relation d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:3588 catalog/aclchk.c:4502
+#: catalog/aclchk.c:3628 catalog/aclchk.c:4542
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "la relation d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:3687 catalog/aclchk.c:4920
+#: catalog/aclchk.c:3727 catalog/aclchk.c:4960
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "la base de données d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:3741 catalog/aclchk.c:4580 tcop/fastpath.c:223
+#: catalog/aclchk.c:3781 catalog/aclchk.c:4620 tcop/fastpath.c:223
 #, c-format
 msgid "function with OID %u does not exist"
 msgstr "la fonction d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:3795 catalog/aclchk.c:4606
+#: catalog/aclchk.c:3835 catalog/aclchk.c:4646
 #, c-format
 msgid "language with OID %u does not exist"
 msgstr "le langage d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:3959 catalog/aclchk.c:4678
+#: catalog/aclchk.c:3999 catalog/aclchk.c:4718
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "le schéma d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4013 catalog/aclchk.c:4705
+#: catalog/aclchk.c:4053 catalog/aclchk.c:4745
 #, c-format
 msgid "tablespace with OID %u does not exist"
 msgstr "le tablespace d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4071 catalog/aclchk.c:4839 commands/foreigncmds.c:325
+#: catalog/aclchk.c:4111 catalog/aclchk.c:4879 commands/foreigncmds.c:325
 #, c-format
 msgid "foreign-data wrapper with OID %u does not exist"
 msgstr "le wrapper de données distantes d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4132 catalog/aclchk.c:4866 commands/foreigncmds.c:461
+#: catalog/aclchk.c:4172 catalog/aclchk.c:4906 commands/foreigncmds.c:461
 #, c-format
 msgid "foreign server with OID %u does not exist"
 msgstr "le serveur distant d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4191 catalog/aclchk.c:4205 catalog/aclchk.c:4528
+#: catalog/aclchk.c:4231 catalog/aclchk.c:4245 catalog/aclchk.c:4568
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "le type d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4554
+#: catalog/aclchk.c:4594
 #, c-format
 msgid "operator with OID %u does not exist"
 msgstr "l'opérateur d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4731
+#: catalog/aclchk.c:4771
 #, c-format
 msgid "operator class with OID %u does not exist"
 msgstr "la classe d'opérateur d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4758
+#: catalog/aclchk.c:4798
 #, c-format
 msgid "operator family with OID %u does not exist"
 msgstr "la famille d'opérateur d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4785
+#: catalog/aclchk.c:4825
 #, c-format
 msgid "text search dictionary with OID %u does not exist"
 msgstr "le dictionnaire de recherche plein texte d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4812
+#: catalog/aclchk.c:4852
 #, c-format
 msgid "text search configuration with OID %u does not exist"
 msgstr "la configuration de recherche plein texte d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4893 commands/event_trigger.c:586
+#: catalog/aclchk.c:4933 commands/event_trigger.c:587
 #, c-format
 msgid "event trigger with OID %u does not exist"
 msgstr "le trigger sur événement d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4946
+#: catalog/aclchk.c:4986
 #, c-format
 msgid "collation with OID %u does not exist"
 msgstr "le collationnement d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4972
+#: catalog/aclchk.c:5012
 #, c-format
 msgid "conversion with OID %u does not exist"
 msgstr "la conversion d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:5013
+#: catalog/aclchk.c:5053
 #, c-format
 msgid "extension with OID %u does not exist"
 msgstr "l'extension d'OID %u n'existe pas"
 
-#: catalog/dependency.c:640
+#: catalog/dependency.c:646
 #, c-format
 msgid "cannot drop %s because %s requires it"
 msgstr "n'a pas pu supprimer %s car il est requis par %s"
 
-#: catalog/dependency.c:643
+#: catalog/dependency.c:649
 #, c-format
 msgid "You can drop %s instead."
 msgstr "Vous pouvez supprimer %s à la place."
 
-#: catalog/dependency.c:804 catalog/pg_shdepend.c:576
+#: catalog/dependency.c:811 catalog/pg_shdepend.c:576
 #, c-format
 msgid "cannot drop %s because it is required by the database system"
 msgstr "n'a pas pu supprimer %s car il est requis par le système de bases de données"
 
-#: catalog/dependency.c:920
+#: catalog/dependency.c:927
 #, c-format
 msgid "drop auto-cascades to %s"
 msgstr "DROP cascade automatiquement sur %s"
 
-#: catalog/dependency.c:932 catalog/dependency.c:941
+#: catalog/dependency.c:939 catalog/dependency.c:948
 #, c-format
 msgid "%s depends on %s"
 msgstr "%s dépend de %s"
 
-#: catalog/dependency.c:953 catalog/dependency.c:962
+#: catalog/dependency.c:960 catalog/dependency.c:969
 #, c-format
 msgid "drop cascades to %s"
 msgstr "DROP cascade sur %s"
 
-#: catalog/dependency.c:970 catalog/pg_shdepend.c:687
+#: catalog/dependency.c:977 catalog/pg_shdepend.c:687
 #, c-format
 msgid ""
 "\n"
@@ -3163,246 +3751,259 @@ msgstr[1] ""
 "\n"
 "et %d autres objets (voir le journal applicatif du serveur pour une liste)"
 
-#: catalog/dependency.c:982
+#: catalog/dependency.c:989
 #, c-format
 msgid "cannot drop %s because other objects depend on it"
 msgstr "n'a pas pu supprimer %s car d'autres objets en dépendent"
 
-#: catalog/dependency.c:986 catalog/dependency.c:993
+#: catalog/dependency.c:993 catalog/dependency.c:1000
 #, c-format
 msgid "Use DROP ... CASCADE to drop the dependent objects too."
 msgstr "Utilisez DROP ... CASCADE pour supprimer aussi les objets dépendants."
 
-#: catalog/dependency.c:990
+#: catalog/dependency.c:997
 #, c-format
 msgid "cannot drop desired object(s) because other objects depend on them"
 msgstr "ne peut pas supprimer les objets désirés car d'autres objets en dépendent"
 
 #. translator: %d always has a value larger than 1
-#: catalog/dependency.c:999
+#: catalog/dependency.c:1006
 #, c-format
 msgid "drop cascades to %d other object"
 msgid_plural "drop cascades to %d other objects"
 msgstr[0] "DROP cascade sur %d autre objet"
 msgstr[1] "DROP cascade sur %d autres objets"
 
-#: catalog/dependency.c:1622
+#: catalog/dependency.c:1634
 #, c-format
 msgid "constant of the type \"regrole\" cannot be used here"
 msgstr "une constante de type « regrole » ne peut pas être utilisée ici"
 
-#: catalog/heap.c:276
+#: catalog/heap.c:277
 #, c-format
 msgid "permission denied to create \"%s.%s\""
 msgstr "droit refusé pour créer « %s.%s »"
 
-#: catalog/heap.c:278
+#: catalog/heap.c:279
 #, c-format
 msgid "System catalog modifications are currently disallowed."
 msgstr "Les modifications du catalogue système sont actuellement interdites."
 
-#: catalog/heap.c:413 commands/tablecmds.c:1434 commands/tablecmds.c:1887 commands/tablecmds.c:4804
+#: catalog/heap.c:414 commands/tablecmds.c:1438 commands/tablecmds.c:1895
+#: commands/tablecmds.c:4819
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "les tables peuvent avoir au plus %d colonnes"
 
-#: catalog/heap.c:430 commands/tablecmds.c:5063
+#: catalog/heap.c:431 commands/tablecmds.c:5080
 #, c-format
 msgid "column name \"%s\" conflicts with a system column name"
 msgstr "le nom de la colonne « %s » entre en conflit avec le nom d'une colonne système"
 
-#: catalog/heap.c:446
+#: catalog/heap.c:447
 #, c-format
 msgid "column name \"%s\" specified more than once"
 msgstr "colonne « %s » spécifiée plus d'une fois"
 
-#: catalog/heap.c:496
+#: catalog/heap.c:497
 #, c-format
 msgid "column \"%s\" has type \"unknown\""
 msgstr "la colonne « %s » est de type « unknown »"
 
-#: catalog/heap.c:497
+#: catalog/heap.c:498
 #, c-format
 msgid "Proceeding with relation creation anyway."
 msgstr "Poursuit malgré tout la création de la relation."
 
-#: catalog/heap.c:510
+#: catalog/heap.c:511
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "la colonne « %s » a le pseudo type %s"
 
-#: catalog/heap.c:540
+#: catalog/heap.c:541
 #, c-format
 msgid "composite type %s cannot be made a member of itself"
 msgstr "le type composite %s ne peut pas être membre de lui-même"
 
-#: catalog/heap.c:582 commands/createas.c:373
+#: catalog/heap.c:583 commands/createas.c:373
 #, c-format
 msgid "no collation was derived for column \"%s\" with collatable type %s"
 msgstr "aucun collationnement n'a été dérivé pour la colonne « %s » de type collationnable %s"
 
-#: catalog/heap.c:584 commands/createas.c:375 commands/indexcmds.c:1087 commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1514 utils/adt/formatting.c:1566 utils/adt/formatting.c:1634 utils/adt/formatting.c:1686 utils/adt/formatting.c:1755 utils/adt/formatting.c:1819 utils/adt/like.c:213 utils/adt/selfuncs.c:5276 utils/adt/varlena.c:1411 utils/adt/varlena.c:1800
+#: catalog/heap.c:585 commands/createas.c:375 commands/indexcmds.c:1132
+#: commands/view.c:116 regex/regc_pg_locale.c:262 utils/adt/formatting.c:1513
+#: utils/adt/formatting.c:1565 utils/adt/formatting.c:1633
+#: utils/adt/formatting.c:1685 utils/adt/formatting.c:1754
+#: utils/adt/formatting.c:1818 utils/adt/like.c:213 utils/adt/selfuncs.c:5330
+#: utils/adt/varlena.c:1421 utils/adt/varlena.c:1826
 #, c-format
 msgid "Use the COLLATE clause to set the collation explicitly."
 msgstr "Utilisez la clause COLLARE pour configurer explicitement le collationnement."
 
-#: catalog/heap.c:1065 catalog/index.c:793 commands/tablecmds.c:2614
+#: catalog/heap.c:1066 catalog/index.c:792 commands/tablecmds.c:2622
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "la relation « %s » existe déjà"
 
-#: catalog/heap.c:1081 catalog/pg_type.c:412 catalog/pg_type.c:722 commands/typecmds.c:235 commands/typecmds.c:782 commands/typecmds.c:1133 commands/typecmds.c:1355 commands/typecmds.c:2109
+#: catalog/heap.c:1082 catalog/pg_type.c:412 catalog/pg_type.c:722
+#: commands/typecmds.c:237 commands/typecmds.c:784 commands/typecmds.c:1135
+#: commands/typecmds.c:1357 commands/typecmds.c:2113
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "le type « %s » existe déjà"
 
-#: catalog/heap.c:1082
+#: catalog/heap.c:1083
 #, c-format
 msgid "A relation has an associated type of the same name, so you must use a name that doesn't conflict with any existing type."
 msgstr ""
 "Une relation a un type associé du même nom, donc vous devez utiliser un nom\n"
 "qui n'entre pas en conflit avec un type existant."
 
-#: catalog/heap.c:1110
+#: catalog/heap.c:1111
 #, c-format
 msgid "pg_class heap OID value not set when in binary upgrade mode"
 msgstr "OID du heap de pg_class non configuré en mode de mise à jour binaire"
 
-#: catalog/heap.c:2290
+#: catalog/heap.c:2289
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "la contrainte de vérification « %s » existe déjà"
 
-#: catalog/heap.c:2445 catalog/pg_constraint.c:652 commands/tablecmds.c:6038
+#: catalog/heap.c:2442 catalog/pg_constraint.c:654 commands/tablecmds.c:6068
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "la contrainte « %s » de la relation « %s » existe déjà"
 
-#: catalog/heap.c:2455
+#: catalog/heap.c:2452
 #, c-format
 msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\""
 msgstr "la contrainte « %s » entre en conflit avec la constrainte non héritée sur la relation « %s »"
 
-#: catalog/heap.c:2469
+#: catalog/heap.c:2466
 #, c-format
 msgid "merging constraint \"%s\" with inherited definition"
 msgstr "assemblage de la contrainte « %s » avec une définition héritée"
 
-#: catalog/heap.c:2562
+#: catalog/heap.c:2559
 #, c-format
 msgid "cannot use column references in default expression"
 msgstr "ne peut pas utiliser les références de colonnes dans l'expression par défaut"
 
-#: catalog/heap.c:2573
+#: catalog/heap.c:2570
 #, c-format
 msgid "default expression must not return a set"
 msgstr "l'expression par défaut ne doit pas renvoyer un ensemble"
 
-#: catalog/heap.c:2592 rewrite/rewriteHandler.c:1077
+#: catalog/heap.c:2589 rewrite/rewriteHandler.c:1084
 #, c-format
 msgid "column \"%s\" is of type %s but default expression is of type %s"
 msgstr "la colonne « %s » est de type %s alors que l'expression par défaut est de type %s"
 
-#: catalog/heap.c:2597 commands/prepare.c:374 parser/parse_node.c:411 parser/parse_target.c:528 parser/parse_target.c:778 parser/parse_target.c:788 rewrite/rewriteHandler.c:1082
+#: catalog/heap.c:2594 commands/prepare.c:374 parser/parse_node.c:428
+#: parser/parse_target.c:528 parser/parse_target.c:778
+#: parser/parse_target.c:788 rewrite/rewriteHandler.c:1089
 #, c-format
 msgid "You will need to rewrite or cast the expression."
 msgstr "Vous devez réécrire l'expression ou lui appliquer une transformation de type."
 
-#: catalog/heap.c:2644
+#: catalog/heap.c:2641
 #, c-format
 msgid "only table \"%s\" can be referenced in check constraint"
 msgstr "seule la table « %s » peut être référencée dans la contrainte de vérification"
 
-#: catalog/heap.c:2884
+#: catalog/heap.c:2881
 #, c-format
 msgid "unsupported ON COMMIT and foreign key combination"
 msgstr "combinaison ON COMMIT et clé étrangère non supportée"
 
-#: catalog/heap.c:2885
+#: catalog/heap.c:2882
 #, c-format
 msgid "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT setting."
 msgstr ""
 "La table « %s » référence « %s » mais elles n'ont pas la même valeur pour le\n"
 "paramètre ON COMMIT."
 
-#: catalog/heap.c:2890
+#: catalog/heap.c:2887
 #, c-format
 msgid "cannot truncate a table referenced in a foreign key constraint"
 msgstr "ne peut pas tronquer une table référencée dans une contrainte de clé étrangère"
 
-#: catalog/heap.c:2891
+#: catalog/heap.c:2888
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "La table « %s » référence « %s »."
 
-#: catalog/heap.c:2893
+#: catalog/heap.c:2890
 #, c-format
 msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE."
 msgstr "Tronquez la table « %s » en même temps, ou utilisez TRUNCATE ... CASCADE."
 
-#: catalog/index.c:205 parser/parse_utilcmd.c:1436 parser/parse_utilcmd.c:1522
+#: catalog/index.c:210 parser/parse_utilcmd.c:1486 parser/parse_utilcmd.c:1572
 #, c-format
 msgid "multiple primary keys for table \"%s\" are not allowed"
 msgstr "les clés primaires multiples ne sont pas autorisées pour la table « %s »"
 
-#: catalog/index.c:223
+#: catalog/index.c:228
 #, c-format
 msgid "primary keys cannot be expressions"
 msgstr "les clés primaires ne peuvent pas être des expressions"
 
-#: catalog/index.c:743 catalog/index.c:1161
+#: catalog/index.c:742 catalog/index.c:1160
 #, c-format
 msgid "user-defined indexes on system catalog tables are not supported"
 msgstr "les index définis par l'utilisateur sur les tables du catalogue système ne sont pas supportés"
 
-#: catalog/index.c:753
+#: catalog/index.c:752
 #, c-format
 msgid "concurrent index creation on system catalog tables is not supported"
 msgstr ""
 "la création en parallèle d'un index sur les tables du catalogue système\n"
 "n'est pas supportée"
 
-#: catalog/index.c:771
+#: catalog/index.c:770
 #, c-format
 msgid "shared indexes cannot be created after initdb"
 msgstr "les index partagés ne peuvent pas être créés après initdb"
 
-#: catalog/index.c:785 commands/createas.c:100 commands/sequence.c:141 parser/parse_utilcmd.c:185
+#: catalog/index.c:784 commands/createas.c:100 commands/sequence.c:141
+#: parser/parse_utilcmd.c:192
 #, c-format
 msgid "relation \"%s\" already exists, skipping"
 msgstr "la relation « %s » existe déjà, poursuite du traitement"
 
-#: catalog/index.c:821
+#: catalog/index.c:820
 #, c-format
 msgid "pg_class index OID value not set when in binary upgrade mode"
 msgstr "OID de l'index de pg_class non configuré en mode de mise à jour binaire"
 
-#: catalog/index.c:1423
+#: catalog/index.c:1422
 #, c-format
 msgid "DROP INDEX CONCURRENTLY must be first action in transaction"
 msgstr "DROP INDEX CONCURRENTLY doit être la première action dans une transaction"
 
-#: catalog/index.c:2007
+#: catalog/index.c:2004
 #, c-format
 msgid "building index \"%s\" on table \"%s\""
 msgstr "construction de l'index « %s » sur la table « %s »"
 
-#: catalog/index.c:3262
+#: catalog/index.c:3315
 #, c-format
 msgid "cannot reindex temporary tables of other sessions"
 msgstr "ne peut pas ré-indexer les tables temporaires des autres sessions"
 
-#: catalog/index.c:3387
+#: catalog/index.c:3440
 #, c-format
 msgid "index \"%s\" was reindexed"
 msgstr "l'index « %s » a été réindexée"
 
-#: catalog/index.c:3389 commands/vacuumlazy.c:1135 commands/vacuumlazy.c:1211 commands/vacuumlazy.c:1378 commands/vacuumlazy.c:1550
+#: catalog/index.c:3442 commands/vacuumlazy.c:1323 commands/vacuumlazy.c:1399
+#: commands/vacuumlazy.c:1588 commands/vacuumlazy.c:1789
 #, c-format
 msgid "%s."
 msgstr "%s."
 
-#: catalog/namespace.c:249 catalog/namespace.c:447 catalog/namespace.c:541 commands/trigger.c:4528
+#: catalog/namespace.c:249 catalog/namespace.c:447 catalog/namespace.c:541
+#: commands/trigger.c:4527
 #, c-format
 msgid "cross-database references are not implemented: \"%s.%s.%s\""
 msgstr "les références entre bases de données ne sont pas implémentées : « %s.%s.%s »"
@@ -3427,12 +4028,14 @@ msgstr "n'a pas pu obtenir un verrou sur la relation 
 msgid "relation \"%s.%s\" does not exist"
 msgstr "la relation « %s.%s » n'existe pas"
 
-#: catalog/namespace.c:419 parser/parse_relation.c:1150 parser/parse_relation.c:1158 utils/adt/regproc.c:1034
+#: catalog/namespace.c:419 parser/parse_relation.c:1150
+#: parser/parse_relation.c:1158 utils/adt/regproc.c:1034
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "la relation « %s » n'existe pas"
 
-#: catalog/namespace.c:487 catalog/namespace.c:2852 commands/extension.c:1394 commands/extension.c:1400
+#: catalog/namespace.c:487 catalog/namespace.c:2841 commands/extension.c:1382
+#: commands/extension.c:1388
 #, c-format
 msgid "no schema has been selected to create in"
 msgstr "aucun schéma n'a été sélectionné pour cette création"
@@ -3467,7 +4070,8 @@ msgstr "le dictionnaire de recherche plein texte 
 msgid "text search template \"%s\" does not exist"
 msgstr "le modèle de recherche plein texte « %s » n'existe pas"
 
-#: catalog/namespace.c:2533 commands/tsearchcmds.c:1197 utils/cache/ts_cache.c:613
+#: catalog/namespace.c:2533 commands/tsearchcmds.c:1197
+#: utils/cache/ts_cache.c:613
 #, c-format
 msgid "text search configuration \"%s\" does not exist"
 msgstr "la configuration de recherche plein texte « %s » n'existe pas"
@@ -3477,294 +4081,311 @@ msgstr "la configuration de recherche plein texte 
 msgid "cross-database references are not implemented: %s"
 msgstr "les références entre bases de données ne sont pas implémentées : %s"
 
-#: catalog/namespace.c:2652 gram.y:13305 gram.y:14659 parser/parse_expr.c:796 parser/parse_target.c:1137
+#: catalog/namespace.c:2652 gram.y:13434 gram.y:14791 parser/parse_expr.c:796
+#: parser/parse_target.c:1137
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "mauvaise qualification du nom (trop de points entre les noms) : %s"
 
-#: catalog/namespace.c:2786
-#, c-format
-msgid "%s is already in schema \"%s\""
-msgstr "%s existe déjà dans le schéma « %s »"
-
-#: catalog/namespace.c:2794
+#: catalog/namespace.c:2783
 #, c-format
 msgid "cannot move objects into or out of temporary schemas"
 msgstr "ne peut pas déplacer les objets dans ou à partir des schémas temporaires"
 
-#: catalog/namespace.c:2800
+#: catalog/namespace.c:2789
 #, c-format
 msgid "cannot move objects into or out of TOAST schema"
 msgstr "ne peut pas déplacer les objets dans ou à partir des schémas TOAST"
 
-#: catalog/namespace.c:2873 commands/schemacmds.c:238 commands/schemacmds.c:317 commands/tablecmds.c:736
+#: catalog/namespace.c:2862 commands/schemacmds.c:238
+#: commands/schemacmds.c:317 commands/tablecmds.c:740
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "le schéma « %s » n'existe pas"
 
-#: catalog/namespace.c:2904
+#: catalog/namespace.c:2893
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "nom de relation incorrecte (trop de points entre les noms) : %s"
 
-#: catalog/namespace.c:3369
+#: catalog/namespace.c:3358
 #, c-format
 msgid "collation \"%s\" for encoding \"%s\" does not exist"
 msgstr "le collationnement « %s » pour l'encodage « %s » n'existe pas"
 
-#: catalog/namespace.c:3424
+#: catalog/namespace.c:3413
 #, c-format
 msgid "conversion \"%s\" does not exist"
 msgstr "la conversion « %s » n'existe pas"
 
-#: catalog/namespace.c:3632
+#: catalog/namespace.c:3621
 #, c-format
 msgid "permission denied to create temporary tables in database \"%s\""
 msgstr "droit refusé pour la création de tables temporaires dans la base de données « %s »"
 
-#: catalog/namespace.c:3648
+#: catalog/namespace.c:3637
 #, c-format
 msgid "cannot create temporary tables during recovery"
 msgstr "ne peut pas créer des tables temporaires lors de la restauration"
 
-#: catalog/namespace.c:3654
+#: catalog/namespace.c:3643
 #, c-format
 msgid "cannot create temporary tables in parallel mode"
 msgstr "ne peut pas créer des tables temporaires dans le mode de parallélisation"
 
-#: catalog/namespace.c:3898 commands/tablespace.c:1159 commands/variable.c:63 replication/syncrep.c:700 utils/misc/guc.c:9636
+#: catalog/namespace.c:3887 commands/tablespace.c:1173 commands/variable.c:63
+#: utils/misc/guc.c:9853
 #, c-format
 msgid "List syntax is invalid."
 msgstr "La syntaxe de la liste est invalide."
 
-#: catalog/objectaddress.c:1021
+#: catalog/objectaddress.c:1065
+#, fuzzy
+#| msgid "schema name cannot be qualified"
+msgid "access method name cannot be qualified"
+msgstr "le nom du schéma ne peut pas être qualifié"
+
+#: catalog/objectaddress.c:1068
 msgid "database name cannot be qualified"
 msgstr "le nom de la base de donnée ne peut être qualifié"
 
-#: catalog/objectaddress.c:1024 commands/extension.c:2423
+#: catalog/objectaddress.c:1071 commands/extension.c:2506
 #, c-format
 msgid "extension name cannot be qualified"
 msgstr "le nom de l'extension ne peut pas être qualifié"
 
-#: catalog/objectaddress.c:1027
+#: catalog/objectaddress.c:1074
 msgid "tablespace name cannot be qualified"
 msgstr "le nom du tablespace ne peut pas être qualifié"
 
-#: catalog/objectaddress.c:1030
+#: catalog/objectaddress.c:1077
 msgid "role name cannot be qualified"
 msgstr "le nom du rôle ne peut pas être qualifié"
 
-#: catalog/objectaddress.c:1033
+#: catalog/objectaddress.c:1080
 msgid "schema name cannot be qualified"
 msgstr "le nom du schéma ne peut pas être qualifié"
 
-#: catalog/objectaddress.c:1036
+#: catalog/objectaddress.c:1083
 msgid "language name cannot be qualified"
 msgstr "le nom du langage ne peut pas être qualifié"
 
-#: catalog/objectaddress.c:1039
+#: catalog/objectaddress.c:1086
 msgid "foreign-data wrapper name cannot be qualified"
 msgstr "le nom du wrapper de données distantes ne peut pas être qualifié"
 
-#: catalog/objectaddress.c:1042
+#: catalog/objectaddress.c:1089
 msgid "server name cannot be qualified"
 msgstr "le nom du serveur ne peut pas être qualifié"
 
-#: catalog/objectaddress.c:1045
+#: catalog/objectaddress.c:1092
 msgid "event trigger name cannot be qualified"
 msgstr "le nom du trigger sur événement ne peut pas être qualifié"
 
-#: catalog/objectaddress.c:1158 commands/lockcmds.c:94 commands/policy.c:94 commands/policy.c:384 commands/policy.c:473 commands/tablecmds.c:215 commands/tablecmds.c:1295 commands/tablecmds.c:4338 commands/tablecmds.c:7947
+#: catalog/objectaddress.c:1210 commands/lockcmds.c:94 commands/policy.c:94
+#: commands/policy.c:384 commands/policy.c:473 commands/tablecmds.c:217
+#: commands/tablecmds.c:1299 commands/tablecmds.c:4346
+#: commands/tablecmds.c:7977
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "« %s » n'est pas une table"
 
-#: catalog/objectaddress.c:1165 commands/tablecmds.c:227 commands/tablecmds.c:4368 commands/tablecmds.c:11965 commands/view.c:155
+#: catalog/objectaddress.c:1217 commands/tablecmds.c:229
+#: commands/tablecmds.c:4376 commands/tablecmds.c:12012 commands/view.c:155
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "« %s » n'est pas une vue"
 
-#: catalog/objectaddress.c:1172 commands/matview.c:174 commands/tablecmds.c:233 commands/tablecmds.c:11970
+#: catalog/objectaddress.c:1224 commands/matview.c:174
+#: commands/tablecmds.c:235 commands/tablecmds.c:12017
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "« %s » n'est pas une vue matérialisée"
 
-#: catalog/objectaddress.c:1179 commands/tablecmds.c:251 commands/tablecmds.c:4371 commands/tablecmds.c:11975
+#: catalog/objectaddress.c:1231 commands/tablecmds.c:253
+#: commands/tablecmds.c:4379 commands/tablecmds.c:12022
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "« %s » n'est pas une table distante"
 
-#: catalog/objectaddress.c:1324 catalog/objectaddress.c:1377
+#: catalog/objectaddress.c:1376 catalog/objectaddress.c:1429
 #, c-format
 msgid "column name must be qualified"
 msgstr "le nom de la colonne doit être qualifié"
 
-#: catalog/objectaddress.c:1420
+#: catalog/objectaddress.c:1472
 #, c-format
 msgid "default value for column \"%s\" of relation \"%s\" does not exist"
 msgstr "la valeur par défaut de la colonne « %s » de la relation « %s » n'existe pas"
 
-#: catalog/objectaddress.c:1460 commands/functioncmds.c:128 commands/tablecmds.c:243 commands/typecmds.c:3210 parser/parse_type.c:226 parser/parse_type.c:255 parser/parse_type.c:795 utils/adt/acl.c:4373 utils/adt/regproc.c:1225
+#: catalog/objectaddress.c:1512 commands/functioncmds.c:128
+#: commands/tablecmds.c:245 commands/typecmds.c:3214 parser/parse_type.c:226
+#: parser/parse_type.c:255 parser/parse_type.c:795 utils/adt/acl.c:4374
+#: utils/adt/regproc.c:1225
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "le type « %s » n'existe pas"
 
-#: catalog/objectaddress.c:1577
+#: catalog/objectaddress.c:1629
 #, c-format
 msgid "operator %d (%s, %s) of %s does not exist"
 msgstr "l'opérateur %d (%s, %s) de %s n'existe pas"
 
-#: catalog/objectaddress.c:1606
+#: catalog/objectaddress.c:1658
 #, c-format
 msgid "function %d (%s, %s) of %s does not exist"
 msgstr "la fonction %d (%s, %s) de %s n'existe pas"
 
-#: catalog/objectaddress.c:1655 catalog/objectaddress.c:1681
+#: catalog/objectaddress.c:1707 catalog/objectaddress.c:1733
 #, c-format
 msgid "user mapping for user \"%s\" on server \"%s\" does not exist"
 msgstr "la correspondance pour l'utilisateur « %s » sur le serveur « %s » n'existe pas"
 
-#: catalog/objectaddress.c:1670 commands/foreigncmds.c:430 commands/foreigncmds.c:997 commands/foreigncmds.c:1359 foreign/foreign.c:691
+#: catalog/objectaddress.c:1722 commands/foreigncmds.c:430
+#: commands/foreigncmds.c:997 commands/foreigncmds.c:1359
+#: foreign/foreign.c:798
 #, c-format
 msgid "server \"%s\" does not exist"
 msgstr "le serveur « %s » n'existe pas"
 
-#: catalog/objectaddress.c:1742
+#: catalog/objectaddress.c:1794
 #, c-format
 msgid "unrecognized default ACL object type %c"
 msgstr "type d'objet de droits par défaut non reconnu %c"
 
-#: catalog/objectaddress.c:1743
+#: catalog/objectaddress.c:1795
 #, c-format
 msgid "Valid object types are \"r\", \"S\", \"f\", and \"T\"."
 msgstr "Les types d'objet valides sont « r », « S », « f » et « T »."
 
-#: catalog/objectaddress.c:1789
+#: catalog/objectaddress.c:1841
 #, c-format
 msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist"
 msgstr "le droit par défaut pour l'utilisateur « % s» dans le schéma « %s » de %s n'existe pas"
 
-#: catalog/objectaddress.c:1794
+#: catalog/objectaddress.c:1846
 #, c-format
 msgid "default ACL for user \"%s\" on %s does not exist"
 msgstr "le droit par défaut pour l'utilisateur « %s » sur %s n'existe pas"
 
-#: catalog/objectaddress.c:1821 catalog/objectaddress.c:1877 catalog/objectaddress.c:1932
+#: catalog/objectaddress.c:1873 catalog/objectaddress.c:1929
+#: catalog/objectaddress.c:1984
 #, c-format
 msgid "name or argument lists may not contain nulls"
 msgstr "le nom ou les listes d'arguments ne peuvent pas contenir de valeurs NULL"
 
-#: catalog/objectaddress.c:1853
+#: catalog/objectaddress.c:1905
 #, c-format
 msgid "unsupported object type \"%s\""
 msgstr "type d'objet « %s » non supporté"
 
-#: catalog/objectaddress.c:1873 catalog/objectaddress.c:1891
+#: catalog/objectaddress.c:1925 catalog/objectaddress.c:1943
 #, c-format
 msgid "name list length must be exactly %d"
 msgstr "la liste de nom doit être exactement de longueur %d"
 
-#: catalog/objectaddress.c:1895
+#: catalog/objectaddress.c:1947
 #, c-format
 msgid "large object OID may not be null"
 msgstr "l'OID du Large Object peut ne pas être NULL"
 
-#: catalog/objectaddress.c:1904 catalog/objectaddress.c:1964 catalog/objectaddress.c:1971
+#: catalog/objectaddress.c:1956 catalog/objectaddress.c:2016
+#: catalog/objectaddress.c:2023
 #, c-format
 msgid "name list length must be at least %d"
 msgstr "la longueur de la liste de nom doit au moins être %d"
 
-#: catalog/objectaddress.c:1957 catalog/objectaddress.c:1977
+#: catalog/objectaddress.c:2009 catalog/objectaddress.c:2029
 #, c-format
 msgid "argument list length must be exactly %d"
 msgstr "la longueur de la liste d'arguments doit être %d exactement"
 
-#: catalog/objectaddress.c:2113 libpq/be-fsstubs.c:352
+#: catalog/objectaddress.c:2165 libpq/be-fsstubs.c:352
 #, c-format
 msgid "must be owner of large object %u"
 msgstr "doit être le propriétaire du Large Object %u"
 
-#: catalog/objectaddress.c:2128 commands/functioncmds.c:1386
+#: catalog/objectaddress.c:2180 commands/functioncmds.c:1426
 #, c-format
 msgid "must be owner of type %s or type %s"
 msgstr "doit être le propriétaire du type %s ou du type %s"
 
-#: catalog/objectaddress.c:2168 catalog/objectaddress.c:2184
+#: catalog/objectaddress.c:2220 catalog/objectaddress.c:2237
 #, c-format
 msgid "must be superuser"
 msgstr "doit être super-utilisateur"
 
-#: catalog/objectaddress.c:2175
+#: catalog/objectaddress.c:2227
 #, c-format
 msgid "must have CREATEROLE privilege"
 msgstr "doit avoir l'attribut CREATEROLE"
 
-#: catalog/objectaddress.c:2254
+#: catalog/objectaddress.c:2307
 #, c-format
 msgid "unrecognized object type \"%s\""
 msgstr "type d'objet non reconnu « %s »"
 
-#: catalog/objectaddress.c:2449
+#: catalog/objectaddress.c:2502
 #, c-format
 msgid " column %s"
 msgstr " colonne %s"
 
-#: catalog/objectaddress.c:2455
+#: catalog/objectaddress.c:2508
 #, c-format
 msgid "function %s"
 msgstr "fonction %s"
 
-#: catalog/objectaddress.c:2460
+#: catalog/objectaddress.c:2513
 #, c-format
 msgid "type %s"
 msgstr "type %s"
 
-#: catalog/objectaddress.c:2490
+#: catalog/objectaddress.c:2543
 #, c-format
 msgid "cast from %s to %s"
 msgstr "conversion de %s en %s"
 
-#: catalog/objectaddress.c:2510
+#: catalog/objectaddress.c:2563
 #, c-format
 msgid "collation %s"
 msgstr "collationnement %s"
 
-#: catalog/objectaddress.c:2534
+#: catalog/objectaddress.c:2587
 #, c-format
 msgid "constraint %s on %s"
 msgstr "contrainte %s sur %s"
 
-#: catalog/objectaddress.c:2540
+#: catalog/objectaddress.c:2593
 #, c-format
 msgid "constraint %s"
 msgstr "contrainte %s"
 
-#: catalog/objectaddress.c:2557
+#: catalog/objectaddress.c:2610
 #, c-format
 msgid "conversion %s"
 msgstr "conversion %s"
 
-#: catalog/objectaddress.c:2594
+#: catalog/objectaddress.c:2647
 #, c-format
 msgid "default for %s"
 msgstr "valeur par défaut pour %s"
 
-#: catalog/objectaddress.c:2603
+#: catalog/objectaddress.c:2656
 #, c-format
 msgid "language %s"
 msgstr "langage %s"
 
-#: catalog/objectaddress.c:2608
+#: catalog/objectaddress.c:2661
 #, c-format
 msgid "large object %u"
 msgstr "« Large Object » %u"
 
-#: catalog/objectaddress.c:2613
+#: catalog/objectaddress.c:2666
 #, c-format
 msgid "operator %s"
 msgstr "opérateur %s"
 
-#: catalog/objectaddress.c:2645
+#: catalog/objectaddress.c:2698
 #, c-format
 msgid "operator class %s for access method %s"
 msgstr "classe d'opérateur %s pour la méthode d'accès %s"
@@ -3773,7 +4394,7 @@ msgstr "classe d'op
 #. first two %s's are data type names, the third %s is the
 #. description of the operator family, and the last %s is the
 #. textual form of the operator with arguments.
-#: catalog/objectaddress.c:2695
+#: catalog/objectaddress.c:2748
 #, c-format
 msgid "operator %d (%s, %s) of %s: %s"
 msgstr "opérateur %d (%s, %s) de %s : %s"
@@ -3782,211 +4403,217 @@ msgstr "op
 #. are data type names, the third %s is the description of the
 #. operator family, and the last %s is the textual form of the
 #. function with arguments.
-#: catalog/objectaddress.c:2745
+#: catalog/objectaddress.c:2798
 #, c-format
 msgid "function %d (%s, %s) of %s: %s"
 msgstr "fonction %d (%s, %s) de %s : %s"
 
-#: catalog/objectaddress.c:2785
+#: catalog/objectaddress.c:2838
 #, c-format
 msgid "rule %s on "
 msgstr "règle %s active "
 
-#: catalog/objectaddress.c:2807
+#: catalog/objectaddress.c:2860
 #, c-format
 msgid "transform for %s language %s"
 msgstr "transformation pour %s langage %s"
 
-#: catalog/objectaddress.c:2841
+#: catalog/objectaddress.c:2894
 #, c-format
 msgid "trigger %s on "
 msgstr "trigger %s actif "
 
-#: catalog/objectaddress.c:2858
+#: catalog/objectaddress.c:2911
 #, c-format
 msgid "schema %s"
 msgstr "schéma %s"
 
-#: catalog/objectaddress.c:2871
+#: catalog/objectaddress.c:2924
 #, c-format
 msgid "text search parser %s"
 msgstr "analyseur %s de la recherche plein texte"
 
-#: catalog/objectaddress.c:2886
+#: catalog/objectaddress.c:2939
 #, c-format
 msgid "text search dictionary %s"
 msgstr "dictionnaire %s de la recherche plein texte"
 
-#: catalog/objectaddress.c:2901
+#: catalog/objectaddress.c:2954
 #, c-format
 msgid "text search template %s"
 msgstr "modèle %s de la recherche plein texte"
 
-#: catalog/objectaddress.c:2916
+#: catalog/objectaddress.c:2969
 #, c-format
 msgid "text search configuration %s"
 msgstr "configuration %s de recherche plein texte"
 
-#: catalog/objectaddress.c:2924
+#: catalog/objectaddress.c:2977
 #, c-format
 msgid "role %s"
 msgstr "rôle %s"
 
-#: catalog/objectaddress.c:2937
+#: catalog/objectaddress.c:2990
 #, c-format
 msgid "database %s"
 msgstr "base de données %s"
 
-#: catalog/objectaddress.c:2949
+#: catalog/objectaddress.c:3002
 #, c-format
 msgid "tablespace %s"
 msgstr "tablespace %s"
 
-#: catalog/objectaddress.c:2958
+#: catalog/objectaddress.c:3011
 #, c-format
 msgid "foreign-data wrapper %s"
 msgstr "wrapper de données distantes %s"
 
-#: catalog/objectaddress.c:2967
+#: catalog/objectaddress.c:3020
 #, c-format
 msgid "server %s"
 msgstr "serveur %s"
 
-#: catalog/objectaddress.c:2995
+#: catalog/objectaddress.c:3048
 #, c-format
 msgid "user mapping for %s on server %s"
 msgstr "correspondance utilisateur pour %s sur le serveur %s"
 
-#: catalog/objectaddress.c:3030
+#: catalog/objectaddress.c:3083
 #, c-format
 msgid "default privileges on new relations belonging to role %s"
 msgstr "droits par défaut pour les nouvelles relations appartenant au rôle %s"
 
-#: catalog/objectaddress.c:3035
+#: catalog/objectaddress.c:3088
 #, c-format
 msgid "default privileges on new sequences belonging to role %s"
 msgstr "droits par défaut pour les nouvelles séquences appartenant au rôle %s"
 
-#: catalog/objectaddress.c:3040
+#: catalog/objectaddress.c:3093
 #, c-format
 msgid "default privileges on new functions belonging to role %s"
 msgstr "droits par défaut pour les nouvelles fonctions appartenant au rôle %s"
 
-#: catalog/objectaddress.c:3045
+#: catalog/objectaddress.c:3098
 #, c-format
 msgid "default privileges on new types belonging to role %s"
 msgstr "droits par défaut pour les nouveaux types appartenant au rôle %s"
 
-#: catalog/objectaddress.c:3051
+#: catalog/objectaddress.c:3104
 #, c-format
 msgid "default privileges belonging to role %s"
 msgstr "droits par défaut appartenant au rôle %s"
 
-#: catalog/objectaddress.c:3059
+#: catalog/objectaddress.c:3112
 #, c-format
 msgid " in schema %s"
 msgstr " dans le schéma %s"
 
-#: catalog/objectaddress.c:3076
+#: catalog/objectaddress.c:3129
 #, c-format
 msgid "extension %s"
 msgstr "extension %s"
 
-#: catalog/objectaddress.c:3089
+#: catalog/objectaddress.c:3142
 #, c-format
 msgid "event trigger %s"
 msgstr "trigger sur événement %s"
 
-#: catalog/objectaddress.c:3121
+#: catalog/objectaddress.c:3174
 #, c-format
 msgid "policy %s on "
 msgstr "politique %s sur "
 
-#: catalog/objectaddress.c:3184
+#: catalog/objectaddress.c:3192
+#, fuzzy, c-format
+#| msgid "access to %s"
+msgid "access method %s"
+msgstr "accès à %s"
+
+#: catalog/objectaddress.c:3252
 #, c-format
 msgid "table %s"
 msgstr "table %s"
 
-#: catalog/objectaddress.c:3188
+#: catalog/objectaddress.c:3256
 #, c-format
 msgid "index %s"
 msgstr "index %s"
 
-#: catalog/objectaddress.c:3192
+#: catalog/objectaddress.c:3260
 #, c-format
 msgid "sequence %s"
 msgstr "séquence %s"
 
-#: catalog/objectaddress.c:3196
+#: catalog/objectaddress.c:3264
 #, c-format
 msgid "toast table %s"
 msgstr "table TOAST %s"
 
-#: catalog/objectaddress.c:3200
+#: catalog/objectaddress.c:3268
 #, c-format
 msgid "view %s"
 msgstr "vue %s"
 
-#: catalog/objectaddress.c:3204
+#: catalog/objectaddress.c:3272
 #, c-format
 msgid "materialized view %s"
 msgstr "vue matérialisée %s"
 
-#: catalog/objectaddress.c:3208
+#: catalog/objectaddress.c:3276
 #, c-format
 msgid "composite type %s"
 msgstr "type composite %s"
 
-#: catalog/objectaddress.c:3212
+#: catalog/objectaddress.c:3280
 #, c-format
 msgid "foreign table %s"
 msgstr "table distante %s"
 
-#: catalog/objectaddress.c:3217
+#: catalog/objectaddress.c:3285
 #, c-format
 msgid "relation %s"
 msgstr "relation %s"
 
-#: catalog/objectaddress.c:3254
+#: catalog/objectaddress.c:3322
 #, c-format
 msgid "operator family %s for access method %s"
 msgstr "famille d'opérateur %s pour la méthode d'accès %s"
 
-#: catalog/pg_aggregate.c:118
+#: catalog/pg_aggregate.c:126
 #, c-format
 msgid "aggregates cannot have more than %d argument"
 msgid_plural "aggregates cannot have more than %d arguments"
 msgstr[0] "les agrégats ne peuvent avoir plus de %d argument"
 msgstr[1] "les agrégats ne peuvent avoir plus de %d arguments"
 
-#: catalog/pg_aggregate.c:141 catalog/pg_aggregate.c:151
+#: catalog/pg_aggregate.c:149 catalog/pg_aggregate.c:159
 #, c-format
 msgid "cannot determine transition data type"
 msgstr "n'a pas pu déterminer le type de données de transition"
 
-#: catalog/pg_aggregate.c:142 catalog/pg_aggregate.c:152
+#: catalog/pg_aggregate.c:150 catalog/pg_aggregate.c:160
 #, c-format
 msgid "An aggregate using a polymorphic transition type must have at least one polymorphic argument."
 msgstr ""
 "Un agrégat utilisant un type de transition polymorphique doit avoir au moins\n"
 "un argument polymorphique."
 
-#: catalog/pg_aggregate.c:165
+#: catalog/pg_aggregate.c:173
 #, c-format
 msgid "a variadic ordered-set aggregate must use VARIADIC type ANY"
 msgstr "un agrégat à ensemble trié variadique doit être VARIADIC sur le type ANY"
 
-#: catalog/pg_aggregate.c:191
+#: catalog/pg_aggregate.c:199
 #, c-format
 msgid "a hypothetical-set aggregate must have direct arguments matching its aggregated arguments"
 msgstr "un agrégat à ensemble hypothétique doit avoir des arguments directs correspondant aux arguments agrégés"
 
-#: catalog/pg_aggregate.c:238 catalog/pg_aggregate.c:282
+#: catalog/pg_aggregate.c:246 catalog/pg_aggregate.c:290
 #, c-format
 msgid "return type of transition function %s is not %s"
 msgstr "le type de retour de la fonction de transition %s n'est pas %s"
 
-#: catalog/pg_aggregate.c:258 catalog/pg_aggregate.c:301
+#: catalog/pg_aggregate.c:266 catalog/pg_aggregate.c:309
 #, c-format
 msgid "must not omit initial value when transition function is strict and transition type is not compatible with input type"
 msgstr ""
@@ -3994,71 +4621,100 @@ msgstr ""
 "stricte et que le type de transition n'est pas compatible avec le type en\n"
 "entrée"
 
-#: catalog/pg_aggregate.c:327
+#: catalog/pg_aggregate.c:335
 #, c-format
 msgid "return type of inverse transition function %s is not %s"
 msgstr "le type de retour de la fonction de transition inverse %s n'est pas %s"
 
-#: catalog/pg_aggregate.c:344 executor/nodeWindowAgg.c:2302
+#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:2305
 #, c-format
 msgid "strictness of aggregate's forward and inverse transition functions must match"
 msgstr "la fonction de transition d'agrégat en déplacement ne doit pas renvoyer null"
 
-#: catalog/pg_aggregate.c:388 catalog/pg_aggregate.c:464
+#: catalog/pg_aggregate.c:396 catalog/pg_aggregate.c:547
 #, c-format
 msgid "final function with extra arguments must not be declared STRICT"
 msgstr "la fonction finale avec des arguments supplémentaires ne doit pas être déclarée avec la clause STRICT"
 
-#: catalog/pg_aggregate.c:410 catalog/pg_proc.c:245 catalog/pg_proc.c:252
+#: catalog/pg_aggregate.c:426
+#, fuzzy, c-format
+#| msgid "return type of transition function %s is not %s"
+msgid "return type of combine function %s is not %s"
+msgstr "le type de retour de la fonction de transition %s n'est pas %s"
+
+#: catalog/pg_aggregate.c:437
+#, fuzzy, c-format
+#| msgid "final function with extra arguments must not be declared STRICT"
+msgid "combine function with \"%s\" transition type must not be declared STRICT"
+msgstr "la fonction finale avec des arguments supplémentaires ne doit pas être déclarée avec la clause STRICT"
+
+#: catalog/pg_aggregate.c:457
+#, fuzzy, c-format
+#| msgid "return type of transition function %s is not %s"
+msgid "return type of serialization function %s is not %s"
+msgstr "le type de retour de la fonction de transition %s n'est pas %s"
+
+#: catalog/pg_aggregate.c:477
+#, fuzzy, c-format
+#| msgid "return type of transition function %s is not %s"
+msgid "return type of deserialization function %s is not %s"
+msgstr "le type de retour de la fonction de transition %s n'est pas %s"
+
+#: catalog/pg_aggregate.c:493 catalog/pg_proc.c:246 catalog/pg_proc.c:253
 #, c-format
 msgid "cannot determine result data type"
 msgstr "n'a pas pu déterminer le type de données en résultat"
 
-#: catalog/pg_aggregate.c:411
+#: catalog/pg_aggregate.c:494
 #, c-format
 msgid "An aggregate returning a polymorphic type must have at least one polymorphic argument."
 msgstr ""
 "Un agrégat renvoyant un type polymorphique doit avoir au moins un argument\n"
 "de type polymorphique."
 
-#: catalog/pg_aggregate.c:423 catalog/pg_proc.c:258
+#: catalog/pg_aggregate.c:506 catalog/pg_proc.c:259
 #, c-format
 msgid "unsafe use of pseudo-type \"internal\""
 msgstr "utilisation non sûre des pseudo-types « INTERNAL »"
 
-#: catalog/pg_aggregate.c:424 catalog/pg_proc.c:259
+#: catalog/pg_aggregate.c:507 catalog/pg_proc.c:260
 #, c-format
 msgid "A function returning \"internal\" must have at least one \"internal\" argument."
 msgstr ""
 "Une fonction renvoyant « internal » doit avoir au moins un argument du type\n"
 "« internal »."
 
-#: catalog/pg_aggregate.c:477
+#: catalog/pg_aggregate.c:560
 #, c-format
 msgid "moving-aggregate implementation returns type %s, but plain implementation returns type %s"
 msgstr ""
 
-#: catalog/pg_aggregate.c:488
+#: catalog/pg_aggregate.c:571
 #, c-format
 msgid "sort operator can only be specified for single-argument aggregates"
 msgstr "l'opérateur de tri peut seulement être indiqué pour des agrégats à un seul argument"
 
-#: catalog/pg_aggregate.c:700 commands/typecmds.c:1702 commands/typecmds.c:1753 commands/typecmds.c:1784 commands/typecmds.c:1807 commands/typecmds.c:1828 commands/typecmds.c:1855 commands/typecmds.c:1882 commands/typecmds.c:1959 commands/typecmds.c:2001 parser/parse_func.c:364 parser/parse_func.c:393 parser/parse_func.c:418 parser/parse_func.c:432 parser/parse_func.c:507 parser/parse_func.c:518 parser/parse_func.c:1920
+#: catalog/pg_aggregate.c:816 commands/typecmds.c:1705
+#: commands/typecmds.c:1756 commands/typecmds.c:1787 commands/typecmds.c:1810
+#: commands/typecmds.c:1831 commands/typecmds.c:1858 commands/typecmds.c:1885
+#: commands/typecmds.c:1962 commands/typecmds.c:2004 parser/parse_func.c:364
+#: parser/parse_func.c:393 parser/parse_func.c:418 parser/parse_func.c:432
+#: parser/parse_func.c:507 parser/parse_func.c:518 parser/parse_func.c:1921
 #, c-format
 msgid "function %s does not exist"
 msgstr "la fonction %s n'existe pas"
 
-#: catalog/pg_aggregate.c:706
+#: catalog/pg_aggregate.c:822
 #, c-format
 msgid "function %s returns a set"
 msgstr "la fonction %s renvoie un ensemble"
 
-#: catalog/pg_aggregate.c:721
+#: catalog/pg_aggregate.c:837
 #, c-format
 msgid "function %s must accept VARIADIC ANY to be used in this aggregate"
 msgstr "la fonction %s doit accepter VARIADIC ANY pour être utilisé dans cet agrégat"
 
-#: catalog/pg_aggregate.c:745
+#: catalog/pg_aggregate.c:861
 #, c-format
 msgid "function %s requires run-time type coercion"
 msgstr "la fonction %s requiert une coercion sur le type à l'exécution"
@@ -4073,27 +4729,27 @@ msgstr "le collationnement 
 msgid "collation \"%s\" already exists"
 msgstr "le collationnement « %s » existe déjà"
 
-#: catalog/pg_constraint.c:661
+#: catalog/pg_constraint.c:663
 #, c-format
 msgid "constraint \"%s\" for domain %s already exists"
 msgstr "la contrainte « %s » du domaine %s existe déjà"
 
-#: catalog/pg_constraint.c:794
+#: catalog/pg_constraint.c:797
 #, c-format
 msgid "table \"%s\" has multiple constraints named \"%s\""
 msgstr "la table « %s » a de nombreuses contraintes nommées « %s »"
 
-#: catalog/pg_constraint.c:806
+#: catalog/pg_constraint.c:809
 #, c-format
 msgid "constraint \"%s\" for table \"%s\" does not exist"
 msgstr "la contrainte « %s » de la table « %s » n'existe pas"
 
-#: catalog/pg_constraint.c:852
+#: catalog/pg_constraint.c:855
 #, c-format
 msgid "domain \"%s\" has multiple constraints named \"%s\""
 msgstr "le domaine « %s » a plusieurs contraintes nommées « %s »"
 
-#: catalog/pg_constraint.c:864
+#: catalog/pg_constraint.c:867
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" does not exist"
 msgstr "la contrainte « %s » du domaine « %s » n'existe pas"
@@ -4108,7 +4764,7 @@ msgstr "la conversion 
 msgid "default conversion for %s to %s already exists"
 msgstr "la conversion par défaut de %s vers %s existe déjà"
 
-#: catalog/pg_depend.c:165 commands/extension.c:2945
+#: catalog/pg_depend.c:165 commands/extension.c:3028
 #, c-format
 msgid "%s is already a member of extension \"%s\""
 msgstr "%s est déjà un membre de l'extension « %s »"
@@ -4158,57 +4814,57 @@ msgstr "ALTER TYPE ADD BEFORE/AFTER est incompatible avec la mise 
 msgid "schema \"%s\" already exists"
 msgstr "le schéma « %s » existe déjà"
 
-#: catalog/pg_operator.c:223 catalog/pg_operator.c:364
+#: catalog/pg_operator.c:219 catalog/pg_operator.c:360
 #, c-format
 msgid "\"%s\" is not a valid operator name"
 msgstr "« %s » n'est pas un nom d'opérateur valide"
 
-#: catalog/pg_operator.c:373
+#: catalog/pg_operator.c:369
 #, c-format
 msgid "only binary operators can have commutators"
 msgstr "seuls les opérateurs binaires peuvent avoir des commutateurs"
 
-#: catalog/pg_operator.c:377
+#: catalog/pg_operator.c:373 commands/operatorcmds.c:485
 #, c-format
 msgid "only binary operators can have join selectivity"
 msgstr "seuls les opérateurs binaires peuvent avoir une sélectivité des jointures"
 
-#: catalog/pg_operator.c:381
+#: catalog/pg_operator.c:377
 #, c-format
 msgid "only binary operators can merge join"
 msgstr "seuls les opérateurs binaires peuvent exécuter des jointures MERGE"
 
-#: catalog/pg_operator.c:385
+#: catalog/pg_operator.c:381
 #, c-format
 msgid "only binary operators can hash"
 msgstr "seuls les opérateurs binaires ont du hachage"
 
-#: catalog/pg_operator.c:396
+#: catalog/pg_operator.c:392
 #, c-format
 msgid "only boolean operators can have negators"
 msgstr "seuls les opérateurs booléens peuvent avoir des négations"
 
-#: catalog/pg_operator.c:400
+#: catalog/pg_operator.c:396 commands/operatorcmds.c:493
 #, c-format
 msgid "only boolean operators can have restriction selectivity"
 msgstr "seuls les opérateurs booléens peuvent avoir une sélectivité des restrictions"
 
-#: catalog/pg_operator.c:404
+#: catalog/pg_operator.c:400 commands/operatorcmds.c:497
 #, c-format
 msgid "only boolean operators can have join selectivity"
 msgstr "seuls les opérateurs booléens peuvent avoir une sélectivité des jointures"
 
-#: catalog/pg_operator.c:408
+#: catalog/pg_operator.c:404
 #, c-format
 msgid "only boolean operators can merge join"
 msgstr "seuls les opérateurs booléens peuvent exécuter des jointures MERGE"
 
-#: catalog/pg_operator.c:412
+#: catalog/pg_operator.c:408
 #, c-format
 msgid "only boolean operators can hash"
 msgstr "seuls les opérateurs booléens peuvent hacher"
 
-#: catalog/pg_operator.c:424
+#: catalog/pg_operator.c:420
 #, c-format
 msgid "operator %s already exists"
 msgstr "l'opérateur %s existe déjà"
@@ -4218,105 +4874,106 @@ msgstr "l'op
 msgid "operator cannot be its own negator or sort operator"
 msgstr "l'opérateur ne peut pas être son propre opérateur de négation ou de tri"
 
-#: catalog/pg_proc.c:133 parser/parse_func.c:1944 parser/parse_func.c:1984
+#: catalog/pg_proc.c:134 parser/parse_func.c:1945 parser/parse_func.c:1985
 #, c-format
 msgid "functions cannot have more than %d argument"
 msgid_plural "functions cannot have more than %d arguments"
 msgstr[0] "les fonctions ne peuvent avoir plus de %d argument"
 msgstr[1] "les fonctions ne peuvent avoir plus de %d arguments"
 
-#: catalog/pg_proc.c:246
+#: catalog/pg_proc.c:247
 #, c-format
 msgid "A function returning a polymorphic type must have at least one polymorphic argument."
 msgstr ""
 "Une fonction renvoyant un type polymorphique doit avoir au moins un argument\n"
 "de type polymorphique."
 
-#: catalog/pg_proc.c:253
+#: catalog/pg_proc.c:254
 #, c-format
 msgid "A function returning \"anyrange\" must have at least one \"anyrange\" argument."
 msgstr "Une fonction renvoyant « anyrange » doit avoir au moins un argument du type « anyrange »."
 
-#: catalog/pg_proc.c:271
+#: catalog/pg_proc.c:272
 #, c-format
 msgid "\"%s\" is already an attribute of type %s"
 msgstr "« %s » est déjà un attribut du type %s"
 
-#: catalog/pg_proc.c:401
+#: catalog/pg_proc.c:403
 #, c-format
 msgid "function \"%s\" already exists with same argument types"
 msgstr "la fonction « %s » existe déjà avec des types d'arguments identiques"
 
-#: catalog/pg_proc.c:415 catalog/pg_proc.c:438
+#: catalog/pg_proc.c:417 catalog/pg_proc.c:440
 #, c-format
 msgid "cannot change return type of existing function"
 msgstr "ne peut pas modifier le type de retour d'une fonction existante"
 
-#: catalog/pg_proc.c:416 catalog/pg_proc.c:440 catalog/pg_proc.c:483 catalog/pg_proc.c:507 catalog/pg_proc.c:534
+#: catalog/pg_proc.c:418 catalog/pg_proc.c:442 catalog/pg_proc.c:485
+#: catalog/pg_proc.c:509 catalog/pg_proc.c:536
 #, c-format
 msgid "Use DROP FUNCTION %s first."
 msgstr "Utilisez tout d'abord DROP FUNCTION %s."
 
-#: catalog/pg_proc.c:439
+#: catalog/pg_proc.c:441
 #, c-format
 msgid "Row type defined by OUT parameters is different."
 msgstr "Le type de ligne défini par les paramètres OUT est différent."
 
-#: catalog/pg_proc.c:481
+#: catalog/pg_proc.c:483
 #, c-format
 msgid "cannot change name of input parameter \"%s\""
 msgstr "ne peut pas modifier le nom du paramètre en entrée « %s »"
 
-#: catalog/pg_proc.c:506
+#: catalog/pg_proc.c:508
 #, c-format
 msgid "cannot remove parameter defaults from existing function"
 msgstr ""
 "ne peut pas supprimer les valeurs par défaut des paramètres de la\n"
 "fonction existante"
 
-#: catalog/pg_proc.c:533
+#: catalog/pg_proc.c:535
 #, c-format
 msgid "cannot change data type of existing parameter default value"
 msgstr ""
 "ne peut pas modifier le type de données d'un paramètre avec une valeur\n"
 "par défaut"
 
-#: catalog/pg_proc.c:546
+#: catalog/pg_proc.c:548
 #, c-format
 msgid "function \"%s\" is an aggregate function"
 msgstr "la fonction « %s » est une fonction d'agrégat"
 
-#: catalog/pg_proc.c:551
+#: catalog/pg_proc.c:553
 #, c-format
 msgid "function \"%s\" is not an aggregate function"
 msgstr "la fonction « %s » n'est pas une fonction d'agrégat"
 
-#: catalog/pg_proc.c:559
+#: catalog/pg_proc.c:561
 #, c-format
 msgid "function \"%s\" is a window function"
 msgstr "la fonction « %s » est une fonction window"
 
-#: catalog/pg_proc.c:564
+#: catalog/pg_proc.c:566
 #, c-format
 msgid "function \"%s\" is not a window function"
 msgstr "la fonction « %s » n'est pas une fonction window"
 
-#: catalog/pg_proc.c:772
+#: catalog/pg_proc.c:774
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "il n'existe pas de fonction intégrée nommée « %s »"
 
-#: catalog/pg_proc.c:870
+#: catalog/pg_proc.c:872
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "les fonctions SQL ne peuvent pas renvoyer un type %s"
 
-#: catalog/pg_proc.c:885
+#: catalog/pg_proc.c:887
 #, c-format
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "les fonctions SQL ne peuvent avoir d'arguments du type %s"
 
-#: catalog/pg_proc.c:971 executor/functions.c:1421
+#: catalog/pg_proc.c:973 executor/functions.c:1424
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "Fonction SQL « %s »"
@@ -4400,7 +5057,8 @@ msgstr "OID de pg_type non configur
 msgid "invalid type internal size %d"
 msgstr "taille interne de type invalide %d"
 
-#: catalog/pg_type.c:269 catalog/pg_type.c:277 catalog/pg_type.c:285 catalog/pg_type.c:294
+#: catalog/pg_type.c:269 catalog/pg_type.c:277 catalog/pg_type.c:285
+#: catalog/pg_type.c:294
 #, c-format
 msgid "alignment \"%c\" is invalid for passed-by-value type of size %d"
 msgstr "l'alignement « %c » est invalide pour le type passé par valeur de taille %d"
@@ -4425,89 +5083,134 @@ msgstr "les types de taille fixe doivent avoir un stockage de base"
 msgid "could not form array type name for type \"%s\""
 msgstr "n'a pas pu former le nom du type array pour le type de données %s"
 
-#: catalog/toasting.c:104 commands/indexcmds.c:381 commands/tablecmds.c:4350 commands/tablecmds.c:11853
+#: catalog/toasting.c:105 commands/indexcmds.c:389 commands/tablecmds.c:4358
+#: commands/tablecmds.c:11900
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "« %s » n'est pas une table ou une vue matérialisée"
 
-#: catalog/toasting.c:157
+#: catalog/toasting.c:158
 #, c-format
 msgid "shared tables cannot be toasted after initdb"
 msgstr ""
 "les tables partagées ne peuvent pas avoir une table TOAST après la commande\n"
 "initdb"
 
-#: commands/aggregatecmds.c:148
+#: commands/aggregatecmds.c:161
 #, c-format
 msgid "only ordered-set aggregates can be hypothetical"
 msgstr "seuls les agrégats à ensemble ordonné peuvent être hypothétiques"
 
-#: commands/aggregatecmds.c:171
+#: commands/aggregatecmds.c:188
 #, c-format
 msgid "aggregate attribute \"%s\" not recognized"
 msgstr "l'attribut de l'agrégat « %s » n'est pas reconnu"
 
-#: commands/aggregatecmds.c:181
+#: commands/aggregatecmds.c:198
 #, c-format
 msgid "aggregate stype must be specified"
 msgstr "le type source de l'agrégat doit être spécifié"
 
-#: commands/aggregatecmds.c:185
+#: commands/aggregatecmds.c:202
 #, c-format
 msgid "aggregate sfunc must be specified"
 msgstr "la fonction source de l'agrégat doit être spécifiée"
 
-#: commands/aggregatecmds.c:197
+#: commands/aggregatecmds.c:214
 #, c-format
 msgid "aggregate msfunc must be specified when mstype is specified"
 msgstr "la fonction msfunc de l'agrégat doit être spécifiée quand mstype est spécifié"
 
-#: commands/aggregatecmds.c:201
+#: commands/aggregatecmds.c:218
 #, c-format
 msgid "aggregate minvfunc must be specified when mstype is specified"
 msgstr "la fonction minvfunc de l'agrégat doit être spécifiée quand mstype est spécifié"
 
-#: commands/aggregatecmds.c:208
+#: commands/aggregatecmds.c:225
 #, c-format
 msgid "aggregate msfunc must not be specified without mstype"
 msgstr "la fonction msfunc de l'agrégat ne doit pas être spécifiée sans mstype"
 
-#: commands/aggregatecmds.c:212
+#: commands/aggregatecmds.c:229
 #, c-format
 msgid "aggregate minvfunc must not be specified without mstype"
 msgstr "la fonction minvfunc de l'agrégat ne doit pas être spécifiée sans mstype"
 
-#: commands/aggregatecmds.c:216
+#: commands/aggregatecmds.c:233
 #, c-format
 msgid "aggregate mfinalfunc must not be specified without mstype"
 msgstr "la fonction mfinalfunc de l'agrégat ne doit pas être spécifiée sans mstype"
 
-#: commands/aggregatecmds.c:220
+#: commands/aggregatecmds.c:237
 #, c-format
 msgid "aggregate msspace must not be specified without mstype"
 msgstr "la fonction msspace de l'agrégat ne doit pas être spécifiée sans mstype"
 
-#: commands/aggregatecmds.c:224
+#: commands/aggregatecmds.c:241
 #, c-format
 msgid "aggregate minitcond must not be specified without mstype"
 msgstr "la fonction minitcond de l'agrégat ne doit pas être spécifiée sans mstype"
 
-#: commands/aggregatecmds.c:244
+#: commands/aggregatecmds.c:261
 #, c-format
 msgid "aggregate input type must be specified"
 msgstr "le type de saisie de l'agrégat doit être précisé"
 
-#: commands/aggregatecmds.c:274
+#: commands/aggregatecmds.c:291
 #, c-format
 msgid "basetype is redundant with aggregate input type specification"
 msgstr "le type de base est redondant avec la spécification du type en entrée de l'agrégat"
 
-#: commands/aggregatecmds.c:315 commands/aggregatecmds.c:335
+#: commands/aggregatecmds.c:332 commands/aggregatecmds.c:421
 #, c-format
 msgid "aggregate transition data type cannot be %s"
 msgstr "Le type de données de transition de l'agrégat ne peut pas être %s"
 
-#: commands/alter.c:80 commands/event_trigger.c:230
+#: commands/aggregatecmds.c:347
+#, c-format
+msgid "a serialization type must only be specified when the aggregate transition data type is \"%s\""
+msgstr ""
+
+#: commands/aggregatecmds.c:356
+#, fuzzy, c-format
+#| msgid "aggregate transition data type cannot be %s"
+msgid "aggregate serialization data type cannot be %s"
+msgstr "Le type de données de transition de l'agrégat ne peut pas être %s"
+
+#: commands/aggregatecmds.c:369
+#, fuzzy, c-format
+#| msgid "aggregate transition data type cannot be %s"
+msgid "aggregate serialization type cannot be \"%s\""
+msgstr "Le type de données de transition de l'agrégat ne peut pas être %s"
+
+#: commands/aggregatecmds.c:380
+#, fuzzy, c-format
+#| msgid "aggregate minvfunc must be specified when mstype is specified"
+msgid "aggregate serialization function must be specified when serialization type is specified"
+msgstr "la fonction minvfunc de l'agrégat doit être spécifiée quand mstype est spécifié"
+
+#: commands/aggregatecmds.c:385
+#, fuzzy, c-format
+#| msgid "aggregate minvfunc must be specified when mstype is specified"
+msgid "aggregate deserialization function must be specified when serialization type is specified"
+msgstr "la fonction minvfunc de l'agrégat doit être spécifiée quand mstype est spécifié"
+
+#: commands/aggregatecmds.c:396
+#, c-format
+msgid "must specify serialization type when specifying serialization function"
+msgstr ""
+
+#: commands/aggregatecmds.c:402
+#, c-format
+msgid "must specify serialization type when specifying deserialization function"
+msgstr ""
+
+#: commands/aggregatecmds.c:467 commands/functioncmds.c:570
+#, c-format
+msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE"
+msgstr ""
+
+#: commands/alter.c:80 commands/event_trigger.c:231
 #, c-format
 msgid "event trigger \"%s\" already exists"
 msgstr "le trigger sur événement « %s » existe déjà"
@@ -4522,7 +5225,7 @@ msgstr "le wrapper de donn
 msgid "server \"%s\" already exists"
 msgstr "le serveur « %s » existe déjà"
 
-#: commands/alter.c:89 commands/proclang.c:363
+#: commands/alter.c:89 commands/proclang.c:366
 #, c-format
 msgid "language \"%s\" already exists"
 msgstr "le langage « %s » existe déjà"
@@ -4557,11 +5260,55 @@ msgstr "la configuration de recherche plein texte 
 msgid "must be superuser to rename %s"
 msgstr "doit être super-utilisateur pour renommer « %s »"
 
-#: commands/alter.c:609
+#: commands/alter.c:656
 #, c-format
 msgid "must be superuser to set schema of %s"
 msgstr "doit être super-utilisateur pour configurer le schéma de %s"
 
+#: commands/amcmds.c:58
+#, fuzzy, c-format
+#| msgid "permission denied to create tablespace \"%s\""
+msgid "permission denied to create access method \"%s\""
+msgstr "droit refusé pour créer le tablespace « %s »"
+
+#: commands/amcmds.c:60
+#, fuzzy, c-format
+#| msgid "Must be superuser to create a tablespace."
+msgid "Must be superuser to create an access method."
+msgstr "Doit être super-utilisateur pour créer un tablespace."
+
+#: commands/amcmds.c:68
+#, fuzzy, c-format
+#| msgid "access method \"%s\" does not exist"
+msgid "access method \"%s\" already exists"
+msgstr "la méthode d'accès « %s » n'existe pas"
+
+#: commands/amcmds.c:124
+#, fuzzy, c-format
+#| msgid "must be superuser to drop superusers"
+msgid "must be superuser to drop access methods"
+msgstr "doit être super-utilisateur pour supprimer des super-utilisateurs"
+
+#: commands/amcmds.c:175 commands/indexcmds.c:164 commands/indexcmds.c:495
+#: commands/opclasscmds.c:365 commands/opclasscmds.c:790
+#, c-format
+msgid "access method \"%s\" does not exist"
+msgstr "la méthode d'accès « %s » n'existe pas"
+
+#: commands/amcmds.c:251
+#, fuzzy, c-format
+#| msgid "no function body specified"
+msgid "handler function is not specified"
+msgstr "aucun corps de fonction spécifié"
+
+#: commands/amcmds.c:263 commands/event_trigger.c:240
+#: commands/foreigncmds.c:489 commands/proclang.c:117 commands/proclang.c:288
+#: commands/trigger.c:441 parser/parse_clause.c:761
+#, fuzzy, c-format
+#| msgid "function %s should return type %s"
+msgid "function %s must return type %s"
+msgstr "la fonction %s doit renvoyer le type %s"
+
 #: commands/analyze.c:145
 #, c-format
 msgid "skipping analyze of \"%s\" --- lock not available"
@@ -4606,12 +5353,12 @@ msgstr "analyse l'arbre d'h
 msgid "analyzing \"%s.%s\""
 msgstr "analyse « %s.%s »"
 
-#: commands/analyze.c:645
+#: commands/analyze.c:651
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s"
 msgstr "ANALYZE automatique de la table « %s.%s.%s » ; utilisation système : %s"
 
-#: commands/analyze.c:1201
+#: commands/analyze.c:1207
 #, c-format
 msgid "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead rows; %d rows in sample, %.0f estimated total rows"
 msgstr ""
@@ -4620,134 +5367,134 @@ msgstr ""
 "  %d lignes dans l'échantillon,\n"
 "  %.0f lignes totales estimées"
 
-#: commands/analyze.c:1280
+#: commands/analyze.c:1286
 #, c-format
 msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables"
 msgstr "ignore l'analyse de l'arbre d'héritage « %s.%s » --- cet arbre d'héritage ne contient pas de tables enfants"
 
-#: commands/analyze.c:1369
+#: commands/analyze.c:1375
 #, c-format
 msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables"
 msgstr "ignore l'analyse de l'arbre d'héritage « %s.%s » --- cet arbre d'héritage ne contient pas de tables enfants analysables"
 
-#: commands/analyze.c:1417 executor/execQual.c:2900
+#: commands/analyze.c:1423 executor/execQual.c:2922
 msgid "could not convert row type"
 msgstr "n'a pas pu convertir le type de ligne"
 
-#: commands/async.c:553
+#: commands/async.c:558
 #, c-format
 msgid "channel name cannot be empty"
 msgstr "le nom du canal ne peut pas être vide"
 
-#: commands/async.c:558
+#: commands/async.c:563
 #, c-format
 msgid "channel name too long"
 msgstr "nom du canal trop long"
 
-#: commands/async.c:565
+#: commands/async.c:570
 #, c-format
 msgid "payload string too long"
 msgstr "chaîne de charge trop longue"
 
-#: commands/async.c:751
+#: commands/async.c:756
 #, c-format
 msgid "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY"
 msgstr ""
 "ne peut pas exécuter PREPARE sur une transaction qui a exécuté LISTEN,\n"
 "UNLISTEN ou NOTIFY"
 
-#: commands/async.c:854
+#: commands/async.c:859
 #, c-format
 msgid "too many notifications in the NOTIFY queue"
 msgstr "trop de notifications dans la queue NOTIFY"
 
-#: commands/async.c:1457
+#: commands/async.c:1489
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "la queue NOTIFY est pleine à %.0f%%"
 
-#: commands/async.c:1459
+#: commands/async.c:1491
 #, c-format
 msgid "The server process with PID %d is among those with the oldest transactions."
 msgstr "Le processus serveur de PID %d est parmi ceux qui ont les transactions les plus anciennes."
 
-#: commands/async.c:1462
+#: commands/async.c:1494
 #, c-format
 msgid "The NOTIFY queue cannot be emptied until that process ends its current transaction."
 msgstr ""
 "La queue NOTIFY ne peut pas être vidée jusqu'à ce que le processus finisse\n"
 "sa transaction en cours."
 
-#: commands/cluster.c:127 commands/cluster.c:364
+#: commands/cluster.c:129 commands/cluster.c:366
 #, c-format
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "ne peut pas exécuter CLUSTER sur les tables temporaires des autres sessions"
 
-#: commands/cluster.c:157
+#: commands/cluster.c:159
 #, c-format
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "Il n'existe pas d'index CLUSTER pour la table « %s »"
 
-#: commands/cluster.c:171 commands/tablecmds.c:9256 commands/tablecmds.c:10972
+#: commands/cluster.c:173 commands/tablecmds.c:9286 commands/tablecmds.c:11002
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "l'index « %s » pour la table « %s » n'existe pas"
 
-#: commands/cluster.c:353
+#: commands/cluster.c:355
 #, c-format
 msgid "cannot cluster a shared catalog"
 msgstr "ne peut pas exécuter CLUSTER sur un catalogue partagé"
 
-#: commands/cluster.c:368
+#: commands/cluster.c:370
 #, c-format
 msgid "cannot vacuum temporary tables of other sessions"
 msgstr "ne peut pas exécuter VACUUM sur les tables temporaires des autres sessions"
 
-#: commands/cluster.c:431 commands/tablecmds.c:10982
+#: commands/cluster.c:433 commands/tablecmds.c:11012
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "« %s » n'est pas un index de la table « %s »"
 
-#: commands/cluster.c:439
+#: commands/cluster.c:441
 #, c-format
 msgid "cannot cluster on index \"%s\" because access method does not support clustering"
 msgstr ""
 "ne peut pas exécuter CLUSTER sur l'index « %s » car la méthode d'accès de\n"
 "l'index ne gère pas cette commande"
 
-#: commands/cluster.c:451
+#: commands/cluster.c:453
 #, c-format
 msgid "cannot cluster on partial index \"%s\""
 msgstr "ne peut pas exécuter CLUSTER sur l'index partiel « %s »"
 
-#: commands/cluster.c:465
+#: commands/cluster.c:467
 #, c-format
 msgid "cannot cluster on invalid index \"%s\""
 msgstr "ne peut pas exécuter la commande CLUSTER sur l'index invalide « %s »"
 
-#: commands/cluster.c:918
+#: commands/cluster.c:920
 #, c-format
 msgid "clustering \"%s.%s\" using index scan on \"%s\""
 msgstr "cluster sur « %s.%s » en utilisant un parcours d'index sur « %s »"
 
-#: commands/cluster.c:924
+#: commands/cluster.c:926
 #, c-format
 msgid "clustering \"%s.%s\" using sequential scan and sort"
 msgstr "cluster sur « %s.%s » en utilisant un parcours séquentiel puis un tri"
 
-#: commands/cluster.c:929 commands/vacuumlazy.c:464
+#: commands/cluster.c:931 commands/vacuumlazy.c:476
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "exécution du VACUUM sur « %s.%s »"
 
-#: commands/cluster.c:1088
+#: commands/cluster.c:1090
 #, c-format
 msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
 msgstr ""
 "« %s » : %.0f versions de ligne supprimables, %.0f non supprimables\n"
 "parmi %u pages"
 
-#: commands/cluster.c:1092
+#: commands/cluster.c:1094
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -4781,12 +5528,16 @@ msgstr "le collationnament 
 msgid "collation \"%s\" already exists in schema \"%s\""
 msgstr "le collationnement « %s » existe déjà dans le schéma « %s »"
 
-#: commands/comment.c:62 commands/dbcommands.c:797 commands/dbcommands.c:962 commands/dbcommands.c:1067 commands/dbcommands.c:1257 commands/dbcommands.c:1477 commands/dbcommands.c:1594 commands/dbcommands.c:2011 utils/init/postinit.c:826 utils/init/postinit.c:928 utils/init/postinit.c:945
+#: commands/comment.c:62 commands/dbcommands.c:797 commands/dbcommands.c:962
+#: commands/dbcommands.c:1067 commands/dbcommands.c:1257
+#: commands/dbcommands.c:1477 commands/dbcommands.c:1594
+#: commands/dbcommands.c:2011 utils/init/postinit.c:842
+#: utils/init/postinit.c:944 utils/init/postinit.c:961
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "la base de données « %s » n'existe pas"
 
-#: commands/comment.c:101 commands/seclabel.c:116 parser/parse_utilcmd.c:727
+#: commands/comment.c:101 commands/seclabel.c:116 parser/parse_utilcmd.c:768
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, composite type, or foreign table"
 msgstr "« %s » n'est ni une table, ni une vue, ni une vue matérialisée, ni un type composite, ni une table distante"
@@ -4817,497 +5568,541 @@ msgid "destination encoding \"%s\" does not exist"
 msgstr "l'encodage de destination « %s » n'existe pas"
 
 #: commands/conversioncmds.c:88
-#, c-format
-msgid "encoding conversion function %s must return type \"void\""
+#, fuzzy, c-format
+#| msgid "encoding conversion function %s must return type \"void\""
+msgid "encoding conversion function %s must return type %s"
 msgstr "la fonction de conversion d'encodage %s doit renvoyer le type « void »"
 
-#: commands/copy.c:365 commands/copy.c:377 commands/copy.c:411 commands/copy.c:423
+#: commands/copy.c:362 commands/copy.c:374 commands/copy.c:408
+#: commands/copy.c:420
 #, c-format
 msgid "COPY BINARY is not supported to stdout or from stdin"
 msgstr "COPY BINARY n'est pas supporté vers stdout ou à partir de stdin"
 
-#: commands/copy.c:523
+#: commands/copy.c:520
 #, c-format
 msgid "could not write to COPY program: %m"
 msgstr "n'a pas pu écrire vers le programme COPY : %m"
 
-#: commands/copy.c:528
+#: commands/copy.c:525
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "n'a pas pu écrire dans le fichier COPY : %m"
 
-#: commands/copy.c:541
+#: commands/copy.c:538
 #, c-format
 msgid "connection lost during COPY to stdout"
 msgstr "connexion perdue lors de l'opération COPY vers stdout"
 
-#: commands/copy.c:582
+#: commands/copy.c:579
 #, c-format
 msgid "could not read from COPY file: %m"
 msgstr "n'a pas pu lire le fichier COPY : %m"
 
-#: commands/copy.c:598 commands/copy.c:619 commands/copy.c:623 tcop/postgres.c:352 tcop/postgres.c:388 tcop/postgres.c:415
+#: commands/copy.c:595 commands/copy.c:616 commands/copy.c:620
+#: tcop/postgres.c:341 tcop/postgres.c:377 tcop/postgres.c:404
 #, c-format
 msgid "unexpected EOF on client connection with an open transaction"
 msgstr ""
 "fin de fichier (EOF) inattendue de la connexion du client avec une\n"
 "transaction ouverte"
 
-#: commands/copy.c:636
+#: commands/copy.c:633
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "échec de la commande COPY à partir de stdin : %s"
 
-#: commands/copy.c:652
+#: commands/copy.c:649
 #, c-format
 msgid "unexpected message type 0x%02X during COPY from stdin"
 msgstr "type 0x%02X du message, inattendu, lors d'une opération COPY à partir de stdin"
 
-#: commands/copy.c:808
+#: commands/copy.c:806
 #, c-format
 msgid "must be superuser to COPY to or from an external program"
 msgstr "doit être super-utilisateur pour utiliser COPY avec un programme externe"
 
-#: commands/copy.c:809 commands/copy.c:815
+#: commands/copy.c:807 commands/copy.c:813
 #, c-format
 msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works for anyone."
 msgstr ""
 "Tout le monde peut utiliser COPY vers stdout ou à partir de stdin.\n"
 "La commande \\copy de psql fonctionne aussi pour tout le monde."
 
-#: commands/copy.c:814
+#: commands/copy.c:812
 #, c-format
 msgid "must be superuser to COPY to or from a file"
 msgstr "doit être super-utilisateur pour utiliser COPY à partir ou vers un fichier"
 
-#: commands/copy.c:880
+#: commands/copy.c:878
 #, c-format
 msgid "COPY FROM not supported with row-level security"
 msgstr "COPY FROM non supporté avec la sécurité niveau ligne"
 
-#: commands/copy.c:881
+#: commands/copy.c:879
 #, c-format
 msgid "Use INSERT statements instead."
 msgstr "Utilisez des instructions INSERT à la place."
 
-#: commands/copy.c:1021
+#: commands/copy.c:1019
 #, c-format
 msgid "COPY format \"%s\" not recognized"
 msgstr "format COPY « %s » non reconnu"
 
-#: commands/copy.c:1092 commands/copy.c:1106 commands/copy.c:1120 commands/copy.c:1140
+#: commands/copy.c:1090 commands/copy.c:1104 commands/copy.c:1118
+#: commands/copy.c:1138
 #, c-format
 msgid "argument to option \"%s\" must be a list of column names"
 msgstr "l'argument de l'option « %s » doit être une liste de noms de colonnes"
 
-#: commands/copy.c:1153
+#: commands/copy.c:1151
 #, c-format
 msgid "argument to option \"%s\" must be a valid encoding name"
 msgstr "l'argument de l'option « %s » doit être un nom d'encodage valide"
 
-#: commands/copy.c:1159 commands/dbcommands.c:232 commands/dbcommands.c:1427
+#: commands/copy.c:1157 commands/dbcommands.c:232 commands/dbcommands.c:1427
 #, c-format
 msgid "option \"%s\" not recognized"
 msgstr "option « %s » non reconnu"
 
-#: commands/copy.c:1170
+#: commands/copy.c:1168
 #, c-format
 msgid "cannot specify DELIMITER in BINARY mode"
 msgstr "ne peut pas spécifier le délimiteur (DELIMITER) en mode binaire (BINARY)"
 
-#: commands/copy.c:1175
+#: commands/copy.c:1173
 #, c-format
 msgid "cannot specify NULL in BINARY mode"
 msgstr "ne peut pas spécifier NULL en mode binaire (BINARY)"
 
-#: commands/copy.c:1197
+#: commands/copy.c:1195
 #, c-format
 msgid "COPY delimiter must be a single one-byte character"
 msgstr "le délimiteur COPY doit être sur un seul caractère sur un octet"
 
-#: commands/copy.c:1204
+#: commands/copy.c:1202
 #, c-format
 msgid "COPY delimiter cannot be newline or carriage return"
 msgstr "le délimiteur de COPY ne peut pas être un retour à la ligne ou un retour chariot"
 
-#: commands/copy.c:1210
+#: commands/copy.c:1208
 #, c-format
 msgid "COPY null representation cannot use newline or carriage return"
 msgstr ""
 "la représentation du NULL dans COPY ne peut pas utiliser le caractère du\n"
 "retour à la ligne ou du retour chariot"
 
-#: commands/copy.c:1227
+#: commands/copy.c:1225
 #, c-format
 msgid "COPY delimiter cannot be \"%s\""
 msgstr "le délimiteur de COPY ne peut pas être « %s »"
 
-#: commands/copy.c:1233
+#: commands/copy.c:1231
 #, c-format
 msgid "COPY HEADER available only in CSV mode"
 msgstr "COPY HEADER disponible uniquement en mode CSV"
 
-#: commands/copy.c:1239
+#: commands/copy.c:1237
 #, c-format
 msgid "COPY quote available only in CSV mode"
 msgstr "le guillemet COPY n'est disponible que dans le mode CSV"
 
-#: commands/copy.c:1244
+#: commands/copy.c:1242
 #, c-format
 msgid "COPY quote must be a single one-byte character"
 msgstr "le guillemet COPY doit être sur un seul caractère sur un octet"
 
-#: commands/copy.c:1249
+#: commands/copy.c:1247
 #, c-format
 msgid "COPY delimiter and quote must be different"
 msgstr "le délimiteur de COPY ne doit pas être un guillemet"
 
-#: commands/copy.c:1255
+#: commands/copy.c:1253
 #, c-format
 msgid "COPY escape available only in CSV mode"
 msgstr "le caractère d'échappement COPY n'est disponible que dans le mode CSV"
 
-#: commands/copy.c:1260
+#: commands/copy.c:1258
 #, c-format
 msgid "COPY escape must be a single one-byte character"
 msgstr "le caractère d'échappement COPY doit être sur un seul caractère sur un octet"
 
-#: commands/copy.c:1266
+#: commands/copy.c:1264
 #, c-format
 msgid "COPY force quote available only in CSV mode"
 msgstr "le guillemet forcé COPY n'est disponible que dans le mode CSV"
 
-#: commands/copy.c:1270
+#: commands/copy.c:1268
 #, c-format
 msgid "COPY force quote only available using COPY TO"
 msgstr "le guillemet forcé COPY n'est disponible qu'en utilisant COPY TO"
 
-#: commands/copy.c:1276
+#: commands/copy.c:1274
 #, c-format
 msgid "COPY force not null available only in CSV mode"
 msgstr "« COPY force not null » n'est disponible que dans la version CSV"
 
-#: commands/copy.c:1280
+#: commands/copy.c:1278
 #, c-format
 msgid "COPY force not null only available using COPY FROM"
 msgstr "« COPY force not null » n'est disponible qu'en utilisant COPY FROM"
 
-#: commands/copy.c:1286
+#: commands/copy.c:1284
 #, c-format
 msgid "COPY force null available only in CSV mode"
 msgstr "« COPY force null » n'est disponible que dans le mode CSV"
 
-#: commands/copy.c:1291
+#: commands/copy.c:1289
 #, c-format
 msgid "COPY force null only available using COPY FROM"
 msgstr "« COPY force null » n'est disponible qu'en utilisant COPY FROM"
 
-#: commands/copy.c:1297
+#: commands/copy.c:1295
 #, c-format
 msgid "COPY delimiter must not appear in the NULL specification"
 msgstr "le délimiteur COPY ne doit pas apparaître dans la spécification de NULL"
 
-#: commands/copy.c:1304
+#: commands/copy.c:1302
 #, c-format
 msgid "CSV quote character must not appear in the NULL specification"
 msgstr "le caractère guillemet de CSV ne doit pas apparaître dans la spécification de NULL"
 
-#: commands/copy.c:1367
+#: commands/copy.c:1365
 #, c-format
 msgid "table \"%s\" does not have OIDs"
 msgstr "la table « %s » n'a pas d'OID"
 
-#: commands/copy.c:1384
-#, c-format
-msgid "COPY (SELECT) WITH OIDS is not supported"
+#: commands/copy.c:1382
+#, fuzzy, c-format
+#| msgid "COPY (SELECT) WITH OIDS is not supported"
+msgid "COPY (query) WITH OIDS is not supported"
 msgstr "COPY (SELECT) WITH OIDS n'est pas supporté"
 
-#: commands/copy.c:1410
+#: commands/copy.c:1402
+#, fuzzy, c-format
+#| msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH"
+msgid "DO INSTEAD NOTHING rules are not supported for COPY"
+msgstr ""
+"les règles DO INSTEAD NOTHING ne sont pas supportées par les instructions\n"
+"de modification de données dans WITH"
+
+#: commands/copy.c:1416
+#, fuzzy, c-format
+#| msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH"
+msgid "conditional DO INSTEAD rules are not supported for COPY"
+msgstr ""
+"les règles DO INSTEAD conditionnelles ne sont pas supportées par les\n"
+"instructions de modification de données dans WITH"
+
+#: commands/copy.c:1420
+#, fuzzy, c-format
+#| msgid "DO ALSO rules are not supported for data-modifying statements in WITH"
+msgid "DO ALSO rules are not supported for the COPY"
+msgstr ""
+"les règles DO ALSO ne sont pas supportées par les instructions de modification\n"
+"de données dans WITH"
+
+#: commands/copy.c:1425
+#, fuzzy, c-format
+#| msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH"
+msgid "multi-statement DO INSTEAD rules are not supported for COPY"
+msgstr ""
+"les règles DO INSTEAD multi-instructions ne sont pas supportées pour les\n"
+"instructions de modification de données dans WITH"
+
+#: commands/copy.c:1435
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) n'est pas supporté"
 
-#: commands/copy.c:1440
+#: commands/copy.c:1452
+#, fuzzy, c-format
+#| msgid "WITH query \"%s\" does not have a RETURNING clause"
+msgid "COPY query must have a RETURNING clause"
+msgstr "La requête WITH « %s » n'a pas de clause RETURNING"
+
+#: commands/copy.c:1480
 #, c-format
 msgid "relation referenced by COPY statement has changed"
 msgstr "la relation référencée par l'instruction COPY a changé"
 
-#: commands/copy.c:1498
-#, c-format
-msgid "FORCE QUOTE column \"%s\" not referenced by COPY"
+#: commands/copy.c:1538
+#, fuzzy, c-format
+#| msgid "FORCE QUOTE column \"%s\" not referenced by COPY"
+msgid "FORCE_QUOTE column \"%s\" not referenced by COPY"
 msgstr "la colonne « %s » FORCE QUOTE n'est pas référencée par COPY"
 
-#: commands/copy.c:1520
-#, c-format
-msgid "FORCE NOT NULL column \"%s\" not referenced by COPY"
+#: commands/copy.c:1560
+#, fuzzy, c-format
+#| msgid "FORCE NOT NULL column \"%s\" not referenced by COPY"
+msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY"
 msgstr "la colonne « %s » FORCE NOT NULL n'est pas référencée par COPY"
 
-#: commands/copy.c:1542
-#, c-format
-msgid "FORCE NULL column \"%s\" not referenced by COPY"
+#: commands/copy.c:1582
+#, fuzzy, c-format
+#| msgid "FORCE NULL column \"%s\" not referenced by COPY"
+msgid "FORCE_NULL column \"%s\" not referenced by COPY"
 msgstr "colonne « %s » FORCE NULL non référencée par COPY"
 
-#: commands/copy.c:1607
+#: commands/copy.c:1647
 #, c-format
 msgid "could not close pipe to external command: %m"
 msgstr "n'a pas pu fermer le fichier pipe vers la commande externe : %m"
 
-#: commands/copy.c:1611
+#: commands/copy.c:1651
 #, c-format
 msgid "program \"%s\" failed"
 msgstr "le programme « %s » a échoué"
 
-#: commands/copy.c:1661
+#: commands/copy.c:1701
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "ne peut pas copier à partir de la vue « %s »"
 
-#: commands/copy.c:1663 commands/copy.c:1669 commands/copy.c:1675
+#: commands/copy.c:1703 commands/copy.c:1709 commands/copy.c:1715
 #, c-format
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "Tentez la variante COPY (SELECT ...) TO."
 
-#: commands/copy.c:1667
+#: commands/copy.c:1707
 #, c-format
 msgid "cannot copy from materialized view \"%s\""
 msgstr "ne peut pas copier à partir de la vue matérialisée « %s »"
 
-#: commands/copy.c:1673
+#: commands/copy.c:1713
 #, c-format
 msgid "cannot copy from foreign table \"%s\""
 msgstr "ne peut pas copier à partir de la table distante « %s »"
 
-#: commands/copy.c:1679
+#: commands/copy.c:1719
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "ne peut pas copier à partir de la séquence « %s »"
 
-#: commands/copy.c:1684
+#: commands/copy.c:1724
 #, c-format
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "ne peut pas copier à partir de la relation « %s », qui n'est pas une table"
 
-#: commands/copy.c:1709 commands/copy.c:2747
+#: commands/copy.c:1749 commands/copy.c:2787
 #, c-format
 msgid "could not execute command \"%s\": %m"
 msgstr "n'a pas pu exécuter la commande « %s » : %m"
 
-#: commands/copy.c:1724
+#: commands/copy.c:1764
 #, c-format
 msgid "relative path not allowed for COPY to file"
 msgstr "un chemin relatif n'est pas autorisé à utiliser COPY vers un fichier"
 
-#: commands/copy.c:1732
+#: commands/copy.c:1772
 #, c-format
 msgid "could not open file \"%s\" for writing: %m"
 msgstr "n'a pas pu ouvrir le fichier « %s » en écriture : %m"
 
-#: commands/copy.c:1744 commands/copy.c:2770
+#: commands/copy.c:1784 commands/copy.c:2810
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "« %s » est un répertoire"
 
-#: commands/copy.c:2069
+#: commands/copy.c:2109
 #, c-format
 msgid "COPY %s, line %d, column %s"
 msgstr "COPY %s, ligne %d, colonne %s"
 
-#: commands/copy.c:2073 commands/copy.c:2120
+#: commands/copy.c:2113 commands/copy.c:2160
 #, c-format
 msgid "COPY %s, line %d"
 msgstr "COPY %s, ligne %d"
 
-#: commands/copy.c:2084
+#: commands/copy.c:2124
 #, c-format
 msgid "COPY %s, line %d, column %s: \"%s\""
 msgstr "COPY %s, ligne %d, colonne %s : « %s »"
 
-#: commands/copy.c:2092
+#: commands/copy.c:2132
 #, c-format
 msgid "COPY %s, line %d, column %s: null input"
 msgstr "COPY %s, ligne %d, colonne %s : NULL en entrée"
 
-#: commands/copy.c:2114
+#: commands/copy.c:2154
 #, c-format
 msgid "COPY %s, line %d: \"%s\""
 msgstr "COPY %s, ligne %d : « %s »"
 
-#: commands/copy.c:2198
+#: commands/copy.c:2238
 #, c-format
 msgid "cannot copy to view \"%s\""
 msgstr "ne peut pas copier vers la vue « %s »"
 
-#: commands/copy.c:2203
+#: commands/copy.c:2243
 #, c-format
 msgid "cannot copy to materialized view \"%s\""
 msgstr "ne peut pas copier vers la vue matérialisée « %s »"
 
-#: commands/copy.c:2208
+#: commands/copy.c:2248
 #, c-format
 msgid "cannot copy to foreign table \"%s\""
 msgstr "ne peut pas copier vers la table distante « %s »"
 
-#: commands/copy.c:2213
+#: commands/copy.c:2253
 #, c-format
 msgid "cannot copy to sequence \"%s\""
 msgstr "ne peut pas copier vers la séquence « %s »"
 
-#: commands/copy.c:2218
+#: commands/copy.c:2258
 #, c-format
 msgid "cannot copy to non-table relation \"%s\""
 msgstr "ne peut pas copier vers une relation « %s » qui n'est pas une table"
 
-#: commands/copy.c:2281
+#: commands/copy.c:2321
 #, c-format
 msgid "cannot perform FREEZE because of prior transaction activity"
 msgstr "n'a pas pu exécuter un FREEZE à cause d'une activité transactionnelle précédente"
 
-#: commands/copy.c:2287
+#: commands/copy.c:2327
 #, c-format
 msgid "cannot perform FREEZE because the table was not created or truncated in the current subtransaction"
 msgstr "n'a pas pu exécuter un FREEZE parce que la table n'était pas créée ou tronquée dans la transaction en cours"
 
-#: commands/copy.c:2758 commands/extension.c:3037 utils/adt/genfile.c:134
-#, c-format
-msgid "could not open file \"%s\" for reading: %m"
-msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m"
-
-#: commands/copy.c:2790
+#: commands/copy.c:2830
 #, c-format
 msgid "COPY file signature not recognized"
 msgstr "la signature du fichier COPY n'est pas reconnue"
 
-#: commands/copy.c:2795
+#: commands/copy.c:2835
 #, c-format
 msgid "invalid COPY file header (missing flags)"
 msgstr "en-tête du fichier COPY invalide (options manquantes)"
 
-#: commands/copy.c:2801
+#: commands/copy.c:2841
 #, c-format
 msgid "unrecognized critical flags in COPY file header"
 msgstr "options critiques non reconnues dans l'en-tête du fichier COPY"
 
-#: commands/copy.c:2807
+#: commands/copy.c:2847
 #, c-format
 msgid "invalid COPY file header (missing length)"
 msgstr "en-tête du fichier COPY invalide (longueur manquante)"
 
-#: commands/copy.c:2814
+#: commands/copy.c:2854
 #, c-format
 msgid "invalid COPY file header (wrong length)"
 msgstr "en-tête du fichier COPY invalide (mauvaise longueur)"
 
-#: commands/copy.c:2947 commands/copy.c:3654 commands/copy.c:3884
+#: commands/copy.c:2987 commands/copy.c:3694 commands/copy.c:3924
 #, c-format
 msgid "extra data after last expected column"
 msgstr "données supplémentaires après la dernière colonne attendue"
 
-#: commands/copy.c:2957
+#: commands/copy.c:2997
 #, c-format
 msgid "missing data for OID column"
 msgstr "données manquantes pour la colonne OID"
 
-#: commands/copy.c:2963
+#: commands/copy.c:3003
 #, c-format
 msgid "null OID in COPY data"
 msgstr "OID NULL dans les données du COPY"
 
-#: commands/copy.c:2973 commands/copy.c:3096
+#: commands/copy.c:3013 commands/copy.c:3136
 #, c-format
 msgid "invalid OID in COPY data"
 msgstr "OID invalide dans les données du COPY"
 
-#: commands/copy.c:2988
+#: commands/copy.c:3028
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "données manquantes pour la colonne « %s »"
 
-#: commands/copy.c:3071
+#: commands/copy.c:3111
 #, c-format
 msgid "received copy data after EOF marker"
 msgstr "a reçu des données de COPY après le marqueur de fin"
 
-#: commands/copy.c:3078
+#: commands/copy.c:3118
 #, c-format
 msgid "row field count is %d, expected %d"
 msgstr "le nombre de champs de la ligne est %d, %d attendus"
 
-#: commands/copy.c:3418 commands/copy.c:3435
+#: commands/copy.c:3458 commands/copy.c:3475
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "retour chariot trouvé dans les données"
 
-#: commands/copy.c:3419 commands/copy.c:3436
+#: commands/copy.c:3459 commands/copy.c:3476
 #, c-format
 msgid "unquoted carriage return found in data"
 msgstr "retour chariot sans guillemet trouvé dans les données"
 
-#: commands/copy.c:3421 commands/copy.c:3438
+#: commands/copy.c:3461 commands/copy.c:3478
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Utilisez « \\r » pour représenter un retour chariot."
 
-#: commands/copy.c:3422 commands/copy.c:3439
+#: commands/copy.c:3462 commands/copy.c:3479
 #, c-format
 msgid "Use quoted CSV field to represent carriage return."
 msgstr "Utiliser le champ CSV entre guillemets pour représenter un retour chariot."
 
-#: commands/copy.c:3451
+#: commands/copy.c:3491
 #, c-format
 msgid "literal newline found in data"
 msgstr "retour à la ligne trouvé dans les données"
 
-#: commands/copy.c:3452
+#: commands/copy.c:3492
 #, c-format
 msgid "unquoted newline found in data"
 msgstr "retour à la ligne trouvé dans les données"
 
-#: commands/copy.c:3454
+#: commands/copy.c:3494
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "Utilisez « \\n » pour représenter un retour à la ligne."
 
-#: commands/copy.c:3455
+#: commands/copy.c:3495
 #, c-format
 msgid "Use quoted CSV field to represent newline."
 msgstr "Utiliser un champ CSV entre guillemets pour représenter un retour à la ligne."
 
-#: commands/copy.c:3501 commands/copy.c:3537
+#: commands/copy.c:3541 commands/copy.c:3577
 #, c-format
 msgid "end-of-copy marker does not match previous newline style"
 msgstr "le marqueur fin-de-copie ne correspond pas à un précédent style de fin de ligne"
 
-#: commands/copy.c:3510 commands/copy.c:3526
+#: commands/copy.c:3550 commands/copy.c:3566
 #, c-format
 msgid "end-of-copy marker corrupt"
 msgstr "marqueur fin-de-copie corrompu"
 
-#: commands/copy.c:3968
+#: commands/copy.c:4008
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "champ CSV entre guillemets non terminé"
 
-#: commands/copy.c:4045 commands/copy.c:4064
+#: commands/copy.c:4085 commands/copy.c:4104
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "fin de fichier (EOF) inattendu dans les données du COPY"
 
-#: commands/copy.c:4054
+#: commands/copy.c:4094
 #, c-format
 msgid "invalid field size"
 msgstr "taille du champ invalide"
 
-#: commands/copy.c:4077
+#: commands/copy.c:4117
 #, c-format
 msgid "incorrect binary data format"
 msgstr "format de données binaires incorrect"
 
-#: commands/copy.c:4388 commands/indexcmds.c:1008 commands/tablecmds.c:1459 commands/tablecmds.c:2282 parser/parse_relation.c:3084 parser/parse_relation.c:3104 utils/adt/tsvector_op.c:1417
+#: commands/copy.c:4428 commands/indexcmds.c:1053 commands/tablecmds.c:1463
+#: commands/tablecmds.c:2290 parser/parse_relation.c:3084
+#: parser/parse_relation.c:3104 utils/adt/tsvector_op.c:2224
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "la colonne « %s » n'existe pas"
 
-#: commands/copy.c:4395 commands/tablecmds.c:1485 commands/trigger.c:652 parser/parse_target.c:956 parser/parse_target.c:967
+#: commands/copy.c:4435 commands/tablecmds.c:1489 commands/trigger.c:651
+#: parser/parse_target.c:956 parser/parse_target.c:967
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "la colonne « %s » est spécifiée plus d'une fois"
@@ -5342,7 +6137,8 @@ msgstr "%d n'est pas un code d'encodage valide"
 msgid "%s is not a valid encoding name"
 msgstr "%s n'est pas un nom d'encodage valide"
 
-#: commands/dbcommands.c:279 commands/dbcommands.c:1458 commands/user.c:271 commands/user.c:635
+#: commands/dbcommands.c:279 commands/dbcommands.c:1458 commands/user.c:272
+#: commands/user.c:650
 #, c-format
 msgid "invalid connection limit: %d"
 msgstr "limite de connexion invalide : %d"
@@ -5483,7 +6279,8 @@ msgid_plural "There are %d slots, %d of them active."
 msgstr[0] "Il existe %d slot, et %d actifs."
 msgstr[1] "Il existe %d slots, et %d actifs."
 
-#: commands/dbcommands.c:860 commands/dbcommands.c:1004 commands/dbcommands.c:1135
+#: commands/dbcommands.c:860 commands/dbcommands.c:1004
+#: commands/dbcommands.c:1135
 #, c-format
 msgid "database \"%s\" is being accessed by other users"
 msgstr "la base de données « %s » est en cours d'utilisation par d'autres utilisateurs"
@@ -5517,7 +6314,9 @@ msgstr ""
 "Vous devez d'abord les déplacer dans le tablespace par défaut de la base\n"
 "de données avant d'utiliser cette commande."
 
-#: commands/dbcommands.c:1325 commands/dbcommands.c:1868 commands/dbcommands.c:2072 commands/dbcommands.c:2120 commands/tablespace.c:606
+#: commands/dbcommands.c:1325 commands/dbcommands.c:1868
+#: commands/dbcommands.c:2072 commands/dbcommands.c:2120
+#: commands/tablespace.c:606
 #, c-format
 msgid "some useless files may be left behind in old database directory \"%s\""
 msgstr ""
@@ -5558,12 +6357,14 @@ msgid_plural "There are %d prepared transactions using the database."
 msgstr[0] "%d transaction préparée utilise la base de données"
 msgstr[1] "%d transactions préparées utilisent la base de données"
 
-#: commands/define.c:54 commands/define.c:228 commands/define.c:260 commands/define.c:288
+#: commands/define.c:54 commands/define.c:228 commands/define.c:260
+#: commands/define.c:288
 #, c-format
 msgid "%s requires a parameter"
 msgstr "%s requiert un paramètre"
 
-#: commands/define.c:90 commands/define.c:101 commands/define.c:195 commands/define.c:213
+#: commands/define.c:90 commands/define.c:101 commands/define.c:195
+#: commands/define.c:213
 #, c-format
 msgid "%s requires a numeric value"
 msgstr "%s requiert une valeur numérique"
@@ -5593,7 +6394,8 @@ msgstr "l'argument de %s doit 
 msgid "invalid argument for %s: \"%s\""
 msgstr "argument invalide pour %s : « %s »"
 
-#: commands/dropcmds.c:112 commands/functioncmds.c:1166 utils/adt/ruleutils.c:1951
+#: commands/dropcmds.c:112 commands/functioncmds.c:1203
+#: utils/adt/ruleutils.c:1965
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "« %s » est une fonction d'agrégat"
@@ -5603,17 +6405,19 @@ msgstr "
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Utiliser DROP AGGREGATE pour supprimer les fonctions d'agrégat."
 
-#: commands/dropcmds.c:165 commands/sequence.c:424 commands/tablecmds.c:2369 commands/tablecmds.c:2520 commands/tablecmds.c:2562 commands/tablecmds.c:11336 tcop/utility.c:1104
+#: commands/dropcmds.c:165 commands/sequence.c:424 commands/tablecmds.c:2377
+#: commands/tablecmds.c:2528 commands/tablecmds.c:2570
+#: commands/tablecmds.c:11377 tcop/utility.c:1119
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "la relation « %s » n'existe pas, poursuite du traitement"
 
-#: commands/dropcmds.c:195 commands/dropcmds.c:292 commands/tablecmds.c:741
+#: commands/dropcmds.c:195 commands/dropcmds.c:292 commands/tablecmds.c:745
 #, c-format
 msgid "schema \"%s\" does not exist, skipping"
 msgstr "le schéma « %s » n'existe pas, poursuite du traitement"
 
-#: commands/dropcmds.c:237 commands/dropcmds.c:272 commands/tablecmds.c:244
+#: commands/dropcmds.c:237 commands/dropcmds.c:272 commands/tablecmds.c:246
 #, c-format
 msgid "type \"%s\" does not exist, skipping"
 msgstr "le type « %s » n'existe pas, poursuite du traitement"
@@ -5729,86 +6533,69 @@ msgstr "la classe d'op
 msgid "operator family \"%s\" does not exist for access method \"%s\", skipping"
 msgstr "la famille d'opérateur « %s » n'existe pas pour la méthode d'accès « %s », ignoré"
 
-#: commands/event_trigger.c:181
+#: commands/event_trigger.c:182
 #, c-format
 msgid "permission denied to create event trigger \"%s\""
 msgstr "droit refusé pour créer le trigger sur événement « %s »"
 
-#: commands/event_trigger.c:183
+#: commands/event_trigger.c:184
 #, c-format
 msgid "Must be superuser to create an event trigger."
 msgstr "Doit être super-utilisateur pour créer un trigger sur événement."
 
-#: commands/event_trigger.c:192
+#: commands/event_trigger.c:193
 #, c-format
 msgid "unrecognized event name \"%s\""
 msgstr "nom d'événement non reconnu : « %s »"
 
-#: commands/event_trigger.c:209
+#: commands/event_trigger.c:210
 #, c-format
 msgid "unrecognized filter variable \"%s\""
 msgstr "variable « %s » du filtre non reconnu"
 
-#: commands/event_trigger.c:239
-#, c-format
-msgid "function \"%s\" must return type \"event_trigger\""
-msgstr "la fonction « %s » doit renvoyer le type « event_trigger »"
-
-#: commands/event_trigger.c:264
+#: commands/event_trigger.c:265
 #, c-format
 msgid "filter value \"%s\" not recognized for filter variable \"%s\""
 msgstr "valeur de filtre « %s » non reconnu pour la variable de filtre « %s »"
 
 #. translator: %s represents an SQL statement name
-#: commands/event_trigger.c:270 commands/event_trigger.c:340
+#: commands/event_trigger.c:271 commands/event_trigger.c:341
 #, c-format
 msgid "event triggers are not supported for %s"
 msgstr "les triggers sur événemenr ne sont pas supportés pour %s"
 
-#: commands/event_trigger.c:363
+#: commands/event_trigger.c:364
 #, c-format
 msgid "filter variable \"%s\" specified more than once"
 msgstr "variable « %s » du filtre spécifiée plus d'une fois"
 
-#: commands/event_trigger.c:511 commands/event_trigger.c:555 commands/event_trigger.c:648
+#: commands/event_trigger.c:512 commands/event_trigger.c:556
+#: commands/event_trigger.c:649
 #, c-format
 msgid "event trigger \"%s\" does not exist"
 msgstr "le trigger sur événement « %s » n'existe pas"
 
-#: commands/event_trigger.c:616
+#: commands/event_trigger.c:617
 #, c-format
 msgid "permission denied to change owner of event trigger \"%s\""
 msgstr "droit refusé pour modifier le propriétaire du trigger sur événement « %s »"
 
-#: commands/event_trigger.c:618
+#: commands/event_trigger.c:619
 #, c-format
 msgid "The owner of an event trigger must be a superuser."
 msgstr "Le propriétaire du trigger sur événement doit être un super-utilisateur."
 
-#: commands/event_trigger.c:1439
+#: commands/event_trigger.c:1442
 #, c-format
 msgid "%s can only be called in a sql_drop event trigger function"
 msgstr "%s peut seulement être appelé dans une fonction de trigger sur événement sql_drop"
 
-#: commands/event_trigger.c:1446 commands/event_trigger.c:1997 commands/extension.c:1645 commands/extension.c:1754 commands/extension.c:1947 commands/prepare.c:701 executor/execQual.c:1735 executor/execQual.c:1760 executor/execQual.c:2135 executor/execQual.c:5376 executor/functions.c:1021 foreign/foreign.c:491 replication/logical/logicalfuncs.c:324 replication/logical/origin.c:1410 replication/slotfuncs.c:173 replication/walsender.c:2762
-#: utils/adt/jsonfuncs.c:1474 utils/adt/jsonfuncs.c:1606 utils/adt/jsonfuncs.c:1796 utils/adt/jsonfuncs.c:1925 utils/adt/jsonfuncs.c:2693 utils/adt/pgstatfuncs.c:547 utils/fmgr/funcapi.c:61 utils/misc/guc.c:8207 utils/mmgr/portalmem.c:1052
+#: commands/event_trigger.c:1562 commands/event_trigger.c:1583
 #, c-format
-msgid "set-valued function called in context that cannot accept a set"
-msgstr ""
-"la fonction avec set-value a été appelé dans un contexte qui n'accepte pas\n"
-"un ensemble"
+msgid "%s can only be called in a table_rewrite event trigger function"
+msgstr "%s peut seulement être appelé dans une fonction de trigger sur événement table_rewrite"
 
-#: commands/event_trigger.c:1450 commands/event_trigger.c:2001 commands/extension.c:1649 commands/extension.c:1758 commands/extension.c:1951 commands/prepare.c:705 foreign/foreign.c:496 replication/logical/logicalfuncs.c:328 replication/logical/origin.c:1414 replication/slotfuncs.c:177 replication/walsender.c:2766 utils/adt/pgstatfuncs.c:551 utils/misc/guc.c:8211 utils/mmgr/portalmem.c:1056
-#, c-format
-msgid "materialize mode required, but it is not allowed in this context"
-msgstr "mode matérialisé requis mais interdit dans ce contexte"
-
-#: commands/event_trigger.c:1559 commands/event_trigger.c:1580
-#, c-format
-msgid "%s can only be called in a table_rewrite event trigger function"
-msgstr "%s peut seulement être appelé dans une fonction de trigger sur événement table_rewrite"
-
-#: commands/event_trigger.c:1990
+#: commands/event_trigger.c:1993
 #, c-format
 msgid "%s can only be called in an event trigger function"
 msgstr "%s peut seulement être appelé dans une fonction de trigger sur événement"
@@ -5833,224 +6620,244 @@ msgstr "l'option BUFFERS d'EXPLAIN n
 msgid "EXPLAIN option TIMING requires ANALYZE"
 msgstr "l'option TIMING d'EXPLAIN nécessite ANALYZE"
 
-#: commands/extension.c:152 commands/extension.c:2635
+#: commands/extension.c:154 commands/extension.c:2718
 #, c-format
 msgid "extension \"%s\" does not exist"
 msgstr "l'extension « %s » n'existe pas"
 
-#: commands/extension.c:251 commands/extension.c:260 commands/extension.c:272 commands/extension.c:282
+#: commands/extension.c:253 commands/extension.c:262 commands/extension.c:274
+#: commands/extension.c:284
 #, c-format
 msgid "invalid extension name: \"%s\""
 msgstr "nom d'extension invalide : « %s »"
 
-#: commands/extension.c:252
+#: commands/extension.c:254
 #, c-format
 msgid "Extension names must not be empty."
 msgstr "Les noms d'extension ne doivent pas être vides."
 
-#: commands/extension.c:261
+#: commands/extension.c:263
 #, c-format
 msgid "Extension names must not contain \"--\"."
 msgstr "Les noms d'extension ne doivent pas contenir « -- »."
 
-#: commands/extension.c:273
+#: commands/extension.c:275
 #, c-format
 msgid "Extension names must not begin or end with \"-\"."
 msgstr "Les noms des extensions ne doivent pas commencer ou finir avec un tiret (« - »)."
 
-#: commands/extension.c:283
+#: commands/extension.c:285
 #, c-format
 msgid "Extension names must not contain directory separator characters."
 msgstr "Les noms des extensions ne doivent pas contenir des caractères séparateurs de répertoire."
 
-#: commands/extension.c:298 commands/extension.c:307 commands/extension.c:316 commands/extension.c:326
+#: commands/extension.c:300 commands/extension.c:309 commands/extension.c:318
+#: commands/extension.c:328
 #, c-format
 msgid "invalid extension version name: \"%s\""
 msgstr "nom de version de l'extension invalide :  « %s »"
 
-#: commands/extension.c:299
+#: commands/extension.c:301
 #, c-format
 msgid "Version names must not be empty."
 msgstr "Les noms de version ne doivent pas être vides."
 
-#: commands/extension.c:308
+#: commands/extension.c:310
 #, c-format
 msgid "Version names must not contain \"--\"."
 msgstr "Les noms de version ne doivent pas contenir « -- »."
 
-#: commands/extension.c:317
+#: commands/extension.c:319
 #, c-format
 msgid "Version names must not begin or end with \"-\"."
 msgstr "Les noms de version ne doivent ni commencer ni se terminer avec un tiret."
 
-#: commands/extension.c:327
+#: commands/extension.c:329
 #, c-format
 msgid "Version names must not contain directory separator characters."
 msgstr ""
 "Les noms de version ne doivent pas contenir de caractères séparateurs de\n"
 "répertoire."
 
-#: commands/extension.c:477
+#: commands/extension.c:479
 #, c-format
 msgid "could not open extension control file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier de contrôle d'extension « %s » : %m"
 
-#: commands/extension.c:499 commands/extension.c:509
+#: commands/extension.c:501 commands/extension.c:511
 #, c-format
 msgid "parameter \"%s\" cannot be set in a secondary extension control file"
 msgstr ""
 "le paramètre « %s » ne peut pas être configuré dans un fichier de contrôle\n"
 "secondaire de l'extension"
 
-#: commands/extension.c:548
+#: commands/extension.c:550
 #, c-format
 msgid "\"%s\" is not a valid encoding name"
 msgstr "« %s » n'est pas un nom d'encodage valide"
 
-#: commands/extension.c:562
+#: commands/extension.c:564
 #, c-format
 msgid "parameter \"%s\" must be a list of extension names"
 msgstr "l'argument « %s » doit être une liste de noms d'extension"
 
-#: commands/extension.c:569
+#: commands/extension.c:571
 #, c-format
 msgid "unrecognized parameter \"%s\" in file \"%s\""
 msgstr "paramètre « %s » non reconnu dans le fichier « %s »"
 
-#: commands/extension.c:578
+#: commands/extension.c:580
 #, c-format
 msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true"
 msgstr "le paramètre « schema » ne peut pas être indiqué quand « relocatable » est vrai"
 
-#: commands/extension.c:719
+#: commands/extension.c:721
 #, c-format
 msgid "transaction control statements are not allowed within an extension script"
 msgstr ""
 "les instructions de contrôle des transactions ne sont pas autorisées dans un\n"
 "script d'extension"
 
-#: commands/extension.c:787
+#: commands/extension.c:789
 #, c-format
 msgid "permission denied to create extension \"%s\""
 msgstr "droit refusé pour créer l'extension « %s »"
 
-#: commands/extension.c:789
+#: commands/extension.c:791
 #, c-format
 msgid "Must be superuser to create this extension."
 msgstr "Doit être super-utilisateur pour créer cette extension."
 
-#: commands/extension.c:793
+#: commands/extension.c:795
 #, c-format
 msgid "permission denied to update extension \"%s\""
 msgstr "droit refusé pour mettre à jour l'extension « %s »"
 
-#: commands/extension.c:795
+#: commands/extension.c:797
 #, c-format
 msgid "Must be superuser to update this extension."
 msgstr "Doit être super-utilisateur pour mettre à jour cette extension."
 
-#: commands/extension.c:1077
+#: commands/extension.c:1079
 #, c-format
 msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\""
 msgstr "l'extension « %s » n'a pas de chemin de mise à jour pour aller de la version « %s » à la version « %s »"
 
-#: commands/extension.c:1205
-#, c-format
-msgid "extension \"%s\" already exists, skipping"
-msgstr "l'extension « %s » existe déjà, poursuite du traitement"
-
-#: commands/extension.c:1212
-#, c-format
-msgid "extension \"%s\" already exists"
-msgstr "l'extension « %s » existe déjà"
-
-#: commands/extension.c:1223
-#, c-format
-msgid "nested CREATE EXTENSION is not supported"
-msgstr "CREATE EXTENSION imbriqué n'est pas supporté"
-
-#: commands/extension.c:1278 commands/extension.c:2695
+#: commands/extension.c:1261 commands/extension.c:2778
 #, c-format
 msgid "version to install must be specified"
 msgstr "la version à installer doit être précisée"
 
-#: commands/extension.c:1295
+#: commands/extension.c:1278
 #, c-format
 msgid "FROM version must be different from installation target version \"%s\""
 msgstr "la version FROM doit être différente de la version cible d'installation « %s »"
 
-#: commands/extension.c:1350
+#: commands/extension.c:1343
 #, c-format
 msgid "extension \"%s\" must be installed in schema \"%s\""
 msgstr "l'extension « %s » doit être installée dans le schéma « %s »"
 
-#: commands/extension.c:1434 commands/extension.c:2840
+#: commands/extension.c:1435
+#, fuzzy, c-format
+#| msgid "collation mismatch between explicit collations \"%s\" and \"%s\""
+msgid "cyclic dependency detected between extensions \"%s\" and \"%s\""
+msgstr "le collationnement ne correspond pas aux collationnements explicites « %s » et « %s »"
+
+#: commands/extension.c:1440
+#, fuzzy, c-format
+#| msgid "invalid extension name: \"%s\""
+msgid "installing required extension \"%s\""
+msgstr "nom d'extension invalide : « %s »"
+
+#: commands/extension.c:1468 commands/extension.c:2923
 #, c-format
 msgid "required extension \"%s\" is not installed"
 msgstr "l'extension « %s » requise n'est pas installée"
 
-#: commands/extension.c:1597
+#: commands/extension.c:1470
+#, fuzzy, c-format
+#| msgid "Use ALTER ... CASCADE to alter the typed tables too."
+msgid "Use CREATE EXTENSION CASCADE to install required extensions too."
+msgstr "Utilisez ALTER ... CASCADE pour modifier aussi les tables de type."
+
+#: commands/extension.c:1534
+#, c-format
+msgid "extension \"%s\" already exists, skipping"
+msgstr "l'extension « %s » existe déjà, poursuite du traitement"
+
+#: commands/extension.c:1541
+#, c-format
+msgid "extension \"%s\" already exists"
+msgstr "l'extension « %s » existe déjà"
+
+#: commands/extension.c:1552
+#, c-format
+msgid "nested CREATE EXTENSION is not supported"
+msgstr "CREATE EXTENSION imbriqué n'est pas supporté"
+
+#: commands/extension.c:1680
 #, c-format
 msgid "cannot drop extension \"%s\" because it is being modified"
 msgstr "ne peut pas supprimer l'extension « %s » car il est en cours de modification"
 
-#: commands/extension.c:2068
+#: commands/extension.c:2151
 #, c-format
 msgid "pg_extension_config_dump() can only be called from an SQL script executed by CREATE EXTENSION"
 msgstr ""
 "pg_extension_config_dump() peut seulement être appelé à partir d'un script SQL\n"
 "exécuté par CREATE EXTENSION"
 
-#: commands/extension.c:2080
+#: commands/extension.c:2163
 #, c-format
 msgid "OID %u does not refer to a table"
 msgstr "l'OID %u ne fait pas référence à une table"
 
-#: commands/extension.c:2085
+#: commands/extension.c:2168
 #, c-format
 msgid "table \"%s\" is not a member of the extension being created"
 msgstr "la table « %s » n'est pas un membre de l'extension en cours de création"
 
-#: commands/extension.c:2450
+#: commands/extension.c:2533
 #, c-format
 msgid "cannot move extension \"%s\" into schema \"%s\" because the extension contains the schema"
 msgstr ""
 "ne peut pas déplacer l'extension « %s » dans le schéma « %s » car l'extension\n"
 "contient le schéma"
 
-#: commands/extension.c:2490 commands/extension.c:2553
+#: commands/extension.c:2573 commands/extension.c:2636
 #, c-format
 msgid "extension \"%s\" does not support SET SCHEMA"
 msgstr "l'extension « %s » ne supporte pas SET SCHEMA"
 
-#: commands/extension.c:2555
+#: commands/extension.c:2638
 #, c-format
 msgid "%s is not in the extension's schema \"%s\""
 msgstr "%s n'est pas dans le schéma « %s » de l'extension"
 
-#: commands/extension.c:2615
+#: commands/extension.c:2698
 #, c-format
 msgid "nested ALTER EXTENSION is not supported"
 msgstr "un ALTER EXTENSION imbriqué n'est pas supporté"
 
-#: commands/extension.c:2706
+#: commands/extension.c:2789
 #, c-format
 msgid "version \"%s\" of extension \"%s\" is already installed"
 msgstr "la version « %s » de l'extension « %s » est déjà installée"
 
-#: commands/extension.c:2957
+#: commands/extension.c:3040
 #, c-format
 msgid "cannot add schema \"%s\" to extension \"%s\" because the schema contains the extension"
 msgstr ""
 "ne peut pas ajouter le schéma « %s » à l'extension « %s » car le schéma\n"
 "contient l'extension"
 
-#: commands/extension.c:2975
+#: commands/extension.c:3058
 #, c-format
 msgid "%s is not a member of extension \"%s\""
 msgstr "%s n'est pas un membre de l'extension « %s »"
 
-#: commands/extension.c:3031
+#: commands/extension.c:3114
 #, c-format
 msgid "file \"%s\" is too large"
 msgstr "le fichier « %s » est trop gros"
@@ -6082,16 +6889,11 @@ msgstr ""
 msgid "The owner of a foreign-data wrapper must be a superuser."
 msgstr "Le propriétaire du wrapper de données distantes doit être un super-utilisateur."
 
-#: commands/foreigncmds.c:292 commands/foreigncmds.c:709 foreign/foreign.c:670
+#: commands/foreigncmds.c:292 commands/foreigncmds.c:709 foreign/foreign.c:777
 #, c-format
 msgid "foreign-data wrapper \"%s\" does not exist"
 msgstr "le wrapper de données distantes « %s » n'existe pas"
 
-#: commands/foreigncmds.c:489
-#, c-format
-msgid "function %s must return type \"fdw_handler\""
-msgstr "la fonction %s doit renvoyer le type « fdw_handler »"
-
 #: commands/foreigncmds.c:584
 #, c-format
 msgid "permission denied to create foreign-data wrapper \"%s\""
@@ -6148,7 +6950,7 @@ msgstr ""
 "la correspondance utilisateur « %s » n'existe pas pour le serveur, poursuite\n"
 "du traitement"
 
-#: commands/foreigncmds.c:1532 foreign/foreign.c:360
+#: commands/foreigncmds.c:1532 foreign/foreign.c:467
 #, c-format
 msgid "foreign-data wrapper \"%s\" has no handler"
 msgstr "le wrapper de données distantes « %s » n'a pas de gestionnaire"
@@ -6250,416 +7052,422 @@ msgstr ""
 msgid "input parameters after one with a default value must also have defaults"
 msgstr "les paramètres en entrée suivant un paramètre avec valeur par défaut doivent aussi avoir des valeurs par défaut"
 
-#: commands/functioncmds.c:670
+#: commands/functioncmds.c:701
 #, c-format
 msgid "no function body specified"
 msgstr "aucun corps de fonction spécifié"
 
-#: commands/functioncmds.c:680
+#: commands/functioncmds.c:711
 #, c-format
 msgid "no language specified"
 msgstr "aucun langage spécifié"
 
-#: commands/functioncmds.c:705 commands/functioncmds.c:1205
+#: commands/functioncmds.c:736 commands/functioncmds.c:1243
 #, c-format
 msgid "COST must be positive"
 msgstr "COST doit être positif"
 
-#: commands/functioncmds.c:713 commands/functioncmds.c:1213
+#: commands/functioncmds.c:744 commands/functioncmds.c:1251
 #, c-format
 msgid "ROWS must be positive"
 msgstr "ROWS doit être positif"
 
-#: commands/functioncmds.c:752
+#: commands/functioncmds.c:785
 #, c-format
 msgid "unrecognized function attribute \"%s\" ignored"
 msgstr "l'attribut « %s » non reconnu de la fonction a été ignoré"
 
-#: commands/functioncmds.c:803
+#: commands/functioncmds.c:836
 #, c-format
 msgid "only one AS item needed for language \"%s\""
 msgstr "seul un élément AS est nécessaire pour le langage « %s »"
 
-#: commands/functioncmds.c:894 commands/functioncmds.c:2079 commands/proclang.c:560
+#: commands/functioncmds.c:929 commands/functioncmds.c:2119
+#: commands/proclang.c:563
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "le langage « %s » n'existe pas"
 
-#: commands/functioncmds.c:896 commands/functioncmds.c:2081
+#: commands/functioncmds.c:931 commands/functioncmds.c:2121
 #, c-format
 msgid "Use CREATE LANGUAGE to load the language into the database."
 msgstr "Utiliser CREATE LANGUAGE pour charger le langage dans la base de données."
 
-#: commands/functioncmds.c:931 commands/functioncmds.c:1197
+#: commands/functioncmds.c:966 commands/functioncmds.c:1235
 #, c-format
 msgid "only superuser can define a leakproof function"
 msgstr "seul un superutilisateur peut définir une fonction leakproof"
 
-#: commands/functioncmds.c:975
+#: commands/functioncmds.c:1010
 #, c-format
 msgid "function result type must be %s because of OUT parameters"
 msgstr "le type de résultat de la fonction doit être %s à cause des paramètres OUT"
 
-#: commands/functioncmds.c:988
+#: commands/functioncmds.c:1023
 #, c-format
 msgid "function result type must be specified"
 msgstr "le type de résultat de la fonction doit être spécifié"
 
-#: commands/functioncmds.c:1042 commands/functioncmds.c:1217
+#: commands/functioncmds.c:1077 commands/functioncmds.c:1255
 #, c-format
 msgid "ROWS is not applicable when function does not return a set"
 msgstr "ROWS n'est pas applicable quand la fonction ne renvoie pas un ensemble"
 
-#: commands/functioncmds.c:1372
+#: commands/functioncmds.c:1412
 #, c-format
 msgid "source data type %s is a pseudo-type"
 msgstr "le type de données source %s est un pseudo-type"
 
-#: commands/functioncmds.c:1378
+#: commands/functioncmds.c:1418
 #, c-format
 msgid "target data type %s is a pseudo-type"
 msgstr "le type de données cible %s est un pseudo-type"
 
-#: commands/functioncmds.c:1402
+#: commands/functioncmds.c:1442
 #, c-format
 msgid "cast will be ignored because the source data type is a domain"
 msgstr "la conversion sera ignorée car le type de données source est un domaine"
 
-#: commands/functioncmds.c:1407
+#: commands/functioncmds.c:1447
 #, c-format
 msgid "cast will be ignored because the target data type is a domain"
 msgstr "la conversion sera ignorée car le type de données cible est un domaine"
 
-#: commands/functioncmds.c:1434
+#: commands/functioncmds.c:1474
 #, c-format
 msgid "cast function must take one to three arguments"
 msgstr "la fonction de conversion doit prendre de un à trois arguments"
 
-#: commands/functioncmds.c:1438
+#: commands/functioncmds.c:1478
 #, c-format
 msgid "argument of cast function must match or be binary-coercible from source data type"
 msgstr ""
 "l'argument de la fonction de conversion doit correspondre ou être binary-coercible\n"
 "à partir du type de la donnée source"
 
-#: commands/functioncmds.c:1442
+#: commands/functioncmds.c:1482
 #, c-format
 msgid "second argument of cast function must be type integer"
 msgstr "le second argument de la fonction de conversion doit être de type entier"
 
-#: commands/functioncmds.c:1446
+#: commands/functioncmds.c:1486
 #, c-format
 msgid "third argument of cast function must be type boolean"
 msgstr "le troisième argument de la fonction de conversion doit être de type booléen"
 
-#: commands/functioncmds.c:1450
+#: commands/functioncmds.c:1490
 #, c-format
 msgid "return data type of cast function must match or be binary-coercible to target data type"
 msgstr ""
 "le type de donnée en retour de la fonction de conversion doit correspondre\n"
 "ou être coercible binairement au type de données cible"
 
-#: commands/functioncmds.c:1461
+#: commands/functioncmds.c:1501
 #, c-format
 msgid "cast function must not be volatile"
 msgstr "la fonction de conversion ne doit pas être volatile"
 
-#: commands/functioncmds.c:1466
+#: commands/functioncmds.c:1506
 #, c-format
 msgid "cast function must not be an aggregate function"
 msgstr "la fonction de conversion ne doit pas être une fonction d'agrégat"
 
-#: commands/functioncmds.c:1470
+#: commands/functioncmds.c:1510
 #, c-format
 msgid "cast function must not be a window function"
 msgstr "la fonction de conversion ne doit pas être une fonction window"
 
-#: commands/functioncmds.c:1474
+#: commands/functioncmds.c:1514
 #, c-format
 msgid "cast function must not return a set"
 msgstr "la fonction de conversion ne doit pas renvoyer un ensemble"
 
-#: commands/functioncmds.c:1500
+#: commands/functioncmds.c:1540
 #, c-format
 msgid "must be superuser to create a cast WITHOUT FUNCTION"
 msgstr "doit être super-utilisateur pour créer une fonction de conversion SANS FONCTION"
 
-#: commands/functioncmds.c:1515
+#: commands/functioncmds.c:1555
 #, c-format
 msgid "source and target data types are not physically compatible"
 msgstr "les types de données source et cible ne sont pas physiquement compatibles"
 
-#: commands/functioncmds.c:1530
+#: commands/functioncmds.c:1570
 #, c-format
 msgid "composite data types are not binary-compatible"
 msgstr "les types de données composites ne sont pas compatibles binairement"
 
-#: commands/functioncmds.c:1536
+#: commands/functioncmds.c:1576
 #, c-format
 msgid "enum data types are not binary-compatible"
 msgstr "les types de données enum ne sont pas compatibles binairement"
 
-#: commands/functioncmds.c:1542
+#: commands/functioncmds.c:1582
 #, c-format
 msgid "array data types are not binary-compatible"
 msgstr "les types de données tableau ne sont pas compatibles binairement"
 
-#: commands/functioncmds.c:1559
+#: commands/functioncmds.c:1599
 #, c-format
 msgid "domain data types must not be marked binary-compatible"
 msgstr "les types de données domaines ne sont pas compatibles binairement"
 
-#: commands/functioncmds.c:1569
+#: commands/functioncmds.c:1609
 #, c-format
 msgid "source data type and target data type are the same"
 msgstr "les types de données source et cible sont identiques"
 
-#: commands/functioncmds.c:1602
+#: commands/functioncmds.c:1642
 #, c-format
 msgid "cast from type %s to type %s already exists"
 msgstr "la conversion du type %s vers le type %s existe déjà"
 
-#: commands/functioncmds.c:1677
+#: commands/functioncmds.c:1717
 #, c-format
 msgid "cast from type %s to type %s does not exist"
 msgstr "la conversion du type %s vers le type %s n'existe pas"
 
-#: commands/functioncmds.c:1716
+#: commands/functioncmds.c:1756
 #, c-format
 msgid "transform function must not be volatile"
 msgstr "la fonction de transformation ne doit pas être volatile"
 
-#: commands/functioncmds.c:1720
+#: commands/functioncmds.c:1760
 #, c-format
 msgid "transform function must not be an aggregate function"
 msgstr "la fonction de transformation ne doit pas être une fonction d'agrégat"
 
-#: commands/functioncmds.c:1724
+#: commands/functioncmds.c:1764
 #, c-format
 msgid "transform function must not be a window function"
 msgstr "la fonction de transformation ne doit pas être une fonction window"
 
-#: commands/functioncmds.c:1728
+#: commands/functioncmds.c:1768
 #, c-format
 msgid "transform function must not return a set"
 msgstr "la fonction de transformation ne doit pas renvoyer un ensemble"
 
-#: commands/functioncmds.c:1732
+#: commands/functioncmds.c:1772
 #, c-format
 msgid "transform function must take one argument"
 msgstr "la fonction de transformation doit prendre de un argument"
 
-#: commands/functioncmds.c:1736
+#: commands/functioncmds.c:1776
 #, c-format
 msgid "first argument of transform function must be type \"internal\""
 msgstr "le premier argument de la fonction de transformation doit être de type « internal »"
 
-#: commands/functioncmds.c:1773
+#: commands/functioncmds.c:1813
 #, c-format
 msgid "data type %s is a pseudo-type"
 msgstr "le type de données %s est un pseudo-type"
 
-#: commands/functioncmds.c:1779
+#: commands/functioncmds.c:1819
 #, c-format
 msgid "data type %s is a domain"
 msgstr "le type de données %s est un domaine"
 
-#: commands/functioncmds.c:1819
+#: commands/functioncmds.c:1859
 #, c-format
 msgid "return data type of FROM SQL function must be \"internal\""
 msgstr "le type de donnée en retour de la fonction FROM SQL doit être « internal »"
 
-#: commands/functioncmds.c:1844
+#: commands/functioncmds.c:1884
 #, c-format
 msgid "return data type of TO SQL function must be the transform data type"
 msgstr "le type de donnée en retour de la fonction TO SQL doit être du type de données de la transformation"
 
-#: commands/functioncmds.c:1871
+#: commands/functioncmds.c:1911
 #, c-format
 msgid "transform for type %s language \"%s\" already exists"
 msgstr "la transformation pour le type %s et le langage « %s » existe déjà"
 
-#: commands/functioncmds.c:1962
+#: commands/functioncmds.c:2002
 #, c-format
 msgid "transform for type %s language \"%s\" does not exist"
 msgstr "la transformation pour le type %s et le langage « %s » n'existe pas"
 
-#: commands/functioncmds.c:2013
+#: commands/functioncmds.c:2053
 #, c-format
 msgid "function %s already exists in schema \"%s\""
 msgstr "la fonction %s existe déjà dans le schéma « %s »"
 
-#: commands/functioncmds.c:2066
+#: commands/functioncmds.c:2106
 #, c-format
 msgid "no inline code specified"
 msgstr "aucun code en ligne spécifié"
 
-#: commands/functioncmds.c:2111
+#: commands/functioncmds.c:2151
 #, c-format
 msgid "language \"%s\" does not support inline code execution"
 msgstr "le langage « %s » ne supporte pas l'exécution de code en ligne"
 
-#: commands/indexcmds.c:159 commands/indexcmds.c:487 commands/opclasscmds.c:360 commands/opclasscmds.c:786 commands/opclasscmds.c:1749
-#, c-format
-msgid "access method \"%s\" does not exist"
-msgstr "la méthode d'accès « %s » n'existe pas"
-
-#: commands/indexcmds.c:341
+#: commands/indexcmds.c:349
 #, c-format
 msgid "must specify at least one column"
 msgstr "doit spécifier au moins une colonne"
 
-#: commands/indexcmds.c:345
+#: commands/indexcmds.c:353
 #, c-format
 msgid "cannot use more than %d columns in an index"
 msgstr "ne peut pas utiliser plus de %d colonnes dans un index"
 
-#: commands/indexcmds.c:376
+#: commands/indexcmds.c:384
 #, c-format
 msgid "cannot create index on foreign table \"%s\""
 msgstr "ne peut pas créer un index sur la table distante « %s »"
 
-#: commands/indexcmds.c:391
+#: commands/indexcmds.c:399
 #, c-format
 msgid "cannot create indexes on temporary tables of other sessions"
 msgstr "ne peut pas créer les index sur les tables temporaires des autres sessions"
 
-#: commands/indexcmds.c:446 commands/tablecmds.c:541 commands/tablecmds.c:9567
+#: commands/indexcmds.c:454 commands/tablecmds.c:545 commands/tablecmds.c:9597
 #, c-format
 msgid "only shared relations can be placed in pg_global tablespace"
 msgstr "seules les relations partagées peuvent être placées dans le tablespace pg_global"
 
-#: commands/indexcmds.c:479
+#: commands/indexcmds.c:487
 #, c-format
 msgid "substituting access method \"gist\" for obsolete method \"rtree\""
 msgstr "substitution de la méthode d'accès obsolète « rtree » par « gist » "
 
-#: commands/indexcmds.c:496
+#: commands/indexcmds.c:505
 #, c-format
 msgid "hash indexes are not WAL-logged and their use is discouraged"
 msgstr "les index hash ne sont pas journalisés, leur utilisation est donc déconseillée"
 
-#: commands/indexcmds.c:501
+#: commands/indexcmds.c:510
 #, c-format
 msgid "access method \"%s\" does not support unique indexes"
 msgstr "la méthode d'accès « %s » ne supporte pas les index uniques"
 
-#: commands/indexcmds.c:506
+#: commands/indexcmds.c:515
 #, c-format
 msgid "access method \"%s\" does not support multicolumn indexes"
 msgstr "la méthode d'accès « %s » ne supporte pas les index multi-colonnes"
 
-#: commands/indexcmds.c:511
+#: commands/indexcmds.c:520
 #, c-format
 msgid "access method \"%s\" does not support exclusion constraints"
 msgstr "la méthode d'accès « %s » ne supporte pas les contraintes d'exclusion"
 
-#: commands/indexcmds.c:590
+#: commands/indexcmds.c:590 commands/indexcmds.c:610
+#, fuzzy, c-format
+#| msgid "concurrent index creation on system catalog tables is not supported"
+msgid "index creation on system columns is not supported"
+msgstr ""
+"la création en parallèle d'un index sur les tables du catalogue système\n"
+"n'est pas supportée"
+
+#: commands/indexcmds.c:635
 #, c-format
 msgid "%s %s will create implicit index \"%s\" for table \"%s\""
 msgstr "%s %s créera un index implicite « %s » pour la table « %s »"
 
-#: commands/indexcmds.c:937
+#: commands/indexcmds.c:982
 #, c-format
 msgid "functions in index predicate must be marked IMMUTABLE"
 msgstr "les fonctions dans un prédicat d'index doivent être marquées comme IMMUTABLE"
 
-#: commands/indexcmds.c:1003 parser/parse_utilcmd.c:1844
+#: commands/indexcmds.c:1048 parser/parse_utilcmd.c:1894
 #, c-format
 msgid "column \"%s\" named in key does not exist"
 msgstr "la colonne « %s » nommée dans la clé n'existe pas"
 
-#: commands/indexcmds.c:1063
+#: commands/indexcmds.c:1108
 #, c-format
 msgid "functions in index expression must be marked IMMUTABLE"
 msgstr ""
 "les fonctions dans l'expression de l'index doivent être marquées comme\n"
 "IMMUTABLE"
 
-#: commands/indexcmds.c:1086
+#: commands/indexcmds.c:1131
 #, c-format
 msgid "could not determine which collation to use for index expression"
 msgstr "n'a pas pu déterminer le collationnement à utiliser pour l'expression d'index"
 
-#: commands/indexcmds.c:1094 commands/typecmds.c:825 parser/parse_expr.c:2559 parser/parse_type.c:550 parser/parse_utilcmd.c:2736 utils/adt/misc.c:546
+#: commands/indexcmds.c:1139 commands/typecmds.c:827 parser/parse_expr.c:2583
+#: parser/parse_type.c:550 parser/parse_utilcmd.c:2820 utils/adt/misc.c:666
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "les collationnements ne sont pas supportés par le type %s"
 
-#: commands/indexcmds.c:1132
+#: commands/indexcmds.c:1177
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "l'opérateur %s n'est pas commutatif"
 
-#: commands/indexcmds.c:1134
+#: commands/indexcmds.c:1179
 #, c-format
 msgid "Only commutative operators can be used in exclusion constraints."
 msgstr "Seuls les opérateurs commutatifs peuvent être utilisés dans les contraintes d'exclusion."
 
-#: commands/indexcmds.c:1160
+#: commands/indexcmds.c:1205
 #, c-format
 msgid "operator %s is not a member of operator family \"%s\""
 msgstr "l'opérateur %s n'est pas un membre de la famille d'opérateur « %s »"
 
-#: commands/indexcmds.c:1163
+#: commands/indexcmds.c:1208
 #, c-format
 msgid "The exclusion operator must be related to the index operator class for the constraint."
 msgstr ""
 "L'opérateur d'exclusion doit être en relation avec la classe d'opérateur de\n"
 "l'index pour la contrainte."
 
-#: commands/indexcmds.c:1198
+#: commands/indexcmds.c:1243
 #, c-format
 msgid "access method \"%s\" does not support ASC/DESC options"
 msgstr "la méthode d'accès « %s » ne supporte pas les options ASC/DESC"
 
-#: commands/indexcmds.c:1203
+#: commands/indexcmds.c:1248
 #, c-format
 msgid "access method \"%s\" does not support NULLS FIRST/LAST options"
 msgstr "la méthode d'accès « %s » ne supporte pas les options NULLS FIRST/LAST"
 
-#: commands/indexcmds.c:1259 commands/typecmds.c:1932
+#: commands/indexcmds.c:1304 commands/typecmds.c:1935
 #, c-format
 msgid "data type %s has no default operator class for access method \"%s\""
 msgstr ""
 "le type de données %s n'a pas de classe d'opérateurs par défaut pour la\n"
 "méthode d'accès « %s »"
 
-#: commands/indexcmds.c:1261
+#: commands/indexcmds.c:1306
 #, c-format
 msgid "You must specify an operator class for the index or define a default operator class for the data type."
 msgstr ""
 "Vous devez spécifier une classe d'opérateur pour l'index ou définir une\n"
 "classe d'opérateur par défaut pour le type de données."
 
-#: commands/indexcmds.c:1290 commands/indexcmds.c:1298 commands/opclasscmds.c:204
+#: commands/indexcmds.c:1335 commands/indexcmds.c:1343
+#: commands/opclasscmds.c:205
 #, c-format
 msgid "operator class \"%s\" does not exist for access method \"%s\""
 msgstr "la classe d'opérateur « %s » n'existe pas pour la méthode d'accès « %s »"
 
-#: commands/indexcmds.c:1311 commands/typecmds.c:1920
+#: commands/indexcmds.c:1356 commands/typecmds.c:1923
 #, c-format
 msgid "operator class \"%s\" does not accept data type %s"
 msgstr "la classe d'opérateur « %s » n'accepte pas le type de données %s"
 
-#: commands/indexcmds.c:1401
+#: commands/indexcmds.c:1446
 #, c-format
 msgid "there are multiple default operator classes for data type %s"
 msgstr ""
 "il existe de nombreuses classes d'opérateur par défaut pour le type de\n"
 "données %s"
 
-#: commands/indexcmds.c:1792
+#: commands/indexcmds.c:1837
 #, c-format
 msgid "table \"%s\" has no indexes"
 msgstr "la table « %s » n'a pas d'index"
 
-#: commands/indexcmds.c:1847
+#: commands/indexcmds.c:1892
 #, c-format
 msgid "can only reindex the currently open database"
 msgstr "peut seulement réindexer la base de données en cours"
 
-#: commands/indexcmds.c:1949
+#: commands/indexcmds.c:1994
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "la table « %s.%s » a été réindexée"
@@ -6674,236 +7482,252 @@ msgstr "CONCURRENTLY ne peut pas 
 msgid "CONCURRENTLY and WITH NO DATA options cannot be used together"
 msgstr "Les options CONCURRENTLY et WITH NO DATA ne peuvent pas être utilisées ensemble"
 
-#: commands/matview.c:611
-#, c-format
-msgid "new data for materialized view \"%s\" contains duplicate rows without any null columns"
-msgstr "les nouvelles données pour la vue matérialisée « %s » contiennent des lignes dupliquées sans colonnes NULL"
-
-#: commands/matview.c:613
-#, c-format
-msgid "Row: %s"
-msgstr "Ligne : %s"
-
-#: commands/matview.c:701
+#: commands/matview.c:258
 #, c-format
 msgid "cannot refresh materialized view \"%s\" concurrently"
 msgstr "ne peut pas rafraichir en parallèle la vue matérialisée « %s »"
 
-#: commands/matview.c:703
+#: commands/matview.c:261
 #, c-format
 msgid "Create a unique index with no WHERE clause on one or more columns of the materialized view."
 msgstr "Crée un index unique sans clause WHERE sur une ou plusieurs colonnes de la vue matérialisée."
 
-#: commands/opclasscmds.c:125
+#: commands/matview.c:656
+#, c-format
+msgid "new data for materialized view \"%s\" contains duplicate rows without any null columns"
+msgstr "les nouvelles données pour la vue matérialisée « %s » contiennent des lignes dupliquées sans colonnes NULL"
+
+#: commands/matview.c:658
+#, c-format
+msgid "Row: %s"
+msgstr "Ligne : %s"
+
+#: commands/opclasscmds.c:126
 #, c-format
 msgid "operator family \"%s\" does not exist for access method \"%s\""
 msgstr "la famille d'opérateur « %s » n'existe pas pour la méthode d'accès « %s »"
 
-#: commands/opclasscmds.c:263
+#: commands/opclasscmds.c:264
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists"
 msgstr "la famille d'opérateur « %s » existe déjà pour la méthode d'accès « %s »"
 
-#: commands/opclasscmds.c:399
+#: commands/opclasscmds.c:404
 #, c-format
 msgid "must be superuser to create an operator class"
 msgstr "doit être super-utilisateur pour créer une classe d'opérateur"
 
-#: commands/opclasscmds.c:473 commands/opclasscmds.c:859 commands/opclasscmds.c:992
+#: commands/opclasscmds.c:478 commands/opclasscmds.c:863
+#: commands/opclasscmds.c:996
 #, c-format
 msgid "invalid operator number %d, must be between 1 and %d"
 msgstr "numéro d'opérateur %d invalide, doit être compris entre 1 et %d"
 
-#: commands/opclasscmds.c:524 commands/opclasscmds.c:910 commands/opclasscmds.c:1007
+#: commands/opclasscmds.c:529 commands/opclasscmds.c:914
+#: commands/opclasscmds.c:1011
 #, c-format
 msgid "invalid procedure number %d, must be between 1 and %d"
 msgstr "numéro de procédure %d invalide, doit être compris entre 1 et %d"
 
-#: commands/opclasscmds.c:554
+#: commands/opclasscmds.c:559
 #, c-format
 msgid "storage type specified more than once"
 msgstr "type de stockage spécifié plus d'une fois"
 
-#: commands/opclasscmds.c:581
+#: commands/opclasscmds.c:586
 #, c-format
 msgid "storage type cannot be different from data type for access method \"%s\""
 msgstr ""
 "le type de stockage ne peut pas être différent du type de données pour la\n"
 "méthode d'accès « %s »"
 
-#: commands/opclasscmds.c:597
+#: commands/opclasscmds.c:602
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists"
 msgstr "la classe d'opérateur « %s » existe déjà pour la méthode d'accès « %s »"
 
-#: commands/opclasscmds.c:625
+#: commands/opclasscmds.c:630
 #, c-format
 msgid "could not make operator class \"%s\" be default for type %s"
 msgstr "n'a pas pu rendre la classe d'opérateur « %s » par défaut pour le type %s"
 
-#: commands/opclasscmds.c:628
+#: commands/opclasscmds.c:633
 #, c-format
 msgid "Operator class \"%s\" already is the default."
 msgstr "La classe d'opérateur « %s » est déjà la classe par défaut."
 
-#: commands/opclasscmds.c:756
+#: commands/opclasscmds.c:760
 #, c-format
 msgid "must be superuser to create an operator family"
 msgstr "doit être super-utilisateur pour créer une famille d'opérateur"
 
-#: commands/opclasscmds.c:812
+#: commands/opclasscmds.c:816
 #, c-format
 msgid "must be superuser to alter an operator family"
 msgstr "doit être super-utilisateur pour modifier une famille d'opérateur"
 
-#: commands/opclasscmds.c:875
+#: commands/opclasscmds.c:879
 #, c-format
 msgid "operator argument types must be specified in ALTER OPERATOR FAMILY"
 msgstr ""
 "les types d'argument de l'opérateur doivent être indiqués dans ALTER\n"
 "OPERATOR FAMILY"
 
-#: commands/opclasscmds.c:939
+#: commands/opclasscmds.c:943
 #, c-format
 msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY"
 msgstr "STORAGE ne peut pas être spécifié dans ALTER OPERATOR FAMILY"
 
-#: commands/opclasscmds.c:1062
+#: commands/opclasscmds.c:1066
 #, c-format
 msgid "one or two argument types must be specified"
 msgstr "un ou deux types d'argument doit être spécifié"
 
-#: commands/opclasscmds.c:1088
+#: commands/opclasscmds.c:1092
 #, c-format
 msgid "index operators must be binary"
 msgstr "les opérateurs d'index doivent être binaires"
 
-#: commands/opclasscmds.c:1113
+#: commands/opclasscmds.c:1111
 #, c-format
 msgid "access method \"%s\" does not support ordering operators"
 msgstr "la méthode d'accès « %s » ne supporte pas les opérateurs de tri"
 
-#: commands/opclasscmds.c:1126
+#: commands/opclasscmds.c:1122
 #, c-format
 msgid "index search operators must return boolean"
 msgstr "les opérateurs de recherche d'index doivent renvoyer un booléen"
 
-#: commands/opclasscmds.c:1168
+#: commands/opclasscmds.c:1164
 #, c-format
 msgid "btree comparison procedures must have two arguments"
 msgstr "les procédures de comparaison btree doivent avoir deux arguments"
 
-#: commands/opclasscmds.c:1172
+#: commands/opclasscmds.c:1168
 #, c-format
 msgid "btree comparison procedures must return integer"
 msgstr "les procédures de comparaison btree doivent renvoyer un entier"
 
-#: commands/opclasscmds.c:1189
+#: commands/opclasscmds.c:1185
 #, c-format
 msgid "btree sort support procedures must accept type \"internal\""
 msgstr "les procédures de support de tri btree doivent accepter le type « internal »"
 
-#: commands/opclasscmds.c:1193
+#: commands/opclasscmds.c:1189
 #, c-format
 msgid "btree sort support procedures must return void"
 msgstr "les procédures de support de tri btree doivent renvoyer void"
 
-#: commands/opclasscmds.c:1205
+#: commands/opclasscmds.c:1201
 #, c-format
 msgid "hash procedures must have one argument"
 msgstr "les procédures de hachage doivent avoir un argument"
 
-#: commands/opclasscmds.c:1209
+#: commands/opclasscmds.c:1205
 #, c-format
 msgid "hash procedures must return integer"
 msgstr "les procédures de hachage doivent renvoyer un entier"
 
-#: commands/opclasscmds.c:1233
+#: commands/opclasscmds.c:1229
 #, c-format
 msgid "associated data types must be specified for index support procedure"
 msgstr ""
 "les types de données associés doivent être indiqués pour la procédure de\n"
 "support de l'index"
 
-#: commands/opclasscmds.c:1258
+#: commands/opclasscmds.c:1254
 #, c-format
 msgid "procedure number %d for (%s,%s) appears more than once"
 msgstr "le numéro de procédure %d pour (%s, %s) apparaît plus d'une fois"
 
-#: commands/opclasscmds.c:1265
+#: commands/opclasscmds.c:1261
 #, c-format
 msgid "operator number %d for (%s,%s) appears more than once"
 msgstr "le numéro d'opérateur %d pour (%s, %s) apparaît plus d'une fois"
 
-#: commands/opclasscmds.c:1314
+#: commands/opclasscmds.c:1310
 #, c-format
 msgid "operator %d(%s,%s) already exists in operator family \"%s\""
 msgstr "l'opérateur %d(%s, %s) existe déjà dans la famille d'opérateur « %s »"
 
-#: commands/opclasscmds.c:1430
+#: commands/opclasscmds.c:1426
 #, c-format
 msgid "function %d(%s,%s) already exists in operator family \"%s\""
 msgstr "la fonction %d(%s, %s) existe déjà dans la famille d'opérateur « %s »"
 
-#: commands/opclasscmds.c:1520
+#: commands/opclasscmds.c:1516
 #, c-format
 msgid "operator %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "l'opérateur %d(%s, %s) n'existe pas dans la famille d'opérateur « %s »"
 
-#: commands/opclasscmds.c:1560
+#: commands/opclasscmds.c:1556
 #, c-format
 msgid "function %d(%s,%s) does not exist in operator family \"%s\""
 msgstr "la fonction %d(%s, %s) n'existe pas dans la famille d'opérateur « %s »"
 
-#: commands/opclasscmds.c:1705
+#: commands/opclasscmds.c:1686
 #, c-format
 msgid "operator class \"%s\" for access method \"%s\" already exists in schema \"%s\""
 msgstr ""
 "la classe d'opérateur « %s » de la méthode d'accès « %s » existe déjà dans\n"
 "le schéma « %s »"
 
-#: commands/opclasscmds.c:1728
+#: commands/opclasscmds.c:1709
 #, c-format
 msgid "operator family \"%s\" for access method \"%s\" already exists in schema \"%s\""
 msgstr ""
 "la famille d'opérateur « %s » de la méthode d'accès « %s » existe déjà dans\n"
 "le schéma « %s »"
 
-#: commands/operatorcmds.c:110 commands/operatorcmds.c:118
+#: commands/operatorcmds.c:114 commands/operatorcmds.c:122
 #, c-format
 msgid "SETOF type not allowed for operator argument"
 msgstr "type SETOF non autorisé pour l'argument de l'opérateur"
 
-#: commands/operatorcmds.c:146
+#: commands/operatorcmds.c:152 commands/operatorcmds.c:457
 #, c-format
 msgid "operator attribute \"%s\" not recognized"
 msgstr "l'attribut « %s » de l'opérateur n'est pas reconnu"
 
-#: commands/operatorcmds.c:156
+#: commands/operatorcmds.c:163
 #, c-format
 msgid "operator procedure must be specified"
 msgstr "la procédure de l'opérateur doit être spécifiée"
 
-#: commands/operatorcmds.c:167
+#: commands/operatorcmds.c:174
 #, c-format
 msgid "at least one of leftarg or rightarg must be specified"
 msgstr "au moins un des arguments (le gauche ou le droit) doit être spécifié"
 
-#: commands/operatorcmds.c:235
-#, c-format
-msgid "restriction estimator function %s must return type \"float8\""
+#: commands/operatorcmds.c:278
+#, fuzzy, c-format
+#| msgid "restriction estimator function %s must return type \"float8\""
+msgid "restriction estimator function %s must return type %s"
 msgstr ""
 "la fonction d'estimation de la restriction, de nom %s, doit renvoyer le type\n"
 "« float8 »"
 
-#: commands/operatorcmds.c:274
-#, c-format
-msgid "join estimator function %s must return type \"float8\""
+#: commands/operatorcmds.c:324
+#, fuzzy, c-format
+#| msgid "join estimator function %s must return type \"float8\""
+msgid "join estimator function %s must return type %s"
 msgstr ""
 "la fonction d'estimation de la jointure, de nom %s, doit renvoyer le type\n"
 "« float8 »"
 
-#: commands/policy.c:87 commands/policy.c:390 commands/policy.c:479 commands/tablecmds.c:966 commands/tablecmds.c:1308 commands/tablecmds.c:2176 commands/tablecmds.c:4320 commands/tablecmds.c:6249 commands/tablecmds.c:11886 commands/tablecmds.c:11921 commands/trigger.c:240 commands/trigger.c:1126 commands/trigger.c:1234 rewrite/rewriteDefine.c:273 rewrite/rewriteDefine.c:905
+#: commands/operatorcmds.c:451
+#, fuzzy, c-format
+#| msgid "operator attribute \"%s\" not recognized"
+msgid "operator attribute \"%s\" can not be changed"
+msgstr "l'attribut « %s » de l'opérateur n'est pas reconnu"
+
+#: commands/policy.c:87 commands/policy.c:390 commands/policy.c:479
+#: commands/tablecmds.c:970 commands/tablecmds.c:1312
+#: commands/tablecmds.c:2184 commands/tablecmds.c:4328
+#: commands/tablecmds.c:6279 commands/tablecmds.c:11933
+#: commands/tablecmds.c:11968 commands/trigger.c:241 commands/trigger.c:1125
+#: commands/trigger.c:1233 rewrite/rewriteDefine.c:273
+#: rewrite/rewriteDefine.c:917
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "droit refusé : « %s » est un catalogue système"
@@ -6948,27 +7772,24 @@ msgstr "la politique 
 msgid "only USING expression allowed for SELECT, DELETE"
 msgstr "seule une expression USING est autorisée pour SELECT, DELETE"
 
-#: commands/portalcmds.c:61 commands/portalcmds.c:160 commands/portalcmds.c:212
+#: commands/portalcmds.c:61 commands/portalcmds.c:160
+#: commands/portalcmds.c:212
 #, c-format
 msgid "invalid cursor name: must not be empty"
 msgstr "nom de curseur invalide : il ne doit pas être vide"
 
-#: commands/portalcmds.c:168 commands/portalcmds.c:222 executor/execCurrent.c:67 utils/adt/xml.c:2391 utils/adt/xml.c:2558
+#: commands/portalcmds.c:168 commands/portalcmds.c:222
+#: executor/execCurrent.c:67 utils/adt/xml.c:2391 utils/adt/xml.c:2558
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "le curseur « %s » n'existe pas"
 
-#: commands/portalcmds.c:407
-#, c-format
-msgid "could not reposition held cursor"
-msgstr "n'a pas pu repositionner le curseur détenu"
-
 #: commands/prepare.c:71
 #, c-format
 msgid "invalid statement name: must not be empty"
 msgstr "nom de l'instruction invalide : ne doit pas être vide"
 
-#: commands/prepare.c:129 parser/parse_param.c:304 tcop/postgres.c:1355
+#: commands/prepare.c:129 parser/parse_param.c:304 tcop/postgres.c:1345
 #, c-format
 msgid "could not determine data type of parameter $%d"
 msgstr "n'a pas pu déterminer le type de données du paramètre $%d"
@@ -7000,12 +7821,12 @@ msgstr ""
 "le paramètre $%d de type %s ne peut être utilisé dans la coercion à cause du\n"
 "type %s attendu"
 
-#: commands/prepare.c:464
+#: commands/prepare.c:465
 #, c-format
 msgid "prepared statement \"%s\" already exists"
 msgstr "l'instruction préparée « %s » existe déjà"
 
-#: commands/prepare.c:503
+#: commands/prepare.c:504
 #, c-format
 msgid "prepared statement \"%s\" does not exist"
 msgstr "l'instruction préparée « %s » n'existe pas"
@@ -7022,27 +7843,22 @@ msgstr ""
 msgid "must be superuser to create procedural language \"%s\""
 msgstr "doit être super-utilisateur pour créer le langage de procédures « %s »"
 
-#: commands/proclang.c:117 commands/proclang.c:285
-#, c-format
-msgid "function %s must return type \"language_handler\""
-msgstr "la fonction %s doit renvoyer le type « language_handler »"
-
-#: commands/proclang.c:249
+#: commands/proclang.c:252
 #, c-format
 msgid "unsupported language \"%s\""
 msgstr "langage non supporté « %s »"
 
-#: commands/proclang.c:251
+#: commands/proclang.c:254
 #, c-format
 msgid "The supported languages are listed in the pg_pltemplate system catalog."
 msgstr "Les langages supportés sont listés dans le catalogue système pg_pltemplate."
 
-#: commands/proclang.c:259
+#: commands/proclang.c:262
 #, c-format
 msgid "must be superuser to create custom procedural language"
 msgstr "doit être super-utilisateur pour créer un langage de procédures personnalisé"
 
-#: commands/proclang.c:278
+#: commands/proclang.c:281
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to \"language_handler\""
 msgstr ""
@@ -7171,275 +7987,282 @@ msgstr "la s
 msgid "sequence must be in same schema as table it is linked to"
 msgstr "la séquence doit être dans le même schéma que la table avec laquelle elle est liée"
 
-#: commands/tablecmds.c:213
+#: commands/tablecmds.c:215
 #, c-format
 msgid "table \"%s\" does not exist"
 msgstr "la table « %s » n'existe pas"
 
-#: commands/tablecmds.c:214
+#: commands/tablecmds.c:216
 #, c-format
 msgid "table \"%s\" does not exist, skipping"
 msgstr "la table « %s » n'existe pas, poursuite du traitement"
 
-#: commands/tablecmds.c:216
+#: commands/tablecmds.c:218
 msgid "Use DROP TABLE to remove a table."
 msgstr "Utilisez DROP TABLE pour supprimer une table."
 
-#: commands/tablecmds.c:219
+#: commands/tablecmds.c:221
 #, c-format
 msgid "sequence \"%s\" does not exist"
 msgstr "la séquence « %s » n'existe pas"
 
-#: commands/tablecmds.c:220
+#: commands/tablecmds.c:222
 #, c-format
 msgid "sequence \"%s\" does not exist, skipping"
 msgstr "la séquence « %s » n'existe pas, poursuite du traitement"
 
-#: commands/tablecmds.c:222
+#: commands/tablecmds.c:224
 msgid "Use DROP SEQUENCE to remove a sequence."
 msgstr "Utilisez DROP SEQUENCE pour supprimer une séquence."
 
-#: commands/tablecmds.c:225
+#: commands/tablecmds.c:227
 #, c-format
 msgid "view \"%s\" does not exist"
 msgstr "la vue « %s » n'existe pas"
 
-#: commands/tablecmds.c:226
+#: commands/tablecmds.c:228
 #, c-format
 msgid "view \"%s\" does not exist, skipping"
 msgstr "la vue « %s » n'existe pas, poursuite du traitement"
 
-#: commands/tablecmds.c:228
+#: commands/tablecmds.c:230
 msgid "Use DROP VIEW to remove a view."
 msgstr "Utilisez DROP VIEW pour supprimer une vue."
 
-#: commands/tablecmds.c:231
+#: commands/tablecmds.c:233
 #, c-format
 msgid "materialized view \"%s\" does not exist"
 msgstr "la vue matérialisée « %s » n'existe pas"
 
-#: commands/tablecmds.c:232
+#: commands/tablecmds.c:234
 #, c-format
 msgid "materialized view \"%s\" does not exist, skipping"
 msgstr "la vue matérialisée « %s » n'existe pas, poursuite du traitement"
 
-#: commands/tablecmds.c:234
+#: commands/tablecmds.c:236
 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view."
 msgstr "Utilisez DROP MATERIALIZED VIEW pour supprimer une vue matérialisée."
 
-#: commands/tablecmds.c:237 parser/parse_utilcmd.c:1593
+#: commands/tablecmds.c:239 parser/parse_utilcmd.c:1643
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "l'index « %s » n'existe pas"
 
-#: commands/tablecmds.c:238
+#: commands/tablecmds.c:240
 #, c-format
 msgid "index \"%s\" does not exist, skipping"
 msgstr "l'index « %s » n'existe pas, poursuite du traitement"
 
-#: commands/tablecmds.c:240
+#: commands/tablecmds.c:242
 msgid "Use DROP INDEX to remove an index."
 msgstr "Utilisez DROP INDEX pour supprimer un index."
 
-#: commands/tablecmds.c:245
+#: commands/tablecmds.c:247
 #, c-format
 msgid "\"%s\" is not a type"
 msgstr "« %s » n'est pas un type"
 
-#: commands/tablecmds.c:246
+#: commands/tablecmds.c:248
 msgid "Use DROP TYPE to remove a type."
 msgstr "Utilisez DROP TYPE pour supprimer un type."
 
-#: commands/tablecmds.c:249 commands/tablecmds.c:8456 commands/tablecmds.c:11153
+#: commands/tablecmds.c:251 commands/tablecmds.c:8486
+#: commands/tablecmds.c:11194
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "la table distante « %s » n'existe pas"
 
-#: commands/tablecmds.c:250
+#: commands/tablecmds.c:252
 #, c-format
 msgid "foreign table \"%s\" does not exist, skipping"
 msgstr "la table distante « %s » n'existe pas, poursuite du traitement"
 
-#: commands/tablecmds.c:252
+#: commands/tablecmds.c:254
 msgid "Use DROP FOREIGN TABLE to remove a foreign table."
 msgstr "Utilisez DROP FOREIGN TABLE pour supprimer une table distante."
 
-#: commands/tablecmds.c:489
+#: commands/tablecmds.c:493
 #, c-format
 msgid "ON COMMIT can only be used on temporary tables"
 msgstr "ON COMMIT peut seulement être utilisé sur des tables temporaires"
 
-#: commands/tablecmds.c:509
+#: commands/tablecmds.c:513
 #, c-format
 msgid "cannot create temporary table within security-restricted operation"
 msgstr ""
 "ne peut pas créer une table temporaire à l'intérieur d'une fonction\n"
 "restreinte pour sécurité"
 
-#: commands/tablecmds.c:817
+#: commands/tablecmds.c:821
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects"
 msgstr "DROP INDEX CONCURRENTLY ne permet pas de supprimer plusieurs objets"
 
-#: commands/tablecmds.c:821
+#: commands/tablecmds.c:825
 #, c-format
 msgid "DROP INDEX CONCURRENTLY does not support CASCADE"
 msgstr "DROP INDEX CONCURRENTLY ne permet pas la CASCADE"
 
-#: commands/tablecmds.c:1080
+#: commands/tablecmds.c:1084
 #, c-format
 msgid "truncate cascades to table \"%s\""
 msgstr "TRUNCATE cascade sur la table « %s »"
 
-#: commands/tablecmds.c:1318
+#: commands/tablecmds.c:1322
 #, c-format
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "ne peut pas tronquer les tables temporaires des autres sessions"
 
-#: commands/tablecmds.c:1524 parser/parse_utilcmd.c:1807
+#: commands/tablecmds.c:1528 parser/parse_utilcmd.c:1857
 #, c-format
 msgid "inherited relation \"%s\" is not a table or foreign table"
 msgstr "la relation héritée « %s » n'est ni une table ni une table distante"
 
-#: commands/tablecmds.c:1531 commands/tablecmds.c:10023
+#: commands/tablecmds.c:1535 commands/tablecmds.c:10053
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "ine peut pas hériter à partir d'une relation temporaire « %s »"
 
-#: commands/tablecmds.c:1539 commands/tablecmds.c:10031
+#: commands/tablecmds.c:1543 commands/tablecmds.c:10061
 #, c-format
 msgid "cannot inherit from temporary relation of another session"
 msgstr "ne peut pas hériter de la table temporaire d'une autre session"
 
-#: commands/tablecmds.c:1555 commands/tablecmds.c:10065
+#: commands/tablecmds.c:1559 commands/tablecmds.c:10095
 #, c-format
 msgid "relation \"%s\" would be inherited from more than once"
 msgstr "la relation « %s » serait héritée plus d'une fois"
 
-#: commands/tablecmds.c:1603
+#: commands/tablecmds.c:1607
 #, c-format
 msgid "merging multiple inherited definitions of column \"%s\""
 msgstr "assemblage de plusieurs définitions d'héritage pour la colonne « %s »"
 
-#: commands/tablecmds.c:1611
+#: commands/tablecmds.c:1615
 #, c-format
 msgid "inherited column \"%s\" has a type conflict"
 msgstr "la colonne héritée « %s » a un conflit de type"
 
-#: commands/tablecmds.c:1613 commands/tablecmds.c:1634 commands/tablecmds.c:1832 commands/tablecmds.c:1854 parser/parse_coerce.c:1630 parser/parse_coerce.c:1650 parser/parse_coerce.c:1670 parser/parse_coerce.c:1715 parser/parse_coerce.c:1752 parser/parse_param.c:218
+#: commands/tablecmds.c:1617 commands/tablecmds.c:1640
+#: commands/tablecmds.c:1838 commands/tablecmds.c:1862
+#: parser/parse_coerce.c:1630 parser/parse_coerce.c:1650
+#: parser/parse_coerce.c:1670 parser/parse_coerce.c:1715
+#: parser/parse_coerce.c:1752 parser/parse_param.c:218
 #, c-format
 msgid "%s versus %s"
 msgstr "%s versus %s"
 
-#: commands/tablecmds.c:1620
+#: commands/tablecmds.c:1626
 #, c-format
 msgid "inherited column \"%s\" has a collation conflict"
 msgstr "la colonne héritée « %s » a un conflit sur le collationnement"
 
-#: commands/tablecmds.c:1622 commands/tablecmds.c:1842 commands/tablecmds.c:4757
+#: commands/tablecmds.c:1628 commands/tablecmds.c:1850
+#: commands/tablecmds.c:4766
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "« %s » versus « %s »"
 
-#: commands/tablecmds.c:1632
+#: commands/tablecmds.c:1638
 #, c-format
 msgid "inherited column \"%s\" has a storage parameter conflict"
 msgstr "la colonne héritée « %s » a un conflit de paramètre de stockage"
 
-#: commands/tablecmds.c:1745 parser/parse_utilcmd.c:894 parser/parse_utilcmd.c:1238 parser/parse_utilcmd.c:1314
+#: commands/tablecmds.c:1751 parser/parse_utilcmd.c:938
+#: parser/parse_utilcmd.c:1287 parser/parse_utilcmd.c:1363
 #, c-format
 msgid "cannot convert whole-row table reference"
 msgstr "ne peut pas convertir une référence de ligne complète de table"
 
-#: commands/tablecmds.c:1746 parser/parse_utilcmd.c:895
+#: commands/tablecmds.c:1752 parser/parse_utilcmd.c:939
 #, c-format
 msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"."
 msgstr "La constrainte « %s » contient une référence de ligne complète vers la table « %s »."
 
-#: commands/tablecmds.c:1818
+#: commands/tablecmds.c:1824
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "assemblage de la colonne « %s » avec une définition héritée"
 
-#: commands/tablecmds.c:1822
+#: commands/tablecmds.c:1828
 #, c-format
 msgid "moving and merging column \"%s\" with inherited definition"
 msgstr "déplacement et assemblage de la colonne « %s » avec une définition héritée"
 
-#: commands/tablecmds.c:1823
+#: commands/tablecmds.c:1829
 #, c-format
 msgid "User-specified column moved to the position of the inherited column."
 msgstr "Colonne utilisateur déplacée à la position de la colonne héritée."
 
-#: commands/tablecmds.c:1830
+#: commands/tablecmds.c:1836
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "la colonne « %s » a un conflit de type"
 
-#: commands/tablecmds.c:1840
+#: commands/tablecmds.c:1848
 #, c-format
 msgid "column \"%s\" has a collation conflict"
 msgstr "la colonne « %s » a un conflit sur le collationnement"
 
-#: commands/tablecmds.c:1852
+#: commands/tablecmds.c:1860
 #, c-format
 msgid "column \"%s\" has a storage parameter conflict"
 msgstr "la colonne « %s » a un conflit de paramètre de stockage"
 
-#: commands/tablecmds.c:1904
+#: commands/tablecmds.c:1912
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "la colonne « %s » hérite de valeurs par défaut conflictuelles"
 
-#: commands/tablecmds.c:1906
+#: commands/tablecmds.c:1914
 #, c-format
 msgid "To resolve the conflict, specify a default explicitly."
 msgstr "Pour résoudre le conflit, spécifiez explicitement une valeur par défaut."
 
-#: commands/tablecmds.c:1953
+#: commands/tablecmds.c:1961
 #, c-format
 msgid "check constraint name \"%s\" appears multiple times but with different expressions"
 msgstr ""
 "le nom de la contrainte de vérification, « %s », apparaît plusieurs fois\n"
 "mais avec des expressions différentes"
 
-#: commands/tablecmds.c:2147
+#: commands/tablecmds.c:2155
 #, c-format
 msgid "cannot rename column of typed table"
 msgstr "ne peut pas renommer une colonne d'une table typée"
 
-#: commands/tablecmds.c:2164
+#: commands/tablecmds.c:2172
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, composite type, index, or foreign table"
 msgstr "« %s » n'est ni une table, ni une vue, ni une vue matérialisée, ni un type composite, ni un index, ni une table distante"
 
-#: commands/tablecmds.c:2258
+#: commands/tablecmds.c:2266
 #, c-format
 msgid "inherited column \"%s\" must be renamed in child tables too"
 msgstr "la colonne héritée « %s » doit aussi être renommée pour les tables filles"
 
-#: commands/tablecmds.c:2290
+#: commands/tablecmds.c:2298
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "ne peut pas renommer la colonne système « %s »"
 
-#: commands/tablecmds.c:2305
+#: commands/tablecmds.c:2313
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "ne peut pas renommer la colonne héritée « %s »"
 
-#: commands/tablecmds.c:2460
+#: commands/tablecmds.c:2468
 #, c-format
 msgid "inherited constraint \"%s\" must be renamed in child tables too"
 msgstr "la contrainte héritée « %s » doit aussi être renommée pour les tables enfants"
 
-#: commands/tablecmds.c:2467
+#: commands/tablecmds.c:2475
 #, c-format
 msgid "cannot rename inherited constraint \"%s\""
 msgstr "ne peut pas renommer la colonne héritée « %s »"
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:2693
+#: commands/tablecmds.c:2701
 #, c-format
 msgid "cannot %s \"%s\" because it is being used by active queries in this session"
 msgstr ""
@@ -7447,638 +8270,657 @@ msgstr ""
 "des requêtes actives dans cette session"
 
 #. translator: first %s is a SQL command, eg ALTER TABLE
-#: commands/tablecmds.c:2702
+#: commands/tablecmds.c:2710
 #, c-format
 msgid "cannot %s \"%s\" because it has pending trigger events"
 msgstr "ne peut pas exécuter %s « %s » car il reste des événements sur les triggers"
 
-#: commands/tablecmds.c:3776
+#: commands/tablecmds.c:3784
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "ne peut pas ré-écrire la relation système « %s »"
 
-#: commands/tablecmds.c:3782
+#: commands/tablecmds.c:3790
 #, c-format
 msgid "cannot rewrite table \"%s\" used as a catalog table"
 msgstr "ne peut pas réécrire la table « %s » utilisée comme une table catalogue"
 
-#: commands/tablecmds.c:3792
+#: commands/tablecmds.c:3800
 #, c-format
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "ne peut pas ré-écrire les tables temporaires des autres sessions"
 
-#: commands/tablecmds.c:4060
+#: commands/tablecmds.c:4068
 #, c-format
 msgid "rewriting table \"%s\""
 msgstr "ré-écriture de la table « %s »"
 
-#: commands/tablecmds.c:4064
+#: commands/tablecmds.c:4072
 #, c-format
 msgid "verifying table \"%s\""
 msgstr "vérification de la table « %s »"
 
-#: commands/tablecmds.c:4178
+#: commands/tablecmds.c:4186
 #, c-format
 msgid "column \"%s\" contains null values"
 msgstr "la colonne « %s » contient des valeurs NULL"
 
-#: commands/tablecmds.c:4193 commands/tablecmds.c:7336
+#: commands/tablecmds.c:4201 commands/tablecmds.c:7366
 #, c-format
 msgid "check constraint \"%s\" is violated by some row"
 msgstr "la contrainte de vérification « %s » est rompue par une ligne"
 
-#: commands/tablecmds.c:4341 commands/trigger.c:234 rewrite/rewriteDefine.c:267 rewrite/rewriteDefine.c:900
+#: commands/tablecmds.c:4349 commands/trigger.c:235
+#: rewrite/rewriteDefine.c:267 rewrite/rewriteDefine.c:912
 #, c-format
 msgid "\"%s\" is not a table or view"
 msgstr "« %s » n'est pas une table ou une vue"
 
-#: commands/tablecmds.c:4344 commands/trigger.c:1120 commands/trigger.c:1225
+#: commands/tablecmds.c:4352 commands/trigger.c:1119 commands/trigger.c:1224
 #, c-format
 msgid "\"%s\" is not a table, view, or foreign table"
 msgstr "« %s » n'est pas une table, une vue ou une table distante"
 
-#: commands/tablecmds.c:4347
+#: commands/tablecmds.c:4355
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, or index"
 msgstr "« %s » n'est pas une table, une vue, une vue matérialisée, une séquence ou une table distante"
 
-#: commands/tablecmds.c:4353
+#: commands/tablecmds.c:4361
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or index"
 msgstr "« %s » n'est pas une table, une vue matérialisée ou un index"
 
-#: commands/tablecmds.c:4356
+#: commands/tablecmds.c:4364
 #, c-format
 msgid "\"%s\" is not a table, materialized view, or foreign table"
 msgstr "« %s » n'est pas une table, une vue matérialisée ou une table distante"
 
-#: commands/tablecmds.c:4359
+#: commands/tablecmds.c:4367
 #, c-format
 msgid "\"%s\" is not a table or foreign table"
 msgstr "« %s » n'est pas une table ou une table distante"
 
-#: commands/tablecmds.c:4362
+#: commands/tablecmds.c:4370
 #, c-format
 msgid "\"%s\" is not a table, composite type, or foreign table"
 msgstr "« %s » n'est ni une table, ni un type composite, ni une table distante"
 
-#: commands/tablecmds.c:4365 commands/tablecmds.c:5395
+#: commands/tablecmds.c:4373 commands/tablecmds.c:5425
 #, c-format
 msgid "\"%s\" is not a table, materialized view, index, or foreign table"
 msgstr "« %s » n'est pas une table, une vue matérialisée, un index ou une table distante"
 
-#: commands/tablecmds.c:4375
+#: commands/tablecmds.c:4383
 #, c-format
 msgid "\"%s\" is of the wrong type"
 msgstr "« %s » est du mauvais type"
 
-#: commands/tablecmds.c:4527 commands/tablecmds.c:4534
+#: commands/tablecmds.c:4535 commands/tablecmds.c:4542
 #, c-format
 msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it"
 msgstr "ne peux pas modifier le type « %s » car la colonne « %s.%s » l'utilise"
 
-#: commands/tablecmds.c:4541
+#: commands/tablecmds.c:4549
 #, c-format
 msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr ""
 "ne peut pas modifier la table distante « %s » car la colonne « %s.%s » utilise\n"
 "son type de ligne"
 
-#: commands/tablecmds.c:4548
+#: commands/tablecmds.c:4556
 #, c-format
 msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type"
 msgstr ""
 "ne peut pas modifier la table « %s » car la colonne « %s.%s » utilise\n"
 "son type de ligne"
 
-#: commands/tablecmds.c:4610
+#: commands/tablecmds.c:4618
 #, c-format
 msgid "cannot alter type \"%s\" because it is the type of a typed table"
 msgstr "ne peut pas modifier le type « %s » car il s'agit du type d'une table de type"
 
-#: commands/tablecmds.c:4612
+#: commands/tablecmds.c:4620
 #, c-format
 msgid "Use ALTER ... CASCADE to alter the typed tables too."
 msgstr "Utilisez ALTER ... CASCADE pour modifier aussi les tables de type."
 
-#: commands/tablecmds.c:4656
+#: commands/tablecmds.c:4664
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "le type %s n'est pas un type composite"
 
-#: commands/tablecmds.c:4682
+#: commands/tablecmds.c:4690
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "ne peut pas ajouter une colonne à une table typée"
 
-#: commands/tablecmds.c:4749 commands/tablecmds.c:10224
+#: commands/tablecmds.c:4758 commands/tablecmds.c:10254
 #, c-format
 msgid "child table \"%s\" has different type for column \"%s\""
 msgstr "la table fille « %s » a un type différent pour la colonne « %s »"
 
-#: commands/tablecmds.c:4755 commands/tablecmds.c:10231
+#: commands/tablecmds.c:4764 commands/tablecmds.c:10261
 #, c-format
 msgid "child table \"%s\" has different collation for column \"%s\""
 msgstr "la table fille « %s » a un collationnement différent pour la colonne « %s »"
 
-#: commands/tablecmds.c:4765
+#: commands/tablecmds.c:4774
 #, c-format
 msgid "child table \"%s\" has a conflicting \"%s\" column"
 msgstr "la table fille « %s » a une colonne conflictuelle, « %s »"
 
-#: commands/tablecmds.c:4777
+#: commands/tablecmds.c:4786
 #, c-format
 msgid "merging definition of column \"%s\" for child \"%s\""
 msgstr "assemblage de la définition de la colonne « %s » pour le fils « %s »"
 
-#: commands/tablecmds.c:4998
+#: commands/tablecmds.c:5013
 #, c-format
 msgid "column must be added to child tables too"
 msgstr "la colonne doit aussi être ajoutée aux tables filles"
 
-#: commands/tablecmds.c:5068
+#: commands/tablecmds.c:5088
+#, fuzzy, c-format
+#| msgid "column \"%s\" of relation \"%s\" already exists"
+msgid "column \"%s\" of relation \"%s\" already exists, skipping"
+msgstr "la colonne « %s » de la relation « %s » existe déjà"
+
+#: commands/tablecmds.c:5095
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "la colonne « %s » de la relation « %s » existe déjà"
 
-#: commands/tablecmds.c:5176 commands/tablecmds.c:5282 commands/tablecmds.c:5340 commands/tablecmds.c:5454 commands/tablecmds.c:5511 commands/tablecmds.c:5605 commands/tablecmds.c:7854 commands/tablecmds.c:8479
+#: commands/tablecmds.c:5206 commands/tablecmds.c:5312
+#: commands/tablecmds.c:5370 commands/tablecmds.c:5484
+#: commands/tablecmds.c:5541 commands/tablecmds.c:5635
+#: commands/tablecmds.c:7884 commands/tablecmds.c:8509
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "n'a pas pu modifier la colonne système « %s »"
 
-#: commands/tablecmds.c:5212
+#: commands/tablecmds.c:5242
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "la colonne « %s » est dans une clé primaire"
 
-#: commands/tablecmds.c:5427
+#: commands/tablecmds.c:5457
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "la cible statistique %d est trop basse"
 
-#: commands/tablecmds.c:5435
+#: commands/tablecmds.c:5465
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "abaissement de la cible statistique à %d"
 
-#: commands/tablecmds.c:5585
+#: commands/tablecmds.c:5615
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "type « %s » de stockage invalide"
 
-#: commands/tablecmds.c:5617
+#: commands/tablecmds.c:5647
 #, c-format
 msgid "column data type %s can only have storage PLAIN"
-msgstr ""
-"le type de données %s de la colonne peut seulement avoir un stockage PLAIN"
+msgstr "le type de données %s de la colonne peut seulement avoir un stockage PLAIN"
 
-#: commands/tablecmds.c:5655
+#: commands/tablecmds.c:5685
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "ne peut pas supprimer une colonne à une table typée"
 
-#: commands/tablecmds.c:5699
+#: commands/tablecmds.c:5729
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "la colonne « %s » de la relation « %s » n'existe pas, ignore"
 
-#: commands/tablecmds.c:5712
+#: commands/tablecmds.c:5742
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "ne peut pas supprimer la colonne système « %s »"
 
-#: commands/tablecmds.c:5719
+#: commands/tablecmds.c:5749
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "ne peut pas supprimer la colonne héritée « %s »"
 
-#: commands/tablecmds.c:5959
+#: commands/tablecmds.c:5989
 #, c-format
 msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\""
 msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX renommera l'index « %s » en « %s »"
 
-#: commands/tablecmds.c:6172
+#: commands/tablecmds.c:6202
 #, c-format
 msgid "constraint must be added to child tables too"
 msgstr "la contrainte doit aussi être ajoutée aux tables filles"
 
-#: commands/tablecmds.c:6243
+#: commands/tablecmds.c:6273
 #, c-format
 msgid "referenced relation \"%s\" is not a table"
 msgstr "la relation référencée « %s » n'est pas une table"
 
-#: commands/tablecmds.c:6266
+#: commands/tablecmds.c:6296
 #, c-format
 msgid "constraints on permanent tables may reference only permanent tables"
 msgstr "les contraintes sur les tables permanentes peuvent seulement référencer des tables permanentes"
 
-#: commands/tablecmds.c:6273
+#: commands/tablecmds.c:6303
 #, c-format
 msgid "constraints on unlogged tables may reference only permanent or unlogged tables"
 msgstr "les contraintes sur les tables non tracées peuvent seulement référencer des tables permanentes ou non tracées"
 
-#: commands/tablecmds.c:6279
+#: commands/tablecmds.c:6309
 #, c-format
 msgid "constraints on temporary tables may reference only temporary tables"
 msgstr ""
 "les constraintes sur des tables temporaires ne peuvent référencer que des\n"
 "tables temporaires"
 
-#: commands/tablecmds.c:6283
+#: commands/tablecmds.c:6313
 #, c-format
 msgid "constraints on temporary tables must involve temporary tables of this session"
 msgstr ""
 "les contraintes sur des tables temporaires doivent référencer les tables\n"
 "temporaires de cette session"
 
-#: commands/tablecmds.c:6344
+#: commands/tablecmds.c:6374
 #, c-format
 msgid "number of referencing and referenced columns for foreign key disagree"
 msgstr "nombre de colonnes de référence et référencées pour la clé étrangère en désaccord"
 
-#: commands/tablecmds.c:6451
+#: commands/tablecmds.c:6481
 #, c-format
 msgid "foreign key constraint \"%s\" cannot be implemented"
 msgstr "la contrainte de clé étrangère « %s » ne peut pas être implémentée"
 
-#: commands/tablecmds.c:6454
+#: commands/tablecmds.c:6484
 #, c-format
 msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s."
 msgstr "Les colonnes clés « %s » et « %s » sont de types incompatibles : %s et %s."
 
-#: commands/tablecmds.c:6661 commands/tablecmds.c:6811 commands/tablecmds.c:7693 commands/tablecmds.c:7749
+#: commands/tablecmds.c:6691 commands/tablecmds.c:6841
+#: commands/tablecmds.c:7723 commands/tablecmds.c:7779
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist"
 msgstr "la contrainte « %s » de la relation « %s » n'existe pas"
 
-#: commands/tablecmds.c:6667
+#: commands/tablecmds.c:6697
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint"
 msgstr "la contrainte « %s » de la relation « %s » n'est pas une clé étrangère"
 
-#: commands/tablecmds.c:6818
+#: commands/tablecmds.c:6848
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint"
 msgstr "la contrainte « %s » de la relation « %s » n'est pas une clé étrangère ou une contrainte de vérification"
 
-#: commands/tablecmds.c:6886
+#: commands/tablecmds.c:6916
 #, c-format
 msgid "constraint must be validated on child tables too"
 msgstr "la contrainte doit aussi être validées sur les tables enfants"
 
-#: commands/tablecmds.c:6955
+#: commands/tablecmds.c:6985
 #, c-format
 msgid "column \"%s\" referenced in foreign key constraint does not exist"
 msgstr "la colonne « %s » référencée dans la contrainte de clé étrangère n'existe pas"
 
-#: commands/tablecmds.c:6960
+#: commands/tablecmds.c:6990
 #, c-format
 msgid "cannot have more than %d keys in a foreign key"
 msgstr "ne peut pas avoir plus de %d clés dans une clé étrangère"
 
-#: commands/tablecmds.c:7025
+#: commands/tablecmds.c:7055
 #, c-format
 msgid "cannot use a deferrable primary key for referenced table \"%s\""
 msgstr "ne peut pas utiliser une clé primaire déferrable pour la table « %s » référencée"
 
-#: commands/tablecmds.c:7042
+#: commands/tablecmds.c:7072
 #, c-format
 msgid "there is no primary key for referenced table \"%s\""
 msgstr "il n'existe pas de clé étrangère pour la table « %s » référencée"
 
-#: commands/tablecmds.c:7107
+#: commands/tablecmds.c:7137
 #, c-format
 msgid "foreign key referenced-columns list must not contain duplicates"
 msgstr "la liste de colonnes référencées dans la clé étrangère ne doit pas contenir de duplicats"
 
-#: commands/tablecmds.c:7201
+#: commands/tablecmds.c:7231
 #, c-format
 msgid "cannot use a deferrable unique constraint for referenced table \"%s\""
 msgstr ""
 "ne peut pas utiliser une contrainte unique déferrable pour la table\n"
 "référencée « %s »"
 
-#: commands/tablecmds.c:7206
+#: commands/tablecmds.c:7236
 #, c-format
 msgid "there is no unique constraint matching given keys for referenced table \"%s\""
 msgstr ""
 "il n'existe aucune contrainte unique correspondant aux clés données pour la\n"
 "table « %s » référencée"
 
-#: commands/tablecmds.c:7369
+#: commands/tablecmds.c:7399
 #, c-format
 msgid "validating foreign key constraint \"%s\""
 msgstr "validation de la contraintes de clé étrangère « %s »"
 
-#: commands/tablecmds.c:7665
+#: commands/tablecmds.c:7695
 #, c-format
 msgid "cannot drop inherited constraint \"%s\" of relation \"%s\""
 msgstr "ne peut pas supprimer la contrainte héritée « %s » de la relation « %s »"
 
-#: commands/tablecmds.c:7699
+#: commands/tablecmds.c:7729
 #, c-format
 msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping"
 msgstr "la contrainte « %s » de la relation « %s » n'existe pas, ignore"
 
-#: commands/tablecmds.c:7838
+#: commands/tablecmds.c:7868
 #, c-format
 msgid "cannot alter column type of typed table"
 msgstr "ne peut pas modifier le type d'une colonne appartenant à une table typée"
 
-#: commands/tablecmds.c:7861
+#: commands/tablecmds.c:7891
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "ne peut pas modifier la colonne héritée « %s »"
 
-#: commands/tablecmds.c:7910
+#: commands/tablecmds.c:7940
 #, c-format
 msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s"
 msgstr "le résultat de la clause USING pour la colonne « %s » ne peut pas être converti automatiquement vers le type %s"
 
-#: commands/tablecmds.c:7913
+#: commands/tablecmds.c:7943
 #, c-format
 msgid "You might need to add an explicit cast."
 msgstr "Vous pouvez avoir besoin d'ajouter une conversion explicite."
 
-#: commands/tablecmds.c:7917
+#: commands/tablecmds.c:7947
 #, c-format
 msgid "column \"%s\" cannot be cast automatically to type %s"
 msgstr "la colonne « %s » ne peut pas être convertie vers le type %s"
 
 #. translator: USING is SQL, don't translate it
-#: commands/tablecmds.c:7920
+#: commands/tablecmds.c:7950
 #, c-format
 msgid "You might need to specify \"USING %s::%s\"."
 msgstr "Vous pouvez avoir besoin de spécifier \"USING %s::%s\"."
 
-#: commands/tablecmds.c:7973
+#: commands/tablecmds.c:8003
 #, c-format
 msgid "type of inherited column \"%s\" must be changed in child tables too"
 msgstr "le type de colonne héritée « %s » doit aussi être renommée pour les tables filles"
 
-#: commands/tablecmds.c:8060
+#: commands/tablecmds.c:8090
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "ne peut pas modifier la colonne « %s » deux fois"
 
-#: commands/tablecmds.c:8096
+#: commands/tablecmds.c:8126
 #, c-format
 msgid "default for column \"%s\" cannot be cast automatically to type %s"
 msgstr ""
 "la valeur par défaut de la colonne « %s » ne peut pas être convertie vers le\n"
 "type %s automatiquement"
 
-#: commands/tablecmds.c:8222
+#: commands/tablecmds.c:8252
 #, c-format
 msgid "cannot alter type of a column used by a view or rule"
 msgstr "ne peut pas modifier le type d'une colonne utilisée dans une vue ou une règle"
 
-#: commands/tablecmds.c:8223 commands/tablecmds.c:8242 commands/tablecmds.c:8260
+#: commands/tablecmds.c:8253 commands/tablecmds.c:8272
+#: commands/tablecmds.c:8290
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s dépend de la colonne « %s »"
 
-#: commands/tablecmds.c:8241
+#: commands/tablecmds.c:8271
 #, c-format
 msgid "cannot alter type of a column used in a trigger definition"
 msgstr "ne peut pas modifier le type d'une colonne utilisée dans la définition d'un trigger"
 
-#: commands/tablecmds.c:8259
+#: commands/tablecmds.c:8289
 #, c-format
 msgid "cannot alter type of a column used in a policy definition"
 msgstr "ne peut pas modifier le type d'une colonne utilisée dans la définition d'une politique"
 
-#: commands/tablecmds.c:8924
+#: commands/tablecmds.c:8954
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "ne peut pas modifier le propriétaire de l'index « %s »"
 
-#: commands/tablecmds.c:8926
+#: commands/tablecmds.c:8956
 #, c-format
 msgid "Change the ownership of the index's table, instead."
 msgstr "Modifier à la place le propriétaire de la table concernée par l'index."
 
-#: commands/tablecmds.c:8942
+#: commands/tablecmds.c:8972
 #, c-format
 msgid "cannot change owner of sequence \"%s\""
 msgstr "ne peut pas modifier le propriétaire de la séquence « %s »"
 
-#: commands/tablecmds.c:8944 commands/tablecmds.c:11355
+#: commands/tablecmds.c:8974 commands/tablecmds.c:11396
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "La séquence « %s » est liée à la table « %s »."
 
-#: commands/tablecmds.c:8956 commands/tablecmds.c:11996
+#: commands/tablecmds.c:8986 commands/tablecmds.c:12043
 #, c-format
 msgid "Use ALTER TYPE instead."
 msgstr "Utilisez ALTER TYPE à la place."
 
-#: commands/tablecmds.c:8965
+#: commands/tablecmds.c:8995
 #, c-format
 msgid "\"%s\" is not a table, view, sequence, or foreign table"
 msgstr "« %s » n'est pas une table, une vue, une séquence ou une table distante"
 
-#: commands/tablecmds.c:9308
+#: commands/tablecmds.c:9338
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "ne peut pas avoir de nombreuses sous-commandes SET TABLESPACE"
 
-#: commands/tablecmds.c:9381
+#: commands/tablecmds.c:9411
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, index, or TOAST table"
 msgstr "« %s » n'est pas une table, une vue, une vue matérialisée, un index ou une table TOAST"
 
-#: commands/tablecmds.c:9414 commands/view.c:481
+#: commands/tablecmds.c:9444 commands/view.c:481
 #, c-format
 msgid "WITH CHECK OPTION is supported only on automatically updatable views"
 msgstr "WITH CHECK OPTION est uniquement accepté pour les vues dont la mise à jour est automatique"
 
-#: commands/tablecmds.c:9560
+#: commands/tablecmds.c:9590
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "ne peut pas déplacer la colonne système « %s »"
 
-#: commands/tablecmds.c:9576
+#: commands/tablecmds.c:9606
 #, c-format
 msgid "cannot move temporary tables of other sessions"
 msgstr "ne peut pas déplacer les tables temporaires d'autres sessions"
 
-#: commands/tablecmds.c:9713
+#: commands/tablecmds.c:9743
 #, c-format
 msgid "only tables, indexes, and materialized views exist in tablespaces"
 msgstr "seuls les tables, index et vues matérialisées existent dans les tablespaces"
 
-#: commands/tablecmds.c:9725
+#: commands/tablecmds.c:9755
 #, c-format
 msgid "cannot move relations in to or out of pg_global tablespace"
 msgstr "ne peut pas déplacer les relations dans ou à partir du tablespace pg_global"
 
-#: commands/tablecmds.c:9816
+#: commands/tablecmds.c:9846
 #, c-format
 msgid "aborting because lock on relation \"%s.%s\" is not available"
 msgstr "annulation car le verrou sur la relation « %s.%s » n'est pas disponible"
 
-#: commands/tablecmds.c:9832
+#: commands/tablecmds.c:9862
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "aucune relation correspondante trouvée dans le tablespace « %s »"
 
-#: commands/tablecmds.c:9906 storage/buffer/bufmgr.c:801
+#: commands/tablecmds.c:9936 storage/buffer/bufmgr.c:915
 #, c-format
 msgid "invalid page in block %u of relation %s"
 msgstr "page invalide dans le bloc %u de la relation %s"
 
-#: commands/tablecmds.c:9988
+#: commands/tablecmds.c:10018
 #, c-format
 msgid "cannot change inheritance of typed table"
 msgstr "ne peut pas modifier l'héritage d'une table typée"
 
-#: commands/tablecmds.c:10038
+#: commands/tablecmds.c:10068
 #, c-format
 msgid "cannot inherit to temporary relation of another session"
 msgstr "ne peut pas hériter à partir d'une relation temporaire d'une autre session"
 
-#: commands/tablecmds.c:10092
+#: commands/tablecmds.c:10122
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "héritage circulaire interdit"
 
-#: commands/tablecmds.c:10093
+#: commands/tablecmds.c:10123
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "« %s » est déjà un enfant de « %s »."
 
-#: commands/tablecmds.c:10101
+#: commands/tablecmds.c:10131
 #, c-format
 msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs"
 msgstr "la table « %s » qui n'a pas d'OID ne peut pas hériter de la table « %s » qui en a"
 
-#: commands/tablecmds.c:10242
+#: commands/tablecmds.c:10272
 #, c-format
 msgid "column \"%s\" in child table must be marked NOT NULL"
 msgstr "la colonne « %s » de la table enfant doit être marquée comme NOT NULL"
 
-#: commands/tablecmds.c:10258
+#: commands/tablecmds.c:10288
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "la colonne « %s » manque à la table enfant"
 
-#: commands/tablecmds.c:10341
+#: commands/tablecmds.c:10371
 #, c-format
 msgid "child table \"%s\" has different definition for check constraint \"%s\""
 msgstr "la table fille « %s » a un type différent pour la contrainte de vérification « %s »"
 
-#: commands/tablecmds.c:10349
+#: commands/tablecmds.c:10379
 #, c-format
 msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\""
 msgstr "la contrainte « %s » entre en conflit avec une contrainte non héritée sur la table fille « %s »"
 
-#: commands/tablecmds.c:10373
+#: commands/tablecmds.c:10403
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "la contrainte « %s » manque à la table enfant"
 
-#: commands/tablecmds.c:10457
+#: commands/tablecmds.c:10487
 #, c-format
 msgid "relation \"%s\" is not a parent of relation \"%s\""
 msgstr "la relation « %s » n'est pas un parent de la relation « %s »"
 
-#: commands/tablecmds.c:10691
+#: commands/tablecmds.c:10721
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "les tables avec type ne peuvent pas hériter d'autres tables"
 
-#: commands/tablecmds.c:10722
+#: commands/tablecmds.c:10752
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "la colonne « %s » manque à la table"
 
-#: commands/tablecmds.c:10732
+#: commands/tablecmds.c:10762
 #, c-format
 msgid "table has column \"%s\" where type requires \"%s\""
 msgstr "la table a une colonne « %s » alors que le type impose « %s »."
 
-#: commands/tablecmds.c:10741
+#: commands/tablecmds.c:10771
 #, c-format
 msgid "table \"%s\" has different type for column \"%s\""
 msgstr "la table « %s » a un type différent pour la colonne « %s »"
 
-#: commands/tablecmds.c:10754
+#: commands/tablecmds.c:10784
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "la table a une colonne supplémentaire « %s »"
 
-#: commands/tablecmds.c:10806
+#: commands/tablecmds.c:10836
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "« %s » n'est pas une table typée"
 
-#: commands/tablecmds.c:10989
+#: commands/tablecmds.c:11020
 #, c-format
 msgid "cannot use non-unique index \"%s\" as replica identity"
 msgstr "ne peut pas utiliser l'index non unique « %s » comme identité de réplicat"
 
-#: commands/tablecmds.c:10995
+#: commands/tablecmds.c:11026
 #, c-format
 msgid "cannot use non-immediate index \"%s\" as replica identity"
 msgstr "ne peut pas utiliser l'index « %s » immédiat comme identité de réplicat"
 
-#: commands/tablecmds.c:11001
+#: commands/tablecmds.c:11032
 #, c-format
 msgid "cannot use expression index \"%s\" as replica identity"
 msgstr "ne peut pas utiliser un index par expression « %s » comme identité de réplicat"
 
-#: commands/tablecmds.c:11007
+#: commands/tablecmds.c:11038
 #, c-format
 msgid "cannot use partial index \"%s\" as replica identity"
 msgstr "ne peut pas utiliser l'index partiel « %s » comme identité de réplicat"
 
-#: commands/tablecmds.c:11013
+#: commands/tablecmds.c:11044
 #, c-format
 msgid "cannot use invalid index \"%s\" as replica identity"
 msgstr "ne peut pas utiliser l'index invalide « %s » comme identité de réplicat"
 
-#: commands/tablecmds.c:11031
+#: commands/tablecmds.c:11065
+#, fuzzy, c-format
+#| msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable"
+msgid "index \"%s\" cannot be used as replica identity because column %d is a system column"
+msgstr "l'index « %s » ne peut pas être utilisé comme identité de réplicat car la colonne « %s » peut être NULL"
+
+#: commands/tablecmds.c:11072
 #, c-format
 msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable"
 msgstr "l'index « %s » ne peut pas être utilisé comme identité de réplicat car la colonne « %s » peut être NULL"
 
-#: commands/tablecmds.c:11228
+#: commands/tablecmds.c:11269
 #, c-format
 msgid "cannot change logged status of table \"%s\" because it is temporary"
 msgstr "ne peut pas modifier le statut de journalisation de la table « %s » parce qu'elle est temporaire"
 
-#: commands/tablecmds.c:11287
+#: commands/tablecmds.c:11328
 #, c-format
 msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\""
 msgstr "n'a pas pu passer la table « %s » en journalisé car elle référence la table non journalisée « %s »"
 
-#: commands/tablecmds.c:11297
+#: commands/tablecmds.c:11338
 #, c-format
 msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\""
 msgstr "n'a pas pu passer la table « %s » en non journalisé car elle référence la table journalisée « %s »"
 
-#: commands/tablecmds.c:11354
+#: commands/tablecmds.c:11395
 #, c-format
 msgid "cannot move an owned sequence into another schema"
 msgstr "ne peut pas déplacer une séquence OWNED BY dans un autre schéma"
 
-#: commands/tablecmds.c:11455
+#: commands/tablecmds.c:11500
 #, c-format
 msgid "relation \"%s\" already exists in schema \"%s\""
 msgstr "la relation « %s » existe déjà dans le schéma « %s »"
 
-#: commands/tablecmds.c:11980
+#: commands/tablecmds.c:12027
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "« %s » n'est pas un type composite"
 
-#: commands/tablecmds.c:12010
+#: commands/tablecmds.c:12057
 #, c-format
 msgid "\"%s\" is not a table, view, materialized view, sequence, or foreign table"
 msgstr "« %s » n'est pas une table, une vue, une vue matérialisée, une séquence ou une table distante"
 
-#: commands/tablespace.c:162 commands/tablespace.c:179 commands/tablespace.c:190 commands/tablespace.c:198 commands/tablespace.c:625 replication/slot.c:914 storage/file/copydir.c:47
+#: commands/tablespace.c:162 commands/tablespace.c:179
+#: commands/tablespace.c:190 commands/tablespace.c:198
+#: commands/tablespace.c:625 replication/slot.c:969 storage/file/copydir.c:47
 #, c-format
 msgid "could not create directory \"%s\": %m"
 msgstr "n'a pas pu créer le répertoire « %s » : %m"
@@ -8123,22 +8965,24 @@ msgstr "le chemin du tablespace 
 msgid "tablespace location should not be inside the data directory"
 msgstr "l'emplacement du tablespace ne doit pas être dans le répertoire de données"
 
-#: commands/tablespace.c:304 commands/tablespace.c:938
+#: commands/tablespace.c:304 commands/tablespace.c:952
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "nom inacceptable pour le tablespace « %s »"
 
-#: commands/tablespace.c:306 commands/tablespace.c:939
+#: commands/tablespace.c:306 commands/tablespace.c:953
 #, c-format
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "Le préfixe « pg_ » est réservé pour les tablespaces système."
 
-#: commands/tablespace.c:316 commands/tablespace.c:951
+#: commands/tablespace.c:316 commands/tablespace.c:965
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "le tablespace « %s » existe déjà"
 
-#: commands/tablespace.c:430 commands/tablespace.c:921 commands/tablespace.c:1002 commands/tablespace.c:1071 commands/tablespace.c:1204 commands/tablespace.c:1404
+#: commands/tablespace.c:430 commands/tablespace.c:935
+#: commands/tablespace.c:1016 commands/tablespace.c:1085
+#: commands/tablespace.c:1218 commands/tablespace.c:1418
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "le tablespace « %s » n'existe pas"
@@ -8173,203 +9017,205 @@ msgstr "n'a pas pu configurer les droits du r
 msgid "directory \"%s\" already in use as a tablespace"
 msgstr "répertoire « %s » déjà en cours d'utilisation"
 
-#: commands/tablespace.c:744 commands/tablespace.c:757 commands/tablespace.c:781 commands/tablespace.c:872
+#: commands/tablespace.c:744 commands/tablespace.c:757
+#: commands/tablespace.c:793 commands/tablespace.c:885
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "n'a pas pu supprimer le répertoire « %s » : %m"
 
-#: commands/tablespace.c:793 commands/tablespace.c:881
+#: commands/tablespace.c:806 commands/tablespace.c:894
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "n'a pas pu supprimer le lien symbolique « %s » : %m"
 
-#: commands/tablespace.c:803 commands/tablespace.c:889
+#: commands/tablespace.c:816 commands/tablespace.c:903
 #, c-format
 msgid "\"%s\" is not a directory or symbolic link"
 msgstr "« %s » n'est pas un répertoire ou un lien symbolique"
 
-#: commands/tablespace.c:1076
+#: commands/tablespace.c:1090
 #, c-format
 msgid "Tablespace \"%s\" does not exist."
 msgstr "Le tablespace « %s » n'existe pas."
 
-#: commands/tablespace.c:1503
+#: commands/tablespace.c:1517
 #, c-format
 msgid "directories for tablespace %u could not be removed"
 msgstr "les répertoires du tablespace %u n'ont pas pu être supprimés"
 
-#: commands/tablespace.c:1505
+#: commands/tablespace.c:1519
 #, c-format
 msgid "You can remove the directories manually if necessary."
 msgstr "Vous pouvez supprimer les répertoires manuellement si nécessaire."
 
-#: commands/trigger.c:183
+#: commands/trigger.c:184
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "« %s » est une table"
 
-#: commands/trigger.c:185
+#: commands/trigger.c:186
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "Les tables ne peuvent pas avoir de triggers INSTEAD OF."
 
-#: commands/trigger.c:196 commands/trigger.c:203
+#: commands/trigger.c:197 commands/trigger.c:204
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "« %s » est une vue"
 
-#: commands/trigger.c:198
+#: commands/trigger.c:199
 #, c-format
 msgid "Views cannot have row-level BEFORE or AFTER triggers."
 msgstr "Les vues ne peuvent pas avoir de trigger BEFORE ou AFTER au niveau ligne."
 
-#: commands/trigger.c:205
+#: commands/trigger.c:206
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "Les vues ne peuvent pas avoir de triggers TRUNCATE."
 
-#: commands/trigger.c:213 commands/trigger.c:220 commands/trigger.c:227
+#: commands/trigger.c:214 commands/trigger.c:221 commands/trigger.c:228
 #, c-format
 msgid "\"%s\" is a foreign table"
 msgstr "« %s » est une table distante"
 
-#: commands/trigger.c:215
+#: commands/trigger.c:216
 #, c-format
 msgid "Foreign tables cannot have INSTEAD OF triggers."
 msgstr "Les tables distantes ne peuvent pas avoir de triggers INSTEAD OF."
 
-#: commands/trigger.c:222
+#: commands/trigger.c:223
 #, c-format
 msgid "Foreign tables cannot have TRUNCATE triggers."
 msgstr "Les tables distantes ne peuvent pas avoir de triggers TRUNCATE."
 
-#: commands/trigger.c:229
+#: commands/trigger.c:230
 #, c-format
 msgid "Foreign tables cannot have constraint triggers."
 msgstr "Les tables distantes ne peuvent pas avoir de triggers de contrainte."
 
-#: commands/trigger.c:292
+#: commands/trigger.c:293
 #, c-format
 msgid "TRUNCATE FOR EACH ROW triggers are not supported"
 msgstr "les triggers TRUNCATE FOR EACH ROW ne sont pas supportés"
 
-#: commands/trigger.c:300
+#: commands/trigger.c:301
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "les triggers INSTEAD OF doivent être FOR EACH ROW"
 
-#: commands/trigger.c:304
+#: commands/trigger.c:305
 #, c-format
 msgid "INSTEAD OF triggers cannot have WHEN conditions"
 msgstr "les triggers INSTEAD OF ne peuvent pas avoir de conditions WHEN"
 
-#: commands/trigger.c:308
+#: commands/trigger.c:309
 #, c-format
 msgid "INSTEAD OF triggers cannot have column lists"
 msgstr "les triggers INSTEAD OF ne peuvent pas avoir de liste de colonnes"
 
-#: commands/trigger.c:367 commands/trigger.c:380
+#: commands/trigger.c:366 commands/trigger.c:379
 #, c-format
 msgid "statement trigger's WHEN condition cannot reference column values"
 msgstr ""
 "la condition WHEN de l'instruction du trigger ne peut pas référencer les valeurs\n"
 "des colonnes"
 
-#: commands/trigger.c:372
+#: commands/trigger.c:371
 #, c-format
 msgid "INSERT trigger's WHEN condition cannot reference OLD values"
 msgstr "la condition WHEN du trigger INSERT ne peut pas référencer les valeurs OLD"
 
-#: commands/trigger.c:385
+#: commands/trigger.c:384
 #, c-format
 msgid "DELETE trigger's WHEN condition cannot reference NEW values"
 msgstr "la condition WHEN du trigger DELETE ne peut pas référencer les valeurs NEW"
 
-#: commands/trigger.c:390
+#: commands/trigger.c:389
 #, c-format
 msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns"
 msgstr ""
 "la condition WHEN d'un trigger BEFORE ne doit pas référencer les colonnes\n"
 "système avec NEW"
 
-#: commands/trigger.c:435
+#: commands/trigger.c:434
 #, c-format
 msgid "changing return type of function %s from \"opaque\" to \"trigger\""
 msgstr "changement du type de retour de la fonction %s de « opaque » vers « trigger »"
 
-#: commands/trigger.c:442
-#, c-format
-msgid "function %s must return type \"trigger\""
-msgstr "la fonction %s doit renvoyer le type « trigger »"
-
-#: commands/trigger.c:554 commands/trigger.c:1304
+#: commands/trigger.c:553 commands/trigger.c:1303
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "le trigger « %s » de la relation « %s » existe déjà"
 
-#: commands/trigger.c:839
+#: commands/trigger.c:838
 msgid "Found referenced table's UPDATE trigger."
 msgstr "Trigger UPDATE de la table référencée trouvé."
 
-#: commands/trigger.c:840
+#: commands/trigger.c:839
 msgid "Found referenced table's DELETE trigger."
 msgstr "Trigger DELETE de la table référencée trouvé."
 
-#: commands/trigger.c:841
+#: commands/trigger.c:840
 msgid "Found referencing table's trigger."
 msgstr "Trigger de la table référencée trouvé."
 
-#: commands/trigger.c:950 commands/trigger.c:966
+#: commands/trigger.c:949 commands/trigger.c:965
 #, c-format
 msgid "ignoring incomplete trigger group for constraint \"%s\" %s"
 msgstr "ignore le groupe de trigger incomplet pour la contrainte « %s » %s"
 
-#: commands/trigger.c:978
+#: commands/trigger.c:977
 #, c-format
 msgid "converting trigger group into constraint \"%s\" %s"
 msgstr "conversion du groupe de trigger en une contrainte « %s » %s"
 
-#: commands/trigger.c:1191 commands/trigger.c:1352 commands/trigger.c:1470
+#: commands/trigger.c:1190 commands/trigger.c:1351 commands/trigger.c:1469
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "le trigger « %s » de la table « %s » n'existe pas"
 
-#: commands/trigger.c:1435
+#: commands/trigger.c:1434
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "droit refusé : « %s » est un trigger système"
 
-#: commands/trigger.c:1931
+#: commands/trigger.c:1930
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "la fonction trigger %u a renvoyé la valeur NULL"
 
-#: commands/trigger.c:1990 commands/trigger.c:2189 commands/trigger.c:2393 commands/trigger.c:2665
+#: commands/trigger.c:1989 commands/trigger.c:2188 commands/trigger.c:2392
+#: commands/trigger.c:2664
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "le trigger BEFORE STATEMENT ne peut pas renvoyer une valeur"
 
-#: commands/trigger.c:2727 executor/nodeModifyTable.c:648 executor/nodeModifyTable.c:942
+#: commands/trigger.c:2726 executor/nodeModifyTable.c:664
+#: executor/nodeModifyTable.c:957
 #, c-format
 msgid "tuple to be updated was already modified by an operation triggered by the current command"
 msgstr "la ligne à mettre à jour était déjà modifiée par une opération déclenchée par la commande courante"
 
-#: commands/trigger.c:2728 executor/nodeModifyTable.c:649 executor/nodeModifyTable.c:943
+#: commands/trigger.c:2727 executor/nodeModifyTable.c:665
+#: executor/nodeModifyTable.c:958
 #, c-format
 msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows."
 msgstr "Considérez l'utilisation d'un trigger AFTER au lieu d'un trigger BEFORE pour propager les changements sur les autres lignes."
 
-#: commands/trigger.c:2742 executor/execMain.c:2344 executor/nodeLockRows.c:216 executor/nodeModifyTable.c:183 executor/nodeModifyTable.c:661 executor/nodeModifyTable.c:955 executor/nodeModifyTable.c:1122
+#: commands/trigger.c:2741 executor/execMain.c:2369
+#: executor/nodeLockRows.c:216 executor/nodeModifyTable.c:200
+#: executor/nodeModifyTable.c:677 executor/nodeModifyTable.c:970
+#: executor/nodeModifyTable.c:1136
 #, c-format
 msgid "could not serialize access due to concurrent update"
 msgstr "n'a pas pu sérialiser un accès à cause d'une mise à jour en parallèle"
 
-#: commands/trigger.c:4580
+#: commands/trigger.c:4579
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "la contrainte « %s » n'est pas DEFERRABLE"
 
-#: commands/trigger.c:4603
+#: commands/trigger.c:4602
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "la contrainte « %s » n'existe pas"
@@ -8471,110 +9317,108 @@ msgstr ""
 msgid "invalid parameter list format: \"%s\""
 msgstr "format de liste de paramètres invalide : « %s »"
 
-#: commands/typecmds.c:179
+#: commands/typecmds.c:181
 #, c-format
 msgid "must be superuser to create a base type"
 msgstr "doit être super-utilisateur pour créer un type de base"
 
-#: commands/typecmds.c:286 commands/typecmds.c:1419
+#: commands/typecmds.c:288 commands/typecmds.c:1421
 #, c-format
 msgid "type attribute \"%s\" not recognized"
 msgstr "attribut du type « %s » non reconnu"
 
-#: commands/typecmds.c:340
+#: commands/typecmds.c:342
 #, c-format
 msgid "invalid type category \"%s\": must be simple ASCII"
 msgstr "catégorie de type « %s » invalide : doit être de l'ASCII pur"
 
-#: commands/typecmds.c:359
+#: commands/typecmds.c:361
 #, c-format
 msgid "array element type cannot be %s"
 msgstr "le type d'élément tableau ne peut pas être %s"
 
-#: commands/typecmds.c:391
+#: commands/typecmds.c:393
 #, c-format
 msgid "alignment \"%s\" not recognized"
 msgstr "alignement « %s » non reconnu"
 
-#: commands/typecmds.c:408
+#: commands/typecmds.c:410
 #, c-format
 msgid "storage \"%s\" not recognized"
 msgstr "stockage « %s » non reconnu"
 
-#: commands/typecmds.c:419
+#: commands/typecmds.c:421
 #, c-format
 msgid "type input function must be specified"
 msgstr "le type d'entrée de la fonction doit être spécifié"
 
-#: commands/typecmds.c:423
+#: commands/typecmds.c:425
 #, c-format
 msgid "type output function must be specified"
 msgstr "le type de sortie de la fonction doit être spécifié"
 
-#: commands/typecmds.c:428
+#: commands/typecmds.c:430
 #, c-format
 msgid "type modifier output function is useless without a type modifier input function"
 msgstr ""
 "la fonction en sortie du modificateur de type est inutile sans une fonction\n"
 "en entrée du modificateur de type"
 
-#: commands/typecmds.c:451
-#, c-format
-msgid "changing return type of function %s from \"opaque\" to %s"
+#: commands/typecmds.c:453 commands/typecmds.c:470
+#, fuzzy, c-format
+#| msgid "changing return type of function %s from \"opaque\" to %s"
+msgid "changing return type of function %s from %s to %s"
 msgstr "changement du type de retour de la fonction %s d'« opaque » vers %s"
 
-#: commands/typecmds.c:458
+#: commands/typecmds.c:460
 #, c-format
 msgid "type input function %s must return type %s"
 msgstr "le type d'entrée de la fonction %s doit être %s"
 
-#: commands/typecmds.c:468
-#, c-format
-msgid "changing return type of function %s from \"opaque\" to \"cstring\""
-msgstr "changement du type de retour de la fonction %s d'« opaque » vers « cstring »"
-
-#: commands/typecmds.c:475
-#, c-format
-msgid "type output function %s must return type \"cstring\""
-msgstr "le type de sortie de la fonction %s doit être « cstring »"
+#: commands/typecmds.c:477
+#, fuzzy, c-format
+#| msgid "type input function %s must return type %s"
+msgid "type output function %s must return type %s"
+msgstr "le type d'entrée de la fonction %s doit être %s"
 
-#: commands/typecmds.c:484
+#: commands/typecmds.c:486
 #, c-format
 msgid "type receive function %s must return type %s"
 msgstr "la fonction receive du type %s doit renvoyer le type %s"
 
-#: commands/typecmds.c:493
-#, c-format
-msgid "type send function %s must return type \"bytea\""
-msgstr "la fonction send du type %s doit renvoyer le type « bytea »"
+#: commands/typecmds.c:495
+#, fuzzy, c-format
+#| msgid "type input function %s must return type %s"
+msgid "type send function %s must return type %s"
+msgstr "le type d'entrée de la fonction %s doit être %s"
 
-#: commands/typecmds.c:558
+#: commands/typecmds.c:560
 #, c-format
 msgid "type input function %s should not be volatile"
 msgstr "la fonction en entrée du type %s ne doit pas être volatile"
 
-#: commands/typecmds.c:563
+#: commands/typecmds.c:565
 #, c-format
 msgid "type output function %s should not be volatile"
 msgstr "la fonction en entrée du type %s ne doit pas être volatile"
 
-#: commands/typecmds.c:568
+#: commands/typecmds.c:570
 #, c-format
 msgid "type receive function %s should not be volatile"
 msgstr "la fonction receive du type %s ne doit pas être volatile"
 
-#: commands/typecmds.c:573
+#: commands/typecmds.c:575
 #, c-format
 msgid "type send function %s should not be volatile"
 msgstr "la fonction send du type %s ne doit pas être volatile"
 
-#: commands/typecmds.c:578
+#: commands/typecmds.c:580
 #, fuzzy, c-format
 #| msgid "cast function must not be volatile"
 msgid "type modifier input function %s should not be volatile"
 msgstr "la fonction de conversion ne doit pas être volatile"
 
-#: commands/typecmds.c:583
+#: commands/typecmds.c:585
 #, fuzzy, c-format
 #| msgid "type modifier output function is useless without a type modifier input function"
 msgid "type modifier output function %s should not be volatile"
@@ -8582,359 +9426,378 @@ msgstr ""
 "la fonction en sortie du modificateur de type est inutile sans une fonction\n"
 "en entrée du modificateur de type"
 
-#: commands/typecmds.c:805
+#: commands/typecmds.c:807
 #, c-format
 msgid "\"%s\" is not a valid base type for a domain"
 msgstr "« %s » n'est pas un type de base valide pour un domaine"
 
-#: commands/typecmds.c:891
+#: commands/typecmds.c:893
 #, c-format
 msgid "multiple default expressions"
 msgstr "multiples expressions par défaut"
 
-#: commands/typecmds.c:953 commands/typecmds.c:962
+#: commands/typecmds.c:955 commands/typecmds.c:964
 #, c-format
 msgid "conflicting NULL/NOT NULL constraints"
 msgstr "contraintes NULL/NOT NULL en conflit"
 
-#: commands/typecmds.c:978
+#: commands/typecmds.c:980
 #, c-format
 msgid "check constraints for domains cannot be marked NO INHERIT"
 msgstr "les contraintes CHECK pour les domaines ne peuvent pas être marquées NO INHERIT"
 
-#: commands/typecmds.c:987 commands/typecmds.c:2518
+#: commands/typecmds.c:989 commands/typecmds.c:2522
 #, c-format
 msgid "unique constraints not possible for domains"
 msgstr "contraintes uniques impossible pour les domaines"
 
-#: commands/typecmds.c:993 commands/typecmds.c:2524
+#: commands/typecmds.c:995 commands/typecmds.c:2528
 #, c-format
 msgid "primary key constraints not possible for domains"
 msgstr "contraintes de clé primaire impossible pour les domaines"
 
-#: commands/typecmds.c:999 commands/typecmds.c:2530
+#: commands/typecmds.c:1001 commands/typecmds.c:2534
 #, c-format
 msgid "exclusion constraints not possible for domains"
 msgstr "contraintes d'exclusion impossible pour les domaines"
 
-#: commands/typecmds.c:1005 commands/typecmds.c:2536
+#: commands/typecmds.c:1007 commands/typecmds.c:2540
 #, c-format
 msgid "foreign key constraints not possible for domains"
 msgstr "contraintes de clé étrangère impossible pour les domaines"
 
-#: commands/typecmds.c:1014 commands/typecmds.c:2545
+#: commands/typecmds.c:1016 commands/typecmds.c:2549
 #, c-format
 msgid "specifying constraint deferrability not supported for domains"
 msgstr "spécifier des contraintes déferrantes n'est pas supporté par les domaines"
 
-#: commands/typecmds.c:1289 utils/cache/typcache.c:1633
+#: commands/typecmds.c:1291 utils/cache/typcache.c:1634
 #, c-format
 msgid "%s is not an enum"
 msgstr "%s n'est pas un enum"
 
-#: commands/typecmds.c:1427
+#: commands/typecmds.c:1429
 #, c-format
 msgid "type attribute \"subtype\" is required"
 msgstr "l'attribut du sous-type est requis"
 
-#: commands/typecmds.c:1432
+#: commands/typecmds.c:1434
 #, c-format
 msgid "range subtype cannot be %s"
 msgstr "le sous-type de l'intervalle ne peut pas être %s"
 
-#: commands/typecmds.c:1451
+#: commands/typecmds.c:1453
 #, c-format
 msgid "range collation specified but subtype does not support collation"
 msgstr "collationnement spécifié pour l'intervalle mais le sous-type ne supporte pas les collationnements"
 
-#: commands/typecmds.c:1684
+#: commands/typecmds.c:1687
 #, c-format
 msgid "changing argument type of function %s from \"opaque\" to \"cstring\""
 msgstr "changement du type d'argument de la fonction %s d'« opaque » à « cstring »"
 
-#: commands/typecmds.c:1735
+#: commands/typecmds.c:1738
 #, c-format
 msgid "changing argument type of function %s from \"opaque\" to %s"
 msgstr "changement du type d'argument de la fonction %s d'« opaque » à %s"
 
-#: commands/typecmds.c:1834
-#, c-format
-msgid "typmod_in function %s must return type \"integer\""
-msgstr "la fonction typmod_in %s doit renvoyer le type « entier »"
+#: commands/typecmds.c:1837
+#, fuzzy, c-format
+#| msgid "type input function %s must return type %s"
+msgid "typmod_in function %s must return type %s"
+msgstr "le type d'entrée de la fonction %s doit être %s"
 
-#: commands/typecmds.c:1861
-#, c-format
-msgid "typmod_out function %s must return type \"cstring\""
+#: commands/typecmds.c:1864
+#, fuzzy, c-format
+#| msgid "typmod_out function %s must return type \"cstring\""
+msgid "typmod_out function %s must return type %s"
 msgstr "la fonction typmod_out %s doit renvoyer le type « cstring »"
 
-#: commands/typecmds.c:1888
-#, c-format
-msgid "type analyze function %s must return type \"boolean\""
+#: commands/typecmds.c:1891
+#, fuzzy, c-format
+#| msgid "type analyze function %s must return type \"boolean\""
+msgid "type analyze function %s must return type %s"
 msgstr "la fonction analyze du type %s doit renvoyer le type « boolean »"
 
-#: commands/typecmds.c:1934
+#: commands/typecmds.c:1937
 #, c-format
 msgid "You must specify an operator class for the range type or define a default operator class for the subtype."
 msgstr ""
 "Vous devez spécifier une classe d'opérateur pour le type range ou définir une\n"
 "classe d'opérateur par défaut pour le sous-type."
 
-#: commands/typecmds.c:1965
+#: commands/typecmds.c:1968
 #, c-format
 msgid "range canonical function %s must return range type"
 msgstr "la fonction canonical %s du range doit renvoyer le type range"
 
-#: commands/typecmds.c:1971
+#: commands/typecmds.c:1974
 #, c-format
 msgid "range canonical function %s must be immutable"
 msgstr "la fonction canonical %s du range doit être immutable"
 
-#: commands/typecmds.c:2007
-#, c-format
-msgid "range subtype diff function %s must return type double precision"
+#: commands/typecmds.c:2010
+#, fuzzy, c-format
+#| msgid "range subtype diff function %s must return type double precision"
+msgid "range subtype diff function %s must return type %s"
 msgstr ""
 "la fonction %s de calcul de différence pour le sous-type d'un intervalle de\n"
 "valeur doit renvoyer le type double precision"
 
-#: commands/typecmds.c:2013
+#: commands/typecmds.c:2017
 #, c-format
 msgid "range subtype diff function %s must be immutable"
 msgstr ""
 "la fonction %s de calcul de différence pour le sous-type d'un intervalle de\n"
 "valeur doit être immutable"
 
-#: commands/typecmds.c:2040
+#: commands/typecmds.c:2044
 #, fuzzy, c-format
 #| msgid "must be superuser to connect in binary upgrade mode"
 msgid "pg_type array OID value not set when in binary upgrade mode"
 msgstr "doit être super-utilisateur pour se connecter en mode de mise à jour binaire"
 
-#: commands/typecmds.c:2344
+#: commands/typecmds.c:2348
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains null values"
 msgstr "la colonne « %s » de la table « %s » contient des valeurs NULL"
 
-#: commands/typecmds.c:2459 commands/typecmds.c:2642
+#: commands/typecmds.c:2463 commands/typecmds.c:2646
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist"
 msgstr "la contrainte « %s » du domaine « %s » n'existe pas"
 
-#: commands/typecmds.c:2463
+#: commands/typecmds.c:2467
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping"
 msgstr "la contrainte « %s » du domaine « %s » n'existe pas, ignore"
 
-#: commands/typecmds.c:2648
+#: commands/typecmds.c:2652
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" is not a check constraint"
 msgstr "la contrainte « %s » du domaine « %s » n'est pas une contrainte de vérification"
 
-#: commands/typecmds.c:2754
+#: commands/typecmds.c:2758
 #, c-format
 msgid "column \"%s\" of table \"%s\" contains values that violate the new constraint"
 msgstr ""
 "la colonne « %s » de la table « %s » contient des valeurs violant la\n"
 "nouvelle contrainte"
 
-#: commands/typecmds.c:2967 commands/typecmds.c:3224 commands/typecmds.c:3413
+#: commands/typecmds.c:2971 commands/typecmds.c:3228 commands/typecmds.c:3417
 #, c-format
 msgid "%s is not a domain"
 msgstr "%s n'est pas un domaine"
 
-#: commands/typecmds.c:3001
+#: commands/typecmds.c:3005
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" already exists"
 msgstr "la contrainte « %s » du domaine « %s » existe déjà"
 
-#: commands/typecmds.c:3051
+#: commands/typecmds.c:3055
 #, c-format
 msgid "cannot use table references in domain check constraint"
 msgstr ""
 "ne peut pas utiliser les références de table dans la contrainte de\n"
 "vérification du domaine"
 
-#: commands/typecmds.c:3154 commands/typecmds.c:3236 commands/typecmds.c:3526
+#: commands/typecmds.c:3158 commands/typecmds.c:3240 commands/typecmds.c:3534
 #, c-format
 msgid "%s is a table's row type"
 msgstr "« %s » est du type ligne de table"
 
-#: commands/typecmds.c:3156 commands/typecmds.c:3238 commands/typecmds.c:3528
+#: commands/typecmds.c:3160 commands/typecmds.c:3242 commands/typecmds.c:3536
 #, c-format
 msgid "Use ALTER TABLE instead."
 msgstr "Utilisez ALTER TABLE à la place."
 
-#: commands/typecmds.c:3163 commands/typecmds.c:3245 commands/typecmds.c:3445
+#: commands/typecmds.c:3167 commands/typecmds.c:3249 commands/typecmds.c:3449
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "ne peut pas modifier le type array %s"
 
-#: commands/typecmds.c:3165 commands/typecmds.c:3247 commands/typecmds.c:3447
+#: commands/typecmds.c:3169 commands/typecmds.c:3251 commands/typecmds.c:3451
 #, c-format
 msgid "You can alter type %s, which will alter the array type as well."
 msgstr "Vous pouvez modifier le type %s, ce qui va modifier aussi le type tableau."
 
-#: commands/typecmds.c:3512
+#: commands/typecmds.c:3519
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "le type « %s » existe déjà dans le schéma « %s »"
 
-#: commands/user.c:148
+#: commands/user.c:149
 #, c-format
 msgid "SYSID can no longer be specified"
 msgstr "SYSID ne peut plus être spécifié"
 
-#: commands/user.c:290
+#: commands/user.c:291
 #, c-format
 msgid "must be superuser to create superusers"
 msgstr "doit être super-utilisateur pour créer des super-utilisateurs"
 
-#: commands/user.c:297
+#: commands/user.c:298
 #, c-format
 msgid "must be superuser to create replication users"
 msgstr "doit être super-utilisateur pour créer des utilisateurs avec l'attribut réplication"
 
-#: commands/user.c:304 commands/user.c:678
+#: commands/user.c:305 commands/user.c:693
 #, c-format
 msgid "must be superuser to change bypassrls attribute"
 msgstr "doit être super-utilisateur pour modifier l'attribut bypassrls"
 
-#: commands/user.c:311
+#: commands/user.c:312
 #, c-format
 msgid "permission denied to create role"
 msgstr "droit refusé pour créer un rôle"
 
-#: commands/user.c:324 commands/user.c:1153
+#: commands/user.c:322 commands/user.c:1176 commands/user.c:1183 gram.y:13599
+#: gram.y:13634
+#, c-format
+msgid "role name \"%s\" is reserved"
+msgstr "le nom du rôle « %s » est réservé"
+
+#: commands/user.c:324 commands/user.c:1178 commands/user.c:1185
+#, fuzzy, c-format
+#| msgid "%s: role name starting with \"pg_\" skipped (%s)\n"
+msgid "Role names starting with \"pg_\" are reserved."
+msgstr "%s : nom de rôle commençant par « pg_ » ignoré (« %s »)\n"
+
+#: commands/user.c:336 commands/user.c:1191
 #, c-format
 msgid "role \"%s\" already exists"
 msgstr "le rôle « %s » existe déjà"
 
-#: commands/user.c:402
+#: commands/user.c:414
 #, fuzzy, c-format
 #| msgid "must be superuser to connect in binary upgrade mode"
 msgid "pg_authid OID value not set when in binary upgrade mode"
 msgstr "doit être super-utilisateur pour se connecter en mode de mise à jour binaire"
 
-#: commands/user.c:664 commands/user.c:878 commands/user.c:1394 commands/user.c:1540
+#: commands/user.c:679 commands/user.c:896 commands/user.c:1432
+#: commands/user.c:1578
 #, c-format
 msgid "must be superuser to alter superusers"
 msgstr "doit être super-utilisateur pour modifier des super-utilisateurs"
 
-#: commands/user.c:671
+#: commands/user.c:686
 #, c-format
 msgid "must be superuser to alter replication users"
 msgstr "doit être super-utilisateur pour modifier des utilisateurs ayant l'attribut réplication"
 
-#: commands/user.c:694 commands/user.c:886
+#: commands/user.c:709 commands/user.c:904
 #, c-format
 msgid "permission denied"
 msgstr "droit refusé"
 
-#: commands/user.c:916
+#: commands/user.c:934
 #, c-format
 msgid "must be superuser to alter settings globally"
 msgstr "doit être super-utilisateur pour modifier globalement les configurations"
 
-#: commands/user.c:938
+#: commands/user.c:956
 #, c-format
 msgid "permission denied to drop role"
 msgstr "droit refusé pour supprimer le rôle"
 
-#: commands/user.c:962
+#: commands/user.c:980
 #, c-format
 msgid "cannot use special role specifier in DROP ROLE"
 msgstr "ne peut pas être le spécificateur de rôle spécial dans DROP ROLE"
 
-#: commands/user.c:972 commands/user.c:1128 commands/variable.c:799 commands/variable.c:871 utils/adt/acl.c:5120 utils/adt/acl.c:5172 utils/adt/acl.c:5205 utils/adt/acl.c:5223 utils/init/miscinit.c:494
+#: commands/user.c:990 commands/user.c:1147 commands/variable.c:801
+#: commands/variable.c:873 utils/adt/acl.c:5121 utils/adt/acl.c:5173
+#: utils/adt/acl.c:5206 utils/adt/acl.c:5224 utils/init/miscinit.c:502
 #, c-format
 msgid "role \"%s\" does not exist"
 msgstr "le rôle « %s » n'existe pas"
 
-#: commands/user.c:977
+#: commands/user.c:995
 #, c-format
 msgid "role \"%s\" does not exist, skipping"
 msgstr "le rôle « %s » n'existe pas, poursuite du traitement"
 
-#: commands/user.c:989 commands/user.c:993
+#: commands/user.c:1007 commands/user.c:1011
 #, c-format
 msgid "current user cannot be dropped"
 msgstr "l'utilisateur actuel ne peut pas être supprimé"
 
-#: commands/user.c:997
+#: commands/user.c:1015
 #, c-format
 msgid "session user cannot be dropped"
 msgstr "l'utilisateur de la session ne peut pas être supprimé"
 
-#: commands/user.c:1008
+#: commands/user.c:1026
 #, c-format
 msgid "must be superuser to drop superusers"
 msgstr "doit être super-utilisateur pour supprimer des super-utilisateurs"
 
-#: commands/user.c:1024
+#: commands/user.c:1042
 #, c-format
 msgid "role \"%s\" cannot be dropped because some objects depend on it"
 msgstr "le rôle « %s » ne peut pas être supprimé car d'autres objets en dépendent"
 
-#: commands/user.c:1143
+#: commands/user.c:1163
 #, c-format
 msgid "session user cannot be renamed"
 msgstr "l'utilisateur de la session ne peut pas être renommé"
 
-#: commands/user.c:1147
+#: commands/user.c:1167
 #, c-format
 msgid "current user cannot be renamed"
 msgstr "l'utilisateur courant ne peut pas être renommé"
 
-#: commands/user.c:1163
+#: commands/user.c:1201
 #, c-format
 msgid "must be superuser to rename superusers"
 msgstr "doit être super-utilisateur pour renommer les super-utilisateurs"
 
-#: commands/user.c:1170
+#: commands/user.c:1208
 #, c-format
 msgid "permission denied to rename role"
 msgstr "droit refusé pour renommer le rôle"
 
-#: commands/user.c:1191
+#: commands/user.c:1229
 #, c-format
 msgid "MD5 password cleared because of role rename"
 msgstr "mot de passe MD5 effacé à cause du renommage du rôle"
 
-#: commands/user.c:1253
+#: commands/user.c:1291
 #, c-format
 msgid "column names cannot be included in GRANT/REVOKE ROLE"
 msgstr "les noms de colonne ne peuvent pas être inclus dans GRANT/REVOKE ROLE"
 
-#: commands/user.c:1291
+#: commands/user.c:1329
 #, c-format
 msgid "permission denied to drop objects"
 msgstr "droit refusé pour supprimer les objets"
 
-#: commands/user.c:1318 commands/user.c:1327
+#: commands/user.c:1356 commands/user.c:1365
 #, c-format
 msgid "permission denied to reassign objects"
 msgstr "droit refusé pour ré-affecter les objets"
 
-#: commands/user.c:1402 commands/user.c:1548
+#: commands/user.c:1440 commands/user.c:1586
 #, c-format
 msgid "must have admin option on role \"%s\""
 msgstr "doit avoir l'option admin sur le rôle « %s »"
 
-#: commands/user.c:1419
+#: commands/user.c:1457
 #, c-format
 msgid "must be superuser to set grantor"
 msgstr "doit être super-utilisateur pour configurer le « donneur de droits »"
 
-#: commands/user.c:1444
+#: commands/user.c:1482
 #, c-format
 msgid "role \"%s\" is a member of role \"%s\""
 msgstr "le rôle « %s » est un membre du rôle « %s »"
 
-#: commands/user.c:1459
+#: commands/user.c:1497
 #, c-format
 msgid "role \"%s\" is already a member of role \"%s\""
 msgstr "le rôle « %s » est déjà un membre du rôle « %s »"
 
-#: commands/user.c:1570
+#: commands/user.c:1608
 #, c-format
 msgid "role \"%s\" is not a member of role \"%s\""
 msgstr "le rôle « %s » n'est pas un membre du rôle « %s »"
@@ -8945,162 +9808,163 @@ msgstr "le r
 msgid "%s cannot be executed from VACUUM or ANALYZE"
 msgstr "%s : ne peut pas être exécuté par « root »\n"
 
-#: commands/vacuum.c:527
+#: commands/vacuum.c:528
 #, c-format
 msgid "oldest xmin is far in the past"
 msgstr "le plus ancien xmin est loin dans le passé"
 
-#: commands/vacuum.c:528
+#: commands/vacuum.c:529
 #, c-format
 msgid "Close open transactions soon to avoid wraparound problems."
 msgstr ""
 "Fermez les transactions ouvertes rapidement pour éviter des problèmes de\n"
 "réinitialisation."
 
-#: commands/vacuum.c:567
+#: commands/vacuum.c:568
 #, c-format
 msgid "oldest multixact is far in the past"
 msgstr "le plus ancien multixact est loin dans le passé"
 
-#: commands/vacuum.c:568
+#: commands/vacuum.c:569
 #, c-format
 msgid "Close open transactions with multixacts soon to avoid wraparound problems."
 msgstr ""
 "Fermez les transactions ouvertes avec multixacts rapidement pour éviter des problèmes de\n"
 "réinitialisation."
 
-#: commands/vacuum.c:1130
+#: commands/vacuum.c:1131
 #, c-format
 msgid "some databases have not been vacuumed in over 2 billion transactions"
 msgstr ""
 "certaines bases de données n'ont pas eu droit à l'opération de maintenance\n"
 "VACUUM depuis plus de 2 milliards de transactions"
 
-#: commands/vacuum.c:1131
+#: commands/vacuum.c:1132
 #, c-format
 msgid "You might have already suffered transaction-wraparound data loss."
 msgstr ""
 "Vous pouvez avoir déjà souffert de pertes de données suite à une\n"
 "réinitialisation de l'identifiant des transactions."
 
-#: commands/vacuum.c:1252
+#: commands/vacuum.c:1253
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "ignore le vacuum de « %s » --- verrou non disponible"
 
-#: commands/vacuum.c:1278
+#: commands/vacuum.c:1279
 #, c-format
 msgid "skipping \"%s\" --- only superuser can vacuum it"
 msgstr "ignore « %s » --- seul le super-utilisateur peut exécuter un VACUUM"
 
-#: commands/vacuum.c:1282
+#: commands/vacuum.c:1283
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can vacuum it"
 msgstr ""
 "ignore « %s » --- seul le super-utilisateur ou le propriétaire de la base de données\n"
 "peuvent exécuter un VACUUM"
 
-#: commands/vacuum.c:1286
+#: commands/vacuum.c:1287
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can vacuum it"
 msgstr ""
 "ignore « %s » --- seul le propriétaire de la table ou de la base de données\n"
 "peut exécuter un VACUUM"
 
-#: commands/vacuum.c:1304
+#: commands/vacuum.c:1305
 #, c-format
 msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables"
 msgstr ""
 "ignore « %s » --- n'a pas pu exécuter un VACUUM sur les objets autres que\n"
 "des tables et les tables systèmes"
 
-#: commands/vacuumlazy.c:358
+#: commands/vacuumlazy.c:363
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
 msgstr "VACUUM automatique de la table « %s.%s.%s » : %d parcours d'index\n"
 
-#: commands/vacuumlazy.c:363
-#, c-format
-msgid "pages: %u removed, %u remain, %u skipped due to pins\n"
+#: commands/vacuumlazy.c:368
+#, fuzzy, c-format
+#| msgid "pages: %u removed, %u remain, %u skipped due to pins\n"
+msgid "pages: %u removed, %u remain, %u skipped due to pins, %u skipped frozen\n"
 msgstr "pages : %u supprimées, %u restants, %u ignorées à cause de verrous\n"
 
-#: commands/vacuumlazy.c:368
+#: commands/vacuumlazy.c:374
 #, c-format
 msgid "tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable\n"
 msgstr "lignes : %.0f supprimées, %.0f restantes, %.0f sont mortes mais pas encore supprimables\n"
 
-#: commands/vacuumlazy.c:373
+#: commands/vacuumlazy.c:379
 #, c-format
 msgid "buffer usage: %d hits, %d misses, %d dirtied\n"
 msgstr "utilisation du tampon : %d récupérées, %d ratées, %d modifiées\n"
 
-#: commands/vacuumlazy.c:377
+#: commands/vacuumlazy.c:383
 #, c-format
 msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
 msgstr "taux moyen de lecture : %.3f Mo/s, taux moyen d'écriture : %.3f Mo/s\n"
 
-#: commands/vacuumlazy.c:379
+#: commands/vacuumlazy.c:385
 #, c-format
 msgid "system usage: %s"
 msgstr "utilisation du système : %s"
 
-#: commands/vacuumlazy.c:701
+#: commands/vacuumlazy.c:837
 #, c-format
 msgid "relation \"%s\" page %u is uninitialized --- fixing"
 msgstr "relation « %s » : la page %u n'est pas initialisée --- correction en cours"
 
-#: commands/vacuumlazy.c:1113
+#: commands/vacuumlazy.c:1301
 #, c-format
 msgid "\"%s\": removed %.0f row versions in %u pages"
 msgstr "« %s » : %.0f versions de ligne supprimées parmi %u pages"
 
-#: commands/vacuumlazy.c:1123
+#: commands/vacuumlazy.c:1311
 #, c-format
 msgid "%.0f dead row versions cannot be removed yet.\n"
 msgstr "%.0f versions de lignes mortes ne peuvent pas encore être supprimées.\n"
 
-#: commands/vacuumlazy.c:1125
+#: commands/vacuumlazy.c:1313
 #, c-format
 msgid "There were %.0f unused item pointers.\n"
 msgstr "Il y avait %.0f pointeurs d'éléments inutilisés.\n"
 
-#: commands/vacuumlazy.c:1127
+#: commands/vacuumlazy.c:1315
 #, c-format
 msgid "Skipped %u page due to buffer pins.\n"
 msgid_plural "Skipped %u pages due to buffer pins.\n"
 msgstr[0] "Ignore %u page à cause des verrous de blocs.\n"
 msgstr[1] "Ignore %u pages à cause des verrous de blocs.\n"
 
-#: commands/vacuumlazy.c:1131
+#: commands/vacuumlazy.c:1319
 #, c-format
 msgid "%u page is entirely empty.\n"
 msgid_plural "%u pages are entirely empty.\n"
 msgstr[0] "%u page est entièrement vide.\n"
 msgstr[1] "%u pages sont entièrement vides.\n"
 
-#: commands/vacuumlazy.c:1139
+#: commands/vacuumlazy.c:1327
 #, c-format
 msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u out of %u pages"
 msgstr ""
 "« %s » : %.0f versions de ligne supprimables, %.0f non supprimables\n"
 "parmi %u pages sur %u"
 
-#: commands/vacuumlazy.c:1208
+#: commands/vacuumlazy.c:1396
 #, c-format
 msgid "\"%s\": removed %d row versions in %d pages"
 msgstr "« %s »: %d versions de ligne supprimée parmi %d pages"
 
-#: commands/vacuumlazy.c:1375
+#: commands/vacuumlazy.c:1585
 #, c-format
 msgid "scanned index \"%s\" to remove %d row versions"
 msgstr "a parcouru l'index « %s » pour supprimer %d versions de lignes"
 
-#: commands/vacuumlazy.c:1421
+#: commands/vacuumlazy.c:1631
 #, c-format
 msgid "index \"%s\" now contains %.0f row versions in %u pages"
 msgstr "l'index « %s » contient maintenant %.0f versions de ligne dans %u pages"
 
-#: commands/vacuumlazy.c:1425
+#: commands/vacuumlazy.c:1635
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -9111,22 +9975,22 @@ msgstr ""
 "%u pages d'index ont été supprimées, %u sont actuellement réutilisables.\n"
 "%s."
 
-#: commands/vacuumlazy.c:1482
+#: commands/vacuumlazy.c:1721
 #, c-format
 msgid "\"%s\": stopping truncate due to conflicting lock request"
 msgstr "« %s » : mis en suspens du tronquage à cause d'un conflit dans la demande de verrou"
 
-#: commands/vacuumlazy.c:1547
+#: commands/vacuumlazy.c:1786
 #, c-format
 msgid "\"%s\": truncated %u to %u pages"
 msgstr "« %s » : %u pages tronqués en %u"
 
-#: commands/vacuumlazy.c:1603
+#: commands/vacuumlazy.c:1842
 #, c-format
 msgid "\"%s\": suspending truncate due to conflicting lock request"
 msgstr "« %s » : mis en suspens du tronquage à cause d'un conflit dans la demande de verrou"
 
-#: commands/variable.c:164 utils/misc/guc.c:9660
+#: commands/variable.c:164 utils/misc/guc.c:9877
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Mot clé non reconnu : « %s »"
@@ -9161,72 +10025,72 @@ msgstr "PostgreSQL ne supporte pas les secondes 
 msgid "UTC timezone offset is out of range."
 msgstr "le décalage du fuseau horaire UTC est en dehors des limites."
 
-#: commands/variable.c:495
+#: commands/variable.c:497
 #, c-format
 msgid "cannot set transaction read-write mode inside a read-only transaction"
 msgstr ""
 "ne peut pas initialiser le mode lecture-écriture de la transaction à\n"
 "l'intérieur d'une transaction en lecture seule"
 
-#: commands/variable.c:502
+#: commands/variable.c:504
 #, c-format
 msgid "transaction read-write mode must be set before any query"
 msgstr ""
 "le mode de transaction lecture/écriture doit être configuré avant d'exécuter\n"
 "la première requête"
 
-#: commands/variable.c:509
+#: commands/variable.c:511
 #, c-format
 msgid "cannot set transaction read-write mode during recovery"
 msgstr ""
 "ne peut pas initialiser le mode lecture-écriture des transactions lors de la\n"
 "restauration"
 
-#: commands/variable.c:558
+#: commands/variable.c:560
 #, c-format
 msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query"
 msgstr "SET TRANSACTION ISOLATION LEVEL doit être appelé avant toute requête"
 
-#: commands/variable.c:565
+#: commands/variable.c:567
 #, c-format
 msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction"
 msgstr ""
 "SET TRANSACTION ISOLATION LEVEL ne doit pas être appelé dans une\n"
 "sous-transaction"
 
-#: commands/variable.c:572 storage/lmgr/predicate.c:1586
+#: commands/variable.c:574 storage/lmgr/predicate.c:1587
 #, c-format
 msgid "cannot use serializable mode in a hot standby"
 msgstr "ne peut pas utiliser le mode sérialisable sur un serveur en « Hot Standby »"
 
-#: commands/variable.c:573
+#: commands/variable.c:575
 #, c-format
 msgid "You can use REPEATABLE READ instead."
 msgstr "Vous pouvez utiliser REPEATABLE READ à la place."
 
-#: commands/variable.c:621
+#: commands/variable.c:623
 #, c-format
 msgid "SET TRANSACTION [NOT] DEFERRABLE cannot be called within a subtransaction"
 msgstr ""
 "SET TRANSACTION [NOT] DEFERRABLE ne doit pas être appelé dans une\n"
 "sous-transaction"
 
-#: commands/variable.c:627
+#: commands/variable.c:629
 #, c-format
 msgid "SET TRANSACTION [NOT] DEFERRABLE must be called before any query"
 msgstr "SET TRANSACTION [NOT] DEFERRABLE doit être appelé avant toute requête"
 
-#: commands/variable.c:709
+#: commands/variable.c:711
 #, c-format
 msgid "Conversion between %s and %s is not supported."
 msgstr "La conversion entre %s et %s n'est pas supportée."
 
-#: commands/variable.c:716
+#: commands/variable.c:718
 #, c-format
 msgid "Cannot change \"client_encoding\" now."
 msgstr "Ne peut pas modifier « client_encoding » maintenant."
 
-#: commands/variable.c:889
+#: commands/variable.c:891
 #, c-format
 msgid "permission denied to set role \"%s\""
 msgstr "droit refusé pour configurer le rôle « %s »"
@@ -9323,12 +10187,12 @@ msgstr "le curseur 
 msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\""
 msgstr "le curseur « %s » n'est pas un parcours modifiable de la table « %s »"
 
-#: executor/execCurrent.c:231 executor/execQual.c:1156
+#: executor/execCurrent.c:231 executor/execQual.c:1178
 #, c-format
 msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)"
 msgstr "le type de paramètre %d (%s) ne correspond pas à ce qui est préparé dans le plan (%s)"
 
-#: executor/execCurrent.c:243 executor/execQual.c:1168
+#: executor/execCurrent.c:243 executor/execQual.c:1190
 #, c-format
 msgid "no value found for parameter %d"
 msgstr "aucune valeur trouvée pour le paramètre %d"
@@ -9338,368 +10202,372 @@ msgstr "aucune valeur trouv
 msgid "ON CONFLICT does not support deferrable unique constraints/exclusion constraints as arbiters"
 msgstr "ON CONFLICT ne supporte pas les contraintes uniques diferrables et les contraintes d'exclusion différables comme arbitres"
 
-#: executor/execIndexing.c:814
+#: executor/execIndexing.c:816
 #, c-format
 msgid "could not create exclusion constraint \"%s\""
 msgstr "n'a pas pu créer la contrainte d'exclusion « %s »"
 
-#: executor/execIndexing.c:817
+#: executor/execIndexing.c:819
 #, c-format
 msgid "Key %s conflicts with key %s."
 msgstr "La clé %s est en conflit avec la clé %s."
 
-#: executor/execIndexing.c:819
+#: executor/execIndexing.c:821
 #, c-format
 msgid "Key conflicts exist."
 msgstr "Un conflit de clés est présent."
 
-#: executor/execIndexing.c:825
+#: executor/execIndexing.c:827
 #, c-format
 msgid "conflicting key value violates exclusion constraint \"%s\""
 msgstr "la valeur d'une clé en conflit rompt la contrainte d'exclusion « %s »"
 
-#: executor/execIndexing.c:828
+#: executor/execIndexing.c:830
 #, c-format
 msgid "Key %s conflicts with existing key %s."
 msgstr "La clé %s est en conflit avec la clé existante %s."
 
-#: executor/execIndexing.c:830
+#: executor/execIndexing.c:832
 #, c-format
 msgid "Key conflicts with existing key."
 msgstr "La clé est en conflit avec une clé existante."
 
-#: executor/execMain.c:1025
+#: executor/execMain.c:1027
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "ne peut pas modifier la séquence « %s »"
 
-#: executor/execMain.c:1031
+#: executor/execMain.c:1033
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "ne peut pas modifier la relation TOAST « %s »"
 
-#: executor/execMain.c:1049 rewrite/rewriteHandler.c:2641
+#: executor/execMain.c:1051 rewrite/rewriteHandler.c:2648
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "ne peut pas insérer dans la vue « %s »"
 
-#: executor/execMain.c:1051 rewrite/rewriteHandler.c:2644
+#: executor/execMain.c:1053 rewrite/rewriteHandler.c:2651
 #, c-format
 msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule."
 msgstr "Pour activer l'insertion dans la vue, fournissez un trigger INSTEAD OF INSERT ou une règle ON INSERT DO INSTEAD sans condition."
 
-#: executor/execMain.c:1057 rewrite/rewriteHandler.c:2649
+#: executor/execMain.c:1059 rewrite/rewriteHandler.c:2656
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "ne peut pas mettre à jour la vue « %s »"
 
-#: executor/execMain.c:1059 rewrite/rewriteHandler.c:2652
+#: executor/execMain.c:1061 rewrite/rewriteHandler.c:2659
 #, c-format
 msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule."
 msgstr "Pour activer la mise à jour dans la vue, fournissez un trigger INSTEAD OF UPDATE ou une règle ON UPDATE DO INSTEAD sans condition."
 
-#: executor/execMain.c:1065 rewrite/rewriteHandler.c:2657
+#: executor/execMain.c:1067 rewrite/rewriteHandler.c:2664
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "ne peut pas supprimer à partir de la vue « %s »"
 
-#: executor/execMain.c:1067 rewrite/rewriteHandler.c:2660
+#: executor/execMain.c:1069 rewrite/rewriteHandler.c:2667
 #, c-format
 msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule."
 msgstr "Pour activer la suppression dans la vue, fournissez un trigger INSTEAD OF DELETE ou une règle ON DELETE DO INSTEAD sans condition."
 
-#: executor/execMain.c:1078
+#: executor/execMain.c:1080
 #, c-format
 msgid "cannot change materialized view \"%s\""
 msgstr "ne peut pas modifier la vue matérialisée « %s »"
 
-#: executor/execMain.c:1090
+#: executor/execMain.c:1092
 #, c-format
 msgid "cannot insert into foreign table \"%s\""
 msgstr "ne peut pas insérer dans la table distante « %s »"
 
-#: executor/execMain.c:1096
+#: executor/execMain.c:1098
 #, c-format
 msgid "foreign table \"%s\" does not allow inserts"
 msgstr "la table distante « %s » n'autorise pas les insertions"
 
-#: executor/execMain.c:1103
+#: executor/execMain.c:1105
 #, c-format
 msgid "cannot update foreign table \"%s\""
 msgstr "ne peut pas modifier la table distante « %s »"
 
-#: executor/execMain.c:1109
+#: executor/execMain.c:1111
 #, c-format
 msgid "foreign table \"%s\" does not allow updates"
 msgstr "la table distante « %s » n'autorise pas les modifications"
 
-#: executor/execMain.c:1116
+#: executor/execMain.c:1118
 #, c-format
 msgid "cannot delete from foreign table \"%s\""
 msgstr "ne peut pas supprimer à partir de la table distante « %s »"
 
-#: executor/execMain.c:1122
+#: executor/execMain.c:1124
 #, c-format
 msgid "foreign table \"%s\" does not allow deletes"
 msgstr "la table distante « %s » n'autorise pas les suppressions"
 
-#: executor/execMain.c:1133
+#: executor/execMain.c:1135
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "ne peut pas modifier la relation « %s »"
 
-#: executor/execMain.c:1159
+#: executor/execMain.c:1161
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "ne peut pas verrouiller les lignes dans la séquence « %s »"
 
-#: executor/execMain.c:1166
+#: executor/execMain.c:1168
 #, c-format
 msgid "cannot lock rows in TOAST relation \"%s\""
 msgstr "ne peut pas verrouiller les lignes dans la relation TOAST « %s »"
 
-#: executor/execMain.c:1173
+#: executor/execMain.c:1175
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "ne peut pas verrouiller les lignes dans la vue « %s »"
 
-#: executor/execMain.c:1181
+#: executor/execMain.c:1183
 #, c-format
 msgid "cannot lock rows in materialized view \"%s\""
 msgstr "ne peut pas verrouiller les lignes dans la vue matérialisée « %s »"
 
-#: executor/execMain.c:1190 executor/execMain.c:2578 executor/nodeLockRows.c:132
+#: executor/execMain.c:1192 executor/execMain.c:2603
+#: executor/nodeLockRows.c:132
 #, c-format
 msgid "cannot lock rows in foreign table \"%s\""
 msgstr "ne peut pas verrouiller la table distante « %s »"
 
-#: executor/execMain.c:1196
+#: executor/execMain.c:1198
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "n'a pas pu verrouiller les lignes dans la relation « %s »"
 
-#: executor/execMain.c:1696
+#: executor/execMain.c:1721
 #, c-format
 msgid "null value in column \"%s\" violates not-null constraint"
 msgstr "une valeur NULL viole la contrainte NOT NULL de la colonne « %s »"
 
-#: executor/execMain.c:1698 executor/execMain.c:1724 executor/execMain.c:1813
+#: executor/execMain.c:1723 executor/execMain.c:1749 executor/execMain.c:1838
 #, c-format
 msgid "Failing row contains %s."
 msgstr "La ligne en échec contient %s"
 
-#: executor/execMain.c:1722
+#: executor/execMain.c:1747
 #, c-format
 msgid "new row for relation \"%s\" violates check constraint \"%s\""
 msgstr "la nouvelle ligne viole la contrainte de vérification « %s » de la relation « %s »"
 
-#: executor/execMain.c:1811
+#: executor/execMain.c:1836
 #, c-format
 msgid "new row violates check option for view \"%s\""
 msgstr "la nouvelle ligne viole la contrainte de vérification pour la vue « %s »"
 
-#: executor/execMain.c:1821
+#: executor/execMain.c:1846
 #, c-format
 msgid "new row violates row-level security policy \"%s\" for table \"%s\""
 msgstr "la nouvelle ligne viole la politique de sécurité au niveau ligne « %s » pour la table « %s »"
 
-#: executor/execMain.c:1826
+#: executor/execMain.c:1851
 #, c-format
 msgid "new row violates row-level security policy for table \"%s\""
 msgstr "la nouvelle ligne viole la politique de sécurité au niveau ligne pour la table « %s »"
 
-#: executor/execMain.c:1833
+#: executor/execMain.c:1858
 #, c-format
 msgid "new row violates row-level security policy \"%s\" (USING expression) for table \"%s\""
 msgstr "la nouvelle ligne viole la politique de sécurité au niveau ligne « %s » (expression USING) pour la table « %s »"
 
-#: executor/execMain.c:1838
+#: executor/execMain.c:1863
 #, c-format
 msgid "new row violates row-level security policy (USING expression) for table \"%s\""
 msgstr "la nouvelle ligne viole la politique de sécurité au niveau ligne (expression USING) pour la table « %s »"
 
-#: executor/execQual.c:300 executor/execQual.c:328 executor/execQual.c:3191 utils/adt/array_userfuncs.c:472 utils/adt/arrayfuncs.c:263 utils/adt/arrayfuncs.c:561 utils/adt/arrayfuncs.c:1291 utils/adt/arrayfuncs.c:3335 utils/adt/arrayfuncs.c:5219 utils/adt/arrayfuncs.c:5742
+#: executor/execQual.c:302 executor/execQual.c:339 executor/execQual.c:3213
+#: utils/adt/array_userfuncs.c:472 utils/adt/arrayfuncs.c:260
+#: utils/adt/arrayfuncs.c:558 utils/adt/arrayfuncs.c:1288
+#: utils/adt/arrayfuncs.c:3361 utils/adt/arrayfuncs.c:5245
+#: utils/adt/arrayfuncs.c:5768
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "le nombre de dimensions du tableau (%d) dépasse le maximum autorisé (%d)"
 
-#: executor/execQual.c:313 executor/execQual.c:341
+#: executor/execQual.c:324 executor/execQual.c:360
 #, c-format
 msgid "array subscript in assignment must not be null"
 msgstr "l'indice du tableau dans l'affectation ne doit pas être NULL"
 
-#: executor/execQual.c:635 executor/execQual.c:4116
+#: executor/execQual.c:657 executor/execQual.c:4138
 #, c-format
 msgid "attribute %d has wrong type"
 msgstr "l'attribut %d a un type invalide"
 
-#: executor/execQual.c:636 executor/execQual.c:4117
+#: executor/execQual.c:658 executor/execQual.c:4139
 #, c-format
 msgid "Table has type %s, but query expects %s."
 msgstr "La table a le type %s alors que la requête attend %s."
 
-#: executor/execQual.c:829 executor/execQual.c:846 executor/execQual.c:1046 executor/nodeModifyTable.c:95 executor/nodeModifyTable.c:105 executor/nodeModifyTable.c:122 executor/nodeModifyTable.c:130
+#: executor/execQual.c:851 executor/execQual.c:868 executor/execQual.c:1068
+#: executor/nodeModifyTable.c:95 executor/nodeModifyTable.c:105
+#: executor/nodeModifyTable.c:122 executor/nodeModifyTable.c:130
 #, c-format
 msgid "table row type and query-specified row type do not match"
 msgstr "Le type de ligne de la table et celui spécifié par la requête ne correspondent pas"
 
-#: executor/execQual.c:830
+#: executor/execQual.c:852
 #, c-format
 msgid "Table row contains %d attribute, but query expects %d."
 msgid_plural "Table row contains %d attributes, but query expects %d."
 msgstr[0] "La ligne de la table contient %d attribut alors que la requête en attend %d."
 msgstr[1] "La ligne de la table contient %d attributs alors que la requête en attend %d."
 
-#: executor/execQual.c:847 executor/nodeModifyTable.c:106
+#: executor/execQual.c:869 executor/nodeModifyTable.c:106
 #, c-format
 msgid "Table has type %s at ordinal position %d, but query expects %s."
 msgstr "La table a le type %s à la position ordinale %d alors que la requête attend %s."
 
-#: executor/execQual.c:1047 executor/execQual.c:1643
+#: executor/execQual.c:1069 executor/execQual.c:1665
 #, c-format
 msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
 msgstr ""
 "Le stockage physique ne correspond pas à l'attribut supprimé à la position\n"
 "ordinale %d."
 
-#: executor/execQual.c:1322 parser/parse_func.c:115 parser/parse_func.c:542 parser/parse_func.c:894
+#: executor/execQual.c:1344 parser/parse_func.c:115 parser/parse_func.c:542
+#: parser/parse_func.c:895
 #, c-format
 msgid "cannot pass more than %d argument to a function"
 msgid_plural "cannot pass more than %d arguments to a function"
 msgstr[0] "ne peut pas passer plus de %d argument à une fonction"
 msgstr[1] "ne peut pas passer plus de %d arguments à une fonction"
 
-#: executor/execQual.c:1511
+#: executor/execQual.c:1533
 #, c-format
 msgid "functions and operators can take at most one set argument"
 msgstr "les fonctions et opérateurs peuvent prendre au plus un argument d'ensemble"
 
-#: executor/execQual.c:1561
+#: executor/execQual.c:1583
 #, c-format
 msgid "function returning setof record called in context that cannot accept type record"
 msgstr ""
 "la fonction renvoyant des lignes a été appelée dans un contexte qui\n"
 "n'accepte pas un ensemble"
 
-#: executor/execQual.c:1616 executor/execQual.c:1632 executor/execQual.c:1642
+#: executor/execQual.c:1638 executor/execQual.c:1654 executor/execQual.c:1664
 #, c-format
 msgid "function return row and query-specified return row do not match"
 msgstr "la ligne de retour spécifiée par la requête et la ligne de retour de la fonction ne correspondent pas"
 
-#: executor/execQual.c:1617
+#: executor/execQual.c:1639
 #, c-format
 msgid "Returned row contains %d attribute, but query expects %d."
 msgid_plural "Returned row contains %d attributes, but query expects %d."
 msgstr[0] "La ligne renvoyée contient %d attribut mais la requête en attend %d."
 msgstr[1] "La ligne renvoyée contient %d attributs mais la requête en attend %d."
 
-#: executor/execQual.c:1633
+#: executor/execQual.c:1655
 #, c-format
 msgid "Returned type %s at ordinal position %d, but query expects %s."
 msgstr "A renvoyé le type %s à la position ordinale %d, mais la requête attend %s."
 
-#: executor/execQual.c:1875 executor/execQual.c:2306
+#: executor/execQual.c:1897 executor/execQual.c:2328
 #, c-format
 msgid "table-function protocol for materialize mode was not followed"
 msgstr "le protocole de la fonction table pour le mode matérialisé n'a pas été respecté"
 
-#: executor/execQual.c:1895 executor/execQual.c:2313
+#: executor/execQual.c:1917 executor/execQual.c:2335
 #, c-format
 msgid "unrecognized table-function returnMode: %d"
 msgstr "returnMode de la fonction table non reconnu : %d"
 
-#: executor/execQual.c:2223
+#: executor/execQual.c:2245
 #, c-format
 msgid "function returning set of rows cannot return null value"
 msgstr ""
 "la fonction renvoyant un ensemble de lignes ne peut pas renvoyer une valeur\n"
 "NULL"
 
-#: executor/execQual.c:2280
+#: executor/execQual.c:2302
 #, c-format
 msgid "rows returned by function are not all of the same row type"
 msgstr "les lignes renvoyées par la fonction ne sont pas toutes du même type ligne"
 
-#: executor/execQual.c:2495
+#: executor/execQual.c:2517
 #, c-format
 msgid "IS DISTINCT FROM does not support set arguments"
 msgstr "IS DISTINCT FROM ne supporte pas les arguments d'ensemble"
 
-#: executor/execQual.c:2572
+#: executor/execQual.c:2594
 #, c-format
 msgid "op ANY/ALL (array) does not support set arguments"
 msgstr ""
 "l'opérateur ANY/ALL (pour les types array) ne supporte pas les arguments\n"
 "d'ensemble"
 
-#: executor/execQual.c:3169
+#: executor/execQual.c:3191
 #, c-format
 msgid "cannot merge incompatible arrays"
 msgstr "ne peut pas fusionner les tableaux incompatibles"
 
-#: executor/execQual.c:3170
+#: executor/execQual.c:3192
 #, c-format
 msgid "Array with element type %s cannot be included in ARRAY construct with element type %s."
 msgstr "Le tableau avec le type d'élément %s ne peut pas être inclus dans la construction ARRAY avec le type d'élément %s."
 
-#: executor/execQual.c:3211 executor/execQual.c:3238
+#: executor/execQual.c:3233 executor/execQual.c:3260
 #, c-format
 msgid "multidimensional arrays must have array expressions with matching dimensions"
 msgstr ""
 "les tableaux multidimensionnels doivent avoir des expressions de tableaux\n"
 "avec les dimensions correspondantes"
 
-#: executor/execQual.c:3753
+#: executor/execQual.c:3775
 #, c-format
 msgid "NULLIF does not support set arguments"
 msgstr "NULLIF ne supporte pas les arguments d'ensemble"
 
-#: executor/execQual.c:3986 utils/adt/domains.c:136
+#: executor/execQual.c:4008 utils/adt/domains.c:136
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "le domaine %s n'autorise pas les valeurs NULL"
 
-#: executor/execQual.c:4016 utils/adt/domains.c:173
+#: executor/execQual.c:4038 utils/adt/domains.c:173
 #, c-format
 msgid "value for domain %s violates check constraint \"%s\""
 msgstr "la valeur pour le domaine %s viole la contrainte de vérification « %s »"
 
-#: executor/execQual.c:4371
+#: executor/execQual.c:4393
 #, c-format
 msgid "WHERE CURRENT OF is not supported for this table type"
 msgstr "WHERE CURRENT OF n'est pas supporté pour ce type de table"
 
-#: executor/execQual.c:4518 parser/parse_agg.c:596 parser/parse_agg.c:626
-#, c-format
-msgid "aggregate function calls cannot be nested"
-msgstr "les appels à la fonction d'agrégat ne peuvent pas être imbriqués"
-
-#: executor/execQual.c:4580 parser/parse_agg.c:742
+#: executor/execQual.c:4597 parser/parse_agg.c:743
 #, c-format
 msgid "window function calls cannot be nested"
 msgstr "les appels à la fonction window ne peuvent pas être imbriqués"
 
-#: executor/execQual.c:4792
+#: executor/execQual.c:4809
 #, c-format
 msgid "target type is not an array"
 msgstr "le type cible n'est pas un tableau"
 
-#: executor/execQual.c:4907
+#: executor/execQual.c:4924
 #, c-format
 msgid "ROW() column has type %s instead of type %s"
 msgstr "une colonne ROW() a le type %s au lieu du type %s"
 
-#: executor/execQual.c:5042 utils/adt/arrayfuncs.c:3777 utils/adt/arrayfuncs.c:6315 utils/adt/rowtypes.c:927
+#: executor/execQual.c:5059 utils/adt/arrayfuncs.c:3803
+#: utils/adt/arrayfuncs.c:6341 utils/adt/rowtypes.c:927
 #, c-format
 msgid "could not identify a comparison function for type %s"
 msgstr "n'a pas pu identifier une fonction de comparaison pour le type %s"
 
-#: executor/execUtils.c:831
+#: executor/execUtils.c:819
 #, c-format
 msgid "materialized view \"%s\" has not been populated"
 msgstr "la vue matérialisée « %s » n'a pas été peuplée"
 
-#: executor/execUtils.c:833
+#: executor/execUtils.c:821
 #, c-format
 msgid "Use the REFRESH MATERIALIZED VIEW command."
 msgstr "Utilisez la commande REFRESH MATERIALIZED VIEW."
@@ -9710,84 +10578,97 @@ msgid "could not determine actual type of argument declared %s"
 msgstr "n'a pas pu déterminer le type actuel de l'argument déclaré %s"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:506
+#: executor/functions.c:508
 #, c-format
 msgid "%s is not allowed in a SQL function"
 msgstr "%s n'est pas autorisé dans une fonction SQL"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:513 executor/spi.c:1368 executor/spi.c:2158
+#: executor/functions.c:515 executor/spi.c:1368 executor/spi.c:2158
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s n'est pas autorisé dans une fonction non volatile"
 
-#: executor/functions.c:641
+#: executor/functions.c:643
 #, c-format
 msgid "could not determine actual result type for function declared to return type %s"
 msgstr ""
 "n'a pas pu déterminer le type du résultat actuel pour la fonction déclarant\n"
 "renvoyer le type %s"
 
-#: executor/functions.c:1405
+#: executor/functions.c:1408
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "fonction SQL « %s », instruction %d"
 
-#: executor/functions.c:1431
+#: executor/functions.c:1434
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "fonction SQL « %s » lors du lancement"
 
-#: executor/functions.c:1590 executor/functions.c:1627 executor/functions.c:1639 executor/functions.c:1752 executor/functions.c:1785 executor/functions.c:1815
+#: executor/functions.c:1593 executor/functions.c:1630
+#: executor/functions.c:1642 executor/functions.c:1755
+#: executor/functions.c:1788 executor/functions.c:1818
 #, c-format
 msgid "return type mismatch in function declared to return %s"
 msgstr "le type de retour ne correspond pas à la fonction déclarant renvoyer %s"
 
-#: executor/functions.c:1592
+#: executor/functions.c:1595
 #, c-format
 msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING."
 msgstr ""
 "L'instruction finale de la fonction doit être un SELECT ou un\n"
 "INSERT/UPDATE/DELETE RETURNING."
 
-#: executor/functions.c:1629
+#: executor/functions.c:1632
 #, c-format
 msgid "Final statement must return exactly one column."
 msgstr "L'instruction finale doit renvoyer exactement une colonne."
 
-#: executor/functions.c:1641
+#: executor/functions.c:1644
 #, c-format
 msgid "Actual return type is %s."
 msgstr "Le code de retour réel est %s."
 
-#: executor/functions.c:1754
+#: executor/functions.c:1757
 #, c-format
 msgid "Final statement returns too many columns."
 msgstr "L'instruction finale renvoie beaucoup trop de colonnes."
 
-#: executor/functions.c:1787
+#: executor/functions.c:1790
 #, c-format
 msgid "Final statement returns %s instead of %s at column %d."
 msgstr "L'instruction finale renvoie %s au lieu de %s pour la colonne %d."
 
-#: executor/functions.c:1817
+#: executor/functions.c:1820
 #, c-format
 msgid "Final statement returns too few columns."
 msgstr "L'instruction finale renvoie trop peu de colonnes."
 
-#: executor/functions.c:1866
+#: executor/functions.c:1869
 #, c-format
 msgid "return type %s is not supported for SQL functions"
 msgstr "le type de retour %s n'est pas supporté pour les fonctions SQL"
 
-#: executor/nodeAgg.c:2450 executor/nodeWindowAgg.c:2286
+#: executor/nodeAgg.c:3011
+#, fuzzy, c-format
+#| msgid "final function with extra arguments must not be declared STRICT"
+msgid "combine function for aggregate %u must to be declared as strict"
+msgstr "la fonction finale avec des arguments supplémentaires ne doit pas être déclarée avec la clause STRICT"
+
+#: executor/nodeAgg.c:3056 executor/nodeWindowAgg.c:2289
 #, c-format
 msgid "aggregate %u needs to have compatible input type and transition type"
 msgstr ""
 "L'agrégat %u a besoin d'avoir un type en entrée compatible avec le type en\n"
 "transition"
 
-#: executor/nodeCustom.c:147 executor/nodeCustom.c:158
+#: executor/nodeAgg.c:3128 parser/parse_agg.c:597 parser/parse_agg.c:627
+#, c-format
+msgid "aggregate function calls cannot be nested"
+msgstr "les appels à la fonction d'agrégat ne peuvent pas être imbriqués"
+
+#: executor/nodeCustom.c:148 executor/nodeCustom.c:159
 #, c-format
 msgid "custom scan \"%s\" does not support MarkPos"
 msgstr "le parcours personnalisé « %s » ne supporte pas MarkPos"
@@ -9849,12 +10730,12 @@ msgstr ""
 msgid "Query has too few columns."
 msgstr "La requête n'a pas assez de colonnes."
 
-#: executor/nodeModifyTable.c:1103
+#: executor/nodeModifyTable.c:1117
 #, c-format
 msgid "ON CONFLICT DO UPDATE command cannot affect row a second time"
 msgstr "la commande ON CONFLICT DO UPDATE ne peut pas affecter une ligne la deuxième fois"
 
-#: executor/nodeModifyTable.c:1104
+#: executor/nodeModifyTable.c:1118
 #, c-format
 msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values."
 msgstr "S'assure qu'aucune ligne proposée à l'insertion dans la même commande n'a de valeurs contraintes dupliquées."
@@ -9869,7 +10750,8 @@ msgstr "le param
 msgid "TABLESAMPLE REPEATABLE parameter cannot be null"
 msgstr "le paramètre TABLESAMPLE REPEATABLE ne peut pas être NULL"
 
-#: executor/nodeSubplan.c:345 executor/nodeSubplan.c:384 executor/nodeSubplan.c:1040
+#: executor/nodeSubplan.c:345 executor/nodeSubplan.c:384
+#: executor/nodeSubplan.c:1040
 #, c-format
 msgid "more than one row returned by a subquery used as an expression"
 msgstr "plus d'une ligne renvoyée par une sous-requête utilisée comme une expression"
@@ -9935,303 +10817,305 @@ msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE n'est pas support
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Les curseurs déplaçables doivent être en lecture seule (READ ONLY)."
 
-#: executor/spi.c:2450
+#: executor/spi.c:2459
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "instruction SQL « %s »"
 
-#: foreign/foreign.c:192
+#: foreign/foreign.c:314
 #, c-format
 msgid "user mapping not found for \"%s\""
 msgstr "correspondance utilisateur non trouvée pour « %s »"
 
-#: foreign/foreign.c:643
+#: foreign/foreign.c:750
 #, c-format
 msgid "invalid option \"%s\""
 msgstr "option « %s » invalide"
 
-#: foreign/foreign.c:644
+#: foreign/foreign.c:751
 #, c-format
 msgid "Valid options in this context are: %s"
 msgstr "Les options valides dans ce contexte sont %s"
 
-#: gram.y:1009
+#: gram.y:1004
 #, c-format
 msgid "unrecognized role option \"%s\""
 msgstr "option « %s » du rôle non reconnu"
 
-#: gram.y:1285 gram.y:1300
+#: gram.y:1280 gram.y:1295
 #, c-format
 msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements"
 msgstr "CREATE SCHEMA IF NOT EXISTS n'inclut pas les éléments du schéma"
 
-#: gram.y:1445
+#: gram.y:1440
 #, c-format
 msgid "current database cannot be changed"
 msgstr "la base de données actuelle ne peut pas être changée"
 
-#: gram.y:1569
+#: gram.y:1564
 #, c-format
 msgid "time zone interval must be HOUR or HOUR TO MINUTE"
 msgstr "l'intervalle de fuseau horaire doit être HOUR ou HOUR TO MINUTE"
 
-#: gram.y:2584 gram.y:2613
+#: gram.y:2602 gram.y:2631
 #, c-format
 msgid "STDIN/STDOUT not allowed with PROGRAM"
 msgstr "STDIN/STDOUT non autorisé dans PROGRAM"
 
-#: gram.y:2879 gram.y:2886 gram.y:10153 gram.y:10161
+#: gram.y:2897 gram.y:2904 gram.y:10275 gram.y:10283
 #, c-format
 msgid "GLOBAL is deprecated in temporary table creation"
 msgstr "GLOBAL est obsolète dans la création de la table temporaire"
 
-#: gram.y:3325 utils/adt/ri_triggers.c:316 utils/adt/ri_triggers.c:373 utils/adt/ri_triggers.c:792 utils/adt/ri_triggers.c:1015 utils/adt/ri_triggers.c:1171 utils/adt/ri_triggers.c:1352 utils/adt/ri_triggers.c:1517 utils/adt/ri_triggers.c:1693 utils/adt/ri_triggers.c:1873 utils/adt/ri_triggers.c:2064 utils/adt/ri_triggers.c:2122 utils/adt/ri_triggers.c:2227 utils/adt/ri_triggers.c:2404
+#: gram.y:3345 utils/adt/ri_triggers.c:316 utils/adt/ri_triggers.c:373
+#: utils/adt/ri_triggers.c:792 utils/adt/ri_triggers.c:1015
+#: utils/adt/ri_triggers.c:1171 utils/adt/ri_triggers.c:1352
+#: utils/adt/ri_triggers.c:1517 utils/adt/ri_triggers.c:1693
+#: utils/adt/ri_triggers.c:1873 utils/adt/ri_triggers.c:2064
+#: utils/adt/ri_triggers.c:2122 utils/adt/ri_triggers.c:2227
+#: utils/adt/ri_triggers.c:2404
 #, c-format
 msgid "MATCH PARTIAL not yet implemented"
 msgstr "MATCH PARTIAL non implémenté"
 
-#: gram.y:4759
+#: gram.y:4800
 msgid "duplicate trigger events specified"
 msgstr "événements de trigger dupliqués spécifiés"
 
-#: gram.y:4852 parser/parse_utilcmd.c:2657 parser/parse_utilcmd.c:2683
+#: gram.y:4893 parser/parse_utilcmd.c:2741 parser/parse_utilcmd.c:2767
 #, c-format
 msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
 msgstr "la contrainte déclarée INITIALLY DEFERRED doit être DEFERRABLE"
 
-#: gram.y:4859
+#: gram.y:4900
 #, c-format
 msgid "conflicting constraint properties"
 msgstr "propriétés de contrainte en conflit"
 
-#: gram.y:4991
+#: gram.y:5032
 #, c-format
 msgid "CREATE ASSERTION is not yet implemented"
 msgstr "CREATE ASSERTION n'est pas encore implémenté"
 
-#: gram.y:5007
+#: gram.y:5048
 #, c-format
 msgid "DROP ASSERTION is not yet implemented"
 msgstr "DROP ASSERTION n'est pas encore implémenté"
 
-#: gram.y:5353
+#: gram.y:5394
 #, c-format
 msgid "RECHECK is no longer required"
 msgstr "RECHECK n'est plus nécessaire"
 
-#: gram.y:5354
+#: gram.y:5395
 #, c-format
 msgid "Update your data type."
 msgstr "Mettez à jour votre type de données."
 
-#: gram.y:6931
+#: gram.y:6973
 #, c-format
 msgid "aggregates cannot have output arguments"
 msgstr "les agrégats ne peuvent pas avoir d'arguments en sortie"
 
-#: gram.y:7246 utils/adt/regproc.c:774 utils/adt/regproc.c:815
+#: gram.y:7292 utils/adt/regproc.c:774 utils/adt/regproc.c:815
 #, c-format
 msgid "missing argument"
 msgstr "argument manquant"
 
-#: gram.y:7247 utils/adt/regproc.c:775 utils/adt/regproc.c:816
+#: gram.y:7293 utils/adt/regproc.c:775 utils/adt/regproc.c:816
 #, c-format
 msgid "Use NONE to denote the missing argument of a unary operator."
 msgstr "Utilisez NONE pour dénoter l'argument manquant d'un opérateur unitaire."
 
-#: gram.y:8721 gram.y:8739
+#: gram.y:8843 gram.y:8861
 #, c-format
 msgid "WITH CHECK OPTION not supported on recursive views"
 msgstr "WITH CHECK OPTION non supporté sur les vues récursives"
 
-#: gram.y:9745 parser/parse_expr.c:1468
+#: gram.y:9867 parser/parse_expr.c:1476
 #, c-format
 msgid "number of columns does not match number of values"
 msgstr "le nombre de colonnes ne correspond pas au nombre de valeurs"
 
-#: gram.y:10261
+#: gram.y:10383
 #, c-format
 msgid "LIMIT #,# syntax is not supported"
 msgstr "la syntaxe LIMIT #,# n'est pas supportée"
 
-#: gram.y:10262
+#: gram.y:10384
 #, c-format
 msgid "Use separate LIMIT and OFFSET clauses."
 msgstr "Utilisez les clauses séparées LIMIT et OFFSET."
 
-#: gram.y:10525 gram.y:10550
+#: gram.y:10647 gram.y:10672
 #, c-format
 msgid "VALUES in FROM must have an alias"
 msgstr "VALUES dans FROM doit avoir un alias"
 
-#: gram.y:10526 gram.y:10551
+#: gram.y:10648 gram.y:10673
 #, c-format
 msgid "For example, FROM (VALUES ...) [AS] foo."
 msgstr "Par exemple, FROM (VALUES ...) [AS] quelquechose."
 
-#: gram.y:10531 gram.y:10556
+#: gram.y:10653 gram.y:10678
 #, c-format
 msgid "subquery in FROM must have an alias"
 msgstr "la sous-requête du FROM doit avoir un alias"
 
-#: gram.y:10532 gram.y:10557
+#: gram.y:10654 gram.y:10679
 #, c-format
 msgid "For example, FROM (SELECT ...) [AS] foo."
 msgstr "Par exemple, FROM (SELECT...) [AS] quelquechose."
 
-#: gram.y:11131
+#: gram.y:11253
 #, c-format
 msgid "precision for type float must be at least 1 bit"
 msgstr "la précision du type float doit être d'au moins un bit"
 
-#: gram.y:11140
+#: gram.y:11262
 #, c-format
 msgid "precision for type float must be less than 54 bits"
 msgstr "la précision du type float doit être inférieur à 54 bits"
 
-#: gram.y:11644
+#: gram.y:11766
 #, c-format
 msgid "wrong number of parameters on left side of OVERLAPS expression"
 msgstr "mauvais nombre de paramètres sur le côté gauche de l'expression OVERLAPS"
 
-#: gram.y:11649
+#: gram.y:11771
 #, c-format
 msgid "wrong number of parameters on right side of OVERLAPS expression"
 msgstr "mauvais nombre de paramètres sur le côté droit de l'expression OVERLAPS"
 
-#: gram.y:11826
+#: gram.y:11948
 #, c-format
 msgid "UNIQUE predicate is not yet implemented"
 msgstr "prédicat UNIQUE non implémenté"
 
-#: gram.y:12158
+#: gram.y:12280
 #, c-format
 msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP"
 msgstr "ne peut pas utiliser des clauses ORDER BY multiples dans WITHIN GROUP"
 
-#: gram.y:12163
+#: gram.y:12285
 #, c-format
 msgid "cannot use DISTINCT with WITHIN GROUP"
 msgstr "ne peut pas utiliser DISTINCT avec WITHIN GROUP"
 
-#: gram.y:12168
+#: gram.y:12290
 #, c-format
 msgid "cannot use VARIADIC with WITHIN GROUP"
 msgstr "ne peut pas utiliser VARIADIC avec WITHIN GROUP"
 
-#: gram.y:12674
+#: gram.y:12796
 #, c-format
 msgid "RANGE PRECEDING is only supported with UNBOUNDED"
 msgstr "RANGE PRECEDING est seulement supporté avec UNBOUNDED"
 
-#: gram.y:12680
+#: gram.y:12802
 #, c-format
 msgid "RANGE FOLLOWING is only supported with UNBOUNDED"
 msgstr "RANGE FOLLOWING est seulement supporté avec UNBOUNDED"
 
-#: gram.y:12707 gram.y:12730
+#: gram.y:12829 gram.y:12852
 #, c-format
 msgid "frame start cannot be UNBOUNDED FOLLOWING"
 msgstr "la fin du frame ne peut pas être UNBOUNDED FOLLOWING"
 
-#: gram.y:12712
+#: gram.y:12834
 #, c-format
 msgid "frame starting from following row cannot end with current row"
 msgstr "la frame commençant après la ligne suivante ne peut pas se terminer avec la ligne actuelle"
 
-#: gram.y:12735
+#: gram.y:12857
 #, c-format
 msgid "frame end cannot be UNBOUNDED PRECEDING"
 msgstr "la fin du frame ne peut pas être UNBOUNDED PRECEDING"
 
-#: gram.y:12741
+#: gram.y:12863
 #, c-format
 msgid "frame starting from current row cannot have preceding rows"
 msgstr "la frame commençant à la ligne courante ne peut pas avoir des lignes précédentes"
 
-#: gram.y:12748
+#: gram.y:12870
 #, c-format
 msgid "frame starting from following row cannot have preceding rows"
 msgstr "la frame commençant à la ligne suivante ne peut pas avoir des lignes précédentes"
 
-#: gram.y:13406
+#: gram.y:13535
 #, c-format
 msgid "type modifier cannot have parameter name"
 msgstr "le modificateur de type ne peut pas avoir de nom de paramètre"
 
-#: gram.y:13412
+#: gram.y:13541
 #, c-format
 msgid "type modifier cannot have ORDER BY"
 msgstr "le modificateur de type ne peut pas avoir de clause ORDER BY"
 
-#: gram.y:13470 gram.y:13505
-#, c-format
-msgid "role name \"%s\" is reserved"
-msgstr "le nom du rôle « %s » est réservé"
-
-#: gram.y:13476 gram.y:13482
+#: gram.y:13605 gram.y:13611
 #, c-format
 msgid "%s cannot be used as a role name here"
 msgstr "%s ne peut pas être utilisé comme nom de rôle ici"
 
-#: gram.y:14101 gram.y:14290
+#: gram.y:14233 gram.y:14422
 msgid "improper use of \"*\""
 msgstr "mauvaise utilisation de « * »"
 
-#: gram.y:14253 gram.y:14270 tsearch/spell.c:654 tsearch/spell.c:671 tsearch/spell.c:688 tsearch/spell.c:705 tsearch/spell.c:727
+#: gram.y:14385 gram.y:14402 tsearch/spell.c:954 tsearch/spell.c:971
+#: tsearch/spell.c:988 tsearch/spell.c:1005 tsearch/spell.c:1070
 #, c-format
 msgid "syntax error"
 msgstr "erreur de syntaxe"
 
-#: gram.y:14354
+#: gram.y:14486
 #, c-format
 msgid "an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"
 msgstr "un agrégat par ensemble ordonné avec un argument VARIADIC direct doit avoir un argument VARIADIC agrégé du même type de données"
 
-#: gram.y:14391
+#: gram.y:14523
 #, c-format
 msgid "multiple ORDER BY clauses not allowed"
 msgstr "clauses ORDER BY multiples non autorisées"
 
-#: gram.y:14402
+#: gram.y:14534
 #, c-format
 msgid "multiple OFFSET clauses not allowed"
 msgstr "clauses OFFSET multiples non autorisées"
 
-#: gram.y:14411
+#: gram.y:14543
 #, c-format
 msgid "multiple LIMIT clauses not allowed"
 msgstr "clauses LIMIT multiples non autorisées"
 
-#: gram.y:14420
+#: gram.y:14552
 #, c-format
 msgid "multiple WITH clauses not allowed"
 msgstr "clauses WITH multiples non autorisées"
 
-#: gram.y:14600
+#: gram.y:14732
 #, c-format
 msgid "OUT and INOUT arguments aren't allowed in TABLE functions"
 msgstr "les arguments OUT et INOUT ne sont pas autorisés dans des fonctions TABLE"
 
-#: gram.y:14701
+#: gram.y:14833
 #, c-format
 msgid "multiple COLLATE clauses not allowed"
 msgstr "clauses COLLATE multiples non autorisées"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:14739 gram.y:14752
+#: gram.y:14871 gram.y:14884
 #, c-format
 msgid "%s constraints cannot be marked DEFERRABLE"
 msgstr "les contraintes %s ne peuvent pas être marquées comme DEFERRABLE"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:14765
+#: gram.y:14897
 #, c-format
 msgid "%s constraints cannot be marked NOT VALID"
 msgstr "les contraintes %s ne peuvent pas être marquées comme NOT VALID"
 
 #. translator: %s is CHECK, UNIQUE, or similar
-#: gram.y:14778
+#: gram.y:14910
 #, c-format
 msgid "%s constraints cannot be marked NO INHERIT"
 msgstr "les contraintes %s ne peuvent pas être marquées NO INHERIT"
@@ -10241,7 +11125,9 @@ msgstr "les contraintes %s ne peuvent pas 
 msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %u"
 msgstr "paramètre de configuration « %s » non reconnu dans le fichier « %s », ligne %u"
 
-#: guc-file.l:352 utils/misc/guc.c:5720 utils/misc/guc.c:5912 utils/misc/guc.c:6002 utils/misc/guc.c:6092 utils/misc/guc.c:6200 utils/misc/guc.c:6295
+#: guc-file.l:352 utils/misc/guc.c:5893 utils/misc/guc.c:6085
+#: utils/misc/guc.c:6175 utils/misc/guc.c:6265 utils/misc/guc.c:6373
+#: utils/misc/guc.c:6468
 #, c-format
 msgid "parameter \"%s\" cannot be changed without restarting the server"
 msgstr "le paramètre « %s » ne peut pas être modifié sans redémarrer le serveur"
@@ -10280,7 +11166,7 @@ msgstr ""
 "n'a pas pu ouvrir le fichier de configuration « %s » : profondeur\n"
 "d'imbrication dépassé"
 
-#: guc-file.l:595 libpq/hba.c:1764
+#: guc-file.l:595 libpq/hba.c:1808
 #, c-format
 msgid "could not open configuration file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier de configuration « %s » : %m"
@@ -10315,515 +11201,549 @@ msgstr "n'a pas pu ouvrir le r
 msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes."
 msgstr "Ne peut pas agrandir de %d octets le tampon de chaîne contenant déjà %d octets"
 
-#: libpq/auth.c:235
+#: libpq/auth.c:251
 #, c-format
 msgid "authentication failed for user \"%s\": host rejected"
 msgstr "authentification échouée pour l'utilisateur « %s » : hôte rejeté"
 
-#: libpq/auth.c:238
+#: libpq/auth.c:254
 #, c-format
 msgid "\"trust\" authentication failed for user \"%s\""
 msgstr "authentification « trust » échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:241
+#: libpq/auth.c:257
 #, c-format
 msgid "Ident authentication failed for user \"%s\""
 msgstr "authentification Ident échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:244
+#: libpq/auth.c:260
 #, c-format
 msgid "Peer authentication failed for user \"%s\""
 msgstr "authentification peer échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:248
+#: libpq/auth.c:264
 #, c-format
 msgid "password authentication failed for user \"%s\""
 msgstr "authentification par mot de passe échouée pour l'utilisateur  « %s »"
 
-#: libpq/auth.c:253
+#: libpq/auth.c:269
 #, c-format
 msgid "GSSAPI authentication failed for user \"%s\""
 msgstr "authentification GSSAPI échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:256
+#: libpq/auth.c:272
 #, c-format
 msgid "SSPI authentication failed for user \"%s\""
 msgstr "authentification SSPI échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:259
+#: libpq/auth.c:275
 #, c-format
 msgid "PAM authentication failed for user \"%s\""
 msgstr "authentification PAM échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:262
+#: libpq/auth.c:278
+#, fuzzy, c-format
+#| msgid "SSPI authentication failed for user \"%s\""
+msgid "BSD authentication failed for user \"%s\""
+msgstr "authentification SSPI échouée pour l'utilisateur « %s »"
+
+#: libpq/auth.c:281
 #, c-format
 msgid "LDAP authentication failed for user \"%s\""
 msgstr "authentification LDAP échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:265
+#: libpq/auth.c:284
 #, c-format
 msgid "certificate authentication failed for user \"%s\""
 msgstr "authentification par le certificat échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:268
+#: libpq/auth.c:287
 #, c-format
 msgid "RADIUS authentication failed for user \"%s\""
 msgstr "authentification RADIUS échouée pour l'utilisateur « %s »"
 
-#: libpq/auth.c:271
+#: libpq/auth.c:290
 #, c-format
 msgid "authentication failed for user \"%s\": invalid authentication method"
 msgstr ""
 "authentification échouée pour l'utilisateur « %s » :\n"
 "méthode d'authentification invalide"
 
-#: libpq/auth.c:275
+#: libpq/auth.c:294
 #, c-format
 msgid "Connection matched pg_hba.conf line %d: \"%s\""
 msgstr "La connexion correspond à la ligne %d du pg_hba.conf : « %s »"
 
-#: libpq/auth.c:330
+#: libpq/auth.c:349
 #, c-format
 msgid "connection requires a valid client certificate"
 msgstr "la connexion requiert un certificat client valide"
 
-#: libpq/auth.c:372
+#: libpq/auth.c:391
 #, c-format
 msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s"
 msgstr ""
 "pg_hba.conf rejette la connexion de la réplication pour l'hôte « %s »,\n"
 "utilisateur « %s », %s"
 
-#: libpq/auth.c:374 libpq/auth.c:390 libpq/auth.c:448 libpq/auth.c:466
+#: libpq/auth.c:393 libpq/auth.c:409 libpq/auth.c:467 libpq/auth.c:485
 msgid "SSL off"
 msgstr "SSL inactif"
 
-#: libpq/auth.c:374 libpq/auth.c:390 libpq/auth.c:448 libpq/auth.c:466
+#: libpq/auth.c:393 libpq/auth.c:409 libpq/auth.c:467 libpq/auth.c:485
 msgid "SSL on"
 msgstr "SSL actif"
 
-#: libpq/auth.c:378
+#: libpq/auth.c:397
 #, c-format
 msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\""
 msgstr ""
 "pg_hba.conf rejette la connexion de la réplication pour l'hôte « %s »,\n"
 "utilisateur « %s »"
 
-#: libpq/auth.c:387
+#: libpq/auth.c:406
 #, c-format
 msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\", %s"
 msgstr ""
 "pg_hba.conf rejette la connexion pour l'hôte « %s », utilisateur « %s », base\n"
 "de données « %s », %s"
 
-#: libpq/auth.c:394
+#: libpq/auth.c:413
 #, c-format
 msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\""
 msgstr ""
 "pg_hba.conf rejette la connexion pour l'hôte « %s », utilisateur « %s », base\n"
 "de données « %s »"
 
-#: libpq/auth.c:423
+#: libpq/auth.c:442
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup matches."
 msgstr "Adresse IP du client résolue en « %s », la recherche inverse correspond bien."
 
-#: libpq/auth.c:426
+#: libpq/auth.c:445
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup not checked."
 msgstr "Adresse IP du client résolue en « %s », la recherche inverse n'est pas vérifiée."
 
-#: libpq/auth.c:429
+#: libpq/auth.c:448
 #, c-format
 msgid "Client IP address resolved to \"%s\", forward lookup does not match."
 msgstr "Adresse IP du client résolue en « %s », la recherche inverse ne correspond pas."
 
-#: libpq/auth.c:432
+#: libpq/auth.c:451
 #, c-format
 msgid "Could not translate client host name \"%s\" to IP address: %s."
 msgstr "N'a pas pu traduire le nom d'hôte « %s » du client en adresse IP : %s."
 
-#: libpq/auth.c:437
+#: libpq/auth.c:456
 #, c-format
 msgid "Could not resolve client IP address to a host name: %s."
 msgstr "N'a pas pu résoudre l'adresse IP du client à partir du nom d'hôte : %s."
 
-#: libpq/auth.c:446
+#: libpq/auth.c:465
 #, c-format
 msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\", %s"
 msgstr ""
 "aucune entrée dans pg_hba.conf pour la connexion de la réplication à partir de\n"
 "l'hôte « %s », utilisateur « %s », %s"
 
-#: libpq/auth.c:453
+#: libpq/auth.c:472
 #, c-format
 msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\""
 msgstr ""
 "aucune entrée dans pg_hba.conf pour la connexion de la réplication à partir de\n"
 "l'hôte « %s », utilisateur « %s »"
 
-#: libpq/auth.c:463
+#: libpq/auth.c:482
 #, c-format
 msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s"
 msgstr ""
 "aucune entrée dans pg_hba.conf pour l'hôte « %s », utilisateur « %s »,\n"
 "base de données « %s », %s"
 
-#: libpq/auth.c:471
+#: libpq/auth.c:490
 #, c-format
 msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\""
 msgstr ""
 "aucune entrée dans pg_hba.conf pour l'hôte « %s », utilisateur « %s »,\n"
 "base de données « %s »"
 
-#: libpq/auth.c:514 libpq/hba.c:1180
+#: libpq/auth.c:533 libpq/hba.c:1180
 #, c-format
 msgid "MD5 authentication is not supported when \"db_user_namespace\" is enabled"
 msgstr "l'authentification MD5 n'est pas supportée quand « db_user_namespace » est activé"
 
-#: libpq/auth.c:640
+#: libpq/auth.c:667
 #, c-format
 msgid "expected password response, got message type %d"
 msgstr "en attente du mot de passe, a reçu un type de message %d"
 
-#: libpq/auth.c:668
+#: libpq/auth.c:695
 #, c-format
 msgid "invalid password packet size"
 msgstr "taille du paquet du mot de passe invalide"
 
-#: libpq/auth.c:798
+#: libpq/auth.c:825
 #, c-format
 msgid "GSSAPI is not supported in protocol version 2"
 msgstr "GSSAPI n'est pas supporté dans le protocole de version 2"
 
-#: libpq/auth.c:858
+#: libpq/auth.c:885
 #, c-format
 msgid "expected GSS response, got message type %d"
 msgstr "en attente d'une réponse GSS, a reçu un message de type %d"
 
-#: libpq/auth.c:919
+#: libpq/auth.c:946
 msgid "accepting GSS security context failed"
 msgstr "échec de l'acceptation du contexte de sécurité GSS"
 
-#: libpq/auth.c:945
+#: libpq/auth.c:972
 msgid "retrieving GSS user name failed"
 msgstr "échec lors de la récupération du nom de l'utilisateur avec GSS"
 
-#: libpq/auth.c:1062
+#: libpq/auth.c:1091
 #, c-format
 msgid "SSPI is not supported in protocol version 2"
 msgstr "SSPI n'est pas supporté dans le protocole de version 2"
 
-#: libpq/auth.c:1077
+#: libpq/auth.c:1106
 msgid "could not acquire SSPI credentials"
 msgstr "n'a pas pu obtenir les pièces d'identité SSPI"
 
-#: libpq/auth.c:1095
+#: libpq/auth.c:1124
 #, c-format
 msgid "expected SSPI response, got message type %d"
 msgstr "en attente d'une réponse SSPI, a reçu un message de type %d"
 
-#: libpq/auth.c:1167
+#: libpq/auth.c:1196
 msgid "could not accept SSPI security context"
 msgstr "n'a pas pu accepter le contexte de sécurité SSPI"
 
-#: libpq/auth.c:1229
+#: libpq/auth.c:1258
 msgid "could not get token from SSPI security context"
 msgstr "n'a pas pu obtenir le jeton du contexte de sécurité SSPI"
 
-#: libpq/auth.c:1476
+#: libpq/auth.c:1377 libpq/auth.c:1396
+#, fuzzy, c-format
+#| msgid "could not parse file name \"%s\""
+msgid "could not translate name"
+msgstr "n'a pas pu analyser le mode du fichier « %s »"
+
+#: libpq/auth.c:1409
+#, fuzzy, c-format
+#| msgid "channel name too long"
+msgid "realm name too long"
+msgstr "nom du canal trop long"
+
+#: libpq/auth.c:1424
+#, fuzzy, c-format
+#| msgid "encoding name too long"
+msgid "translated account name too long"
+msgstr "nom d'encodage trop long"
+
+#: libpq/auth.c:1610
 #, c-format
 msgid "could not create socket for Ident connection: %m"
 msgstr "n'a pas pu créer le socket pour la connexion Ident : %m"
 
-#: libpq/auth.c:1491
+#: libpq/auth.c:1625
 #, c-format
 msgid "could not bind to local address \"%s\": %m"
 msgstr "n'a pas pu se lier à l'adresse locale « %s » : %m"
 
-#: libpq/auth.c:1503
+#: libpq/auth.c:1637
 #, c-format
 msgid "could not connect to Ident server at address \"%s\", port %s: %m"
 msgstr "n'a pas pu se connecter au serveur Ident à l'adresse « %s », port %s : %m"
 
-#: libpq/auth.c:1525
+#: libpq/auth.c:1659
 #, c-format
 msgid "could not send query to Ident server at address \"%s\", port %s: %m"
 msgstr "n'a pas pu envoyer la requête au serveur Ident à l'adresse « %s », port %s : %m"
 
-#: libpq/auth.c:1542
+#: libpq/auth.c:1676
 #, c-format
 msgid "could not receive response from Ident server at address \"%s\", port %s: %m"
 msgstr ""
 "n'a pas pu recevoir la réponse du serveur Ident à l'adresse « %s », port %s :\n"
 "%m"
 
-#: libpq/auth.c:1552
+#: libpq/auth.c:1686
 #, c-format
 msgid "invalidly formatted response from Ident server: \"%s\""
 msgstr "réponse mal formatée du serveur Ident : « %s »"
 
-#: libpq/auth.c:1592
+#: libpq/auth.c:1726
 #, c-format
 msgid "peer authentication is not supported on this platform"
 msgstr "la méthode d'authentification «peer n'est pas supportée sur cette plateforme"
 
-#: libpq/auth.c:1596
+#: libpq/auth.c:1730
 #, c-format
 msgid "could not get peer credentials: %m"
 msgstr "n'a pas pu obtenir l'authentification de l'autre : %m"
 
-#: libpq/auth.c:1605
+#: libpq/auth.c:1739
 #, c-format
 msgid "could not look up local user ID %ld: %s"
 msgstr "n'a pas pu rechercher l'identifiant %ld de l'utilisateur local : %s"
 
-#: libpq/auth.c:1689 libpq/auth.c:1960 libpq/auth.c:2316
+#: libpq/auth.c:1823 libpq/auth.c:2149 libpq/auth.c:2509
 #, c-format
 msgid "empty password returned by client"
 msgstr "mot de passe vide renvoyé par le client"
 
-#: libpq/auth.c:1699
+#: libpq/auth.c:1833
 #, c-format
 msgid "error from underlying PAM layer: %s"
 msgstr "erreur provenant de la couche PAM : %s"
 
-#: libpq/auth.c:1768
+#: libpq/auth.c:1914
 #, c-format
 msgid "could not create PAM authenticator: %s"
 msgstr "n'a pas pu créer l'authenticateur PAM : %s"
 
-#: libpq/auth.c:1779
+#: libpq/auth.c:1925
 #, c-format
 msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr "pam_set_item(PAM_USER) a échoué : %s"
 
-#: libpq/auth.c:1790
+#: libpq/auth.c:1936
+#, fuzzy, c-format
+#| msgid "pam_set_item(PAM_USER) failed: %s"
+msgid "pam_set_item(PAM_RHOST) failed: %s"
+msgstr "pam_set_item(PAM_USER) a échoué : %s"
+
+#: libpq/auth.c:1947
 #, c-format
 msgid "pam_set_item(PAM_CONV) failed: %s"
 msgstr "pam_set_item(PAM_CONV) a échoué : %s"
 
-#: libpq/auth.c:1801
+#: libpq/auth.c:1958
 #, c-format
 msgid "pam_authenticate failed: %s"
 msgstr "pam_authenticate a échoué : %s"
 
-#: libpq/auth.c:1812
+#: libpq/auth.c:1969
 #, c-format
 msgid "pam_acct_mgmt failed: %s"
 msgstr "pam_acct_mgmt a échoué : %s"
 
-#: libpq/auth.c:1823
+#: libpq/auth.c:1980
 #, c-format
 msgid "could not release PAM authenticator: %s"
 msgstr "n'a pas pu fermer l'authenticateur PAM : %s"
 
-#: libpq/auth.c:1856
+#: libpq/auth.c:2045
 #, c-format
 msgid "could not initialize LDAP: %m"
 msgstr "n'a pas pu initialiser LDAP : %m"
 
-#: libpq/auth.c:1859
+#: libpq/auth.c:2048
 #, c-format
 msgid "could not initialize LDAP: error code %d"
 msgstr "n'a pas pu initialiser LDAP : code d'erreur %d"
 
-#: libpq/auth.c:1869
+#: libpq/auth.c:2058
 #, c-format
 msgid "could not set LDAP protocol version: %s"
 msgstr "n'a pas pu initialiser la version du protocole LDAP : %s"
 
-#: libpq/auth.c:1898
+#: libpq/auth.c:2087
 #, c-format
 msgid "could not load wldap32.dll"
 msgstr "n'a pas pu charger wldap32.dll"
 
-#: libpq/auth.c:1906
+#: libpq/auth.c:2095
 #, c-format
 msgid "could not load function _ldap_start_tls_sA in wldap32.dll"
 msgstr "n'a pas pu charger la fonction _ldap_start_tls_sA de wldap32.dll"
 
-#: libpq/auth.c:1907
+#: libpq/auth.c:2096
 #, c-format
 msgid "LDAP over SSL is not supported on this platform."
 msgstr "LDAP via SSL n'est pas supporté sur cette plateforme."
 
-#: libpq/auth.c:1922
+#: libpq/auth.c:2111
 #, c-format
 msgid "could not start LDAP TLS session: %s"
 msgstr "n'a pas pu démarrer la session TLS LDAP : %s"
 
-#: libpq/auth.c:1944
+#: libpq/auth.c:2133
 #, c-format
 msgid "LDAP server not specified"
 msgstr "serveur LDAP non précisé"
 
-#: libpq/auth.c:1997
+#: libpq/auth.c:2186
 #, c-format
 msgid "invalid character in user name for LDAP authentication"
 msgstr "caractère invalide dans le nom de l'utilisateur pour l'authentification LDAP"
 
-#: libpq/auth.c:2012
+#: libpq/auth.c:2201
 #, c-format
 msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s"
 msgstr "n'a pas pu réaliser le lien LDAP initiale pour ldapbinddn « %s » sur le serveur « %s » : %s"
 
-#: libpq/auth.c:2036
+#: libpq/auth.c:2225
 #, c-format
 msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s"
 msgstr "n'a pas pu rechercher dans LDAP pour filtrer « %s » sur le serveur « %s » : %s"
 
-#: libpq/auth.c:2047
+#: libpq/auth.c:2236
 #, c-format
 msgid "LDAP user \"%s\" does not exist"
 msgstr "l'utilisateur LDAP « %s » n'existe pas"
 
-#: libpq/auth.c:2048
+#: libpq/auth.c:2237
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries."
 msgstr "la recherche LDAP pour le filtre « %s » sur le serveur « %s » n'a renvoyé aucun enregistrement."
 
-#: libpq/auth.c:2052
+#: libpq/auth.c:2241
 #, c-format
 msgid "LDAP user \"%s\" is not unique"
 msgstr "l'utilisateur LDAP « %s » n'est pas unique"
 
-#: libpq/auth.c:2053
+#: libpq/auth.c:2242
 #, c-format
 msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry."
 msgid_plural "LDAP search for filter \"%s\" on server \"%s\" returned %d entries."
 msgstr[0] "la recherche LDAP pour le filtre « %s » sur le serveur « %s » a renvoyé %d enregistrement."
 msgstr[1] "la recherche LDAP pour le filtre « %s » sur le serveur « %s » a renvoyé %d enregistrements."
 
-#: libpq/auth.c:2071
+#: libpq/auth.c:2260
 #, c-format
 msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s"
 msgstr ""
 "n'a pas pu obtenir le dn pour la première entrée correspondante « %s » sur\n"
 "le serveur « %s » : %s"
 
-#: libpq/auth.c:2091
+#: libpq/auth.c:2280
 #, c-format
 msgid "could not unbind after searching for user \"%s\" on server \"%s\": %s"
 msgstr ""
 "n'a pas pu exécuter le unbind après la recherche de l'utilisateur « %s »\n"
 "sur le serveur « %s » : %s"
 
-#: libpq/auth.c:2121
+#: libpq/auth.c:2310
 #, c-format
 msgid "LDAP login failed for user \"%s\" on server \"%s\": %s"
 msgstr "échec de connexion LDAP pour l'utilisateur « %s » sur le serveur « %s » : %s"
 
-#: libpq/auth.c:2149
+#: libpq/auth.c:2338
 #, c-format
 msgid "certificate authentication failed for user \"%s\": client certificate contains no user name"
 msgstr ""
 "l'authentification par le certificat a échoué pour l'utilisateur « %s » :\n"
 "le certificat du client ne contient aucun nom d'utilisateur"
 
-#: libpq/auth.c:2272
+#: libpq/auth.c:2465
 #, c-format
 msgid "RADIUS server not specified"
 msgstr "serveur RADIUS non précisé"
 
-#: libpq/auth.c:2279
+#: libpq/auth.c:2472
 #, c-format
 msgid "RADIUS secret not specified"
 msgstr "secret RADIUS non précisé"
 
-#: libpq/auth.c:2295 libpq/hba.c:1590
+#: libpq/auth.c:2488 libpq/hba.c:1634
 #, c-format
 msgid "could not translate RADIUS server name \"%s\" to address: %s"
 msgstr "n'a pas pu traduire le nom du serveur RADIUS « %s » en une adresse : %s"
 
-#: libpq/auth.c:2323
-#, c-format
-msgid "RADIUS authentication does not support passwords longer than 16 characters"
+#: libpq/auth.c:2516
+#, fuzzy, c-format
+#| msgid "RADIUS authentication does not support passwords longer than 16 characters"
+msgid "RADIUS authentication does not support passwords longer than %d characters"
 msgstr ""
 "l'authentification RADIUS ne supporte pas les mots de passe de plus de 16\n"
 "caractères"
 
-#: libpq/auth.c:2334
+#: libpq/auth.c:2528
 #, c-format
 msgid "could not generate random encryption vector"
 msgstr "n'a pas pu générer le vecteur de chiffrement aléatoire"
 
-#: libpq/auth.c:2357
+#: libpq/auth.c:2563
 #, c-format
 msgid "could not perform MD5 encryption of password"
 msgstr "n'a pas pu réaliser le chiffrement MD5 du mot de passe"
 
-#: libpq/auth.c:2379
+#: libpq/auth.c:2588
 #, c-format
 msgid "could not create RADIUS socket: %m"
 msgstr "n'a pas pu créer le socket RADIUS : %m"
 
-#: libpq/auth.c:2400
+#: libpq/auth.c:2609
 #, c-format
 msgid "could not bind local RADIUS socket: %m"
 msgstr "n'a pas pu se lier à la socket RADIUS : %m"
 
-#: libpq/auth.c:2410
+#: libpq/auth.c:2619
 #, c-format
 msgid "could not send RADIUS packet: %m"
 msgstr "n'a pas pu transmettre le paquet RADIUS : %m"
 
-#: libpq/auth.c:2443 libpq/auth.c:2468
+#: libpq/auth.c:2652 libpq/auth.c:2677
 #, c-format
 msgid "timeout waiting for RADIUS response"
 msgstr "dépassement du délai pour la réponse du RADIUS"
 
-#: libpq/auth.c:2461
+#: libpq/auth.c:2670
 #, c-format
 msgid "could not check status on RADIUS socket: %m"
 msgstr "n'a pas pu vérifier le statut sur la socket RADIUS : %m"
 
-#: libpq/auth.c:2490
+#: libpq/auth.c:2699
 #, c-format
 msgid "could not read RADIUS response: %m"
 msgstr "n'a pas pu lire la réponse RADIUS : %m"
 
-#: libpq/auth.c:2502 libpq/auth.c:2506
+#: libpq/auth.c:2711 libpq/auth.c:2715
 #, c-format
 msgid "RADIUS response was sent from incorrect port: %d"
 msgstr "la réponse RADIUS a été envoyée à partir d'un mauvais port : %d"
 
-#: libpq/auth.c:2515
+#: libpq/auth.c:2724
 #, c-format
 msgid "RADIUS response too short: %d"
 msgstr "réponse RADIUS trop courte : %d"
 
-#: libpq/auth.c:2522
+#: libpq/auth.c:2731
 #, c-format
 msgid "RADIUS response has corrupt length: %d (actual length %d)"
 msgstr "la réponse RADIUS a une longueur corrompue : %d (longueur actuelle %d)"
 
-#: libpq/auth.c:2530
+#: libpq/auth.c:2739
 #, c-format
 msgid "RADIUS response is to a different request: %d (should be %d)"
 msgstr "la réponse RADIUS correspond à une demande différente : %d (devrait être %d)"
 
-#: libpq/auth.c:2555
+#: libpq/auth.c:2764
 #, c-format
 msgid "could not perform MD5 encryption of received packet"
 msgstr "n'a pas pu réaliser le chiffrement MD5 du paquet reçu"
 
-#: libpq/auth.c:2564
+#: libpq/auth.c:2773
 #, c-format
 msgid "RADIUS response has incorrect MD5 signature"
 msgstr "la réponse RADIUS a une signature MD5 erronée"
 
-#: libpq/auth.c:2581
+#: libpq/auth.c:2790
 #, c-format
 msgid "RADIUS response has invalid code (%d) for user \"%s\""
 msgstr "la réponse RADIUS a un code invalide (%d) pour l'utilisateur « %s »"
 
-#: libpq/be-fsstubs.c:134 libpq/be-fsstubs.c:165 libpq/be-fsstubs.c:199 libpq/be-fsstubs.c:239 libpq/be-fsstubs.c:264 libpq/be-fsstubs.c:312 libpq/be-fsstubs.c:335 libpq/be-fsstubs.c:583
+#: libpq/be-fsstubs.c:134 libpq/be-fsstubs.c:165 libpq/be-fsstubs.c:199
+#: libpq/be-fsstubs.c:239 libpq/be-fsstubs.c:264 libpq/be-fsstubs.c:312
+#: libpq/be-fsstubs.c:335 libpq/be-fsstubs.c:583
 #, c-format
 msgid "invalid large-object descriptor: %d"
 msgstr "descripteur invalide de « Large Object » : %d"
 
-#: libpq/be-fsstubs.c:180 libpq/be-fsstubs.c:218 libpq/be-fsstubs.c:602 libpq/be-fsstubs.c:790
+#: libpq/be-fsstubs.c:180 libpq/be-fsstubs.c:218 libpq/be-fsstubs.c:602
+#: libpq/be-fsstubs.c:790
 #, c-format
 msgid "permission denied for large object %u"
 msgstr "droit refusé pour le Large Object %u"
@@ -10908,122 +11828,158 @@ msgstr "n'a pas pu charger le fichier du certificat serveur 
 msgid "could not access private key file \"%s\": %m"
 msgstr "n'a pas pu accéder au fichier de la clé privée « %s » : %m"
 
-#: libpq/be-secure-openssl.c:221
+#: libpq/be-secure-openssl.c:212
+#, fuzzy, c-format
+#| msgid "%s: file \"%s\" is not a regular file\n"
+msgid "private key file \"%s\" is not a regular file"
+msgstr "%s : « %s » n'est pas un fichier\n"
+
+#: libpq/be-secure-openssl.c:224
+#, c-format
+msgid "private key file \"%s\" must be owned by the database user or root"
+msgstr ""
+
+#: libpq/be-secure-openssl.c:244
 #, c-format
 msgid "private key file \"%s\" has group or world access"
 msgstr ""
 "le fichier de clé privé « %s » est accessible par le groupe et/ou par les\n"
 "autres"
 
-#: libpq/be-secure-openssl.c:223
+#: libpq/be-secure-openssl.c:246
 #, c-format
-msgid "Permissions should be u=rw (0600) or less."
-msgstr "Les droits devraient être u=rwx (0600) ou inférieures."
+msgid "File must have permissions u=rw (0600) or less if owned by the database user, or permissions u=rw,g=r (0640) or less if owned by root."
+msgstr ""
 
-#: libpq/be-secure-openssl.c:230
+#: libpq/be-secure-openssl.c:253
 #, c-format
 msgid "could not load private key file \"%s\": %s"
 msgstr "n'a pas pu charger le fichier de clé privée « %s » : %s"
 
-#: libpq/be-secure-openssl.c:235
+#: libpq/be-secure-openssl.c:258
 #, c-format
 msgid "check of private key failed: %s"
 msgstr "échec de la vérification de la clé privée : %s"
 
-#: libpq/be-secure-openssl.c:264
+#: libpq/be-secure-openssl.c:287
 #, c-format
 msgid "could not load root certificate file \"%s\": %s"
 msgstr "n'a pas pu charger le fichier du certificat racine « %s » : %s"
 
-#: libpq/be-secure-openssl.c:288
+#: libpq/be-secure-openssl.c:311
 #, c-format
 msgid "SSL certificate revocation list file \"%s\" ignored"
 msgstr "liste de révocation des certificats SSL « %s » ignorée"
 
-#: libpq/be-secure-openssl.c:290
+#: libpq/be-secure-openssl.c:313
 #, c-format
 msgid "SSL library does not support certificate revocation lists."
 msgstr "La bibliothèque SSL ne supporte pas les listes de révocation des certificats."
 
-#: libpq/be-secure-openssl.c:295
+#: libpq/be-secure-openssl.c:318
 #, c-format
 msgid "could not load SSL certificate revocation list file \"%s\": %s"
 msgstr "n'a pas pu charger le fichier de liste de révocation des certificats SSL (« %s ») : %s"
 
-#: libpq/be-secure-openssl.c:341
+#: libpq/be-secure-openssl.c:365
 #, c-format
 msgid "could not initialize SSL connection: %s"
 msgstr "n'a pas pu initialiser la connexion SSL : %s"
 
-#: libpq/be-secure-openssl.c:349
+#: libpq/be-secure-openssl.c:373
 #, c-format
 msgid "could not set SSL socket: %s"
 msgstr "n'a pas pu créer le socket SSL : %s"
 
-#: libpq/be-secure-openssl.c:383
+#: libpq/be-secure-openssl.c:427
 #, c-format
 msgid "could not accept SSL connection: %m"
 msgstr "n'a pas pu accepter la connexion SSL : %m"
 
-#: libpq/be-secure-openssl.c:387 libpq/be-secure-openssl.c:398
+#: libpq/be-secure-openssl.c:431 libpq/be-secure-openssl.c:442
 #, c-format
 msgid "could not accept SSL connection: EOF detected"
 msgstr "n'a pas pu accepter la connexion SSL : fin de fichier détecté"
 
-#: libpq/be-secure-openssl.c:392
+#: libpq/be-secure-openssl.c:436
 #, c-format
 msgid "could not accept SSL connection: %s"
 msgstr "n'a pas pu accepter la connexion SSL : %s"
 
-#: libpq/be-secure-openssl.c:403 libpq/be-secure-openssl.c:541 libpq/be-secure-openssl.c:598
+#: libpq/be-secure-openssl.c:447 libpq/be-secure-openssl.c:588
+#: libpq/be-secure-openssl.c:648
 #, c-format
 msgid "unrecognized SSL error code: %d"
 msgstr "code d'erreur SSL inconnu : %d"
 
-#: libpq/be-secure-openssl.c:447
+#: libpq/be-secure-openssl.c:491
 #, c-format
 msgid "SSL certificate's common name contains embedded null"
 msgstr "le nom commun du certificat SSL contient des NULL"
 
-#: libpq/be-secure-openssl.c:458
+#: libpq/be-secure-openssl.c:502
 #, c-format
 msgid "SSL connection from \"%s\""
 msgstr "connexion SSL de « %s »"
 
-#: libpq/be-secure-openssl.c:532 libpq/be-secure-openssl.c:589
+#: libpq/be-secure-openssl.c:579 libpq/be-secure-openssl.c:639
 #, c-format
 msgid "SSL error: %s"
 msgstr "erreur SSL : %s"
 
-#: libpq/be-secure-openssl.c:937
+#: libpq/be-secure-openssl.c:988
 #, c-format
 msgid "ECDH: unrecognized curve name: %s"
 msgstr "ECDH : nome de courbe non reconnu : %s"
 
-#: libpq/be-secure-openssl.c:942
+#: libpq/be-secure-openssl.c:993
 #, c-format
 msgid "ECDH: could not create key"
 msgstr "ECDH : n'a pas pu créer la clé"
 
-#: libpq/be-secure-openssl.c:966
+#: libpq/be-secure-openssl.c:1017
 msgid "no SSL error reported"
 msgstr "aucune erreur SSL reportée"
 
-#: libpq/be-secure-openssl.c:970
+#: libpq/be-secure-openssl.c:1021
 #, c-format
 msgid "SSL error code %lu"
 msgstr "erreur SSL %lu"
 
-#: libpq/crypt.c:60
+#: libpq/be-secure.c:171 libpq/be-secure.c:256
+#, fuzzy, c-format
+#| msgid "terminating connection due to administrator command"
+msgid "terminating connection due to unexpected postmaster exit"
+msgstr "arrêt des connexions suite à la demande de l'administrateur"
+
+#: libpq/crypt.c:54
+#, fuzzy, c-format
+#| msgid "role \"%s\" does not exist"
+msgid "Role \"%s\" does not exist."
+msgstr "le rôle « %s » n'existe pas"
+
+#: libpq/crypt.c:64
 #, c-format
 msgid "User \"%s\" has no password assigned."
 msgstr "L'utilisateur « %s » n'a pas de mot de passe affecté."
 
-#: libpq/crypt.c:150
+#: libpq/crypt.c:79
+#, fuzzy, c-format
+#| msgid "User \"%s\" has an expired password."
+msgid "User \"%s\" has an empty password."
+msgstr "L'utilisateur « %s » a un mot de passe expiré."
+
+#: libpq/crypt.c:159
 #, c-format
 msgid "User \"%s\" has an expired password."
 msgstr "L'utilisateur « %s » a un mot de passe expiré."
 
+#: libpq/crypt.c:167
+#, fuzzy, c-format
+#| msgid "Password for user %s: "
+msgid "Password does not match for user \"%s\"."
+msgstr "Mot de passe pour l'utilisateur %s : "
+
 #: libpq/hba.c:188
 #, c-format
 msgid "authentication file token too long, skipping: \"%s\""
@@ -11041,8 +11997,16 @@ msgstr ""
 msgid "authentication file line too long"
 msgstr "ligne du fichier d'authentification trop longue"
 
-#: libpq/hba.c:410 libpq/hba.c:757 libpq/hba.c:773 libpq/hba.c:803 libpq/hba.c:849 libpq/hba.c:862 libpq/hba.c:884 libpq/hba.c:893 libpq/hba.c:914 libpq/hba.c:926 libpq/hba.c:945 libpq/hba.c:966 libpq/hba.c:977 libpq/hba.c:1032 libpq/hba.c:1050 libpq/hba.c:1062 libpq/hba.c:1079 libpq/hba.c:1089 libpq/hba.c:1103 libpq/hba.c:1119 libpq/hba.c:1134 libpq/hba.c:1145 libpq/hba.c:1181 libpq/hba.c:1213 libpq/hba.c:1224 libpq/hba.c:1244
-#: libpq/hba.c:1255 libpq/hba.c:1272 libpq/hba.c:1310 libpq/hba.c:1347 libpq/hba.c:1357 libpq/hba.c:1413 libpq/hba.c:1425 libpq/hba.c:1438 libpq/hba.c:1521 libpq/hba.c:1592 libpq/hba.c:1610 libpq/hba.c:1631 tsearch/ts_locale.c:182
+#: libpq/hba.c:410 libpq/hba.c:757 libpq/hba.c:773 libpq/hba.c:803
+#: libpq/hba.c:849 libpq/hba.c:862 libpq/hba.c:884 libpq/hba.c:893
+#: libpq/hba.c:914 libpq/hba.c:926 libpq/hba.c:945 libpq/hba.c:966
+#: libpq/hba.c:977 libpq/hba.c:1032 libpq/hba.c:1050 libpq/hba.c:1062
+#: libpq/hba.c:1079 libpq/hba.c:1089 libpq/hba.c:1103 libpq/hba.c:1119
+#: libpq/hba.c:1134 libpq/hba.c:1145 libpq/hba.c:1181 libpq/hba.c:1219
+#: libpq/hba.c:1230 libpq/hba.c:1250 libpq/hba.c:1261 libpq/hba.c:1278
+#: libpq/hba.c:1327 libpq/hba.c:1364 libpq/hba.c:1374 libpq/hba.c:1430
+#: libpq/hba.c:1442 libpq/hba.c:1455 libpq/hba.c:1547 libpq/hba.c:1636
+#: libpq/hba.c:1654 libpq/hba.c:1675 tsearch/ts_locale.c:182
 #, c-format
 msgid "line %d of configuration file \"%s\""
 msgstr "ligne %d du fichier de configuration « %s »"
@@ -11190,225 +12154,229 @@ msgstr "plusieurs valeurs indiqu
 msgid "Specify exactly one authentication type per line."
 msgstr "Indiquez uniquement un type d'authentification par ligne."
 
-#: libpq/hba.c:1211
+#: libpq/hba.c:1217
 #, c-format
 msgid "invalid authentication method \"%s\""
 msgstr "méthode d'authentification « %s » invalide"
 
-#: libpq/hba.c:1222
+#: libpq/hba.c:1228
 #, c-format
 msgid "invalid authentication method \"%s\": not supported by this build"
 msgstr ""
 "méthode d'authentification « %s » invalide : non supportée sur cette\n"
 "installation"
 
-#: libpq/hba.c:1243
+#: libpq/hba.c:1249
 #, c-format
 msgid "gssapi authentication is not supported on local sockets"
 msgstr ""
 "l'authentification gssapi n'est pas supportée sur les connexions locales par\n"
 "socket"
 
-#: libpq/hba.c:1254
+#: libpq/hba.c:1260
 #, c-format
 msgid "peer authentication is only supported on local sockets"
 msgstr ""
 "l'authentification peer est seulement supportée sur les connexions locales par\n"
 "socket"
 
-#: libpq/hba.c:1271
+#: libpq/hba.c:1277
 #, c-format
 msgid "cert authentication is only supported on hostssl connections"
 msgstr "l'authentification cert est seulement supportée sur les connexions hostssl"
 
-#: libpq/hba.c:1309
+#: libpq/hba.c:1326
 #, c-format
 msgid "authentication option not in name=value format: %s"
 msgstr "l'option d'authentification n'est pas dans le format nom=valeur : %s"
 
-#: libpq/hba.c:1346
+#: libpq/hba.c:1363
 #, c-format
 msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, or ldapurl together with ldapprefix"
 msgstr "ne peut pas utiliser ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, ou ldapurl avec ldapprefix"
 
-#: libpq/hba.c:1356
+#: libpq/hba.c:1373
 #, c-format
 msgid "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix\", or \"ldapsuffix\" to be set"
 msgstr ""
 "la méthode d'authentification « ldap » requiert un argument « ldapbasedn »,\n"
 "« ldapprefix » ou « ldapsuffix » pour être mise en place"
 
-#: libpq/hba.c:1399
+#: libpq/hba.c:1416
 msgid "ident, peer, gssapi, sspi, and cert"
 msgstr "ident, peer, gssapi, sspi et cert"
 
-#: libpq/hba.c:1412
+#: libpq/hba.c:1429
 #, c-format
 msgid "clientcert can only be configured for \"hostssl\" rows"
 msgstr "clientcert peut seulement être configuré pour les lignes « hostssl »"
 
-#: libpq/hba.c:1423
+#: libpq/hba.c:1440
 #, c-format
 msgid "client certificates can only be checked if a root certificate store is available"
 msgstr ""
 "les certificats cert peuvent seulement être vérifiés si un emplacement de\n"
 "certificat racine est disponible"
 
-#: libpq/hba.c:1437
+#: libpq/hba.c:1454
 #, c-format
 msgid "clientcert can not be set to 0 when using \"cert\" authentication"
 msgstr "clientcert ne peut pas être initialisé à 0 si vous utilisez l'authentification « cert »"
 
-#: libpq/hba.c:1464
+#: libpq/hba.c:1490
 #, c-format
 msgid "could not parse LDAP URL \"%s\": %s"
 msgstr "n'a pas pu analyser l'URL LDAP « %s » : %s"
 
-#: libpq/hba.c:1472
+#: libpq/hba.c:1498
 #, c-format
 msgid "unsupported LDAP URL scheme: %s"
 msgstr "méthode URL LDAP non supporté : %s"
 
-#: libpq/hba.c:1488
+#: libpq/hba.c:1514
 #, c-format
 msgid "filters not supported in LDAP URLs"
 msgstr "filtres non supportés dans les URL LDAP"
 
-#: libpq/hba.c:1496
+#: libpq/hba.c:1522
 #, c-format
 msgid "LDAP URLs not supported on this platform"
 msgstr "URL LDAP non supportés sur cette plateforme."
 
-#: libpq/hba.c:1520
+#: libpq/hba.c:1546
 #, c-format
 msgid "invalid LDAP port number: \"%s\""
 msgstr "numéro de port LDAP invalide : « %s »"
 
-#: libpq/hba.c:1560 libpq/hba.c:1567
+#: libpq/hba.c:1586 libpq/hba.c:1593
 msgid "gssapi and sspi"
 msgstr "gssapi et sspi"
 
-#: libpq/hba.c:1609
+#: libpq/hba.c:1602 libpq/hba.c:1611
+msgid "sspi"
+msgstr ""
+
+#: libpq/hba.c:1653
 #, c-format
 msgid "invalid RADIUS port number: \"%s\""
 msgstr "numéro de port RADIUS invalide : « %s »"
 
-#: libpq/hba.c:1629
+#: libpq/hba.c:1673
 #, c-format
 msgid "unrecognized authentication option name: \"%s\""
 msgstr "nom d'option de l'authentification inconnu : « %s »"
 
-#: libpq/hba.c:1814
+#: libpq/hba.c:1859
 #, c-format
 msgid "configuration file \"%s\" contains no entries"
 msgstr "le fichier de configuration « %s » ne contient aucun enregistrement"
 
-#: libpq/hba.c:1910
+#: libpq/hba.c:1955
 #, c-format
 msgid "invalid regular expression \"%s\": %s"
 msgstr "expression rationnelle invalide « %s » : %s"
 
-#: libpq/hba.c:1970
+#: libpq/hba.c:2015
 #, c-format
 msgid "regular expression match for \"%s\" failed: %s"
 msgstr "la correspondance de l'expression rationnelle pour « %s » a échoué : %s"
 
-#: libpq/hba.c:1989
+#: libpq/hba.c:2034
 #, c-format
 msgid "regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\""
 msgstr ""
 "l'expression rationnelle « %s » n'a pas de sous-expressions comme celle\n"
 "demandée par la référence dans « %s »"
 
-#: libpq/hba.c:2086
+#: libpq/hba.c:2131
 #, c-format
 msgid "provided user name (%s) and authenticated user name (%s) do not match"
 msgstr ""
 "le nom d'utilisateur (%s) et le nom d'utilisateur authentifié (%s) fournis ne\n"
 "correspondent pas"
 
-#: libpq/hba.c:2106
+#: libpq/hba.c:2151
 #, c-format
 msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\""
 msgstr ""
 "pas de correspondance dans la usermap « %s » pour l'utilisateur « %s »\n"
 "authentifié en tant que « %s »"
 
-#: libpq/hba.c:2141
+#: libpq/hba.c:2186
 #, c-format
 msgid "could not open usermap file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier usermap « %s » : %m"
 
-#: libpq/pqcomm.c:201
+#: libpq/pqcomm.c:202
 #, c-format
 msgid "could not set socket to nonblocking mode: %m"
 msgstr "n'a pas pu activer le mode non-bloquant pour la socket : %m"
 
-#: libpq/pqcomm.c:348
+#: libpq/pqcomm.c:354
 #, c-format
 msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)"
 msgstr "Le chemin du socket de domaine Unix, « %s », est trop (maximum %d octets)"
 
-#: libpq/pqcomm.c:369
+#: libpq/pqcomm.c:375
 #, c-format
 msgid "could not translate host name \"%s\", service \"%s\" to address: %s"
 msgstr "n'a pas pu résoudre le nom de l'hôte « %s », service « %s » par l'adresse : %s"
 
-#: libpq/pqcomm.c:373
+#: libpq/pqcomm.c:379
 #, c-format
 msgid "could not translate service \"%s\" to address: %s"
 msgstr "n'a pas pu résoudre le service « %s » par l'adresse : %s"
 
-#: libpq/pqcomm.c:400
+#: libpq/pqcomm.c:406
 #, c-format
 msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded"
 msgstr "n'a pas pu se lier à toutes les adresses requises : MAXLISTEN (%d) dépassé"
 
-#: libpq/pqcomm.c:409
+#: libpq/pqcomm.c:415
 msgid "IPv4"
 msgstr "IPv4"
 
-#: libpq/pqcomm.c:413
+#: libpq/pqcomm.c:419
 msgid "IPv6"
 msgstr "IPv6"
 
-#: libpq/pqcomm.c:418
+#: libpq/pqcomm.c:424
 msgid "Unix"
 msgstr "Unix"
 
-#: libpq/pqcomm.c:423
+#: libpq/pqcomm.c:429
 #, c-format
 msgid "unrecognized address family %d"
 msgstr "famille d'adresse %d non reconnue"
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:434
+#: libpq/pqcomm.c:440
 #, c-format
 msgid "could not create %s socket: %m"
 msgstr "n'a pas pu créer le socket %s : %m"
 
-#: libpq/pqcomm.c:459
+#: libpq/pqcomm.c:465
 #, c-format
 msgid "setsockopt(SO_REUSEADDR) failed: %m"
 msgstr "setsockopt(SO_REUSEADDR) a échoué : %m"
 
-#: libpq/pqcomm.c:474
+#: libpq/pqcomm.c:480
 #, c-format
 msgid "setsockopt(IPV6_V6ONLY) failed: %m"
 msgstr "setsockopt(IPV6_V6ONLY) a échoué : %m"
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:493
+#: libpq/pqcomm.c:499
 #, c-format
 msgid "could not bind %s socket: %m"
 msgstr "n'a pas pu se lier à la socket %s : %m"
 
-#: libpq/pqcomm.c:496
+#: libpq/pqcomm.c:502
 #, c-format
 msgid "Is another postmaster already running on port %d? If not, remove socket file \"%s\" and retry."
 msgstr "Un autre postmaster fonctionne-t'il déjà sur le port %d ?Sinon, supprimez le fichier socket « %s » et réessayez."
 
-#: libpq/pqcomm.c:499
+#: libpq/pqcomm.c:505
 #, c-format
 msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry."
 msgstr ""
@@ -11416,62 +12384,62 @@ msgstr ""
 "Sinon, attendez quelques secondes et réessayez."
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:532
+#: libpq/pqcomm.c:538
 #, c-format
 msgid "could not listen on %s socket: %m"
 msgstr "n'a pas pu écouter sur le socket %s : %m"
 
-#: libpq/pqcomm.c:617
+#: libpq/pqcomm.c:623
 #, c-format
 msgid "group \"%s\" does not exist"
 msgstr "le groupe « %s » n'existe pas"
 
-#: libpq/pqcomm.c:627
+#: libpq/pqcomm.c:633
 #, c-format
 msgid "could not set group of file \"%s\": %m"
 msgstr "n'a pas pu initialiser le groupe du fichier « %s » : %m"
 
-#: libpq/pqcomm.c:638
+#: libpq/pqcomm.c:644
 #, c-format
 msgid "could not set permissions of file \"%s\": %m"
 msgstr "n'a pas pu initialiser les droits du fichier « %s » : %m"
 
-#: libpq/pqcomm.c:668
+#: libpq/pqcomm.c:674
 #, c-format
 msgid "could not accept new connection: %m"
 msgstr "n'a pas pu accepter la nouvelle connexion : %m"
 
-#: libpq/pqcomm.c:847
+#: libpq/pqcomm.c:885
 #, c-format
 msgid "there is no client connection"
 msgstr "il n'y a pas de connexion client"
 
-#: libpq/pqcomm.c:898 libpq/pqcomm.c:994
+#: libpq/pqcomm.c:936 libpq/pqcomm.c:1032
 #, c-format
 msgid "could not receive data from client: %m"
 msgstr "n'a pas pu recevoir les données du client : %m"
 
-#: libpq/pqcomm.c:1139 tcop/postgres.c:3902
+#: libpq/pqcomm.c:1177 tcop/postgres.c:3906
 #, c-format
 msgid "terminating connection because protocol synchronization was lost"
 msgstr "arrêt de la connexion à cause d'une perte de synchronisation du protocole"
 
-#: libpq/pqcomm.c:1205
+#: libpq/pqcomm.c:1243
 #, c-format
 msgid "unexpected EOF within message length word"
 msgstr "fin de fichier (EOF) inattendue à l'intérieur de la longueur du message"
 
-#: libpq/pqcomm.c:1216
+#: libpq/pqcomm.c:1254
 #, c-format
 msgid "invalid message length"
 msgstr "longueur du message invalide"
 
-#: libpq/pqcomm.c:1238 libpq/pqcomm.c:1251
+#: libpq/pqcomm.c:1276 libpq/pqcomm.c:1289
 #, c-format
 msgid "incomplete message from client"
 msgstr "message incomplet du client"
 
-#: libpq/pqcomm.c:1384
+#: libpq/pqcomm.c:1422
 #, c-format
 msgid "could not send data to client: %m"
 msgstr "n'a pas pu envoyer les données au client : %m"
@@ -11481,7 +12449,8 @@ msgstr "n'a pas pu envoyer les donn
 msgid "no data left in message"
 msgstr "pas de données dans le message"
 
-#: libpq/pqformat.c:556 libpq/pqformat.c:574 libpq/pqformat.c:595 utils/adt/arrayfuncs.c:1460 utils/adt/rowtypes.c:563
+#: libpq/pqformat.c:556 libpq/pqformat.c:574 libpq/pqformat.c:595
+#: utils/adt/arrayfuncs.c:1457 utils/adt/rowtypes.c:563
 #, c-format
 msgid "insufficient data left in message"
 msgstr "données insuffisantes laissées dans le message"
@@ -11496,12 +12465,12 @@ msgstr "cha
 msgid "invalid message format"
 msgstr "format du message invalide"
 
-#: main/main.c:259
+#: main/main.c:264
 #, c-format
 msgid "%s: WSAStartup failed: %d\n"
 msgstr "%s : WSAStartup a échoué : %d\n"
 
-#: main/main.c:306
+#: main/main.c:327
 #, c-format
 msgid ""
 "%s is the PostgreSQL server.\n"
@@ -11510,7 +12479,7 @@ msgstr ""
 "%s est le serveur PostgreSQL.\n"
 "\n"
 
-#: main/main.c:307
+#: main/main.c:328
 #, c-format
 msgid ""
 "Usage:\n"
@@ -11521,114 +12490,114 @@ msgstr ""
 "  %s [OPTION]...\n"
 "\n"
 
-#: main/main.c:308
+#: main/main.c:329
 #, c-format
 msgid "Options:\n"
 msgstr "Options :\n"
 
-#: main/main.c:309
+#: main/main.c:330
 #, c-format
 msgid "  -B NBUFFERS        number of shared buffers\n"
 msgstr "  -B NBUFFERS        nombre de tampons partagés\n"
 
-#: main/main.c:310
+#: main/main.c:331
 #, c-format
 msgid "  -c NAME=VALUE      set run-time parameter\n"
 msgstr "  -c NOM=VALEUR      configure un paramètre d'exécution\n"
 
-#: main/main.c:311
+#: main/main.c:332
 #, c-format
 msgid "  -C NAME            print value of run-time parameter, then exit\n"
 msgstr ""
 "  -C NOM             affiche la valeur d'un paramètre en exécution,\n"
 "                     puis quitte\n"
 
-#: main/main.c:312
+#: main/main.c:333
 #, c-format
 msgid "  -d 1-5             debugging level\n"
 msgstr "  -d 1-5             niveau de débogage\n"
 
-#: main/main.c:313
+#: main/main.c:334
 #, c-format
 msgid "  -D DATADIR         database directory\n"
 msgstr "  -D RÉPDONNEES      répertoire de la base de données\n"
 
-#: main/main.c:314
+#: main/main.c:335
 #, c-format
 msgid "  -e                 use European date input format (DMY)\n"
 msgstr "  -e                 utilise le format de saisie européen des dates (DMY)\n"
 
-#: main/main.c:315
+#: main/main.c:336
 #, c-format
 msgid "  -F                 turn fsync off\n"
 msgstr "  -F                 désactive fsync\n"
 
-#: main/main.c:316
+#: main/main.c:337
 #, c-format
 msgid "  -h HOSTNAME        host name or IP address to listen on\n"
 msgstr "  -h NOMHOTE         nom d'hôte ou adresse IP à écouter\n"
 
-#: main/main.c:317
+#: main/main.c:338
 #, c-format
 msgid "  -i                 enable TCP/IP connections\n"
 msgstr "  -i                 active les connexions TCP/IP\n"
 
-#: main/main.c:318
+#: main/main.c:339
 #, c-format
 msgid "  -k DIRECTORY       Unix-domain socket location\n"
 msgstr "  -k RÉPERTOIRE      emplacement des sockets de domaine Unix\n"
 
-#: main/main.c:320
+#: main/main.c:341
 #, c-format
 msgid "  -l                 enable SSL connections\n"
 msgstr "  -l                 active les connexions SSL\n"
 
-#: main/main.c:322
+#: main/main.c:343
 #, c-format
 msgid "  -N MAX-CONNECT     maximum number of allowed connections\n"
 msgstr "  -N MAX-CONNECT     nombre maximum de connexions simultanées\n"
 
-#: main/main.c:323
+#: main/main.c:344
 #, c-format
 msgid "  -o OPTIONS         pass \"OPTIONS\" to each server process (obsolete)\n"
 msgstr "  -o OPTIONS         passe « OPTIONS » à chaque processus serveur (obsolète)\n"
 
-#: main/main.c:324
+#: main/main.c:345
 #, c-format
 msgid "  -p PORT            port number to listen on\n"
 msgstr "  -p PORT            numéro du port à écouter\n"
 
-#: main/main.c:325
+#: main/main.c:346
 #, c-format
 msgid "  -s                 show statistics after each query\n"
 msgstr "  -s                 affiche les statistiques après chaque requête\n"
 
-#: main/main.c:326
+#: main/main.c:347
 #, c-format
 msgid "  -S WORK-MEM        set amount of memory for sorts (in kB)\n"
 msgstr "  -S WORK-MEM        configure la mémoire pour les tris (en Ko)\n"
 
-#: main/main.c:327
+#: main/main.c:348
 #, c-format
 msgid "  -V, --version      output version information, then exit\n"
 msgstr "  -V, --version  affiche la version et quitte\n"
 
-#: main/main.c:328
+#: main/main.c:349
 #, c-format
 msgid "  --NAME=VALUE       set run-time parameter\n"
 msgstr "  --NOM=VALEUR       configure un paramètre d'exécution\n"
 
-#: main/main.c:329
+#: main/main.c:350
 #, c-format
 msgid "  --describe-config  describe configuration parameters, then exit\n"
 msgstr "  --describe-config  décrit les paramètres de configuration, puis quitte\n"
 
-#: main/main.c:330
+#: main/main.c:351
 #, c-format
 msgid "  -?, --help         show this help, then exit\n"
 msgstr "  -?, --help     affiche cette aide et quitte\n"
 
-#: main/main.c:332
+#: main/main.c:353
 #, c-format
 msgid ""
 "\n"
@@ -11637,50 +12606,50 @@ msgstr ""
 "\n"
 "Options pour le développeur :\n"
 
-#: main/main.c:333
+#: main/main.c:354
 #, c-format
 msgid "  -f s|i|n|m|h       forbid use of some plan types\n"
 msgstr "  -f s|i|n|m|h       interdit l'utilisation de certains types de plan\n"
 
-#: main/main.c:334
+#: main/main.c:355
 #, c-format
 msgid "  -n                 do not reinitialize shared memory after abnormal exit\n"
 msgstr ""
 "  -n                 ne réinitialise pas la mémoire partagée après un arrêt\n"
 "                     brutal\n"
 
-#: main/main.c:335
+#: main/main.c:356
 #, c-format
 msgid "  -O                 allow system table structure changes\n"
 msgstr ""
 "  -O                 autorise les modifications de structure des tables\n"
 "                     système\n"
 
-#: main/main.c:336
+#: main/main.c:357
 #, c-format
 msgid "  -P                 disable system indexes\n"
 msgstr "  -P                 désactive les index systèmes\n"
 
-#: main/main.c:337
+#: main/main.c:358
 #, c-format
 msgid "  -t pa|pl|ex        show timings after each query\n"
 msgstr "  -t pa|pl|ex     affiche les horodatages pour chaque requête\n"
 
-#: main/main.c:338
+#: main/main.c:359
 #, c-format
 msgid "  -T                 send SIGSTOP to all backend processes if one dies\n"
 msgstr ""
 "  -T                 envoie SIGSTOP à tous les processus serveur si l'un\n"
 "                     d'entre eux meurt\n"
 
-#: main/main.c:339
+#: main/main.c:360
 #, c-format
 msgid "  -W NUM             wait NUM seconds to allow attach from a debugger\n"
 msgstr ""
 "  -W NUM             attends NUM secondes pour permettre l'attache d'un\n"
 "                     débogueur\n"
 
-#: main/main.c:341
+#: main/main.c:362
 #, c-format
 msgid ""
 "\n"
@@ -11689,41 +12658,41 @@ msgstr ""
 "\n"
 "Options pour le mode mono-utilisateur :\n"
 
-#: main/main.c:342
+#: main/main.c:363
 #, c-format
 msgid "  --single           selects single-user mode (must be first argument)\n"
 msgstr ""
 "  --single           sélectionne le mode mono-utilisateur (doit être le\n"
 "                     premier argument)\n"
 
-#: main/main.c:343
+#: main/main.c:364
 #, c-format
 msgid "  DBNAME             database name (defaults to user name)\n"
 msgstr "  NOMBASE            nom de la base (par défaut, celui de l'utilisateur)\n"
 
-#: main/main.c:344
+#: main/main.c:365
 #, c-format
 msgid "  -d 0-5             override debugging level\n"
 msgstr "  -d 0-5             surcharge le niveau de débogage\n"
 
-#: main/main.c:345
+#: main/main.c:366
 #, c-format
 msgid "  -E                 echo statement before execution\n"
 msgstr "  -E                 affiche la requête avant de l'exécuter\n"
 
-#: main/main.c:346
+#: main/main.c:367
 #, c-format
 msgid "  -j                 do not use newline as interactive query delimiter\n"
 msgstr ""
 "  -j                 n'utilise pas le retour à la ligne comme délimiteur de\n"
 "                     requête\n"
 
-#: main/main.c:347 main/main.c:352
+#: main/main.c:368 main/main.c:373
 #, c-format
 msgid "  -r FILENAME        send stdout and stderr to given file\n"
 msgstr "  -r FICHIER         envoie stdout et stderr dans le fichier indiqué\n"
 
-#: main/main.c:349
+#: main/main.c:370
 #, c-format
 msgid ""
 "\n"
@@ -11732,26 +12701,26 @@ msgstr ""
 "\n"
 "Options pour le mode « bootstrapping » :\n"
 
-#: main/main.c:350
+#: main/main.c:371
 #, c-format
 msgid "  --boot             selects bootstrapping mode (must be first argument)\n"
 msgstr ""
 "  --boot             sélectionne le mode « bootstrapping » (doit être le\n"
 "                     premier argument)\n"
 
-#: main/main.c:351
+#: main/main.c:372
 #, c-format
 msgid "  DBNAME             database name (mandatory argument in bootstrapping mode)\n"
 msgstr ""
 "  NOMBASE            nom de la base (argument obligatoire dans le mode\n"
 "                     « bootstrapping »)\n"
 
-#: main/main.c:353
+#: main/main.c:374
 #, c-format
 msgid "  -x NUM             internal use\n"
 msgstr "  -x NUM             utilisation interne\n"
 
-#: main/main.c:355
+#: main/main.c:376
 #, c-format
 msgid ""
 "\n"
@@ -11768,7 +12737,7 @@ msgstr ""
 "\n"
 "Rapportez les bogues à <pgsql-bugs@postgresql.org>.\n"
 
-#: main/main.c:369
+#: main/main.c:390
 #, c-format
 msgid ""
 "\"root\" execution of the PostgreSQL server is not permitted.\n"
@@ -11782,12 +12751,12 @@ msgstr ""
 "tout problème possible de sécurité sur le serveur. Voir la documentation pour\n"
 "plus d'informations sur le lancement propre du serveur.\n"
 
-#: main/main.c:386
+#: main/main.c:407
 #, c-format
 msgid "%s: real and effective user IDs must match\n"
 msgstr "%s : les identifiants réel et effectif de l'utilisateur doivent correspondre\n"
 
-#: main/main.c:393
+#: main/main.c:414
 #, c-format
 msgid ""
 "Execution of PostgreSQL by a user with administrative permissions is not\n"
@@ -11801,22 +12770,36 @@ msgstr ""
 "tout problème de sécurité sur le serveur. Voir la documentation pour\n"
 "plus d'informations sur le lancement propre du serveur.\n"
 
-#: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:1820 parser/parse_coerce.c:1848 parser/parse_coerce.c:1924 parser/parse_expr.c:1981 parser/parse_func.c:597 parser/parse_oper.c:952
+#: nodes/extensible.c:66
+#, fuzzy, c-format
+#| msgid "extension \"%s\" already exists"
+msgid "extensible node type \"%s\" already exists"
+msgstr "l'extension « %s » existe déjà"
+
+#: nodes/extensible.c:114
+#, fuzzy, c-format
+#| msgid "extension \"%s\" does not exist"
+msgid "ExtensibleNodeMethods \"%s\" was not registered"
+msgstr "l'extension « %s » n'existe pas"
+
+#: nodes/nodeFuncs.c:123 nodes/nodeFuncs.c:154 parser/parse_coerce.c:1820
+#: parser/parse_coerce.c:1848 parser/parse_coerce.c:1924
+#: parser/parse_expr.c:1994 parser/parse_func.c:597 parser/parse_oper.c:952
 #, c-format
 msgid "could not find array type for data type %s"
 msgstr "n'a pas pu trouver le type array pour le type de données %s"
 
-#: optimizer/path/allpaths.c:2272
+#: optimizer/path/allpaths.c:2618
 #, c-format
 msgid "WHERE CURRENT OF is not supported on a view with no underlying relation"
 msgstr "WHERE CURRENT OF n'est pas supporté pour une vue sans table sous-jacente"
 
-#: optimizer/path/allpaths.c:2277
+#: optimizer/path/allpaths.c:2623
 #, c-format
 msgid "WHERE CURRENT OF is not supported on a view with more than one underlying relation"
 msgstr "WHERE CURRENT OF n'est pas supporté pour une vue avec plus d'une table sous-jacente"
 
-#: optimizer/path/allpaths.c:2282
+#: optimizer/path/allpaths.c:2628
 #, c-format
 msgid "WHERE CURRENT OF is not supported on a view with grouping or aggregation"
 msgstr "WHERE CURRENT OF n'est pas supporté pour une vue avec regroupement ou agrégat"
@@ -11829,103 +12812,105 @@ msgstr ""
 "jointures HASH JOIN"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/initsplan.c:1104
+#: optimizer/plan/initsplan.c:1124
 #, c-format
 msgid "%s cannot be applied to the nullable side of an outer join"
 msgstr "%s ne peut être appliqué sur le côté possiblement NULL d'une jointure externe"
 
 #. translator: %s is a SQL row locking clause such as FOR UPDATE
-#: optimizer/plan/planner.c:1330 parser/analyze.c:1481 parser/analyze.c:1679 parser/analyze.c:2460
+#: optimizer/plan/planner.c:1473 parser/analyze.c:1481 parser/analyze.c:1679
+#: parser/analyze.c:2460
 #, c-format
 msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
 msgstr "%s n'est pas autorisé avec UNION/INTERSECT/EXCEPT"
 
-#: optimizer/plan/planner.c:3587
+#: optimizer/plan/planner.c:3752
 #, c-format
 msgid "could not implement GROUP BY"
 msgstr "n'a pas pu implanté GROUP BY"
 
-#: optimizer/plan/planner.c:3588 optimizer/plan/planner.c:3756 optimizer/prep/prepunion.c:828
+#: optimizer/plan/planner.c:3753 optimizer/plan/planner.c:4095
+#: optimizer/prep/prepunion.c:927
 #, c-format
 msgid "Some of the datatypes only support hashing, while others only support sorting."
 msgstr ""
 "Certains des types de données supportent seulement le hachage,\n"
 "alors que les autres supportent seulement le tri."
 
-#: optimizer/plan/planner.c:3755
+#: optimizer/plan/planner.c:4094
 #, c-format
 msgid "could not implement DISTINCT"
 msgstr "n'a pas pu implanté DISTINCT"
 
-#: optimizer/plan/planner.c:4361
+#: optimizer/plan/planner.c:4633
 #, c-format
 msgid "could not implement window PARTITION BY"
 msgstr "n'a pas pu implanter PARTITION BY de window"
 
-#: optimizer/plan/planner.c:4362
+#: optimizer/plan/planner.c:4634
 #, c-format
 msgid "Window partitioning columns must be of sortable datatypes."
 msgstr ""
 "Les colonnes de partitionnement de window doivent être d'un type de données\n"
 "triables."
 
-#: optimizer/plan/planner.c:4366
+#: optimizer/plan/planner.c:4638
 #, c-format
 msgid "could not implement window ORDER BY"
 msgstr "n'a pas pu implanter ORDER BY dans le window"
 
-#: optimizer/plan/planner.c:4367
+#: optimizer/plan/planner.c:4639
 #, c-format
 msgid "Window ordering columns must be of sortable datatypes."
 msgstr "Les colonnes de tri de la window doivent être d'un type de données triable."
 
-#: optimizer/plan/setrefs.c:411
+#: optimizer/plan/setrefs.c:423
 #, c-format
 msgid "too many range table entries"
 msgstr "trop d'enregistrements dans la table range"
 
-#: optimizer/prep/prepunion.c:421
+#: optimizer/prep/prepunion.c:480
 #, c-format
 msgid "could not implement recursive UNION"
 msgstr "n'a pas pu implanté le UNION récursif"
 
-#: optimizer/prep/prepunion.c:422
+#: optimizer/prep/prepunion.c:481
 #, c-format
 msgid "All column datatypes must be hashable."
 msgstr "Tous les types de données colonnes doivent être hachables."
 
 #. translator: %s is UNION, INTERSECT, or EXCEPT
-#: optimizer/prep/prepunion.c:827
+#: optimizer/prep/prepunion.c:926
 #, c-format
 msgid "could not implement %s"
 msgstr "n'a pas pu implanté %s"
 
-#: optimizer/util/clauses.c:4597
+#: optimizer/util/clauses.c:4965
 #, c-format
 msgid "SQL function \"%s\" during inlining"
 msgstr "fonction SQL « %s » durant « inlining »"
 
-#: optimizer/util/plancat.c:108
+#: optimizer/util/plancat.c:114
 #, c-format
 msgid "cannot access temporary or unlogged relations during recovery"
 msgstr "ne peut pas accéder à des tables temporaires et non tracées lors de la restauration"
 
-#: optimizer/util/plancat.c:498
+#: optimizer/util/plancat.c:591
 #, c-format
 msgid "system columns cannot be used in an ON CONFLICT clause"
 msgstr "les colonnes systèmes ne peuvent pas être utilisées dans une clause ON CONFLICT"
 
-#: optimizer/util/plancat.c:516
+#: optimizer/util/plancat.c:609
 #, c-format
 msgid "constraint in ON CONFLICT clause has no associated index"
 msgstr "la contrainte de la clause ON CONFLICT n'a pas d'index associé"
 
-#: optimizer/util/plancat.c:568
+#: optimizer/util/plancat.c:661
 #, c-format
 msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints"
 msgstr "ON CONFLICT DO UPDATE non supporté avec les contraintes d'exclusion"
 
-#: optimizer/util/plancat.c:675
+#: optimizer/util/plancat.c:768
 #, c-format
 msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification"
 msgstr "il n'existe aucune contrainte unique ou contrainte d'exclusion correspondant à la spécification ON CONFLICT"
@@ -12132,464 +13117,461 @@ msgstr "%s ne peut pas 
 msgid "relation \"%s\" in %s clause not found in FROM clause"
 msgstr "relation « %s » dans une clause %s introuvable dans la clause FROM"
 
-#: parser/parse_agg.c:207 parser/parse_oper.c:220
+#: parser/parse_agg.c:208 parser/parse_oper.c:220
 #, c-format
 msgid "could not identify an ordering operator for type %s"
 msgstr "n'a pas pu identifier un opérateur de tri pour le type %s"
 
-#: parser/parse_agg.c:209
+#: parser/parse_agg.c:210
 #, c-format
 msgid "Aggregates with DISTINCT must be able to sort their inputs."
 msgstr "Les agrégats avec DISTINCT doivent être capable de trier leur entrée."
 
-#: parser/parse_agg.c:244
+#: parser/parse_agg.c:245
 #, c-format
 msgid "GROUPING must have fewer than 32 arguments"
 msgstr "GROUPING doit avoir moins de 32 arguments"
 
-#: parser/parse_agg.c:347
+#: parser/parse_agg.c:348
 msgid "aggregate functions are not allowed in JOIN conditions"
 msgstr "les fonctions d'agrégats ne sont pas autorisés dans les conditions de jointures"
 
-#: parser/parse_agg.c:349
+#: parser/parse_agg.c:350
 msgid "grouping operations are not allowed in JOIN conditions"
 msgstr "les fonctions de regroupement ne sont pas autorisés dans les conditions de jointure"
 
-#: parser/parse_agg.c:361
+#: parser/parse_agg.c:362
 msgid "aggregate functions are not allowed in FROM clause of their own query level"
 msgstr "les fonctions d'agrégats ne sont pas autorisés dans la clause FROM du même niveau de la requête"
 
-#: parser/parse_agg.c:363
+#: parser/parse_agg.c:364
 msgid "grouping operations are not allowed in FROM clause of their own query level"
 msgstr "les fonctions de regroupement ne sont pas autorisés dans la clause FROM du même niveau de la requête"
 
-#: parser/parse_agg.c:368
+#: parser/parse_agg.c:369
 msgid "aggregate functions are not allowed in functions in FROM"
 msgstr "les fonctions d'agrégats ne sont pas autorisés dans les fonctions contenues dans la clause FROM"
 
-#: parser/parse_agg.c:370
+#: parser/parse_agg.c:371
 msgid "grouping operations are not allowed in functions in FROM"
 msgstr "les fonctions de regroupement ne sont pas autorisés dans les fonctions contenues dans la clause FROM"
 
-#: parser/parse_agg.c:378
+#: parser/parse_agg.c:379
 msgid "aggregate functions are not allowed in policy expressions"
 msgstr "les fonctions d'agrégats ne sont pas autorisés dans les expressions de politique"
 
-#: parser/parse_agg.c:380
+#: parser/parse_agg.c:381
 msgid "grouping operations are not allowed in policy expressions"
 msgstr "les fonctions de regroupement ne sont pas autorisés dans les expressions de politique"
 
-#: parser/parse_agg.c:397
+#: parser/parse_agg.c:398
 msgid "aggregate functions are not allowed in window RANGE"
 msgstr "les fonctions d'agrégats ne sont pas autorisés dans le RANGE de fenêtrage"
 
-#: parser/parse_agg.c:399
+#: parser/parse_agg.c:400
 msgid "grouping operations are not allowed in window RANGE"
 msgstr "les fonctions de regroupement ne sont pas autorisés dans le RANGE de fenêtrage"
 
-#: parser/parse_agg.c:404
+#: parser/parse_agg.c:405
 msgid "aggregate functions are not allowed in window ROWS"
 msgstr "les fonctions d'agrégats ne sont pas autorisés dans le ROWS de fenêtrage"
 
-#: parser/parse_agg.c:406
+#: parser/parse_agg.c:407
 msgid "grouping operations are not allowed in window ROWS"
 msgstr "les fonctions de regroupement ne sont pas autorisés dans le ROWS de fenêtrage"
 
-#: parser/parse_agg.c:439
+#: parser/parse_agg.c:440
 msgid "aggregate functions are not allowed in check constraints"
 msgstr "les fonctions d'agrégats ne sont pas autorisés dans les contraintes CHECK"
 
-#: parser/parse_agg.c:441
+#: parser/parse_agg.c:442
 msgid "grouping operations are not allowed in check constraints"
 msgstr "les fonctions de regroupement ne sont pas autorisés dans les contraintes CHECK"
 
-#: parser/parse_agg.c:448
+#: parser/parse_agg.c:449
 msgid "aggregate functions are not allowed in DEFAULT expressions"
 msgstr "les fonctions d'agrégats ne sont pas autorisés dans les expressions par défaut"
 
-#: parser/parse_agg.c:450
+#: parser/parse_agg.c:451
 msgid "grouping operations are not allowed in DEFAULT expressions"
 msgstr "les fonctions de regroupement ne sont pas autorisés dans les expressions par défaut"
 
-#: parser/parse_agg.c:455
+#: parser/parse_agg.c:456
 msgid "aggregate functions are not allowed in index expressions"
 msgstr "les fonctions d'agrégats ne sont pas autorisés dans les expressions d'index"
 
-#: parser/parse_agg.c:457
+#: parser/parse_agg.c:458
 msgid "grouping operations are not allowed in index expressions"
 msgstr "les fonctions de regroupement ne sont pas autorisés dans les expressions d'index"
 
-#: parser/parse_agg.c:462
+#: parser/parse_agg.c:463
 msgid "aggregate functions are not allowed in index predicates"
 msgstr "les fonctions d'agrégats ne sont pas autorisés dans les prédicats d'index"
 
-#: parser/parse_agg.c:464
+#: parser/parse_agg.c:465
 msgid "grouping operations are not allowed in index predicates"
 msgstr "les fonctions de regroupement ne sont pas autorisés dans les prédicats d'index"
 
-#: parser/parse_agg.c:469
+#: parser/parse_agg.c:470
 msgid "aggregate functions are not allowed in transform expressions"
 msgstr "les fonctions d'agrégats ne sont pas autorisés dans les expressions de transformation"
 
-#: parser/parse_agg.c:471
+#: parser/parse_agg.c:472
 msgid "grouping operations are not allowed in transform expressions"
 msgstr "les fonctions de regroupement ne sont pas autorisés dans les expressions de transformation"
 
-#: parser/parse_agg.c:476
+#: parser/parse_agg.c:477
 msgid "aggregate functions are not allowed in EXECUTE parameters"
 msgstr "les fonctions d'agrégats ne sont pas autorisés dans les paramètres d'EXECUTE"
 
-#: parser/parse_agg.c:478
+#: parser/parse_agg.c:479
 msgid "grouping operations are not allowed in EXECUTE parameters"
 msgstr "les fonctions de regroupement ne sont pas autorisés dans les paramètres d'EXECUTE"
 
-#: parser/parse_agg.c:483
+#: parser/parse_agg.c:484
 msgid "aggregate functions are not allowed in trigger WHEN conditions"
 msgstr "les fonctions d'agrégats ne sont pas autorisés dans les conditions WHEN des triggers"
 
-#: parser/parse_agg.c:485
+#: parser/parse_agg.c:486
 msgid "grouping operations are not allowed in trigger WHEN conditions"
 msgstr "les fonctions de regroupement ne sont pas autorisés dans les conditions WHEN des triggers"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:508 parser/parse_clause.c:1548
+#: parser/parse_agg.c:509 parser/parse_clause.c:1550
 #, c-format
 msgid "aggregate functions are not allowed in %s"
 msgstr "les fonctions d'agrégats ne sont pas autorisés dans %s"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:511
+#: parser/parse_agg.c:512
 #, c-format
 msgid "grouping operations are not allowed in %s"
 msgstr "les fonctions de regroupement ne sont pas autorisés dans %s"
 
-#: parser/parse_agg.c:619
+#: parser/parse_agg.c:620
 #, c-format
 msgid "outer-level aggregate cannot contain a lower-level variable in its direct arguments"
 msgstr ""
 
-#: parser/parse_agg.c:690
+#: parser/parse_agg.c:691
 #, c-format
 msgid "aggregate function calls cannot contain window function calls"
 msgstr ""
 "les appels à la fonction d'agrégat ne peuvent pas contenir des appels à la\n"
 "fonction window"
 
-#: parser/parse_agg.c:768
+#: parser/parse_agg.c:769
 msgid "window functions are not allowed in JOIN conditions"
 msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les conditions de jointure"
 
-#: parser/parse_agg.c:775
+#: parser/parse_agg.c:776
 msgid "window functions are not allowed in functions in FROM"
 msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les fonctions contenues dans la clause FROM"
 
-#: parser/parse_agg.c:781
+#: parser/parse_agg.c:782
 msgid "window functions are not allowed in policy expressions"
 msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les expressions de politique"
 
-#: parser/parse_agg.c:793
+#: parser/parse_agg.c:794
 msgid "window functions are not allowed in window definitions"
 msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les définitions de fenêtres"
 
-#: parser/parse_agg.c:824
+#: parser/parse_agg.c:825
 msgid "window functions are not allowed in check constraints"
 msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les contraintes CHECK"
 
-#: parser/parse_agg.c:828
+#: parser/parse_agg.c:829
 msgid "window functions are not allowed in DEFAULT expressions"
 msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les expressions par défaut"
 
-#: parser/parse_agg.c:831
+#: parser/parse_agg.c:832
 msgid "window functions are not allowed in index expressions"
 msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les expressions d'index"
 
-#: parser/parse_agg.c:834
+#: parser/parse_agg.c:835
 msgid "window functions are not allowed in index predicates"
 msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les prédicats d'index"
 
-#: parser/parse_agg.c:837
+#: parser/parse_agg.c:838
 msgid "window functions are not allowed in transform expressions"
 msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les expressions de transformation"
 
-#: parser/parse_agg.c:840
+#: parser/parse_agg.c:841
 msgid "window functions are not allowed in EXECUTE parameters"
 msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les paramètres d'EXECUTE"
 
-#: parser/parse_agg.c:843
+#: parser/parse_agg.c:844
 msgid "window functions are not allowed in trigger WHEN conditions"
 msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les conditions WHEN des triggers"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:863 parser/parse_clause.c:1557
+#: parser/parse_agg.c:864 parser/parse_clause.c:1559
 #, c-format
 msgid "window functions are not allowed in %s"
 msgstr "les fonctions de fenêtrage ne sont pas autorisés dans %s"
 
-#: parser/parse_agg.c:897 parser/parse_clause.c:2394
+#: parser/parse_agg.c:898 parser/parse_clause.c:2396
 #, c-format
 msgid "window \"%s\" does not exist"
 msgstr "le window « %s » n'existe pas"
 
-#: parser/parse_agg.c:982
+#: parser/parse_agg.c:983
 #, c-format
 msgid "too many grouping sets present (maximum 4096)"
 msgstr "trop d'ensembles de regroupement présents (4096 maximum)"
 
-#: parser/parse_agg.c:1131
+#: parser/parse_agg.c:1132
 #, c-format
 msgid "aggregate functions are not allowed in a recursive query's recursive term"
 msgstr "les fonctions de fenêtrage ne sont pas autorisés dans le terme récursif d'une requête récursive"
 
-#: parser/parse_agg.c:1324
+#: parser/parse_agg.c:1325
 #, c-format
 msgid "column \"%s.%s\" must appear in the GROUP BY clause or be used in an aggregate function"
 msgstr "la colonne « %s.%s » doit apparaître dans la clause GROUP BY ou doit être utilisé dans une fonction d'agrégat"
 
-#: parser/parse_agg.c:1327
+#: parser/parse_agg.c:1328
 #, c-format
 msgid "Direct arguments of an ordered-set aggregate must use only grouped columns."
 msgstr "Les arguments directs d'un agégat par ensemble ordonné doivent seulement utiliser des colonnes groupées."
 
-#: parser/parse_agg.c:1332
+#: parser/parse_agg.c:1333
 #, c-format
 msgid "subquery uses ungrouped column \"%s.%s\" from outer query"
 msgstr ""
 "la sous-requête utilise une colonne « %s.%s » non groupée dans la requête\n"
 "externe"
 
-#: parser/parse_agg.c:1496
+#: parser/parse_agg.c:1497
 #, c-format
 msgid "arguments to GROUPING must be grouping expressions of the associated query level"
 msgstr "les arguments de la clause GROUPING doivent être des expressions de regroupement du niveau de la requête associée"
 
-#: parser/parse_clause.c:647
+#: parser/parse_clause.c:649
 #, c-format
 msgid "multiple column definition lists are not allowed for the same function"
 msgstr "plusieurs listes de définition de colonnes ne sont pas autorisées pour la même fonction"
 
-#: parser/parse_clause.c:680
+#: parser/parse_clause.c:682
 #, c-format
 msgid "ROWS FROM() with multiple functions cannot have a column definition list"
 msgstr "ROWS FROM() avec plusieurs fonctions ne peut pas avoir une liste de définitions de colonnes"
 
-#: parser/parse_clause.c:681
+#: parser/parse_clause.c:683
 #, c-format
 msgid "Put a separate column definition list for each function inside ROWS FROM()."
 msgstr "Placer une liste de définitions de colonnes séparée pour chaque fonction à l'intérieur de ROWS FROM()."
 
-#: parser/parse_clause.c:687
+#: parser/parse_clause.c:689
 #, c-format
 msgid "UNNEST() with multiple arguments cannot have a column definition list"
 msgstr "UNNEST() avec plusieurs arguments ne peut pas avoir de liste de définition de colonnes"
 
-#: parser/parse_clause.c:688
+#: parser/parse_clause.c:690
 #, c-format
 msgid "Use separate UNNEST() calls inside ROWS FROM(), and attach a column definition list to each one."
 msgstr "Utiliser des appels séparés UNNEST() à l'intérieur de ROWS FROM(), et attacher une liste de définition des colonnes pour chaque."
 
-#: parser/parse_clause.c:695
+#: parser/parse_clause.c:697
 #, c-format
 msgid "WITH ORDINALITY cannot be used with a column definition list"
 msgstr "WITH ORDINALITY ne peut pas être utilisé avec une liste de définitions de colonnes"
 
-#: parser/parse_clause.c:696
+#: parser/parse_clause.c:698
 #, c-format
 msgid "Put the column definition list inside ROWS FROM()."
 msgstr "Placez la liste de définitions des colonnes dans ROWS FROM()."
 
-#: parser/parse_clause.c:751
+#: parser/parse_clause.c:753
 #, c-format
 msgid "tablesample method %s does not exist"
 msgstr "la méthode d'échantillonage %s n'existe pas"
 
-#: parser/parse_clause.c:759
-#, c-format
-msgid "function %s must return type \"tsm_handler\""
-msgstr "la fonction %s doit renvoyer le type « tsm_handler »"
-
-#: parser/parse_clause.c:773
+#: parser/parse_clause.c:775
 #, c-format
 msgid "tablesample method %s requires %d argument, not %d"
 msgid_plural "tablesample method %s requires %d arguments, not %d"
 msgstr[0] "la méthode d'échantillonage %s requiert %d argument, et non pas %d"
 msgstr[1] "la méthode d'échantillonage %s requiert %d arguments, et non pas %d"
 
-#: parser/parse_clause.c:807
+#: parser/parse_clause.c:809
 #, c-format
 msgid "tablesample method %s does not support REPEATABLE"
 msgstr "la méthode d'échantillonage %s ne supporte pas REPEATABLE"
 
-#: parser/parse_clause.c:938
+#: parser/parse_clause.c:940
 #, c-format
 msgid "TABLESAMPLE clause can only be applied to tables and materialized views"
 msgstr "la clause TABLESPACE est uniquement applicable pour les tables et les vues matérialisées"
 
-#: parser/parse_clause.c:1108
+#: parser/parse_clause.c:1110
 #, c-format
 msgid "column name \"%s\" appears more than once in USING clause"
 msgstr "le nom de la colonne « %s » apparaît plus d'une fois dans la clause USING"
 
-#: parser/parse_clause.c:1123
+#: parser/parse_clause.c:1125
 #, c-format
 msgid "common column name \"%s\" appears more than once in left table"
 msgstr ""
 "le nom commun de la colonne « %s » apparaît plus d'une fois dans la table de\n"
 "gauche"
 
-#: parser/parse_clause.c:1132
+#: parser/parse_clause.c:1134
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in left table"
 msgstr ""
 "la colonne « %s » spécifiée dans la clause USING n'existe pas dans la table\n"
 "de gauche"
 
-#: parser/parse_clause.c:1146
+#: parser/parse_clause.c:1148
 #, c-format
 msgid "common column name \"%s\" appears more than once in right table"
 msgstr ""
 "le nom commun de la colonne « %s » apparaît plus d'une fois dans la table de\n"
 " droite"
 
-#: parser/parse_clause.c:1155
+#: parser/parse_clause.c:1157
 #, c-format
 msgid "column \"%s\" specified in USING clause does not exist in right table"
 msgstr ""
 "la colonne « %s » spécifiée dans la clause USING n'existe pas dans la table\n"
 "de droite"
 
-#: parser/parse_clause.c:1209
+#: parser/parse_clause.c:1211
 #, c-format
 msgid "column alias list for \"%s\" has too many entries"
 msgstr "la liste d'alias de colonnes pour « %s » a beaucoup trop d'entrées"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1518
+#: parser/parse_clause.c:1520
 #, c-format
 msgid "argument of %s must not contain variables"
 msgstr "l'argument de « %s » ne doit pas contenir de variables"
 
 #. translator: first %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1683
+#: parser/parse_clause.c:1685
 #, c-format
 msgid "%s \"%s\" is ambiguous"
 msgstr "%s « %s » est ambigu"
 
 #. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1712
+#: parser/parse_clause.c:1714
 #, c-format
 msgid "non-integer constant in %s"
 msgstr "constante non entière dans %s"
 
 #. translator: %s is name of a SQL construct, eg ORDER BY
-#: parser/parse_clause.c:1734
+#: parser/parse_clause.c:1736
 #, c-format
 msgid "%s position %d is not in select list"
 msgstr "%s, à la position %d, n'est pas dans la liste SELECT"
 
-#: parser/parse_clause.c:2176
+#: parser/parse_clause.c:2178
 #, c-format
 msgid "CUBE is limited to 12 elements"
 msgstr "CUBE est limité à 12 éléments"
 
-#: parser/parse_clause.c:2382
+#: parser/parse_clause.c:2384
 #, c-format
 msgid "window \"%s\" is already defined"
 msgstr "le window « %s » est déjà définie"
 
-#: parser/parse_clause.c:2444
+#: parser/parse_clause.c:2446
 #, c-format
 msgid "cannot override PARTITION BY clause of window \"%s\""
 msgstr "n'a pas pu surcharger la clause PARTITION BY de window « %s »"
 
-#: parser/parse_clause.c:2456
+#: parser/parse_clause.c:2458
 #, c-format
 msgid "cannot override ORDER BY clause of window \"%s\""
 msgstr "n'a pas pu surcharger la clause ORDER BY de window « %s »"
 
-#: parser/parse_clause.c:2486 parser/parse_clause.c:2492
+#: parser/parse_clause.c:2488 parser/parse_clause.c:2494
 #, c-format
 msgid "cannot copy window \"%s\" because it has a frame clause"
 msgstr "ne peut pas copier la fenêtre « %s » car il dispose d'une clause de portée"
 
-#: parser/parse_clause.c:2494
+#: parser/parse_clause.c:2496
 #, c-format
 msgid "Omit the parentheses in this OVER clause."
 msgstr "Omettre les parenthèses dans cette clause OVER."
 
-#: parser/parse_clause.c:2560
+#: parser/parse_clause.c:2562
 #, c-format
 msgid "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument list"
 msgstr ""
 "dans un agrégat avec DISTINCT, les expressions ORDER BY doivent apparaître\n"
 "dans la liste d'argument"
 
-#: parser/parse_clause.c:2561
+#: parser/parse_clause.c:2563
 #, c-format
 msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list"
 msgstr ""
 "pour SELECT DISTINCT, ORDER BY, les expressions doivent apparaître dans la\n"
 "liste SELECT"
 
-#: parser/parse_clause.c:2594
+#: parser/parse_clause.c:2596
 #, c-format
 msgid "an aggregate with DISTINCT must have at least one argument"
 msgstr "un agrégat avec DISTINCT doit avoir au moins un argument"
 
-#: parser/parse_clause.c:2595
+#: parser/parse_clause.c:2597
 #, c-format
 msgid "SELECT DISTINCT must have at least one column"
 msgstr "SELECT DISTINCT doit avoir au moins une colonne"
 
-#: parser/parse_clause.c:2661 parser/parse_clause.c:2693
+#: parser/parse_clause.c:2663 parser/parse_clause.c:2695
 #, c-format
 msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
 msgstr ""
 "les expressions SELECT DISTINCT ON doivent correspondre aux expressions\n"
 "ORDER BY initiales"
 
-#: parser/parse_clause.c:2772
+#: parser/parse_clause.c:2774
 #, c-format
 msgid "ASC/DESC is not allowed in ON CONFLICT clause"
 msgstr "ASC/DESC n'est pas autorisé avec la clause ON CONFLICT"
 
-#: parser/parse_clause.c:2778
+#: parser/parse_clause.c:2780
 #, c-format
 msgid "NULLS FIRST/LAST is not allowed in ON CONFLICT clause"
 msgstr "NULLS FIRST/LAST n'est pas autorisé avec la clause ON CONFLICT"
 
-#: parser/parse_clause.c:2858
+#: parser/parse_clause.c:2860
 #, c-format
 msgid "ON CONFLICT DO UPDATE requires inference specification or constraint name"
 msgstr "ON CONFLICT DO UPDATE requiert une spécification d'inférence ou un nom de contrainte"
 
-#: parser/parse_clause.c:2859
+#: parser/parse_clause.c:2861
 #, c-format
 msgid "For example, ON CONFLICT (column_name)."
 msgstr "Par exemple, ON CONFLICT (nom_colonne)"
 
-#: parser/parse_clause.c:2870
+#: parser/parse_clause.c:2872
 #, c-format
 msgid "ON CONFLICT is not supported with system catalog tables"
 msgstr "ON CONFLICT n'est pas supporté avec les catalogues systèmes"
 
-#: parser/parse_clause.c:2878
+#: parser/parse_clause.c:2880
 #, c-format
 msgid "ON CONFLICT is not supported on table \"%s\" used as a catalog table"
 msgstr "ON CONFLICT n'est pas supporté sur la table « %s » utilisée comme une table catalogue"
 
-#: parser/parse_clause.c:3010
+#: parser/parse_clause.c:3012
 #, c-format
 msgid "operator %s is not a valid ordering operator"
 msgstr "l'opérateur %s n'est pas un opérateur de tri valide"
 
-#: parser/parse_clause.c:3012
+#: parser/parse_clause.c:3014
 #, c-format
 msgid "Ordering operators must be \"<\" or \">\" members of btree operator families."
 msgstr ""
 "Les opérateurs de tri doivent être les membres « < » ou « > » des familles\n"
 "d'opérateurs btree."
 
-#: parser/parse_coerce.c:971 parser/parse_coerce.c:1001 parser/parse_coerce.c:1019 parser/parse_coerce.c:1034 parser/parse_expr.c:2015 parser/parse_expr.c:2528 parser/parse_target.c:874
+#: parser/parse_coerce.c:971 parser/parse_coerce.c:1001
+#: parser/parse_coerce.c:1019 parser/parse_coerce.c:1034
+#: parser/parse_expr.c:2028 parser/parse_expr.c:2552 parser/parse_target.c:874
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "ne peut pas convertir le type %s en %s"
@@ -12655,7 +13637,8 @@ msgstr "les arguments d
 msgid "arguments declared \"anyrange\" are not all alike"
 msgstr "les arguments déclarés « anyrange » ne sont pas tous identiques"
 
-#: parser/parse_coerce.c:1698 parser/parse_coerce.c:1909 parser/parse_coerce.c:1943
+#: parser/parse_coerce.c:1698 parser/parse_coerce.c:1909
+#: parser/parse_coerce.c:1943
 #, c-format
 msgid "argument declared \"anyarray\" is not an array but type %s"
 msgstr "l'argument déclaré « anyarray » n'est pas un tableau mais est du type %s"
@@ -12701,12 +13684,14 @@ msgstr "le type d
 msgid "could not find range type for data type %s"
 msgstr "n'a pas pu trouver le type range pour le type de données %s"
 
-#: parser/parse_collate.c:228 parser/parse_collate.c:475 parser/parse_collate.c:986
+#: parser/parse_collate.c:228 parser/parse_collate.c:475
+#: parser/parse_collate.c:986
 #, c-format
 msgid "collation mismatch between implicit collations \"%s\" and \"%s\""
 msgstr "le collationnement ne correspond pas aux collationnements implicites « %s » et « %s »"
 
-#: parser/parse_collate.c:231 parser/parse_collate.c:478 parser/parse_collate.c:989
+#: parser/parse_collate.c:231 parser/parse_collate.c:478
+#: parser/parse_collate.c:989
 #, c-format
 msgid "You can choose the collation by applying the COLLATE clause to one or both expressions."
 msgstr "Vous pouvez choisir le collationnement en appliquant la clause COLLATE à une ou aux deux expressions."
@@ -12832,7 +13817,8 @@ msgstr "FOR UPDATE/SHARE dans une requ
 msgid "recursive reference to query \"%s\" must not appear more than once"
 msgstr "la référence récursive à la requête « %s » ne doit pas apparaître plus d'une fois"
 
-#: parser/parse_expr.c:387 parser/parse_relation.c:3083 parser/parse_relation.c:3103
+#: parser/parse_expr.c:387 parser/parse_relation.c:3083
+#: parser/parse_relation.c:3103
 #, c-format
 msgid "column %s.%s does not exist"
 msgstr "la colonne %s.%s n'existe pas"
@@ -12857,144 +13843,146 @@ msgstr "notation d'attribut .%s appliqu
 msgid "row expansion via \"*\" is not supported here"
 msgstr "l'expansion de ligne via « * » n'est pas supporté ici"
 
-#: parser/parse_expr.c:767 parser/parse_relation.c:667 parser/parse_relation.c:767 parser/parse_target.c:1109
+#: parser/parse_expr.c:767 parser/parse_relation.c:667
+#: parser/parse_relation.c:767 parser/parse_target.c:1109
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "la référence à la colonne « %s » est ambigu"
 
-#: parser/parse_expr.c:823 parser/parse_param.c:110 parser/parse_param.c:142 parser/parse_param.c:199 parser/parse_param.c:298
+#: parser/parse_expr.c:823 parser/parse_param.c:110 parser/parse_param.c:142
+#: parser/parse_param.c:199 parser/parse_param.c:298
 #, c-format
 msgid "there is no parameter $%d"
 msgstr "Il n'existe pas de paramètres $%d"
 
-#: parser/parse_expr.c:1034
+#: parser/parse_expr.c:1042
 #, c-format
 msgid "NULLIF requires = operator to yield boolean"
 msgstr "NULLIF requiert l'opérateur = pour comparer des booleéns"
 
-#: parser/parse_expr.c:1697
+#: parser/parse_expr.c:1705
 msgid "cannot use subquery in check constraint"
 msgstr "ne peut pas utiliser une sous-requête dans la contrainte de vérification"
 
-#: parser/parse_expr.c:1701
+#: parser/parse_expr.c:1709
 msgid "cannot use subquery in DEFAULT expression"
 msgstr "ne peut pas utiliser de sous-requête dans une expression DEFAULT"
 
-#: parser/parse_expr.c:1704
+#: parser/parse_expr.c:1712
 msgid "cannot use subquery in index expression"
 msgstr "ne peut pas utiliser la sous-requête dans l'expression de l'index"
 
-#: parser/parse_expr.c:1707
+#: parser/parse_expr.c:1715
 msgid "cannot use subquery in index predicate"
 msgstr "ne peut pas utiliser une sous-requête dans un prédicat d'index"
 
-#: parser/parse_expr.c:1710
+#: parser/parse_expr.c:1718
 msgid "cannot use subquery in transform expression"
 msgstr "ne peut pas utiliser une sous-requête dans l'expression de transformation"
 
-#: parser/parse_expr.c:1713
+#: parser/parse_expr.c:1721
 msgid "cannot use subquery in EXECUTE parameter"
 msgstr "ne peut pas utiliser les sous-requêtes dans le paramètre EXECUTE"
 
-#: parser/parse_expr.c:1716
+#: parser/parse_expr.c:1724
 msgid "cannot use subquery in trigger WHEN condition"
 msgstr "ne peut pas utiliser une sous-requête dans la condition WHEN d'un trigger"
 
-#: parser/parse_expr.c:1770
+#: parser/parse_expr.c:1778
 #, c-format
 msgid "subquery must return only one column"
 msgstr "la sous-requête doit renvoyer une seule colonne"
 
-#: parser/parse_expr.c:1854
+#: parser/parse_expr.c:1862
 #, c-format
 msgid "subquery has too many columns"
 msgstr "la sous-requête a trop de colonnes"
 
-#: parser/parse_expr.c:1859
+#: parser/parse_expr.c:1867
 #, c-format
 msgid "subquery has too few columns"
 msgstr "la sous-requête n'a pas assez de colonnes"
 
-#: parser/parse_expr.c:1955
+#: parser/parse_expr.c:1968
 #, c-format
 msgid "cannot determine type of empty array"
 msgstr "ne peut pas déterminer le type d'un tableau vide"
 
-#: parser/parse_expr.c:1956
+#: parser/parse_expr.c:1969
 #, c-format
 msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]."
 msgstr "Convertit explicitement vers le type désiré, par exemple ARRAY[]::integer[]."
 
-#: parser/parse_expr.c:1970
+#: parser/parse_expr.c:1983
 #, c-format
 msgid "could not find element type for data type %s"
 msgstr "n'a pas pu trouver le type d'élément pour le type de données %s"
 
-#: parser/parse_expr.c:2193
+#: parser/parse_expr.c:2206
 #, c-format
 msgid "unnamed XML attribute value must be a column reference"
 msgstr "la valeur d'un attribut XML sans nom doit être une référence de colonne"
 
-#: parser/parse_expr.c:2194
+#: parser/parse_expr.c:2207
 #, c-format
 msgid "unnamed XML element value must be a column reference"
 msgstr "la valeur d'un élément XML sans nom doit être une référence de colonne"
 
-#: parser/parse_expr.c:2209
+#: parser/parse_expr.c:2222
 #, c-format
 msgid "XML attribute name \"%s\" appears more than once"
 msgstr "le nom de l'attribut XML « %s » apparaît plus d'une fois"
 
-#: parser/parse_expr.c:2316
+#: parser/parse_expr.c:2329
 #, c-format
 msgid "cannot cast XMLSERIALIZE result to %s"
 msgstr "ne peut pas convertir le résultat XMLSERIALIZE en %s"
 
-#: parser/parse_expr.c:2601 parser/parse_expr.c:2797
+#: parser/parse_expr.c:2625 parser/parse_expr.c:2821
 #, c-format
 msgid "unequal number of entries in row expressions"
 msgstr "nombre différent d'entrées dans les expressions de ligne"
 
-#: parser/parse_expr.c:2611
+#: parser/parse_expr.c:2635
 #, c-format
 msgid "cannot compare rows of zero length"
 msgstr "n'a pas pu comparer des lignes de taille zéro"
 
-#: parser/parse_expr.c:2636
+#: parser/parse_expr.c:2660
 #, c-format
 msgid "row comparison operator must yield type boolean, not type %s"
 msgstr ""
 "l'opérateur de comparaison de ligne doit renvoyer le type booléen, et non le\n"
 "type %s"
 
-#: parser/parse_expr.c:2643
+#: parser/parse_expr.c:2667
 #, c-format
 msgid "row comparison operator must not return a set"
 msgstr "l'opérateur de comparaison de ligne ne doit pas renvoyer un ensemble"
 
-#: parser/parse_expr.c:2702 parser/parse_expr.c:2743
+#: parser/parse_expr.c:2726 parser/parse_expr.c:2767
 #, c-format
 msgid "could not determine interpretation of row comparison operator %s"
 msgstr "n'a pas pu déterminer l'interprétation de l'opérateur de comparaison de ligne %s"
 
-#: parser/parse_expr.c:2704
+#: parser/parse_expr.c:2728
 #, c-format
 msgid "Row comparison operators must be associated with btree operator families."
 msgstr ""
 "Les opérateurs de comparaison de lignes doivent être associés à des familles\n"
 "d'opérateurs btree."
 
-#: parser/parse_expr.c:2745
+#: parser/parse_expr.c:2769
 #, c-format
 msgid "There are multiple equally-plausible candidates."
 msgstr "Il existe de nombreus candidats également plausibles."
 
-#: parser/parse_expr.c:2837
+#: parser/parse_expr.c:2861
 #, c-format
 msgid "IS DISTINCT FROM requires = operator to yield boolean"
 msgstr "IS DISTINCT FROM requiert l'opérateur = pour comparer des booléens"
 
-#: parser/parse_expr.c:3127 parser/parse_expr.c:3145
+#: parser/parse_expr.c:3151 parser/parse_expr.c:3169
 #, c-format
 msgid "operator precedence change: %s is now lower precedence than %s"
 msgstr ""
@@ -13111,52 +14099,52 @@ msgstr ""
 msgid "VARIADIC argument must be an array"
 msgstr "l'argument VARIADIC doit être un tableau"
 
-#: parser/parse_func.c:668 parser/parse_func.c:732
+#: parser/parse_func.c:669 parser/parse_func.c:733
 #, c-format
 msgid "%s(*) must be used to call a parameterless aggregate function"
 msgstr "%s(*) doit être utilisé pour appeler une fonction d'agrégat sans paramètre"
 
-#: parser/parse_func.c:675
+#: parser/parse_func.c:676
 #, c-format
 msgid "aggregates cannot return sets"
 msgstr "les agrégats ne peuvent pas renvoyer des ensembles"
 
-#: parser/parse_func.c:690
+#: parser/parse_func.c:691
 #, c-format
 msgid "aggregates cannot use named arguments"
 msgstr "les agrégats ne peuvent pas utiliser des aguments nommés"
 
-#: parser/parse_func.c:722
+#: parser/parse_func.c:723
 #, c-format
 msgid "DISTINCT is not implemented for window functions"
 msgstr "DISTINCT n'est pas implémenté pour des fonctions window"
 
-#: parser/parse_func.c:742
+#: parser/parse_func.c:743
 #, c-format
 msgid "aggregate ORDER BY is not implemented for window functions"
 msgstr "l'agrégat ORDER BY n'est pas implémenté pour des fonctions window"
 
-#: parser/parse_func.c:751
+#: parser/parse_func.c:752
 #, c-format
 msgid "FILTER is not implemented for non-aggregate window functions"
 msgstr "FILTER n'est pas implémenté pour des fonctions de fenêtrage non agrégats"
 
-#: parser/parse_func.c:757
+#: parser/parse_func.c:758
 #, c-format
 msgid "window functions cannot return sets"
 msgstr "les fonctions window ne peuvent pas renvoyer des ensembles"
 
-#: parser/parse_func.c:2007
+#: parser/parse_func.c:2008
 #, c-format
 msgid "aggregate %s(*) does not exist"
 msgstr "l'agrégat %s(*) n'existe pas"
 
-#: parser/parse_func.c:2012
+#: parser/parse_func.c:2013
 #, c-format
 msgid "aggregate %s does not exist"
 msgstr "l'agrégat %s n'existe pas"
 
-#: parser/parse_func.c:2031
+#: parser/parse_func.c:2032
 #, c-format
 msgid "function %s is not an aggregate"
 msgstr "la fonction %s n'est pas un agrégat"
@@ -13171,17 +14159,18 @@ msgstr "les listes cibles peuvent avoir au plus %d colonnes"
 msgid "cannot subscript type %s because it is not an array"
 msgstr "ne peut pas indicer le type %s car il ne s'agit pas d'un tableau"
 
-#: parser/parse_node.c:356 parser/parse_node.c:383
+#: parser/parse_node.c:356 parser/parse_node.c:393
 #, c-format
 msgid "array subscript must have type integer"
 msgstr "l'indice d'un tableau doit être de type entier"
 
-#: parser/parse_node.c:407
+#: parser/parse_node.c:424
 #, c-format
 msgid "array assignment requires type %s but expression is of type %s"
 msgstr "l'affectation de tableaux requiert le type %s mais l'expression est de type %s"
 
-#: parser/parse_oper.c:125 parser/parse_oper.c:722 utils/adt/regproc.c:583 utils/adt/regproc.c:603 utils/adt/regproc.c:787
+#: parser/parse_oper.c:125 parser/parse_oper.c:722 utils/adt/regproc.c:583
+#: utils/adt/regproc.c:603 utils/adt/regproc.c:787
 #, c-format
 msgid "operator does not exist: %s"
 msgstr "l'opérateur n'existe pas : %s"
@@ -13191,7 +14180,10 @@ msgstr "l'op
 msgid "Use an explicit ordering operator or modify the query."
 msgstr "Utilisez un opérateur explicite de tri ou modifiez la requête."
 
-#: parser/parse_oper.c:226 utils/adt/array_userfuncs.c:782 utils/adt/array_userfuncs.c:920 utils/adt/arrayfuncs.c:3613 utils/adt/arrayfuncs.c:4051 utils/adt/arrayfuncs.c:6029 utils/adt/rowtypes.c:1167
+#: parser/parse_oper.c:226 utils/adt/array_userfuncs.c:782
+#: utils/adt/array_userfuncs.c:920 utils/adt/arrayfuncs.c:3639
+#: utils/adt/arrayfuncs.c:4077 utils/adt/arrayfuncs.c:6055
+#: utils/adt/rowtypes.c:1167
 #, c-format
 msgid "could not identify an equality operator for type %s"
 msgstr "n'a pas pu identifier un opérateur d'égalité pour le type %s"
@@ -13282,7 +14274,8 @@ msgstr "Le type JOIN combin
 msgid "system column \"%s\" reference in check constraint is invalid"
 msgstr "la référence de la colonne système « %s » dans la contrainte CHECK est invalide"
 
-#: parser/parse_relation.c:1065 parser/parse_relation.c:1345 parser/parse_relation.c:1847
+#: parser/parse_relation.c:1065 parser/parse_relation.c:1345
+#: parser/parse_relation.c:1847
 #, c-format
 msgid "table \"%s\" has %d columns available but %d columns specified"
 msgstr "la table « %s » a %d colonnes disponibles mais %d colonnes spécifiées"
@@ -13433,7 +14426,7 @@ msgstr "r
 msgid "type reference %s converted to %s"
 msgstr "référence de type %s convertie en %s"
 
-#: parser/parse_type.c:261 parser/parse_type.c:805 utils/cache/typcache.c:238
+#: parser/parse_type.c:261 parser/parse_type.c:805 utils/cache/typcache.c:239
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "le type « %s » est seulement un shell"
@@ -13453,244 +14446,236 @@ msgstr "les modificateurs de type doivent 
 msgid "invalid type name \"%s\""
 msgstr "nom de type « %s » invalide"
 
-#: parser/parse_utilcmd.c:358
+#: parser/parse_utilcmd.c:399
 #, c-format
 msgid "array of serial is not implemented"
 msgstr "le tableau de type serial n'est pas implanté"
 
-#: parser/parse_utilcmd.c:406
+#: parser/parse_utilcmd.c:447
 #, c-format
 msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\""
 msgstr "%s créera des séquences implicites « %s » pour la colonne serial « %s.%s »"
 
-#: parser/parse_utilcmd.c:500 parser/parse_utilcmd.c:512
+#: parser/parse_utilcmd.c:541 parser/parse_utilcmd.c:553
 #, c-format
 msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
 msgstr "déclarations NULL/NOT NULL en conflit pour la colonne « %s » de la table « %s »"
 
-#: parser/parse_utilcmd.c:524
+#: parser/parse_utilcmd.c:565
 #, c-format
 msgid "multiple default values specified for column \"%s\" of table \"%s\""
 msgstr ""
 "plusieurs valeurs par défaut sont spécifiées pour la colonne « %s » de la table\n"
 "« %s »"
 
-#: parser/parse_utilcmd.c:541 parser/parse_utilcmd.c:632
+#: parser/parse_utilcmd.c:582 parser/parse_utilcmd.c:673
 #, c-format
 msgid "primary key constraints are not supported on foreign tables"
 msgstr "les clés primaires ne sont pas supportées par les tables distantes"
 
-#: parser/parse_utilcmd.c:550 parser/parse_utilcmd.c:642
+#: parser/parse_utilcmd.c:591 parser/parse_utilcmd.c:683
 #, c-format
 msgid "unique constraints are not supported on foreign tables"
 msgstr "les contraintes uniques ne sont pas supportées par les tables distantes"
 
-#: parser/parse_utilcmd.c:567 parser/parse_utilcmd.c:666
+#: parser/parse_utilcmd.c:608 parser/parse_utilcmd.c:707
 #, c-format
 msgid "foreign key constraints are not supported on foreign tables"
 msgstr "les clés étrangères ne sont pas supportées par les tables distantes"
 
-#: parser/parse_utilcmd.c:652
+#: parser/parse_utilcmd.c:693
 #, c-format
 msgid "exclusion constraints are not supported on foreign tables"
 msgstr "les contraintes d'exclusion ne sont pas supportées par les tables distantes"
 
-#: parser/parse_utilcmd.c:716
+#: parser/parse_utilcmd.c:757
 #, c-format
 msgid "LIKE is not supported for creating foreign tables"
 msgstr "LIKE n'est pas supporté pour la création de tables distantes"
 
-#: parser/parse_utilcmd.c:1239 parser/parse_utilcmd.c:1315
+#: parser/parse_utilcmd.c:1288 parser/parse_utilcmd.c:1364
 #, c-format
 msgid "Index \"%s\" contains a whole-row table reference."
 msgstr "l'index « %s » contient une référence de table de ligne complète"
 
-#: parser/parse_utilcmd.c:1584
+#: parser/parse_utilcmd.c:1634
 #, c-format
 msgid "cannot use an existing index in CREATE TABLE"
 msgstr "ne peut pas utiliser un index existant dans CREATE TABLE"
 
-#: parser/parse_utilcmd.c:1604
+#: parser/parse_utilcmd.c:1654
 #, c-format
 msgid "index \"%s\" is already associated with a constraint"
 msgstr "l'index « %s » est déjà associé à une contrainte"
 
-#: parser/parse_utilcmd.c:1612
+#: parser/parse_utilcmd.c:1662
 #, c-format
 msgid "index \"%s\" does not belong to table \"%s\""
 msgstr "l'index « %s » n'appartient pas à la table « %s »"
 
-#: parser/parse_utilcmd.c:1619
+#: parser/parse_utilcmd.c:1669
 #, c-format
 msgid "index \"%s\" is not valid"
 msgstr "l'index « %s » n'est pas valide"
 
-#: parser/parse_utilcmd.c:1625
+#: parser/parse_utilcmd.c:1675
 #, c-format
 msgid "\"%s\" is not a unique index"
 msgstr "« %s » n'est pas un index unique"
 
-#: parser/parse_utilcmd.c:1626 parser/parse_utilcmd.c:1633 parser/parse_utilcmd.c:1640 parser/parse_utilcmd.c:1710
+#: parser/parse_utilcmd.c:1676 parser/parse_utilcmd.c:1683
+#: parser/parse_utilcmd.c:1690 parser/parse_utilcmd.c:1760
 #, c-format
 msgid "Cannot create a primary key or unique constraint using such an index."
 msgstr "Ne peut pas créer une clé primaire ou une contrainte unique avec cet index."
 
-#: parser/parse_utilcmd.c:1632
+#: parser/parse_utilcmd.c:1682
 #, c-format
 msgid "index \"%s\" contains expressions"
 msgstr "l'index « %s » contient des expressions"
 
-#: parser/parse_utilcmd.c:1639
+#: parser/parse_utilcmd.c:1689
 #, c-format
 msgid "\"%s\" is a partial index"
 msgstr "« %s » est un index partiel"
 
-#: parser/parse_utilcmd.c:1651
+#: parser/parse_utilcmd.c:1701
 #, c-format
 msgid "\"%s\" is a deferrable index"
 msgstr "« %s » est un index déferrable"
 
-#: parser/parse_utilcmd.c:1652
+#: parser/parse_utilcmd.c:1702
 #, c-format
 msgid "Cannot create a non-deferrable constraint using a deferrable index."
 msgstr "Ne peut pas créer une contrainte non-déferrable utilisant un index déferrable."
 
-#: parser/parse_utilcmd.c:1709
+#: parser/parse_utilcmd.c:1759
 #, c-format
 msgid "index \"%s\" does not have default sorting behavior"
 msgstr "l'index « %s » n'a pas de comportement de tri par défaut"
 
-#: parser/parse_utilcmd.c:1856
+#: parser/parse_utilcmd.c:1906
 #, c-format
 msgid "column \"%s\" appears twice in primary key constraint"
 msgstr "la colonne « %s » apparaît deux fois dans la contrainte de la clé primaire"
 
-#: parser/parse_utilcmd.c:1862
+#: parser/parse_utilcmd.c:1912
 #, c-format
 msgid "column \"%s\" appears twice in unique constraint"
 msgstr "la colonne « %s » apparaît deux fois sur une contrainte unique"
 
-#: parser/parse_utilcmd.c:2032
+#: parser/parse_utilcmd.c:2116
 #, c-format
 msgid "index expression cannot return a set"
 msgstr "l'expression de l'index ne peut pas renvoyer un ensemble"
 
-#: parser/parse_utilcmd.c:2043
+#: parser/parse_utilcmd.c:2127
 #, c-format
 msgid "index expressions and predicates can refer only to the table being indexed"
 msgstr "les expressions et prédicats d'index peuvent seulement faire référence à la table en cours d'indexage"
 
-#: parser/parse_utilcmd.c:2089
+#: parser/parse_utilcmd.c:2173
 #, c-format
 msgid "rules on materialized views are not supported"
 msgstr "les règles ne sont pas supportés sur les vues matérialisées"
 
-#: parser/parse_utilcmd.c:2150
+#: parser/parse_utilcmd.c:2234
 #, c-format
 msgid "rule WHERE condition cannot contain references to other relations"
 msgstr ""
 "la condition WHERE d'une règle ne devrait pas contenir de références à d'autres\n"
 "relations"
 
-#: parser/parse_utilcmd.c:2222
+#: parser/parse_utilcmd.c:2306
 #, c-format
 msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions"
 msgstr ""
 "les règles avec des conditions WHERE ne peuvent contenir que des actions\n"
 "SELECT, INSERT, UPDATE ou DELETE "
 
-#: parser/parse_utilcmd.c:2240 parser/parse_utilcmd.c:2339 rewrite/rewriteHandler.c:478 rewrite/rewriteManip.c:1015
+#: parser/parse_utilcmd.c:2324 parser/parse_utilcmd.c:2423
+#: rewrite/rewriteHandler.c:485 rewrite/rewriteManip.c:1015
 #, c-format
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr ""
 "les instructions conditionnelles UNION/INTERSECT/EXCEPT ne sont pas\n"
 "implémentées"
 
-#: parser/parse_utilcmd.c:2258
+#: parser/parse_utilcmd.c:2342
 #, c-format
 msgid "ON SELECT rule cannot use OLD"
 msgstr "la règle ON SELECT ne peut pas utiliser OLD"
 
-#: parser/parse_utilcmd.c:2262
+#: parser/parse_utilcmd.c:2346
 #, c-format
 msgid "ON SELECT rule cannot use NEW"
 msgstr "la règle ON SELECT ne peut pas utiliser NEW"
 
-#: parser/parse_utilcmd.c:2271
+#: parser/parse_utilcmd.c:2355
 #, c-format
 msgid "ON INSERT rule cannot use OLD"
 msgstr "la règle ON INSERT ne peut pas utiliser OLD"
 
-#: parser/parse_utilcmd.c:2277
+#: parser/parse_utilcmd.c:2361
 #, c-format
 msgid "ON DELETE rule cannot use NEW"
 msgstr "la règle ON INSERT ne peut pas utiliser NEW"
 
-#: parser/parse_utilcmd.c:2305
+#: parser/parse_utilcmd.c:2389
 #, c-format
 msgid "cannot refer to OLD within WITH query"
 msgstr "ne peut référencer OLD dans une requête WITH"
 
-#: parser/parse_utilcmd.c:2312
+#: parser/parse_utilcmd.c:2396
 #, c-format
 msgid "cannot refer to NEW within WITH query"
 msgstr "ne peut référencer NEW dans une requête WITH"
 
-#: parser/parse_utilcmd.c:2515
+#: parser/parse_utilcmd.c:2599
 #, c-format
 msgid "transform expression must not return a set"
 msgstr "l'expression de transformation ne doit pas renvoyer un ensemble"
 
-#: parser/parse_utilcmd.c:2629
+#: parser/parse_utilcmd.c:2713
 #, c-format
 msgid "misplaced DEFERRABLE clause"
 msgstr "clause DEFERRABLE mal placée"
 
-#: parser/parse_utilcmd.c:2634 parser/parse_utilcmd.c:2649
+#: parser/parse_utilcmd.c:2718 parser/parse_utilcmd.c:2733
 #, c-format
 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr "clauses DEFERRABLE/NOT DEFERRABLE multiples non autorisées"
 
-#: parser/parse_utilcmd.c:2644
+#: parser/parse_utilcmd.c:2728
 #, c-format
 msgid "misplaced NOT DEFERRABLE clause"
 msgstr "clause NOT DEFERRABLE mal placée"
 
-#: parser/parse_utilcmd.c:2665
+#: parser/parse_utilcmd.c:2749
 #, c-format
 msgid "misplaced INITIALLY DEFERRED clause"
 msgstr "clause INITIALLY DEFERRED mal placée"
 
-#: parser/parse_utilcmd.c:2670 parser/parse_utilcmd.c:2696
+#: parser/parse_utilcmd.c:2754 parser/parse_utilcmd.c:2780
 #, c-format
 msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr "clauses INITIALLY IMMEDIATE/DEFERRED multiples non autorisées"
 
-#: parser/parse_utilcmd.c:2691
+#: parser/parse_utilcmd.c:2775
 #, c-format
 msgid "misplaced INITIALLY IMMEDIATE clause"
 msgstr "clause INITIALLY IMMEDIATE mal placée"
 
-#: parser/parse_utilcmd.c:2882
+#: parser/parse_utilcmd.c:2966
 #, c-format
 msgid "CREATE specifies a schema (%s) different from the one being created (%s)"
 msgstr "CREATE spécifie un schéma (%s) différent de celui tout juste créé (%s)"
 
-#: parser/scansup.c:194
+#: parser/scansup.c:204
 #, c-format
 msgid "identifier \"%s\" will be truncated to \"%s\""
 msgstr "l'identifiant « %s » sera tronqué en « %s »"
 
-#: port/pg_latch.c:344 port/unix_latch.c:344
-#, c-format
-msgid "poll() failed: %m"
-msgstr "échec de poll() : %m"
-
-#: port/pg_latch.c:440 port/unix_latch.c:440 replication/libpqwalreceiver/libpqwalreceiver.c:374
-#, c-format
-msgid "select() failed: %m"
-msgstr "échec de select() : %m"
-
 #: port/pg_sema.c:113 port/sysv_sema.c:113
 #, c-format
 msgid "could not create semaphores: %m"
@@ -13791,61 +14776,44 @@ msgstr "Huge Pages non support
 msgid "could not stat data directory \"%s\": %m"
 msgstr "n'a pas pu lire les informations sur le répertoire des données « %s » : %m"
 
-#: port/win32/crashdump.c:108
+#: port/win32/crashdump.c:122
 #, c-format
 msgid "could not load dbghelp.dll, cannot write crash dump\n"
 msgstr "n'a pas pu charger dbghelp.dll, ne peut pas écrire le « crashdump »\n"
 
-#: port/win32/crashdump.c:116
+#: port/win32/crashdump.c:130
 #, c-format
 msgid "could not load required functions in dbghelp.dll, cannot write crash dump\n"
 msgstr "n'a pas pu charger les fonctions requises dans dbghelp.dll, ne peut pas écrire le « crashdump »\n"
 
-#: port/win32/crashdump.c:147
+#: port/win32/crashdump.c:161
 #, c-format
 msgid "could not open crash dump file \"%s\" for writing: error code %lu\n"
 msgstr "n'a pas pu ouvrir le fichier « crashdump » « %s » en écriture : code d'erreur %lu\n"
 
-#: port/win32/crashdump.c:154
+#: port/win32/crashdump.c:168
 #, c-format
 msgid "wrote crash dump to file \"%s\"\n"
 msgstr "a écrit le « crash dump » dans le fichier « %s »\n"
 
-#: port/win32/crashdump.c:156
+#: port/win32/crashdump.c:170
 #, c-format
 msgid "could not write crash dump to file \"%s\": error code %lu\n"
 msgstr "n'a pas pu écrire le « crashdump » dans le fichier « %s » : code d'erreur %lu\n"
 
-#: port/win32/security.c:43
-#, c-format
-msgid "could not open process token: error code %lu\n"
-msgstr "n'a pas pu ouvrir le jeton du processus : code d'erreur %lu\n"
-
-#: port/win32/security.c:63
-#, c-format
-msgid "could not get SID for Administrators group: error code %lu\n"
-msgstr "n'a pas pu obtenir le SID du groupe d'administrateurs : code d'erreur %lu\n"
-
-#: port/win32/security.c:72
-#, c-format
-msgid "could not get SID for PowerUsers group: error code %lu\n"
-msgstr ""
-"n'a pas pu obtenir le SID du groupe des utilisateurs avec pouvoir :\n"
-"code d'erreur %lu\n"
-
-#: port/win32/signal.c:193
+#: port/win32/signal.c:194
 #, c-format
 msgid "could not create signal listener pipe for PID %d: error code %lu"
 msgstr ""
 "n'a pas pu créer le tube d'écoute de signal pour l'identifiant de processus %d :\n"
 "code d'erreur %lu"
 
-#: port/win32/signal.c:273 port/win32/signal.c:305
+#: port/win32/signal.c:274 port/win32/signal.c:306
 #, c-format
 msgid "could not create signal listener pipe: error code %lu; retrying\n"
 msgstr "n'a pas pu créer le tube d'écoute de signal : code d'erreur %lu ; nouvelle tentative\n"
 
-#: port/win32/signal.c:316
+#: port/win32/signal.c:317
 #, c-format
 msgid "could not create signal dispatch thread: error code %lu\n"
 msgstr "n'a pas pu créer le thread de répartition des signaux : code d'erreur %lu\n"
@@ -14018,7 +14986,7 @@ msgstr[1] "Un maximum de %d processus en t
 msgid "Consider increasing the configuration parameter \"max_worker_processes\"."
 msgstr "Considérez l'augmentation du paramètre « max_worker_processes »."
 
-#: postmaster/checkpointer.c:470
+#: postmaster/checkpointer.c:465
 #, c-format
 msgid "checkpoints are occurring too frequently (%d second apart)"
 msgid_plural "checkpoints are occurring too frequently (%d seconds apart)"
@@ -14029,29 +14997,29 @@ msgstr[1] ""
 "les points de vérification (checkpoints) arrivent trop fréquemment\n"
 "(toutes les %d secondes)"
 
-#: postmaster/checkpointer.c:474
+#: postmaster/checkpointer.c:469
 #, c-format
 msgid "Consider increasing the configuration parameter \"max_wal_size\"."
 msgstr "Considérez l'augmentation du paramètre « max_wal_size »."
 
-#: postmaster/checkpointer.c:621
+#: postmaster/checkpointer.c:616
 #, c-format
 msgid "transaction log switch forced (archive_timeout=%d)"
 msgstr "changement forcé du journal de transaction (archive_timeout=%d)"
 
-#: postmaster/checkpointer.c:1081
+#: postmaster/checkpointer.c:1074
 #, c-format
 msgid "checkpoint request failed"
 msgstr "échec de la demande de point de vérification"
 
-#: postmaster/checkpointer.c:1082
+#: postmaster/checkpointer.c:1075
 #, c-format
 msgid "Consult recent messages in the server log for details."
 msgstr ""
 "Consultez les messages récents du serveur dans les journaux applicatifs pour\n"
 "plus de détails."
 
-#: postmaster/checkpointer.c:1277
+#: postmaster/checkpointer.c:1270
 #, c-format
 msgid "compacted fsync request queue from %d entries to %d entries"
 msgstr "a compacté la queue de requêtes fsync de %d entrées à %d"
@@ -14076,7 +15044,8 @@ msgstr "l'archivage du journal de transactions 
 msgid "archive command failed with exit code %d"
 msgstr "échec de la commande d'archivage avec un code de retour %d"
 
-#: postmaster/pgarch.c:589 postmaster/pgarch.c:599 postmaster/pgarch.c:606 postmaster/pgarch.c:612 postmaster/pgarch.c:621
+#: postmaster/pgarch.c:589 postmaster/pgarch.c:599 postmaster/pgarch.c:606
+#: postmaster/pgarch.c:612 postmaster/pgarch.c:621
 #, c-format
 msgid "The failed archive command was: %s"
 msgstr "La commande d'archivage qui a échoué était : %s"
@@ -14086,7 +15055,7 @@ msgstr "La commande d'archivage qui a 
 msgid "archive command was terminated by exception 0x%X"
 msgstr "la commande d'archivage a été terminée par l'exception 0x%X"
 
-#: postmaster/pgarch.c:598 postmaster/postmaster.c:3459
+#: postmaster/pgarch.c:598 postmaster/postmaster.c:3478
 #, c-format
 msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
 msgstr ""
@@ -14202,234 +15171,236 @@ msgstr ""
 "n'a pas pu lancer le processus fils correspondant au récupérateur de\n"
 "statistiques : %m"
 
-#: postmaster/pgstat.c:1233 postmaster/pgstat.c:1257 postmaster/pgstat.c:1290
-#, c-format
-msgid "must be superuser to reset statistics counters"
-msgstr "doit être super-utilisateur pour réinitialiser les compteurs statistiques"
-
-#: postmaster/pgstat.c:1266
+#: postmaster/pgstat.c:1262
 #, c-format
 msgid "unrecognized reset target: \"%s\""
 msgstr "cible reset non reconnu : « %s »"
 
-#: postmaster/pgstat.c:1267
+#: postmaster/pgstat.c:1263
 #, c-format
 msgid "Target must be \"archiver\" or \"bgwriter\"."
 msgstr "La cible doit être « archiver » ou « bgwriter »."
 
-#: postmaster/pgstat.c:3425
+#: postmaster/pgstat.c:3578
 #, c-format
 msgid "could not read statistics message: %m"
 msgstr "n'a pas pu lire le message des statistiques : %m"
 
-#: postmaster/pgstat.c:3756 postmaster/pgstat.c:3933
+#: postmaster/pgstat.c:3909 postmaster/pgstat.c:4086
 #, c-format
 msgid "could not open temporary statistics file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier temporaire des statistiques « %s » : %m"
 
-#: postmaster/pgstat.c:3824 postmaster/pgstat.c:3978
+#: postmaster/pgstat.c:3977 postmaster/pgstat.c:4131
 #, c-format
 msgid "could not write temporary statistics file \"%s\": %m"
 msgstr "n'a pas pu écrire le fichier temporaire des statistiques « %s » : %m"
 
-#: postmaster/pgstat.c:3833 postmaster/pgstat.c:3987
+#: postmaster/pgstat.c:3986 postmaster/pgstat.c:4140
 #, c-format
 msgid "could not close temporary statistics file \"%s\": %m"
 msgstr "n'a pas pu fermer le fichier temporaire des statistiques « %s » : %m"
 
-#: postmaster/pgstat.c:3841 postmaster/pgstat.c:3995
+#: postmaster/pgstat.c:3994 postmaster/pgstat.c:4148
 #, c-format
 msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m"
 msgstr ""
 "n'a pas pu renommer le fichier temporaire des statistiques « %s » en\n"
 "« %s » : %m"
 
-#: postmaster/pgstat.c:4077 postmaster/pgstat.c:4260 postmaster/pgstat.c:4415
+#: postmaster/pgstat.c:4230 postmaster/pgstat.c:4413 postmaster/pgstat.c:4568
 #, c-format
 msgid "could not open statistics file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier de statistiques « %s » : %m"
 
-#: postmaster/pgstat.c:4089 postmaster/pgstat.c:4099 postmaster/pgstat.c:4109 postmaster/pgstat.c:4130 postmaster/pgstat.c:4145 postmaster/pgstat.c:4201 postmaster/pgstat.c:4272 postmaster/pgstat.c:4292 postmaster/pgstat.c:4310 postmaster/pgstat.c:4326 postmaster/pgstat.c:4344 postmaster/pgstat.c:4360 postmaster/pgstat.c:4427 postmaster/pgstat.c:4439 postmaster/pgstat.c:4451 postmaster/pgstat.c:4476 postmaster/pgstat.c:4498
+#: postmaster/pgstat.c:4242 postmaster/pgstat.c:4252 postmaster/pgstat.c:4262
+#: postmaster/pgstat.c:4283 postmaster/pgstat.c:4298 postmaster/pgstat.c:4354
+#: postmaster/pgstat.c:4425 postmaster/pgstat.c:4445 postmaster/pgstat.c:4463
+#: postmaster/pgstat.c:4479 postmaster/pgstat.c:4497 postmaster/pgstat.c:4513
+#: postmaster/pgstat.c:4580 postmaster/pgstat.c:4592 postmaster/pgstat.c:4604
+#: postmaster/pgstat.c:4629 postmaster/pgstat.c:4651
 #, c-format
 msgid "corrupted statistics file \"%s\""
 msgstr "fichier de statistiques « %s » corrompu"
 
-#: postmaster/pgstat.c:4615
+#: postmaster/pgstat.c:4768
 #, c-format
 msgid "using stale statistics instead of current ones because stats collector is not responding"
 msgstr ""
 "utilise de vieilles statistiques à la place des actuelles car le collecteur de\n"
 "statistiques ne répond pas"
 
-#: postmaster/pgstat.c:4933
+#: postmaster/pgstat.c:5086
 #, c-format
 msgid "database hash table corrupted during cleanup --- abort"
 msgstr ""
 "corruption de la table hachée de la base de données lors du lancement\n"
 "--- annulation"
 
-#: postmaster/postmaster.c:670
+#: postmaster/postmaster.c:676
 #, c-format
 msgid "%s: invalid argument for option -f: \"%s\"\n"
 msgstr "%s : argument invalide pour l'option -f : « %s »\n"
 
-#: postmaster/postmaster.c:756
+#: postmaster/postmaster.c:762
 #, c-format
 msgid "%s: invalid argument for option -t: \"%s\"\n"
 msgstr "%s : argument invalide pour l'option -t : « %s »\n"
 
-#: postmaster/postmaster.c:807
+#: postmaster/postmaster.c:813
 #, c-format
 msgid "%s: invalid argument: \"%s\"\n"
 msgstr "%s : argument invalide : « %s »\n"
 
-#: postmaster/postmaster.c:842
+#: postmaster/postmaster.c:848
 #, c-format
 msgid "%s: superuser_reserved_connections must be less than max_connections\n"
 msgstr "%s : superuser_reserved_connections doit être inférieur à max_connections\n"
 
-#: postmaster/postmaster.c:847
+#: postmaster/postmaster.c:853
 #, c-format
 msgid "%s: max_wal_senders must be less than max_connections\n"
 msgstr "%s : max_wal_senders doit être inférieur à max_connections\n"
 
-#: postmaster/postmaster.c:852
+#: postmaster/postmaster.c:858
 #, c-format
 msgid "WAL archival cannot be enabled when wal_level is \"minimal\""
 msgstr "L'archivage des journaux de transactions ne peut pas être activé quand wal_level vaut « minimal »"
 
-#: postmaster/postmaster.c:855
-#, c-format
-msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"archive\", \"hot_standby\", or \"logical\""
+#: postmaster/postmaster.c:861
+#, fuzzy, c-format
+#| msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"archive\", \"hot_standby\", or \"logical\""
+msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or \"logical\""
 msgstr ""
 "l'envoi d'un flux de transactions (max_wal_senders > 0) nécessite que\n"
 "le paramètre wal_level soit initialisé avec « archive », « hot_standby » ou « logical »"
 
-#: postmaster/postmaster.c:863
+#: postmaster/postmaster.c:869
 #, c-format
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s : tables datetoken invalide, merci de corriger\n"
 
-#: postmaster/postmaster.c:955 postmaster/postmaster.c:1053 utils/init/miscinit.c:1400
+#: postmaster/postmaster.c:961 postmaster/postmaster.c:1059
+#: utils/init/miscinit.c:1429
 #, c-format
 msgid "invalid list syntax in parameter \"%s\""
 msgstr "syntaxe de liste invalide pour le paramètre « %s »"
 
-#: postmaster/postmaster.c:986
+#: postmaster/postmaster.c:992
 #, c-format
 msgid "could not create listen socket for \"%s\""
 msgstr "n'a pas pu créer le socket d'écoute pour « %s »"
 
-#: postmaster/postmaster.c:992
+#: postmaster/postmaster.c:998
 #, c-format
 msgid "could not create any TCP/IP sockets"
 msgstr "n'a pas pu créer de socket TCP/IP"
 
-#: postmaster/postmaster.c:1075
+#: postmaster/postmaster.c:1081
 #, c-format
 msgid "could not create Unix-domain socket in directory \"%s\""
 msgstr "n'a pas pu créer la socket de domaine Unix dans le répertoire « %s »"
 
-#: postmaster/postmaster.c:1081
+#: postmaster/postmaster.c:1087
 #, c-format
 msgid "could not create any Unix-domain sockets"
 msgstr "n'a pas pu créer les sockets de domaine Unix"
 
-#: postmaster/postmaster.c:1093
+#: postmaster/postmaster.c:1099
 #, c-format
 msgid "no socket created for listening"
 msgstr "pas de socket créé pour l'écoute"
 
-#: postmaster/postmaster.c:1133
+#: postmaster/postmaster.c:1139
 #, c-format
 msgid "could not create I/O completion port for child queue"
 msgstr "n'a pas pu créer un port de terminaison I/O pour la queue"
 
-#: postmaster/postmaster.c:1162
+#: postmaster/postmaster.c:1168
 #, c-format
 msgid "%s: could not change permissions of external PID file \"%s\": %s\n"
 msgstr "%s : n'a pas pu modifier les droits du fichier PID externe « %s » : %s\n"
 
-#: postmaster/postmaster.c:1166
+#: postmaster/postmaster.c:1172
 #, c-format
 msgid "%s: could not write external PID file \"%s\": %s\n"
 msgstr "%s : n'a pas pu écrire le fichier PID externe « %s » : %s\n"
 
-#: postmaster/postmaster.c:1217
+#: postmaster/postmaster.c:1223
 #, c-format
 msgid "ending log output to stderr"
 msgstr "arrêt des traces sur stderr"
 
-#: postmaster/postmaster.c:1218
+#: postmaster/postmaster.c:1224
 #, c-format
 msgid "Future log output will go to log destination \"%s\"."
 msgstr "Les traces suivantes iront sur « %s »."
 
-#: postmaster/postmaster.c:1244 utils/init/postinit.c:200
+#: postmaster/postmaster.c:1250 utils/init/postinit.c:214
 #, c-format
 msgid "could not load pg_hba.conf"
 msgstr "n'a pas pu charger pg_hba.conf"
 
-#: postmaster/postmaster.c:1270
+#: postmaster/postmaster.c:1276
 #, c-format
 msgid "postmaster became multithreaded during startup"
 msgstr "le postmaster est devenu multithreadé lors du démarrage"
 
-#: postmaster/postmaster.c:1271
+#: postmaster/postmaster.c:1277
 #, c-format
 msgid "Set the LC_ALL environment variable to a valid locale."
 msgstr "Configurez la variable d'environnement LC_ALL avec une locale valide."
 
-#: postmaster/postmaster.c:1368
+#: postmaster/postmaster.c:1374
 #, c-format
 msgid "%s: could not locate matching postgres executable"
 msgstr "%s : n'a pas pu localiser l'exécutable postgres correspondant"
 
-#: postmaster/postmaster.c:1391 utils/misc/tzparser.c:341
+#: postmaster/postmaster.c:1397 utils/misc/tzparser.c:341
 #, c-format
 msgid "This may indicate an incomplete PostgreSQL installation, or that the file \"%s\" has been moved away from its proper location."
 msgstr "Ceci peut indiquer une installation PostgreSQL incomplète, ou que le fichier « %s » a été déplacé."
 
-#: postmaster/postmaster.c:1419
+#: postmaster/postmaster.c:1425
 #, c-format
 msgid "data directory \"%s\" does not exist"
 msgstr "le répertoire des données « %s » n'existe pas"
 
-#: postmaster/postmaster.c:1424
+#: postmaster/postmaster.c:1430
 #, c-format
 msgid "could not read permissions of directory \"%s\": %m"
 msgstr "n'a pas pu lire les droits du répertoire « %s » : %m"
 
-#: postmaster/postmaster.c:1432
+#: postmaster/postmaster.c:1438
 #, c-format
 msgid "specified data directory \"%s\" is not a directory"
 msgstr "le répertoire des données « %s » n'est pas un répertoire"
 
-#: postmaster/postmaster.c:1448
+#: postmaster/postmaster.c:1454
 #, c-format
 msgid "data directory \"%s\" has wrong ownership"
 msgstr "le répertoire des données « %s » a un mauvais propriétaire"
 
-#: postmaster/postmaster.c:1450
+#: postmaster/postmaster.c:1456
 #, c-format
 msgid "The server must be started by the user that owns the data directory."
 msgstr ""
 "Le serveur doit être en cours d'exécution par l'utilisateur qui possède le\n"
 "répertoire des données."
 
-#: postmaster/postmaster.c:1470
+#: postmaster/postmaster.c:1476
 #, c-format
 msgid "data directory \"%s\" has group or world access"
 msgstr ""
 "le répertoire des données « %s » est accessible par le groupe et/ou par les\n"
 "autres"
 
-#: postmaster/postmaster.c:1472
+#: postmaster/postmaster.c:1478
 #, c-format
 msgid "Permissions should be u=rwx (0700)."
 msgstr "Les droits devraient être u=rwx (0700)."
 
-#: postmaster/postmaster.c:1483
+#: postmaster/postmaster.c:1489
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -14440,376 +15411,381 @@ msgstr ""
 "S'attendait à le trouver dans le répertoire « %s »,\n"
 "mais n'a pas réussi à ouvrir le fichier « %s »: %s\n"
 
-#: postmaster/postmaster.c:1660
+#: postmaster/postmaster.c:1666
 #, c-format
 msgid "select() failed in postmaster: %m"
 msgstr "échec de select() dans postmaster : %m"
 
-#: postmaster/postmaster.c:1810
+#: postmaster/postmaster.c:1816
 #, c-format
 msgid "performing immediate shutdown because data directory lock file is invalid"
 msgstr ""
 
-#: postmaster/postmaster.c:1888 postmaster/postmaster.c:1919
+#: postmaster/postmaster.c:1894 postmaster/postmaster.c:1925
 #, c-format
 msgid "incomplete startup packet"
 msgstr "paquet de démarrage incomplet"
 
-#: postmaster/postmaster.c:1900
+#: postmaster/postmaster.c:1906
 #, c-format
 msgid "invalid length of startup packet"
 msgstr "longueur invalide du paquet de démarrage"
 
-#: postmaster/postmaster.c:1958
+#: postmaster/postmaster.c:1964
 #, c-format
 msgid "failed to send SSL negotiation response: %m"
 msgstr "échec lors de l'envoi de la réponse de négotiation SSL : %m"
 
-#: postmaster/postmaster.c:1987
+#: postmaster/postmaster.c:1993
 #, c-format
 msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u"
 msgstr ""
 "Protocole non supportée de l'interface %u.%u : le serveur supporte de %u.0 à\n"
 "%u.%u"
 
-#: postmaster/postmaster.c:2050 utils/misc/guc.c:5484 utils/misc/guc.c:5577 utils/misc/guc.c:6869 utils/misc/guc.c:9566 utils/misc/guc.c:9600
+#: postmaster/postmaster.c:2056 utils/misc/guc.c:5657 utils/misc/guc.c:5750
+#: utils/misc/guc.c:7047 utils/misc/guc.c:9783 utils/misc/guc.c:9817
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "valeur invalide pour le paramètre « %s » : « %s »"
 
-#: postmaster/postmaster.c:2053
+#: postmaster/postmaster.c:2059
 #, c-format
 msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"."
 msgstr "Les valeurs valides sont : « false », « 0 », « true », « 1 », « database »."
 
-#: postmaster/postmaster.c:2073
+#: postmaster/postmaster.c:2079
 #, c-format
 msgid "invalid startup packet layout: expected terminator as last byte"
 msgstr ""
 "configuration invalide du paquet de démarrage : terminaison attendue comme\n"
 "dernier octet"
 
-#: postmaster/postmaster.c:2101
+#: postmaster/postmaster.c:2107
 #, c-format
 msgid "no PostgreSQL user name specified in startup packet"
 msgstr "aucun nom d'utilisateur PostgreSQL n'a été spécifié dans le paquet de démarrage"
 
-#: postmaster/postmaster.c:2160
+#: postmaster/postmaster.c:2166
 #, c-format
 msgid "the database system is starting up"
 msgstr "le système de bases de données se lance"
 
-#: postmaster/postmaster.c:2165
+#: postmaster/postmaster.c:2171
 #, c-format
 msgid "the database system is shutting down"
 msgstr "le système de base de données s'arrête"
 
-#: postmaster/postmaster.c:2170
+#: postmaster/postmaster.c:2176
 #, c-format
 msgid "the database system is in recovery mode"
 msgstr "le système de bases de données est en cours de restauration"
 
-#: postmaster/postmaster.c:2175 storage/ipc/procarray.c:284 storage/ipc/sinvaladt.c:298 storage/lmgr/proc.c:334
+#: postmaster/postmaster.c:2181 storage/ipc/procarray.c:297
+#: storage/ipc/sinvaladt.c:298 storage/lmgr/proc.c:340
 #, c-format
 msgid "sorry, too many clients already"
 msgstr "désolé, trop de clients sont déjà connectés"
 
-#: postmaster/postmaster.c:2237
+#: postmaster/postmaster.c:2243
 #, c-format
 msgid "wrong key in cancel request for process %d"
 msgstr "mauvaise clé dans la demande d'annulation pour le processus %d"
 
-#: postmaster/postmaster.c:2245
+#: postmaster/postmaster.c:2251
 #, c-format
 msgid "PID %d in cancel request did not match any process"
 msgstr "le PID %d dans la demande d'annulation ne correspond à aucun processus"
 
-#: postmaster/postmaster.c:2465
+#: postmaster/postmaster.c:2471
 #, c-format
 msgid "received SIGHUP, reloading configuration files"
 msgstr "a reçu SIGHUP, rechargement des fichiers de configuration"
 
-#: postmaster/postmaster.c:2490
+#: postmaster/postmaster.c:2496
 #, c-format
 msgid "pg_hba.conf not reloaded"
 msgstr "pg_hba.conf non lu"
 
-#: postmaster/postmaster.c:2494
+#: postmaster/postmaster.c:2500
 #, c-format
 msgid "pg_ident.conf not reloaded"
 msgstr "pg_ident.conf non rechargé"
 
-#: postmaster/postmaster.c:2535
+#: postmaster/postmaster.c:2541
 #, c-format
 msgid "received smart shutdown request"
 msgstr "a reçu une demande d'arrêt intelligent"
 
-#: postmaster/postmaster.c:2587
+#: postmaster/postmaster.c:2596
 #, c-format
 msgid "received fast shutdown request"
 msgstr "a reçu une demande d'arrêt rapide"
 
-#: postmaster/postmaster.c:2613
+#: postmaster/postmaster.c:2625
 #, c-format
 msgid "aborting any active transactions"
 msgstr "annulation des transactions actives"
 
-#: postmaster/postmaster.c:2647
+#: postmaster/postmaster.c:2659
 #, c-format
 msgid "received immediate shutdown request"
 msgstr "a reçu une demande d'arrêt immédiat"
 
-#: postmaster/postmaster.c:2708
+#: postmaster/postmaster.c:2723
 #, c-format
 msgid "shutdown at recovery target"
 msgstr "arrêt sur la cible de restauration"
 
-#: postmaster/postmaster.c:2724 postmaster/postmaster.c:2747
+#: postmaster/postmaster.c:2739 postmaster/postmaster.c:2762
 msgid "startup process"
 msgstr "processus de lancement"
 
-#: postmaster/postmaster.c:2727
+#: postmaster/postmaster.c:2742
 #, c-format
 msgid "aborting startup due to startup process failure"
 msgstr "annulation du démarrage à cause d'un échec dans le processus de lancement"
 
-#: postmaster/postmaster.c:2788
+#: postmaster/postmaster.c:2803
 #, c-format
 msgid "database system is ready to accept connections"
 msgstr "le système de bases de données est prêt pour accepter les connexions"
 
-#: postmaster/postmaster.c:2803
+#: postmaster/postmaster.c:2822
 msgid "background writer process"
 msgstr "processus d'écriture en tâche de fond"
 
-#: postmaster/postmaster.c:2857
+#: postmaster/postmaster.c:2876
 msgid "checkpointer process"
 msgstr "processus checkpointer"
 
-#: postmaster/postmaster.c:2873
+#: postmaster/postmaster.c:2892
 msgid "WAL writer process"
 msgstr "processus d'écriture des journaux de transaction"
 
-#: postmaster/postmaster.c:2887
+#: postmaster/postmaster.c:2906
 msgid "WAL receiver process"
 msgstr "processus de réception des journaux de transaction"
 
-#: postmaster/postmaster.c:2902
+#: postmaster/postmaster.c:2921
 msgid "autovacuum launcher process"
 msgstr "processus de l'autovacuum"
 
-#: postmaster/postmaster.c:2917
+#: postmaster/postmaster.c:2936
 msgid "archiver process"
 msgstr "processus d'archivage"
 
-#: postmaster/postmaster.c:2933
+#: postmaster/postmaster.c:2952
 msgid "statistics collector process"
 msgstr "processus de récupération des statistiques"
 
-#: postmaster/postmaster.c:2947
+#: postmaster/postmaster.c:2966
 msgid "system logger process"
 msgstr "processus des journaux applicatifs"
 
-#: postmaster/postmaster.c:3009
+#: postmaster/postmaster.c:3028
 msgid "worker process"
 msgstr "processus de travail"
 
-#: postmaster/postmaster.c:3092 postmaster/postmaster.c:3112 postmaster/postmaster.c:3119 postmaster/postmaster.c:3137
+#: postmaster/postmaster.c:3111 postmaster/postmaster.c:3131
+#: postmaster/postmaster.c:3138 postmaster/postmaster.c:3156
 msgid "server process"
 msgstr "processus serveur"
 
-#: postmaster/postmaster.c:3191
+#: postmaster/postmaster.c:3210
 #, c-format
 msgid "terminating any other active server processes"
 msgstr "arrêt des autres processus serveur actifs"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3447
+#: postmaster/postmaster.c:3466
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) quitte avec le code de sortie %d"
 
-#: postmaster/postmaster.c:3449 postmaster/postmaster.c:3460 postmaster/postmaster.c:3471 postmaster/postmaster.c:3480 postmaster/postmaster.c:3490
+#: postmaster/postmaster.c:3468 postmaster/postmaster.c:3479
+#: postmaster/postmaster.c:3490 postmaster/postmaster.c:3499
+#: postmaster/postmaster.c:3509
 #, c-format
 msgid "Failed process was running: %s"
 msgstr "Le processus qui a échoué exécutait : %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3457
+#: postmaster/postmaster.c:3476
 #, c-format
 msgid "%s (PID %d) was terminated by exception 0x%X"
 msgstr "%s (PID %d) a été arrêté par l'exception 0x%X"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3467
+#: postmaster/postmaster.c:3486
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d: %s"
 msgstr "%s (PID %d) a été arrêté par le signal %d : %s"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3478
+#: postmaster/postmaster.c:3497
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d"
 msgstr "%s (PID %d) a été arrêté par le signal %d"
 
 #. translator: %s is a noun phrase describing a child process, such as
 #. "server process"
-#: postmaster/postmaster.c:3488
+#: postmaster/postmaster.c:3507
 #, c-format
 msgid "%s (PID %d) exited with unrecognized status %d"
 msgstr "%s (PID %d) a quitté avec le statut inattendu %d"
 
-#: postmaster/postmaster.c:3675
+#: postmaster/postmaster.c:3694
 #, c-format
 msgid "abnormal database system shutdown"
 msgstr "le système de base de données a été arrêté anormalement"
 
-#: postmaster/postmaster.c:3715
+#: postmaster/postmaster.c:3734
 #, c-format
 msgid "all server processes terminated; reinitializing"
 msgstr "tous les processus serveur se sont arrêtés, réinitialisation"
 
-#: postmaster/postmaster.c:3927
+#: postmaster/postmaster.c:3946
 #, c-format
 msgid "could not fork new process for connection: %m"
 msgstr "n'a pas pu lancer le nouveau processus fils pour la connexion : %m"
 
-#: postmaster/postmaster.c:3969
+#: postmaster/postmaster.c:3988
 msgid "could not fork new process for connection: "
 msgstr "n'a pas pu lancer le nouveau processus fils pour la connexion : "
 
-#: postmaster/postmaster.c:4083
+#: postmaster/postmaster.c:4102
 #, c-format
 msgid "connection received: host=%s port=%s"
 msgstr "connexion reçue : hôte=%s port=%s"
 
-#: postmaster/postmaster.c:4088
+#: postmaster/postmaster.c:4107
 #, c-format
 msgid "connection received: host=%s"
 msgstr "connexion reçue : hôte=%s"
 
-#: postmaster/postmaster.c:4371
+#: postmaster/postmaster.c:4390
 #, c-format
 msgid "could not execute server process \"%s\": %m"
 msgstr "n'a pas pu exécuter le processus serveur « %s » : %m"
 
-#: postmaster/postmaster.c:4931
+#: postmaster/postmaster.c:4955
 #, c-format
 msgid "database system is ready to accept read only connections"
 msgstr "le système de bases de données est prêt pour accepter les connexions en lecture seule"
 
-#: postmaster/postmaster.c:5214
+#: postmaster/postmaster.c:5242
 #, c-format
 msgid "could not fork startup process: %m"
 msgstr "n'a pas pu lancer le processus fils de démarrage : %m"
 
-#: postmaster/postmaster.c:5218
+#: postmaster/postmaster.c:5246
 #, c-format
 msgid "could not fork background writer process: %m"
 msgstr ""
 "n'a pas pu créer un processus fils du processus d'écriture en tâche de\n"
 "fond : %m"
 
-#: postmaster/postmaster.c:5222
+#: postmaster/postmaster.c:5250
 #, c-format
 msgid "could not fork checkpointer process: %m"
 msgstr "n'a pas pu créer le processus checkpointer : %m"
 
-#: postmaster/postmaster.c:5226
+#: postmaster/postmaster.c:5254
 #, c-format
 msgid "could not fork WAL writer process: %m"
 msgstr ""
 "n'a pas pu créer un processus fils du processus d'écriture des journaux de\n"
 "transaction : %m"
 
-#: postmaster/postmaster.c:5230
+#: postmaster/postmaster.c:5258
 #, c-format
 msgid "could not fork WAL receiver process: %m"
 msgstr ""
 "n'a pas pu créer un processus fils de réception des journaux de\n"
 "transactions : %m"
 
-#: postmaster/postmaster.c:5234
+#: postmaster/postmaster.c:5262
 #, c-format
 msgid "could not fork process: %m"
 msgstr "n'a pas pu lancer le processus fils : %m"
 
-#: postmaster/postmaster.c:5396 postmaster/postmaster.c:5419
+#: postmaster/postmaster.c:5424 postmaster/postmaster.c:5447
 #, c-format
 msgid "database connection requirement not indicated during registration"
 msgstr "pré-requis de la connexion à la base non indiqué lors de l'enregistrement"
 
-#: postmaster/postmaster.c:5403 postmaster/postmaster.c:5426
+#: postmaster/postmaster.c:5431 postmaster/postmaster.c:5454
 #, c-format
 msgid "invalid processing mode in background worker"
 msgstr "mode de traitement invalide dans le processus en tâche de fond"
 
-#: postmaster/postmaster.c:5478
+#: postmaster/postmaster.c:5506
 #, c-format
 msgid "starting background worker process \"%s\""
 msgstr "démarrage du processus d'écriture en tâche de fond « %s »"
 
-#: postmaster/postmaster.c:5489
+#: postmaster/postmaster.c:5517
 #, c-format
 msgid "could not fork worker process: %m"
 msgstr "n'a pas pu créer un processus fils du processus en tâche de fond : %m"
 
-#: postmaster/postmaster.c:5865
+#: postmaster/postmaster.c:5895
 #, c-format
 msgid "could not duplicate socket %d for use in backend: error code %d"
 msgstr "n'a pas pu dupliquer la socket %d pour le serveur : code d'erreur %d"
 
-#: postmaster/postmaster.c:5897
+#: postmaster/postmaster.c:5927
 #, c-format
 msgid "could not create inherited socket: error code %d\n"
 msgstr "n'a pas pu créer la socket héritée : code d'erreur %d\n"
 
-#: postmaster/postmaster.c:5926
+#: postmaster/postmaster.c:5956
 #, c-format
 msgid "could not open backend variables file \"%s\": %s\n"
 msgstr "n'a pas pu ouvrir le fichier des variables moteurs « %s » : %s\n"
 
-#: postmaster/postmaster.c:5933
+#: postmaster/postmaster.c:5963
 #, c-format
 msgid "could not read from backend variables file \"%s\": %s\n"
 msgstr "n'a pas pu lire le fichier de configuration serveur « %s » : %s\n"
 
-#: postmaster/postmaster.c:5942
+#: postmaster/postmaster.c:5972
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "n'a pas pu supprimer le fichier « %s » : %s\n"
 
-#: postmaster/postmaster.c:5959
+#: postmaster/postmaster.c:5989
 #, c-format
 msgid "could not map view of backend variables: error code %lu\n"
 msgstr ""
 "n'a pas pu exécuter \"map\" la vue des variables serveurs : code\n"
 "d'erreur %lu\n"
 
-#: postmaster/postmaster.c:5968
+#: postmaster/postmaster.c:5998
 #, c-format
 msgid "could not unmap view of backend variables: error code %lu\n"
 msgstr ""
 "n'a pas pu exécuter \"unmap\" sur la vue des variables serveurs : code\n"
 "d'erreur %lu\n"
 
-#: postmaster/postmaster.c:5975
+#: postmaster/postmaster.c:6005
 #, c-format
 msgid "could not close handle to backend parameter variables: error code %lu\n"
 msgstr ""
 "n'a pas pu fermer le lien vers les variables des paramètres du serveur :\n"
 "code d'erreur %lu\n"
 
-#: postmaster/postmaster.c:6134
+#: postmaster/postmaster.c:6166
 #, c-format
 msgid "could not read exit code for process\n"
 msgstr "n'a pas pu lire le code de sortie du processus\n"
 
-#: postmaster/postmaster.c:6139
+#: postmaster/postmaster.c:6171
 #, c-format
 msgid "could not post child completion status\n"
 msgstr "n'a pas pu poster le statut de fin de l'enfant\n"
@@ -14874,77 +15850,81 @@ msgstr "d
 msgid "could not determine which collation to use for regular expression"
 msgstr "n'a pas pu déterminer le collationnement à utiliser pour une expression rationnelle"
 
-#: repl_gram.y:257 repl_gram.y:284
+#: repl_gram.y:260 repl_gram.y:292
 #, c-format
 msgid "invalid timeline %u"
 msgstr "timeline %u invalide"
 
-#: repl_scanner.l:119
+#: repl_scanner.l:120
 msgid "invalid streaming start location"
 msgstr "emplacement de démarrage du flux de réplication invalide"
 
-#: repl_scanner.l:170 scan.l:667
+#: repl_scanner.l:171 scan.l:671
 msgid "unterminated quoted string"
 msgstr "chaîne entre guillemets non terminée"
 
-#: repl_scanner.l:180
+#: repl_scanner.l:181
 #, c-format
 msgid "syntax error: unexpected character \"%s\""
 msgstr "erreur de syntaxe : caractère « %s » inattendu"
 
-#: replication/basebackup.c:227
+#: replication/basebackup.c:230
 #, c-format
 msgid "could not stat control file \"%s\": %m"
 msgstr "n'a pas pu récupérer des informations sur le fichier de contrôle « %s » : %m"
 
-#: replication/basebackup.c:336
+#: replication/basebackup.c:339
 #, c-format
 msgid "could not find any WAL files"
 msgstr "n'a pas pu trouver un seul fichier WAL"
 
-#: replication/basebackup.c:349 replication/basebackup.c:363 replication/basebackup.c:372
+#: replication/basebackup.c:352 replication/basebackup.c:366
+#: replication/basebackup.c:375
 #, c-format
 msgid "could not find WAL file \"%s\""
 msgstr "n'a pas pu trouver le fichier WAL « %s »"
 
-#: replication/basebackup.c:411 replication/basebackup.c:437
+#: replication/basebackup.c:414 replication/basebackup.c:440
 #, c-format
 msgid "unexpected WAL file size \"%s\""
 msgstr "taille du fichier WAL « %s » inattendue"
 
-#: replication/basebackup.c:423 replication/basebackup.c:1169
+#: replication/basebackup.c:426 replication/basebackup.c:1172
 #, c-format
 msgid "base backup could not send data, aborting backup"
 msgstr "la sauvegarde de base n'a pas pu envoyer les données, annulation de la sauvegarde"
 
-#: replication/basebackup.c:525 replication/basebackup.c:534 replication/basebackup.c:543 replication/basebackup.c:552 replication/basebackup.c:561 replication/basebackup.c:572 replication/basebackup.c:589
+#: replication/basebackup.c:528 replication/basebackup.c:537
+#: replication/basebackup.c:546 replication/basebackup.c:555
+#: replication/basebackup.c:564 replication/basebackup.c:575
+#: replication/basebackup.c:592
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "option « %s » dupliquée"
 
-#: replication/basebackup.c:578 utils/misc/guc.c:5494
+#: replication/basebackup.c:581 utils/misc/guc.c:5667
 #, c-format
 msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)"
 msgstr "%d est en dehors des limites valides pour le paramètre « %s » (%d .. %d)"
 
-#: replication/basebackup.c:852 replication/basebackup.c:954
+#: replication/basebackup.c:855 replication/basebackup.c:957
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr ""
 "n'a pas pu récupérer les informations sur le fichier ou répertoire\n"
 "« %s » : %m"
 
-#: replication/basebackup.c:1121
+#: replication/basebackup.c:1124
 #, c-format
 msgid "skipping special file \"%s\""
 msgstr "ignore le fichier spécial « %s »"
 
-#: replication/basebackup.c:1232
+#: replication/basebackup.c:1235
 #, c-format
 msgid "file name too long for tar format: \"%s\""
 msgstr "nom du fichier trop long pour le format tar : « %s »"
 
-#: replication/basebackup.c:1237
+#: replication/basebackup.c:1240
 #, c-format
 msgid "symbolic link target too long for tar format: file name \"%s\", target \"%s\""
 msgstr "cible du lien symbolique trop long pour le format tar  : nom de fichier « %s », cible « %s »"
@@ -14961,7 +15941,8 @@ msgstr ""
 "n'a pas pu recevoir l'identifiant du système de bases de données et\n"
 "l'identifiant de la timeline à partir du serveur principal : %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:151 replication/libpqwalreceiver/libpqwalreceiver.c:305
+#: replication/libpqwalreceiver/libpqwalreceiver.c:151
+#: replication/libpqwalreceiver/libpqwalreceiver.c:305
 #, c-format
 msgid "invalid response from primary server"
 msgstr "réponse invalide du serveur principal"
@@ -15023,108 +16004,113 @@ msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields."
 msgstr "Attendait 1 ligne avec 2 champs, a obtenu %d lignes avec %d champs."
 
 #: replication/libpqwalreceiver/libpqwalreceiver.c:334
+#, fuzzy, c-format
+#| msgid "%s: invalid socket: %s"
+msgid "invalid socket: %s"
+msgstr "%s : socket invalide : %s"
+
+#: replication/libpqwalreceiver/libpqwalreceiver.c:374
+#: storage/ipc/latch.c:1271
 #, c-format
-msgid "socket not open"
-msgstr "socket non ouvert"
+msgid "select() failed: %m"
+msgstr "échec de select() : %m"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:507 replication/libpqwalreceiver/libpqwalreceiver.c:530 replication/libpqwalreceiver/libpqwalreceiver.c:536
+#: replication/libpqwalreceiver/libpqwalreceiver.c:497
+#: replication/libpqwalreceiver/libpqwalreceiver.c:524
+#: replication/libpqwalreceiver/libpqwalreceiver.c:530
 #, c-format
 msgid "could not receive data from WAL stream: %s"
 msgstr "n'a pas pu recevoir des données du flux de WAL : %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:555
+#: replication/libpqwalreceiver/libpqwalreceiver.c:549
 #, c-format
 msgid "could not send data to WAL stream: %s"
 msgstr "n'a pas pu transmettre les données au flux WAL : %s"
 
-#: replication/logical/logical.c:80
+#: replication/logical/logical.c:83
 #, c-format
 msgid "logical decoding requires wal_level >= logical"
 msgstr "le décodage logique requiert wal_level >= logical"
 
-#: replication/logical/logical.c:85
+#: replication/logical/logical.c:88
 #, c-format
 msgid "logical decoding requires a database connection"
 msgstr "le décodage logique requiert une connexion à une base"
 
-#: replication/logical/logical.c:103
+#: replication/logical/logical.c:106
 #, c-format
 msgid "logical decoding cannot be used while in recovery"
 msgstr "le décodage logique ne peut pas être utilisé lors de la restauration"
 
-#: replication/logical/logical.c:234 replication/logical/logical.c:383
+#: replication/logical/logical.c:238 replication/logical/logical.c:350
 #, c-format
 msgid "cannot use physical replication slot for logical decoding"
 msgstr "ne peut pas utiliser un slot de réplication physique pour le décodage logique"
 
-#: replication/logical/logical.c:239 replication/logical/logical.c:388
+#: replication/logical/logical.c:243 replication/logical/logical.c:355
 #, c-format
 msgid "replication slot \"%s\" was not created in this database"
 msgstr "le slot de réplication « %s » n'a pas été créé dans cette base de données"
 
-#: replication/logical/logical.c:246
+#: replication/logical/logical.c:250
 #, c-format
 msgid "cannot create logical replication slot in transaction that has performed writes"
 msgstr "ne peut pas créer un slot de réplication logique dans une transaction qui a fait des écritures"
 
-#: replication/logical/logical.c:425
+#: replication/logical/logical.c:392
 #, c-format
 msgid "starting logical decoding for slot \"%s\""
 msgstr "début du décodage logique pour le slot « %s »"
 
-#: replication/logical/logical.c:427
+#: replication/logical/logical.c:394
 #, c-format
 msgid "streaming transactions committing after %X/%X, reading WAL from %X/%X"
 msgstr "envoi des transactions validées après %X/%X, lecture des journaux à partir de %X/%X"
 
-#: replication/logical/logical.c:562
+#: replication/logical/logical.c:529
 #, c-format
 msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X"
 msgstr "slot « %s », plugin de sortie « %s », dans la fonction d'appel %s, associé au LSN %X/%X"
 
-#: replication/logical/logical.c:569
+#: replication/logical/logical.c:536
 #, c-format
 msgid "slot \"%s\", output plugin \"%s\", in the %s callback"
 msgstr "slot « %s », plugin de sortie « %s », dans la fonction d'appel %s"
 
-#: replication/logical/logicalfuncs.c:192 replication/walsender.c:2129
-#, c-format
-msgid "could not read from log segment %s, offset %u, length %lu: %m"
-msgstr "n'a pas pu lire le journal de transactions %s, décalage %u, longueur %lu : %m"
-
-#: replication/logical/logicalfuncs.c:211 replication/slotfuncs.c:32
+#: replication/logical/logicalfuncs.c:113 replication/slotfuncs.c:32
 #, c-format
 msgid "must be superuser or replication role to use replication slots"
 msgstr ""
 "doit être un superutilisateur ou un rôle ayant l'attribut de réplication\n"
 "pour utiliser des slots de réplication"
 
-#: replication/logical/logicalfuncs.c:301
+#: replication/logical/logicalfuncs.c:152
 #, c-format
 msgid "slot name must not be null"
 msgstr "le nom du slot ne doit pas être NULL"
 
-#: replication/logical/logicalfuncs.c:317
+#: replication/logical/logicalfuncs.c:168
 #, c-format
 msgid "options array must not be null"
 msgstr "le tableau options ne doit pas être NULL"
 
-#: replication/logical/logicalfuncs.c:348
+#: replication/logical/logicalfuncs.c:199
 #, c-format
 msgid "array must be one-dimensional"
 msgstr "le tableau doit avoir une dimension"
 
-#: replication/logical/logicalfuncs.c:354
+#: replication/logical/logicalfuncs.c:205
 #, c-format
 msgid "array must not contain nulls"
 msgstr "le tableau ne doit pas contenir de valeurs NULL"
 
-#: replication/logical/logicalfuncs.c:370 utils/adt/json.c:2277 utils/adt/jsonb.c:1356
+#: replication/logical/logicalfuncs.c:221 utils/adt/json.c:2277
+#: utils/adt/jsonb.c:1356
 #, c-format
 msgid "array must have even number of elements"
 msgstr "le tableau doit avoir un nombre pair d'éléments"
 
-#: replication/logical/logicalfuncs.c:412
+#: replication/logical/logicalfuncs.c:264
 #, c-format
 msgid "logical decoding output plugin \"%s\" produces binary output, but function \"%s\" expects textual data"
 msgstr "le plugin de sortie « %s » pour le décodage logique produit une sortie binaire, mais la fonction « %s » attend des données texte"
@@ -15155,78 +16141,82 @@ msgstr "n'a pas pu trouver l'extension parent pour %s\n"
 msgid "could not drop replication origin with OID %d, in use by PID %d"
 msgstr "ne peut pas supprimer l'origine de réplication d'OID %d, utilisée par le PID %d"
 
-#: replication/logical/origin.c:690
+#: replication/logical/origin.c:671
 #, c-format
 msgid "replication checkpoint has wrong magic %u instead of %u"
 msgstr "le checkpoint de réplication a le mauvais nombre magique (%u au lieu de %u)"
 
-#: replication/logical/origin.c:722
+#: replication/logical/origin.c:703
 #, c-format
 msgid "could not read file \"%s\": read %d of %zu"
 msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu"
 
-#: replication/logical/origin.c:731
+#: replication/logical/origin.c:712
 #, fuzzy, c-format
 #| msgid "Free one or increase max_replication_slots."
 msgid "could not find free replication state, increase max_replication_slots"
 msgstr "Libérez un slot ou augmentez max_replication_slots."
 
-#: replication/logical/origin.c:749
+#: replication/logical/origin.c:730
 #, fuzzy, c-format
 #| msgid "replication slot file \"%s\" has wrong magic %u instead of %u"
 msgid "replication slot checkpoint has wrong checksum %u, expected %u"
 msgstr "le fichier « %s » du slot de réplication un le nombre magique %u au lieu de %u"
 
-#: replication/logical/origin.c:873
+#: replication/logical/origin.c:854
 #, fuzzy, c-format
 #| msgid "replication slot \"%s\" is already active"
 msgid "replication origin with OID %d is already active for PID %d"
 msgstr "le slot de réplication « %s » est déjà actif"
 
-#: replication/logical/origin.c:884 replication/logical/origin.c:1064
+#: replication/logical/origin.c:865 replication/logical/origin.c:1045
 #, fuzzy, c-format
 #| msgid "could not obtain lock on relation with OID %u"
 msgid "could not find free replication state slot for replication origin with OID %u"
 msgstr "n'a pas pu obtenir un verrou sur la relation d'OID « %u »"
 
-#: replication/logical/origin.c:886 replication/logical/origin.c:1066 replication/slot.c:1241
+#: replication/logical/origin.c:867 replication/logical/origin.c:1047
+#: replication/slot.c:1288
 #, c-format
 msgid "Increase max_replication_slots and try again."
 msgstr "Augmentez max_replication_slots et recommencez."
 
-#: replication/logical/origin.c:1023
+#: replication/logical/origin.c:1004
 #, c-format
 msgid "cannot setup replication origin when one is already setup"
 msgstr "ne peut pas configurer l'origine de réplication si une origine existe déjà"
 
-#: replication/logical/origin.c:1052
+#: replication/logical/origin.c:1033
 #, c-format
 msgid "replication identifier %d is already active for PID %d"
 msgstr "l'identificateur de réplication %d est déjà actif pour le PID %d"
 
-#: replication/logical/origin.c:1098 replication/logical/origin.c:1293 replication/logical/origin.c:1313
+#: replication/logical/origin.c:1079 replication/logical/origin.c:1274
+#: replication/logical/origin.c:1294
 #, c-format
 msgid "no replication origin is configured"
 msgstr "aucune origine de réplication n'est configurée"
 
-#: replication/logical/reorderbuffer.c:2170
+#: replication/logical/reorderbuffer.c:2322
 #, c-format
 msgid "could not write to data file for XID %u: %m"
 msgstr "n'a pas pu écrire dans le fichier pour le XID %u : %m"
 
-#: replication/logical/reorderbuffer.c:2266 replication/logical/reorderbuffer.c:2286
+#: replication/logical/reorderbuffer.c:2418
+#: replication/logical/reorderbuffer.c:2438
 #, c-format
 msgid "could not read from reorderbuffer spill file: %m"
 msgstr "n'a pas pu lire le fichier « reorderbuffer spill » : %m"
 
-#: replication/logical/reorderbuffer.c:2270 replication/logical/reorderbuffer.c:2290
+#: replication/logical/reorderbuffer.c:2422
+#: replication/logical/reorderbuffer.c:2442
 #, c-format
 msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes"
 msgstr ""
 "n'a pas pu lire à partir du fichier « reorderbuffer spill » : a lu seulement %d octets\n"
 "sur %u"
 
-#: replication/logical/reorderbuffer.c:2894
+#: replication/logical/reorderbuffer.c:3097
 #, c-format
 msgid "could not read from file \"%s\": read %d instead of %d bytes"
 msgstr "n'a pas pu lire à partir du fichier « %s » : lu %d octets au lieu de %d octets"
@@ -15238,51 +16228,53 @@ msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs
 msgstr[0] "snapshot exporté pour le décodage logique : « %s » avec %u identifiant de transaction"
 msgstr[1] "snapshot exporté pour le décodage logique : « %s » avec %u identifiants de transaction"
 
-#: replication/logical/snapbuild.c:904 replication/logical/snapbuild.c:1269 replication/logical/snapbuild.c:1800
+#: replication/logical/snapbuild.c:919 replication/logical/snapbuild.c:1284
+#: replication/logical/snapbuild.c:1815
 #, c-format
 msgid "logical decoding found consistent point at %X/%X"
 msgstr "le décodage logique a trouvé le point de cohérence à %X/%X"
 
-#: replication/logical/snapbuild.c:906
+#: replication/logical/snapbuild.c:921
 #, c-format
 msgid "Transaction ID %u finished; no more running transactions."
 msgstr "Identifiant de transaction %u terminé ; plus de transactions en cours."
 
-#: replication/logical/snapbuild.c:1271
+#: replication/logical/snapbuild.c:1286
 #, c-format
 msgid "There are no running transactions."
 msgstr "Il n'existe pas de transactions en cours."
 
-#: replication/logical/snapbuild.c:1333
+#: replication/logical/snapbuild.c:1348
 #, c-format
 msgid "logical decoding found initial starting point at %X/%X"
 msgstr "le décodage logique a trouvé le point de démarrage à %X/%X"
 
-#: replication/logical/snapbuild.c:1335
+#: replication/logical/snapbuild.c:1350
 #, c-format
 msgid "%u transaction needs to finish."
 msgid_plural "%u transactions need to finish."
 msgstr[0] "La transaction %u doit se terminer."
 msgstr[1] "Les transactions %u doivent se terminer."
 
-#: replication/logical/snapbuild.c:1674 replication/logical/snapbuild.c:1700 replication/logical/snapbuild.c:1714 replication/logical/snapbuild.c:1728
+#: replication/logical/snapbuild.c:1689 replication/logical/snapbuild.c:1715
+#: replication/logical/snapbuild.c:1729 replication/logical/snapbuild.c:1743
 #, c-format
 msgid "could not read file \"%s\", read %d of %d: %m"
 msgstr "n'a pas pu lire le fichier « %s », lu %d sur %d : %m"
 
-#: replication/logical/snapbuild.c:1680
+#: replication/logical/snapbuild.c:1695
 #, fuzzy, c-format
 #| msgid "snapbuild state file \"%s\" has wrong magic %u instead of %u"
 msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u"
 msgstr "le fichier d'état snapbuild « %s » a le nombre magique %u au lieu de %u"
 
-#: replication/logical/snapbuild.c:1685
+#: replication/logical/snapbuild.c:1700
 #, fuzzy, c-format
 #| msgid "snapbuild state file \"%s\" has unsupported version %u instead of %u"
 msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u"
 msgstr "le fichier d'état snapbuild « %s » a une version %u non supportée au lieu de %u"
 
-#: replication/logical/snapbuild.c:1741
+#: replication/logical/snapbuild.c:1756
 #, fuzzy, c-format
 #| msgid "snapbuild state file %s: checksum mismatch, is %u, should be %u"
 msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u"
@@ -15290,270 +16282,278 @@ msgstr ""
 "fichier d'état snapbuild %s : différence de somme de contrôle,\n"
 "est %u, devrait être %u"
 
-#: replication/logical/snapbuild.c:1802
+#: replication/logical/snapbuild.c:1817
 #, c-format
 msgid "Logical decoding will begin using saved snapshot."
 msgstr "Le décodage logique commencera en utilisant un snapshot sauvegardé."
 
-#: replication/logical/snapbuild.c:1875
+#: replication/logical/snapbuild.c:1890
 #, c-format
 msgid "could not parse file name \"%s\""
 msgstr "n'a pas pu analyser le mode du fichier « %s »"
 
-#: replication/slot.c:174
+#: replication/slot.c:183
 #, c-format
 msgid "replication slot name \"%s\" is too short"
 msgstr "le nom du slot de réplication « %s » est trop court"
 
-#: replication/slot.c:183
+#: replication/slot.c:192
 #, c-format
 msgid "replication slot name \"%s\" is too long"
 msgstr "le nom du slot de réplication « %s » est trop long"
 
-#: replication/slot.c:196
+#: replication/slot.c:205
 #, c-format
 msgid "replication slot name \"%s\" contains invalid character"
 msgstr "le nom du slot de réplication « %s » contient un caractère invalide"
 
-#: replication/slot.c:198
+#: replication/slot.c:207
 #, c-format
 msgid "Replication slot names may only contain lower case letters, numbers, and the underscore character."
 msgstr "Les noms des slots de réplication peuvent seulement contenir des lettres, des nombres et des tirets bas."
 
-#: replication/slot.c:245
+#: replication/slot.c:254
 #, c-format
 msgid "replication slot \"%s\" already exists"
 msgstr "le slot de réplication « %s » existe déjà"
 
-#: replication/slot.c:255
+#: replication/slot.c:264
 #, c-format
 msgid "all replication slots are in use"
 msgstr "tous les slots de réplication sont utilisés"
 
-#: replication/slot.c:256
+#: replication/slot.c:265
 #, c-format
 msgid "Free one or increase max_replication_slots."
 msgstr "Libérez un slot ou augmentez max_replication_slots."
 
-#: replication/slot.c:348
+#: replication/slot.c:351
 #, c-format
 msgid "replication slot \"%s\" does not exist"
 msgstr "le slot de réplication « %s » n'existe pas"
 
-#: replication/slot.c:352
-#, c-format
-msgid "replication slot \"%s\" is already active for PID %d"
+#: replication/slot.c:355
+#, fuzzy, c-format
+#| msgid "replication slot \"%s\" is already active for PID %d"
+msgid "replication slot \"%s\" is active for PID %d"
 msgstr "le slot de réplication « %s » est déjà actif pour le PID %d"
 
-#: replication/slot.c:501 replication/slot.c:857 replication/slot.c:1202
+#: replication/slot.c:501 replication/slot.c:912 replication/slot.c:1249
 #, c-format
 msgid "could not remove directory \"%s\""
 msgstr "n'a pas pu supprimer le répertoire « %s »"
 
-#: replication/slot.c:776
+#: replication/slot.c:761
 #, c-format
 msgid "replication slots can only be used if max_replication_slots > 0"
 msgstr "les slots de réplications peuvent seulement être utilisés si max_replication_slots > 0"
 
-#: replication/slot.c:781
-#, c-format
-msgid "replication slots can only be used if wal_level >= archive"
+#: replication/slot.c:766
+#, fuzzy, c-format
+#| msgid "replication slots can only be used if wal_level >= archive"
+msgid "replication slots can only be used if wal_level >= replica"
 msgstr "les slots de réplication peuvent seulement être utilisés si wal_level >= archive"
 
-#: replication/slot.c:1134 replication/slot.c:1172
+#: replication/slot.c:1181 replication/slot.c:1219
 #, c-format
 msgid "could not read file \"%s\", read %d of %u: %m"
 msgstr "n'a pas pu lire le fichier « %s », a lu %d sur %u : %m"
 
-#: replication/slot.c:1143
+#: replication/slot.c:1190
 #, c-format
 msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u"
 msgstr "le fichier « %s » du slot de réplication a le nombre magique %u au lieu de %u"
 
-#: replication/slot.c:1150
+#: replication/slot.c:1197
 #, c-format
 msgid "replication slot file \"%s\" has unsupported version %u"
 msgstr "le fichier « %s » du slot de réplication a une version %u non supportée"
 
-#: replication/slot.c:1157
+#: replication/slot.c:1204
 #, c-format
 msgid "replication slot file \"%s\" has corrupted length %u"
 msgstr "le slot de réplication « %s » a une taille %u corrompue"
 
-#: replication/slot.c:1187
+#: replication/slot.c:1234
 #, c-format
 msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u"
 msgstr "différence de somme de contrôle pour le fichier de slot de réplication « %s » : est %u, devrait être %u"
 
-#: replication/slot.c:1240
+#: replication/slot.c:1287
 #, c-format
 msgid "too many replication slots active before shutdown"
 msgstr "trop de slots de réplication actifs avant l'arrêt"
 
-#: replication/syncrep.c:199
+#: replication/syncrep.c:228
 #, c-format
 msgid "canceling the wait for synchronous replication and terminating connection due to administrator command"
 msgstr ""
 "annulation de l'attente pour la réplication synchrone et arrêt des connexions\n"
 "suite à la demande de l'administrateur"
 
-#: replication/syncrep.c:200 replication/syncrep.c:217
+#: replication/syncrep.c:229 replication/syncrep.c:246
 #, c-format
 msgid "The transaction has already committed locally, but might not have been replicated to the standby."
 msgstr ""
 "La transaction a déjà enregistré les données localement, mais il se peut que\n"
 "cela n'ait pas été répliqué sur le serveur en standby."
 
-#: replication/syncrep.c:216
+#: replication/syncrep.c:245
 #, c-format
 msgid "canceling wait for synchronous replication due to user request"
 msgstr "annulation de l'attente pour la réplication synchrone à la demande de l'utilisateur"
 
-#: replication/syncrep.c:346
+#: replication/syncrep.c:375
 #, c-format
 msgid "standby \"%s\" now has synchronous standby priority %u"
 msgstr ""
 "le serveur « %s » en standby a maintenant une priorité %u en tant que standby\n"
 "synchrone"
 
-#: replication/syncrep.c:480
-#, c-format
-msgid "standby \"%s\" is now the synchronous standby with priority %u"
+#: replication/syncrep.c:435
+#, fuzzy, c-format
+#| msgid "standby \"%s\" is now the synchronous standby with priority %u"
+msgid "standby \"%s\" is now a synchronous standby with priority %u"
 msgstr "le serveur « %s » en standby est maintenant le serveur standby synchrone de priorité %u"
 
-#: replication/walreceiver.c:167
+#: replication/syncrep.c:928
+#, c-format
+msgid "synchronous_standby_names parser failed"
+msgstr ""
+
+#: replication/walreceiver.c:172
 #, c-format
 msgid "terminating walreceiver process due to administrator command"
 msgstr "arrêt du processus walreceiver suite à la demande de l'administrateur"
 
-#: replication/walreceiver.c:321
+#: replication/walreceiver.c:324
 #, c-format
 msgid "highest timeline %u of the primary is behind recovery timeline %u"
 msgstr "la plus grande timeline %u du serveur principal est derrière la timeline de restauration %u"
 
-#: replication/walreceiver.c:356
+#: replication/walreceiver.c:357
 #, c-format
 msgid "started streaming WAL from primary at %X/%X on timeline %u"
 msgstr "Commence le flux des journaux depuis le principal à %X/%X sur la timeline %u"
 
-#: replication/walreceiver.c:361
+#: replication/walreceiver.c:362
 #, c-format
 msgid "restarted WAL streaming at %X/%X on timeline %u"
 msgstr "recommence le flux WAL à %X/%X sur la timeline %u"
 
-#: replication/walreceiver.c:395
+#: replication/walreceiver.c:391
 #, c-format
 msgid "cannot continue WAL streaming, recovery has already ended"
 msgstr "ne peut pas continuer le flux de journaux de transactions, la récupération est déjà terminée"
 
-#: replication/walreceiver.c:432
+#: replication/walreceiver.c:428
 #, c-format
 msgid "replication terminated by primary server"
 msgstr "réplication terminée par le serveur primaire"
 
-#: replication/walreceiver.c:433
+#: replication/walreceiver.c:429
 #, c-format
 msgid "End of WAL reached on timeline %u at %X/%X."
 msgstr "Fin du WAL atteint sur la timeline %u à %X/%X"
 
-#: replication/walreceiver.c:480
+#: replication/walreceiver.c:523
 #, c-format
 msgid "terminating walreceiver due to timeout"
 msgstr "arrêt du processus walreceiver suite à l'expiration du délai de réplication"
 
-#: replication/walreceiver.c:520
+#: replication/walreceiver.c:563
 #, c-format
 msgid "primary server contains no more WAL on requested timeline %u"
 msgstr "le serveur principal ne contient plus de WAL sur la timeline %u demandée"
 
-#: replication/walreceiver.c:535 replication/walreceiver.c:895
+#: replication/walreceiver.c:578 replication/walreceiver.c:936
 #, c-format
 msgid "could not close log segment %s: %m"
 msgstr "n'a pas pu fermer le journal de transactions %s : %m"
 
-#: replication/walreceiver.c:660
+#: replication/walreceiver.c:702
 #, c-format
 msgid "fetching timeline history file for timeline %u from primary server"
 msgstr "récupération du fichier historique pour la timeline %u à partir du serveur principal"
 
-#: replication/walreceiver.c:949
+#: replication/walreceiver.c:990
 #, c-format
 msgid "could not write to log segment %s at offset %u, length %lu: %m"
 msgstr "n'a pas pu écrire le journal de transactions %s au décalage %u, longueur %lu : %m"
 
-#: replication/walsender.c:483
+#: replication/walsender.c:485
 #, c-format
 msgid "could not seek to beginning of file \"%s\": %m"
 msgstr "n'a pas pu se déplacer au début du fichier « %s » : %m"
 
-#: replication/walsender.c:534
+#: replication/walsender.c:536
 #, c-format
 msgid "cannot use a logical replication slot for physical replication"
 msgstr "ne peut pas utiliser un slot de réplication logique pour une réplication physique"
 
-#: replication/walsender.c:597
+#: replication/walsender.c:599
 #, c-format
 msgid "requested starting point %X/%X on timeline %u is not in this server's history"
 msgstr "le point de reprise %X/%X de la timeline %u n'est pas dans l'historique du serveur"
 
-#: replication/walsender.c:601
+#: replication/walsender.c:603
 #, c-format
 msgid "This server's history forked from timeline %u at %X/%X."
 msgstr "L'historique du serveur a changé à partir de la timeline %u à %X/%X."
 
-#: replication/walsender.c:646
+#: replication/walsender.c:648
 #, c-format
 msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X"
 msgstr "le point de reprise requis %X/%X est devant la position de vidage des WAL de ce serveur %X/%X"
 
-#: replication/walsender.c:965
+#: replication/walsender.c:974
 #, c-format
 msgid "terminating walsender process after promotion"
 msgstr "arrêt du processus walreceiver suite promotion"
 
-#: replication/walsender.c:1292
+#: replication/walsender.c:1300
 #, c-format
 msgid "received replication command: %s"
 msgstr "commande de réplication reçu : %s"
 
-#: replication/walsender.c:1385 replication/walsender.c:1401
+#: replication/walsender.c:1393 replication/walsender.c:1409
 #, c-format
 msgid "unexpected EOF on standby connection"
 msgstr "fin de fichier (EOF) inattendue de la connexion du serveur en attente"
 
-#: replication/walsender.c:1415
+#: replication/walsender.c:1423
 #, c-format
 msgid "unexpected standby message type \"%c\", after receiving CopyDone"
 msgstr "type de message standby « %c » inattendu, après avoir reçu CopyDone"
 
-#: replication/walsender.c:1453
+#: replication/walsender.c:1461
 #, c-format
 msgid "invalid standby message type \"%c\""
 msgstr "type de message « %c » invalide pour le serveur en standby"
 
-#: replication/walsender.c:1494
+#: replication/walsender.c:1502
 #, c-format
 msgid "unexpected message type \"%c\""
 msgstr "type de message « %c » inattendu"
 
-#: replication/walsender.c:1781
+#: replication/walsender.c:1786
 #, c-format
 msgid "terminating walsender process due to replication timeout"
 msgstr "arrêt du processus walreceiver suite à l'expiration du délai de réplication"
 
-#: replication/walsender.c:1874
+#: replication/walsender.c:1879
 #, c-format
 msgid "standby \"%s\" has now caught up with primary"
 msgstr "le serveur standby « %s » a maintenant rattrapé le serveur primaire"
 
-#: replication/walsender.c:1978
+#: replication/walsender.c:1982
 #, c-format
 msgid "number of requested standby connections exceeds max_wal_senders (currently %d)"
 msgstr ""
 "le nombre de connexions demandées par le serveur en attente dépasse\n"
 "max_wal_senders (actuellement %d)"
 
-#: rewrite/rewriteDefine.c:112 rewrite/rewriteDefine.c:961
+#: rewrite/rewriteDefine.c:112 rewrite/rewriteDefine.c:973
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" already exists"
 msgstr "la règle « %s » existe déjà pour la relation « %s »"
@@ -15684,242 +16684,250 @@ msgstr "la liste cible de la r
 msgid "RETURNING list has too many entries"
 msgstr "la liste RETURNING a trop d'entrées"
 
-#: rewrite/rewriteDefine.c:684
+#: rewrite/rewriteDefine.c:695
 #, c-format
 msgid "cannot convert relation containing dropped columns to view"
 msgstr "ne peut pas convertir la relation contenant les colonnes supprimées de la vue"
 
-#: rewrite/rewriteDefine.c:690
+#: rewrite/rewriteDefine.c:696
+#, fuzzy, c-format
+#| msgid "cannot convert relation containing dropped columns to view"
+msgid "cannot create a RETURNING list for a relation containing dropped columns"
+msgstr "ne peut pas convertir la relation contenant les colonnes supprimées de la vue"
+
+#: rewrite/rewriteDefine.c:702
 #, c-format
 msgid "SELECT rule's target entry %d has different column name from column \"%s\""
 msgstr "l'entrée cible de la règle SELECT %d a un nom de colonne différent pour la colonne « %s »"
 
-#: rewrite/rewriteDefine.c:692
+#: rewrite/rewriteDefine.c:704
 #, c-format
 msgid "SELECT target entry is named \"%s\"."
 msgstr "l'entrée cible de la règle SELECT est nommé « %s »."
 
-#: rewrite/rewriteDefine.c:701
+#: rewrite/rewriteDefine.c:713
 #, c-format
 msgid "SELECT rule's target entry %d has different type from column \"%s\""
 msgstr "l'entrée cible de la règle SELECT %d a plusieurs types pour la colonne « %s »"
 
-#: rewrite/rewriteDefine.c:703
+#: rewrite/rewriteDefine.c:715
 #, c-format
 msgid "RETURNING list's entry %d has different type from column \"%s\""
 msgstr "l'entrée %d de la liste RETURNING a un type différent de la colonne « %s »"
 
-#: rewrite/rewriteDefine.c:706 rewrite/rewriteDefine.c:730
+#: rewrite/rewriteDefine.c:718 rewrite/rewriteDefine.c:742
 #, c-format
 msgid "SELECT target entry has type %s, but column has type %s."
 msgstr "l'entrée de la liste SELECT a le type %s alors que la colonne a le type %s."
 
-#: rewrite/rewriteDefine.c:709 rewrite/rewriteDefine.c:734
+#: rewrite/rewriteDefine.c:721 rewrite/rewriteDefine.c:746
 #, c-format
 msgid "RETURNING list entry has type %s, but column has type %s."
 msgstr "l'entrée de la liste RETURNING a le type %s alors que la colonne a le type %s."
 
-#: rewrite/rewriteDefine.c:725
+#: rewrite/rewriteDefine.c:737
 #, c-format
 msgid "SELECT rule's target entry %d has different size from column \"%s\""
 msgstr "l'entrée cible de la règle SELECT %d a plusieurs tailles pour la colonne « %s »"
 
-#: rewrite/rewriteDefine.c:727
+#: rewrite/rewriteDefine.c:739
 #, c-format
 msgid "RETURNING list's entry %d has different size from column \"%s\""
 msgstr "l'entrée %d de la liste RETURNING a plusieurs tailles pour la colonne « %s »"
 
-#: rewrite/rewriteDefine.c:744
+#: rewrite/rewriteDefine.c:756
 #, c-format
 msgid "SELECT rule's target list has too few entries"
 msgstr "l'entrée cible de la règle SELECT n'a pas assez d'entrées"
 
-#: rewrite/rewriteDefine.c:745
+#: rewrite/rewriteDefine.c:757
 #, c-format
 msgid "RETURNING list has too few entries"
 msgstr "la liste RETURNING n'a pas assez d'entrées"
 
-#: rewrite/rewriteDefine.c:837 rewrite/rewriteDefine.c:952 rewrite/rewriteSupport.c:112
+#: rewrite/rewriteDefine.c:849 rewrite/rewriteDefine.c:964
+#: rewrite/rewriteSupport.c:112
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist"
 msgstr "la règle « %s » de la relation « %s » n'existe pas"
 
-#: rewrite/rewriteDefine.c:971
+#: rewrite/rewriteDefine.c:983
 #, c-format
 msgid "renaming an ON SELECT rule is not allowed"
 msgstr "le renommage d'une règle ON SELECT n'est pas autorisé"
 
-#: rewrite/rewriteHandler.c:521
+#: rewrite/rewriteHandler.c:528
 #, c-format
 msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten"
 msgstr ""
 "Le nom de la requête WITH «%s » apparaît à la fois dans l'action d'une règle\n"
 "et la requête en cours de ré-écriture."
 
-#: rewrite/rewriteHandler.c:581
+#: rewrite/rewriteHandler.c:588
 #, c-format
 msgid "cannot have RETURNING lists in multiple rules"
 msgstr "ne peut pas avoir des listes RETURNING dans plusieurs règles"
 
-#: rewrite/rewriteHandler.c:921 rewrite/rewriteHandler.c:939
+#: rewrite/rewriteHandler.c:928 rewrite/rewriteHandler.c:946
 #, c-format
 msgid "multiple assignments to same column \"%s\""
 msgstr "affectations multiples pour la même colonne « %s »"
 
-#: rewrite/rewriteHandler.c:1714 rewrite/rewriteHandler.c:3324
+#: rewrite/rewriteHandler.c:1721 rewrite/rewriteHandler.c:3331
 #, c-format
 msgid "infinite recursion detected in rules for relation \"%s\""
 msgstr "récursion infinie détectée dans les règles de la relation « %s »"
 
-#: rewrite/rewriteHandler.c:1799
+#: rewrite/rewriteHandler.c:1806
 #, c-format
 msgid "infinite recursion detected in policy for relation \"%s\""
 msgstr "récursion infinie détectée dans la politique pour la relation « %s »"
 
-#: rewrite/rewriteHandler.c:2116
+#: rewrite/rewriteHandler.c:2123
 msgid "Junk view columns are not updatable."
 msgstr "Les colonnes « junk » des vues ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2121
+#: rewrite/rewriteHandler.c:2128
 msgid "View columns that are not columns of their base relation are not updatable."
 msgstr "Les colonnes des vues qui ne font pas référence à des colonnes de la relation de base ne sont pas automatiquement modifiables."
 
-#: rewrite/rewriteHandler.c:2124
+#: rewrite/rewriteHandler.c:2131
 msgid "View columns that refer to system columns are not updatable."
 msgstr "Les colonnes des vues qui font référence à des colonnes systèmes ne sont pas automatiquement modifiables."
 
-#: rewrite/rewriteHandler.c:2127
+#: rewrite/rewriteHandler.c:2134
 msgid "View columns that return whole-row references are not updatable."
 msgstr "Les colonnes de vue qui font références à des lignes complètes ne sont pas automatiquement modifiables."
 
-#: rewrite/rewriteHandler.c:2185
+#: rewrite/rewriteHandler.c:2192
 msgid "Views containing DISTINCT are not automatically updatable."
 msgstr "Les vues contenant DISTINCT ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2188
+#: rewrite/rewriteHandler.c:2195
 msgid "Views containing GROUP BY are not automatically updatable."
 msgstr "Les vues contenant GROUP BY ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2191
+#: rewrite/rewriteHandler.c:2198
 msgid "Views containing HAVING are not automatically updatable."
 msgstr "Les vues contenant HAVING ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2194
+#: rewrite/rewriteHandler.c:2201
 msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable."
 msgstr "Les vues contenant UNION, INTERSECT ou EXCEPT ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2197
+#: rewrite/rewriteHandler.c:2204
 msgid "Views containing WITH are not automatically updatable."
 msgstr "Les vues contenant WITH ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2200
+#: rewrite/rewriteHandler.c:2207
 msgid "Views containing LIMIT or OFFSET are not automatically updatable."
 msgstr "Les vues contenant LIMIT ou OFFSET ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2212
+#: rewrite/rewriteHandler.c:2219
 msgid "Views that return aggregate functions are not automatically updatable."
 msgstr "Les vues qui renvoient des fonctions d'agrégat ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2215
+#: rewrite/rewriteHandler.c:2222
 msgid "Views that return window functions are not automatically updatable."
 msgstr "Les vues qui renvoient des fonctions de fenêtrage ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2218
+#: rewrite/rewriteHandler.c:2225
 msgid "Views that return set-returning functions are not automatically updatable."
 msgstr "Les vues qui renvoient des fonctions à plusieurs lignes ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2225 rewrite/rewriteHandler.c:2229 rewrite/rewriteHandler.c:2236
+#: rewrite/rewriteHandler.c:2232 rewrite/rewriteHandler.c:2236
+#: rewrite/rewriteHandler.c:2243
 msgid "Views that do not select from a single table or view are not automatically updatable."
 msgstr "Les vues qui lisent plusieurs tables ou vues ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2239
+#: rewrite/rewriteHandler.c:2246
 msgid "Views containing TABLESAMPLE are not automatically updatable."
 msgstr "Les vues contenant TABLESAMPLE ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2263
+#: rewrite/rewriteHandler.c:2270
 msgid "Views that have no updatable columns are not automatically updatable."
 msgstr "Les vues qui possèdent des colonnes non modifiables ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2717
+#: rewrite/rewriteHandler.c:2724
 #, c-format
 msgid "cannot insert into column \"%s\" of view \"%s\""
 msgstr "ne peut pas insérer dans la colonne « %s » de la vue « %s »"
 
-#: rewrite/rewriteHandler.c:2725
+#: rewrite/rewriteHandler.c:2732
 #, c-format
 msgid "cannot update column \"%s\" of view \"%s\""
 msgstr "ne peut pas mettre à jour la colonne « %s » de la vue « %s »"
 
-#: rewrite/rewriteHandler.c:3123
+#: rewrite/rewriteHandler.c:3130
 #, c-format
 msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH"
 msgstr ""
 "les règles DO INSTEAD NOTHING ne sont pas supportées par les instructions\n"
 "de modification de données dans WITH"
 
-#: rewrite/rewriteHandler.c:3137
+#: rewrite/rewriteHandler.c:3144
 #, c-format
 msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH"
 msgstr ""
 "les règles DO INSTEAD conditionnelles ne sont pas supportées par les\n"
 "instructions de modification de données dans WITH"
 
-#: rewrite/rewriteHandler.c:3141
+#: rewrite/rewriteHandler.c:3148
 #, c-format
 msgid "DO ALSO rules are not supported for data-modifying statements in WITH"
 msgstr ""
 "les règles DO ALSO ne sont pas supportées par les instructions de modification\n"
 "de données dans WITH"
 
-#: rewrite/rewriteHandler.c:3146
+#: rewrite/rewriteHandler.c:3153
 #, c-format
 msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH"
 msgstr ""
 "les règles DO INSTEAD multi-instructions ne sont pas supportées pour les\n"
 "instructions de modification de données dans WITH"
 
-#: rewrite/rewriteHandler.c:3361
+#: rewrite/rewriteHandler.c:3368
 #, c-format
 msgid "cannot perform INSERT RETURNING on relation \"%s\""
 msgstr "ne peut pas exécuter INSERT RETURNING sur la relation « %s »"
 
-#: rewrite/rewriteHandler.c:3363
+#: rewrite/rewriteHandler.c:3370
 #, c-format
 msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause."
 msgstr ""
 "Vous avez besoin d'une règle ON INSERT DO INSTEAD sans condition avec une\n"
 "clause RETURNING."
 
-#: rewrite/rewriteHandler.c:3368
+#: rewrite/rewriteHandler.c:3375
 #, c-format
 msgid "cannot perform UPDATE RETURNING on relation \"%s\""
 msgstr "ne peut pas exécuter UPDATE RETURNING sur la relation « %s »"
 
-#: rewrite/rewriteHandler.c:3370
+#: rewrite/rewriteHandler.c:3377
 #, c-format
 msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause."
 msgstr ""
 "Vous avez besoin d'une règle ON UPDATE DO INSTEAD sans condition avec une\n"
 "clause RETURNING."
 
-#: rewrite/rewriteHandler.c:3375
+#: rewrite/rewriteHandler.c:3382
 #, c-format
 msgid "cannot perform DELETE RETURNING on relation \"%s\""
 msgstr "ne peut pas exécuter DELETE RETURNING sur la relation « %s »"
 
-#: rewrite/rewriteHandler.c:3377
+#: rewrite/rewriteHandler.c:3384
 #, c-format
 msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause."
 msgstr ""
 "Vous avez besoin d'une règle ON DELETE DO INSTEAD sans condition avec une\n"
 "clause RETURNING."
 
-#: rewrite/rewriteHandler.c:3395
+#: rewrite/rewriteHandler.c:3402
 #, c-format
 msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules"
 msgstr "INSERT avec une clause ON CONFLICT ne peut pas être utilisée avec une table qui a des règles pour INSERT ou UPDATE"
 
-#: rewrite/rewriteHandler.c:3452
+#: rewrite/rewriteHandler.c:3459
 #, c-format
 msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries"
 msgstr "WITH ne peut pas être utilisé dans une requête réécrite par des règles en plusieurs requêtes"
@@ -15954,127 +16962,128 @@ msgstr "il existe de nombreuses r
 msgid "Specify a relation name as well as a rule name."
 msgstr "Spécifier un nom de relation ainsi qu'un nom de règle."
 
-#: scan.l:432
+#: scan.l:433
 msgid "unterminated /* comment"
 msgstr "commentaire /* non terminé"
 
-#: scan.l:461
+#: scan.l:462
 msgid "unterminated bit string literal"
 msgstr "chaîne littérale bit non terminée"
 
-#: scan.l:482
+#: scan.l:483
 msgid "unterminated hexadecimal string literal"
 msgstr "chaîne littérale hexadécimale non terminée"
 
-#: scan.l:532
+#: scan.l:533
 #, c-format
 msgid "unsafe use of string constant with Unicode escapes"
 msgstr "utilisation non sûre de la constante de chaîne avec des échappements Unicode"
 
-#: scan.l:533
+#: scan.l:534
 #, c-format
 msgid "String constants with Unicode escapes cannot be used when standard_conforming_strings is off."
 msgstr ""
 "Les constantes de chaîne avec des échappements Unicode ne peuvent pas être\n"
 "utilisées quand standard_conforming_strings est désactivé."
 
-#: scan.l:577 scan.l:773
+#: scan.l:580 scan.l:779
 msgid "invalid Unicode escape character"
 msgstr "chaîne d'échappement Unicode invalide"
 
-#: scan.l:602 scan.l:610 scan.l:618 scan.l:619 scan.l:620 scan.l:1329 scan.l:1356 scan.l:1360 scan.l:1398 scan.l:1402 scan.l:1424
+#: scan.l:606 scan.l:614 scan.l:622 scan.l:623 scan.l:624 scan.l:1338
+#: scan.l:1365 scan.l:1369 scan.l:1407 scan.l:1411 scan.l:1433
 msgid "invalid Unicode surrogate pair"
 msgstr "paire surrogate Unicode invalide"
 
-#: scan.l:624
+#: scan.l:628
 #, c-format
 msgid "invalid Unicode escape"
 msgstr "échappement Unicode invalide"
 
-#: scan.l:625
+#: scan.l:629
 #, c-format
 msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX."
 msgstr "Les échappements Unicode doivent être de la forme \\uXXXX ou \\UXXXXXXXX."
 
-#: scan.l:636
+#: scan.l:640
 #, c-format
 msgid "unsafe use of \\' in a string literal"
 msgstr "utilisation non sûre de \\' dans une chaîne littérale"
 
-#: scan.l:637
+#: scan.l:641
 #, c-format
 msgid "Use '' to write quotes in strings. \\' is insecure in client-only encodings."
 msgstr ""
 "Utilisez '' pour écrire des guillemets dans une chaîne. \\' n'est pas sécurisé\n"
 "pour les encodages clients."
 
-#: scan.l:712
+#: scan.l:716
 msgid "unterminated dollar-quoted string"
 msgstr "chaîne entre guillemets dollars non terminée"
 
-#: scan.l:729 scan.l:753 scan.l:768
+#: scan.l:733 scan.l:759 scan.l:774
 msgid "zero-length delimited identifier"
 msgstr "identifiant délimité de longueur nulle"
 
-#: scan.l:788
+#: scan.l:794 syncrep_scanner.l:84
 msgid "unterminated quoted identifier"
 msgstr "identifiant entre guillemets non terminé"
 
-#: scan.l:919
+#: scan.l:925
 msgid "operator too long"
 msgstr "opérateur trop long"
 
 #. translator: %s is typically the translation of "syntax error"
-#: scan.l:1072
+#: scan.l:1078
 #, c-format
 msgid "%s at end of input"
 msgstr "%s à la fin de l'entrée"
 
 #. translator: first %s is typically the translation of "syntax error"
-#: scan.l:1080
+#: scan.l:1086
 #, c-format
 msgid "%s at or near \"%s\""
 msgstr "%s sur ou près de « %s »"
 
-#: scan.l:1245 scan.l:1277
+#: scan.l:1252 scan.l:1284
 msgid "Unicode escape values cannot be used for code point values above 007F when the server encoding is not UTF8"
 msgstr ""
 "Les valeurs d'échappement unicode ne peuvent pas être utilisées pour les\n"
 "valeurs de point de code au-dessus de 007F quand l'encodage serveur n'est\n"
 "pas UTF8"
 
-#: scan.l:1273 scan.l:1416
+#: scan.l:1280 scan.l:1425
 msgid "invalid Unicode escape value"
 msgstr "valeur d'échappement Unicode invalide"
 
-#: scan.l:1472
+#: scan.l:1482
 #, c-format
 msgid "nonstandard use of \\' in a string literal"
 msgstr "utilisation non standard de \\' dans une chaîne littérale"
 
-#: scan.l:1473
+#: scan.l:1483
 #, c-format
 msgid "Use '' to write quotes in strings, or use the escape string syntax (E'...')."
 msgstr ""
 "Utilisez '' pour écrire des guillemets dans une chaîne ou utilisez la syntaxe de\n"
 "chaîne d'échappement (E'...')."
 
-#: scan.l:1482
+#: scan.l:1492
 #, c-format
 msgid "nonstandard use of \\\\ in a string literal"
 msgstr "utilisation non standard de \\\\ dans une chaîne littérale"
 
-#: scan.l:1483
+#: scan.l:1493
 #, c-format
 msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'."
 msgstr "Utilisez la syntaxe de chaîne d'échappement pour les antislashs, c'est-à-dire E'\\\\'."
 
-#: scan.l:1497
+#: scan.l:1507
 #, c-format
 msgid "nonstandard use of escape in a string literal"
 msgstr "utilisation non standard d'un échappement dans une chaîne littérale"
 
-#: scan.l:1498
+#: scan.l:1508
 #, c-format
 msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'."
 msgstr ""
@@ -16086,7 +17095,8 @@ msgstr ""
 msgid "no Snowball stemmer available for language \"%s\" and encoding \"%s\""
 msgstr "aucun stemmer Snowball disponible pour la langue « %s » et l'encodage « %s »"
 
-#: snowball/dict_snowball.c:200 tsearch/dict_ispell.c:73 tsearch/dict_simple.c:48
+#: snowball/dict_snowball.c:200 tsearch/dict_ispell.c:73
+#: tsearch/dict_simple.c:48
 #, c-format
 msgid "multiple StopWords parameters"
 msgstr "plusieurs paramètres StopWords"
@@ -16106,96 +17116,126 @@ msgstr "param
 msgid "missing Language parameter"
 msgstr "paramètre Language manquant"
 
-#: storage/buffer/bufmgr.c:442 storage/buffer/bufmgr.c:555
+#: storage/buffer/bufmgr.c:544 storage/buffer/bufmgr.c:657
 #, c-format
 msgid "cannot access temporary tables of other sessions"
 msgstr "ne peut pas accéder aux tables temporaires d'autres sessions"
 
-#: storage/buffer/bufmgr.c:704
+#: storage/buffer/bufmgr.c:807
 #, c-format
 msgid "unexpected data beyond EOF in block %u of relation %s"
 msgstr ""
 "données inattendues après la fin de fichier dans le bloc %u de la relation\n"
 "%s"
 
-#: storage/buffer/bufmgr.c:706
+#: storage/buffer/bufmgr.c:809
 #, c-format
 msgid "This has been seen to occur with buggy kernels; consider updating your system."
 msgstr ""
 "Ceci s'est déjà vu avec des noyaux buggés ; pensez à mettre à jour votre\n"
 "système."
 
-#: storage/buffer/bufmgr.c:793
+#: storage/buffer/bufmgr.c:907
 #, c-format
 msgid "invalid page in block %u of relation %s; zeroing out page"
 msgstr "page invalide dans le bloc %u de la relation %s ; remplacement de la page par des zéros"
 
-#: storage/buffer/bufmgr.c:3590
+#: storage/buffer/bufmgr.c:3952
 #, c-format
 msgid "could not write block %u of %s"
 msgstr "n'a pas pu écrire le bloc %u de %s"
 
-#: storage/buffer/bufmgr.c:3592
+#: storage/buffer/bufmgr.c:3954
 #, c-format
 msgid "Multiple failures --- write error might be permanent."
 msgstr "Échecs multiples --- l'erreur d'écriture pourrait être permanent."
 
-#: storage/buffer/bufmgr.c:3613 storage/buffer/bufmgr.c:3632
+#: storage/buffer/bufmgr.c:3975 storage/buffer/bufmgr.c:3994
 #, c-format
 msgid "writing block %u of relation %s"
 msgstr "écriture du bloc %u de la relation %s"
 
-#: storage/buffer/localbuf.c:189
+#: storage/buffer/bufmgr.c:4298
+#, fuzzy, c-format
+#| msgid "snapshot_id"
+msgid "snapshot too old"
+msgstr "id_snapshot"
+
+#: storage/buffer/localbuf.c:198
 #, c-format
 msgid "no empty local buffer available"
 msgstr "aucun tampon local vide disponible"
 
-#: storage/file/fd.c:528
+#: storage/file/fd.c:436 storage/file/fd.c:508 storage/file/fd.c:544
+#, fuzzy, c-format
+#| msgid "could not redirect stdout: %m"
+msgid "could not flush dirty data: %m"
+msgstr "n'a pas pu rediriger la sortie (stdout) : %m"
+
+#: storage/file/fd.c:466
+#, fuzzy, c-format
+#| msgid "could not determine input data type"
+msgid "could not determine dirty data size: %m"
+msgstr "n'a pas pu déterminer le type de données date en entrée"
+
+#: storage/file/fd.c:518
+#, fuzzy, c-format
+#| msgid "could not uncompress data: %s\n"
+msgid "could not munmap() while flushing data: %m"
+msgstr "n'a pas pu décompresser les données : %s\n"
+
+#: storage/file/fd.c:682
+#, c-format
+msgid "could not link file \"%s\" to \"%s\": %m"
+msgstr "n'a pas pu lier le fichier « %s » à « %s » : %m"
+
+#: storage/file/fd.c:776
 #, c-format
 msgid "getrlimit failed: %m"
 msgstr "échec de getrlimit : %m"
 
-#: storage/file/fd.c:618
+#: storage/file/fd.c:866
 #, c-format
 msgid "insufficient file descriptors available to start server process"
 msgstr "nombre de descripteurs de fichier insuffisants pour lancer le processus serveur"
 
-#: storage/file/fd.c:619
+#: storage/file/fd.c:867
 #, c-format
 msgid "System allows %d, we need at least %d."
 msgstr "Le système autorise %d, nous avons besoin d'au moins %d."
 
-#: storage/file/fd.c:660 storage/file/fd.c:1694 storage/file/fd.c:1787 storage/file/fd.c:1935
+#: storage/file/fd.c:908 storage/file/fd.c:2001 storage/file/fd.c:2094
+#: storage/file/fd.c:2242
 #, c-format
 msgid "out of file descriptors: %m; release and retry"
 msgstr "plus de descripteurs de fichiers : %m; quittez et ré-essayez"
 
-#: storage/file/fd.c:1234
+#: storage/file/fd.c:1482
 #, c-format
 msgid "temporary file: path \"%s\", size %lu"
 msgstr "fichier temporaire : chemin « %s », taille %lu"
 
-#: storage/file/fd.c:1383
+#: storage/file/fd.c:1656
 #, c-format
 msgid "temporary file size exceeds temp_file_limit (%dkB)"
 msgstr "la taille du fichier temporaire dépasse temp_file_limit (%d Ko)"
 
-#: storage/file/fd.c:1670 storage/file/fd.c:1720
+#: storage/file/fd.c:1977 storage/file/fd.c:2027
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\""
 msgstr "dépassement de maxAllocatedDescs (%d) lors de la tentative d'ouverture du fichier « %s »"
 
-#: storage/file/fd.c:1760
+#: storage/file/fd.c:2067
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\""
 msgstr "dépassement de maxAllocatedDescs (%d) lors de la tentative d'exécution de la commande « %s »"
 
-#: storage/file/fd.c:1911
+#: storage/file/fd.c:2218
 #, c-format
 msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\""
 msgstr "dépassement de maxAllocatedDescs (%d) lors de la tentative d'ouverture du répertoire « %s »"
 
-#: storage/file/fd.c:1997
+#: storage/file/fd.c:2304
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "n'a pas pu lire le répertoire « %s » : %m"
@@ -16225,32 +17265,39 @@ msgstr "le segment contr
 msgid "too many dynamic shared memory segments"
 msgstr "trop de segments de mémoire partagée dynamique"
 
-#: storage/ipc/dsm_impl.c:261 storage/ipc/dsm_impl.c:361 storage/ipc/dsm_impl.c:533 storage/ipc/dsm_impl.c:648 storage/ipc/dsm_impl.c:811 storage/ipc/dsm_impl.c:953
+#: storage/ipc/dsm_impl.c:261 storage/ipc/dsm_impl.c:361
+#: storage/ipc/dsm_impl.c:533 storage/ipc/dsm_impl.c:648
+#: storage/ipc/dsm_impl.c:811 storage/ipc/dsm_impl.c:953
 #, c-format
 msgid "could not unmap shared memory segment \"%s\": %m"
 msgstr "n'a pas pu annuler le mappage du segment de mémoire partagée « %s » : %m"
 
-#: storage/ipc/dsm_impl.c:271 storage/ipc/dsm_impl.c:543 storage/ipc/dsm_impl.c:658 storage/ipc/dsm_impl.c:821
+#: storage/ipc/dsm_impl.c:271 storage/ipc/dsm_impl.c:543
+#: storage/ipc/dsm_impl.c:658 storage/ipc/dsm_impl.c:821
 #, c-format
 msgid "could not remove shared memory segment \"%s\": %m"
 msgstr "n'a pas pu supprimer le segment de mémoire partagée « %s » : %m"
 
-#: storage/ipc/dsm_impl.c:292 storage/ipc/dsm_impl.c:721 storage/ipc/dsm_impl.c:835
+#: storage/ipc/dsm_impl.c:292 storage/ipc/dsm_impl.c:721
+#: storage/ipc/dsm_impl.c:835
 #, c-format
 msgid "could not open shared memory segment \"%s\": %m"
 msgstr "n'a pas pu ouvrir le segment de mémoire partagée « %s » : %m"
 
-#: storage/ipc/dsm_impl.c:316 storage/ipc/dsm_impl.c:559 storage/ipc/dsm_impl.c:766 storage/ipc/dsm_impl.c:859
+#: storage/ipc/dsm_impl.c:316 storage/ipc/dsm_impl.c:559
+#: storage/ipc/dsm_impl.c:766 storage/ipc/dsm_impl.c:859
 #, c-format
 msgid "could not stat shared memory segment \"%s\": %m"
 msgstr "n'a pas pu obtenir des informations sur le segment de mémoire partagée « %s » : %m"
 
-#: storage/ipc/dsm_impl.c:335 storage/ipc/dsm_impl.c:878 storage/ipc/dsm_impl.c:926
+#: storage/ipc/dsm_impl.c:335 storage/ipc/dsm_impl.c:878
+#: storage/ipc/dsm_impl.c:926
 #, c-format
 msgid "could not resize shared memory segment \"%s\" to %zu bytes: %m"
 msgstr "n'a pas pu retailler le segment de mémoire partagée « %s » en %zu octets : %m"
 
-#: storage/ipc/dsm_impl.c:385 storage/ipc/dsm_impl.c:580 storage/ipc/dsm_impl.c:742 storage/ipc/dsm_impl.c:977
+#: storage/ipc/dsm_impl.c:385 storage/ipc/dsm_impl.c:580
+#: storage/ipc/dsm_impl.c:742 storage/ipc/dsm_impl.c:977
 #, c-format
 msgid "could not map shared memory segment \"%s\": %m"
 msgstr "n'a pas pu mapper le segment de mémoire partagée « %s » : %m"
@@ -16270,37 +17317,59 @@ msgstr "n'a pas pu cr
 msgid "could not duplicate handle for \"%s\": %m"
 msgstr "n'a pas pu dupliquer le lien pour « %s » : %m"
 
-#: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:189 storage/ipc/shmem.c:205 storage/lmgr/lock.c:867 storage/lmgr/lock.c:901 storage/lmgr/lock.c:2598 storage/lmgr/lock.c:3714 storage/lmgr/lock.c:3779 storage/lmgr/lock.c:4069 storage/lmgr/predicate.c:2328 storage/lmgr/predicate.c:2343 storage/lmgr/predicate.c:3735 storage/lmgr/predicate.c:4878 storage/lmgr/proc.c:200 utils/hash/dynahash.c:998
+#: storage/ipc/latch.c:769
+#, fuzzy, c-format
+#| msgid "poll() failed: %m"
+msgid "epoll_ctl() failed: %m"
+msgstr "échec de poll() : %m"
+
+#: storage/ipc/latch.c:993
+#, fuzzy, c-format
+#| msgid "poll() failed: %m"
+msgid "epoll_wait() failed: %m"
+msgstr "échec de poll() : %m"
+
+#: storage/ipc/latch.c:1113
+#, c-format
+msgid "poll() failed: %m"
+msgstr "échec de poll() : %m"
+
+#: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:189 storage/ipc/shmem.c:212
+#: storage/lmgr/lock.c:883 storage/lmgr/lock.c:917 storage/lmgr/lock.c:2682
+#: storage/lmgr/lock.c:4007 storage/lmgr/lock.c:4072 storage/lmgr/lock.c:4364
+#: storage/lmgr/predicate.c:2329 storage/lmgr/predicate.c:2344
+#: storage/lmgr/predicate.c:3736 storage/lmgr/predicate.c:4879
+#: storage/lmgr/proc.c:203 utils/hash/dynahash.c:1045
 #, c-format
 msgid "out of shared memory"
 msgstr "mémoire partagée épuisée"
 
-#: storage/ipc/shmem.c:361 storage/ipc/shmem.c:412
+#: storage/ipc/shmem.c:370 storage/ipc/shmem.c:421
 #, c-format
 msgid "not enough shared memory for data structure \"%s\" (%zu bytes requested)"
 msgstr "pas assez de mémoire partagée pour la structure de données « %s » (%zu octets demandés)"
 
-#: storage/ipc/shmem.c:380
+#: storage/ipc/shmem.c:389
 #, c-format
 msgid "could not create ShmemIndex entry for data structure \"%s\""
 msgstr "n'a pas pu créer l'entrée ShmemIndex pour la structure de données « %s »"
 
-#: storage/ipc/shmem.c:395
+#: storage/ipc/shmem.c:404
 #, c-format
 msgid "ShmemIndex entry size is wrong for data structure \"%s\": expected %zu, actual %zu"
 msgstr "La taille de l'entrée ShmemIndex est mauvaise pour la structure de données « %s » : %zu attendu, %zu obtenu"
 
-#: storage/ipc/shmem.c:440 storage/ipc/shmem.c:459
+#: storage/ipc/shmem.c:452 storage/ipc/shmem.c:471
 #, c-format
 msgid "requested shared memory size overflows size_t"
 msgstr "la taille de la mémoire partagée demandée dépasse size_t"
 
-#: storage/ipc/standby.c:500 tcop/postgres.c:2974
+#: storage/ipc/standby.c:527 tcop/postgres.c:2963
 #, c-format
 msgid "canceling statement due to conflict with recovery"
 msgstr "annulation de la requête à cause d'un conflit avec la restauration"
 
-#: storage/ipc/standby.c:501 tcop/postgres.c:2274
+#: storage/ipc/standby.c:528 tcop/postgres.c:2265
 #, c-format
 msgid "User transaction caused buffer deadlock with recovery."
 msgstr "La transaction de l'utilisateur causait un verrou mortel lors de la restauration."
@@ -16325,142 +17394,143 @@ msgstr "param
 msgid "invalid large object write request size: %d"
 msgstr "taille de la requête d'écriture du « Large Object » invalide : %d"
 
-#: storage/lmgr/deadlock.c:925
+#: storage/lmgr/deadlock.c:1109
 #, c-format
 msgid "Process %d waits for %s on %s; blocked by process %d."
 msgstr "Le processus %d attend %s sur %s ; bloqué par le processus %d."
 
-#: storage/lmgr/deadlock.c:944
+#: storage/lmgr/deadlock.c:1128
 #, c-format
 msgid "Process %d: %s"
 msgstr "Processus %d : %s"
 
-#: storage/lmgr/deadlock.c:953
+#: storage/lmgr/deadlock.c:1137
 #, c-format
 msgid "deadlock detected"
 msgstr "Bloquage mortel détecté"
 
-#: storage/lmgr/deadlock.c:956
+#: storage/lmgr/deadlock.c:1140
 #, c-format
 msgid "See server log for query details."
 msgstr "Voir les journaux applicatifs du serveur pour les détails sur la requête."
 
-#: storage/lmgr/lmgr.c:684
+#: storage/lmgr/lmgr.c:719
 #, c-format
 msgid "while updating tuple (%u,%u) in relation \"%s\""
 msgstr "lors de la mise à jour de la ligne (%u,%u) dans la relation « %s »"
 
-#: storage/lmgr/lmgr.c:687
+#: storage/lmgr/lmgr.c:722
 #, c-format
 msgid "while deleting tuple (%u,%u) in relation \"%s\""
 msgstr "lors de la suppression de la ligne (%u,%u) dans la relation « %s »"
 
-#: storage/lmgr/lmgr.c:690
+#: storage/lmgr/lmgr.c:725
 #, c-format
 msgid "while locking tuple (%u,%u) in relation \"%s\""
 msgstr "lors du verrouillage de la ligne (%u,%u) dans la relation « %s »"
 
-#: storage/lmgr/lmgr.c:693
+#: storage/lmgr/lmgr.c:728
 #, c-format
 msgid "while locking updated version (%u,%u) of tuple in relation \"%s\""
 msgstr "lors du verrou de la version mise à jour (%u, %u) de la ligne de la relation « %s »"
 
-#: storage/lmgr/lmgr.c:696
+#: storage/lmgr/lmgr.c:731
 #, c-format
 msgid "while inserting index tuple (%u,%u) in relation \"%s\""
 msgstr "lors de l'insertion de l'enregistrement (%u, %u) de l'index dans la relation « %s »"
 
-#: storage/lmgr/lmgr.c:699
+#: storage/lmgr/lmgr.c:734
 #, c-format
 msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\""
 msgstr "lors de la vérification de l'unicité de l'enregistrement (%u,%u) dans la relation « %s »"
 
-#: storage/lmgr/lmgr.c:702
+#: storage/lmgr/lmgr.c:737
 #, c-format
 msgid "while rechecking updated tuple (%u,%u) in relation \"%s\""
 msgstr "lors de la re-vérification de l'enregistrement mis à jour (%u,%u) dans la relation « %s »"
 
-#: storage/lmgr/lmgr.c:705
+#: storage/lmgr/lmgr.c:740
 #, c-format
 msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\""
 msgstr "lors de la vérification de la contrainte d'exclusion sur l'enregistrement (%u,%u) dans la relation « %s »"
 
-#: storage/lmgr/lmgr.c:925
+#: storage/lmgr/lmgr.c:960
 #, c-format
 msgid "relation %u of database %u"
 msgstr "relation %u de la base de données %u"
 
-#: storage/lmgr/lmgr.c:931
+#: storage/lmgr/lmgr.c:966
 #, c-format
 msgid "extension of relation %u of database %u"
 msgstr "extension de la relation %u de la base de données %u"
 
-#: storage/lmgr/lmgr.c:937
+#: storage/lmgr/lmgr.c:972
 #, c-format
 msgid "page %u of relation %u of database %u"
 msgstr "page %u de la relation %u de la base de données %u"
 
-#: storage/lmgr/lmgr.c:944
+#: storage/lmgr/lmgr.c:979
 #, c-format
 msgid "tuple (%u,%u) of relation %u of database %u"
 msgstr "ligne (%u,%u) de la relation %u de la base de données %u"
 
-#: storage/lmgr/lmgr.c:952
+#: storage/lmgr/lmgr.c:987
 #, c-format
 msgid "transaction %u"
 msgstr "transaction %u"
 
-#: storage/lmgr/lmgr.c:957
+#: storage/lmgr/lmgr.c:992
 #, c-format
 msgid "virtual transaction %d/%u"
 msgstr "transaction virtuelle %d/%u"
 
-#: storage/lmgr/lmgr.c:963
+#: storage/lmgr/lmgr.c:998
 #, fuzzy, c-format
 #| msgid "could not access status of transaction %u"
 msgid "speculative token %u of transaction %u"
 msgstr "n'a pas pu accéder au statut de la transaction %u"
 
-#: storage/lmgr/lmgr.c:969
+#: storage/lmgr/lmgr.c:1004
 #, c-format
 msgid "object %u of class %u of database %u"
 msgstr "objet %u de la classe %u de la base de données %u"
 
-#: storage/lmgr/lmgr.c:977
+#: storage/lmgr/lmgr.c:1012
 #, c-format
 msgid "user lock [%u,%u,%u]"
 msgstr "verrou utilisateur [%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:984
+#: storage/lmgr/lmgr.c:1019
 #, c-format
 msgid "advisory lock [%u,%u,%u,%u]"
 msgstr "verrou informatif [%u,%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:992
+#: storage/lmgr/lmgr.c:1027
 #, c-format
 msgid "unrecognized locktag type %d"
 msgstr "type locktag non reconnu %d"
 
-#: storage/lmgr/lock.c:716
+#: storage/lmgr/lock.c:732
 #, c-format
 msgid "cannot acquire lock mode %s on database objects while recovery is in progress"
 msgstr ""
 "ne peut pas acquérir le mode de verrou %s sur les objets de base de données\n"
 "alors que la restauration est en cours"
 
-#: storage/lmgr/lock.c:718
+#: storage/lmgr/lock.c:734
 #, c-format
 msgid "Only RowExclusiveLock or less can be acquired on database objects during recovery."
 msgstr ""
 "Seuls RowExclusiveLock et les verrous inférieurs peuvent être acquis sur les\n"
 "objets d'une base pendant une restauration."
 
-#: storage/lmgr/lock.c:868 storage/lmgr/lock.c:902 storage/lmgr/lock.c:2599 storage/lmgr/lock.c:3715 storage/lmgr/lock.c:3780 storage/lmgr/lock.c:4070
+#: storage/lmgr/lock.c:884 storage/lmgr/lock.c:918 storage/lmgr/lock.c:2683
+#: storage/lmgr/lock.c:4008 storage/lmgr/lock.c:4073 storage/lmgr/lock.c:4365
 #, c-format
 msgid "You might need to increase max_locks_per_transaction."
 msgstr "Vous pourriez avoir besoin d'augmenter max_locks_per_transaction."
 
-#: storage/lmgr/lock.c:3040 storage/lmgr/lock.c:3152
+#: storage/lmgr/lock.c:3124 storage/lmgr/lock.c:3240
 #, c-format
 msgid "cannot PREPARE while holding both session-level and transaction-level locks on the same object"
 msgstr "ne peut pas utiliser PREPARE lorsque des verrous de niveau session et deniveau transaction sont détenus sur le même objet"
@@ -16482,114 +17552,124 @@ msgstr ""
 msgid "not enough elements in RWConflictPool to record a potential read/write conflict"
 msgstr "pas assez d'éléments dans RWConflictPool pour enregistrer un conflit en lecture/écriture potentiel"
 
-#: storage/lmgr/predicate.c:908
+#: storage/lmgr/predicate.c:909
 #, c-format
 msgid "memory for serializable conflict tracking is nearly exhausted"
 msgstr "la mémoire pour tracer les conflits sérialisables est pratiquement pleine"
 
-#: storage/lmgr/predicate.c:909
+#: storage/lmgr/predicate.c:910
 #, c-format
 msgid "There might be an idle transaction or a forgotten prepared transaction causing this."
 msgstr ""
 "Il pourait y avoir une transaction en attente ou une transaction préparée\n"
 "oubliée causant cela."
 
-#: storage/lmgr/predicate.c:1189 storage/lmgr/predicate.c:1260
+#: storage/lmgr/predicate.c:1190 storage/lmgr/predicate.c:1261
 #, c-format
 msgid "not enough shared memory for elements of data structure \"%s\" (%zu bytes requested)"
 msgstr ""
 "pas assez de mémoire partagée pour les éléments de la structure de données\n"
 "« %s » (%zu octets demandés)"
 
-#: storage/lmgr/predicate.c:1548
+#: storage/lmgr/predicate.c:1549
 #, c-format
 msgid "deferrable snapshot was unsafe; trying a new one"
 msgstr "l'image déferrable est non sûre ; tentative avec une nouvelle image"
 
-#: storage/lmgr/predicate.c:1587
+#: storage/lmgr/predicate.c:1588
 #, c-format
 msgid "\"default_transaction_isolation\" is set to \"serializable\"."
 msgstr "« default_transaction_isolation » est configuré à « serializable »."
 
-#: storage/lmgr/predicate.c:1588
+#: storage/lmgr/predicate.c:1589
 #, c-format
 msgid "You can use \"SET default_transaction_isolation = 'repeatable read'\" to change the default."
 msgstr ""
 "Vous pouvez utiliser « SET default_transaction_isolation = 'repeatable read' »\n"
 "pour modifier la valeur par défaut."
 
-#: storage/lmgr/predicate.c:1627
+#: storage/lmgr/predicate.c:1628
 #, c-format
 msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE"
 msgstr "une transaction important un snapshot ne doit pas être READ ONLY DEFERRABLE"
 
-#: storage/lmgr/predicate.c:1705 utils/time/snapmgr.c:431 utils/time/snapmgr.c:437
+#: storage/lmgr/predicate.c:1706 utils/time/snapmgr.c:542
+#: utils/time/snapmgr.c:548
 #, c-format
 msgid "could not import the requested snapshot"
 msgstr "n'a pas pu importer le snapshot demandé"
 
-#: storage/lmgr/predicate.c:1706 utils/time/snapmgr.c:438
+#: storage/lmgr/predicate.c:1707 utils/time/snapmgr.c:549
 #, c-format
 msgid "The source transaction %u is not running anymore."
 msgstr "La transaction source %u n'est plus en cours d'exécution."
 
-#: storage/lmgr/predicate.c:2329 storage/lmgr/predicate.c:2344 storage/lmgr/predicate.c:3736
+#: storage/lmgr/predicate.c:2330 storage/lmgr/predicate.c:2345
+#: storage/lmgr/predicate.c:3737
 #, c-format
 msgid "You might need to increase max_pred_locks_per_transaction."
 msgstr "Vous pourriez avoir besoin d'augmenter max_pred_locks_per_transaction."
 
-#: storage/lmgr/predicate.c:3890 storage/lmgr/predicate.c:3979 storage/lmgr/predicate.c:3987 storage/lmgr/predicate.c:4026 storage/lmgr/predicate.c:4265 storage/lmgr/predicate.c:4602 storage/lmgr/predicate.c:4614 storage/lmgr/predicate.c:4656 storage/lmgr/predicate.c:4694
+#: storage/lmgr/predicate.c:3891 storage/lmgr/predicate.c:3980
+#: storage/lmgr/predicate.c:3988 storage/lmgr/predicate.c:4027
+#: storage/lmgr/predicate.c:4266 storage/lmgr/predicate.c:4603
+#: storage/lmgr/predicate.c:4615 storage/lmgr/predicate.c:4657
+#: storage/lmgr/predicate.c:4695
 #, c-format
 msgid "could not serialize access due to read/write dependencies among transactions"
 msgstr ""
 "n'a pas pu sérialiser un accès à cause des dépendances de lecture/écriture\n"
 "parmi les transactions"
 
-#: storage/lmgr/predicate.c:3892 storage/lmgr/predicate.c:3981 storage/lmgr/predicate.c:3989 storage/lmgr/predicate.c:4028 storage/lmgr/predicate.c:4267 storage/lmgr/predicate.c:4604 storage/lmgr/predicate.c:4616 storage/lmgr/predicate.c:4658 storage/lmgr/predicate.c:4696
+#: storage/lmgr/predicate.c:3893 storage/lmgr/predicate.c:3982
+#: storage/lmgr/predicate.c:3990 storage/lmgr/predicate.c:4029
+#: storage/lmgr/predicate.c:4268 storage/lmgr/predicate.c:4605
+#: storage/lmgr/predicate.c:4617 storage/lmgr/predicate.c:4659
+#: storage/lmgr/predicate.c:4697
 #, c-format
 msgid "The transaction might succeed if retried."
 msgstr "La transaction pourrait réussir après une nouvelle tentative."
 
-#: storage/lmgr/proc.c:1164
+#: storage/lmgr/proc.c:1263
 #, c-format
 msgid "Process %d waits for %s on %s."
 msgstr "Le processus %d attend %s sur %s."
 
-#: storage/lmgr/proc.c:1175
+#: storage/lmgr/proc.c:1274
 #, c-format
 msgid "sending cancel to blocking autovacuum PID %d"
 msgstr "envoi de l'annulation pour bloquer le PID %d de l'autovacuum"
 
-#: storage/lmgr/proc.c:1193 utils/adt/misc.c:146
+#: storage/lmgr/proc.c:1292 utils/adt/misc.c:270
 #, c-format
 msgid "could not send signal to process %d: %m"
 msgstr "n'a pas pu envoyer le signal au processus %d : %m"
 
-#: storage/lmgr/proc.c:1295
+#: storage/lmgr/proc.c:1394
 #, c-format
 msgid "process %d avoided deadlock for %s on %s by rearranging queue order after %ld.%03d ms"
 msgstr ""
 "le processus %d a évité un verrou mortel pour %s sur %s en modifiant l'ordre\n"
 "de la queue après %ld.%03d ms"
 
-#: storage/lmgr/proc.c:1310
+#: storage/lmgr/proc.c:1409
 #, c-format
 msgid "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms"
 msgstr ""
 "le processus %d a détecté un verrou mortel alors qu'il était en attente de\n"
 "%s sur %s après %ld.%03d ms"
 
-#: storage/lmgr/proc.c:1319
+#: storage/lmgr/proc.c:1418
 #, c-format
 msgid "process %d still waiting for %s on %s after %ld.%03d ms"
 msgstr "le processus %d est toujours en attente de %s sur %s après %ld.%03d ms"
 
-#: storage/lmgr/proc.c:1326
+#: storage/lmgr/proc.c:1425
 #, c-format
 msgid "process %d acquired %s on %s after %ld.%03d ms"
 msgstr "le processus %d a acquis %s sur %s après %ld.%03d ms"
 
-#: storage/lmgr/proc.c:1342
+#: storage/lmgr/proc.c:1441
 #, c-format
 msgid "process %d failed to acquire %s on %s after %ld.%03d ms"
 msgstr "le processus %d a échoué pour l'acquisition de %s sur %s après %ld.%03d ms"
@@ -16599,7 +17679,9 @@ msgstr "le processus %d a 
 msgid "page verification failed, calculated checksum %u but expected %u"
 msgstr "échec de la vérification de la page, somme de contrôle calculé %u, mais attendait %u"
 
-#: storage/page/bufpage.c:200 storage/page/bufpage.c:490 storage/page/bufpage.c:705 storage/page/bufpage.c:836 storage/page/bufpage.c:936
+#: storage/page/bufpage.c:200 storage/page/bufpage.c:490
+#: storage/page/bufpage.c:705 storage/page/bufpage.c:836
+#: storage/page/bufpage.c:936
 #, c-format
 msgid "corrupted page pointers: lower = %u, upper = %u, special = %u"
 msgstr "pointeurs de page corrompus : le plus bas = %u, le plus haut = %u, spécial = %u"
@@ -16609,7 +17691,8 @@ msgstr "pointeurs de page corrompus : le plus bas = %u, le plus haut = %u, sp
 msgid "corrupted item pointer: %u"
 msgstr "pointeur d'élément corrompu : %u"
 
-#: storage/page/bufpage.c:545 storage/page/bufpage.c:887 storage/page/bufpage.c:1042
+#: storage/page/bufpage.c:545 storage/page/bufpage.c:887
+#: storage/page/bufpage.c:1042
 #, c-format
 msgid "corrupted item lengths: total %u, available space %u"
 msgstr "longueurs d'élément corrompus : total %u, espace disponible %u"
@@ -16624,85 +17707,91 @@ msgstr "pointeur d'
 msgid "corrupted item pointer: offset = %u, length = %u"
 msgstr "pointeur d'élément corrompu : décalage = %u, longueur = %u"
 
-#: storage/smgr/md.c:442 storage/smgr/md.c:913
+#: storage/smgr/md.c:453 storage/smgr/md.c:975
 #, c-format
 msgid "could not truncate file \"%s\": %m"
 msgstr "n'a pas pu tronquer le fichier « %s » : %m"
 
-#: storage/smgr/md.c:509
+#: storage/smgr/md.c:520
 #, c-format
 msgid "cannot extend file \"%s\" beyond %u blocks"
 msgstr "ne peut pas étendre le fichier « %s » de plus de %u blocs"
 
-#: storage/smgr/md.c:531 storage/smgr/md.c:692 storage/smgr/md.c:767
+#: storage/smgr/md.c:542 storage/smgr/md.c:755 storage/smgr/md.c:831
 #, c-format
 msgid "could not seek to block %u in file \"%s\": %m"
 msgstr "n'a pas pu trouver le bloc %u dans le fichier « %s » : %m"
 
-#: storage/smgr/md.c:539
+#: storage/smgr/md.c:550
 #, c-format
 msgid "could not extend file \"%s\": %m"
 msgstr "n'a pas pu étendre le fichier « %s » : %m"
 
-#: storage/smgr/md.c:541 storage/smgr/md.c:548 storage/smgr/md.c:794
+#: storage/smgr/md.c:552 storage/smgr/md.c:559 storage/smgr/md.c:858
 #, c-format
 msgid "Check free disk space."
 msgstr "Vérifiez l'espace disque disponible."
 
-#: storage/smgr/md.c:545
+#: storage/smgr/md.c:556
 #, c-format
 msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u"
 msgstr ""
 "n'a pas pu étendre le fichier « %s » : a écrit seulement %d octets sur %d\n"
 "au bloc %u"
 
-#: storage/smgr/md.c:710
+#: storage/smgr/md.c:773
 #, c-format
 msgid "could not read block %u in file \"%s\": %m"
 msgstr "n'a pas pu lire le bloc %u dans le fichier « %s » : %m"
 
-#: storage/smgr/md.c:726
+#: storage/smgr/md.c:789
 #, c-format
 msgid "could not read block %u in file \"%s\": read only %d of %d bytes"
 msgstr ""
 "n'a pas pu lire le bloc %u du fichier « %s » : a lu seulement %d octets\n"
 "sur %d"
 
-#: storage/smgr/md.c:785
+#: storage/smgr/md.c:849
 #, c-format
 msgid "could not write block %u in file \"%s\": %m"
 msgstr "n'a pas pu écrire le bloc %u dans le fichier « %s » : %m"
 
-#: storage/smgr/md.c:790
+#: storage/smgr/md.c:854
 #, c-format
 msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes"
 msgstr ""
 "n'a pas pu écrire le bloc %u du fichier « %s » : a seulement écrit %d\n"
 "octets sur %d"
 
-#: storage/smgr/md.c:889
+#: storage/smgr/md.c:951
 #, c-format
 msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now"
 msgstr "n'a pas pu tronquer le fichier « %s » en %u blocs : il y a seulement %u blocs"
 
-#: storage/smgr/md.c:938
+#: storage/smgr/md.c:1000
 #, c-format
 msgid "could not truncate file \"%s\" to %u blocks: %m"
 msgstr "n'a pas pu tronquer le fichier « %s » en %u blocs : %m"
 
-#: storage/smgr/md.c:1218
+#: storage/smgr/md.c:1282
 #, c-format
 msgid "could not fsync file \"%s\" but retrying: %m"
 msgstr ""
 "n'a pas pu synchroniser sur disque (fsync) le fichier « %s », nouvelle\n"
 "tentative : %m"
 
-#: storage/smgr/md.c:1381
+#: storage/smgr/md.c:1445
 #, c-format
 msgid "could not forward fsync request because request queue is full"
 msgstr "n'a pas pu envoyer la requête fsync car la queue des requêtes est pleine"
 
-#: storage/smgr/md.c:1776
+#: storage/smgr/md.c:1866
+#, fuzzy, c-format
+#| msgid "could not open file \"%s\" (target block %u): %m"
+msgid "could not open file \"%s\" (target block %u): previous segment is only %u blocks"
+msgstr "n'a pas pu ouvrir le fichier « %s » (bloc cible %u) : %m"
+
+#: storage/smgr/md.c:1880
 #, c-format
 msgid "could not open file \"%s\" (target block %u): %m"
 msgstr "n'a pas pu ouvrir le fichier « %s » (bloc cible %u) : %m"
@@ -16712,7 +17801,9 @@ msgstr "n'a pas pu ouvrir le fichier 
 msgid "invalid argument size %d in function call message"
 msgstr "taille de l'argument %d invalide dans le message d'appel de la fonction"
 
-#: tcop/fastpath.c:291 tcop/postgres.c:1003 tcop/postgres.c:1313 tcop/postgres.c:1571 tcop/postgres.c:1975 tcop/postgres.c:2342 tcop/postgres.c:2417
+#: tcop/fastpath.c:291 tcop/postgres.c:992 tcop/postgres.c:1303
+#: tcop/postgres.c:1561 tcop/postgres.c:1966 tcop/postgres.c:2333
+#: tcop/postgres.c:2408
 #, c-format
 msgid "current transaction is aborted, commands ignored until end of transaction block"
 msgstr ""
@@ -16724,7 +17815,8 @@ msgstr ""
 msgid "fastpath function call: \"%s\" (OID %u)"
 msgstr "appel de fonction fastpath : « %s » (OID %u)"
 
-#: tcop/fastpath.c:401 tcop/postgres.c:1173 tcop/postgres.c:1438 tcop/postgres.c:1816 tcop/postgres.c:2033
+#: tcop/fastpath.c:401 tcop/postgres.c:1163 tcop/postgres.c:1428
+#: tcop/postgres.c:1807 tcop/postgres.c:2024
 #, c-format
 msgid "duration: %s ms"
 msgstr "durée : %s ms"
@@ -16753,144 +17845,145 @@ msgstr ""
 msgid "incorrect binary data format in function argument %d"
 msgstr "format des données binaires incorrect dans l'argument de la fonction %d"
 
-#: tcop/postgres.c:363 tcop/postgres.c:399 tcop/postgres.c:426
+#: tcop/postgres.c:352 tcop/postgres.c:388 tcop/postgres.c:415
 #, c-format
 msgid "unexpected EOF on client connection"
 msgstr "fin de fichier (EOF) inattendue de la connexion du client"
 
-#: tcop/postgres.c:449 tcop/postgres.c:461 tcop/postgres.c:472 tcop/postgres.c:484 tcop/postgres.c:4268
+#: tcop/postgres.c:438 tcop/postgres.c:450 tcop/postgres.c:461
+#: tcop/postgres.c:473 tcop/postgres.c:4297
 #, c-format
 msgid "invalid frontend message type %d"
 msgstr "type %d du message de l'interface invalide"
 
-#: tcop/postgres.c:944
+#: tcop/postgres.c:933
 #, c-format
 msgid "statement: %s"
 msgstr "instruction : %s"
 
-#: tcop/postgres.c:1178
+#: tcop/postgres.c:1168
 #, c-format
 msgid "duration: %s ms  statement: %s"
 msgstr "durée : %s ms, instruction : %s"
 
-#: tcop/postgres.c:1228
+#: tcop/postgres.c:1218
 #, c-format
 msgid "parse %s: %s"
 msgstr "analyse %s : %s"
 
-#: tcop/postgres.c:1286
+#: tcop/postgres.c:1276
 #, c-format
 msgid "cannot insert multiple commands into a prepared statement"
 msgstr "ne peut pas insérer les commandes multiples dans une instruction préparée"
 
-#: tcop/postgres.c:1443
+#: tcop/postgres.c:1433
 #, c-format
 msgid "duration: %s ms  parse %s: %s"
 msgstr "durée : %s ms, analyse %s : %s"
 
-#: tcop/postgres.c:1488
+#: tcop/postgres.c:1478
 #, c-format
 msgid "bind %s to %s"
 msgstr "lie %s à %s"
 
-#: tcop/postgres.c:1507 tcop/postgres.c:2323
+#: tcop/postgres.c:1497 tcop/postgres.c:2314
 #, c-format
 msgid "unnamed prepared statement does not exist"
 msgstr "l'instruction préparée non nommée n'existe pas"
 
-#: tcop/postgres.c:1549
+#: tcop/postgres.c:1539
 #, c-format
 msgid "bind message has %d parameter formats but %d parameters"
 msgstr "le message bind a %d formats de paramètres mais %d paramètres"
 
-#: tcop/postgres.c:1555
+#: tcop/postgres.c:1545
 #, c-format
 msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d"
 msgstr ""
 "le message bind fournit %d paramètres, mais l'instruction préparée « %s » en\n"
 "requiert %d"
 
-#: tcop/postgres.c:1723
+#: tcop/postgres.c:1714
 #, c-format
 msgid "incorrect binary data format in bind parameter %d"
 msgstr "format des données binaires incorrect dans le paramètre bind %d"
 
-#: tcop/postgres.c:1821
+#: tcop/postgres.c:1812
 #, c-format
 msgid "duration: %s ms  bind %s%s%s: %s"
 msgstr "durée : %s ms, lien %s%s%s : %s"
 
-#: tcop/postgres.c:1869 tcop/postgres.c:2403
+#: tcop/postgres.c:1860 tcop/postgres.c:2394
 #, c-format
 msgid "portal \"%s\" does not exist"
 msgstr "le portail « %s » n'existe pas"
 
-#: tcop/postgres.c:1954
+#: tcop/postgres.c:1945
 #, c-format
 msgid "%s %s%s%s: %s"
 msgstr "%s %s%s%s: %s"
 
-#: tcop/postgres.c:1956 tcop/postgres.c:2041
+#: tcop/postgres.c:1947 tcop/postgres.c:2032
 msgid "execute fetch from"
 msgstr "exécute fetch à partir de"
 
-#: tcop/postgres.c:1957 tcop/postgres.c:2042
+#: tcop/postgres.c:1948 tcop/postgres.c:2033
 msgid "execute"
 msgstr "exécute"
 
-#: tcop/postgres.c:2038
+#: tcop/postgres.c:2029
 #, c-format
 msgid "duration: %s ms  %s %s%s%s: %s"
 msgstr "durée : %s ms  %s %s%s%s: %s"
 
-#: tcop/postgres.c:2164
+#: tcop/postgres.c:2155
 #, c-format
 msgid "prepare: %s"
 msgstr "préparation : %s"
 
-#: tcop/postgres.c:2227
+#: tcop/postgres.c:2218
 #, c-format
 msgid "parameters: %s"
 msgstr "paramètres : %s"
 
-#: tcop/postgres.c:2246
+#: tcop/postgres.c:2237
 #, c-format
 msgid "abort reason: recovery conflict"
 msgstr "raison de l'annulation : conflit de restauration"
 
-#: tcop/postgres.c:2262
+#: tcop/postgres.c:2253
 #, c-format
 msgid "User was holding shared buffer pin for too long."
 msgstr "L'utilisateur conservait des blocs disques en mémoire partagée depuis trop longtemps."
 
-#: tcop/postgres.c:2265
+#: tcop/postgres.c:2256
 #, c-format
 msgid "User was holding a relation lock for too long."
 msgstr "L'utilisateur conservait un verrou sur une relation depuis trop longtemps."
 
-#: tcop/postgres.c:2268
+#: tcop/postgres.c:2259
 #, c-format
 msgid "User was or might have been using tablespace that must be dropped."
 msgstr "L'utilisateur utilisait ou pouvait utiliser un tablespace qui doit être supprimé."
 
-#: tcop/postgres.c:2271
+#: tcop/postgres.c:2262
 #, c-format
 msgid "User query might have needed to see row versions that must be removed."
 msgstr ""
 "La requête de l'utilisateur pourrait avoir eu besoin de voir des versions de\n"
 "lignes qui doivent être supprimées."
 
-#: tcop/postgres.c:2277
+#: tcop/postgres.c:2268
 #, c-format
 msgid "User was connected to a database that must be dropped."
 msgstr "L'utilisateur était connecté à une base de donnée qui doit être supprimé."
 
-#: tcop/postgres.c:2606
+#: tcop/postgres.c:2597
 #, c-format
 msgid "terminating connection because of crash of another server process"
 msgstr "arrêt de la connexion à cause de l'arrêt brutal d'un autre processus serveur"
 
-#: tcop/postgres.c:2607
+#: tcop/postgres.c:2598
 #, c-format
 msgid "The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory."
 msgstr ""
@@ -16898,19 +17991,19 @@ msgstr ""
 "courante et de quitter car un autre processus serveur a quitté anormalement\n"
 "et qu'il existe probablement de la mémoire partagée corrompue."
 
-#: tcop/postgres.c:2611 tcop/postgres.c:2917
+#: tcop/postgres.c:2602 tcop/postgres.c:2906
 #, c-format
 msgid "In a moment you should be able to reconnect to the database and repeat your command."
 msgstr ""
 "Dans un moment, vous devriez être capable de vous reconnecter à la base de\n"
 "données et de relancer votre commande."
 
-#: tcop/postgres.c:2697
+#: tcop/postgres.c:2688
 #, c-format
 msgid "floating-point exception"
 msgstr "exception dû à une virgule flottante"
 
-#: tcop/postgres.c:2698
+#: tcop/postgres.c:2689
 #, c-format
 msgid "An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero."
 msgstr ""
@@ -16918,57 +18011,63 @@ msgstr ""
 "Ceci signifie probablement un résultat en dehors de l'échelle ou une\n"
 "opération invalide telle qu'une division par zéro."
 
-#: tcop/postgres.c:2862
+#: tcop/postgres.c:2851
 #, c-format
 msgid "canceling authentication due to timeout"
 msgstr "annulation de l'authentification à cause du délai écoulé"
 
-#: tcop/postgres.c:2866
+#: tcop/postgres.c:2855
 #, c-format
 msgid "terminating autovacuum process due to administrator command"
 msgstr "arrêt du processus autovacuum suite à la demande de l'administrateur"
 
-#: tcop/postgres.c:2872 tcop/postgres.c:2882 tcop/postgres.c:2915
+#: tcop/postgres.c:2861 tcop/postgres.c:2871 tcop/postgres.c:2904
 #, c-format
 msgid "terminating connection due to conflict with recovery"
 msgstr "arrêt de la connexion à cause d'un conflit avec la restauration"
 
-#: tcop/postgres.c:2888
+#: tcop/postgres.c:2877
 #, c-format
 msgid "terminating connection due to administrator command"
 msgstr "arrêt des connexions suite à la demande de l'administrateur"
 
-#: tcop/postgres.c:2898
+#: tcop/postgres.c:2887
 #, c-format
 msgid "connection to client lost"
 msgstr "connexion au client perdue"
 
-#: tcop/postgres.c:2951
+#: tcop/postgres.c:2940
 #, c-format
 msgid "canceling statement due to lock timeout"
 msgstr "annulation de la requête à cause du délai écoulé pour l'obtention des verrous"
 
-#: tcop/postgres.c:2958
+#: tcop/postgres.c:2947
 #, c-format
 msgid "canceling statement due to statement timeout"
 msgstr "annulation de la requête à cause du délai écoulé pour l'exécution de l'instruction"
 
-#: tcop/postgres.c:2965
+#: tcop/postgres.c:2954
 #, c-format
 msgid "canceling autovacuum task"
 msgstr "annulation de la tâche d'autovacuum"
 
-#: tcop/postgres.c:2988
+#: tcop/postgres.c:2977
 #, c-format
 msgid "canceling statement due to user request"
 msgstr "annulation de la requête à la demande de l'utilisateur"
 
-#: tcop/postgres.c:3098
+#: tcop/postgres.c:2987
+#, fuzzy, c-format
+#| msgid "terminating connection due to administrator command"
+msgid "terminating connection due to idle-in-transaction timeout"
+msgstr "arrêt des connexions suite à la demande de l'administrateur"
+
+#: tcop/postgres.c:3101
 #, c-format
 msgid "stack depth limit exceeded"
 msgstr "dépassement de limite (en profondeur) de la pile"
 
-#: tcop/postgres.c:3099
+#: tcop/postgres.c:3102
 #, c-format
 msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate."
 msgstr ""
@@ -16976,107 +18075,107 @@ msgstr ""
 "être assuré que la limite de profondeur de la pile de la plateforme est\n"
 "adéquate."
 
-#: tcop/postgres.c:3162
+#: tcop/postgres.c:3165
 #, c-format
 msgid "\"max_stack_depth\" must not exceed %ldkB."
 msgstr "« max_stack_depth » ne doit pas dépasser %ld Ko."
 
-#: tcop/postgres.c:3164
+#: tcop/postgres.c:3167
 #, c-format
 msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent."
 msgstr ""
 "Augmenter la limite de profondeur de la pile sur votre plateforme via\n"
 "« ulimit -s » ou l'équivalent local."
 
-#: tcop/postgres.c:3524
+#: tcop/postgres.c:3527
 #, c-format
 msgid "invalid command-line argument for server process: %s"
 msgstr "argument invalide en ligne de commande pour le processus serveur : %s"
 
-#: tcop/postgres.c:3525 tcop/postgres.c:3531
+#: tcop/postgres.c:3528 tcop/postgres.c:3534
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Essayez « %s --help » pour plus d'informations."
 
-#: tcop/postgres.c:3529
+#: tcop/postgres.c:3532
 #, c-format
 msgid "%s: invalid command-line argument: %s"
 msgstr "%s : argument invalide en ligne de commande : %s"
 
-#: tcop/postgres.c:3590
+#: tcop/postgres.c:3594
 #, c-format
 msgid "%s: no database nor user name specified"
 msgstr "%s : aucune base de données et aucun utilisateur spécifiés"
 
-#: tcop/postgres.c:4176
+#: tcop/postgres.c:4205
 #, c-format
 msgid "invalid CLOSE message subtype %d"
 msgstr "sous-type %d du message CLOSE invalide"
 
-#: tcop/postgres.c:4211
+#: tcop/postgres.c:4240
 #, c-format
 msgid "invalid DESCRIBE message subtype %d"
 msgstr "sous-type %d du message DESCRIBE invalide"
 
-#: tcop/postgres.c:4289
+#: tcop/postgres.c:4318
 #, c-format
 msgid "fastpath function calls not supported in a replication connection"
 msgstr "appels à la fonction fastpath non supportés dans une connexion de réplication"
 
-#: tcop/postgres.c:4293
+#: tcop/postgres.c:4322
 #, c-format
 msgid "extended query protocol not supported in a replication connection"
 msgstr "protocole étendu de requêtes non supporté dans une connexion de réplication"
 
-#: tcop/postgres.c:4463
+#: tcop/postgres.c:4492
 #, c-format
 msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s"
 msgstr ""
 "déconnexion : durée de la session : %d:%02d:%02d.%03d\n"
 "utilisateur=%s base=%s hôte=%s%s%s"
 
-#: tcop/pquery.c:662
+#: tcop/pquery.c:663
 #, c-format
 msgid "bind message has %d result formats but query has %d columns"
 msgstr "le message bind a %d formats de résultat mais la requête a %d colonnes"
 
-#: tcop/pquery.c:968
+#: tcop/pquery.c:965
 #, c-format
 msgid "cursor can only scan forward"
 msgstr "le curseur peut seulement parcourir en avant"
 
-#: tcop/pquery.c:969
+#: tcop/pquery.c:966
 #, c-format
 msgid "Declare it with SCROLL option to enable backward scan."
 msgstr "Déclarez-le avec l'option SCROLL pour activer le parcours inverse."
 
 #. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:233
+#: tcop/utility.c:235
 #, c-format
 msgid "cannot execute %s in a read-only transaction"
 msgstr "ne peut pas exécuter %s dans une transaction en lecture seule"
 
 #. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:251
+#: tcop/utility.c:253
 #, c-format
 msgid "cannot execute %s during a parallel operation"
 msgstr "ne peut pas exécuté %s lors d'une opération parallèle"
 
 #. translator: %s is name of a SQL command, eg CREATE
-#: tcop/utility.c:270
+#: tcop/utility.c:272
 #, c-format
 msgid "cannot execute %s during recovery"
 msgstr "ne peut pas exécuté %s lors de la restauration"
 
 #. translator: %s is name of a SQL command, eg PREPARE
-#: tcop/utility.c:288
+#: tcop/utility.c:290
 #, c-format
 msgid "cannot execute %s within security-restricted operation"
 msgstr ""
 "ne peut pas exécuter %s à l'intérieur d'une fonction restreinte\n"
 "pour sécurité"
 
-#: tcop/utility.c:742
+#: tcop/utility.c:744
 #, c-format
 msgid "must be superuser to do CHECKPOINT"
 msgstr "doit être super-utilisateur pour exécuter un point de vérification (CHECKPOINT)"
@@ -17205,37 +18304,70 @@ msgstr "param
 msgid "missing Dictionary parameter"
 msgstr "paramètre Dictionary manquant"
 
-#: tsearch/spell.c:276
+#: tsearch/spell.c:382 tsearch/spell.c:399 tsearch/spell.c:408
+#: tsearch/spell.c:1034
+#, fuzzy, c-format
+#| msgid "invalid data in file \"%s\""
+msgid "invalid affix flag \"%s\""
+msgstr "données invalides dans le fichier « %s »"
+
+#: tsearch/spell.c:386 tsearch/spell.c:1038
+#, fuzzy, c-format
+#| msgid "%s: transfer rate \"%s\" is out of range\n"
+msgid "affix flag \"%s\" is out of range"
+msgstr "%s : le taux de transfert « %s » est en dehors des limites\n"
+
+#: tsearch/spell.c:416
+#, fuzzy, c-format
+#| msgid "invalid data in file \"%s\""
+msgid "invalid character in affix flag \"%s\""
+msgstr "données invalides dans le fichier « %s »"
+
+#: tsearch/spell.c:436
+#, c-format
+msgid "invalid affix flag \"%s\" with long flag value"
+msgstr ""
+
+#: tsearch/spell.c:523
 #, c-format
 msgid "could not open dictionary file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier dictionnaire « %s » : %m"
 
-#: tsearch/spell.c:439 utils/adt/regexp.c:204
+#: tsearch/spell.c:740 utils/adt/regexp.c:204
 #, c-format
 msgid "invalid regular expression: %s"
 msgstr "expression rationnelle invalide : %s"
 
-#: tsearch/spell.c:732
-#, c-format
-msgid "multibyte flag character is not allowed"
-msgstr "un caractère drapeau multi-octet n'est pas autorisé"
+#: tsearch/spell.c:1161 tsearch/spell.c:1718
+#, fuzzy, c-format
+#| msgid "invalid cidr value: \"%s\""
+msgid "invalid affix alias \"%s\""
+msgstr "valeur cidr invalide : « %s »"
 
-#: tsearch/spell.c:766 tsearch/spell.c:822 tsearch/spell.c:926
+#: tsearch/spell.c:1210 tsearch/spell.c:1280 tsearch/spell.c:1424
 #, c-format
 msgid "could not open affix file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier affixe « %s » : %m"
 
-#: tsearch/spell.c:812
-#, c-format
-msgid "Ispell dictionary supports only default flag value"
+#: tsearch/spell.c:1264
+#, fuzzy, c-format
+#| msgid "Ispell dictionary supports only default flag value"
+msgid "Ispell dictionary supports only default, long and num flag value"
 msgstr "le dictionnaire Ispell supporte seulement la valeur par défaut du drapeau"
 
-#: tsearch/spell.c:1041
+#: tsearch/spell.c:1307
+#, fuzzy, c-format
+#| msgid "%s: invalid number of parallel jobs\n"
+msgid "invalid number of flag vector aliases"
+msgstr "%s : nombre de jobs en parallèle invalide\n"
+
+#: tsearch/spell.c:1540
 #, c-format
 msgid "affix file contains both old-style and new-style commands"
 msgstr "le fichier d'affixes contient des commandes ancien et nouveau style"
 
-#: tsearch/to_tsany.c:163 utils/adt/tsvector.c:270 utils/adt/tsvector_op.c:530
+#: tsearch/to_tsany.c:170 utils/adt/tsvector.c:270
+#: utils/adt/tsvector_op.c:1066
 #, c-format
 msgid "string is too long for tsvector (%d bytes, max %d bytes)"
 msgstr "la chaîne est trop longue (%d octets, max %d octets)"
@@ -17250,12 +18382,14 @@ msgstr "ligne %d du fichier de configuration 
 msgid "conversion from wchar_t to server encoding failed: %m"
 msgstr "échec de l'encodage de wchar_t vers l'encodage du serveur : %m"
 
-#: tsearch/ts_parse.c:390 tsearch/ts_parse.c:397 tsearch/ts_parse.c:560 tsearch/ts_parse.c:567
+#: tsearch/ts_parse.c:390 tsearch/ts_parse.c:397 tsearch/ts_parse.c:566
+#: tsearch/ts_parse.c:573
 #, c-format
 msgid "word is too long to be indexed"
 msgstr "le mot est trop long pour être indexé"
 
-#: tsearch/ts_parse.c:391 tsearch/ts_parse.c:398 tsearch/ts_parse.c:561 tsearch/ts_parse.c:568
+#: tsearch/ts_parse.c:391 tsearch/ts_parse.c:398 tsearch/ts_parse.c:567
+#: tsearch/ts_parse.c:574
 #, c-format
 msgid "Words longer than %d characters are ignored."
 msgstr "Les mots de plus de %d caractères sont ignorés."
@@ -17275,147 +18409,161 @@ msgstr "n'a pas pu ouvrir le fichier des termes courants 
 msgid "text search parser does not support headline creation"
 msgstr "l'analyseur de recherche plein texte ne supporte pas headline"
 
-#: tsearch/wparser_def.c:2557
+#: tsearch/wparser_def.c:2583
 #, c-format
 msgid "unrecognized headline parameter: \"%s\""
 msgstr "paramètre headline « %s » non reconnu"
 
-#: tsearch/wparser_def.c:2566
+#: tsearch/wparser_def.c:2592
 #, c-format
 msgid "MinWords should be less than MaxWords"
 msgstr "MinWords doit avoir une valeur plus petite que celle de MaxWords"
 
-#: tsearch/wparser_def.c:2570
+#: tsearch/wparser_def.c:2596
 #, c-format
 msgid "MinWords should be positive"
 msgstr "MinWords doit être positif"
 
-#: tsearch/wparser_def.c:2574
+#: tsearch/wparser_def.c:2600
 #, c-format
 msgid "ShortWord should be >= 0"
 msgstr "ShortWord devrait être positif ou nul"
 
-#: tsearch/wparser_def.c:2578
+#: tsearch/wparser_def.c:2604
 #, c-format
 msgid "MaxFragments should be >= 0"
 msgstr "MaxFragments devrait être positif ou nul"
 
-#: utils/adt/acl.c:169 utils/adt/name.c:91
+#: utils/adt/acl.c:170 utils/adt/name.c:91
 #, c-format
 msgid "identifier too long"
 msgstr "identifiant trop long"
 
-#: utils/adt/acl.c:170 utils/adt/name.c:92
+#: utils/adt/acl.c:171 utils/adt/name.c:92
 #, c-format
 msgid "Identifier must be less than %d characters."
 msgstr "L'identifiant doit faire moins de %d caractères."
 
-#: utils/adt/acl.c:256
+#: utils/adt/acl.c:257
 #, c-format
 msgid "unrecognized key word: \"%s\""
 msgstr "mot clé non reconnu : « %s »"
 
-#: utils/adt/acl.c:257
+#: utils/adt/acl.c:258
 #, c-format
 msgid "ACL key word must be \"group\" or \"user\"."
 msgstr "le mot clé ACL doit être soit « group » soit « user »."
 
-#: utils/adt/acl.c:262
+#: utils/adt/acl.c:263
 #, c-format
 msgid "missing name"
 msgstr "nom manquant"
 
-#: utils/adt/acl.c:263
+#: utils/adt/acl.c:264
 #, c-format
 msgid "A name must follow the \"group\" or \"user\" key word."
 msgstr "Un nom doit suivre le mot clé « group » ou « user »."
 
-#: utils/adt/acl.c:269
+#: utils/adt/acl.c:270
 #, c-format
 msgid "missing \"=\" sign"
 msgstr "signe « = » manquant"
 
-#: utils/adt/acl.c:322
+#: utils/adt/acl.c:323
 #, c-format
 msgid "invalid mode character: must be one of \"%s\""
 msgstr "mode caractère invalide : doit faire partie de « %s »"
 
-#: utils/adt/acl.c:344
+#: utils/adt/acl.c:345
 #, c-format
 msgid "a name must follow the \"/\" sign"
 msgstr "un nom doit suivre le signe « / »"
 
-#: utils/adt/acl.c:352
+#: utils/adt/acl.c:353
 #, c-format
 msgid "defaulting grantor to user ID %u"
 msgstr "par défaut, le « donneur de droits » devient l'utilisateur d'identifiant %u"
 
-#: utils/adt/acl.c:543
+#: utils/adt/acl.c:544
 #, c-format
 msgid "ACL array contains wrong data type"
 msgstr "le tableau ACL contient un type de données incorrect"
 
-#: utils/adt/acl.c:547
+#: utils/adt/acl.c:548
 #, c-format
 msgid "ACL arrays must be one-dimensional"
 msgstr "les tableaux d'ACL doivent avoir une dimension"
 
-#: utils/adt/acl.c:551
+#: utils/adt/acl.c:552
 #, c-format
 msgid "ACL arrays must not contain null values"
 msgstr "les tableaux d'ACL ne doivent pas contenir de valeurs NULL"
 
-#: utils/adt/acl.c:575
+#: utils/adt/acl.c:576
 #, c-format
 msgid "extra garbage at the end of the ACL specification"
 msgstr "données superflues à la fin de la spécification de l'ACL"
 
-#: utils/adt/acl.c:1195
+#: utils/adt/acl.c:1196
 #, c-format
 msgid "grant options cannot be granted back to your own grantor"
 msgstr "les options grant ne peuvent pas être rendues à votre propre donateur"
 
-#: utils/adt/acl.c:1256
+#: utils/adt/acl.c:1257
 #, c-format
 msgid "dependent privileges exist"
 msgstr "des privilèges dépendants existent"
 
-#: utils/adt/acl.c:1257
+#: utils/adt/acl.c:1258
 #, c-format
 msgid "Use CASCADE to revoke them too."
 msgstr "Utilisez CASCADE pour les révoquer aussi."
 
-#: utils/adt/acl.c:1536
+#: utils/adt/acl.c:1537
 #, c-format
 msgid "aclinsert is no longer supported"
 msgstr "aclinsert n'est plus supporté"
 
-#: utils/adt/acl.c:1546
+#: utils/adt/acl.c:1547
 #, c-format
 msgid "aclremove is no longer supported"
 msgstr "aclremove n'est plus supporté"
 
-#: utils/adt/acl.c:1632 utils/adt/acl.c:1686
+#: utils/adt/acl.c:1633 utils/adt/acl.c:1687
 #, c-format
 msgid "unrecognized privilege type: \"%s\""
 msgstr "type de droit non reconnu : « %s »"
 
-#: utils/adt/acl.c:3426 utils/adt/regproc.c:123 utils/adt/regproc.c:144 utils/adt/regproc.c:319
+#: utils/adt/acl.c:3427 utils/adt/regproc.c:123 utils/adt/regproc.c:144
+#: utils/adt/regproc.c:319
 #, c-format
 msgid "function \"%s\" does not exist"
 msgstr "la fonction « %s » n'existe pas"
 
-#: utils/adt/acl.c:4880
+#: utils/adt/acl.c:4881
 #, c-format
 msgid "must be member of role \"%s\""
 msgstr "doit être un membre du rôle « %s »"
 
-#: utils/adt/array_expanded.c:276 utils/adt/arrayfuncs.c:934 utils/adt/arrayfuncs.c:1522 utils/adt/arrayfuncs.c:3225 utils/adt/arrayfuncs.c:3363 utils/adt/arrayfuncs.c:5838 utils/adt/arrayfuncs.c:6149 utils/adt/arrayutils.c:93 utils/adt/arrayutils.c:102 utils/adt/arrayutils.c:109
+#: utils/adt/acl.c:5279 utils/adt/acl.c:5285
+#, fuzzy, c-format
+#| msgid "role name \"%s\" is reserved"
+msgid "role \"%s\" is reserved"
+msgstr "le nom du rôle « %s » est réservé"
+
+#: utils/adt/array_expanded.c:276 utils/adt/arrayfuncs.c:931
+#: utils/adt/arrayfuncs.c:1519 utils/adt/arrayfuncs.c:3251
+#: utils/adt/arrayfuncs.c:3389 utils/adt/arrayfuncs.c:5864
+#: utils/adt/arrayfuncs.c:6175 utils/adt/arrayutils.c:93
+#: utils/adt/arrayutils.c:102 utils/adt/arrayutils.c:109
 #, c-format
 msgid "array size exceeds the maximum allowed (%d)"
 msgstr "la taille du tableau dépasse le maximum permis (%d)"
 
-#: utils/adt/array_userfuncs.c:67 utils/adt/array_userfuncs.c:529 utils/adt/array_userfuncs.c:609 utils/adt/json.c:1759 utils/adt/json.c:1854 utils/adt/json.c:1892 utils/adt/jsonb.c:1126 utils/adt/jsonb.c:1155 utils/adt/jsonb.c:1591 utils/adt/jsonb.c:1755 utils/adt/jsonb.c:1765
+#: utils/adt/array_userfuncs.c:67 utils/adt/array_userfuncs.c:529
+#: utils/adt/array_userfuncs.c:609 utils/adt/json.c:1759 utils/adt/json.c:1854
+#: utils/adt/json.c:1892 utils/adt/jsonb.c:1126 utils/adt/jsonb.c:1155
+#: utils/adt/jsonb.c:1591 utils/adt/jsonb.c:1755 utils/adt/jsonb.c:1765
 #, c-format
 msgid "could not determine input data type"
 msgstr "n'a pas pu déterminer le type de données date en entrée"
@@ -17425,8 +18573,16 @@ msgstr "n'a pas pu d
 msgid "input data type is not an array"
 msgstr "le type de données en entrée n'est pas un tableau"
 
-#: utils/adt/array_userfuncs.c:120 utils/adt/array_userfuncs.c:174 utils/adt/arrayfuncs.c:1325 utils/adt/float.c:1161 utils/adt/float.c:1220 utils/adt/float.c:2771 utils/adt/float.c:2787 utils/adt/int.c:623 utils/adt/int.c:652 utils/adt/int.c:673 utils/adt/int.c:704 utils/adt/int.c:737 utils/adt/int.c:759 utils/adt/int.c:907 utils/adt/int.c:928 utils/adt/int.c:955 utils/adt/int.c:995 utils/adt/int.c:1016 utils/adt/int.c:1043
-#: utils/adt/int.c:1076 utils/adt/int.c:1159 utils/adt/int8.c:1298 utils/adt/numeric.c:2903 utils/adt/numeric.c:2912 utils/adt/varbit.c:1173 utils/adt/varbit.c:1565 utils/adt/varlena.c:1045 utils/adt/varlena.c:2582
+#: utils/adt/array_userfuncs.c:120 utils/adt/array_userfuncs.c:174
+#: utils/adt/arrayfuncs.c:1322 utils/adt/float.c:1230 utils/adt/float.c:1289
+#: utils/adt/float.c:3558 utils/adt/float.c:3574 utils/adt/int.c:623
+#: utils/adt/int.c:652 utils/adt/int.c:673 utils/adt/int.c:704
+#: utils/adt/int.c:737 utils/adt/int.c:759 utils/adt/int.c:907
+#: utils/adt/int.c:928 utils/adt/int.c:955 utils/adt/int.c:995
+#: utils/adt/int.c:1016 utils/adt/int.c:1043 utils/adt/int.c:1076
+#: utils/adt/int.c:1159 utils/adt/int8.c:1298 utils/adt/numeric.c:2907
+#: utils/adt/numeric.c:2916 utils/adt/varbit.c:1173 utils/adt/varbit.c:1565
+#: utils/adt/varlena.c:1055 utils/adt/varlena.c:2807
 #, c-format
 msgid "integer out of range"
 msgstr "entier en dehors des limites"
@@ -17436,7 +18592,9 @@ msgstr "entier en dehors des limites"
 msgid "argument must be empty or one-dimensional array"
 msgstr "l'argument doit être vide ou doit être un tableau à une dimension"
 
-#: utils/adt/array_userfuncs.c:266 utils/adt/array_userfuncs.c:305 utils/adt/array_userfuncs.c:342 utils/adt/array_userfuncs.c:371 utils/adt/array_userfuncs.c:399
+#: utils/adt/array_userfuncs.c:266 utils/adt/array_userfuncs.c:305
+#: utils/adt/array_userfuncs.c:342 utils/adt/array_userfuncs.c:371
+#: utils/adt/array_userfuncs.c:399
 #, c-format
 msgid "cannot concatenate incompatible arrays"
 msgstr "ne peut pas concaténer des tableaux non compatibles"
@@ -17469,7 +18627,8 @@ msgstr ""
 "Les tableaux de dimensions différentes ne sont pas compatibles pour\n"
 "une concaténation."
 
-#: utils/adt/array_userfuncs.c:468 utils/adt/arrayfuncs.c:1287 utils/adt/arrayfuncs.c:3331 utils/adt/arrayfuncs.c:5738
+#: utils/adt/array_userfuncs.c:468 utils/adt/arrayfuncs.c:1284
+#: utils/adt/arrayfuncs.c:3357 utils/adt/arrayfuncs.c:5764
 #, c-format
 msgid "invalid number of dimensions: %d"
 msgstr "nombre de dimensions invalides : %d"
@@ -17485,214 +18644,249 @@ msgstr "la suppression d'
 msgid "initial position must not be null"
 msgstr "la position initiale ne doit pas être NULL"
 
-#: utils/adt/arrayfuncs.c:271 utils/adt/arrayfuncs.c:285 utils/adt/arrayfuncs.c:296 utils/adt/arrayfuncs.c:318 utils/adt/arrayfuncs.c:333 utils/adt/arrayfuncs.c:347 utils/adt/arrayfuncs.c:353 utils/adt/arrayfuncs.c:360 utils/adt/arrayfuncs.c:491 utils/adt/arrayfuncs.c:507 utils/adt/arrayfuncs.c:518 utils/adt/arrayfuncs.c:533 utils/adt/arrayfuncs.c:554 utils/adt/arrayfuncs.c:584 utils/adt/arrayfuncs.c:591 utils/adt/arrayfuncs.c:599
-#: utils/adt/arrayfuncs.c:633 utils/adt/arrayfuncs.c:656 utils/adt/arrayfuncs.c:676 utils/adt/arrayfuncs.c:788 utils/adt/arrayfuncs.c:797 utils/adt/arrayfuncs.c:827 utils/adt/arrayfuncs.c:842 utils/adt/arrayfuncs.c:895
+#: utils/adt/arrayfuncs.c:268 utils/adt/arrayfuncs.c:282
+#: utils/adt/arrayfuncs.c:293 utils/adt/arrayfuncs.c:315
+#: utils/adt/arrayfuncs.c:330 utils/adt/arrayfuncs.c:344
+#: utils/adt/arrayfuncs.c:350 utils/adt/arrayfuncs.c:357
+#: utils/adt/arrayfuncs.c:488 utils/adt/arrayfuncs.c:504
+#: utils/adt/arrayfuncs.c:515 utils/adt/arrayfuncs.c:530
+#: utils/adt/arrayfuncs.c:551 utils/adt/arrayfuncs.c:581
+#: utils/adt/arrayfuncs.c:588 utils/adt/arrayfuncs.c:596
+#: utils/adt/arrayfuncs.c:630 utils/adt/arrayfuncs.c:653
+#: utils/adt/arrayfuncs.c:673 utils/adt/arrayfuncs.c:785
+#: utils/adt/arrayfuncs.c:794 utils/adt/arrayfuncs.c:824
+#: utils/adt/arrayfuncs.c:839 utils/adt/arrayfuncs.c:892
 #, c-format
 msgid "malformed array literal: \"%s\""
 msgstr "tableau litéral mal formé : « %s »"
 
-#: utils/adt/arrayfuncs.c:272
+#: utils/adt/arrayfuncs.c:269
 #, c-format
 msgid "\"[\" must introduce explicitly-specified array dimensions."
 msgstr "« [ » doit introduire les dimensions explicites du tableau"
 
-#: utils/adt/arrayfuncs.c:286
+#: utils/adt/arrayfuncs.c:283
 #, c-format
 msgid "Missing array dimension value."
 msgstr "Valeur  manquante de la dimension du tableau."
 
-#: utils/adt/arrayfuncs.c:297 utils/adt/arrayfuncs.c:334
+#: utils/adt/arrayfuncs.c:294 utils/adt/arrayfuncs.c:331
 #, c-format
 msgid "Missing \"%s\" after array dimensions."
 msgstr "« %s » manquant après les dimensions du tableau."
 
-#: utils/adt/arrayfuncs.c:306 utils/adt/arrayfuncs.c:2848 utils/adt/arrayfuncs.c:2876 utils/adt/arrayfuncs.c:2891
+#: utils/adt/arrayfuncs.c:303 utils/adt/arrayfuncs.c:2870
+#: utils/adt/arrayfuncs.c:2902 utils/adt/arrayfuncs.c:2917
 #, c-format
 msgid "upper bound cannot be less than lower bound"
 msgstr "la limite supérieure ne peut pas être plus petite que la limite inférieure"
 
-#: utils/adt/arrayfuncs.c:319
+#: utils/adt/arrayfuncs.c:316
 #, c-format
 msgid "Array value must start with \"{\" or dimension information."
 msgstr ""
 "La valeur du tableau doit commencer avec « { » ou avec l'information de la\n"
 "dimension."
 
-#: utils/adt/arrayfuncs.c:348
+#: utils/adt/arrayfuncs.c:345
 #, c-format
 msgid "Array contents must start with \"{\"."
 msgstr "Le contenu du tableau doit commencer avec « { »."
 
-#: utils/adt/arrayfuncs.c:354 utils/adt/arrayfuncs.c:361
+#: utils/adt/arrayfuncs.c:351 utils/adt/arrayfuncs.c:358
 #, c-format
 msgid "Specified array dimensions do not match array contents."
 msgstr "Les dimensions spécifiées du tableau ne correspondent pas au contenu du tableau."
 
-#: utils/adt/arrayfuncs.c:492 utils/adt/arrayfuncs.c:519 utils/adt/rangetypes.c:2124 utils/adt/rangetypes.c:2132 utils/adt/rowtypes.c:208 utils/adt/rowtypes.c:216
+#: utils/adt/arrayfuncs.c:489 utils/adt/arrayfuncs.c:516
+#: utils/adt/rangetypes.c:2124 utils/adt/rangetypes.c:2132
+#: utils/adt/rowtypes.c:208 utils/adt/rowtypes.c:216
 #, c-format
 msgid "Unexpected end of input."
 msgstr "Fin de l'entrée inattendue."
 
-#: utils/adt/arrayfuncs.c:508 utils/adt/arrayfuncs.c:555 utils/adt/arrayfuncs.c:585 utils/adt/arrayfuncs.c:634
+#: utils/adt/arrayfuncs.c:505 utils/adt/arrayfuncs.c:552
+#: utils/adt/arrayfuncs.c:582 utils/adt/arrayfuncs.c:631
 #, c-format
 msgid "Unexpected \"%c\" character."
 msgstr "Caractère « %c » inattendu."
 
-#: utils/adt/arrayfuncs.c:534 utils/adt/arrayfuncs.c:657
+#: utils/adt/arrayfuncs.c:531 utils/adt/arrayfuncs.c:654
 #, c-format
 msgid "Unexpected array element."
 msgstr "Élément de tableau inattendu."
 
-#: utils/adt/arrayfuncs.c:592
+#: utils/adt/arrayfuncs.c:589
 #, c-format
 msgid "Unmatched \"%c\" character."
 msgstr "Caractère « %c » sans correspondance."
 
-#: utils/adt/arrayfuncs.c:600
+#: utils/adt/arrayfuncs.c:597
 #, c-format
 msgid "Multidimensional arrays must have sub-arrays with matching dimensions."
 msgstr ""
 "Les tableaux multidimensionnels doivent avoir des sous-tableaux\n"
 "avec les dimensions correspondantes"
 
-#: utils/adt/arrayfuncs.c:677
+#: utils/adt/arrayfuncs.c:674
 #, c-format
 msgid "Junk after closing right brace."
 msgstr "Problème après la parenthèse droite fermante."
 
-#: utils/adt/arrayfuncs.c:1298
+#: utils/adt/arrayfuncs.c:1295
 #, c-format
 msgid "invalid array flags"
 msgstr "drapeaux de tableau invalides"
 
-#: utils/adt/arrayfuncs.c:1306
+#: utils/adt/arrayfuncs.c:1303
 #, c-format
 msgid "wrong element type"
 msgstr "mauvais type d'élément"
 
-#: utils/adt/arrayfuncs.c:1356 utils/adt/rangetypes.c:334 utils/cache/lsyscache.c:2586
+#: utils/adt/arrayfuncs.c:1353 utils/adt/rangetypes.c:334
+#: utils/cache/lsyscache.c:2651
 #, c-format
 msgid "no binary input function available for type %s"
 msgstr "aucune fonction d'entrée binaire disponible pour le type %s"
 
-#: utils/adt/arrayfuncs.c:1496
+#: utils/adt/arrayfuncs.c:1493
 #, c-format
 msgid "improper binary format in array element %d"
 msgstr "format binaire mal conçu dans l'élément du tableau %d"
 
-#: utils/adt/arrayfuncs.c:1577 utils/adt/rangetypes.c:339 utils/cache/lsyscache.c:2619
+#: utils/adt/arrayfuncs.c:1574 utils/adt/rangetypes.c:339
+#: utils/cache/lsyscache.c:2684
 #, c-format
 msgid "no binary output function available for type %s"
 msgstr "aucune fonction de sortie binaire disponible pour le type %s"
 
-#: utils/adt/arrayfuncs.c:2048
+#: utils/adt/arrayfuncs.c:2052
 #, c-format
 msgid "slices of fixed-length arrays not implemented"
 msgstr "les morceaux des tableaux à longueur fixe ne sont pas implémentés"
 
-#: utils/adt/arrayfuncs.c:2226 utils/adt/arrayfuncs.c:2248 utils/adt/arrayfuncs.c:2297 utils/adt/arrayfuncs.c:2533 utils/adt/arrayfuncs.c:2830 utils/adt/arrayfuncs.c:5718 utils/adt/arrayfuncs.c:5750 utils/adt/arrayfuncs.c:5767 utils/adt/json.c:2290 utils/adt/json.c:2365 utils/adt/jsonb.c:1369 utils/adt/jsonb.c:1455 utils/adt/jsonfuncs.c:3528 utils/adt/jsonfuncs.c:3573
+#: utils/adt/arrayfuncs.c:2230 utils/adt/arrayfuncs.c:2252
+#: utils/adt/arrayfuncs.c:2301 utils/adt/arrayfuncs.c:2537
+#: utils/adt/arrayfuncs.c:2848 utils/adt/arrayfuncs.c:5744
+#: utils/adt/arrayfuncs.c:5776 utils/adt/arrayfuncs.c:5793
+#: utils/adt/json.c:2290 utils/adt/json.c:2365 utils/adt/jsonb.c:1369
+#: utils/adt/jsonb.c:1455 utils/adt/jsonfuncs.c:3537
+#: utils/adt/jsonfuncs.c:3582 utils/adt/jsonfuncs.c:3629
 #, c-format
 msgid "wrong number of array subscripts"
 msgstr "mauvais nombre d'indices du tableau"
 
-#: utils/adt/arrayfuncs.c:2231 utils/adt/arrayfuncs.c:2339 utils/adt/arrayfuncs.c:2597 utils/adt/arrayfuncs.c:2881
+#: utils/adt/arrayfuncs.c:2235 utils/adt/arrayfuncs.c:2343
+#: utils/adt/arrayfuncs.c:2601 utils/adt/arrayfuncs.c:2907
 #, c-format
 msgid "array subscript out of range"
 msgstr "indice du tableau en dehors de l'échelle"
 
-#: utils/adt/arrayfuncs.c:2236
+#: utils/adt/arrayfuncs.c:2240
 #, c-format
 msgid "cannot assign null value to an element of a fixed-length array"
 msgstr "ne peut pas affecter une valeur NULL à un élément d'un tableau à longueur fixe"
 
-#: utils/adt/arrayfuncs.c:2784
+#: utils/adt/arrayfuncs.c:2795
 #, c-format
 msgid "updates on slices of fixed-length arrays not implemented"
 msgstr ""
 "les mises à jour de morceaux des tableaux à longueur fixe ne sont pas\n"
 "implémentées"
 
-#: utils/adt/arrayfuncs.c:2820 utils/adt/arrayfuncs.c:2907
+#: utils/adt/arrayfuncs.c:2826
+#, fuzzy, c-format
+#| msgid "array subscript must have type integer"
+msgid "array slice subscript must provide both boundaries"
+msgstr "l'indice d'un tableau doit être de type entier"
+
+#: utils/adt/arrayfuncs.c:2827
+#, c-format
+msgid "When assigning to a slice of an empty array value, slice boundaries must be fully specified."
+msgstr ""
+
+#: utils/adt/arrayfuncs.c:2838 utils/adt/arrayfuncs.c:2933
 #, c-format
 msgid "source array too small"
 msgstr "tableau source trop petit"
 
-#: utils/adt/arrayfuncs.c:3487
+#: utils/adt/arrayfuncs.c:3513
 #, c-format
 msgid "null array element not allowed in this context"
 msgstr "élément NULL de tableau interdit dans ce contexte"
 
-#: utils/adt/arrayfuncs.c:3589 utils/adt/arrayfuncs.c:3760 utils/adt/arrayfuncs.c:4034
+#: utils/adt/arrayfuncs.c:3615 utils/adt/arrayfuncs.c:3786
+#: utils/adt/arrayfuncs.c:4060
 #, c-format
 msgid "cannot compare arrays of different element types"
 msgstr "ne peut pas comparer des tableaux ayant des types d'éléments différents"
 
-#: utils/adt/arrayfuncs.c:3936 utils/adt/rangetypes.c:1253
+#: utils/adt/arrayfuncs.c:3962 utils/adt/rangetypes.c:1253
 #, c-format
 msgid "could not identify a hash function for type %s"
 msgstr "n'a pas pu identifier une fonction de hachage pour le type %s"
 
-#: utils/adt/arrayfuncs.c:5130
+#: utils/adt/arrayfuncs.c:5156
 #, c-format
 msgid "data type %s is not an array type"
 msgstr "le type de données %s n'est pas un type tableau"
 
-#: utils/adt/arrayfuncs.c:5187
+#: utils/adt/arrayfuncs.c:5213
 #, c-format
 msgid "cannot accumulate null arrays"
 msgstr "ne peut pas accumuler des tableaux NULL"
 
-#: utils/adt/arrayfuncs.c:5215
+#: utils/adt/arrayfuncs.c:5241
 #, c-format
 msgid "cannot accumulate empty arrays"
 msgstr "ne peut pas concaténer des tableaux vides"
 
-#: utils/adt/arrayfuncs.c:5244 utils/adt/arrayfuncs.c:5250
+#: utils/adt/arrayfuncs.c:5270 utils/adt/arrayfuncs.c:5276
 #, c-format
 msgid "cannot accumulate arrays of different dimensionality"
 msgstr "ne peut pas accumuler des tableaux de dimensions différentes"
 
-#: utils/adt/arrayfuncs.c:5616 utils/adt/arrayfuncs.c:5656
+#: utils/adt/arrayfuncs.c:5642 utils/adt/arrayfuncs.c:5682
 #, c-format
 msgid "dimension array or low bound array cannot be null"
 msgstr "la dimension ou la limite basse du tableau ne peut pas être NULL"
 
-#: utils/adt/arrayfuncs.c:5719 utils/adt/arrayfuncs.c:5751
+#: utils/adt/arrayfuncs.c:5745 utils/adt/arrayfuncs.c:5777
 #, c-format
 msgid "Dimension array must be one dimensional."
 msgstr "le tableau doit avoir une seule dimension"
 
-#: utils/adt/arrayfuncs.c:5724 utils/adt/arrayfuncs.c:5756
+#: utils/adt/arrayfuncs.c:5750 utils/adt/arrayfuncs.c:5782
 #, c-format
 msgid "wrong range of array subscripts"
 msgstr "mauvais échelle des indices du tableau"
 
-#: utils/adt/arrayfuncs.c:5725 utils/adt/arrayfuncs.c:5757
+#: utils/adt/arrayfuncs.c:5751 utils/adt/arrayfuncs.c:5783
 #, c-format
 msgid "Lower bound of dimension array must be one."
 msgstr "La limite inférieure du tableau doit valoir un."
 
-#: utils/adt/arrayfuncs.c:5730 utils/adt/arrayfuncs.c:5762
+#: utils/adt/arrayfuncs.c:5756 utils/adt/arrayfuncs.c:5788
 #, c-format
 msgid "dimension values cannot be null"
 msgstr "les valeurs de dimension ne peuvent pas être NULL"
 
-#: utils/adt/arrayfuncs.c:5768
+#: utils/adt/arrayfuncs.c:5794
 #, c-format
 msgid "Low bound array has different size than dimensions array."
 msgstr "La limite basse du tableau a une taille différentes des dimensions du tableau."
 
-#: utils/adt/arrayfuncs.c:6014
+#: utils/adt/arrayfuncs.c:6040
 #, c-format
 msgid "removing elements from multidimensional arrays is not supported"
 msgstr "la suppression d'éléments de tableaux multidimensionnels n'est pas supportée"
 
-#: utils/adt/arrayfuncs.c:6291
+#: utils/adt/arrayfuncs.c:6317
 #, c-format
 msgid "thresholds must be one-dimensional array"
 msgstr "les limites doivent être un tableau à une dimension"
 
-#: utils/adt/arrayfuncs.c:6296
+#: utils/adt/arrayfuncs.c:6322
 #, c-format
 msgid "thresholds array must not contain NULLs"
 msgstr "le tableau de limites ne doit pas contenir de valeurs NULL"
@@ -17727,8 +18921,16 @@ msgstr "syntaxe en entr
 msgid "invalid input syntax for type money: \"%s\""
 msgstr "syntaxe en entrée invalide pour le type money : « %s »"
 
-#: utils/adt/cash.c:607 utils/adt/cash.c:657 utils/adt/cash.c:708 utils/adt/cash.c:757 utils/adt/cash.c:809 utils/adt/cash.c:859 utils/adt/float.c:788 utils/adt/float.c:852 utils/adt/float.c:2530 utils/adt/float.c:2593 utils/adt/geo_ops.c:4155 utils/adt/int.c:719 utils/adt/int.c:861 utils/adt/int.c:969 utils/adt/int.c:1058 utils/adt/int.c:1097 utils/adt/int.c:1125 utils/adt/int8.c:597 utils/adt/int8.c:657 utils/adt/int8.c:897
-#: utils/adt/int8.c:1005 utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:5917 utils/adt/numeric.c:6200 utils/adt/timestamp.c:3349
+#: utils/adt/cash.c:607 utils/adt/cash.c:657 utils/adt/cash.c:708
+#: utils/adt/cash.c:757 utils/adt/cash.c:809 utils/adt/cash.c:859
+#: utils/adt/float.c:857 utils/adt/float.c:921 utils/adt/float.c:3317
+#: utils/adt/float.c:3380 utils/adt/geo_ops.c:4085 utils/adt/int.c:719
+#: utils/adt/int.c:861 utils/adt/int.c:969 utils/adt/int.c:1058
+#: utils/adt/int.c:1097 utils/adt/int.c:1125 utils/adt/int8.c:597
+#: utils/adt/int8.c:657 utils/adt/int8.c:897 utils/adt/int8.c:1005
+#: utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:6800
+#: utils/adt/numeric.c:7089 utils/adt/numeric.c:8102
+#: utils/adt/timestamp.c:3446
 #, c-format
 msgid "division by zero"
 msgstr "division par zéro"
@@ -17738,7 +18940,8 @@ msgstr "division par z
 msgid "\"char\" out of range"
 msgstr "« char » hors des limites"
 
-#: utils/adt/date.c:67 utils/adt/timestamp.c:94 utils/adt/varbit.c:52 utils/adt/varchar.c:44
+#: utils/adt/date.c:67 utils/adt/timestamp.c:94 utils/adt/varbit.c:52
+#: utils/adt/varchar.c:45
 #, c-format
 msgid "invalid type modifier"
 msgstr "modifieur de type invalide"
@@ -17753,121 +18956,164 @@ msgstr "la pr
 msgid "TIME(%d)%s precision reduced to maximum allowed, %d"
 msgstr "la précision de TIME(%d)%s a été réduit au maximum autorisée, %d"
 
-#: utils/adt/date.c:141 utils/adt/datetime.c:1208 utils/adt/datetime.c:2079
+#: utils/adt/date.c:141 utils/adt/datetime.c:1277 utils/adt/datetime.c:2148
 #, c-format
 msgid "date/time value \"current\" is no longer supported"
 msgstr "la valeur « current » pour la date et heure n'est plus supportée"
 
-#: utils/adt/date.c:166 utils/adt/formatting.c:3523
+#: utils/adt/date.c:167 utils/adt/date.c:175 utils/adt/formatting.c:3529
+#: utils/adt/formatting.c:3538
 #, c-format
 msgid "date out of range: \"%s\""
 msgstr "date en dehors des limites : « %s »"
 
-#: utils/adt/date.c:216 utils/adt/xml.c:2029
+#: utils/adt/date.c:222 utils/adt/date.c:456 utils/adt/date.c:480
+#: utils/adt/xml.c:2029
 #, c-format
 msgid "date out of range"
 msgstr "date en dehors des limites"
 
-#: utils/adt/date.c:258 utils/adt/timestamp.c:592
+#: utils/adt/date.c:264 utils/adt/timestamp.c:593
 #, c-format
 msgid "date field value out of range: %d-%02d-%02d"
 msgstr "valeur du champ date en dehors des limites : %d-%02d-%02d"
 
-#: utils/adt/date.c:264 utils/adt/timestamp.c:598
+#: utils/adt/date.c:271 utils/adt/date.c:280 utils/adt/timestamp.c:599
 #, c-format
 msgid "date out of range: %d-%02d-%02d"
 msgstr "date en dehors des limites : %d-%02d-%02d"
 
-#: utils/adt/date.c:417
+#: utils/adt/date.c:431
 #, c-format
 msgid "cannot subtract infinite dates"
 msgstr "ne peut pas soustraire les valeurs dates infinies"
 
-#: utils/adt/date.c:474 utils/adt/date.c:511
+#: utils/adt/date.c:509 utils/adt/date.c:544 utils/adt/date.c:566
+#: utils/adt/date.c:2629 utils/adt/date.c:2643
 #, c-format
 msgid "date out of range for timestamp"
 msgstr "date en dehors des limites pour un timestamp"
 
-#: utils/adt/date.c:970 utils/adt/date.c:1016 utils/adt/date.c:1616 utils/adt/date.c:1652 utils/adt/date.c:2524 utils/adt/formatting.c:3399 utils/adt/formatting.c:3431 utils/adt/formatting.c:3499 utils/adt/json.c:1534 utils/adt/json.c:1556 utils/adt/jsonb.c:823 utils/adt/jsonb.c:847 utils/adt/nabstime.c:455 utils/adt/nabstime.c:498 utils/adt/nabstime.c:528 utils/adt/nabstime.c:571 utils/adt/timestamp.c:224 utils/adt/timestamp.c:267
-#: utils/adt/timestamp.c:716 utils/adt/timestamp.c:745 utils/adt/timestamp.c:784 utils/adt/timestamp.c:2938 utils/adt/timestamp.c:2959 utils/adt/timestamp.c:2972 utils/adt/timestamp.c:2981 utils/adt/timestamp.c:3038 utils/adt/timestamp.c:3061 utils/adt/timestamp.c:3074 utils/adt/timestamp.c:3085 utils/adt/timestamp.c:3610 utils/adt/timestamp.c:3739 utils/adt/timestamp.c:3780 utils/adt/timestamp.c:3868 utils/adt/timestamp.c:3914
-#: utils/adt/timestamp.c:4025 utils/adt/timestamp.c:4349 utils/adt/timestamp.c:4465 utils/adt/timestamp.c:4475 utils/adt/timestamp.c:4560 utils/adt/timestamp.c:4679 utils/adt/timestamp.c:4689 utils/adt/timestamp.c:5005 utils/adt/timestamp.c:5019 utils/adt/timestamp.c:5144 utils/adt/timestamp.c:5151 utils/adt/timestamp.c:5177 utils/adt/timestamp.c:5181 utils/adt/timestamp.c:5250 utils/adt/xml.c:2051 utils/adt/xml.c:2058 utils/adt/xml.c:2078
-#: utils/adt/xml.c:2085
+#: utils/adt/date.c:1022 utils/adt/date.c:1068 utils/adt/date.c:1678
+#: utils/adt/date.c:1714 utils/adt/date.c:1748 utils/adt/date.c:2592
+#: utils/adt/formatting.c:3404 utils/adt/formatting.c:3436
+#: utils/adt/formatting.c:3504 utils/adt/json.c:1534 utils/adt/json.c:1556
+#: utils/adt/jsonb.c:823 utils/adt/jsonb.c:847 utils/adt/nabstime.c:455
+#: utils/adt/nabstime.c:498 utils/adt/nabstime.c:528 utils/adt/nabstime.c:571
+#: utils/adt/timestamp.c:224 utils/adt/timestamp.c:268
+#: utils/adt/timestamp.c:726 utils/adt/timestamp.c:735
+#: utils/adt/timestamp.c:820 utils/adt/timestamp.c:860
+#: utils/adt/timestamp.c:3021 utils/adt/timestamp.c:3042
+#: utils/adt/timestamp.c:3055 utils/adt/timestamp.c:3064
+#: utils/adt/timestamp.c:3072 utils/adt/timestamp.c:3127
+#: utils/adt/timestamp.c:3150 utils/adt/timestamp.c:3163
+#: utils/adt/timestamp.c:3174 utils/adt/timestamp.c:3182
+#: utils/adt/timestamp.c:3756 utils/adt/timestamp.c:3885
+#: utils/adt/timestamp.c:3926 utils/adt/timestamp.c:4014
+#: utils/adt/timestamp.c:4060 utils/adt/timestamp.c:4171
+#: utils/adt/timestamp.c:4578 utils/adt/timestamp.c:4694
+#: utils/adt/timestamp.c:4704 utils/adt/timestamp.c:4800
+#: utils/adt/timestamp.c:4919 utils/adt/timestamp.c:4929
+#: utils/adt/timestamp.c:5250 utils/adt/timestamp.c:5264
+#: utils/adt/timestamp.c:5269 utils/adt/timestamp.c:5283
+#: utils/adt/timestamp.c:5366 utils/adt/timestamp.c:5398
+#: utils/adt/timestamp.c:5405 utils/adt/timestamp.c:5431
+#: utils/adt/timestamp.c:5435 utils/adt/timestamp.c:5504
+#: utils/adt/timestamp.c:5508 utils/adt/timestamp.c:5522
+#: utils/adt/timestamp.c:5560 utils/adt/xml.c:2051 utils/adt/xml.c:2058
+#: utils/adt/xml.c:2078 utils/adt/xml.c:2085
 #, c-format
 msgid "timestamp out of range"
 msgstr "timestamp en dehors des limites"
 
-#: utils/adt/date.c:1042
+#: utils/adt/date.c:1094
 #, c-format
 msgid "cannot convert reserved abstime value to date"
 msgstr "ne peut pas convertir la valeur réservée abstime en date"
 
-#: utils/adt/date.c:1196 utils/adt/date.c:1203 utils/adt/date.c:2014 utils/adt/date.c:2021
+#: utils/adt/date.c:1112 utils/adt/date.c:1118
+#, fuzzy, c-format
+#| msgid "date out of range for timestamp"
+msgid "abstime out of range for date"
+msgstr "date en dehors des limites pour un timestamp"
+
+#: utils/adt/date.c:1258 utils/adt/date.c:1265 utils/adt/date.c:2082
+#: utils/adt/date.c:2089
 #, c-format
 msgid "time out of range"
 msgstr "heure en dehors des limites"
 
-#: utils/adt/date.c:1264 utils/adt/timestamp.c:617
+#: utils/adt/date.c:1326 utils/adt/timestamp.c:618
 #, c-format
 msgid "time field value out of range: %d:%02d:%02g"
 msgstr "valeur du champ time en dehors des limites : %d:%02d:%02g"
 
-#: utils/adt/date.c:1892 utils/adt/date.c:1909
+#: utils/adt/date.c:1960 utils/adt/date.c:1977
 #, c-format
 msgid "\"time\" units \"%s\" not recognized"
 msgstr "l'unité « %s » n'est pas reconnu pour le type « time »"
 
-#: utils/adt/date.c:2030
+#: utils/adt/date.c:2098
 #, c-format
 msgid "time zone displacement out of range"
 msgstr "déplacement du fuseau horaire en dehors des limites"
 
-#: utils/adt/date.c:2654 utils/adt/date.c:2671
+#: utils/adt/date.c:2740 utils/adt/date.c:2757
 #, c-format
 msgid "\"time with time zone\" units \"%s\" not recognized"
 msgstr "L'unité « %s » n'est pas reconnu pour le type « time with time zone »"
 
-#: utils/adt/date.c:2744 utils/adt/datetime.c:925 utils/adt/datetime.c:1805 utils/adt/datetime.c:4566 utils/adt/timestamp.c:531 utils/adt/timestamp.c:558 utils/adt/timestamp.c:5031 utils/adt/timestamp.c:5261
+#: utils/adt/date.c:2830 utils/adt/datetime.c:994 utils/adt/datetime.c:1874
+#: utils/adt/datetime.c:4700 utils/adt/timestamp.c:532
+#: utils/adt/timestamp.c:559 utils/adt/timestamp.c:5275
+#: utils/adt/timestamp.c:5514
 #, c-format
 msgid "time zone \"%s\" not recognized"
 msgstr "le fuseau horaire « %s » n'est pas reconnu"
 
-#: utils/adt/date.c:2784 utils/adt/timestamp.c:5102 utils/adt/timestamp.c:5287
+#: utils/adt/date.c:2870 utils/adt/timestamp.c:5351 utils/adt/timestamp.c:5545
 #, c-format
 msgid "interval time zone \"%s\" must not include months or days"
 msgstr "l'intervalle de fuseau horaire « %s » ne doit pas spécifier de mois ou de jours"
 
-#: utils/adt/datetime.c:1680
+#: utils/adt/datetime.c:1749
 #, c-format
 msgid "time zone abbreviation \"%s\" is not used in time zone \"%s\""
 msgstr "l'abréviation « %s » du fuseau horaire n'est pas utilisée dans le fuseau horaire « %s »"
 
-#: utils/adt/datetime.c:3766 utils/adt/datetime.c:3773
+#: utils/adt/datetime.c:3835 utils/adt/datetime.c:3842
 #, c-format
 msgid "date/time field value out of range: \"%s\""
 msgstr "valeur du champ date/time en dehors des limites : « %s »"
 
-#: utils/adt/datetime.c:3775
+#: utils/adt/datetime.c:3844
 #, c-format
 msgid "Perhaps you need a different \"datestyle\" setting."
 msgstr "Peut-être avez-vous besoin d'un paramètrage « datestyle » différent."
 
-#: utils/adt/datetime.c:3780
+#: utils/adt/datetime.c:3849
 #, c-format
 msgid "interval field value out of range: \"%s\""
 msgstr "valeur du champ interval en dehors des limites : « %s »"
 
-#: utils/adt/datetime.c:3786
+#: utils/adt/datetime.c:3855
 #, c-format
 msgid "time zone displacement out of range: \"%s\""
 msgstr "déplacement du fuseau horaire en dehors des limites : « %s »"
 
 #. translator: first %s is inet or cidr
-#: utils/adt/datetime.c:3793 utils/adt/network.c:58
+#: utils/adt/datetime.c:3862 utils/adt/float.c:463 utils/adt/float.c:546
+#: utils/adt/float.c:572 utils/adt/geo_ops.c:156 utils/adt/geo_ops.c:166
+#: utils/adt/geo_ops.c:178 utils/adt/geo_ops.c:210 utils/adt/geo_ops.c:255
+#: utils/adt/geo_ops.c:265 utils/adt/geo_ops.c:935 utils/adt/geo_ops.c:1321
+#: utils/adt/geo_ops.c:1356 utils/adt/geo_ops.c:1364 utils/adt/geo_ops.c:3422
+#: utils/adt/geo_ops.c:4555 utils/adt/geo_ops.c:4571 utils/adt/geo_ops.c:4578
+#: utils/adt/network.c:58
 #, c-format
 msgid "invalid input syntax for type %s: \"%s\""
 msgstr "syntaxe en entrée invalide pour le type %s : « %s »"
 
-#: utils/adt/datetime.c:4568
+#: utils/adt/datetime.c:4702
 #, c-format
 msgid "This time zone name appears in the configuration file for time zone abbreviation \"%s\"."
 msgstr "Ce nom du fuseau horaire apparaît dans le fichier de configuration des abréviations de fuseaux horaires « %s »."
@@ -17877,11 +19123,29 @@ msgstr "Ce nom du fuseau horaire appara
 msgid "invalid Datum pointer"
 msgstr "pointeur Datum invalide"
 
-#: utils/adt/dbsize.c:108
+#: utils/adt/dbsize.c:110
 #, c-format
 msgid "could not open tablespace directory \"%s\": %m"
 msgstr "n'a pas pu ouvrir le répertoire du tablespace « %s » : %m"
 
+#: utils/adt/dbsize.c:757 utils/adt/dbsize.c:776 utils/adt/dbsize.c:831
+#, fuzzy, c-format
+#| msgid "invalid cidr value: \"%s\""
+msgid "invalid size: \"%s\""
+msgstr "valeur cidr invalide : « %s »"
+
+#: utils/adt/dbsize.c:832
+#, fuzzy, c-format
+#| msgid "invalid time zone name: \"%s\""
+msgid "Invalid size unit: \"%s\"."
+msgstr "nom du fuseau horaire invalide : « %s »"
+
+#: utils/adt/dbsize.c:833
+#, fuzzy, c-format
+#| msgid "Valid units for this parameter are \"kB\", \"MB\", \"GB\", and \"TB\"."
+msgid "Valid units are \"bytes\", \"kB\", \"MB\", \"GB\", and \"TB\"."
+msgstr "Les unités valides pour ce paramètre sont « kB », « MB », « GB » et « TB »."
+
 #: utils/adt/domains.c:85
 #, c-format
 msgid "type %s is not a domain"
@@ -17922,12 +19186,14 @@ msgstr "s
 msgid "Input data is missing padding, is truncated, or is otherwise corrupted."
 msgstr "Les données en entrée manquent un alignement, sont tronquées ou ont une corruption autre."
 
-#: utils/adt/encode.c:442 utils/adt/encode.c:507 utils/adt/varlena.c:287 utils/adt/varlena.c:328
+#: utils/adt/encode.c:442 utils/adt/encode.c:507 utils/adt/varlena.c:297
+#: utils/adt/varlena.c:338
 #, c-format
 msgid "invalid input syntax for type bytea"
 msgstr "syntaxe en entrée invalide pour le type bytea"
 
-#: utils/adt/enum.c:48 utils/adt/enum.c:58 utils/adt/enum.c:113 utils/adt/enum.c:123
+#: utils/adt/enum.c:48 utils/adt/enum.c:58 utils/adt/enum.c:113
+#: utils/adt/enum.c:123
 #, c-format
 msgid "invalid input value for enum %s: \"%s\""
 msgstr "valeur en entrée invalide pour le enum %s : « %s »"
@@ -17937,7 +19203,8 @@ msgstr "valeur en entr
 msgid "invalid internal value for enum: %u"
 msgstr "valeur interne invalide pour le enum : %u"
 
-#: utils/adt/enum.c:356 utils/adt/enum.c:385 utils/adt/enum.c:425 utils/adt/enum.c:445
+#: utils/adt/enum.c:356 utils/adt/enum.c:385 utils/adt/enum.c:425
+#: utils/adt/enum.c:445
 #, c-format
 msgid "could not determine actual enum type"
 msgstr "n'a pas pu déterminer le type enum actuel"
@@ -17947,87 +19214,88 @@ msgstr "n'a pas pu d
 msgid "enum %s contains no values"
 msgstr "l'énumération « %s » ne contient aucune valeur"
 
-#: utils/adt/float.c:55
+#: utils/adt/float.c:58
 #, c-format
 msgid "value out of range: overflow"
 msgstr "valeur en dehors des limites : dépassement"
 
-#: utils/adt/float.c:60
+#: utils/adt/float.c:63
 #, c-format
 msgid "value out of range: underflow"
 msgstr "valeur en dehors des limites : trop petit"
 
-#: utils/adt/float.c:218 utils/adt/float.c:292 utils/adt/float.c:316
+#: utils/adt/float.c:246 utils/adt/float.c:320 utils/adt/float.c:344
 #, c-format
 msgid "invalid input syntax for type real: \"%s\""
 msgstr "syntaxe en entrée invalide pour le type real : « %s »"
 
-#: utils/adt/float.c:286
+#: utils/adt/float.c:314
 #, c-format
 msgid "\"%s\" is out of range for type real"
 msgstr "« %s » est hors des limites du type real"
 
-#: utils/adt/float.c:417 utils/adt/float.c:491 utils/adt/float.c:515 utils/adt/numeric.c:5373 utils/adt/numeric.c:5399
-#, c-format
-msgid "invalid input syntax for type double precision: \"%s\""
-msgstr "syntaxe en entrée invalide pour le type double precision : « %s »"
-
-#: utils/adt/float.c:485
+#: utils/adt/float.c:539
 #, c-format
 msgid "\"%s\" is out of range for type double precision"
 msgstr "« %s » est en dehors des limites du type double precision"
 
-#: utils/adt/float.c:1179 utils/adt/float.c:1237 utils/adt/int.c:349 utils/adt/int.c:775 utils/adt/int.c:804 utils/adt/int.c:825 utils/adt/int.c:845 utils/adt/int.c:879 utils/adt/int.c:1174 utils/adt/int8.c:1323 utils/adt/numeric.c:3000 utils/adt/numeric.c:3009
+#: utils/adt/float.c:1248 utils/adt/float.c:1306 utils/adt/int.c:349
+#: utils/adt/int.c:775 utils/adt/int.c:804 utils/adt/int.c:825
+#: utils/adt/int.c:845 utils/adt/int.c:879 utils/adt/int.c:1174
+#: utils/adt/int8.c:1323 utils/adt/numeric.c:3004 utils/adt/numeric.c:3013
 #, c-format
 msgid "smallint out of range"
 msgstr "smallint en dehors des limites"
 
-#: utils/adt/float.c:1363 utils/adt/numeric.c:6599
+#: utils/adt/float.c:1432 utils/adt/numeric.c:7522
 #, c-format
 msgid "cannot take square root of a negative number"
 msgstr "ne peut pas calculer la racine carré d'un nombre négatif"
 
-#: utils/adt/float.c:1405 utils/adt/numeric.c:2820
+#: utils/adt/float.c:1474 utils/adt/numeric.c:2807
 #, c-format
 msgid "zero raised to a negative power is undefined"
 msgstr "zéro à une puissance négative est indéfini"
 
-#: utils/adt/float.c:1409 utils/adt/numeric.c:2826
+#: utils/adt/float.c:1478 utils/adt/numeric.c:2813
 #, c-format
 msgid "a negative number raised to a non-integer power yields a complex result"
 msgstr "un nombre négatif élevé à une puissance non entière donne un résultat complexe"
 
-#: utils/adt/float.c:1475 utils/adt/float.c:1505 utils/adt/numeric.c:6817
+#: utils/adt/float.c:1544 utils/adt/float.c:1574 utils/adt/numeric.c:7788
 #, c-format
 msgid "cannot take logarithm of zero"
 msgstr "ne peut pas calculer le logarithme de zéro"
 
-#: utils/adt/float.c:1479 utils/adt/float.c:1509 utils/adt/numeric.c:6821
+#: utils/adt/float.c:1548 utils/adt/float.c:1578 utils/adt/numeric.c:7792
 #, c-format
 msgid "cannot take logarithm of a negative number"
 msgstr "ne peut pas calculer le logarithme sur un nombre négatif"
 
-#: utils/adt/float.c:1536 utils/adt/float.c:1557 utils/adt/float.c:1578 utils/adt/float.c:1600 utils/adt/float.c:1621 utils/adt/float.c:1642 utils/adt/float.c:1664 utils/adt/float.c:1685
+#: utils/adt/float.c:1608 utils/adt/float.c:1638 utils/adt/float.c:1730
+#: utils/adt/float.c:1756 utils/adt/float.c:1783 utils/adt/float.c:1809
+#: utils/adt/float.c:1956 utils/adt/float.c:1991 utils/adt/float.c:2155
+#: utils/adt/float.c:2209 utils/adt/float.c:2273 utils/adt/float.c:2328
 #, c-format
 msgid "input is out of range"
 msgstr "l'entrée est en dehors des limites"
 
-#: utils/adt/float.c:2747 utils/adt/numeric.c:1454
+#: utils/adt/float.c:3534 utils/adt/numeric.c:1447
 #, c-format
 msgid "count must be greater than zero"
 msgstr "le total doit être supérieur à zéro"
 
-#: utils/adt/float.c:2752 utils/adt/numeric.c:1461
+#: utils/adt/float.c:3539 utils/adt/numeric.c:1454
 #, c-format
 msgid "operand, lower bound, and upper bound cannot be NaN"
 msgstr "la limite inférieure et supérieure de l'opérande ne peuvent pas être NaN"
 
-#: utils/adt/float.c:2758
+#: utils/adt/float.c:3545
 #, c-format
 msgid "lower and upper bounds must be finite"
 msgstr "les limites basse et haute doivent être finies"
 
-#: utils/adt/float.c:2796 utils/adt/numeric.c:1474
+#: utils/adt/float.c:3583 utils/adt/numeric.c:1467
 #, c-format
 msgid "lower bound cannot equal upper bound"
 msgstr "la limite inférieure ne peut pas être plus égale à la limite supérieure"
@@ -18042,201 +19310,207 @@ msgstr "format de sp
 msgid "Intervals are not tied to specific calendar dates."
 msgstr "Les intervalles ne sont pas liés aux dates de calendriers spécifiques."
 
-#: utils/adt/formatting.c:1059
+#: utils/adt/formatting.c:1058
 #, c-format
 msgid "\"EEEE\" must be the last pattern used"
 msgstr "« EEEE » doit être le dernier motif utilisé"
 
-#: utils/adt/formatting.c:1067
+#: utils/adt/formatting.c:1066
 #, c-format
 msgid "\"9\" must be ahead of \"PR\""
 msgstr "« 9 » doit être avant « PR »"
 
-#: utils/adt/formatting.c:1083
+#: utils/adt/formatting.c:1082
 #, c-format
 msgid "\"0\" must be ahead of \"PR\""
 msgstr "« 0 » doit être avant « PR »"
 
-#: utils/adt/formatting.c:1110
+#: utils/adt/formatting.c:1109
 #, c-format
 msgid "multiple decimal points"
 msgstr "multiples points décimaux"
 
-#: utils/adt/formatting.c:1114 utils/adt/formatting.c:1197
+#: utils/adt/formatting.c:1113 utils/adt/formatting.c:1196
 #, c-format
 msgid "cannot use \"V\" and decimal point together"
 msgstr "ne peut pas utiliser « V » et le point décimal ensemble"
 
-#: utils/adt/formatting.c:1126
+#: utils/adt/formatting.c:1125
 #, c-format
 msgid "cannot use \"S\" twice"
 msgstr "ne peut pas utiliser « S » deux fois"
 
-#: utils/adt/formatting.c:1130
+#: utils/adt/formatting.c:1129
 #, c-format
 msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together"
 msgstr "ne peut pas utiliser « S » et « PL »/« MI »/« SG »/« PR » ensemble"
 
-#: utils/adt/formatting.c:1150
+#: utils/adt/formatting.c:1149
 #, c-format
 msgid "cannot use \"S\" and \"MI\" together"
 msgstr "ne peut pas utiliser « S » et « MI » ensemble"
 
-#: utils/adt/formatting.c:1160
+#: utils/adt/formatting.c:1159
 #, c-format
 msgid "cannot use \"S\" and \"PL\" together"
 msgstr "ne peut pas utiliser « S » et « PL » ensemble"
 
-#: utils/adt/formatting.c:1170
+#: utils/adt/formatting.c:1169
 #, c-format
 msgid "cannot use \"S\" and \"SG\" together"
 msgstr "ne peut pas utiliser « S » et « SG » ensemble"
 
-#: utils/adt/formatting.c:1179
+#: utils/adt/formatting.c:1178
 #, c-format
 msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together"
 msgstr "ne peut pas utiliser « PR » et « S »/« PL »/« MI »/« SG » ensemble"
 
-#: utils/adt/formatting.c:1205
+#: utils/adt/formatting.c:1204
 #, c-format
 msgid "cannot use \"EEEE\" twice"
 msgstr "ne peut pas utiliser « EEEE » deux fois"
 
-#: utils/adt/formatting.c:1211
+#: utils/adt/formatting.c:1210
 #, c-format
 msgid "\"EEEE\" is incompatible with other formats"
 msgstr "« EEEE » est incompatible avec les autres formats"
 
-#: utils/adt/formatting.c:1212
+#: utils/adt/formatting.c:1211
 #, c-format
 msgid "\"EEEE\" may only be used together with digit and decimal point patterns."
 msgstr "« EEEE » peut seulement être utilisé avec les motifs de chiffres et de points décimaux."
 
-#: utils/adt/formatting.c:1412
+#: utils/adt/formatting.c:1411
 #, c-format
 msgid "\"%s\" is not a number"
 msgstr "« %s » n'est pas un nombre"
 
-#: utils/adt/formatting.c:1513 utils/adt/formatting.c:1565
+#: utils/adt/formatting.c:1512 utils/adt/formatting.c:1564
 #, c-format
 msgid "could not determine which collation to use for lower() function"
 msgstr "n'a pas pu déterminer le collationnement à utiliser pour la fonction lower()"
 
-#: utils/adt/formatting.c:1633 utils/adt/formatting.c:1685
+#: utils/adt/formatting.c:1632 utils/adt/formatting.c:1684
 #, c-format
 msgid "could not determine which collation to use for upper() function"
 msgstr "n'a pas pu déterminer le collationnement à utiliser pour la fonction upper()"
 
-#: utils/adt/formatting.c:1754 utils/adt/formatting.c:1818
+#: utils/adt/formatting.c:1753 utils/adt/formatting.c:1817
 #, c-format
 msgid "could not determine which collation to use for initcap() function"
 msgstr "n'a pas pu déterminer le collationnement à utiliser pour la fonction initcap()"
 
-#: utils/adt/formatting.c:2122
+#: utils/adt/formatting.c:2114
 #, c-format
 msgid "invalid combination of date conventions"
 msgstr "combinaison invalide des conventions de date"
 
-#: utils/adt/formatting.c:2123
+#: utils/adt/formatting.c:2115
 #, c-format
 msgid "Do not mix Gregorian and ISO week date conventions in a formatting template."
 msgstr ""
 "Ne pas mixer les conventions de jour de semaine grégorien et ISO dans un\n"
 "modèle de formatage."
 
-#: utils/adt/formatting.c:2140
+#: utils/adt/formatting.c:2132
 #, c-format
 msgid "conflicting values for \"%s\" field in formatting string"
 msgstr "valeur conflictuelle pour le champ « %s » dans la chaîne de formatage"
 
-#: utils/adt/formatting.c:2142
+#: utils/adt/formatting.c:2134
 #, c-format
 msgid "This value contradicts a previous setting for the same field type."
 msgstr "Cette valeur contredit une configuration précédente pour le même type de champ."
 
-#: utils/adt/formatting.c:2203
+#: utils/adt/formatting.c:2195
 #, c-format
 msgid "source string too short for \"%s\" formatting field"
 msgstr "chaîne source trop petite pour le champ de formatage « %s »"
 
-#: utils/adt/formatting.c:2205
+#: utils/adt/formatting.c:2197
 #, c-format
 msgid "Field requires %d characters, but only %d remain."
 msgstr "Le champ requiert %d caractères, mais seuls %d restent."
 
-#: utils/adt/formatting.c:2208 utils/adt/formatting.c:2222
+#: utils/adt/formatting.c:2200 utils/adt/formatting.c:2214
 #, c-format
 msgid "If your source string is not fixed-width, try using the \"FM\" modifier."
 msgstr ""
 "Si votre chaîne source n'a pas une taille fixe, essayez d'utiliser le\n"
 "modifieur « FM »."
 
-#: utils/adt/formatting.c:2218 utils/adt/formatting.c:2231 utils/adt/formatting.c:2361
+#: utils/adt/formatting.c:2210 utils/adt/formatting.c:2223
+#: utils/adt/formatting.c:2353
 #, c-format
 msgid "invalid value \"%s\" for \"%s\""
 msgstr "valeur « %s » invalide pour « %s »"
 
-#: utils/adt/formatting.c:2220
+#: utils/adt/formatting.c:2212
 #, c-format
 msgid "Field requires %d characters, but only %d could be parsed."
 msgstr "Le champ nécessite %d caractères, mais seulement %d ont pu être analysés."
 
-#: utils/adt/formatting.c:2233
+#: utils/adt/formatting.c:2225
 #, c-format
 msgid "Value must be an integer."
 msgstr "La valeur doit être un entier"
 
-#: utils/adt/formatting.c:2238
+#: utils/adt/formatting.c:2230
 #, c-format
 msgid "value for \"%s\" in source string is out of range"
 msgstr "la valeur pour « %s » dans la chaîne source est en dehors des limites"
 
-#: utils/adt/formatting.c:2240
+#: utils/adt/formatting.c:2232
 #, c-format
 msgid "Value must be in the range %d to %d."
 msgstr "La valeur doit être compris entre %d et %d"
 
-#: utils/adt/formatting.c:2363
+#: utils/adt/formatting.c:2355
 #, c-format
 msgid "The given value did not match any of the allowed values for this field."
 msgstr "La valeur donnée ne correspond pas aux valeurs autorisées pour ce champ."
 
-#: utils/adt/formatting.c:2551 utils/adt/formatting.c:2571 utils/adt/formatting.c:2591 utils/adt/formatting.c:2611 utils/adt/formatting.c:2630 utils/adt/formatting.c:2649 utils/adt/formatting.c:2672 utils/adt/formatting.c:2690 utils/adt/formatting.c:2708 utils/adt/formatting.c:2726 utils/adt/formatting.c:2743 utils/adt/formatting.c:2760
+#: utils/adt/formatting.c:2550 utils/adt/formatting.c:2570
+#: utils/adt/formatting.c:2590 utils/adt/formatting.c:2610
+#: utils/adt/formatting.c:2629 utils/adt/formatting.c:2648
+#: utils/adt/formatting.c:2672 utils/adt/formatting.c:2690
+#: utils/adt/formatting.c:2708 utils/adt/formatting.c:2726
+#: utils/adt/formatting.c:2743 utils/adt/formatting.c:2760
 #, c-format
 msgid "localized string format value too long"
 msgstr "chaîne localisée trop longue"
 
-#: utils/adt/formatting.c:3044
+#: utils/adt/formatting.c:3047
 #, c-format
 msgid "\"TZ\"/\"tz\"/\"OF\" format patterns are not supported in to_date"
 msgstr "les motifs de format « TZ »/« tz »/« OF » ne sont pas supportés dans to_date"
 
-#: utils/adt/formatting.c:3152
+#: utils/adt/formatting.c:3156
 #, c-format
 msgid "invalid input string for \"Y,YYY\""
 msgstr "chaîne invalide en entrée pour « Y,YYY »"
 
-#: utils/adt/formatting.c:3655
+#: utils/adt/formatting.c:3668
 #, c-format
 msgid "hour \"%d\" is invalid for the 12-hour clock"
 msgstr "l'heure « %d » est invalide pour une horloge sur 12 heures"
 
-#: utils/adt/formatting.c:3657
+#: utils/adt/formatting.c:3670
 #, c-format
 msgid "Use the 24-hour clock, or give an hour between 1 and 12."
 msgstr "Utilisez une horloge sur 24 heures ou donnez une heure entre 1 et 12."
 
-#: utils/adt/formatting.c:3752
+#: utils/adt/formatting.c:3765
 #, c-format
 msgid "cannot calculate day of year without year information"
 msgstr "ne peut pas calculer le jour de l'année sans information sur l'année"
 
-#: utils/adt/formatting.c:4601
+#: utils/adt/formatting.c:4614
 #, c-format
 msgid "\"EEEE\" not supported for input"
 msgstr "« EEEE » non supporté en entrée"
 
-#: utils/adt/formatting.c:4613
+#: utils/adt/formatting.c:4626
 #, c-format
 msgid "\"RN\" not supported for input"
 msgstr "« RN » non supporté en entrée"
@@ -18256,7 +19530,9 @@ msgstr "chemin absolu non autoris
 msgid "path must be in or below the current directory"
 msgstr "le chemin doit être dans ou en-dessous du répertoire courant"
 
-#: utils/adt/genfile.c:125 utils/adt/oracle_compat.c:184 utils/adt/oracle_compat.c:282 utils/adt/oracle_compat.c:758 utils/adt/oracle_compat.c:1059
+#: utils/adt/genfile.c:125 utils/adt/oracle_compat.c:184
+#: utils/adt/oracle_compat.c:282 utils/adt/oracle_compat.c:758
+#: utils/adt/oracle_compat.c:1059
 #, c-format
 msgid "requested length too large"
 msgstr "longueur demandée trop importante"
@@ -18281,127 +19557,83 @@ msgstr "doit 
 msgid "must be superuser to get directory listings"
 msgstr "doit être super-utilisateur pour obtenir le contenu du répertoire"
 
-#: utils/adt/geo_ops.c:301 utils/adt/geo_ops.c:1400 utils/adt/geo_ops.c:3498 utils/adt/geo_ops.c:4315 utils/adt/geo_ops.c:5259
-#, c-format
-msgid "too many points requested"
-msgstr "trop de points demandé"
-
-#: utils/adt/geo_ops.c:324
-#, c-format
-msgid "could not format \"path\" value"
-msgstr "n'a pas pu formater la valeur « path »"
-
-#: utils/adt/geo_ops.c:399
-#, c-format
-msgid "invalid input syntax for type box: \"%s\""
-msgstr "syntaxe en entrée invalide pour le type box : « %s »"
-
-#: utils/adt/geo_ops.c:994
-#, c-format
-msgid "invalid line specification: must be two distinct points"
-msgstr "spécification de ligne invalide : doit être deux points distincts"
-
-#: utils/adt/geo_ops.c:1003
+#: utils/adt/geo_ops.c:940
 #, c-format
 msgid "invalid line specification: A and B cannot both be zero"
 msgstr "spécification invalide de ligne : A et B ne peuvent pas être à zéro tous les deux"
 
-#: utils/adt/geo_ops.c:1008
+#: utils/adt/geo_ops.c:948
 #, c-format
-msgid "invalid input syntax for type line: \"%s\""
-msgstr "syntaxe en entrée invalide pour le type line: « %s »"
+msgid "invalid line specification: must be two distinct points"
+msgstr "spécification de ligne invalide : doit être deux points distincts"
 
-#: utils/adt/geo_ops.c:1380 utils/adt/geo_ops.c:1411
+#: utils/adt/geo_ops.c:1342 utils/adt/geo_ops.c:3432 utils/adt/geo_ops.c:4245
+#: utils/adt/geo_ops.c:5173
 #, c-format
-msgid "invalid input syntax for type path: \"%s\""
-msgstr "syntaxe en entrée invalide pour le type path : « %s »"
+msgid "too many points requested"
+msgstr "trop de points demandé"
 
-#: utils/adt/geo_ops.c:1450
+#: utils/adt/geo_ops.c:1404
 #, c-format
 msgid "invalid number of points in external \"path\" value"
 msgstr "nombre de points invalide dans la valeur externe de « path »"
 
-#: utils/adt/geo_ops.c:1793
-#, c-format
-msgid "invalid input syntax for type point: \"%s\""
-msgstr "syntaxe en entrée invalide pour le type point : « %s »"
-
-#: utils/adt/geo_ops.c:2021
-#, c-format
-msgid "invalid input syntax for type lseg: \"%s\""
-msgstr "syntaxe en entrée invalide pour le type lseg : « %s »"
-
-#: utils/adt/geo_ops.c:2621
+#: utils/adt/geo_ops.c:2555
 #, c-format
 msgid "function \"dist_lb\" not implemented"
 msgstr "la fonction « dist_lb » n'est pas implémentée"
 
-#: utils/adt/geo_ops.c:3073
+#: utils/adt/geo_ops.c:3007
 #, c-format
 msgid "function \"close_sl\" not implemented"
 msgstr "la fonction « close_sl » n'est pas implémentée"
 
-#: utils/adt/geo_ops.c:3175
+#: utils/adt/geo_ops.c:3109
 #, c-format
 msgid "function \"close_lb\" not implemented"
 msgstr "la fonction « close_lb » n'est pas implémentée"
 
-#: utils/adt/geo_ops.c:3464
+#: utils/adt/geo_ops.c:3398
 #, c-format
 msgid "cannot create bounding box for empty polygon"
 msgstr "ne peut pas créer une boîte entourée pour un polygône vide"
 
-#: utils/adt/geo_ops.c:3489 utils/adt/geo_ops.c:3509
-#, c-format
-msgid "invalid input syntax for type polygon: \"%s\""
-msgstr "syntaxe en entrée invalide pour le type polygon : « %s »"
-
-#: utils/adt/geo_ops.c:3549
+#: utils/adt/geo_ops.c:3479
 #, c-format
 msgid "invalid number of points in external \"polygon\" value"
 msgstr "nombre de points invalide dans la valeur externe de « polygon »"
 
-#: utils/adt/geo_ops.c:4074
+#: utils/adt/geo_ops.c:4004
 #, c-format
 msgid "function \"poly_distance\" not implemented"
 msgstr "la fonction « poly_distance » n'est pas implémentée"
 
-#: utils/adt/geo_ops.c:4427
+#: utils/adt/geo_ops.c:4357
 #, c-format
 msgid "function \"path_center\" not implemented"
 msgstr "la fonction « path_center » n'est pas implémentée"
 
-#: utils/adt/geo_ops.c:4444
+#: utils/adt/geo_ops.c:4374
 #, c-format
 msgid "open path cannot be converted to polygon"
 msgstr "le chemin ouvert ne peut être converti en polygône"
 
-#: utils/adt/geo_ops.c:4621 utils/adt/geo_ops.c:4631 utils/adt/geo_ops.c:4646 utils/adt/geo_ops.c:4652
-#, c-format
-msgid "invalid input syntax for type circle: \"%s\""
-msgstr "syntaxe en entrée invalide pour le type circle : « %s »"
-
-#: utils/adt/geo_ops.c:4674 utils/adt/geo_ops.c:4682
-#, c-format
-msgid "could not format \"circle\" value"
-msgstr "n'a pas pu formater la valeur « circle »"
-
-#: utils/adt/geo_ops.c:4709
+#: utils/adt/geo_ops.c:4623
 #, c-format
 msgid "invalid radius in external \"circle\" value"
 msgstr "diamètre invalide pour la valeur externe de « circle »"
 
-#: utils/adt/geo_ops.c:5245
+#: utils/adt/geo_ops.c:5159
 #, c-format
 msgid "cannot convert circle with radius zero to polygon"
 msgstr "ne peut pas convertir le cercle avec un diamètre zéro en un polygône"
 
-#: utils/adt/geo_ops.c:5250
+#: utils/adt/geo_ops.c:5164
 #, c-format
 msgid "must request at least 2 points"
 msgstr "doit demander au moins deux points"
 
-#: utils/adt/geo_ops.c:5294
+#: utils/adt/geo_ops.c:5208
 #, c-format
 msgid "cannot convert empty polygon to circle"
 msgstr "ne peut pas convertir un polygône vide en cercle"
@@ -18421,12 +19653,14 @@ msgstr "donn
 msgid "oidvector has too many elements"
 msgstr "oidvector a trop d'éléments"
 
-#: utils/adt/int.c:1362 utils/adt/int8.c:1460 utils/adt/numeric.c:1362 utils/adt/timestamp.c:5348 utils/adt/timestamp.c:5429
+#: utils/adt/int.c:1362 utils/adt/int8.c:1460 utils/adt/numeric.c:1355
+#: utils/adt/timestamp.c:5611 utils/adt/timestamp.c:5692
 #, c-format
 msgid "step size cannot equal zero"
 msgstr "la taille du pas ne peut pas valoir zéro"
 
-#: utils/adt/int8.c:98 utils/adt/int8.c:133 utils/adt/numutils.c:51 utils/adt/numutils.c:61 utils/adt/numutils.c:103
+#: utils/adt/int8.c:98 utils/adt/int8.c:133 utils/adt/numutils.c:51
+#: utils/adt/numutils.c:61 utils/adt/numutils.c:103
 #, c-format
 msgid "invalid input syntax for integer: \"%s\""
 msgstr "syntaxe en entrée invalide pour l'entier : « %s »"
@@ -18436,8 +19670,16 @@ msgstr "syntaxe en entr
 msgid "value \"%s\" is out of range for type bigint"
 msgstr "la valeur « %s » est en dehors des limites du type bigint"
 
-#: utils/adt/int8.c:500 utils/adt/int8.c:529 utils/adt/int8.c:550 utils/adt/int8.c:581 utils/adt/int8.c:615 utils/adt/int8.c:640 utils/adt/int8.c:697 utils/adt/int8.c:714 utils/adt/int8.c:741 utils/adt/int8.c:758 utils/adt/int8.c:834 utils/adt/int8.c:855 utils/adt/int8.c:882 utils/adt/int8.c:915 utils/adt/int8.c:943 utils/adt/int8.c:964 utils/adt/int8.c:991 utils/adt/int8.c:1031 utils/adt/int8.c:1052 utils/adt/int8.c:1079
-#: utils/adt/int8.c:1112 utils/adt/int8.c:1140 utils/adt/int8.c:1161 utils/adt/int8.c:1188 utils/adt/int8.c:1361 utils/adt/int8.c:1400 utils/adt/numeric.c:2955 utils/adt/varbit.c:1645
+#: utils/adt/int8.c:500 utils/adt/int8.c:529 utils/adt/int8.c:550
+#: utils/adt/int8.c:581 utils/adt/int8.c:615 utils/adt/int8.c:640
+#: utils/adt/int8.c:697 utils/adt/int8.c:714 utils/adt/int8.c:741
+#: utils/adt/int8.c:758 utils/adt/int8.c:834 utils/adt/int8.c:855
+#: utils/adt/int8.c:882 utils/adt/int8.c:915 utils/adt/int8.c:943
+#: utils/adt/int8.c:964 utils/adt/int8.c:991 utils/adt/int8.c:1031
+#: utils/adt/int8.c:1052 utils/adt/int8.c:1079 utils/adt/int8.c:1112
+#: utils/adt/int8.c:1140 utils/adt/int8.c:1161 utils/adt/int8.c:1188
+#: utils/adt/int8.c:1361 utils/adt/int8.c:1400 utils/adt/numeric.c:2959
+#: utils/adt/varbit.c:1645
 #, c-format
 msgid "bigint out of range"
 msgstr "bigint en dehors des limites"
@@ -18447,8 +19689,13 @@ msgstr "bigint en dehors des limites"
 msgid "OID out of range"
 msgstr "OID en dehors des limites"
 
-#: utils/adt/json.c:785 utils/adt/json.c:825 utils/adt/json.c:840 utils/adt/json.c:851 utils/adt/json.c:861 utils/adt/json.c:912 utils/adt/json.c:943 utils/adt/json.c:961 utils/adt/json.c:973 utils/adt/json.c:985 utils/adt/json.c:1130 utils/adt/json.c:1144 utils/adt/json.c:1155 utils/adt/json.c:1163 utils/adt/json.c:1171 utils/adt/json.c:1179 utils/adt/json.c:1187 utils/adt/json.c:1195 utils/adt/json.c:1203 utils/adt/json.c:1211
-#: utils/adt/json.c:1241
+#: utils/adt/json.c:785 utils/adt/json.c:825 utils/adt/json.c:840
+#: utils/adt/json.c:851 utils/adt/json.c:861 utils/adt/json.c:912
+#: utils/adt/json.c:943 utils/adt/json.c:961 utils/adt/json.c:973
+#: utils/adt/json.c:985 utils/adt/json.c:1130 utils/adt/json.c:1144
+#: utils/adt/json.c:1155 utils/adt/json.c:1163 utils/adt/json.c:1171
+#: utils/adt/json.c:1179 utils/adt/json.c:1187 utils/adt/json.c:1195
+#: utils/adt/json.c:1203 utils/adt/json.c:1211 utils/adt/json.c:1241
 #, c-format
 msgid "invalid input syntax for type json"
 msgstr "syntaxe en entrée invalide pour le type json"
@@ -18468,7 +19715,8 @@ msgstr "
 msgid "Unicode high surrogate must not follow a high surrogate."
 msgstr "Une substitution unicode haute ne doit pas suivre une substitution haute."
 
-#: utils/adt/json.c:852 utils/adt/json.c:862 utils/adt/json.c:913 utils/adt/json.c:974 utils/adt/json.c:986
+#: utils/adt/json.c:852 utils/adt/json.c:862 utils/adt/json.c:913
+#: utils/adt/json.c:974 utils/adt/json.c:986
 #, c-format
 msgid "Unicode low surrogate must follow a high surrogate."
 msgstr "Une substitution unicode basse ne doit pas suivre une substitution haute."
@@ -18600,7 +19848,8 @@ msgstr "Les cl
 msgid "array must have two columns"
 msgstr "le tableau doit avoir deux colonnes"
 
-#: utils/adt/json.c:2308 utils/adt/json.c:2392 utils/adt/jsonb.c:1387 utils/adt/jsonb.c:1482
+#: utils/adt/json.c:2308 utils/adt/json.c:2392 utils/adt/jsonb.c:1387
+#: utils/adt/jsonb.c:1482
 #, c-format
 msgid "null value not allowed for object key"
 msgstr "valeur NULL non autorisée pour une clé d'objet"
@@ -18655,119 +19904,146 @@ msgstr "le nombre d'
 msgid "total size of jsonb array elements exceeds the maximum of %u bytes"
 msgstr "la taille totale des éléments du tableau jsonb dépasse le maximum de %u octets"
 
-#: utils/adt/jsonb_util.c:1606 utils/adt/jsonb_util.c:1641 utils/adt/jsonb_util.c:1661
+#: utils/adt/jsonb_util.c:1606 utils/adt/jsonb_util.c:1641
+#: utils/adt/jsonb_util.c:1661
 #, c-format
 msgid "total size of jsonb object elements exceeds the maximum of %u bytes"
 msgstr "la taille totale des éléments de l'objet JSON dépasse le maximum de %u octets"
 
-#: utils/adt/jsonfuncs.c:296 utils/adt/jsonfuncs.c:461 utils/adt/jsonfuncs.c:2056 utils/adt/jsonfuncs.c:2497 utils/adt/jsonfuncs.c:3003
+#: utils/adt/jsonfuncs.c:305 utils/adt/jsonfuncs.c:470
+#: utils/adt/jsonfuncs.c:2065 utils/adt/jsonfuncs.c:2506
+#: utils/adt/jsonfuncs.c:3012
 #, c-format
 msgid "cannot call %s on a scalar"
 msgstr "ne peut pas appeler %s sur un scalaire"
 
-#: utils/adt/jsonfuncs.c:301 utils/adt/jsonfuncs.c:448 utils/adt/jsonfuncs.c:2486
+#: utils/adt/jsonfuncs.c:310 utils/adt/jsonfuncs.c:457
+#: utils/adt/jsonfuncs.c:2495
 #, c-format
 msgid "cannot call %s on an array"
 msgstr "ne peut pas appeler %s sur un tableau"
 
-#: utils/adt/jsonfuncs.c:1364 utils/adt/jsonfuncs.c:1399
+#: utils/adt/jsonfuncs.c:1373 utils/adt/jsonfuncs.c:1408
 #, c-format
 msgid "cannot get array length of a scalar"
 msgstr "ne peut pas obtenir la longueur d'un scalaire"
 
-#: utils/adt/jsonfuncs.c:1368 utils/adt/jsonfuncs.c:1387
+#: utils/adt/jsonfuncs.c:1377 utils/adt/jsonfuncs.c:1396
 #, c-format
 msgid "cannot get array length of a non-array"
 msgstr "ne peut pas obtenir la longueur du tableau d'un objet qui n'est pas un tableau"
 
-#: utils/adt/jsonfuncs.c:1464
+#: utils/adt/jsonfuncs.c:1473
 #, c-format
 msgid "cannot call %s on a non-object"
 msgstr "ne peut pas appeler %s sur un non objet"
 
-#: utils/adt/jsonfuncs.c:1482 utils/adt/jsonfuncs.c:2169 utils/adt/jsonfuncs.c:2706
+#: utils/adt/jsonfuncs.c:1491 utils/adt/jsonfuncs.c:2178
+#: utils/adt/jsonfuncs.c:2715
 #, c-format
 msgid "function returning record called in context that cannot accept type record"
 msgstr ""
 "fonction renvoyant le type record appelée dans un contexte qui ne peut pas\n"
 "accepter le type record"
 
-#: utils/adt/jsonfuncs.c:1725
+#: utils/adt/jsonfuncs.c:1734
 #, c-format
 msgid "cannot deconstruct an array as an object"
 msgstr "ne peut pas déconstruire un tableau sous la forme d'un objet"
 
-#: utils/adt/jsonfuncs.c:1737
+#: utils/adt/jsonfuncs.c:1746
 #, c-format
 msgid "cannot deconstruct a scalar"
 msgstr "ne peut pas décomposer un scalaire"
 
-#: utils/adt/jsonfuncs.c:1783
+#: utils/adt/jsonfuncs.c:1792
 #, c-format
 msgid "cannot extract elements from a scalar"
 msgstr "ne peut pas extraire des éléments d'un scalaire"
 
-#: utils/adt/jsonfuncs.c:1787
+#: utils/adt/jsonfuncs.c:1796
 #, c-format
 msgid "cannot extract elements from an object"
 msgstr "ne peut pas extraire des éléments d'un objet"
 
-#: utils/adt/jsonfuncs.c:2043 utils/adt/jsonfuncs.c:2802
+#: utils/adt/jsonfuncs.c:2052 utils/adt/jsonfuncs.c:2811
 #, c-format
 msgid "cannot call %s on a non-array"
 msgstr "ne peut pas appeler %s sur un type non tableau"
 
-#: utils/adt/jsonfuncs.c:2130 utils/adt/jsonfuncs.c:2682
+#: utils/adt/jsonfuncs.c:2139 utils/adt/jsonfuncs.c:2691
 #, c-format
 msgid "first argument of %s must be a row type"
 msgstr "le premier argument de %s doit être un type row"
 
-#: utils/adt/jsonfuncs.c:2171
+#: utils/adt/jsonfuncs.c:2180
 #, c-format
 msgid "Try calling the function in the FROM clause using a column definition list."
 msgstr "Essayez d'appeler la fonction dans la clause FROM en utilisant une liste de définition de colonnes."
 
-#: utils/adt/jsonfuncs.c:2818 utils/adt/jsonfuncs.c:2985
+#: utils/adt/jsonfuncs.c:2827 utils/adt/jsonfuncs.c:2994
 #, c-format
 msgid "argument of %s must be an array of objects"
 msgstr "l'argument de %s doit être un tableau d'objets"
 
-#: utils/adt/jsonfuncs.c:2842
+#: utils/adt/jsonfuncs.c:2851
 #, c-format
 msgid "cannot call %s on an object"
 msgstr "ne peut pas appeler %s sur un objet"
 
-#: utils/adt/jsonfuncs.c:3409 utils/adt/jsonfuncs.c:3462
+#: utils/adt/jsonfuncs.c:3418 utils/adt/jsonfuncs.c:3471
 #, c-format
 msgid "cannot delete from scalar"
 msgstr "ne peut pas supprimer à partir du scalaire"
 
-#: utils/adt/jsonfuncs.c:3467
+#: utils/adt/jsonfuncs.c:3476
 #, c-format
 msgid "cannot delete from object using integer index"
 msgstr "ne peut pas supprimer à partir de l'objet en utilisant l'index de l'entier"
 
-#: utils/adt/jsonfuncs.c:3533
+#: utils/adt/jsonfuncs.c:3542 utils/adt/jsonfuncs.c:3634
 #, c-format
 msgid "cannot set path in scalar"
 msgstr "ne peut pas initialiser le chemin dans le scalaire"
 
-#: utils/adt/jsonfuncs.c:3578
+#: utils/adt/jsonfuncs.c:3587
 #, c-format
 msgid "cannot delete path in scalar"
 msgstr "ne peut pas supprimer un chemin dans le scalaire"
 
-#: utils/adt/jsonfuncs.c:3703
+#: utils/adt/jsonfuncs.c:3757
 #, c-format
 msgid "invalid concatenation of jsonb objects"
 msgstr "concaténation invalide d'objets jsonb"
 
+#: utils/adt/jsonfuncs.c:3791
+#, c-format
+msgid "path element at position %d is null"
+msgstr ""
+
+#: utils/adt/jsonfuncs.c:3877
+#, fuzzy, c-format
+#| msgid "cannot reopen stdin\n"
+msgid "cannot replace existing key"
+msgstr "ne peut pas rouvrir stdin\n"
+
+#: utils/adt/jsonfuncs.c:3878
+#, c-format
+msgid "Try using the function jsonb_set to replace key value."
+msgstr ""
+
+#: utils/adt/jsonfuncs.c:3960
+#, fuzzy, c-format
+#| msgid "plpy.prepare: type name at ordinal position %d is not a string"
+msgid "path element at position %d is not an integer: \"%s\""
+msgstr "plpy.prepare : le nom du type sur la position ordinale %d n'est pas une chaîne"
+
 #: utils/adt/levenshtein.c:133
 #, c-format
 msgid "levenshtein argument exceeds maximum length of %d characters"
 msgstr "l'argument levenshtein dépasse la longueur maximale de %d caractères"
 
-#: utils/adt/like.c:212 utils/adt/selfuncs.c:5275
+#: utils/adt/like.c:212 utils/adt/selfuncs.c:5329
 #, c-format
 msgid "could not determine which collation to use for ILIKE"
 msgstr "n'a pas pu déterminer le collationnement à utiliser pour ILIKE"
@@ -18787,7 +20063,7 @@ msgstr "cha
 msgid "Escape string must be empty or one character."
 msgstr "La chaîne d'échappement doit être vide ou ne contenir qu'un caractère."
 
-#: utils/adt/lockfuncs.c:422
+#: utils/adt/lockfuncs.c:545
 #, c-format
 msgid "cannot use advisory locks during a parallel operation"
 msgstr "ne peut pas utiliser les verrous informatifs lors d'une opération parallèle"
@@ -18802,77 +20078,97 @@ msgstr "syntaxe en entr
 msgid "invalid octet value in \"macaddr\" value: \"%s\""
 msgstr "valeur d'un octet invalide dans la valeur de « macaddr » : « %s »"
 
-#: utils/adt/misc.c:116
+#: utils/adt/misc.c:239
 #, c-format
 msgid "PID %d is not a PostgreSQL server process"
 msgstr "le PID %d n'est pas un processus du serveur PostgreSQL"
 
-#: utils/adt/misc.c:166
+#: utils/adt/misc.c:290
 #, c-format
 msgid "must be a superuser to cancel superuser query"
 msgstr "doit être super-utilisateur pour annuler la requête d'un super-utilisateur"
 
-#: utils/adt/misc.c:171
-#, c-format
-msgid "must be a member of the role whose query is being canceled"
+#: utils/adt/misc.c:295
+#, fuzzy, c-format
+#| msgid "must be a member of the role whose query is being canceled"
+msgid "must be a member of the role whose query is being canceled or member of pg_signal_backend"
 msgstr "doit être un membre du rôle dont la requête est en cours d'annulation"
 
-#: utils/adt/misc.c:190
+#: utils/adt/misc.c:314
 #, c-format
 msgid "must be a superuser to terminate superuser process"
 msgstr "doit être super-utilisateur pour terminer le processus d'un super-utilisateur"
 
-#: utils/adt/misc.c:195
-#, c-format
-msgid "must be a member of the role whose process is being terminated"
+#: utils/adt/misc.c:319
+#, fuzzy, c-format
+#| msgid "must be a member of the role whose process is being terminated"
+msgid "must be a member of the role whose process is being terminated or member of pg_signal_backend"
 msgstr "doit être un membre du rôle dont le processus est en cours d'arrêt"
 
-#: utils/adt/misc.c:209
-#, c-format
-msgid "must be superuser to signal the postmaster"
-msgstr "doit être super-utilisateur pour envoyer un signal au postmaster"
-
-#: utils/adt/misc.c:214
+#: utils/adt/misc.c:336
 #, c-format
 msgid "failed to send signal to postmaster: %m"
 msgstr "n'a pas pu envoyer le signal au postmaster : %m"
 
-#: utils/adt/misc.c:231
-#, c-format
-msgid "must be superuser to rotate log files"
-msgstr "doit être super-utilisateur pour exécuter la rotation des journaux applicatifs"
-
-#: utils/adt/misc.c:236
+#: utils/adt/misc.c:356
 #, c-format
 msgid "rotation not possible because log collection not active"
 msgstr "rotation impossible car la récupération des journaux applicatifs n'est pas activée"
 
-#: utils/adt/misc.c:273
+#: utils/adt/misc.c:393
 #, c-format
 msgid "global tablespace never has databases"
 msgstr "le tablespace global n'a jamais de bases de données"
 
-#: utils/adt/misc.c:294
+#: utils/adt/misc.c:414
 #, c-format
 msgid "%u is not a tablespace OID"
 msgstr "%u n'est pas un OID de tablespace"
 
-#: utils/adt/misc.c:491
+#: utils/adt/misc.c:611
 msgid "unreserved"
 msgstr "non réservé"
 
-#: utils/adt/misc.c:495
+#: utils/adt/misc.c:615
 msgid "unreserved (cannot be function or type name)"
 msgstr "non réservé (ne peut pas être un nom de fonction ou de type)"
 
-#: utils/adt/misc.c:499
+#: utils/adt/misc.c:619
 msgid "reserved (can be function or type name)"
 msgstr "réservé (peut être un nom de fonction ou de type)"
 
-#: utils/adt/misc.c:503
+#: utils/adt/misc.c:623
 msgid "reserved"
 msgstr "réservé"
 
+#: utils/adt/misc.c:797 utils/adt/misc.c:811 utils/adt/misc.c:850
+#: utils/adt/misc.c:856 utils/adt/misc.c:862 utils/adt/misc.c:885
+#, fuzzy, c-format
+#| msgid "invalid snapshot identifier: \"%s\""
+msgid "string is not a valid identifier: \"%s\""
+msgstr "identifiant invalide du snapshot : « %s »"
+
+#: utils/adt/misc.c:799
+#, c-format
+msgid "String has unclosed double quotes."
+msgstr ""
+
+#: utils/adt/misc.c:813
+#, fuzzy, c-format
+#| msgid "Extension names must not be empty."
+msgid "Quoted identifier must not be empty."
+msgstr "Les noms d'extension ne doivent pas être vides."
+
+#: utils/adt/misc.c:852
+#, c-format
+msgid "No valid identifier before \".\" symbol."
+msgstr ""
+
+#: utils/adt/misc.c:858
+#, c-format
+msgid "No valid identifier after \".\" symbol."
+msgstr ""
+
 #: utils/adt/nabstime.c:136
 #, c-format
 msgid "invalid time zone name: \"%s\""
@@ -18908,7 +20204,8 @@ msgstr "valeur cidr invalide : 
 msgid "Value has bits set to right of mask."
 msgstr "La valeur a des bits positionnés à la droite du masque."
 
-#: utils/adt/network.c:111 utils/adt/network.c:607 utils/adt/network.c:632 utils/adt/network.c:657
+#: utils/adt/network.c:111 utils/adt/network.c:607 utils/adt/network.c:632
+#: utils/adt/network.c:657
 #, c-format
 msgid "could not format inet value: %m"
 msgstr "n'a pas pu formater la valeur inet : %m"
@@ -18975,97 +20272,99 @@ msgstr "le r
 msgid "cannot subtract inet values of different sizes"
 msgstr "ne peut pas soustraire des valeurs inet de tailles différentes"
 
-#: utils/adt/numeric.c:549 utils/adt/numeric.c:576 utils/adt/numeric.c:4604 utils/adt/numeric.c:4627 utils/adt/numeric.c:4651 utils/adt/numeric.c:4658
+#: utils/adt/numeric.c:542 utils/adt/numeric.c:569 utils/adt/numeric.c:5394
+#: utils/adt/numeric.c:5417 utils/adt/numeric.c:5441 utils/adt/numeric.c:5448
 #, c-format
 msgid "invalid input syntax for type numeric: \"%s\""
 msgstr "syntaxe en entrée invalide pour le type numeric : « %s »"
 
-#: utils/adt/numeric.c:766
+#: utils/adt/numeric.c:759
 #, c-format
 msgid "invalid length in external \"numeric\" value"
 msgstr "longueur invalide dans la valeur externe « numeric »"
 
-#: utils/adt/numeric.c:779
+#: utils/adt/numeric.c:772
 #, c-format
 msgid "invalid sign in external \"numeric\" value"
 msgstr "signe invalide dans la valeur externe « numeric »"
 
-#: utils/adt/numeric.c:785
+#: utils/adt/numeric.c:778
 #, c-format
 msgid "invalid scale in external \"numeric\" value"
 msgstr "échelle invalide dans la valeur externe « numeric »"
 
-#: utils/adt/numeric.c:794
+#: utils/adt/numeric.c:787
 #, c-format
 msgid "invalid digit in external \"numeric\" value"
 msgstr "chiffre invalide dans la valeur externe « numeric »"
 
-#: utils/adt/numeric.c:985 utils/adt/numeric.c:999
+#: utils/adt/numeric.c:978 utils/adt/numeric.c:992
 #, c-format
 msgid "NUMERIC precision %d must be between 1 and %d"
 msgstr "la précision NUMERIC %d doit être comprise entre 1 et %d"
 
-#: utils/adt/numeric.c:990
+#: utils/adt/numeric.c:983
 #, c-format
 msgid "NUMERIC scale %d must be between 0 and precision %d"
 msgstr "l'échelle NUMERIC %d doit être comprise entre 0 et %d"
 
-#: utils/adt/numeric.c:1008
+#: utils/adt/numeric.c:1001
 #, c-format
 msgid "invalid NUMERIC type modifier"
 msgstr "modificateur de type NUMERIC invalide"
 
-#: utils/adt/numeric.c:1340
+#: utils/adt/numeric.c:1333
 #, c-format
 msgid "start value cannot be NaN"
 msgstr "la valeur de démarrage ne peut pas être NaN"
 
-#: utils/adt/numeric.c:1345
+#: utils/adt/numeric.c:1338
 #, c-format
 msgid "stop value cannot be NaN"
 msgstr "la valeur d'arrêt ne peut pas être NaN"
 
-#: utils/adt/numeric.c:1355
+#: utils/adt/numeric.c:1348
 #, c-format
 msgid "step size cannot be NaN"
 msgstr "la taille du pas ne peut pas être NaN"
 
-#: utils/adt/numeric.c:2550 utils/adt/numeric.c:5104 utils/adt/numeric.c:7132
+#: utils/adt/numeric.c:2543 utils/adt/numeric.c:5894 utils/adt/numeric.c:7598
+#: utils/adt/numeric.c:8023 utils/adt/numeric.c:8138 utils/adt/numeric.c:8211
 #, c-format
 msgid "value overflows numeric format"
 msgstr "la valeur dépasse le format numeric"
 
-#: utils/adt/numeric.c:2881
+#: utils/adt/numeric.c:2885
 #, c-format
 msgid "cannot convert NaN to integer"
 msgstr "ne peut pas convertir NaN en un entier"
 
-#: utils/adt/numeric.c:2947
+#: utils/adt/numeric.c:2951
 #, c-format
 msgid "cannot convert NaN to bigint"
 msgstr "ne peut pas convertir NaN en un entier de type bigint"
 
-#: utils/adt/numeric.c:2992
+#: utils/adt/numeric.c:2996
 #, c-format
 msgid "cannot convert NaN to smallint"
 msgstr "ne peut pas convertir NaN en un entier de type smallint"
 
-#: utils/adt/numeric.c:5174
+#: utils/adt/numeric.c:5964
 #, c-format
 msgid "numeric field overflow"
 msgstr "champ numérique en dehors des limites"
 
-#: utils/adt/numeric.c:5175
+#: utils/adt/numeric.c:5965
 #, c-format
 msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d."
 msgstr ""
 "Un champ de précision %d et d'échelle %d doit être arrondi à une valeur\n"
 "absolue inférieure à %s%d."
 
-#: utils/adt/numeric.c:6689
+#: utils/adt/numeric.c:6236 utils/adt/numeric.c:6262
 #, c-format
-msgid "argument for function \"exp\" too big"
-msgstr "l'argument de la fonction « exp » est trop gros"
+msgid "invalid input syntax for type double precision: \"%s\""
+msgstr "syntaxe en entrée invalide pour le type double precision : « %s »"
 
 #: utils/adt/numutils.c:75
 #, c-format
@@ -19117,44 +20416,45 @@ msgstr "caract
 msgid "null character not permitted"
 msgstr "caractère nul interdit"
 
-#: utils/adt/orderedsetaggs.c:425 utils/adt/orderedsetaggs.c:530 utils/adt/orderedsetaggs.c:669
+#: utils/adt/orderedsetaggs.c:425 utils/adt/orderedsetaggs.c:530
+#: utils/adt/orderedsetaggs.c:669
 #, c-format
 msgid "percentile value %g is not between 0 and 1"
 msgstr "la valeur centile %g n'est pas entre 0 et 1"
 
-#: utils/adt/pg_locale.c:911
+#: utils/adt/pg_locale.c:917
 #, c-format
 msgid "Apply system library package updates."
 msgstr "Applique les mises à jour du paquet de bibliothèque système."
 
-#: utils/adt/pg_locale.c:1116
+#: utils/adt/pg_locale.c:1122
 #, c-format
 msgid "could not create locale \"%s\": %m"
 msgstr "n'a pas pu créer la locale « %s » : %m"
 
-#: utils/adt/pg_locale.c:1119
+#: utils/adt/pg_locale.c:1125
 #, c-format
 msgid "The operating system could not find any locale data for the locale name \"%s\"."
 msgstr "Le système d'exploitation n'a pas pu trouver des données de locale pour la locale « %s »."
 
-#: utils/adt/pg_locale.c:1206
+#: utils/adt/pg_locale.c:1212
 #, c-format
 msgid "collations with different collate and ctype values are not supported on this platform"
 msgstr ""
 "les collationnements avec des valeurs différents pour le tri et le jeu de\n"
 "caractères ne sont pas supportés sur cette plateforme"
 
-#: utils/adt/pg_locale.c:1221
+#: utils/adt/pg_locale.c:1227
 #, c-format
 msgid "nondefault collations are not supported on this platform"
 msgstr "les collationnements autres que par défaut ne sont pas supportés sur cette plateforme"
 
-#: utils/adt/pg_locale.c:1392
+#: utils/adt/pg_locale.c:1398
 #, c-format
 msgid "invalid multibyte character for locale"
 msgstr "caractère multi-octets invalide pour la locale"
 
-#: utils/adt/pg_locale.c:1393
+#: utils/adt/pg_locale.c:1399
 #, c-format
 msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding."
 msgstr ""
@@ -19166,11 +20466,17 @@ msgstr ""
 msgid "invalid input syntax for type pg_lsn: \"%s\""
 msgstr "syntaxe en entrée invalide pour le type pg_lsn : « %s »"
 
-#: utils/adt/pg_upgrade_support.c:39
+#: utils/adt/pg_upgrade_support.c:40
 #, c-format
 msgid "function can only be called when server is in binary upgrade mode"
 msgstr "la fonction peut seulement être appelée quand le serveur est en mode de mise à jour binaire"
 
+#: utils/adt/pgstatfuncs.c:571
+#, fuzzy, c-format
+#| msgid "invalid locale name: \"%s\""
+msgid "invalid command name: \"%s\""
+msgstr "nom de locale invalide : « %s »"
+
 #: utils/adt/pseudotypes.c:95
 #, c-format
 msgid "cannot accept a value of type any"
@@ -19237,71 +20543,84 @@ msgid "cannot display a value of type fdw_handler"
 msgstr "ne peut pas afficher une valeur de type fdw_handler"
 
 #: utils/adt/pseudotypes.c:384
+#, fuzzy, c-format
+#| msgid "cannot accept a value of type tsm_handler"
+msgid "cannot accept a value of type index_am_handler"
+msgstr "ne peut pas accepter une valeur de type tsm_handler"
+
+#: utils/adt/pseudotypes.c:397
+#, fuzzy, c-format
+#| msgid "cannot display a value of type tsm_handler"
+msgid "cannot display a value of type index_am_handler"
+msgstr "ne peut pas afficher une valeur de type tsm_handler"
+
+#: utils/adt/pseudotypes.c:411
 #, c-format
 msgid "cannot accept a value of type tsm_handler"
 msgstr "ne peut pas accepter une valeur de type tsm_handler"
 
-#: utils/adt/pseudotypes.c:397
+#: utils/adt/pseudotypes.c:424
 #, c-format
 msgid "cannot display a value of type tsm_handler"
 msgstr "ne peut pas afficher une valeur de type tsm_handler"
 
-#: utils/adt/pseudotypes.c:411
+#: utils/adt/pseudotypes.c:438
 #, c-format
 msgid "cannot accept a value of type internal"
 msgstr "ne peut pas accepter une valeur de type internal"
 
-#: utils/adt/pseudotypes.c:424
+#: utils/adt/pseudotypes.c:451
 #, c-format
 msgid "cannot display a value of type internal"
 msgstr "ne peut pas afficher une valeur de type internal"
 
-#: utils/adt/pseudotypes.c:438
+#: utils/adt/pseudotypes.c:465
 #, c-format
 msgid "cannot accept a value of type opaque"
 msgstr "ne peut pas accepter une valeur de type opaque"
 
-#: utils/adt/pseudotypes.c:451
+#: utils/adt/pseudotypes.c:478
 #, c-format
 msgid "cannot display a value of type opaque"
 msgstr "ne peut pas afficher une valeur de type opaque"
 
-#: utils/adt/pseudotypes.c:465
+#: utils/adt/pseudotypes.c:492
 #, c-format
 msgid "cannot accept a value of type anyelement"
 msgstr "ne peut pas accepter une valeur de type anyelement"
 
-#: utils/adt/pseudotypes.c:478
+#: utils/adt/pseudotypes.c:505
 #, c-format
 msgid "cannot display a value of type anyelement"
 msgstr "ne peut pas afficher une valeur de type anyelement"
 
-#: utils/adt/pseudotypes.c:491
+#: utils/adt/pseudotypes.c:518
 #, c-format
 msgid "cannot accept a value of type anynonarray"
 msgstr "ne peut pas accepter une valeur de type anynonarray"
 
-#: utils/adt/pseudotypes.c:504
+#: utils/adt/pseudotypes.c:531
 #, c-format
 msgid "cannot display a value of type anynonarray"
 msgstr "ne peut pas afficher une valeur de type anynonarray"
 
-#: utils/adt/pseudotypes.c:517
+#: utils/adt/pseudotypes.c:544
 #, c-format
 msgid "cannot accept a value of a shell type"
 msgstr "ne peut pas accepter une valeur de type shell"
 
-#: utils/adt/pseudotypes.c:530
+#: utils/adt/pseudotypes.c:557
 #, c-format
 msgid "cannot display a value of a shell type"
 msgstr "ne peut pas afficher une valeur de type shell"
 
-#: utils/adt/pseudotypes.c:552 utils/adt/pseudotypes.c:577 utils/adt/pseudotypes.c:605 utils/adt/pseudotypes.c:633
+#: utils/adt/pseudotypes.c:579 utils/adt/pseudotypes.c:604
+#: utils/adt/pseudotypes.c:632 utils/adt/pseudotypes.c:660
 #, c-format
 msgid "cannot accept a value of type %s"
 msgstr "ne peut pas accepter une valeur de type %s"
 
-#: utils/adt/pseudotypes.c:620 utils/adt/pseudotypes.c:646
+#: utils/adt/pseudotypes.c:647 utils/adt/pseudotypes.c:673
 #, c-format
 msgid "cannot output a value of type %s"
 msgstr "ne peut pas afficher une valeur de type %s"
@@ -19328,17 +20647,22 @@ msgstr ""
 "la limite inférieure de l'intervalle de valeurs doit être inférieure ou égale\n"
 "à la limite supérieure de l'intervalle de valeurs"
 
-#: utils/adt/rangetypes.c:1926 utils/adt/rangetypes.c:1939 utils/adt/rangetypes.c:1953
+#: utils/adt/rangetypes.c:1926 utils/adt/rangetypes.c:1939
+#: utils/adt/rangetypes.c:1953
 #, c-format
 msgid "invalid range bound flags"
 msgstr "drapeaux de limite de l'intervalle invalides"
 
-#: utils/adt/rangetypes.c:1927 utils/adt/rangetypes.c:1940 utils/adt/rangetypes.c:1954
+#: utils/adt/rangetypes.c:1927 utils/adt/rangetypes.c:1940
+#: utils/adt/rangetypes.c:1954
 #, c-format
 msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"."
 msgstr "Les valeurs valides sont entre « [] », « [) », « (] » et « () »."
 
-#: utils/adt/rangetypes.c:2019 utils/adt/rangetypes.c:2036 utils/adt/rangetypes.c:2049 utils/adt/rangetypes.c:2067 utils/adt/rangetypes.c:2078 utils/adt/rangetypes.c:2122 utils/adt/rangetypes.c:2130
+#: utils/adt/rangetypes.c:2019 utils/adt/rangetypes.c:2036
+#: utils/adt/rangetypes.c:2049 utils/adt/rangetypes.c:2067
+#: utils/adt/rangetypes.c:2078 utils/adt/rangetypes.c:2122
+#: utils/adt/rangetypes.c:2130
 #, c-format
 msgid "malformed range literal: \"%s\""
 msgstr "intervalle litéral mal formé : « %s »"
@@ -19368,7 +20692,7 @@ msgstr "Trop de virgules."
 msgid "Junk after right parenthesis or bracket."
 msgstr "Problème après la parenthèse droite ou le crochet droit."
 
-#: utils/adt/regexp.c:285 utils/adt/regexp.c:1288 utils/adt/varlena.c:3588
+#: utils/adt/regexp.c:285 utils/adt/regexp.c:1288 utils/adt/varlena.c:3829
 #, c-format
 msgid "regular expression failed: %s"
 msgstr "l'expression rationnelle a échoué : %s"
@@ -19393,7 +20717,8 @@ msgstr "il existe plus d'une fonction nomm
 msgid "more than one operator named %s"
 msgstr "il existe plus d'un opérateur nommé%s"
 
-#: utils/adt/regproc.c:779 utils/adt/regproc.c:820 utils/adt/regproc.c:2006 utils/adt/ruleutils.c:8167 utils/adt/ruleutils.c:8292
+#: utils/adt/regproc.c:779 utils/adt/regproc.c:820 utils/adt/regproc.c:2006
+#: utils/adt/ruleutils.c:8235 utils/adt/ruleutils.c:8401
 #, c-format
 msgid "too many arguments"
 msgstr "trop d'arguments"
@@ -19403,7 +20728,9 @@ msgstr "trop d'arguments"
 msgid "Provide two argument types for operator."
 msgstr "Fournit deux types d'argument pour l'opérateur."
 
-#: utils/adt/regproc.c:1594 utils/adt/regproc.c:1618 utils/adt/regproc.c:1715 utils/adt/regproc.c:1739 utils/adt/regproc.c:1841 utils/adt/regproc.c:1846 utils/adt/varlena.c:2859 utils/adt/varlena.c:2864
+#: utils/adt/regproc.c:1594 utils/adt/regproc.c:1618 utils/adt/regproc.c:1715
+#: utils/adt/regproc.c:1739 utils/adt/regproc.c:1841 utils/adt/regproc.c:1846
+#: utils/adt/varlena.c:3084 utils/adt/varlena.c:3089
 #, c-format
 msgid "invalid name syntax"
 msgstr "syntaxe du nom invalide"
@@ -19428,7 +20755,8 @@ msgstr "attendait un nom de type"
 msgid "improper type name"
 msgstr "nom du type invalide"
 
-#: utils/adt/ri_triggers.c:345 utils/adt/ri_triggers.c:2492 utils/adt/ri_triggers.c:3317
+#: utils/adt/ri_triggers.c:345 utils/adt/ri_triggers.c:2492
+#: utils/adt/ri_triggers.c:3317
 #, c-format
 msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\""
 msgstr ""
@@ -19511,7 +20839,8 @@ msgstr "La cl
 msgid "input of anonymous composite types is not implemented"
 msgstr "l'ajout de colonnes ayant un type composé n'est pas implémenté"
 
-#: utils/adt/rowtypes.c:155 utils/adt/rowtypes.c:183 utils/adt/rowtypes.c:206 utils/adt/rowtypes.c:214 utils/adt/rowtypes.c:266 utils/adt/rowtypes.c:274
+#: utils/adt/rowtypes.c:155 utils/adt/rowtypes.c:183 utils/adt/rowtypes.c:206
+#: utils/adt/rowtypes.c:214 utils/adt/rowtypes.c:266 utils/adt/rowtypes.c:274
 #, c-format
 msgid "malformed record literal: \"%s\""
 msgstr "enregistrement litéral invalide : « %s »"
@@ -19551,31 +20880,33 @@ msgstr "mauvais type de donn
 msgid "improper binary format in record column %d"
 msgstr "format binaire invalide dans l'enregistrement de la colonne %d"
 
-#: utils/adt/rowtypes.c:902 utils/adt/rowtypes.c:1142 utils/adt/rowtypes.c:1396 utils/adt/rowtypes.c:1673
+#: utils/adt/rowtypes.c:902 utils/adt/rowtypes.c:1142
+#: utils/adt/rowtypes.c:1396 utils/adt/rowtypes.c:1673
 #, c-format
 msgid "cannot compare dissimilar column types %s and %s at record column %d"
 msgstr ""
 "ne peut pas comparer les types de colonnes non similaires %s et %s pour la\n"
 "colonne %d de l'enregistrement"
 
-#: utils/adt/rowtypes.c:991 utils/adt/rowtypes.c:1213 utils/adt/rowtypes.c:1529 utils/adt/rowtypes.c:1769
+#: utils/adt/rowtypes.c:991 utils/adt/rowtypes.c:1213
+#: utils/adt/rowtypes.c:1529 utils/adt/rowtypes.c:1769
 #, c-format
 msgid "cannot compare record types with different numbers of columns"
 msgstr ""
 "ne peut pas comparer les types d'enregistrement avec des numéros différents\n"
 "des colonnes"
 
-#: utils/adt/ruleutils.c:4147
+#: utils/adt/ruleutils.c:4174
 #, c-format
 msgid "rule \"%s\" has unsupported event type %d"
 msgstr "la règle « %s » a un type d'événement %d non supporté"
 
-#: utils/adt/selfuncs.c:5260
+#: utils/adt/selfuncs.c:5314
 #, c-format
 msgid "case insensitive matching not supported on type bytea"
 msgstr "la recherche insensible à la casse n'est pas supportée avec le type bytea"
 
-#: utils/adt/selfuncs.c:5363
+#: utils/adt/selfuncs.c:5417
 #, c-format
 msgid "regular-expression matching not supported on type bytea"
 msgstr "la recherche par expression rationnelle n'est pas supportée sur le type bytea"
@@ -19595,121 +20926,136 @@ msgstr "la pr
 msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d"
 msgstr "la précision de TIMESTAMP(%d)%s est réduit au maximum autorisé, %d"
 
-#: utils/adt/timestamp.c:170 utils/adt/timestamp.c:444
+#: utils/adt/timestamp.c:170 utils/adt/timestamp.c:445
 #, c-format
 msgid "timestamp out of range: \"%s\""
 msgstr "timestamp en dehors de limites : « %s »"
 
-#: utils/adt/timestamp.c:188 utils/adt/timestamp.c:462 utils/adt/timestamp.c:917
+#: utils/adt/timestamp.c:188 utils/adt/timestamp.c:463
+#: utils/adt/timestamp.c:993
 #, c-format
 msgid "date/time value \"%s\" is no longer supported"
 msgstr "la valeur date/time « %s » n'est plus supportée"
 
-#: utils/adt/timestamp.c:258
+#: utils/adt/timestamp.c:258 utils/adt/timestamp.c:754
 #, c-format
 msgid "timestamp cannot be NaN"
 msgstr "timestamp ne peut pas valoir NaN"
 
-#: utils/adt/timestamp.c:379
+#: utils/adt/timestamp.c:380
 #, c-format
 msgid "timestamp(%d) precision must be between %d and %d"
 msgstr "la précision de timestamp(%d) doit être comprise entre %d et %d"
 
-#: utils/adt/timestamp.c:512
+#: utils/adt/timestamp.c:513
 #, c-format
 msgid "invalid input syntax for numeric time zone: \"%s\""
 msgstr "syntaxe en entrée invalide pour le fuseau horaire numérique : « %s »"
 
-#: utils/adt/timestamp.c:514
+#: utils/adt/timestamp.c:515
 #, c-format
 msgid "Numeric time zones must have \"-\" or \"+\" as first character."
 msgstr "Les fuseaux horaires numériques doivent avoir « - » ou « + » comme premier caractère."
 
-#: utils/adt/timestamp.c:527
+#: utils/adt/timestamp.c:528
 #, c-format
 msgid "numeric time zone \"%s\" out of range"
 msgstr "le fuseau horaire numérique « %s » est en dehors des limites"
 
-#: utils/adt/timestamp.c:630 utils/adt/timestamp.c:640
+#: utils/adt/timestamp.c:631 utils/adt/timestamp.c:641
+#: utils/adt/timestamp.c:653
 #, c-format
 msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g"
 msgstr "timestamp en dehors de limites : %d-%02d-%02d %d:%02d:%02g"
 
-#: utils/adt/timestamp.c:911 utils/adt/timestamp.c:1482 utils/adt/timestamp.c:1985 utils/adt/timestamp.c:3125 utils/adt/timestamp.c:3130 utils/adt/timestamp.c:3135 utils/adt/timestamp.c:3185 utils/adt/timestamp.c:3192 utils/adt/timestamp.c:3199 utils/adt/timestamp.c:3219 utils/adt/timestamp.c:3226 utils/adt/timestamp.c:3233 utils/adt/timestamp.c:3262 utils/adt/timestamp.c:3269 utils/adt/timestamp.c:3314 utils/adt/timestamp.c:3605
-#: utils/adt/timestamp.c:3734 utils/adt/timestamp.c:4125
+#: utils/adt/timestamp.c:770 utils/adt/timestamp.c:776
+#: utils/adt/timestamp.c:791
+#, fuzzy, c-format
+#| msgid "timestamp out of range: \"%s\""
+msgid "timestamp out of range: \"%g\""
+msgstr "timestamp en dehors de limites : « %s »"
+
+#: utils/adt/timestamp.c:987 utils/adt/timestamp.c:1558
+#: utils/adt/timestamp.c:2068 utils/adt/timestamp.c:3220
+#: utils/adt/timestamp.c:3225 utils/adt/timestamp.c:3230
+#: utils/adt/timestamp.c:3280 utils/adt/timestamp.c:3287
+#: utils/adt/timestamp.c:3294 utils/adt/timestamp.c:3314
+#: utils/adt/timestamp.c:3321 utils/adt/timestamp.c:3328
+#: utils/adt/timestamp.c:3358 utils/adt/timestamp.c:3366
+#: utils/adt/timestamp.c:3411 utils/adt/timestamp.c:3751
+#: utils/adt/timestamp.c:3880 utils/adt/timestamp.c:4271
 #, c-format
 msgid "interval out of range"
 msgstr "intervalle en dehors des limites"
 
-#: utils/adt/timestamp.c:1052 utils/adt/timestamp.c:1085
+#: utils/adt/timestamp.c:1128 utils/adt/timestamp.c:1161
 #, c-format
 msgid "invalid INTERVAL type modifier"
 msgstr "modificateur de type INTERVAL invalide"
 
-#: utils/adt/timestamp.c:1068
+#: utils/adt/timestamp.c:1144
 #, c-format
 msgid "INTERVAL(%d) precision must not be negative"
 msgstr "la précision de l'intervalle INTERVAL(%d) ne doit pas être négative"
 
-#: utils/adt/timestamp.c:1074
+#: utils/adt/timestamp.c:1150
 #, c-format
 msgid "INTERVAL(%d) precision reduced to maximum allowed, %d"
 msgstr "La précision de l'intervalle INTERVAL(%d) doit être réduit au maximum permis, %d"
 
-#: utils/adt/timestamp.c:1426
+#: utils/adt/timestamp.c:1502
 #, c-format
 msgid "interval(%d) precision must be between %d and %d"
 msgstr "La précision de interval(%d) doit être comprise entre %d et %d"
 
-#: utils/adt/timestamp.c:2714
+#: utils/adt/timestamp.c:2797
 #, c-format
 msgid "cannot subtract infinite timestamps"
 msgstr "ne peut pas soustraire les valeurs timestamps infinies"
 
-#: utils/adt/timestamp.c:3860 utils/adt/timestamp.c:4486 utils/adt/timestamp.c:4506
+#: utils/adt/timestamp.c:4006 utils/adt/timestamp.c:4531
+#: utils/adt/timestamp.c:4715 utils/adt/timestamp.c:4740
 #, c-format
 msgid "timestamp units \"%s\" not supported"
 msgstr "les unités timestamp « %s » ne sont pas supportées"
 
-#: utils/adt/timestamp.c:3874 utils/adt/timestamp.c:4516
+#: utils/adt/timestamp.c:4020 utils/adt/timestamp.c:4485
+#: utils/adt/timestamp.c:4750
 #, c-format
 msgid "timestamp units \"%s\" not recognized"
 msgstr "les unité « %s » ne sont pas reconnues pour le type timestamp"
 
-#: utils/adt/timestamp.c:4014 utils/adt/timestamp.c:4697 utils/adt/timestamp.c:4718
+#: utils/adt/timestamp.c:4160 utils/adt/timestamp.c:4526
+#: utils/adt/timestamp.c:4937 utils/adt/timestamp.c:4963
 #, c-format
 msgid "timestamp with time zone units \"%s\" not supported"
 msgstr ""
 "les unités « %s » ne sont pas supportées pour le type  « timestamp with time\n"
 "zone »"
 
-#: utils/adt/timestamp.c:4031 utils/adt/timestamp.c:4727
+#: utils/adt/timestamp.c:4177 utils/adt/timestamp.c:4480
+#: utils/adt/timestamp.c:4972
 #, c-format
 msgid "timestamp with time zone units \"%s\" not recognized"
 msgstr ""
 "Les unités « %s » ne sont pas reconnues pour le type  « timestamp with time\n"
 "zone »"
 
-#: utils/adt/timestamp.c:4112
+#: utils/adt/timestamp.c:4258
 #, c-format
 msgid "interval units \"%s\" not supported because months usually have fractional weeks"
 msgstr "unités d'intervalle « %s » non supporté car les mois ont généralement des semaines fractionnaires"
 
-#: utils/adt/timestamp.c:4118 utils/adt/timestamp.c:4833
+#: utils/adt/timestamp.c:4264 utils/adt/timestamp.c:5078
 #, c-format
 msgid "interval units \"%s\" not supported"
 msgstr "Les unités « %s » ne sont pas supportées pour le type interval"
 
-#: utils/adt/timestamp.c:4134 utils/adt/timestamp.c:4860
+#: utils/adt/timestamp.c:4280 utils/adt/timestamp.c:5105
 #, c-format
 msgid "interval units \"%s\" not recognized"
 msgstr "Les unités « %s » ne sont pas reconnues pour le type interval"
 
-#: utils/adt/timestamp.c:5024 utils/adt/timestamp.c:5254
-#, c-format
-msgid "could not convert to time zone \"%s\""
-msgstr "n'a pas pu convertir vers le fuseau horaire « %s »"
-
 #: utils/adt/trigfuncs.c:42
 #, c-format
 msgid "suppress_redundant_updates_trigger: must be called as trigger"
@@ -19735,69 +21081,80 @@ msgstr "suppress_redundant_updates_trigger : doit 
 msgid "gtsvector_in not implemented"
 msgstr "gtsvector_in n'est pas encore implémenté"
 
-#: utils/adt/tsquery.c:155 utils/adt/tsquery.c:390 utils/adt/tsvector_parser.c:133
+#: utils/adt/tsquery.c:166
+#, c-format
+msgid "distance in phrase operator should not be greater than %d"
+msgstr ""
+
+#: utils/adt/tsquery.c:254 utils/adt/tsquery.c:513
+#: utils/adt/tsvector_parser.c:141
 #, c-format
 msgid "syntax error in tsquery: \"%s\""
 msgstr "erreur de syntaxe dans tsquery : « %s »"
 
-#: utils/adt/tsquery.c:176
+#: utils/adt/tsquery.c:275
 #, c-format
 msgid "no operand in tsquery: \"%s\""
 msgstr "aucun opérande dans tsquery : « %s »"
 
-#: utils/adt/tsquery.c:248
+#: utils/adt/tsquery.c:358
 #, c-format
 msgid "value is too big in tsquery: \"%s\""
 msgstr "valeur trop importante dans tsquery : « %s »"
 
-#: utils/adt/tsquery.c:253
+#: utils/adt/tsquery.c:363
 #, c-format
 msgid "operand is too long in tsquery: \"%s\""
 msgstr "l'opérande est trop long dans tsquery : « %s »"
 
-#: utils/adt/tsquery.c:281
+#: utils/adt/tsquery.c:391
 #, c-format
 msgid "word is too long in tsquery: \"%s\""
 msgstr "le mot est trop long dans tsquery : « %s »"
 
-#: utils/adt/tsquery.c:510
+#: utils/adt/tsquery.c:648
 #, c-format
 msgid "text-search query doesn't contain lexemes: \"%s\""
 msgstr "la requête de recherche plein texte ne contient pas de lexemes : « %s »"
 
-#: utils/adt/tsquery.c:521 utils/adt/tsquery_util.c:340
+#: utils/adt/tsquery.c:659 utils/adt/tsquery_util.c:347
 #, c-format
 msgid "tsquery is too large"
 msgstr "le champ tsquery est trop gros"
 
-#: utils/adt/tsquery_cleanup.c:287
+#: utils/adt/tsquery_cleanup.c:580
 #, c-format
 msgid "text-search query contains only stop words or doesn't contain lexemes, ignored"
 msgstr ""
 "la requête de recherche plein texte ne contient que des termes courants\n"
 "ou ne contient pas de lexemes, ignoré"
 
-#: utils/adt/tsquery_rewrite.c:293
+#: utils/adt/tsquery_op.c:122
+#, c-format
+msgid "distance in phrase operator should be non-negative and less than %d"
+msgstr ""
+
+#: utils/adt/tsquery_rewrite.c:292
 #, c-format
 msgid "ts_rewrite query must return two tsquery columns"
 msgstr "la requête ts_rewrite doit renvoyer deux colonnes tsquery"
 
-#: utils/adt/tsrank.c:410
+#: utils/adt/tsrank.c:412
 #, c-format
 msgid "array of weight must be one-dimensional"
 msgstr "le tableau de poids doit être sur une seule dimension"
 
-#: utils/adt/tsrank.c:415
+#: utils/adt/tsrank.c:417
 #, c-format
 msgid "array of weight is too short"
 msgstr "le tableau de poids est trop court"
 
-#: utils/adt/tsrank.c:420
+#: utils/adt/tsrank.c:422
 #, c-format
 msgid "array of weight must not contain nulls"
 msgstr "le tableau de poids ne doit pas contenir de valeurs NULL"
 
-#: utils/adt/tsrank.c:429 utils/adt/tsrank.c:756
+#: utils/adt/tsrank.c:431 utils/adt/tsrank.c:862
 #, c-format
 msgid "weight out of range"
 msgstr "poids en dehors des limites"
@@ -19812,59 +21169,78 @@ msgstr "le mot est trop long (%ld octets, max %ld octets)"
 msgid "string is too long for tsvector (%ld bytes, max %ld bytes)"
 msgstr "la chaîne est trop longue pour tsvector (%ld octets, max %ld octets)"
 
-#: utils/adt/tsvector_op.c:1173
+#: utils/adt/tsvector_op.c:317 utils/adt/tsvector_op.c:565
+#: utils/adt/tsvector_op.c:731
+#, fuzzy, c-format
+#| msgid "array must not contain nulls"
+msgid "lexeme array may not contain nulls"
+msgstr "le tableau ne doit pas contenir de valeurs NULL"
+
+#: utils/adt/tsvector_op.c:789
+#, fuzzy, c-format
+#| msgid "array must not contain nulls"
+msgid "weight array may not contain nulls"
+msgstr "le tableau ne doit pas contenir de valeurs NULL"
+
+#: utils/adt/tsvector_op.c:809
+#, fuzzy, c-format
+#| msgid "unrecognized encoding: \"%s\""
+msgid "unrecognized weight: \"%c\""
+msgstr "encodage non reconnu : « %s »"
+
+#: utils/adt/tsvector_op.c:1978
 #, c-format
 msgid "ts_stat query must return one tsvector column"
 msgstr "la requête ts_stat doit renvoyer une colonne tsvector"
 
-#: utils/adt/tsvector_op.c:1353
+#: utils/adt/tsvector_op.c:2160
 #, c-format
 msgid "tsvector column \"%s\" does not exist"
 msgstr "la colonne tsvector « %s » n'existe pas"
 
-#: utils/adt/tsvector_op.c:1359
+#: utils/adt/tsvector_op.c:2166
 #, c-format
 msgid "column \"%s\" is not of tsvector type"
 msgstr "la colonne « %s » n'est pas de type tsvector"
 
-#: utils/adt/tsvector_op.c:1371
+#: utils/adt/tsvector_op.c:2178
 #, c-format
 msgid "configuration column \"%s\" does not exist"
 msgstr "la colonne de configuration « %s » n'existe pas"
 
-#: utils/adt/tsvector_op.c:1377
+#: utils/adt/tsvector_op.c:2184
 #, c-format
 msgid "column \"%s\" is not of regconfig type"
 msgstr "la colonne « %s » n'est pas de type regconfig"
 
-#: utils/adt/tsvector_op.c:1384
+#: utils/adt/tsvector_op.c:2191
 #, c-format
 msgid "configuration column \"%s\" must not be null"
 msgstr "la colonne de configuration « %s » ne doit pas être NULL"
 
-#: utils/adt/tsvector_op.c:1397
+#: utils/adt/tsvector_op.c:2204
 #, c-format
 msgid "text search configuration name \"%s\" must be schema-qualified"
 msgstr ""
 "le nom de la configuration de la recherche plein texte « %s » doit être\n"
 "qualifié par son schéma"
 
-#: utils/adt/tsvector_op.c:1422
+#: utils/adt/tsvector_op.c:2229
 #, c-format
 msgid "column \"%s\" is not of a character type"
 msgstr "la colonne « %s » n'est pas de type caractère"
 
-#: utils/adt/tsvector_parser.c:134
+#: utils/adt/tsvector_parser.c:142
 #, c-format
 msgid "syntax error in tsvector: \"%s\""
 msgstr "erreur de syntaxe dans tsvector : « %s »"
 
-#: utils/adt/tsvector_parser.c:199
+#: utils/adt/tsvector_parser.c:207
 #, c-format
 msgid "there is no escaped character: \"%s\""
 msgstr "il n'existe pas de caractères d'échappement : « %s »"
 
-#: utils/adt/tsvector_parser.c:316
+#: utils/adt/tsvector_parser.c:324
 #, c-format
 msgid "wrong position info in tsvector: \"%s\""
 msgstr "mauvaise information de position dans tsvector : « %s »"
@@ -19879,17 +21255,17 @@ msgstr "syntaxe en entr
 msgid "invalid external txid_snapshot data"
 msgstr "valeur externe « txid_snapshot » invalide"
 
-#: utils/adt/uuid.c:128
+#: utils/adt/uuid.c:145
 #, c-format
 msgid "invalid input syntax for uuid: \"%s\""
 msgstr "syntaxe invalide en entrée pour l'uuid : « %s »"
 
-#: utils/adt/varbit.c:57 utils/adt/varchar.c:49
+#: utils/adt/varbit.c:57 utils/adt/varchar.c:50
 #, c-format
 msgid "length for type %s must be at least 1"
 msgstr "la longueur du type %s doit être d'au moins 1"
 
-#: utils/adt/varbit.c:62 utils/adt/varchar.c:53
+#: utils/adt/varbit.c:62 utils/adt/varchar.c:54
 #, c-format
 msgid "length for type %s cannot exceed %d"
 msgstr "la longueur du type %s ne peut pas excéder %d"
@@ -19924,7 +21300,9 @@ msgstr "longueur invalide dans la cha
 msgid "bit string too long for type bit varying(%d)"
 msgstr "la chaîne bit est trop longue pour le type bit varying(%d)"
 
-#: utils/adt/varbit.c:1066 utils/adt/varbit.c:1168 utils/adt/varlena.c:832 utils/adt/varlena.c:896 utils/adt/varlena.c:1040 utils/adt/varlena.c:2510 utils/adt/varlena.c:2577
+#: utils/adt/varbit.c:1066 utils/adt/varbit.c:1168 utils/adt/varlena.c:842
+#: utils/adt/varlena.c:906 utils/adt/varlena.c:1050 utils/adt/varlena.c:2735
+#: utils/adt/varlena.c:2802
 #, c-format
 msgid "negative substring length not allowed"
 msgstr "longueur de sous-chaîne négative non autorisée"
@@ -19949,77 +21327,91 @@ msgstr "ne peut pas utiliser l'op
 msgid "bit index %d out of valid range (0..%d)"
 msgstr "index de bit %d en dehors des limites valides (0..%d)"
 
-#: utils/adt/varbit.c:1802 utils/adt/varlena.c:2777
+#: utils/adt/varbit.c:1802 utils/adt/varlena.c:3002
 #, c-format
 msgid "new bit must be 0 or 1"
 msgstr "le nouveau bit doit valoir soit 0 soit 1"
 
-#: utils/adt/varchar.c:153 utils/adt/varchar.c:306
+#: utils/adt/varchar.c:154 utils/adt/varchar.c:307
 #, c-format
 msgid "value too long for type character(%d)"
 msgstr "valeur trop longue pour le type character(%d)"
 
-#: utils/adt/varchar.c:468 utils/adt/varchar.c:622
+#: utils/adt/varchar.c:469 utils/adt/varchar.c:623
 #, c-format
 msgid "value too long for type character varying(%d)"
 msgstr "valeur trop longue pour le type character varying(%d)"
 
-#: utils/adt/varlena.c:1410 utils/adt/varlena.c:1799
+#: utils/adt/varlena.c:1420 utils/adt/varlena.c:1825
 #, c-format
 msgid "could not determine which collation to use for string comparison"
 msgstr "n'a pas pu déterminer le collationnement à utiliser pour la comparaison de chaîne"
 
-#: utils/adt/varlena.c:1468 utils/adt/varlena.c:1481
+#: utils/adt/varlena.c:1478 utils/adt/varlena.c:1491
 #, c-format
 msgid "could not convert string to UTF-16: error code %lu"
 msgstr "n'a pas pu convertir la chaîne en UTF-16 : erreur %lu"
 
-#: utils/adt/varlena.c:1496
+#: utils/adt/varlena.c:1506
 #, c-format
 msgid "could not compare Unicode strings: %m"
 msgstr "n'a pas pu comparer les chaînes unicode : %m"
 
-#: utils/adt/varlena.c:2655 utils/adt/varlena.c:2686 utils/adt/varlena.c:2722 utils/adt/varlena.c:2765
+#: utils/adt/varlena.c:2880 utils/adt/varlena.c:2911 utils/adt/varlena.c:2947
+#: utils/adt/varlena.c:2990
 #, c-format
 msgid "index %d out of valid range, 0..%d"
 msgstr "index %d en dehors des limites valides, 0..%d"
 
-#: utils/adt/varlena.c:3684
+#: utils/adt/varlena.c:3925
 #, c-format
 msgid "field position must be greater than zero"
 msgstr "la position du champ doit être plus grand que zéro"
 
-#: utils/adt/varlena.c:4563
-#, c-format
-msgid "unterminated format specifier"
+#: utils/adt/varlena.c:4804
+#, fuzzy, c-format
+#| msgid "unterminated format specifier"
+msgid "unterminated format() type specifier"
 msgstr "spécificateur de format non terminé"
 
-#: utils/adt/varlena.c:4695 utils/adt/varlena.c:4815
+#: utils/adt/varlena.c:4805 utils/adt/varlena.c:4939 utils/adt/varlena.c:5060
 #, c-format
-msgid "unrecognized conversion type specifier \"%c\""
+msgid "For a single \"%%\" use \"%%%%\"."
+msgstr ""
+
+#: utils/adt/varlena.c:4937 utils/adt/varlena.c:5058
+#, fuzzy, c-format
+#| msgid "unrecognized conversion type specifier \"%c\""
+msgid "unrecognized format() type specifier \"%c\""
 msgstr "spécificateur de type de conversion « %c » non reconnu"
 
-#: utils/adt/varlena.c:4707 utils/adt/varlena.c:4764
+#: utils/adt/varlena.c:4950
+#, fuzzy, c-format
+#| msgid "too few arguments for format"
+msgid "too few arguments for format()"
+msgstr "trop peu d'arguments pour le format"
+
+#: utils/adt/varlena.c:5007
 #, c-format
 msgid "too few arguments for format"
 msgstr "trop peu d'arguments pour le format"
 
-#: utils/adt/varlena.c:4858 utils/adt/varlena.c:5041
+#: utils/adt/varlena.c:5102 utils/adt/varlena.c:5285
 #, c-format
 msgid "number is out of range"
 msgstr "le nombre est en dehors des limites"
 
-#: utils/adt/varlena.c:4922 utils/adt/varlena.c:4950
+#: utils/adt/varlena.c:5166 utils/adt/varlena.c:5194
 #, c-format
 msgid "format specifies argument 0, but arguments are numbered from 1"
 msgstr "le format indique l'argument 0 mais les arguments sont numérotés à partir de 1"
 
-#: utils/adt/varlena.c:4943
+#: utils/adt/varlena.c:5187
 #, c-format
 msgid "width argument position must be ended by \"$\""
 msgstr "la position de l'argument width doit se terminer par « $ »"
 
-#: utils/adt/varlena.c:4988
+#: utils/adt/varlena.c:5232
 #, c-format
 msgid "null values cannot be formatted as an SQL identifier"
 msgstr "les valeurs NULL ne peuvent pas être formatés comme un identifiant SQL"
@@ -20180,37 +21572,38 @@ msgstr "ni le nom de l'espace de noms ni l'URI ne peuvent 
 msgid "could not register XML namespace with name \"%s\" and URI \"%s\""
 msgstr "n'a pas pu enregistrer l'espace de noms XML de nom « %s » et d'URI « %s »"
 
-#: utils/cache/lsyscache.c:2515 utils/cache/lsyscache.c:2548 utils/cache/lsyscache.c:2581 utils/cache/lsyscache.c:2614
+#: utils/cache/lsyscache.c:2580 utils/cache/lsyscache.c:2613
+#: utils/cache/lsyscache.c:2646 utils/cache/lsyscache.c:2679
 #, c-format
 msgid "type %s is only a shell"
 msgstr "le type %s est seulement un shell"
 
-#: utils/cache/lsyscache.c:2520
+#: utils/cache/lsyscache.c:2585
 #, c-format
 msgid "no input function available for type %s"
 msgstr "aucune fonction en entrée disponible pour le type %s"
 
-#: utils/cache/lsyscache.c:2553
+#: utils/cache/lsyscache.c:2618
 #, c-format
 msgid "no output function available for type %s"
 msgstr "aucune fonction en sortie disponible pour le type %s"
 
-#: utils/cache/plancache.c:725
+#: utils/cache/plancache.c:745
 #, c-format
 msgid "cached plan must not change result type"
 msgstr "le plan en cache ne doit pas modifier le type en résultat"
 
-#: utils/cache/relcache.c:5021
+#: utils/cache/relcache.c:5135
 #, c-format
 msgid "could not create relation-cache initialization file \"%s\": %m"
 msgstr "n'a pas pu créer le fichier d'initialisation relation-cache « %s » : %m"
 
-#: utils/cache/relcache.c:5023
+#: utils/cache/relcache.c:5137
 #, c-format
 msgid "Continuing anyway, but there's something wrong."
 msgstr "Continue malgré tout, mais quelque chose s'est mal passé."
 
-#: utils/cache/relcache.c:5256
+#: utils/cache/relcache.c:5411
 #, c-format
 msgid "could not remove cache file \"%s\": %m"
 msgstr "n'a pas pu supprimer le fichier cache « %s » : %m"
@@ -20259,12 +21652,12 @@ msgstr "n'a pas pu synchroniser (fsync) le fichier de correspondance des relatio
 msgid "could not close relation mapping file \"%s\": %m"
 msgstr "n'a pas pu fermer le fichier de correspondance des relations « %s » : %m"
 
-#: utils/cache/typcache.c:1210
+#: utils/cache/typcache.c:1211
 #, c-format
 msgid "type %s is not composite"
 msgstr "le type %s n'est pas un type composite"
 
-#: utils/cache/typcache.c:1224
+#: utils/cache/typcache.c:1225
 #, c-format
 msgid "record type has not been registered"
 msgstr "le type d'enregistrement n'a pas été enregistré"
@@ -20279,102 +21672,103 @@ msgstr "TRAP : ExceptionalCondition : mauvais arguments\n"
 msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d)\n"
 msgstr "TRAP : %s(« %s », fichier : « %s », ligne : %d)\n"
 
-#: utils/error/elog.c:316 utils/error/elog.c:1297
+#: utils/error/elog.c:322 utils/error/elog.c:1306
 #, c-format
 msgid "error occurred at %s:%d before error message processing is available\n"
 msgstr ""
 "erreur survenue à %s:%d avant que le traitement des messages d'erreurs ne\n"
 "soit disponible\n"
 
-#: utils/error/elog.c:1864
+#: utils/error/elog.c:1880
 #, c-format
 msgid "could not reopen file \"%s\" as stderr: %m"
 msgstr "n'a pas pu ré-ouvrir le fichier « %s » comme stderr : %m"
 
-#: utils/error/elog.c:1877
+#: utils/error/elog.c:1893
 #, c-format
 msgid "could not reopen file \"%s\" as stdout: %m"
 msgstr "n'a pas pu ré-ouvrir le fichier « %s » comme stdout : %m"
 
-#: utils/error/elog.c:2353 utils/error/elog.c:2370 utils/error/elog.c:2386
+#: utils/error/elog.c:2380 utils/error/elog.c:2397 utils/error/elog.c:2413
 msgid "[unknown]"
 msgstr "[inconnu]"
 
-#: utils/error/elog.c:2825 utils/error/elog.c:3124 utils/error/elog.c:3232
+#: utils/error/elog.c:2872 utils/error/elog.c:3171 utils/error/elog.c:3279
 msgid "missing error text"
 msgstr "texte d'erreur manquant"
 
-#: utils/error/elog.c:2828 utils/error/elog.c:2831 utils/error/elog.c:3235 utils/error/elog.c:3238
+#: utils/error/elog.c:2875 utils/error/elog.c:2878 utils/error/elog.c:3282
+#: utils/error/elog.c:3285
 #, c-format
 msgid " at character %d"
 msgstr " au caractère %d"
 
-#: utils/error/elog.c:2841 utils/error/elog.c:2848
+#: utils/error/elog.c:2888 utils/error/elog.c:2895
 msgid "DETAIL:  "
 msgstr "DÉTAIL:  "
 
-#: utils/error/elog.c:2855
+#: utils/error/elog.c:2902
 msgid "HINT:  "
 msgstr "ASTUCE :  "
 
-#: utils/error/elog.c:2862
+#: utils/error/elog.c:2909
 msgid "QUERY:  "
 msgstr "REQUÊTE :  "
 
-#: utils/error/elog.c:2869
+#: utils/error/elog.c:2916
 msgid "CONTEXT:  "
 msgstr "CONTEXTE :  "
 
-#: utils/error/elog.c:2879
+#: utils/error/elog.c:2926
 #, c-format
 msgid "LOCATION:  %s, %s:%d\n"
 msgstr "EMPLACEMENT :  %s, %s:%d\n"
 
-#: utils/error/elog.c:2886
+#: utils/error/elog.c:2933
 #, c-format
 msgid "LOCATION:  %s:%d\n"
 msgstr "EMPLACEMENT :  %s:%d\n"
 
-#: utils/error/elog.c:2900
+#: utils/error/elog.c:2947
 msgid "STATEMENT:  "
 msgstr "INSTRUCTION :  "
 
 #. translator: This string will be truncated at 47
 #. characters expanded.
-#: utils/error/elog.c:3353
+#: utils/error/elog.c:3400
 #, c-format
 msgid "operating system error %d"
 msgstr "erreur %d du système d'exploitation"
 
-#: utils/error/elog.c:3548
+#: utils/error/elog.c:3595
 msgid "DEBUG"
 msgstr "DEBUG"
 
-#: utils/error/elog.c:3552
+#: utils/error/elog.c:3599
 msgid "LOG"
 msgstr "LOG"
 
-#: utils/error/elog.c:3555
+#: utils/error/elog.c:3602
 msgid "INFO"
 msgstr "INFO"
 
-#: utils/error/elog.c:3558
+#: utils/error/elog.c:3605
 msgid "NOTICE"
 msgstr "NOTICE"
 
-#: utils/error/elog.c:3561
+#: utils/error/elog.c:3608
 msgid "WARNING"
 msgstr "ATTENTION"
 
-#: utils/error/elog.c:3564
+#: utils/error/elog.c:3611
 msgid "ERROR"
 msgstr "ERREUR"
 
-#: utils/error/elog.c:3567
+#: utils/error/elog.c:3614
 msgid "FATAL"
 msgstr "FATAL"
 
-#: utils/error/elog.c:3570
+#: utils/error/elog.c:3617
 msgid "PANIC"
 msgstr "PANIC"
 
@@ -20513,100 +21907,110 @@ msgstr ""
 "n'a pas pu déterminer la description de la ligne pour la fonction renvoyant\n"
 "l'enregistrement"
 
-#: utils/init/miscinit.c:120
+#: utils/init/miscinit.c:121
 #, c-format
 msgid "could not change directory to \"%s\": %m"
 msgstr "n'a pas pu modifier le répertoire par « %s » : %m"
 
-#: utils/init/miscinit.c:441 utils/misc/guc.c:5839
+#: utils/init/miscinit.c:449 utils/misc/guc.c:6012
 #, c-format
 msgid "cannot set parameter \"%s\" within security-restricted operation"
 msgstr ""
 "ne peut pas configurer le paramètre « %s » à l'intérieur d'une fonction\n"
 "restreinte pour sécurité"
 
-#: utils/init/miscinit.c:522
+#: utils/init/miscinit.c:510
+#, c-format
+msgid "role with OID %u does not exist"
+msgstr "le rôle d'OID %u n'existe pas"
+
+#: utils/init/miscinit.c:540
 #, c-format
 msgid "role \"%s\" is not permitted to log in"
 msgstr "le rôle « %s » n'est pas autorisé à se connecter"
 
-#: utils/init/miscinit.c:540
+#: utils/init/miscinit.c:558
 #, c-format
 msgid "too many connections for role \"%s\""
 msgstr "trop de connexions pour le rôle « %s »"
 
-#: utils/init/miscinit.c:600
+#: utils/init/miscinit.c:618
 #, c-format
 msgid "permission denied to set session authorization"
 msgstr "droit refusé pour initialiser une autorisation de session"
 
-#: utils/init/miscinit.c:683
+#: utils/init/miscinit.c:701
 #, c-format
 msgid "invalid role OID: %u"
 msgstr "OID du rôle invalide : %u"
 
-#: utils/init/miscinit.c:813
+#: utils/init/miscinit.c:755
+#, c-format
+msgid "database system is shut down"
+msgstr "le système de base de données est arrêté"
+
+#: utils/init/miscinit.c:842
 #, c-format
 msgid "could not create lock file \"%s\": %m"
 msgstr "n'a pas pu créer le fichier verrou « %s » : %m"
 
-#: utils/init/miscinit.c:827
+#: utils/init/miscinit.c:856
 #, c-format
 msgid "could not open lock file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier verrou « %s » : %m"
 
-#: utils/init/miscinit.c:833
+#: utils/init/miscinit.c:862
 #, c-format
 msgid "could not read lock file \"%s\": %m"
 msgstr "n'a pas pu lire le fichier verrou « %s » : %m"
 
-#: utils/init/miscinit.c:841
+#: utils/init/miscinit.c:870
 #, c-format
 msgid "lock file \"%s\" is empty"
 msgstr "le fichier verrou « %s » est vide"
 
-#: utils/init/miscinit.c:842
+#: utils/init/miscinit.c:871
 #, c-format
 msgid "Either another server is starting, or the lock file is the remnant of a previous server startup crash."
 msgstr "Soit un autre serveur est en cours de démarrage, soit le fichier verrou est un reste d'un précédent crash au démarrage du serveur"
 
-#: utils/init/miscinit.c:889
+#: utils/init/miscinit.c:918
 #, c-format
 msgid "lock file \"%s\" already exists"
 msgstr "le fichier verrou « %s » existe déjà"
 
-#: utils/init/miscinit.c:893
+#: utils/init/miscinit.c:922
 #, c-format
 msgid "Is another postgres (PID %d) running in data directory \"%s\"?"
 msgstr ""
 "Un autre postgres (de PID %d) est-il déjà lancé avec comme répertoire de\n"
 "données « %s » ?"
 
-#: utils/init/miscinit.c:895
+#: utils/init/miscinit.c:924
 #, c-format
 msgid "Is another postmaster (PID %d) running in data directory \"%s\"?"
 msgstr ""
 "Un autre postmaster (de PID %d) est-il déjà lancé avec comme répertoire de\n"
 "données « %s » ?"
 
-#: utils/init/miscinit.c:898
+#: utils/init/miscinit.c:927
 #, c-format
 msgid "Is another postgres (PID %d) using socket file \"%s\"?"
 msgstr "Un autre postgres (de PID %d) est-il déjà lancé en utilisant la socket « %s » ?"
 
-#: utils/init/miscinit.c:900
+#: utils/init/miscinit.c:929
 #, c-format
 msgid "Is another postmaster (PID %d) using socket file \"%s\"?"
 msgstr "Un autre postmaster (de PID %d) est-il déjà lancé en utilisant la socket « %s » ?"
 
-#: utils/init/miscinit.c:936
+#: utils/init/miscinit.c:965
 #, c-format
 msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use"
 msgstr ""
 "le bloc de mémoire partagé pré-existant (clé %lu, ID %lu) est en cours\n"
 "d'utilisation"
 
-#: utils/init/miscinit.c:939
+#: utils/init/miscinit.c:968
 #, c-format
 msgid "If you're sure there are no old server processes still running, remove the shared memory block or just delete the file \"%s\"."
 msgstr ""
@@ -20614,228 +22018,231 @@ msgstr ""
 "d'exécution, supprimez le bloc de mémoire partagée\n"
 "ou supprimez simplement le fichier « %s »."
 
-#: utils/init/miscinit.c:955
+#: utils/init/miscinit.c:984
 #, c-format
 msgid "could not remove old lock file \"%s\": %m"
 msgstr "n'a pas pu supprimer le vieux fichier verrou « %s » : %m"
 
-#: utils/init/miscinit.c:957
+#: utils/init/miscinit.c:986
 #, c-format
 msgid "The file seems accidentally left over, but it could not be removed. Please remove the file by hand and try again."
 msgstr ""
 "Le fichier semble avoir été oublié accidentellement mais il ne peut pas être\n"
 "supprimé. Merci de supprimer ce fichier manuellement et de ré-essayer."
 
-#: utils/init/miscinit.c:993 utils/init/miscinit.c:1004 utils/init/miscinit.c:1014
+#: utils/init/miscinit.c:1022 utils/init/miscinit.c:1033
+#: utils/init/miscinit.c:1043
 #, c-format
 msgid "could not write lock file \"%s\": %m"
 msgstr "n'a pas pu écrire le fichier verrou « %s » : %m"
 
-#: utils/init/miscinit.c:1143 utils/init/miscinit.c:1272 utils/misc/guc.c:8589
+#: utils/init/miscinit.c:1172 utils/init/miscinit.c:1301 utils/misc/guc.c:8806
 #, c-format
 msgid "could not read from file \"%s\": %m"
 msgstr "n'a pas pu lire à partir du fichier « %s » : %m"
 
-#: utils/init/miscinit.c:1262
+#: utils/init/miscinit.c:1291
 #, c-format
 msgid "could not open file \"%s\": %m; continuing anyway"
 msgstr "n'a pas pu ouvrir le fichier « %s » : %m ; poursuite du traitement"
 
-#: utils/init/miscinit.c:1285
+#: utils/init/miscinit.c:1314
 #, c-format
 msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld"
 msgstr "le fichier de verrou « %s » contient le mauvais PID : %ld au lieu de %ld"
 
-#: utils/init/miscinit.c:1327 utils/init/miscinit.c:1340
+#: utils/init/miscinit.c:1356 utils/init/miscinit.c:1369
 #, c-format
 msgid "\"%s\" is not a valid data directory"
 msgstr "« %s » n'est pas un répertoire de données valide"
 
-#: utils/init/miscinit.c:1329
+#: utils/init/miscinit.c:1358
 #, c-format
 msgid "File \"%s\" is missing."
 msgstr "le fichier « %s » est manquant."
 
-#: utils/init/miscinit.c:1342
+#: utils/init/miscinit.c:1371
 #, c-format
 msgid "File \"%s\" does not contain valid data."
 msgstr "le fichier « %s » ne contient aucune données valides."
 
-#: utils/init/miscinit.c:1344
+#: utils/init/miscinit.c:1373
 #, c-format
 msgid "You might need to initdb."
 msgstr "Vous pouvez avoir besoin d'exécuter initdb."
 
-#: utils/init/miscinit.c:1352
+#: utils/init/miscinit.c:1381
 #, c-format
 msgid "The data directory was initialized by PostgreSQL version %ld.%ld, which is not compatible with this version %s."
 msgstr ""
 "Le répertoire des données a été initialisé avec PostgreSQL version %ld.%ld,\n"
 "qui est non compatible avec cette version %s."
 
-#: utils/init/miscinit.c:1423
+#: utils/init/miscinit.c:1452
 #, c-format
 msgid "loaded library \"%s\""
 msgstr "bibliothèque « %s » chargée"
 
-#: utils/init/postinit.c:238
+#: utils/init/postinit.c:252
 #, c-format
 msgid "replication connection authorized: user=%s SSL enabled (protocol=%s, cipher=%s, compression=%s)"
 msgstr "connexion autorisée : utilisateur=%s, SSL activé (protocole=%s, chiffrement=%s, compression=%s)"
 
-#: utils/init/postinit.c:240 utils/init/postinit.c:254
+#: utils/init/postinit.c:254 utils/init/postinit.c:268
 msgid "off"
 msgstr "désactivé"
 
-#: utils/init/postinit.c:240 utils/init/postinit.c:254
+#: utils/init/postinit.c:254 utils/init/postinit.c:268
 msgid "on"
 msgstr "activé"
 
-#: utils/init/postinit.c:244
+#: utils/init/postinit.c:258
 #, c-format
 msgid "replication connection authorized: user=%s"
 msgstr "connexion de réplication autorisée : utilisateur=%s"
 
-#: utils/init/postinit.c:252
+#: utils/init/postinit.c:266
 #, c-format
 msgid "connection authorized: user=%s database=%s SSL enabled (protocol=%s, cipher=%s, compression=%s)"
 msgstr "connexion autorisée : utilisateur=%s, base de données=%s, SSL activé (protocole=%s, chiffrement=%s, compression=%s)"
 
-#: utils/init/postinit.c:258
+#: utils/init/postinit.c:272
 #, c-format
 msgid "connection authorized: user=%s database=%s"
 msgstr "connexion autorisée : utilisateur=%s, base de données=%s"
 
-#: utils/init/postinit.c:290
+#: utils/init/postinit.c:304
 #, c-format
 msgid "database \"%s\" has disappeared from pg_database"
 msgstr "la base de données « %s » a disparu de pg_database"
 
-#: utils/init/postinit.c:292
+#: utils/init/postinit.c:306
 #, c-format
 msgid "Database OID %u now seems to belong to \"%s\"."
 msgstr "La base de données d'OID %u semble maintenant appartenir à « %s »."
 
-#: utils/init/postinit.c:312
+#: utils/init/postinit.c:326
 #, c-format
 msgid "database \"%s\" is not currently accepting connections"
 msgstr "la base de données « %s » n'accepte plus les connexions"
 
-#: utils/init/postinit.c:325
+#: utils/init/postinit.c:339
 #, c-format
 msgid "permission denied for database \"%s\""
 msgstr "droit refusé pour la base de données « %s »"
 
-#: utils/init/postinit.c:326
+#: utils/init/postinit.c:340
 #, c-format
 msgid "User does not have CONNECT privilege."
 msgstr "L'utilisateur n'a pas le droit CONNECT."
 
-#: utils/init/postinit.c:343
+#: utils/init/postinit.c:357
 #, c-format
 msgid "too many connections for database \"%s\""
 msgstr "trop de connexions pour la base de données « %s »"
 
-#: utils/init/postinit.c:365 utils/init/postinit.c:372
+#: utils/init/postinit.c:379 utils/init/postinit.c:386
 #, c-format
 msgid "database locale is incompatible with operating system"
 msgstr "la locale de la base de données est incompatible avec le système d'exploitation"
 
-#: utils/init/postinit.c:366
+#: utils/init/postinit.c:380
 #, c-format
 msgid "The database was initialized with LC_COLLATE \"%s\",  which is not recognized by setlocale()."
 msgstr ""
 "La base de données a été initialisée avec un LC_COLLATE à « %s »,\n"
 "qui n'est pas reconnu par setlocale()."
 
-#: utils/init/postinit.c:368 utils/init/postinit.c:375
+#: utils/init/postinit.c:382 utils/init/postinit.c:389
 #, c-format
 msgid "Recreate the database with another locale or install the missing locale."
 msgstr ""
 "Recréez la base de données avec une autre locale ou installez la locale\n"
 "manquante."
 
-#: utils/init/postinit.c:373
+#: utils/init/postinit.c:387
 #, c-format
 msgid "The database was initialized with LC_CTYPE \"%s\",  which is not recognized by setlocale()."
 msgstr ""
 "La base de données a été initialisée avec un LC_CTYPE à « %s »,\n"
 "qui n'est pas reconnu par setlocale()."
 
-#: utils/init/postinit.c:699
+#: utils/init/postinit.c:715
 #, c-format
 msgid "no roles are defined in this database system"
 msgstr "aucun rôle n'est défini dans le système de bases de données"
 
-#: utils/init/postinit.c:700
+#: utils/init/postinit.c:716
 #, c-format
 msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;."
 msgstr "Vous devez immédiatement exécuter « CREATE USER \"%s\" CREATEUSER; »."
 
-#: utils/init/postinit.c:736
+#: utils/init/postinit.c:752
 #, c-format
 msgid "new replication connections are not allowed during database shutdown"
 msgstr ""
 "les nouvelles connexions pour la réplication ne sont pas autorisées pendant\n"
 "l'arrêt du serveur de base de données"
 
-#: utils/init/postinit.c:740
+#: utils/init/postinit.c:756
 #, c-format
 msgid "must be superuser to connect during database shutdown"
 msgstr ""
 "doit être super-utilisateur pour se connecter pendant un arrêt de la base de\n"
 "données"
 
-#: utils/init/postinit.c:750
+#: utils/init/postinit.c:766
 #, c-format
 msgid "must be superuser to connect in binary upgrade mode"
 msgstr "doit être super-utilisateur pour se connecter en mode de mise à jour binaire"
 
-#: utils/init/postinit.c:764
+#: utils/init/postinit.c:780
 #, c-format
 msgid "remaining connection slots are reserved for non-replication superuser connections"
 msgstr ""
 "les emplacements de connexions restants sont réservés pour les connexions\n"
 "superutilisateur non relatif à la réplication"
 
-#: utils/init/postinit.c:774
+#: utils/init/postinit.c:790
 #, c-format
 msgid "must be superuser or replication role to start walsender"
 msgstr ""
 "doit être un superutilisateur ou un rôle ayant l'attribut de réplication\n"
 "pour exécuter walsender"
 
-#: utils/init/postinit.c:843
+#: utils/init/postinit.c:859
 #, c-format
 msgid "database %u does not exist"
 msgstr "la base de données « %u » n'existe pas"
 
-#: utils/init/postinit.c:929
+#: utils/init/postinit.c:945
 #, c-format
 msgid "It seems to have just been dropped or renamed."
 msgstr "Cet objet semble avoir été tout juste supprimé ou renommé."
 
-#: utils/init/postinit.c:947
+#: utils/init/postinit.c:963
 #, c-format
 msgid "The database subdirectory \"%s\" is missing."
 msgstr "Le sous-répertoire de la base de données « %s » est manquant."
 
-#: utils/init/postinit.c:952
+#: utils/init/postinit.c:968
 #, c-format
 msgid "could not access directory \"%s\": %m"
 msgstr "n'a pas pu accéder au répertoire « %s » : %m"
 
-#: utils/mb/conv.c:360 utils/mb/conv.c:546
+#: utils/mb/conv.c:405 utils/mb/conv.c:591
 #, c-format
 msgid "invalid encoding number: %d"
 msgstr "numéro d'encodage invalide : %d"
 
-#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:137 utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:169
+#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:137
+#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:169
 #, c-format
 msgid "unexpected encoding ID %d for ISO 8859 character sets"
 msgstr "identifiant d'encodage %d inattendu pour les jeux de caractères ISO-8859"
 
-#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:127 utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:159
+#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:127
+#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:159
 #, c-format
 msgid "unexpected encoding ID %d for WIN character sets"
 msgstr "identifiant d'encodage %d inattendu pour les jeux de caractères WIN"
@@ -20894,281 +22301,285 @@ msgstr ""
 "le caractère dont la séquence d'octets est %s dans l'encodage « %s » n'a pas\n"
 "d'équivalent dans l'encodage « %s »"
 
-#: utils/misc/guc.c:535
+#: utils/misc/guc.c:548
 msgid "Ungrouped"
 msgstr "Dégroupé"
 
-#: utils/misc/guc.c:537
+#: utils/misc/guc.c:550
 msgid "File Locations"
 msgstr "Emplacement des fichiers"
 
-#: utils/misc/guc.c:539
+#: utils/misc/guc.c:552
 msgid "Connections and Authentication"
 msgstr "Connexions et authentification"
 
-#: utils/misc/guc.c:541
+#: utils/misc/guc.c:554
 msgid "Connections and Authentication / Connection Settings"
 msgstr "Connexions et authentification / Paramètrages de connexion"
 
-#: utils/misc/guc.c:543
+#: utils/misc/guc.c:556
 msgid "Connections and Authentication / Security and Authentication"
 msgstr "Connexions et authentification / Sécurité et authentification"
 
-#: utils/misc/guc.c:545
+#: utils/misc/guc.c:558
 msgid "Resource Usage"
 msgstr "Utilisation des ressources"
 
-#: utils/misc/guc.c:547
+#: utils/misc/guc.c:560
 msgid "Resource Usage / Memory"
 msgstr "Utilisation des ressources / Mémoire"
 
-#: utils/misc/guc.c:549
+#: utils/misc/guc.c:562
 msgid "Resource Usage / Disk"
 msgstr "Utilisation des ressources / Disques"
 
-#: utils/misc/guc.c:551
+#: utils/misc/guc.c:564
 msgid "Resource Usage / Kernel Resources"
 msgstr "Utilisation des ressources / Ressources noyau"
 
-#: utils/misc/guc.c:553
+#: utils/misc/guc.c:566
 msgid "Resource Usage / Cost-Based Vacuum Delay"
 msgstr "Utilisation des ressources / Délai du VACUUM basé sur le coût"
 
-#: utils/misc/guc.c:555
+#: utils/misc/guc.c:568
 msgid "Resource Usage / Background Writer"
 msgstr "Utilisation des ressources / Processus d'écriture en tâche de fond"
 
-#: utils/misc/guc.c:557
+#: utils/misc/guc.c:570
 msgid "Resource Usage / Asynchronous Behavior"
 msgstr "Utilisation des ressources / Comportement asynchrone"
 
-#: utils/misc/guc.c:559
+#: utils/misc/guc.c:572
 msgid "Write-Ahead Log"
 msgstr "Write-Ahead Log"
 
-#: utils/misc/guc.c:561
+#: utils/misc/guc.c:574
 msgid "Write-Ahead Log / Settings"
 msgstr "Write-Ahead Log / Paramètrages"
 
-#: utils/misc/guc.c:563
+#: utils/misc/guc.c:576
 msgid "Write-Ahead Log / Checkpoints"
 msgstr "Write-Ahead Log / Points de vérification (Checkpoints)"
 
-#: utils/misc/guc.c:565
+#: utils/misc/guc.c:578
 msgid "Write-Ahead Log / Archiving"
 msgstr "Write-Ahead Log / Archivage"
 
-#: utils/misc/guc.c:567
+#: utils/misc/guc.c:580
 msgid "Replication"
 msgstr "Réplication"
 
-#: utils/misc/guc.c:569
+#: utils/misc/guc.c:582
 msgid "Replication / Sending Servers"
 msgstr "Réplication / Serveurs d'envoi"
 
-#: utils/misc/guc.c:571
+#: utils/misc/guc.c:584
 msgid "Replication / Master Server"
 msgstr "Réplication / Serveur maître"
 
-#: utils/misc/guc.c:573
+#: utils/misc/guc.c:586
 msgid "Replication / Standby Servers"
 msgstr "Réplication / Serveurs en attente"
 
-#: utils/misc/guc.c:575
+#: utils/misc/guc.c:588
 msgid "Query Tuning"
 msgstr "Optimisation des requêtes"
 
-#: utils/misc/guc.c:577
+#: utils/misc/guc.c:590
 msgid "Query Tuning / Planner Method Configuration"
 msgstr "Optimisation des requêtes / Configuration de la méthode du planificateur"
 
-#: utils/misc/guc.c:579
+#: utils/misc/guc.c:592
 msgid "Query Tuning / Planner Cost Constants"
 msgstr "Optimisation des requêtes / Constantes des coûts du planificateur"
 
-#: utils/misc/guc.c:581
+#: utils/misc/guc.c:594
 msgid "Query Tuning / Genetic Query Optimizer"
 msgstr "Optimisation des requêtes / Optimiseur génétique de requêtes"
 
-#: utils/misc/guc.c:583
+#: utils/misc/guc.c:596
 msgid "Query Tuning / Other Planner Options"
 msgstr "Optimisation des requêtes / Autres options du planificateur"
 
-#: utils/misc/guc.c:585
+#: utils/misc/guc.c:598
 msgid "Reporting and Logging"
 msgstr "Rapports et traces"
 
-#: utils/misc/guc.c:587
+#: utils/misc/guc.c:600
 msgid "Reporting and Logging / Where to Log"
 msgstr "Rapports et traces / Où tracer"
 
-#: utils/misc/guc.c:589
+#: utils/misc/guc.c:602
 msgid "Reporting and Logging / When to Log"
 msgstr "Rapports et traces / Quand tracer"
 
-#: utils/misc/guc.c:591
+#: utils/misc/guc.c:604
 msgid "Reporting and Logging / What to Log"
 msgstr "Rapports et traces / Que tracer"
 
-#: utils/misc/guc.c:593
+#: utils/misc/guc.c:606
 msgid "Process Title"
 msgstr "Titre du processus"
 
-#: utils/misc/guc.c:595
+#: utils/misc/guc.c:608
 msgid "Statistics"
 msgstr "Statistiques"
 
-#: utils/misc/guc.c:597
+#: utils/misc/guc.c:610
 msgid "Statistics / Monitoring"
 msgstr "Statistiques / Surveillance"
 
-#: utils/misc/guc.c:599
+#: utils/misc/guc.c:612
 msgid "Statistics / Query and Index Statistics Collector"
 msgstr "Statistiques / Récupérateur des statistiques sur les requêtes et sur les index"
 
-#: utils/misc/guc.c:601
+#: utils/misc/guc.c:614
 msgid "Autovacuum"
 msgstr "Autovacuum"
 
-#: utils/misc/guc.c:603
+#: utils/misc/guc.c:616
 msgid "Client Connection Defaults"
 msgstr "Valeurs par défaut pour les connexions client"
 
-#: utils/misc/guc.c:605
+#: utils/misc/guc.c:618
 msgid "Client Connection Defaults / Statement Behavior"
 msgstr "Valeurs par défaut pour les connexions client / Comportement des instructions"
 
-#: utils/misc/guc.c:607
+#: utils/misc/guc.c:620
 msgid "Client Connection Defaults / Locale and Formatting"
 msgstr "Valeurs par défaut pour les connexions client / Locale et formattage"
 
-#: utils/misc/guc.c:609
+#: utils/misc/guc.c:622
 msgid "Client Connection Defaults / Shared Library Preloading"
 msgstr "Valeurs par défaut pour les connexions des clients / Préchargement des bibliothèques partagées"
 
-#: utils/misc/guc.c:611
+#: utils/misc/guc.c:624
 msgid "Client Connection Defaults / Other Defaults"
 msgstr "Valeurs par défaut pour les connexions client / Autres valeurs par défaut"
 
-#: utils/misc/guc.c:613
+#: utils/misc/guc.c:626
 msgid "Lock Management"
 msgstr "Gestion des verrous"
 
-#: utils/misc/guc.c:615
+#: utils/misc/guc.c:628
 msgid "Version and Platform Compatibility"
 msgstr "Compatibilité des versions et des plateformes"
 
-#: utils/misc/guc.c:617
+#: utils/misc/guc.c:630
 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions"
 msgstr "Compatibilité des versions et des plateformes / Anciennes versions de PostgreSQL"
 
-#: utils/misc/guc.c:619
+#: utils/misc/guc.c:632
 msgid "Version and Platform Compatibility / Other Platforms and Clients"
 msgstr "Compatibilité des versions et des plateformes / Anciennes plateformes et anciens clients"
 
-#: utils/misc/guc.c:621
+#: utils/misc/guc.c:634
 msgid "Error Handling"
 msgstr "Gestion des erreurs"
 
-#: utils/misc/guc.c:623
+#: utils/misc/guc.c:636
 msgid "Preset Options"
 msgstr "Options pré-configurées"
 
-#: utils/misc/guc.c:625
+#: utils/misc/guc.c:638
 msgid "Customized Options"
 msgstr "Options personnalisées"
 
-#: utils/misc/guc.c:627
+#: utils/misc/guc.c:640
 msgid "Developer Options"
 msgstr "Options pour le développeur"
 
-#: utils/misc/guc.c:684
+#: utils/misc/guc.c:697
 msgid "Valid units for this parameter are \"kB\", \"MB\", \"GB\", and \"TB\"."
 msgstr "Les unités valides pour ce paramètre sont « kB », « MB », « GB » et « TB »."
 
-#: utils/misc/guc.c:711
+#: utils/misc/guc.c:724
 msgid "Valid units for this parameter are \"ms\", \"s\", \"min\", \"h\", and \"d\"."
 msgstr ""
 "Les unités valides pour ce paramètre sont « ms », « s », « min », « h » et\n"
 "« d »."
 
-#: utils/misc/guc.c:770
+#: utils/misc/guc.c:783
 msgid "Enables the planner's use of sequential-scan plans."
 msgstr "Active l'utilisation des parcours séquentiels par le planificateur."
 
-#: utils/misc/guc.c:779
+#: utils/misc/guc.c:792
 msgid "Enables the planner's use of index-scan plans."
 msgstr "Active l'utilisation des parcours d'index par le planificateur."
 
-#: utils/misc/guc.c:788
+#: utils/misc/guc.c:801
 msgid "Enables the planner's use of index-only-scan plans."
 msgstr "Active l'utilisation des parcours d'index seul par le planificateur."
 
-#: utils/misc/guc.c:797
+#: utils/misc/guc.c:810
 msgid "Enables the planner's use of bitmap-scan plans."
 msgstr "Active l'utilisation des parcours de bitmap par le planificateur."
 
-#: utils/misc/guc.c:806
+#: utils/misc/guc.c:819
 msgid "Enables the planner's use of TID scan plans."
 msgstr "Active l'utilisation de plans de parcours TID par le planificateur."
 
-#: utils/misc/guc.c:815
+#: utils/misc/guc.c:828
 msgid "Enables the planner's use of explicit sort steps."
 msgstr "Active l'utilisation des étapes de tris explicites par le planificateur."
 
-#: utils/misc/guc.c:824
+#: utils/misc/guc.c:837
 msgid "Enables the planner's use of hashed aggregation plans."
 msgstr "Active l'utilisation de plans d'agrégats hâchés par le planificateur."
 
-#: utils/misc/guc.c:833
+#: utils/misc/guc.c:846
 msgid "Enables the planner's use of materialization."
 msgstr "Active l'utilisation de la matérialisation par le planificateur."
 
-#: utils/misc/guc.c:842
+#: utils/misc/guc.c:855
 msgid "Enables the planner's use of nested-loop join plans."
 msgstr "Active l'utilisation de plans avec des jointures imbriquées par le planificateur."
 
-#: utils/misc/guc.c:851
+#: utils/misc/guc.c:864
 msgid "Enables the planner's use of merge join plans."
 msgstr "Active l'utilisation de plans de jointures MERGE par le planificateur."
 
-#: utils/misc/guc.c:860
+#: utils/misc/guc.c:873
 msgid "Enables the planner's use of hash join plans."
 msgstr "Active l'utilisation de plans de jointures hâchées par le planificateur."
 
-#: utils/misc/guc.c:869
+#: utils/misc/guc.c:882
+msgid "Enables use of foreign keys for estimating joins."
+msgstr ""
+
+#: utils/misc/guc.c:892
 msgid "Enables genetic query optimization."
 msgstr "Active l'optimisation génétique des requêtes."
 
-#: utils/misc/guc.c:870
+#: utils/misc/guc.c:893
 msgid "This algorithm attempts to do planning without exhaustive searching."
 msgstr "Cet algorithme essaie de faire une planification sans recherche exhaustive."
 
-#: utils/misc/guc.c:880
+#: utils/misc/guc.c:903
 msgid "Shows whether the current user is a superuser."
 msgstr "Affiche si l'utilisateur actuel est un super-utilisateur."
 
-#: utils/misc/guc.c:890
+#: utils/misc/guc.c:913
 msgid "Enables advertising the server via Bonjour."
 msgstr "Active la publication du serveur via Bonjour."
 
-#: utils/misc/guc.c:899
+#: utils/misc/guc.c:922
 msgid "Collects transaction commit time."
 msgstr "Récupère l'horodatage de la validation de la transaction."
 
-#: utils/misc/guc.c:908
+#: utils/misc/guc.c:931
 msgid "Enables SSL connections."
 msgstr "Active les connexions SSL."
 
-#: utils/misc/guc.c:917
+#: utils/misc/guc.c:940
 msgid "Give priority to server ciphersuite order."
 msgstr "Donne la priorité à l'ordre des chiffrements du serveur."
 
-#: utils/misc/guc.c:926
+#: utils/misc/guc.c:949
 msgid "Forces synchronization of updates to disk."
 msgstr "Force la synchronisation des mises à jour sur le disque."
 
-#: utils/misc/guc.c:927
+#: utils/misc/guc.c:950
 msgid "The server will use the fsync() system call in several places to make sure that updates are physically written to disk. This insures that a database cluster will recover to a consistent state after an operating system or hardware crash."
 msgstr ""
 "Le serveur utilisera l'appel système fsync() à différents endroits pour\n"
@@ -21176,19 +22587,19 @@ msgstr ""
 "nous assure qu'un groupe de bases de données se retrouvera dans un état\n"
 "cohérent après un arrêt brutal dû au système d'exploitation ou au matériel."
 
-#: utils/misc/guc.c:938
+#: utils/misc/guc.c:961
 msgid "Continues processing after a checksum failure."
 msgstr "Continue le traitement après un échec de la somme de contrôle."
 
-#: utils/misc/guc.c:939
+#: utils/misc/guc.c:962
 msgid "Detection of a checksum failure normally causes PostgreSQL to report an error, aborting the current transaction. Setting ignore_checksum_failure to true causes the system to ignore the failure (but still report a warning), and continue processing. This behavior could cause crashes or other serious problems. Only has an effect if checksums are enabled."
 msgstr "La détection d'une erreur de somme de contrôle a normalement pour effet de rapporter une erreur, annulant la transaction en cours. Régler ignore_checksum_failure à true permet au système d'ignorer cette erreur (mais rapporte toujours un avertissement), et continue le traitement. Ce comportement pourrait causer un arrêt brutal ou d'autres problèmes sérieux. Cela a un effet seulement si les sommes de contrôles (checksums) sont activés."
 
-#: utils/misc/guc.c:953
+#: utils/misc/guc.c:976
 msgid "Continues processing past damaged page headers."
 msgstr "Continue le travail après les en-têtes de page endommagés."
 
-#: utils/misc/guc.c:954
+#: utils/misc/guc.c:977
 msgid "Detection of a damaged page header normally causes PostgreSQL to report an error, aborting the current transaction. Setting zero_damaged_pages to true causes the system to instead report a warning, zero out the damaged page, and continue processing. This behavior will destroy data, namely all the rows on the damaged page."
 msgstr ""
 "La détection d'une en-tête de page endommagée cause normalement le rapport\n"
@@ -21197,13 +22608,13 @@ msgstr ""
 "message d'attention et continue à travailler. Ce comportement détruira des\n"
 "données, notamment toutes les lignes de la page endommagée."
 
-#: utils/misc/guc.c:967
+#: utils/misc/guc.c:990
 msgid "Writes full pages to WAL when first modified after a checkpoint."
 msgstr ""
 "Écrit des pages complètes dans les WAL lors d'une première modification après\n"
 "un point de vérification."
 
-#: utils/misc/guc.c:968
+#: utils/misc/guc.c:991
 msgid "A page write in process during an operating system crash might be only partially written to disk.  During recovery, the row changes stored in WAL are not enough to recover.  This option writes pages when first modified after a checkpoint to WAL so full recovery is possible."
 msgstr ""
 "Une page écrite au moment d'un arrêt brutal du système d'exploitation\n"
@@ -21214,155 +22625,155 @@ msgstr ""
 "vérification des journaux de transaction pour que la récupération complète\n"
 "soit possible."
 
-#: utils/misc/guc.c:981
+#: utils/misc/guc.c:1004
 msgid "Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modifications."
 msgstr ""
 "Écrit des pages complètes dans les WAL lors d'une première modification après\n"
 "un point de vérification, y compris pour des modifications non critiques."
 
-#: utils/misc/guc.c:991
+#: utils/misc/guc.c:1014
 msgid "Compresses full-page writes written in WAL file."
 msgstr "Compresse les blocs complets écrits dans les journaux de transactions."
 
-#: utils/misc/guc.c:1001
+#: utils/misc/guc.c:1024
 msgid "Logs each checkpoint."
 msgstr "Trace tous les points de vérification."
 
-#: utils/misc/guc.c:1010
+#: utils/misc/guc.c:1033
 msgid "Logs each successful connection."
 msgstr "Trace toutes les connexions réussies."
 
-#: utils/misc/guc.c:1019
+#: utils/misc/guc.c:1042
 msgid "Logs end of a session, including duration."
 msgstr "Trace la fin d'une session, avec sa durée."
 
-#: utils/misc/guc.c:1028
+#: utils/misc/guc.c:1051
 msgid "Logs each replication command."
 msgstr "Trace chaque commande de réplication."
 
-#: utils/misc/guc.c:1037
+#: utils/misc/guc.c:1060
 msgid "Shows whether the running server has assertion checks enabled."
 msgstr "Affiche si le serveur en cours d'exécution a les vérifications d'assertion activées."
 
-#: utils/misc/guc.c:1052
+#: utils/misc/guc.c:1075
 msgid "Terminate session on any error."
 msgstr "Termine la session sans erreur."
 
-#: utils/misc/guc.c:1061
+#: utils/misc/guc.c:1084
 msgid "Reinitialize server after backend crash."
 msgstr "Réinitialisation du serveur après un arrêt brutal d'un processus serveur."
 
-#: utils/misc/guc.c:1071
+#: utils/misc/guc.c:1094
 msgid "Logs the duration of each completed SQL statement."
 msgstr "Trace la durée de chaque instruction SQL terminée."
 
-#: utils/misc/guc.c:1080
+#: utils/misc/guc.c:1103
 msgid "Logs each query's parse tree."
 msgstr "Trace l'arbre d'analyse de chaque requête."
 
-#: utils/misc/guc.c:1089
+#: utils/misc/guc.c:1112
 msgid "Logs each query's rewritten parse tree."
 msgstr "Trace l'arbre d'analyse réécrit de chaque requête."
 
-#: utils/misc/guc.c:1098
+#: utils/misc/guc.c:1121
 msgid "Logs each query's execution plan."
 msgstr "Trace le plan d'exécution de chaque requête."
 
-#: utils/misc/guc.c:1107
+#: utils/misc/guc.c:1130
 msgid "Indents parse and plan tree displays."
 msgstr "Indente l'affichage des arbres d'analyse et de planification."
 
-#: utils/misc/guc.c:1116
+#: utils/misc/guc.c:1139
 msgid "Writes parser performance statistics to the server log."
 msgstr ""
 "Écrit les statistiques de performance de l'analyseur dans les journaux applicatifs\n"
 "du serveur."
 
-#: utils/misc/guc.c:1125
+#: utils/misc/guc.c:1148
 msgid "Writes planner performance statistics to the server log."
 msgstr ""
 "Écrit les statistiques de performance de planification dans les journaux\n"
 "applicatifs du serveur."
 
-#: utils/misc/guc.c:1134
+#: utils/misc/guc.c:1157
 msgid "Writes executor performance statistics to the server log."
 msgstr ""
 "Écrit les statistiques de performance de l'exécuteur dans les journaux applicatifs\n"
 "du serveur."
 
-#: utils/misc/guc.c:1143
+#: utils/misc/guc.c:1166
 msgid "Writes cumulative performance statistics to the server log."
 msgstr ""
 "Écrit les statistiques de performance cumulatives dans les journaux applicatifs\n"
 "du serveur."
 
-#: utils/misc/guc.c:1153
+#: utils/misc/guc.c:1176
 msgid "Logs system resource usage statistics (memory and CPU) on various B-tree operations."
 msgstr "Trace les statistiques d'utilisation des ressources systèmes (mémoire et CPU) sur les différentes opérations B-tree."
 
-#: utils/misc/guc.c:1165
+#: utils/misc/guc.c:1188
 msgid "Collects information about executing commands."
 msgstr "Récupère les statistiques sur les commandes en exécution."
 
-#: utils/misc/guc.c:1166
+#: utils/misc/guc.c:1189
 msgid "Enables the collection of information on the currently executing command of each session, along with the time at which that command began execution."
 msgstr ""
 "Active la récupération d'informations sur la commande en cours d'exécution\n"
 "pour chaque session, avec l'heure de début de l'exécution de la commande."
 
-#: utils/misc/guc.c:1176
+#: utils/misc/guc.c:1199
 msgid "Collects statistics on database activity."
 msgstr "Récupère les statistiques sur l'activité de la base de données."
 
-#: utils/misc/guc.c:1185
+#: utils/misc/guc.c:1208
 msgid "Collects timing statistics for database I/O activity."
 msgstr "Récupère les statistiques d'horodatage sur l'activité en entrées/sorties de la base de données."
 
-#: utils/misc/guc.c:1195
+#: utils/misc/guc.c:1218
 msgid "Updates the process title to show the active SQL command."
 msgstr ""
 "Met à jour le titre du processus pour indiquer la commande SQL en cours\n"
 "d'exécution."
 
-#: utils/misc/guc.c:1196
+#: utils/misc/guc.c:1219
 msgid "Enables updating of the process title every time a new SQL command is received by the server."
 msgstr ""
 "Active la mise à jour du titre du processus chaque fois qu'une nouvelle\n"
 "commande SQL est reçue par le serveur."
 
-#: utils/misc/guc.c:1205
+#: utils/misc/guc.c:1228
 msgid "Starts the autovacuum subprocess."
 msgstr "Exécute le sous-processus de l'autovacuum."
 
-#: utils/misc/guc.c:1215
+#: utils/misc/guc.c:1238
 msgid "Generates debugging output for LISTEN and NOTIFY."
 msgstr "Génère une sortie de débogage pour LISTEN et NOTIFY."
 
-#: utils/misc/guc.c:1227
+#: utils/misc/guc.c:1250
 msgid "Emits information about lock usage."
 msgstr "Émet des informations sur l'utilisation des verrous."
 
-#: utils/misc/guc.c:1237
+#: utils/misc/guc.c:1260
 msgid "Emits information about user lock usage."
 msgstr "Émet des informations sur l'utilisation des verrous utilisateurs."
 
-#: utils/misc/guc.c:1247
+#: utils/misc/guc.c:1270
 msgid "Emits information about lightweight lock usage."
 msgstr "Émet des informations sur l'utilisation des verrous légers."
 
-#: utils/misc/guc.c:1257
+#: utils/misc/guc.c:1280
 msgid "Dumps information about all current locks when a deadlock timeout occurs."
 msgstr "Trace les informations sur les verrous actuels lorsqu'un délai sur le deadlock est dépassé."
 
-#: utils/misc/guc.c:1269
+#: utils/misc/guc.c:1292
 msgid "Logs long lock waits."
 msgstr "Trace les attentes longues de verrou."
 
-#: utils/misc/guc.c:1279
+#: utils/misc/guc.c:1302
 msgid "Logs the host name in the connection logs."
 msgstr "Trace le nom d'hôte dans les traces de connexion."
 
-#: utils/misc/guc.c:1280
+#: utils/misc/guc.c:1303
 msgid "By default, connection logs only show the IP address of the connecting host. If you want them to show the host name you can turn this on, but depending on your host name resolution setup it might impose a non-negligible performance penalty."
 msgstr ""
 "Par défaut, les traces de connexion n'affichent que l'adresse IP de l'hôte\n"
@@ -21371,28 +22782,28 @@ msgstr ""
 "pour votre hôte, cela pourrait imposer des dégradations de performances non\n"
 "négligeables."
 
-#: utils/misc/guc.c:1291
+#: utils/misc/guc.c:1314
 msgid "Causes subtables to be included by default in various commands."
 msgstr ""
 "Fait que les sous-tables soient incluses par défaut dans les différentes\n"
 "commandes."
 
-#: utils/misc/guc.c:1300
+#: utils/misc/guc.c:1323
 msgid "Encrypt passwords."
 msgstr "Chiffre les mots de passe."
 
-#: utils/misc/guc.c:1301
+#: utils/misc/guc.c:1324
 msgid "When a password is specified in CREATE USER or ALTER USER without writing either ENCRYPTED or UNENCRYPTED, this parameter determines whether the password is to be encrypted."
 msgstr ""
 "Lorsqu'un mot de passe est spécifié dans CREATE USER ou ALTER USER sans\n"
 "indiquer ENCRYPTED ou UNENCRYPTED, ce paramètre détermine si le mot de passe\n"
 "doit être chiffré."
 
-#: utils/misc/guc.c:1311
+#: utils/misc/guc.c:1334
 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"."
 msgstr "Traite « expr=NULL » comme « expr IS NULL »."
 
-#: utils/misc/guc.c:1312
+#: utils/misc/guc.c:1335
 msgid "When turned on, expressions of the form expr = NULL (or NULL = expr) are treated as expr IS NULL, that is, they return true if expr evaluates to the null value, and false otherwise. The correct behavior of expr = NULL is to always return null (unknown)."
 msgstr ""
 "Une fois activé, les expressions de la forme expr = NULL (ou NULL = expr)\n"
@@ -21400,273 +22811,281 @@ msgstr ""
 "l'expression est évaluée comme étant NULL et false sinon. Le comportement\n"
 "correct de expr = NULL est de toujours renvoyer NULL (inconnu)."
 
-#: utils/misc/guc.c:1324
+#: utils/misc/guc.c:1347
 msgid "Enables per-database user names."
 msgstr "Active les noms d'utilisateur par base de données."
 
-#: utils/misc/guc.c:1333
+#: utils/misc/guc.c:1356
 msgid "Sets the default read-only status of new transactions."
 msgstr "Initialise le statut de lecture seule par défaut des nouvelles transactions."
 
-#: utils/misc/guc.c:1342
+#: utils/misc/guc.c:1365
 msgid "Sets the current transaction's read-only status."
 msgstr "Affiche le statut de lecture seule de la transaction actuelle."
 
-#: utils/misc/guc.c:1352
+#: utils/misc/guc.c:1375
 msgid "Sets the default deferrable status of new transactions."
 msgstr "Initialise le statut déferrable par défaut des nouvelles transactions."
 
-#: utils/misc/guc.c:1361
+#: utils/misc/guc.c:1384
 msgid "Whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures."
 msgstr ""
 "S'il faut repousser une transaction sérialisable en lecture seule jusqu'à ce qu'elle\n"
 "puisse être exécutée sans échecs possibles de sérialisation."
 
-#: utils/misc/guc.c:1371
+#: utils/misc/guc.c:1394
 msgid "Enable row security."
 msgstr "Active la sécurité niveau ligne."
 
-#: utils/misc/guc.c:1372
+#: utils/misc/guc.c:1395
 msgid "When enabled, row security will be applied to all users."
 msgstr "Lorsqu'il est activé, le mode de sécurité niveau ligne sera appliqué à tous les utilisateurs."
 
-#: utils/misc/guc.c:1380
+#: utils/misc/guc.c:1403
 msgid "Check function bodies during CREATE FUNCTION."
 msgstr "Vérifie les corps de fonction lors du CREATE FUNCTION."
 
-#: utils/misc/guc.c:1389
+#: utils/misc/guc.c:1412
 msgid "Enable input of NULL elements in arrays."
 msgstr "Active la saisie d'éléments NULL dans les tableaux."
 
-#: utils/misc/guc.c:1390
+#: utils/misc/guc.c:1413
 msgid "When turned on, unquoted NULL in an array input value means a null value; otherwise it is taken literally."
 msgstr ""
 "Si activé, un NULL sans guillemets en tant que valeur d'entrée dans un\n"
 "tableau signifie une valeur NULL ; sinon, il sera pris littéralement."
 
-#: utils/misc/guc.c:1400
+#: utils/misc/guc.c:1423
 msgid "Create new tables with OIDs by default."
 msgstr "Crée des nouvelles tables avec des OID par défaut."
 
-#: utils/misc/guc.c:1409
+#: utils/misc/guc.c:1432
 msgid "Start a subprocess to capture stderr output and/or csvlogs into log files."
 msgstr ""
 "Lance un sous-processus pour capturer la sortie d'erreurs (stderr) et/ou\n"
 "csvlogs dans des journaux applicatifs."
 
-#: utils/misc/guc.c:1418
+#: utils/misc/guc.c:1441
 msgid "Truncate existing log files of same name during log rotation."
 msgstr ""
 "Tronque les journaux applicatifs existants du même nom lors de la rotation\n"
 "des journaux applicatifs."
 
-#: utils/misc/guc.c:1429
+#: utils/misc/guc.c:1452
 msgid "Emit information about resource usage in sorting."
 msgstr "Émet des informations sur l'utilisation des ressources lors d'un tri."
 
-#: utils/misc/guc.c:1443
+#: utils/misc/guc.c:1466
 msgid "Generate debugging output for synchronized scanning."
 msgstr "Génère une sortie de débogage pour les parcours synchronisés."
 
-#: utils/misc/guc.c:1458
+#: utils/misc/guc.c:1481
 msgid "Enable bounded sorting using heap sort."
 msgstr "Active le tri limité en utilisant le tri de heap."
 
-#: utils/misc/guc.c:1471
+#: utils/misc/guc.c:1494
 msgid "Emit WAL-related debugging output."
 msgstr "Émet une sortie de débogage concernant les journaux de transactions."
 
-#: utils/misc/guc.c:1483
+#: utils/misc/guc.c:1506
 msgid "Datetimes are integer based."
 msgstr "Les types datetime sont basés sur des entiers"
 
-#: utils/misc/guc.c:1498
+#: utils/misc/guc.c:1521
 msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive."
 msgstr ""
 "Indique si les noms d'utilisateurs Kerberos et GSSAPI devraient être traités\n"
 "sans se soucier de la casse."
 
-#: utils/misc/guc.c:1508
+#: utils/misc/guc.c:1531
 msgid "Warn about backslash escapes in ordinary string literals."
 msgstr "Avertie sur les échappements par antislash dans les chaînes ordinaires."
 
-#: utils/misc/guc.c:1518
+#: utils/misc/guc.c:1541
 msgid "Causes '...' strings to treat backslashes literally."
 msgstr "Fait que les chaînes '...' traitent les antislashs littéralement."
 
-#: utils/misc/guc.c:1529
+#: utils/misc/guc.c:1552
 msgid "Enable synchronized sequential scans."
 msgstr "Active l'utilisation des parcours séquentiels synchronisés."
 
-#: utils/misc/guc.c:1539
+#: utils/misc/guc.c:1562
 msgid "Allows connections and queries during recovery."
 msgstr "Autorise les connexions et les requêtes pendant la restauration."
 
-#: utils/misc/guc.c:1549
+#: utils/misc/guc.c:1572
 msgid "Allows feedback from a hot standby to the primary that will avoid query conflicts."
 msgstr ""
 "Permet l'envoi d'informations d'un serveur Hot Standby vers le serveur\n"
 "principal pour éviter les conflits de requêtes."
 
-#: utils/misc/guc.c:1559
+#: utils/misc/guc.c:1582
 msgid "Allows modifications of the structure of system tables."
 msgstr "Permet les modifications de la structure des tables systèmes."
 
-#: utils/misc/guc.c:1570
+#: utils/misc/guc.c:1593
 msgid "Disables reading from system indexes."
 msgstr "Désactive la lecture des index système."
 
-#: utils/misc/guc.c:1571
+#: utils/misc/guc.c:1594
 msgid "It does not prevent updating the indexes, so it is safe to use.  The worst consequence is slowness."
 msgstr ""
 "Cela n'empêche pas la mise à jour des index, donc vous pouvez l'utiliser en\n"
 "toute sécurité. La pire conséquence est la lenteur."
 
-#: utils/misc/guc.c:1582
+#: utils/misc/guc.c:1605
 msgid "Enables backward compatibility mode for privilege checks on large objects."
 msgstr ""
 "Active la compatibilité ascendante pour la vérification des droits sur les\n"
 "Large Objects."
 
-#: utils/misc/guc.c:1583
+#: utils/misc/guc.c:1606
 msgid "Skips privilege checks when reading or modifying large objects, for compatibility with PostgreSQL releases prior to 9.0."
 msgstr ""
 "Ignore la vérification des droits lors de la lecture et de la modification\n"
 "des Larges Objects, pour la compatibilité avec les versions antérieures à la\n"
 "9.0."
 
-#: utils/misc/guc.c:1593
+#: utils/misc/guc.c:1616
 msgid "Emit a warning for constructs that changed meaning since PostgreSQL 9.4."
 msgstr "Émet un avertissement pour les constructions dont la signification a changé depuis PostgreSQL 9.4."
 
-#: utils/misc/guc.c:1603
+#: utils/misc/guc.c:1626
 msgid "When generating SQL fragments, quote all identifiers."
 msgstr "Lors de la génération des rragments SQL, mettre entre guillemets tous les identifiants."
 
-#: utils/misc/guc.c:1613
+#: utils/misc/guc.c:1636
 msgid "Shows whether data checksums are turned on for this cluster."
 msgstr "Affiche si les sommes de contrôle sont activées sur les données pour cette instance."
 
-#: utils/misc/guc.c:1633
+#: utils/misc/guc.c:1647
+msgid "Add sequence number to syslog messages to avoid duplicate suppression."
+msgstr ""
+
+#: utils/misc/guc.c:1657
+msgid "Split messages sent to syslog by lines and to fit into 1024 bytes."
+msgstr ""
+
+#: utils/misc/guc.c:1676
 msgid "Forces a switch to the next xlog file if a new file has not been started within N seconds."
 msgstr ""
 "Force un changement du journal de transaction si un nouveau fichier n'a pas\n"
 "été créé depuis N secondes."
 
-#: utils/misc/guc.c:1644
+#: utils/misc/guc.c:1687
 msgid "Waits N seconds on connection startup after authentication."
 msgstr "Attends N secondes après l'authentification."
 
-#: utils/misc/guc.c:1645 utils/misc/guc.c:2147
+#: utils/misc/guc.c:1688 utils/misc/guc.c:2211
 msgid "This allows attaching a debugger to the process."
 msgstr "Ceci permet d'attacher un débogueur au processus."
 
-#: utils/misc/guc.c:1654
+#: utils/misc/guc.c:1697
 msgid "Sets the default statistics target."
 msgstr "Initialise la cible par défaut des statistiques."
 
-#: utils/misc/guc.c:1655
+#: utils/misc/guc.c:1698
 msgid "This applies to table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS."
 msgstr ""
 "Ceci s'applique aux colonnes de tables qui n'ont pas de cible spécifique\n"
 "pour la colonne initialisée via ALTER TABLE SET STATISTICS."
 
-#: utils/misc/guc.c:1664
+#: utils/misc/guc.c:1707
 msgid "Sets the FROM-list size beyond which subqueries are not collapsed."
 msgstr ""
 "Initialise la taille de la liste FROM en dehors de laquelle les\n"
 "sous-requêtes ne sont pas rassemblées."
 
-#: utils/misc/guc.c:1666
+#: utils/misc/guc.c:1709
 msgid "The planner will merge subqueries into upper queries if the resulting FROM list would have no more than this many items."
 msgstr ""
 "Le planificateur fusionne les sous-requêtes dans des requêtes supérieures\n"
 "si la liste FROM résultante n'a pas plus de ce nombre d'éléments."
 
-#: utils/misc/guc.c:1676
+#: utils/misc/guc.c:1719
 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened."
 msgstr ""
 "Initialise la taille de la liste FROM en dehors de laquelle les contructions\n"
 "JOIN ne sont pas aplanies."
 
-#: utils/misc/guc.c:1678
+#: utils/misc/guc.c:1721
 msgid "The planner will flatten explicit JOIN constructs into lists of FROM items whenever a list of no more than this many items would result."
 msgstr ""
 "La planificateur applanira les constructions JOIN explicites dans des listes\n"
 "d'éléments FROM lorsqu'une liste d'au plus ce nombre d'éléments en\n"
 "résulterait."
 
-#: utils/misc/guc.c:1688
+#: utils/misc/guc.c:1731
 msgid "Sets the threshold of FROM items beyond which GEQO is used."
 msgstr "Initialise la limite des éléments FROM en dehors de laquelle GEQO est utilisé."
 
-#: utils/misc/guc.c:1697
+#: utils/misc/guc.c:1740
 msgid "GEQO: effort is used to set the default for other GEQO parameters."
 msgstr ""
 "GEQO : l'effort est utilisé pour initialiser une valeur par défaut pour les\n"
 "autres paramètres GEQO."
 
-#: utils/misc/guc.c:1706
+#: utils/misc/guc.c:1749
 msgid "GEQO: number of individuals in the population."
 msgstr "GEQO : nombre d'individus dans une population."
 
-#: utils/misc/guc.c:1707 utils/misc/guc.c:1716
+#: utils/misc/guc.c:1750 utils/misc/guc.c:1759
 msgid "Zero selects a suitable default value."
 msgstr "Zéro sélectionne une valeur par défaut convenable."
 
-#: utils/misc/guc.c:1715
+#: utils/misc/guc.c:1758
 msgid "GEQO: number of iterations of the algorithm."
 msgstr "GEQO : nombre d'itérations dans l'algorithme."
 
-#: utils/misc/guc.c:1726
+#: utils/misc/guc.c:1769
 msgid "Sets the time to wait on a lock before checking for deadlock."
 msgstr "Temps d'attente du verrou avant de vérifier les verrous bloqués."
 
-#: utils/misc/guc.c:1737
+#: utils/misc/guc.c:1780
 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data."
 msgstr ""
 "Initialise le délai maximum avant d'annuler les requêtes lorsqu'un serveur en\n"
 "hotstandby traite les données des journaux de transactions archivés"
 
-#: utils/misc/guc.c:1748
+#: utils/misc/guc.c:1791
 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data."
 msgstr ""
 "Initialise le délai maximum avant d'annuler les requêtes lorsqu'un serveur en\n"
 "hotstandby traite les données des journaux de transactions envoyés en flux."
 
-#: utils/misc/guc.c:1759
+#: utils/misc/guc.c:1802
 msgid "Sets the maximum interval between WAL receiver status reports to the primary."
 msgstr "Configure l'intervalle maximum entre chaque envoi d'un rapport de statut du walreceiver vers le serveur maître."
 
-#: utils/misc/guc.c:1770
+#: utils/misc/guc.c:1813
 msgid "Sets the maximum wait time to receive data from the primary."
 msgstr "Configure la durée maximale de l'attente de la réception de données depuis le serveur maître."
 
-#: utils/misc/guc.c:1781
+#: utils/misc/guc.c:1824
 msgid "Sets the maximum number of concurrent connections."
 msgstr "Nombre maximum de connexions simultanées."
 
-#: utils/misc/guc.c:1791
+#: utils/misc/guc.c:1834
 msgid "Sets the number of connection slots reserved for superusers."
 msgstr "Nombre de connexions réservées aux super-utilisateurs."
 
-#: utils/misc/guc.c:1805
+#: utils/misc/guc.c:1848
 msgid "Sets the number of shared memory buffers used by the server."
 msgstr "Nombre de tampons en mémoire partagée utilisé par le serveur."
 
-#: utils/misc/guc.c:1816
+#: utils/misc/guc.c:1859
 msgid "Sets the maximum number of temporary buffers used by each session."
 msgstr "Nombre maximum de tampons en mémoire partagée utilisés par chaque session."
 
-#: utils/misc/guc.c:1827
+#: utils/misc/guc.c:1870
 msgid "Sets the TCP port the server listens on."
 msgstr "Port TCP sur lequel le serveur écoutera."
 
-#: utils/misc/guc.c:1837
+#: utils/misc/guc.c:1880
 msgid "Sets the access permissions of the Unix-domain socket."
 msgstr "Droits d'accès au socket domaine Unix."
 
-#: utils/misc/guc.c:1838
+#: utils/misc/guc.c:1881
 msgid "Unix-domain sockets use the usual Unix file system permission set. The parameter value is expected to be a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)"
 msgstr ""
 "Les sockets de domaine Unix utilise l'ensemble des droits habituels du système\n"
@@ -21674,176 +23093,192 @@ msgstr ""
 "mode numérique de la forme acceptée par les appels système chmod et umask\n"
 "(pour utiliser le format octal, le nombre doit commencer avec un zéro)."
 
-#: utils/misc/guc.c:1852
+#: utils/misc/guc.c:1895
 msgid "Sets the file permissions for log files."
 msgstr "Initialise les droits des fichiers de trace."
 
-#: utils/misc/guc.c:1853
+#: utils/misc/guc.c:1896
 msgid "The parameter value is expected to be a numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)"
 msgstr ""
 "La valeur du paramètre est attendue dans le format numérique du mode accepté\n"
 "par les appels système chmod et umask (pour utiliser le format octal\n"
 "personnalisé, le numéro doit commencer avec un zéro)."
 
-#: utils/misc/guc.c:1866
+#: utils/misc/guc.c:1909
 msgid "Sets the maximum memory to be used for query workspaces."
 msgstr "Initialise la mémoire maximum utilisée pour les espaces de travail des requêtes."
 
-#: utils/misc/guc.c:1867
+#: utils/misc/guc.c:1910
 msgid "This much memory can be used by each internal sort operation and hash table before switching to temporary disk files."
 msgstr ""
 "Spécifie la mémoire à utiliser par les opérations de tris internes et par\n"
 "les tables de hachage avant de passer sur des fichiers temporaires sur disque."
 
-#: utils/misc/guc.c:1879
+#: utils/misc/guc.c:1922
 msgid "Sets the maximum memory to be used for maintenance operations."
 msgstr "Initialise la mémoire maximum utilisée pour les opérations de maintenance."
 
-#: utils/misc/guc.c:1880
+#: utils/misc/guc.c:1923
 msgid "This includes operations such as VACUUM and CREATE INDEX."
 msgstr "Ceci inclut les opérations comme VACUUM et CREATE INDEX."
 
-#: utils/misc/guc.c:1895
+#: utils/misc/guc.c:1933
+#, fuzzy
+#| msgid "Sets the maximum number of temporary buffers used by each session."
+msgid "Sets the maximum number of tuples to be sorted using replacement selection."
+msgstr "Nombre maximum de tampons en mémoire partagée utilisés par chaque session."
+
+#: utils/misc/guc.c:1934
+msgid "When more tuples than this are present, quicksort will be used."
+msgstr ""
+
+#: utils/misc/guc.c:1948
 msgid "Sets the maximum stack depth, in kilobytes."
 msgstr "Initialise la profondeur maximale de la pile, en Ko."
 
-#: utils/misc/guc.c:1906
+#: utils/misc/guc.c:1959
 msgid "Limits the total size of all temporary files used by each session."
 msgstr "Limite la taille totale de tous les fichiers temporaires utilisés par chaque session."
 
-#: utils/misc/guc.c:1907
+#: utils/misc/guc.c:1960
 msgid "-1 means no limit."
 msgstr "-1 signifie sans limite."
 
-#: utils/misc/guc.c:1917
+#: utils/misc/guc.c:1970
 msgid "Vacuum cost for a page found in the buffer cache."
 msgstr "Coût d'un VACUUM pour une page trouvée dans le cache du tampon."
 
-#: utils/misc/guc.c:1927
+#: utils/misc/guc.c:1980
 msgid "Vacuum cost for a page not found in the buffer cache."
 msgstr "Coût d'un VACUUM pour une page introuvable dans le cache du tampon."
 
-#: utils/misc/guc.c:1937
+#: utils/misc/guc.c:1990
 msgid "Vacuum cost for a page dirtied by vacuum."
 msgstr "Coût d'un VACUUM pour une page modifiée par VACUUM."
 
-#: utils/misc/guc.c:1947
+#: utils/misc/guc.c:2000
 msgid "Vacuum cost amount available before napping."
 msgstr "Coût du VACUUM disponible avant un repos."
 
-#: utils/misc/guc.c:1957
+#: utils/misc/guc.c:2010
 msgid "Vacuum cost delay in milliseconds."
 msgstr "Délai d'un coût de VACUUM en millisecondes."
 
-#: utils/misc/guc.c:1968
+#: utils/misc/guc.c:2021
 msgid "Vacuum cost delay in milliseconds, for autovacuum."
 msgstr "Délai d'un coût de VACUUM en millisecondes, pour autovacuum."
 
-#: utils/misc/guc.c:1979
+#: utils/misc/guc.c:2032
 msgid "Vacuum cost amount available before napping, for autovacuum."
 msgstr "Coût du VACUUM disponible avant un repos, pour autovacuum."
 
-#: utils/misc/guc.c:1989
+#: utils/misc/guc.c:2042
 msgid "Sets the maximum number of simultaneously open files for each server process."
 msgstr ""
 "Initialise le nombre maximum de fichiers ouverts simultanément pour chaque\n"
 "processus serveur."
 
-#: utils/misc/guc.c:2002
+#: utils/misc/guc.c:2055
 msgid "Sets the maximum number of simultaneously prepared transactions."
 msgstr "Initialise le nombre maximum de transactions préparées simultanément."
 
-#: utils/misc/guc.c:2013
+#: utils/misc/guc.c:2066
 msgid "Sets the minimum OID of tables for tracking locks."
 msgstr "Initialise l'OID minimum des tables pour tracer les verrous."
 
-#: utils/misc/guc.c:2014
+#: utils/misc/guc.c:2067
 msgid "Is used to avoid output on system tables."
 msgstr "Est utilisé pour éviter la sortie sur des tables systèmes."
 
-#: utils/misc/guc.c:2023
+#: utils/misc/guc.c:2076
 msgid "Sets the OID of the table with unconditionally lock tracing."
 msgstr "Configure l'OID de la table avec une trace des verrous sans condition."
 
-#: utils/misc/guc.c:2035
+#: utils/misc/guc.c:2088
 msgid "Sets the maximum allowed duration of any statement."
 msgstr "Initialise la durée maximum permise pour toute instruction."
 
-#: utils/misc/guc.c:2036 utils/misc/guc.c:2047
+#: utils/misc/guc.c:2089 utils/misc/guc.c:2100 utils/misc/guc.c:2111
 msgid "A value of 0 turns off the timeout."
 msgstr "Une valeur de 0 désactive le timeout."
 
-#: utils/misc/guc.c:2046
+#: utils/misc/guc.c:2099
 msgid "Sets the maximum allowed duration of any wait for a lock."
 msgstr "Initialise la durée maximum permise pour toute attente d'un verrou."
 
-#: utils/misc/guc.c:2057
+#: utils/misc/guc.c:2110
+#, fuzzy
+#| msgid "Sets the maximum allowed duration of any statement."
+msgid "Sets the maximum allowed duration of any idling transaction."
+msgstr "Initialise la durée maximum permise pour toute instruction."
+
+#: utils/misc/guc.c:2121
 msgid "Minimum age at which VACUUM should freeze a table row."
 msgstr "Âge minimum à partir duquel VACUUM devra geler une ligne de table."
 
-#: utils/misc/guc.c:2067
+#: utils/misc/guc.c:2131
 msgid "Age at which VACUUM should scan whole table to freeze tuples."
 msgstr ""
 "Âge à partir duquel VACUUM devra parcourir une table complète pour geler les\n"
 "lignes."
 
-#: utils/misc/guc.c:2077
+#: utils/misc/guc.c:2141
 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row."
 msgstr "Âge minimum à partir duquel VACUUM devra geler un MultiXactId dans une ligne de table."
 
-#: utils/misc/guc.c:2087
+#: utils/misc/guc.c:2151
 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples."
 msgstr ""
 "Âge Multixact à partir duquel VACUUM devra parcourir une table complète pour geler les\n"
 "lignes."
 
-#: utils/misc/guc.c:2097
+#: utils/misc/guc.c:2161
 msgid "Number of transactions by which VACUUM and HOT cleanup should be deferred, if any."
 msgstr "Nombre de transactions à partir duquel les nettoyages VACUUM et HOT doivent être déferrés."
 
-#: utils/misc/guc.c:2110
+#: utils/misc/guc.c:2174
 msgid "Sets the maximum number of locks per transaction."
 msgstr "Initialise le nombre maximum de verrous par transaction."
 
-#: utils/misc/guc.c:2111
+#: utils/misc/guc.c:2175
 msgid "The shared lock table is sized on the assumption that at most max_locks_per_transaction * max_connections distinct objects will need to be locked at any one time."
 msgstr ""
 "La table des verrous partagés est dimensionnée sur l'idée qu'au plus\n"
 "max_locks_per_transaction * max_connections objets distincts auront besoin\n"
 "d'être verrouillés à tout moment."
 
-#: utils/misc/guc.c:2122
+#: utils/misc/guc.c:2186
 msgid "Sets the maximum number of predicate locks per transaction."
 msgstr "Initialise le nombre maximum de verrous prédicats par transaction."
 
-#: utils/misc/guc.c:2123
+#: utils/misc/guc.c:2187
 msgid "The shared predicate lock table is sized on the assumption that at most max_pred_locks_per_transaction * max_connections distinct objects will need to be locked at any one time."
 msgstr ""
 "La table des verrous de prédicat partagés est dimensionnée sur l'idée qu'au plus\n"
 "max_pred_locks_per_transaction * max_connections objets distincts auront besoin\n"
 "d'être verrouillés à tout moment."
 
-#: utils/misc/guc.c:2134
+#: utils/misc/guc.c:2198
 msgid "Sets the maximum allowed time to complete client authentication."
 msgstr ""
 "Initialise le temps maximum en secondes pour terminer l'authentification du\n"
 "client."
 
-#: utils/misc/guc.c:2146
+#: utils/misc/guc.c:2210
 msgid "Waits N seconds on connection startup before authentication."
 msgstr "Attends N secondes au lancement de la connexion avant l'authentification."
 
-#: utils/misc/guc.c:2157
+#: utils/misc/guc.c:2221
 msgid "Sets the number of WAL files held for standby servers."
 msgstr "Initialise le nombre de journaux de transactions conservés tenus par les seveurs en attente."
 
-#: utils/misc/guc.c:2167
+#: utils/misc/guc.c:2231
 #, fuzzy
 #| msgid "Sets the maximum time to wait for WAL replication."
 msgid "Sets the minimum size to shrink the WAL to."
 msgstr "Initialise le temps maximum à attendre pour la réplication des WAL."
 
-#: utils/misc/guc.c:2178
+#: utils/misc/guc.c:2242
 #, fuzzy
 #| msgid "Sets the maximum time between automatic WAL checkpoints."
 msgid "Sets the WAL size that triggers a checkpoint."
@@ -21851,19 +23286,19 @@ msgstr ""
 "Initialise le temps maximum entre des points de vérification (checkpoints)\n"
 "pour les journaux de transactions."
 
-#: utils/misc/guc.c:2189
+#: utils/misc/guc.c:2253
 msgid "Sets the maximum time between automatic WAL checkpoints."
 msgstr ""
 "Initialise le temps maximum entre des points de vérification (checkpoints)\n"
 "pour les journaux de transactions."
 
-#: utils/misc/guc.c:2200
+#: utils/misc/guc.c:2264
 msgid "Enables warnings if checkpoint segments are filled more frequently than this."
 msgstr ""
 "Active des messages d'avertissement si les segments des points de\n"
 "vérifications se remplissent plus fréquemment que cette durée."
 
-#: utils/misc/guc.c:2202
+#: utils/misc/guc.c:2266
 msgid "Write a message to the server log if checkpoints caused by the filling of checkpoint segment files happens more frequently than this number of seconds. Zero turns off the warning."
 msgstr ""
 "Écrit un message dans les journaux applicatifs du serveur si les points de\n"
@@ -21871,668 +23306,732 @@ msgstr ""
 "des points de vérification qui arrivent plus fréquemment que ce nombre de\n"
 "secondes. Une valeur 0 désactive l'avertissement."
 
-#: utils/misc/guc.c:2214
+#: utils/misc/guc.c:2278 utils/misc/guc.c:2436 utils/misc/guc.c:2464
+msgid "Number of pages after which previously performed writes are flushed to disk."
+msgstr ""
+
+#: utils/misc/guc.c:2290
 msgid "Sets the number of disk-page buffers in shared memory for WAL."
 msgstr ""
 "Initialise le nombre de tampons de pages disque dans la mémoire partagée\n"
 "pour les journaux de transactions."
 
-#: utils/misc/guc.c:2225
-msgid "WAL writer sleep time between WAL flushes."
+#: utils/misc/guc.c:2301
+msgid "Time between WAL flushes performed in the WAL writer."
 msgstr ""
-"Temps d'endormissement du processus d'écriture pendant le vidage des\n"
-"journaux de transactions en millisecondes."
 
-#: utils/misc/guc.c:2237
+#: utils/misc/guc.c:2312
+msgid "Amount of WAL written out by WAL writer triggering a flush."
+msgstr ""
+
+#: utils/misc/guc.c:2324
 msgid "Sets the maximum number of simultaneously running WAL sender processes."
 msgstr ""
 "Initialise le nombre maximum de processus d'envoi des journaux de transactions\n"
 "exécutés simultanément."
 
-#: utils/misc/guc.c:2248
+#: utils/misc/guc.c:2335
 msgid "Sets the maximum number of simultaneously defined replication slots."
 msgstr "Initialise le nombre maximum de slots de réplication définis simultanément."
 
-#: utils/misc/guc.c:2258
+#: utils/misc/guc.c:2345
 msgid "Sets the maximum time to wait for WAL replication."
 msgstr "Initialise le temps maximum à attendre pour la réplication des WAL."
 
-#: utils/misc/guc.c:2269
+#: utils/misc/guc.c:2356
 msgid "Sets the delay in microseconds between transaction commit and flushing WAL to disk."
 msgstr ""
 "Initialise le délai en microsecondes entre l'acceptation de la transaction\n"
 "et le vidage du journal de transaction sur disque."
 
-#: utils/misc/guc.c:2281
+#: utils/misc/guc.c:2368
 msgid "Sets the minimum concurrent open transactions before performing commit_delay."
 msgstr ""
 "Initialise le nombre minimum de transactions ouvertes simultanément avant le\n"
 "commit_delay."
 
-#: utils/misc/guc.c:2292
+#: utils/misc/guc.c:2379
 msgid "Sets the number of digits displayed for floating-point values."
 msgstr "Initialise le nombre de chiffres affichés pour les valeurs à virgule flottante."
 
-#: utils/misc/guc.c:2293
+#: utils/misc/guc.c:2380
 msgid "This affects real, double precision, and geometric data types. The parameter value is added to the standard number of digits (FLT_DIG or DBL_DIG as appropriate)."
 msgstr ""
 "Ceci affecte les types de données real, double precision et géométriques.\n"
 "La valeur du paramètre est ajoutée au nombre standard de chiffres (FLT_DIG\n"
 "ou DBL_DIG comme approprié)."
 
-#: utils/misc/guc.c:2304
+#: utils/misc/guc.c:2391
 msgid "Sets the minimum execution time above which statements will be logged."
 msgstr ""
 "Initialise le temps d'exécution minimum au-dessus de lequel les instructions\n"
 "seront tracées."
 
-#: utils/misc/guc.c:2306
+#: utils/misc/guc.c:2393
 msgid "Zero prints all queries. -1 turns this feature off."
 msgstr "Zéro affiche toutes les requêtes. -1 désactive cette fonctionnalité."
 
-#: utils/misc/guc.c:2316
+#: utils/misc/guc.c:2403
 msgid "Sets the minimum execution time above which autovacuum actions will be logged."
 msgstr ""
 "Initialise le temps d'exécution minimum au-dessus duquel les actions\n"
 "autovacuum seront tracées."
 
-#: utils/misc/guc.c:2318
+#: utils/misc/guc.c:2405
 msgid "Zero prints all actions. -1 turns autovacuum logging off."
 msgstr "Zéro affiche toutes les requêtes. -1 désactive cette fonctionnalité."
 
-#: utils/misc/guc.c:2328
+#: utils/misc/guc.c:2415
 msgid "Background writer sleep time between rounds."
 msgstr ""
 "Temps d'endormissement du processus d'écriture en tâche de fond en\n"
 "millisecondes."
 
-#: utils/misc/guc.c:2339
+#: utils/misc/guc.c:2426
 msgid "Background writer maximum number of LRU pages to flush per round."
 msgstr ""
 "Nombre de pages LRU maximum à nettoyer par le processus d'écriture en\n"
 "tâche de fond."
 
-#: utils/misc/guc.c:2351
+#: utils/misc/guc.c:2450
 msgid "Number of simultaneous requests that can be handled efficiently by the disk subsystem."
 msgstr "Nombre de requêtes simultanées pouvant être gérées efficacement par le sous-système disque."
 
-#: utils/misc/guc.c:2352
+#: utils/misc/guc.c:2451
 msgid "For RAID arrays, this should be approximately the number of drive spindles in the array."
 msgstr ""
 "Pour les systèmes RAID, cela devrait être approximativement le nombre de\n"
 "têtes de lecture du système."
 
-#: utils/misc/guc.c:2367
+#: utils/misc/guc.c:2478
 msgid "Maximum number of concurrent worker processes."
 msgstr "Nombre maximum de background workers simultanés."
 
-#: utils/misc/guc.c:2377
+#: utils/misc/guc.c:2488
 msgid "Automatic log file rotation will occur after N minutes."
 msgstr ""
 "La rotation automatique des journaux applicatifs s'effectue toutes les N\n"
 "minutes."
 
-#: utils/misc/guc.c:2388
+#: utils/misc/guc.c:2499
 msgid "Automatic log file rotation will occur after N kilobytes."
 msgstr "La rotation automatique des journaux applicatifs s'effectue après N Ko."
 
-#: utils/misc/guc.c:2399
+#: utils/misc/guc.c:2510
 msgid "Shows the maximum number of function arguments."
 msgstr "Affiche le nombre maximum d'arguments de fonction."
 
-#: utils/misc/guc.c:2410
+#: utils/misc/guc.c:2521
 msgid "Shows the maximum number of index keys."
 msgstr "Affiche le nombre maximum de clés d'index."
 
-#: utils/misc/guc.c:2421
+#: utils/misc/guc.c:2532
 msgid "Shows the maximum identifier length."
 msgstr "Affiche la longueur maximum d'un identifiant"
 
-#: utils/misc/guc.c:2432
+#: utils/misc/guc.c:2543
 msgid "Shows the size of a disk block."
 msgstr "Affiche la taille d'un bloc de disque."
 
-#: utils/misc/guc.c:2443
+#: utils/misc/guc.c:2554
 msgid "Shows the number of pages per disk file."
 msgstr "Affiche le nombre de pages par fichier."
 
-#: utils/misc/guc.c:2454
+#: utils/misc/guc.c:2565
 msgid "Shows the block size in the write ahead log."
 msgstr "Affiche la taille du bloc dans les journaux de transactions."
 
-#: utils/misc/guc.c:2465
+#: utils/misc/guc.c:2576
 msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt."
 msgstr ""
 
-#: utils/misc/guc.c:2477
+#: utils/misc/guc.c:2588
 msgid "Shows the number of pages per write ahead log segment."
 msgstr "Affiche le nombre de pages par journal de transactions."
 
-#: utils/misc/guc.c:2490
+#: utils/misc/guc.c:2601
 msgid "Time to sleep between autovacuum runs."
 msgstr "Durée d'endormissement entre deux exécutions d'autovacuum."
 
-#: utils/misc/guc.c:2500
+#: utils/misc/guc.c:2611
 msgid "Minimum number of tuple updates or deletes prior to vacuum."
 msgstr "Nombre minimum de lignes mises à jour ou supprimées avant le VACUUM."
 
-#: utils/misc/guc.c:2509
+#: utils/misc/guc.c:2620
 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze."
 msgstr "Nombre minimum de lignes insérées, mises à jour ou supprimées avant un ANALYZE."
 
-#: utils/misc/guc.c:2519
+#: utils/misc/guc.c:2630
 msgid "Age at which to autovacuum a table to prevent transaction ID wraparound."
 msgstr ""
 "Âge à partir duquel l'autovacuum se déclenche sur une table pour empêcher la\n"
 "réinitialisation de l'identifiant de transaction"
 
-#: utils/misc/guc.c:2530
+#: utils/misc/guc.c:2641
 msgid "Multixact age at which to autovacuum a table to prevent multixact wraparound."
 msgstr ""
 "Âge multixact à partir duquel l'autovacuum se déclenche sur une table pour empêcher la\n"
 "réinitialisation du multixact"
 
-#: utils/misc/guc.c:2540
+#: utils/misc/guc.c:2651
 msgid "Sets the maximum number of simultaneously running autovacuum worker processes."
 msgstr "Initialise le nombre maximum de processus autovacuum exécutés simultanément."
 
-#: utils/misc/guc.c:2550
+#: utils/misc/guc.c:2661
+#, fuzzy
+#| msgid "Sets the maximum number of predicate locks per transaction."
+msgid "Sets the maximum number of parallel processes per executor node."
+msgstr "Initialise le nombre maximum de verrous prédicats par transaction."
+
+#: utils/misc/guc.c:2671
 msgid "Sets the maximum memory to be used by each autovacuum worker process."
 msgstr "Initialise la mémoire maximum utilisée par chaque processus autovacuum worker."
 
-#: utils/misc/guc.c:2561
+#: utils/misc/guc.c:2682
+msgid "Time before a snapshot is too old to read pages changed after the snapshot was taken."
+msgstr ""
+
+#: utils/misc/guc.c:2683
+#, fuzzy
+#| msgid "A value of 0 uses the system default."
+msgid "A value of -1 disables this feature."
+msgstr "Une valeur de 0 désactive la valeur système par défaut."
+
+#: utils/misc/guc.c:2693
 msgid "Time between issuing TCP keepalives."
 msgstr "Secondes entre l'exécution de « TCP keepalives »."
 
-#: utils/misc/guc.c:2562 utils/misc/guc.c:2573
+#: utils/misc/guc.c:2694 utils/misc/guc.c:2705
 msgid "A value of 0 uses the system default."
 msgstr "Une valeur de 0 désactive la valeur système par défaut."
 
-#: utils/misc/guc.c:2572
+#: utils/misc/guc.c:2704
 msgid "Time between TCP keepalive retransmits."
 msgstr "Secondes entre les retransmissions de « TCP keepalive »."
 
-#: utils/misc/guc.c:2583
-msgid "SSL regenotiation is no longer supported; this can only be 0."
+#: utils/misc/guc.c:2715
+msgid "SSL renegotiation is no longer supported; this can only be 0."
 msgstr ""
 
-#: utils/misc/guc.c:2594
+#: utils/misc/guc.c:2726
 msgid "Maximum number of TCP keepalive retransmits."
 msgstr "Nombre maximum de retransmissions de « TCP keepalive »."
 
-#: utils/misc/guc.c:2595
+#: utils/misc/guc.c:2727
 msgid "This controls the number of consecutive keepalive retransmits that can be lost before a connection is considered dead. A value of 0 uses the system default."
 msgstr ""
 "Ceci contrôle le nombre de retransmissions keepalive consécutives qui\n"
 "peuvent être perdues avant qu'une connexion ne soit considérée morte. Une\n"
 "valeur de 0 utilise la valeur par défaut du système."
 
-#: utils/misc/guc.c:2606
+#: utils/misc/guc.c:2738
 msgid "Sets the maximum allowed result for exact search by GIN."
 msgstr "Configure le nombre maximum de résultats lors d'une recherche par GIN."
 
-#: utils/misc/guc.c:2617
+#: utils/misc/guc.c:2749
 msgid "Sets the planner's assumption about the size of the disk cache."
 msgstr "Initialise le sentiment du planificateur sur la taille du cache disque."
 
-#: utils/misc/guc.c:2618
+#: utils/misc/guc.c:2750
 msgid "That is, the portion of the kernel's disk cache that will be used for PostgreSQL data files. This is measured in disk pages, which are normally 8 kB each."
 msgstr ""
 "C'est-à-dire, la portion du cache disque du noyau qui sera utilisé pour les\n"
 "fichiers de données de PostgreSQL. C'est mesuré en pages disque, qui font\n"
 "normalement 8 Ko chaque."
 
-#: utils/misc/guc.c:2631
+#: utils/misc/guc.c:2763
 msgid "Shows the server version as an integer."
 msgstr "Affiche la version du serveur sous la forme d'un entier."
 
-#: utils/misc/guc.c:2642
+#: utils/misc/guc.c:2774
 msgid "Log the use of temporary files larger than this number of kilobytes."
 msgstr ""
 "Trace l'utilisation de fichiers temporaires plus gros que ce nombre de\n"
 "kilooctets."
 
-#: utils/misc/guc.c:2643
+#: utils/misc/guc.c:2775
 msgid "Zero logs all files. The default is -1 (turning this feature off)."
 msgstr ""
 "Zéro trace toutes les requêtes. La valeur par défaut est -1 (désactivant\n"
 "cette fonctionnalité)."
 
-#: utils/misc/guc.c:2653
+#: utils/misc/guc.c:2785
 msgid "Sets the size reserved for pg_stat_activity.query, in bytes."
 msgstr "Configure la taille réservée pour pg_stat_activity.query, en octets."
 
-#: utils/misc/guc.c:2668
+#: utils/misc/guc.c:2800
 #, fuzzy
 #| msgid "Sets the maximum time to wait for WAL replication."
 msgid "Sets the maximum size of the pending list for GIN index."
 msgstr "Initialise le temps maximum à attendre pour la réplication des WAL."
 
-#: utils/misc/guc.c:2688
+#: utils/misc/guc.c:2820
 msgid "Sets the planner's estimate of the cost of a sequentially fetched disk page."
 msgstr ""
 "Initialise l'estimation du planificateur pour le coût d'une page disque\n"
 "récupérée séquentiellement."
 
-#: utils/misc/guc.c:2698
+#: utils/misc/guc.c:2830
 msgid "Sets the planner's estimate of the cost of a nonsequentially fetched disk page."
 msgstr ""
 "Initialise l'estimation du plnnificateur pour le coût d'une page disque\n"
 "récupérée non séquentiellement."
 
-#: utils/misc/guc.c:2708
+#: utils/misc/guc.c:2840
 msgid "Sets the planner's estimate of the cost of processing each tuple (row)."
 msgstr ""
 "Initialise l'estimation du planificateur pour le coût d'exécution sur chaque\n"
 "ligne."
 
-#: utils/misc/guc.c:2718
+#: utils/misc/guc.c:2850
 msgid "Sets the planner's estimate of the cost of processing each index entry during an index scan."
 msgstr ""
 "Initialise l'estimation du planificateur pour le coût de traitement de\n"
 "chaque ligne indexée lors d'un parcours d'index."
 
-#: utils/misc/guc.c:2728
+#: utils/misc/guc.c:2860
 msgid "Sets the planner's estimate of the cost of processing each operator or function call."
 msgstr ""
 "Initialise l'estimation du planificateur pour le coût de traitement de\n"
 "chaque opérateur ou appel de fonction."
 
-#: utils/misc/guc.c:2739
+#: utils/misc/guc.c:2870
+#, fuzzy
+#| msgid "Sets the planner's estimate of the cost of processing each tuple (row)."
+msgid "Sets the planner's estimate of the cost of passing each tuple (row) from worker to master backend."
+msgstr ""
+"Initialise l'estimation du planificateur pour le coût d'exécution sur chaque\n"
+"ligne."
+
+#: utils/misc/guc.c:2880
+#, fuzzy
+#| msgid "Sets the planner's estimate of the cost of processing each tuple (row)."
+msgid "Sets the planner's estimate of the cost of starting up worker processes for parallel query."
+msgstr ""
+"Initialise l'estimation du planificateur pour le coût d'exécution sur chaque\n"
+"ligne."
+
+#: utils/misc/guc.c:2891
 msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved."
 msgstr "Initialise l'estimation du planificateur de la fraction des lignes d'un curseur à récupérer."
 
-#: utils/misc/guc.c:2750
+#: utils/misc/guc.c:2902
 msgid "GEQO: selective pressure within the population."
 msgstr "GEQO : pression sélective dans la population."
 
-#: utils/misc/guc.c:2760
+#: utils/misc/guc.c:2912
 msgid "GEQO: seed for random path selection."
 msgstr "GEQO : graine pour la sélection du chemin aléatoire."
 
-#: utils/misc/guc.c:2770
+#: utils/misc/guc.c:2922
 msgid "Multiple of the average buffer usage to free per round."
 msgstr "Multiplede l'utilisation moyenne des tampons à libérer à chaque tour."
 
-#: utils/misc/guc.c:2780
+#: utils/misc/guc.c:2932
 msgid "Sets the seed for random-number generation."
 msgstr "Initialise la clé pour la génération de nombres aléatoires."
 
-#: utils/misc/guc.c:2791
+#: utils/misc/guc.c:2943
 msgid "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples."
 msgstr ""
 "Nombre de lignes modifiées ou supprimées avant d'exécuter un VACUUM\n"
 "(fraction de reltuples)."
 
-#: utils/misc/guc.c:2800
+#: utils/misc/guc.c:2952
 msgid "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples."
 msgstr ""
 "Nombre de lignes insérées, mises à jour ou supprimées avant d'analyser\n"
 "une fraction de reltuples."
 
-#: utils/misc/guc.c:2810
+#: utils/misc/guc.c:2962
 msgid "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval."
 msgstr ""
 "Temps passé à vider les tampons lors du point de vérification, en tant que\n"
 "fraction de l'intervalle du point de vérification."
 
-#: utils/misc/guc.c:2829
+#: utils/misc/guc.c:2981
 msgid "Sets the shell command that will be called to archive a WAL file."
 msgstr "La commande shell qui sera appelée pour archiver un journal de transaction."
 
-#: utils/misc/guc.c:2839
+#: utils/misc/guc.c:2991
 msgid "Sets the client's character set encoding."
 msgstr "Initialise l'encodage du client."
 
-#: utils/misc/guc.c:2850
+#: utils/misc/guc.c:3002
 msgid "Controls information prefixed to each log line."
 msgstr "Contrôle l'information préfixée sur chaque ligne de trace."
 
-#: utils/misc/guc.c:2851
+#: utils/misc/guc.c:3003
 msgid "If blank, no prefix is used."
 msgstr "Si vide, aucun préfixe n'est utilisé."
 
-#: utils/misc/guc.c:2860
+#: utils/misc/guc.c:3012
 msgid "Sets the time zone to use in log messages."
 msgstr "Initialise le fuseau horaire à utiliser pour les journaux applicatifs."
 
-#: utils/misc/guc.c:2870
+#: utils/misc/guc.c:3022
 msgid "Sets the display format for date and time values."
 msgstr "Initialise le format d'affichage des valeurs date et time."
 
-#: utils/misc/guc.c:2871
+#: utils/misc/guc.c:3023
 msgid "Also controls interpretation of ambiguous date inputs."
 msgstr "Contrôle aussi l'interprétation des dates ambigues en entrée."
 
-#: utils/misc/guc.c:2882
+#: utils/misc/guc.c:3034
 msgid "Sets the default tablespace to create tables and indexes in."
 msgstr "Initialise le tablespace par défaut pour créer les tables et index."
 
-#: utils/misc/guc.c:2883
+#: utils/misc/guc.c:3035
 msgid "An empty string selects the database's default tablespace."
 msgstr "Une chaîne vide sélectionne le tablespace par défaut de la base de données."
 
-#: utils/misc/guc.c:2893
+#: utils/misc/guc.c:3045
 msgid "Sets the tablespace(s) to use for temporary tables and sort files."
 msgstr ""
 "Initialise le(s) tablespace(s) à utiliser pour les tables temporaires et les\n"
 "fichiers de tri."
 
-#: utils/misc/guc.c:2904
+#: utils/misc/guc.c:3056
 msgid "Sets the path for dynamically loadable modules."
 msgstr "Initialise le chemin des modules chargeables dynamiquement."
 
-#: utils/misc/guc.c:2905
+#: utils/misc/guc.c:3057
 msgid "If a dynamically loadable module needs to be opened and the specified name does not have a directory component (i.e., the name does not contain a slash), the system will search this path for the specified file."
 msgstr ""
 "Si un module chargeable dynamiquement a besoin d'être ouvert et que le nom\n"
 "spécifié n'a pas une composante répertoire (c'est-à-dire que le nom ne\n"
 "contient pas un '/'), le système cherche le fichier spécifié sur ce chemin."
 
-#: utils/misc/guc.c:2918
+#: utils/misc/guc.c:3070
 msgid "Sets the location of the Kerberos server key file."
 msgstr "Initalise l'emplacement du fichier de la clé serveur pour Kerberos."
 
-#: utils/misc/guc.c:2929
+#: utils/misc/guc.c:3081
 msgid "Sets the Bonjour service name."
 msgstr "Initialise le nom du service Bonjour."
 
-#: utils/misc/guc.c:2941
+#: utils/misc/guc.c:3093
 msgid "Shows the collation order locale."
 msgstr "Affiche la locale de tri et de groupement."
 
-#: utils/misc/guc.c:2952
+#: utils/misc/guc.c:3104
 msgid "Shows the character classification and case conversion locale."
 msgstr "Affiche la classification des caractères et la locale de conversions."
 
-#: utils/misc/guc.c:2963
+#: utils/misc/guc.c:3115
 msgid "Sets the language in which messages are displayed."
 msgstr "Initialise le langage dans lequel les messages sont affichés."
 
-#: utils/misc/guc.c:2973
+#: utils/misc/guc.c:3125
 msgid "Sets the locale for formatting monetary amounts."
 msgstr "Initialise la locale pour le formattage des montants monétaires."
 
-#: utils/misc/guc.c:2983
+#: utils/misc/guc.c:3135
 msgid "Sets the locale for formatting numbers."
 msgstr "Initialise la locale pour formater les nombres."
 
-#: utils/misc/guc.c:2993
+#: utils/misc/guc.c:3145
 msgid "Sets the locale for formatting date and time values."
 msgstr "Initialise la locale pour formater les valeurs date et time."
 
-#: utils/misc/guc.c:3003
+#: utils/misc/guc.c:3155
 msgid "Lists shared libraries to preload into each backend."
 msgstr "Liste les bibliothèques partagées à précharger dans chaque processus serveur."
 
-#: utils/misc/guc.c:3014
+#: utils/misc/guc.c:3166
 msgid "Lists shared libraries to preload into server."
 msgstr "Liste les bibliothèques partagées à précharger dans le serveur."
 
-#: utils/misc/guc.c:3025
+#: utils/misc/guc.c:3177
 msgid "Lists unprivileged shared libraries to preload into each backend."
 msgstr "Liste les bibliothèques partagées non privilégiées à précharger dans chaque processus serveur."
 
-#: utils/misc/guc.c:3036
+#: utils/misc/guc.c:3188
 msgid "Sets the schema search order for names that are not schema-qualified."
 msgstr ""
 "Initialise l'ordre de recherche des schémas pour les noms qui ne précisent\n"
 "pas le schéma."
 
-#: utils/misc/guc.c:3048
+#: utils/misc/guc.c:3200
 msgid "Sets the server (database) character set encoding."
 msgstr "Initialise le codage des caractères pour le serveur (base de données)."
 
-#: utils/misc/guc.c:3060
+#: utils/misc/guc.c:3212
 msgid "Shows the server version."
 msgstr "Affiche la version du serveur."
 
-#: utils/misc/guc.c:3072
+#: utils/misc/guc.c:3224
 msgid "Sets the current role."
 msgstr "Initialise le rôle courant."
 
-#: utils/misc/guc.c:3084
+#: utils/misc/guc.c:3236
 msgid "Sets the session user name."
 msgstr "Initialise le nom de l'utilisateur de la session."
 
-#: utils/misc/guc.c:3095
+#: utils/misc/guc.c:3247
 msgid "Sets the destination for server log output."
 msgstr "Initialise la destination des journaux applicatifs du serveur."
 
-#: utils/misc/guc.c:3096
+#: utils/misc/guc.c:3248
 msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", and \"eventlog\", depending on the platform."
 msgstr ""
 "Les valeurs valides sont une combinaison de « stderr », « syslog »,\n"
 "« csvlog » et « eventlog », suivant la plateforme."
 
-#: utils/misc/guc.c:3107
+#: utils/misc/guc.c:3259
 msgid "Sets the destination directory for log files."
 msgstr "Initialise le répertoire de destination pour les journaux applicatifs."
 
-#: utils/misc/guc.c:3108
+#: utils/misc/guc.c:3260
 msgid "Can be specified as relative to the data directory or as absolute path."
 msgstr "Accepte un chemin relatif ou absolu pour le répertoire des données."
 
-#: utils/misc/guc.c:3118
+#: utils/misc/guc.c:3270
 msgid "Sets the file name pattern for log files."
 msgstr "Initialise le modèle de nom de fichiers pour les journaux applicatifs."
 
-#: utils/misc/guc.c:3129
+#: utils/misc/guc.c:3281
 msgid "Sets the program name used to identify PostgreSQL messages in syslog."
 msgstr ""
 "Initialise le nom du programme utilisé pour identifier les messages de\n"
 "PostgreSQL dans syslog."
 
-#: utils/misc/guc.c:3140
+#: utils/misc/guc.c:3292
 msgid "Sets the application name used to identify PostgreSQL messages in the event log."
 msgstr ""
 "Initialise le nom de l'application, utilisé pour identifier les messages de\n"
 "PostgreSQL dans eventlog."
 
-#: utils/misc/guc.c:3151
+#: utils/misc/guc.c:3303
 msgid "Sets the time zone for displaying and interpreting time stamps."
 msgstr "Initialise la zone horaire pour afficher et interpréter les dates/heures."
 
-#: utils/misc/guc.c:3161
+#: utils/misc/guc.c:3313
 msgid "Selects a file of time zone abbreviations."
 msgstr "Sélectionne un fichier contenant les abréviations des fuseaux horaires."
 
-#: utils/misc/guc.c:3171
+#: utils/misc/guc.c:3323
 msgid "Sets the current transaction's isolation level."
 msgstr "Initialise le niveau d'isolation de la transaction courante."
 
-#: utils/misc/guc.c:3182
+#: utils/misc/guc.c:3334
 msgid "Sets the owning group of the Unix-domain socket."
 msgstr "Initialise le groupe d'appartenance du socket domaine Unix."
 
-#: utils/misc/guc.c:3183
+#: utils/misc/guc.c:3335
 msgid "The owning user of the socket is always the user that starts the server."
 msgstr "Le propriétaire du socket est toujours l'utilisateur qui a lancé le serveur."
 
-#: utils/misc/guc.c:3193
+#: utils/misc/guc.c:3345
 msgid "Sets the directories where Unix-domain sockets will be created."
 msgstr "Initialise les répertoires où les sockets de domaine Unix seront créés."
 
-#: utils/misc/guc.c:3208
+#: utils/misc/guc.c:3360
 msgid "Sets the host name or IP address(es) to listen to."
 msgstr "Initialise le nom de l'hôte ou l'adresse IP à écouter."
 
-#: utils/misc/guc.c:3223
+#: utils/misc/guc.c:3375
 msgid "Sets the server's data directory."
 msgstr "Initialise le répertoire des données du serveur."
 
-#: utils/misc/guc.c:3234
+#: utils/misc/guc.c:3386
 msgid "Sets the server's main configuration file."
 msgstr "Voir le fichier de configuration principal du serveur."
 
-#: utils/misc/guc.c:3245
+#: utils/misc/guc.c:3397
 msgid "Sets the server's \"hba\" configuration file."
 msgstr "Initialise le fichier de configuration « hba » du serveur."
 
-#: utils/misc/guc.c:3256
+#: utils/misc/guc.c:3408
 msgid "Sets the server's \"ident\" configuration file."
 msgstr "Initialise le fichier de configuration « ident » du serveur."
 
-#: utils/misc/guc.c:3267
+#: utils/misc/guc.c:3419
 msgid "Writes the postmaster PID to the specified file."
 msgstr "Écrit le PID du postmaster PID dans le fichier spécifié."
 
-#: utils/misc/guc.c:3278
+#: utils/misc/guc.c:3430
 msgid "Location of the SSL server certificate file."
 msgstr "Emplacement du fichier du certificat serveur SSL."
 
-#: utils/misc/guc.c:3288
+#: utils/misc/guc.c:3440
 msgid "Location of the SSL server private key file."
 msgstr "Emplacement du fichier de la clé privée SSL du serveur."
 
-#: utils/misc/guc.c:3298
+#: utils/misc/guc.c:3450
 msgid "Location of the SSL certificate authority file."
 msgstr "Emplacement du fichier du certificat autorité SSL."
 
-#: utils/misc/guc.c:3308
+#: utils/misc/guc.c:3460
 msgid "Location of the SSL certificate revocation list file."
 msgstr "Emplacement du fichier de liste de révocation des certificats SSL."
 
-#: utils/misc/guc.c:3318
+#: utils/misc/guc.c:3470
 msgid "Writes temporary statistics files to the specified directory."
 msgstr "Écrit les fichiers statistiques temporaires dans le répertoire indiqué."
 
-#: utils/misc/guc.c:3329
-msgid "List of names of potential synchronous standbys."
+#: utils/misc/guc.c:3481
+#, fuzzy
+#| msgid "List of names of potential synchronous standbys."
+msgid "Number of synchronous standbys and list of names of potential synchronous ones."
 msgstr "Liste de noms de serveurs standbys synchrones potentiels."
 
-#: utils/misc/guc.c:3340
+#: utils/misc/guc.c:3492
 msgid "Sets default text search configuration."
 msgstr "Initialise le configuration par défaut de la recherche plein texte"
 
-#: utils/misc/guc.c:3350
+#: utils/misc/guc.c:3502
 msgid "Sets the list of allowed SSL ciphers."
 msgstr "Initialise la liste des chiffrements SSL autorisés."
 
-#: utils/misc/guc.c:3365
+#: utils/misc/guc.c:3517
 msgid "Sets the curve to use for ECDH."
 msgstr "Initialise la courbe à utiliser pour ECDH."
 
-#: utils/misc/guc.c:3380
+#: utils/misc/guc.c:3532
 msgid "Sets the application name to be reported in statistics and logs."
 msgstr "Configure le nom de l'application à indiquer dans les statistiques et les journaux."
 
-#: utils/misc/guc.c:3391
+#: utils/misc/guc.c:3543
 msgid "Sets the name of the cluster, which is included in the process title."
 msgstr ""
 
-#: utils/misc/guc.c:3411
+#: utils/misc/guc.c:3563
 msgid "Sets whether \"\\'\" is allowed in string literals."
 msgstr "Indique si « \\' » est autorisé dans une constante de chaîne."
 
-#: utils/misc/guc.c:3421
+#: utils/misc/guc.c:3573
 msgid "Sets the output format for bytea."
 msgstr "Initialise le format de sortie pour bytea."
 
-#: utils/misc/guc.c:3431
+#: utils/misc/guc.c:3583
 msgid "Sets the message levels that are sent to the client."
 msgstr "Initialise les niveaux de message envoyés au client."
 
-#: utils/misc/guc.c:3432 utils/misc/guc.c:3485 utils/misc/guc.c:3496 utils/misc/guc.c:3562
+#: utils/misc/guc.c:3584 utils/misc/guc.c:3637 utils/misc/guc.c:3648
+#: utils/misc/guc.c:3714
 msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent."
 msgstr ""
 "Chaque niveau inclut les niveaux qui suivent. Plus loin sera le niveau,\n"
 "moindre sera le nombre de messages envoyés."
 
-#: utils/misc/guc.c:3442
+#: utils/misc/guc.c:3594
 msgid "Enables the planner to use constraints to optimize queries."
 msgstr "Active l'utilisation des contraintes par le planificateur pour optimiser les requêtes."
 
-#: utils/misc/guc.c:3443
+#: utils/misc/guc.c:3595
 msgid "Table scans will be skipped if their constraints guarantee that no rows match the query."
 msgstr ""
 "Les parcours de tables seront ignorés si leur contraintes garantissent\n"
 "qu'aucune ligne ne correspond à la requête."
 
-#: utils/misc/guc.c:3453
+#: utils/misc/guc.c:3605
 msgid "Sets the transaction isolation level of each new transaction."
 msgstr "Initialise le niveau d'isolation des transactions pour chaque nouvelle transaction."
 
-#: utils/misc/guc.c:3463
+#: utils/misc/guc.c:3615
 msgid "Sets the display format for interval values."
 msgstr "Initialise le format d'affichage des valeurs interval."
 
-#: utils/misc/guc.c:3474
+#: utils/misc/guc.c:3626
 msgid "Sets the verbosity of logged messages."
 msgstr "Initialise la verbosité des messages tracés."
 
-#: utils/misc/guc.c:3484
+#: utils/misc/guc.c:3636
 msgid "Sets the message levels that are logged."
 msgstr "Initialise les niveaux de messages tracés."
 
-#: utils/misc/guc.c:3495
+#: utils/misc/guc.c:3647
 msgid "Causes all statements generating error at or above this level to be logged."
 msgstr ""
 "Génère une trace pour toutes les instructions qui produisent une erreur de\n"
 "ce niveau ou de niveaux plus importants."
 
-#: utils/misc/guc.c:3506
+#: utils/misc/guc.c:3658
 msgid "Sets the type of statements logged."
 msgstr "Initialise le type d'instructions tracées."
 
-#: utils/misc/guc.c:3516
+#: utils/misc/guc.c:3668
 msgid "Sets the syslog \"facility\" to be used when syslog enabled."
 msgstr ""
 "Initialise le niveau (« facility ») de syslog à utilisé lors de l'activation\n"
 "de syslog."
 
-#: utils/misc/guc.c:3531
+#: utils/misc/guc.c:3683
 msgid "Sets the session's behavior for triggers and rewrite rules."
 msgstr ""
 "Configure le comportement des sessions pour les triggers et les règles de\n"
 "ré-écriture."
 
-#: utils/misc/guc.c:3541
+#: utils/misc/guc.c:3693
 msgid "Sets the current transaction's synchronization level."
 msgstr "Initialise le niveau d'isolation de la transaction courante."
 
-#: utils/misc/guc.c:3551
+#: utils/misc/guc.c:3703
 msgid "Allows archiving of WAL files using archive_command."
 msgstr "Autorise l'archivage des journaux de transactions en utilisant archive_command."
 
-#: utils/misc/guc.c:3561
+#: utils/misc/guc.c:3713
 msgid "Enables logging of recovery-related debugging information."
 msgstr "Active les traces sur les informations de débogage relatives à la restauration."
 
-#: utils/misc/guc.c:3577
+#: utils/misc/guc.c:3729
 msgid "Collects function-level statistics on database activity."
 msgstr "Récupère les statistiques niveau fonction sur l'activité de la base de données."
 
-#: utils/misc/guc.c:3587
+#: utils/misc/guc.c:3739
 msgid "Set the level of information written to the WAL."
 msgstr "Configure le niveau des informations écrites dans les journaux de transactions."
 
-#: utils/misc/guc.c:3597
+#: utils/misc/guc.c:3749
 msgid "Selects the dynamic shared memory implementation used."
 msgstr "Sélectionne l'implémentation de la mémoire partagée dynamique."
 
-#: utils/misc/guc.c:3607
+#: utils/misc/guc.c:3759
 msgid "Selects the method used for forcing WAL updates to disk."
 msgstr ""
 "Sélectionne la méthode utilisée pour forcer la mise à jour des journaux de\n"
 "transactions sur le disque."
 
-#: utils/misc/guc.c:3617
+#: utils/misc/guc.c:3769
 msgid "Sets how binary values are to be encoded in XML."
 msgstr "Configure comment les valeurs binaires seront codées en XML."
 
-#: utils/misc/guc.c:3627
+#: utils/misc/guc.c:3779
 msgid "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments."
 msgstr ""
 "Configure si les données XML dans des opérations d'analyse et de\n"
 "sérialisation implicite doivent être considérées comme des documents\n"
 "ou des fragments de contenu."
 
-#: utils/misc/guc.c:3638
+#: utils/misc/guc.c:3790
 msgid "Use of huge pages on Linux."
 msgstr "Utilisation des HugePages sur Linux."
 
-#: utils/misc/guc.c:4453
+#: utils/misc/guc.c:3800
+msgid "Forces use of parallel query facilities."
+msgstr ""
+
+#: utils/misc/guc.c:3801
+msgid "If possible, run query using a parallel worker and with parallel restrictions."
+msgstr ""
+
+#: utils/misc/guc.c:4601
+#, c-format
+msgid "%s: could not access directory \"%s\": %s\n"
+msgstr "%s : n'a pas pu accéder au répertoire « %s » : %s\n"
+
+#: utils/misc/guc.c:4606
+#, fuzzy, c-format
+#| msgid ""
+#| "%s initializes a PostgreSQL database cluster.\n"
+#| "\n"
+msgid "Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n"
+msgstr ""
+"%s initialise un cluster PostgreSQL.\n"
+"\n"
+
+#: utils/misc/guc.c:4626
 #, c-format
 msgid ""
 "%s does not know where to find the server configuration file.\n"
@@ -22542,12 +24041,13 @@ msgstr ""
 "Vous devez soit spécifier l'option --config-file soit spécifier l'option -D\n"
 "soit initialiser la variable d'environnement.\n"
 
-#: utils/misc/guc.c:4472
-#, c-format
-msgid "%s cannot access the server configuration file \"%s\": %s\n"
+#: utils/misc/guc.c:4645
+#, fuzzy, c-format
+#| msgid "%s cannot access the server configuration file \"%s\": %s\n"
+msgid "%s: could not access the server configuration file \"%s\": %s\n"
 msgstr "%s ne peut pas accéder au fichier de configuration « %s » : %s\n"
 
-#: utils/misc/guc.c:4498
+#: utils/misc/guc.c:4671
 #, c-format
 msgid ""
 "%s does not know where to find the database system data.\n"
@@ -22557,7 +24057,7 @@ msgstr ""
 "Il est configurable avec « data_directory » dans « %s » ou avec l'option -D\n"
 "ou encore avec la variable d'environnement PGDATA.\n"
 
-#: utils/misc/guc.c:4546
+#: utils/misc/guc.c:4719
 #, c-format
 msgid ""
 "%s does not know where to find the \"hba\" configuration file.\n"
@@ -22567,7 +24067,7 @@ msgstr ""
 "Il est configurable avec « hba_file » dans « %s » ou avec l'option -D ou\n"
 "encore avec la variable d'environnement PGDATA.\n"
 
-#: utils/misc/guc.c:4569
+#: utils/misc/guc.c:4742
 #, c-format
 msgid ""
 "%s does not know where to find the \"ident\" configuration file.\n"
@@ -22577,133 +24077,140 @@ msgstr ""
 "Il est configurable avec « ident_file » dans « %s » ou avec l'option -D ou\n"
 "encore avec la variable d'environnement PGDATA.\n"
 
-#: utils/misc/guc.c:5243 utils/misc/guc.c:5290
+#: utils/misc/guc.c:5416 utils/misc/guc.c:5463
 msgid "Value exceeds integer range."
 msgstr "La valeur dépasse l'échelle des entiers."
 
-#: utils/misc/guc.c:5513
+#: utils/misc/guc.c:5686
 #, c-format
 msgid "parameter \"%s\" requires a numeric value"
 msgstr "le paramètre « %s » requiert une valeur numérique"
 
-#: utils/misc/guc.c:5522
+#: utils/misc/guc.c:5695
 #, c-format
 msgid "%g is outside the valid range for parameter \"%s\" (%g .. %g)"
 msgstr "%g est en dehors des limites valides pour le paramètre « %s » (%g .. %g)"
 
-#: utils/misc/guc.c:5675 utils/misc/guc.c:7004
+#: utils/misc/guc.c:5848 utils/misc/guc.c:7190
 #, c-format
 msgid "cannot set parameters during a parallel operation"
 msgstr "ne peut pas configurer les paramètres lors d'une opération parallèle"
 
-#: utils/misc/guc.c:5682 utils/misc/guc.c:6432 utils/misc/guc.c:6484 utils/misc/guc.c:6845 utils/misc/guc.c:7592 utils/misc/guc.c:7751 utils/misc/guc.c:9386
+#: utils/misc/guc.c:5855 utils/misc/guc.c:6605 utils/misc/guc.c:6657
+#: utils/misc/guc.c:7018 utils/misc/guc.c:7778 utils/misc/guc.c:7946
+#: utils/misc/guc.c:9603
 #, c-format
 msgid "unrecognized configuration parameter \"%s\""
 msgstr "paramètre de configuration « %s » non reconnu"
 
-#: utils/misc/guc.c:5697 utils/misc/guc.c:6857
+#: utils/misc/guc.c:5870 utils/misc/guc.c:7030
 #, c-format
 msgid "parameter \"%s\" cannot be changed"
 msgstr "le paramètre « %s » ne peut pas être changé"
 
-#: utils/misc/guc.c:5730
+#: utils/misc/guc.c:5903
 #, c-format
 msgid "parameter \"%s\" cannot be changed now"
 msgstr "le paramètre « %s » ne peut pas être modifié maintenant"
 
-#: utils/misc/guc.c:5748 utils/misc/guc.c:5793 utils/misc/guc.c:9402
+#: utils/misc/guc.c:5921 utils/misc/guc.c:5966 utils/misc/guc.c:9619
 #, c-format
 msgid "permission denied to set parameter \"%s\""
 msgstr "droit refusé pour initialiser le paramètre « %s »"
 
-#: utils/misc/guc.c:5783
+#: utils/misc/guc.c:5956
 #, c-format
 msgid "parameter \"%s\" cannot be set after connection start"
 msgstr "le paramètre « %s » ne peut pas être initialisé après le lancement du serveur"
 
-#: utils/misc/guc.c:5831
+#: utils/misc/guc.c:6004
 #, c-format
 msgid "cannot set parameter \"%s\" within security-definer function"
 msgstr ""
 "ne peut pas configurer le paramètre « %s » à l'intérieur d'une fonction\n"
 "SECURITY DEFINER"
 
-#: utils/misc/guc.c:6440 utils/misc/guc.c:6488 utils/misc/guc.c:7755
+#: utils/misc/guc.c:6613 utils/misc/guc.c:6661 utils/misc/guc.c:7952
 #, c-format
 msgid "must be superuser to examine \"%s\""
 msgstr "doit être super-utilisateur pour examiner « %s »"
 
-#: utils/misc/guc.c:6554
+#: utils/misc/guc.c:6727
 #, c-format
 msgid "SET %s takes only one argument"
 msgstr "SET %s prend un seul argument"
 
-#: utils/misc/guc.c:6805
+#: utils/misc/guc.c:6978
 #, c-format
 msgid "must be superuser to execute ALTER SYSTEM command"
 msgstr "doit être super-utilisateur pour exécuter la commande ALTER SYSTEM"
 
-#: utils/misc/guc.c:6918
+#: utils/misc/guc.c:7063
+#, c-format
+msgid "parameter value for ALTER SYSTEM must not contain a newline"
+msgstr ""
+
+#: utils/misc/guc.c:7108
 #, c-format
 msgid "could not parse contents of file \"%s\""
 msgstr "n'a pas pu analyser le contenu du fichier « %s »"
 
-#: utils/misc/guc.c:7080
+#: utils/misc/guc.c:7266
 #, c-format
 msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented"
 msgstr "SET LOCAL TRANSACTION SNAPSHOT n'est pas implémenté"
 
-#: utils/misc/guc.c:7165
+#: utils/misc/guc.c:7351
 #, c-format
 msgid "SET requires parameter name"
 msgstr "SET requiert le nom du paramètre"
 
-#: utils/misc/guc.c:7289
+#: utils/misc/guc.c:7475
 #, c-format
 msgid "attempt to redefine parameter \"%s\""
 msgstr "tentative de redéfinition du paramètre « %s »"
 
-#: utils/misc/guc.c:9019
+#: utils/misc/guc.c:9236
 #, c-format
 msgid "parameter \"%s\" could not be set"
 msgstr "le paramètre « %s » n'a pas pu être configuré"
 
-#: utils/misc/guc.c:9106
+#: utils/misc/guc.c:9323
 #, c-format
 msgid "could not parse setting for parameter \"%s\""
 msgstr "n'a pas pu analyser la configuration du paramètre « %s »"
 
-#: utils/misc/guc.c:9464 utils/misc/guc.c:9498
+#: utils/misc/guc.c:9681 utils/misc/guc.c:9715
 #, c-format
 msgid "invalid value for parameter \"%s\": %d"
 msgstr "valeur invalide pour le paramètre « %s » : %d"
 
-#: utils/misc/guc.c:9532
+#: utils/misc/guc.c:9749
 #, c-format
 msgid "invalid value for parameter \"%s\": %g"
 msgstr "valeur invalide pour le paramètre « %s » : %g"
 
-#: utils/misc/guc.c:9722
+#: utils/misc/guc.c:9939
 #, c-format
 msgid "\"temp_buffers\" cannot be changed after any temporary tables have been accessed in the session."
 msgstr "« temp_buffers » ne peut pas être modifié après que des tables temporaires aient été utilisées dans la session."
 
-#: utils/misc/guc.c:9734
+#: utils/misc/guc.c:9951
 #, c-format
 msgid "Bonjour is not supported by this build"
 msgstr "Bonjour n'est pas supporté dans cette installation"
 
-#: utils/misc/guc.c:9747
+#: utils/misc/guc.c:9964
 #, c-format
 msgid "SSL is not supported by this build"
 msgstr "SSL n'est pas supporté dans cette installation"
 
-#: utils/misc/guc.c:9759
+#: utils/misc/guc.c:9976
 #, c-format
 msgid "Cannot enable parameter when \"log_statement_stats\" is true."
 msgstr "Ne peut pas activer le paramètre avec « log_statement_stats » à true."
 
-#: utils/misc/guc.c:9771
+#: utils/misc/guc.c:9988
 #, c-format
 msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true."
 msgstr ""
@@ -22715,6 +24222,11 @@ msgstr ""
 msgid "internal error: unrecognized run-time parameter type\n"
 msgstr "erreur interne : type de paramètre d'exécution non reconnu\n"
 
+#: utils/misc/pg_config.c:61
+#, c-format
+msgid "query-specified return tuple and function return type are not compatible"
+msgstr ""
+
 #: utils/misc/rls.c:127
 #, fuzzy, c-format
 #| msgid "remove a row level security policy from a table"
@@ -22810,12 +24322,15 @@ msgstr ""
 "@INCLUDE sans nom de fichier dans le fichier des fuseaux horaires « %s »,\n"
 "ligne %d"
 
-#: utils/mmgr/aset.c:505
+#: utils/mmgr/aset.c:506
 #, c-format
 msgid "Failed while creating memory context \"%s\"."
 msgstr "Échec lors de la création du contexte mémoire « %s »."
 
-#: utils/mmgr/mcxt.c:689 utils/mmgr/mcxt.c:724 utils/mmgr/mcxt.c:761 utils/mmgr/mcxt.c:798 utils/mmgr/mcxt.c:832 utils/mmgr/mcxt.c:861 utils/mmgr/mcxt.c:895 utils/mmgr/mcxt.c:975 utils/mmgr/mcxt.c:1008 utils/mmgr/mcxt.c:1055
+#: utils/mmgr/mcxt.c:771 utils/mmgr/mcxt.c:806 utils/mmgr/mcxt.c:843
+#: utils/mmgr/mcxt.c:880 utils/mmgr/mcxt.c:914 utils/mmgr/mcxt.c:943
+#: utils/mmgr/mcxt.c:977 utils/mmgr/mcxt.c:1059 utils/mmgr/mcxt.c:1093
+#: utils/mmgr/mcxt.c:1142
 #, c-format
 msgid "Failed on request of size %zu."
 msgstr "Échec d'une requête de taille %zu."
@@ -22850,1645 +24365,1804 @@ msgstr "ne peut pas pr
 msgid "could not read block %ld of temporary file: %m"
 msgstr "n'a pas pu lire le bloc %ld du fichier temporaire : %m"
 
-#: utils/sort/tuplesort.c:3606
+#: utils/sort/tuplesort.c:3360
+#, fuzzy, c-format
+#| msgid "cannot use more than %d columns in an index"
+msgid "cannot have more than %d runs for an external sort"
+msgstr "ne peut pas utiliser plus de %d colonnes dans un index"
+
+#: utils/sort/tuplesort.c:4416
 #, c-format
 msgid "could not create unique index \"%s\""
 msgstr "n'a pas pu créer l'index unique « %s »"
 
-#: utils/sort/tuplesort.c:3608
+#: utils/sort/tuplesort.c:4418
 #, c-format
 msgid "Key %s is duplicated."
 msgstr "La clé %s est dupliquée."
 
-#: utils/sort/tuplesort.c:3609
+#: utils/sort/tuplesort.c:4419
 #, c-format
 msgid "Duplicate keys exist."
 msgstr "Des clés dupliquées existent."
 
-#: utils/sort/tuplestore.c:515 utils/sort/tuplestore.c:525 utils/sort/tuplestore.c:852 utils/sort/tuplestore.c:956 utils/sort/tuplestore.c:1020 utils/sort/tuplestore.c:1037 utils/sort/tuplestore.c:1239 utils/sort/tuplestore.c:1304 utils/sort/tuplestore.c:1313
+#: utils/sort/tuplestore.c:515 utils/sort/tuplestore.c:525
+#: utils/sort/tuplestore.c:852 utils/sort/tuplestore.c:956
+#: utils/sort/tuplestore.c:1020 utils/sort/tuplestore.c:1037
+#: utils/sort/tuplestore.c:1239 utils/sort/tuplestore.c:1304
+#: utils/sort/tuplestore.c:1313
 #, c-format
 msgid "could not seek in tuplestore temporary file: %m"
 msgstr "n'a pas pu se déplacer dans le fichier temporaire tuplestore : %m"
 
-#: utils/sort/tuplestore.c:1460 utils/sort/tuplestore.c:1533 utils/sort/tuplestore.c:1539
+#: utils/sort/tuplestore.c:1460 utils/sort/tuplestore.c:1533
+#: utils/sort/tuplestore.c:1539
 #, c-format
 msgid "could not read from tuplestore temporary file: %m"
 msgstr "n'a pas pu lire le fichier temporaire tuplestore : %m"
 
-#: utils/sort/tuplestore.c:1501 utils/sort/tuplestore.c:1506 utils/sort/tuplestore.c:1512
+#: utils/sort/tuplestore.c:1501 utils/sort/tuplestore.c:1506
+#: utils/sort/tuplestore.c:1512
 #, c-format
 msgid "could not write to tuplestore temporary file: %m"
 msgstr "n'a pas pu écrire le fichier temporaire tuplestore : %m"
 
-#: utils/time/snapmgr.c:432
+#: utils/time/snapmgr.c:543
 #, c-format
 msgid "The source transaction is not running anymore."
 msgstr "La transaction source n'est plus en cours d'exécution."
 
-#: utils/time/snapmgr.c:986
+#: utils/time/snapmgr.c:1097
 #, c-format
 msgid "cannot export a snapshot from a subtransaction"
 msgstr "ne peut pas exporter un snapshot dans un sous-transaction"
 
-#: utils/time/snapmgr.c:1135 utils/time/snapmgr.c:1140 utils/time/snapmgr.c:1145 utils/time/snapmgr.c:1160 utils/time/snapmgr.c:1165 utils/time/snapmgr.c:1170 utils/time/snapmgr.c:1269 utils/time/snapmgr.c:1285 utils/time/snapmgr.c:1310
+#: utils/time/snapmgr.c:1246 utils/time/snapmgr.c:1251
+#: utils/time/snapmgr.c:1256 utils/time/snapmgr.c:1271
+#: utils/time/snapmgr.c:1276 utils/time/snapmgr.c:1281
+#: utils/time/snapmgr.c:1380 utils/time/snapmgr.c:1396
+#: utils/time/snapmgr.c:1421
 #, c-format
 msgid "invalid snapshot data in file \"%s\""
 msgstr "données invalides du snapshot dans le fichier « %s »"
 
-#: utils/time/snapmgr.c:1207
+#: utils/time/snapmgr.c:1318
 #, c-format
 msgid "SET TRANSACTION SNAPSHOT must be called before any query"
 msgstr "SET TRANSACTION SNAPSHOT doit être appelé avant toute requête"
 
-#: utils/time/snapmgr.c:1216
+#: utils/time/snapmgr.c:1327
 #, c-format
 msgid "a snapshot-importing transaction must have isolation level SERIALIZABLE or REPEATABLE READ"
 msgstr "une transaction important un snapshot doit avoir le niveau d'isolation SERIALIZABLE ou REPEATABLE READ."
 
-#: utils/time/snapmgr.c:1225 utils/time/snapmgr.c:1234
+#: utils/time/snapmgr.c:1336 utils/time/snapmgr.c:1345
 #, c-format
 msgid "invalid snapshot identifier: \"%s\""
 msgstr "identifiant invalide du snapshot : « %s »"
 
-#: utils/time/snapmgr.c:1323
+#: utils/time/snapmgr.c:1434
 #, c-format
 msgid "a serializable transaction cannot import a snapshot from a non-serializable transaction"
 msgstr "une transaction sérialisable ne peut pas importer un snapshot provenant d'une transaction non sérialisable"
 
-#: utils/time/snapmgr.c:1327
+#: utils/time/snapmgr.c:1438
 #, c-format
 msgid "a non-read-only serializable transaction cannot import a snapshot from a read-only transaction"
 msgstr ""
 "une transaction sérialisable en écriture ne peut pas importer un snapshot\n"
 "provenant d'une transaction en lecture seule"
 
-#: utils/time/snapmgr.c:1342
+#: utils/time/snapmgr.c:1453
 #, c-format
 msgid "cannot import a snapshot from a different database"
 msgstr "ne peut pas importer un snapshot à partir d'une base de données différente"
 
-#~ msgid "JSON does not support infinite date values."
-#~ msgstr "JSON ne supporte pas les valeurs infinies de date."
-
-#~ msgid "JSON does not support infinite timestamp values."
-#~ msgstr "JSON ne supporte pas les valeurs infinies de timestamp."
+#~ msgid "mapped win32 error code %lu to %d"
+#~ msgstr "correspondance du code d'erreur win32 %lu en %d"
 
-#~ msgid "cannot override frame clause of window \"%s\""
-#~ msgstr "ne peut pas surcharger la frame clause du window « %s »"
+#~ msgid "unrecognized win32 error code: %lu"
+#~ msgstr "code d'erreur win32 non reconnu : %lu"
 
-#~ msgid "window functions cannot use named arguments"
-#~ msgstr "les fonctions window ne peuvent pas renvoyer des arguments nommés"
+#~ msgid "invalid value for recovery parameter \"recovery_target\""
+#~ msgstr "valeur invalide pour le paramètre de restauration « recovery_target »"
 
-#~ msgid "invalid list syntax for \"listen_addresses\""
-#~ msgstr "syntaxe de liste invalide pour le paramètre « listen_addresses »"
+#~ msgid "redo record is at %X/%X; shutdown %s"
+#~ msgstr "l'enregistrement à ré-exécuter se trouve à %X/%X ; arrêt %s"
 
-#~ msgid "invalid list syntax for \"unix_socket_directories\""
-#~ msgstr "syntaxe de liste invalide pour le paramètre « unix_socket_directories »"
+#~ msgid "next transaction ID: %u/%u; next OID: %u"
+#~ msgstr "prochain identifiant de transaction : %u/%u ; prochain OID : %u"
 
-#~ msgid "Valid values are '[]', '[)', '(]', and '()'."
-#~ msgstr "Les valeurs valides sont « [] », « [) », « (] » et « () »."
+#~ msgid "next MultiXactId: %u; next MultiXactOffset: %u"
+#~ msgstr "prochain MultiXactId : %u ; prochain MultiXactOffset : %u"
 
-#~ msgid "poll() failed in statistics collector: %m"
-#~ msgstr "échec du poll() dans le récupérateur de statistiques : %m"
+#~ msgid "oldest unfrozen transaction ID: %u, in database %u"
+#~ msgstr ""
+#~ "identifiant de transaction non gelé le plus ancien : %u, dans la base de\n"
+#~ "données %u"
 
-#~ msgid "select() failed in logger process: %m"
-#~ msgstr "échec de select() dans le processus des journaux applicatifs : %m"
+#~ msgid "invalid xlog switch record at %X/%X"
+#~ msgstr "enregistrement de basculement du journal de transaction invalide à %X/%X"
 
-#~ msgid "%s: could not open file \"%s\": %s\n"
-#~ msgstr "%s : n'a pas pu ouvrir le fichier « %s » : %s\n"
+#~ msgid "record with zero length at %X/%X"
+#~ msgstr "enregistrement de longueur nulle à %X/%X"
 
-#~ msgid "%s: could not open log file \"%s/%s\": %s\n"
-#~ msgstr "%s : n'a pas pu ouvrir le journal applicatif « %s/%s » : %s\n"
+#~ msgid "invalid backup block size in record at %X/%X"
+#~ msgstr "taille du bloc de sauvegarde invalide dans l'enregistrement à %X/%X"
 
-#~ msgid "%s: could not fork background process: %s\n"
-#~ msgstr "%s : n'a pas pu créer un processus fils : %s\n"
+#~ msgid "incorrect hole size in record at %X/%X"
+#~ msgstr "taille du trou incorrect à l'enregistrement %X/%X"
 
-#~ msgid "%s: could not dissociate from controlling TTY: %s\n"
-#~ msgstr "%s : n'a pas pu se dissocier du TTY contrôlant : %s\n"
+#~ msgid "incorrect total length in record at %X/%X"
+#~ msgstr "longueur totale incorrecte à l'enregistrement %X/%X"
 
-#~ msgid "Runs the server silently."
-#~ msgstr "Lance le serveur de manière silencieuse."
+#~ msgid "WAL file is from different database system: WAL file database system identifier is %s, pg_control database system identifier is %s."
+#~ msgstr ""
+#~ "L'identifiant du journal de transactions du système de base de données est %s,\n"
+#~ "l'identifiant pg_control du système de base de données dans pg_control est %s."
 
-#~ msgid "If this parameter is set, the server will automatically run in the background and any controlling terminals are dissociated."
+#~ msgid "WAL file is from different database system: Incorrect XLOG_SEG_SIZE in page header."
 #~ msgstr ""
-#~ "Si ce paramètre est initialisé, le serveur sera exécuté automatiquement en\n"
-#~ "tâche de fond et les terminaux de contrôles seront dés-associés."
+#~ "le journal de transactions provient d'un système de bases de données différent :\n"
+#~ "XLOG_SEG_SIZE incorrect dans l'en-tête de page."
 
-#~ msgid "WAL sender sleep time between WAL replications."
+#~ msgid "WAL file is from different database system: Incorrect XLOG_BLCKSZ in page header."
 #~ msgstr ""
-#~ "Temps d'endormissement du processus d'envoi des journaux de transactions entre\n"
-#~ "les réplications des journaux de transactions."
+#~ "le journal de transactions provient d'un système de bases de données différent :\n"
+#~ "XLOG_BLCKSZ incorrect dans l'en-tête de page."
 
-#~ msgid "Sets the list of known custom variable classes."
-#~ msgstr "Initialise la liste des classes variables personnalisées connues."
+#~ msgid "=> is deprecated as an operator name"
+#~ msgstr "=> est un nom d'opérateur obsolète"
 
-#~ msgid "foreign key constraint \"%s\" of relation \"%s\" does not exist"
-#~ msgstr "la clé étrangère « %s » de la relation « %s » n'existe pas"
+#~ msgid "This name may be disallowed altogether in future versions of PostgreSQL."
+#~ msgstr "Ce nom pourrait être interdit dans les prochaines versions de PostgreSQL."
 
-#~ msgid "removing built-in function \"%s\""
-#~ msgstr "suppression de la fonction interne « %s »"
+#~ msgid "inherited relation \"%s\" is not a table"
+#~ msgstr "la relation héritée « %s » n'est pas une table"
 
-#~ msgid "permission denied to drop foreign-data wrapper \"%s\""
-#~ msgstr "droit refusé pour supprimer le wrapper de données distantes « %s »"
+#~ msgid "\"%s\" is not a table, materialized view, composite type, or foreign table"
+#~ msgstr "« %s » n'est ni une table, ni une vue matérialisée, ni un type composite, ni une table distante"
 
-#~ msgid "Must be superuser to drop a foreign-data wrapper."
-#~ msgstr "Doit être super-utilisateur pour supprimer un wrapper de données distantes."
+#~ msgid "Specify a USING expression to perform the conversion."
+#~ msgstr "Donnez une expression USING pour réaliser la conversion."
 
-#~ msgid "must be superuser to drop text search parsers"
+#~ msgid ""
+#~ "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
+#~ "pages: %d removed, %d remain\n"
+#~ "tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable\n"
+#~ "buffer usage: %d hits, %d misses, %d dirtied\n"
+#~ "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
+#~ "system usage: %s"
 #~ msgstr ""
-#~ "doit être super-utilisateur pour supprimer des analyseurs de recherche plein\n"
-#~ "texte"
-
-#~ msgid "must be superuser to drop text search templates"
-#~ msgstr "doit être super-utilisateur pour supprimer des modèles de recherche plein texte"
-
-#~ msgid "recovery is still in progress, can't accept WAL streaming connections"
-#~ msgstr "la restauration est en cours, ne peut pas accepter les connexions de flux WAL"
-
-#~ msgid "standby connections not allowed because wal_level=minimal"
-#~ msgstr "connexions standby non autorisées car wal_level=minimal"
-
-#~ msgid "could not open directory \"pg_tblspc\": %m"
-#~ msgstr "n'a pas pu ouvrir le répertoire « pg_tblspc » : %m"
-
-#~ msgid "could not access root certificate file \"%s\": %m"
-#~ msgstr "n'a pas pu accéder au fichier du certificat racine « %s » : %m"
+#~ "VACUUM automatique de la table « %s.%s.%s » : parcours d'index : %d\n"
+#~ "pages : %d supprimées, %d restantes\n"
+#~ "lignes : %.0f supprimées, %.0f restantes, %.0f sont mortes mais non supprimables\n"
+#~ "utilisation des tampons : %d lus dans le cache, %d lus hors du cache, %d modifiés\n"
+#~ "taux moyen de lecture : %.3f Mo/s, taux moyen d'écriture : %.3f Mo/s\n"
+#~ "utilisation système : %s"
 
-#~ msgid "SSL certificate revocation list file \"%s\" not found, skipping: %s"
-#~ msgstr "liste de révocation des certificats SSL « %s » introuvable, continue : %s"
+#~ msgid ""
+#~ "%.0f dead row versions cannot be removed yet.\n"
+#~ "There were %.0f unused item pointers.\n"
+#~ "%u pages are entirely empty.\n"
+#~ "%s."
+#~ msgstr ""
+#~ "%.0f versions de lignes mortes ne peuvent pas encore être supprimées.\n"
+#~ "Il y avait %.0f pointeurs d'éléments inutilisés.\n"
+#~ "%u pages sont entièrement vides.\n"
+#~ "%s."
 
-#~ msgid "Certificates will not be checked against revocation list."
-#~ msgstr "Les certificats ne seront pas vérifiés avec la liste de révocation."
+#~ msgid "interval precision specified twice"
+#~ msgstr "précision d'intervalle spécifiée deux fois"
 
-#~ msgid "missing or erroneous pg_hba.conf file"
-#~ msgstr "fichier pg_hba.conf manquant ou erroné"
+#~ msgid "received password packet"
+#~ msgstr "paquet du mot de passe reçu"
 
-#~ msgid "See server log for details."
-#~ msgstr "Voir les journaux applicatifs du serveur pour plus de détails."
+#~ msgid "SSL failure during renegotiation start"
+#~ msgstr "échec SSL au début de la re-négotiation"
 
-#~ msgid "Make sure the root.crt file is present and readable."
-#~ msgstr "Assurez-vous que le certificat racine (root.crt) est présent et lisible"
+#~ msgid "SSL handshake failure on renegotiation, retrying"
+#~ msgstr "échec du handshake SSL lors de la renégotiation, nouvelle tentative"
 
-#~ msgid "  --help          show this help, then exit\n"
-#~ msgstr "  --help             affiche cette aide, puis quitte\n"
+#~ msgid "could not complete SSL handshake on renegotiation, too many failures"
+#~ msgstr "n'a pas pu terminer la poignée de main de renégotiation, trop d'échecs"
 
-#~ msgid "  --version       output version information, then exit\n"
-#~ msgstr "  --version          affiche la version, puis quitte\n"
+#~ msgid "SSL failed to renegotiate connection before limit expired"
+#~ msgstr "SSL a échoué à renégotier la connexion avant l'expiration du délai"
 
-#~ msgid "CREATE TABLE AS cannot specify INTO"
-#~ msgstr "CREATE TABLE AS ne peut pas spécifier INTO"
+#~ msgid "could not set socket to blocking mode: %m"
+#~ msgstr "n'a pas pu activer le mode bloquant pour la socket : %m"
 
-#~ msgid "column name list not allowed in CREATE TABLE / AS EXECUTE"
-#~ msgstr "la liste de noms de colonnes n'est pas autorisée dans CREATE TABLE / AS EXECUTE"
+#~ msgid "%s: setsysinfo failed: %s\n"
+#~ msgstr "%s : setsysinfo a échoué : %s\n"
 
-#~ msgid "INSERT ... SELECT cannot specify INTO"
-#~ msgstr "INSERT ... SELECT ne peut pas avoir INTO"
+#~ msgid "  -A 1|0             enable/disable run-time assert checking\n"
+#~ msgstr ""
+#~ "  -A 1|0             active/désactive la vérification des limites (assert) à\n"
+#~ "                     l'exécution\n"
 
-#~ msgid "DECLARE CURSOR cannot specify INTO"
-#~ msgstr "DECLARE CURSOR ne peut pas spécifier INTO"
+#~ msgid "subquery must return a column"
+#~ msgstr "la sous-requête doit renvoyer une colonne"
 
-#~ msgid "subquery in FROM cannot have SELECT INTO"
-#~ msgstr "la sous-requête du FROM ne peut pas avoir de SELECT INTO"
+#~ msgid "Consider increasing the configuration parameter \"checkpoint_segments\"."
+#~ msgstr "Considèrez l'augmentation du paramètre « checkpoint_segments »."
 
-#~ msgid "subquery cannot have SELECT INTO"
-#~ msgstr "la sous-requête ne peut pas avoir de SELECT INTO"
+#~ msgid "WAL archival (archive_mode=on) requires wal_level \"archive\", \"hot_standby\", or \"logical\""
+#~ msgstr ""
+#~ "l'archivage des journaux de transactions (archive_mode=on) nécessite que\n"
+#~ "le paramètre wal_level soit initialisé avec « archive », « hot_standby » ou « logical »"
 
-#~ msgid "subquery in WITH cannot have SELECT INTO"
-#~ msgstr "la sous-requête du WITH ne peut pas avoir de SELECT INTO"
+#~ msgid "invalid value for parameter \"replication\""
+#~ msgstr "valeur invalide pour le paramètre « replication »"
 
-#~ msgid "tablespace %u is not empty"
-#~ msgstr "le tablespace %u n'est pas vide"
+#~ msgid "postmaster became multithreaded"
+#~ msgstr "le postmaster est devenu multithreadé"
 
-#~ msgid "consistent state delayed because recovery snapshot incomplete"
-#~ msgstr "état de cohérence pas encore atteint à cause d'un snapshot de restauration incomplet"
+#~ msgid "archive member \"%s\" too large for tar format"
+#~ msgstr "membre « %s » de l'archive trop volumineux pour le format tar"
 
-#~ msgid "SSPI error %x"
-#~ msgstr "erreur SSPI : %x"
+#~ msgid "could not determine input data types"
+#~ msgstr "n'a pas pu déterminer les types de données en entrée"
 
-#~ msgid "%s (%x)"
-#~ msgstr "%s (%x)"
+#~ msgid "neither input type is an array"
+#~ msgstr "aucun type de données n'est un tableau"
 
-#~ msgid "resetting unlogged relations: cleanup %d init %d"
-#~ msgstr "réinitialisation des relations non tracées : nettoyage %d initialisation %d"
+#~ msgid "unexpected \"=\""
+#~ msgstr "« = » inattendu"
 
-#~ msgid "ALTER TYPE USING is only supported on plain tables"
-#~ msgstr "ALTER TYPE USING est seulement supportés sur les tables standards"
+#~ msgid "invalid symbol"
+#~ msgstr "symbole invalide"
 
-#~ msgid "index \"%s\" is not a b-tree"
-#~ msgstr "l'index « %s » n'est pas un btree"
+#~ msgid "must be superuser or have the same role to cancel queries running in other server processes"
+#~ msgstr ""
+#~ "doit être super-utilisateur ou avoir le même rôle pour annuler des requêtes\n"
+#~ "exécutées dans les autres processus serveur"
 
-#~ msgid "unable to read symbolic link %s: %m"
-#~ msgstr "incapable de lire le lien symbolique %s : %m"
+#~ msgid "must be superuser or have the same role to terminate other server processes"
+#~ msgstr ""
+#~ "doit être super-utilisateur ou avoir le même rôle pour fermer les connexions\n"
+#~ "exécutées dans les autres processus serveur"
 
-#~ msgid "unable to open directory pg_tblspc: %m"
-#~ msgstr "impossible d'ouvrir le répertoire p_tblspc : %m"
+#~ msgid "cannot accept a value of type pg_node_tree"
+#~ msgstr "ne peut pas accepter une valeur de type pg_node_tree"
 
-#~ msgid "Write-Ahead Log / Streaming Replication"
-#~ msgstr "Write-Ahead Log / Réplication en flux"
+#~ msgid "Turns on various assertion checks."
+#~ msgstr "Active les différentes vérifications des assertions."
 
-#~ msgid "syntax error in recovery command file: %s"
-#~ msgstr "erreur de syntaxe dans le fichier de restauration : %s"
+#~ msgid "This is a debugging aid."
+#~ msgstr "C'est une aide de débogage."
 
-#~ msgid "Lines should have the format parameter = 'value'."
-#~ msgstr "Les lignes devraient avoir le format paramètre = 'valeur'"
+#~ msgid "This parameter doesn't do anything."
+#~ msgstr "Ce paramètre ne fait rien."
 
-#~ msgid "index %u/%u/%u needs VACUUM FULL or REINDEX to finish crash recovery"
+#~ msgid "It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-vintage clients."
 #~ msgstr ""
-#~ "l'index  %u/%u/%u a besoin d'un VACUUM FULL ou d'un REINDEX pour terminer la\n"
-#~ "récupération suite à un arrêt brutal"
+#~ "C'est ici uniquement pour ne pas avoir de problèmes avec le SET AUTOCOMMIT\n"
+#~ "TO ON des clients 7.3."
 
-#~ msgid "Incomplete insertion detected during crash replay."
+#~ msgid "Sets the maximum distance in log segments between automatic WAL checkpoints."
 #~ msgstr ""
-#~ "Insertion incomplète détectée lors de la ré-exécution des requêtes suite à\n"
-#~ "l'arrêt brutal."
+#~ "Initialise la distance maximale dans les journaux de transaction entre chaque\n"
+#~ "point de vérification (checkpoints) des journaux."
 
-#~ msgid "index \"%s\" needs VACUUM or REINDEX to finish crash recovery"
+#~ msgid "Set the amount of traffic to send and receive before renegotiating the encryption keys."
 #~ msgstr ""
-#~ "l'index  « %s » a besoin d'un VACUUM ou d'un REINDEX pour terminer la\n"
-#~ "récupération suite à un arrêt brutal"
+#~ "Configure la quantité de trafic à envoyer et recevoir avant la renégotiation\n"
+#~ "des clés d'enchiffrement."
 
-#~ msgid "index \"%s\" needs VACUUM FULL or REINDEX to finish crash recovery"
-#~ msgstr ""
-#~ "l'index  « %s » a besoin d'un VACUUM FULL ou d'un REINDEX pour terminer la\n"
-#~ "récupération suite à un arrêt brutal"
+#~ msgid "SET AUTOCOMMIT TO OFF is no longer supported"
+#~ msgstr "SET AUTOCOMMIT TO OFF n'est plus supporté"
 
-#~ msgid "EnumValuesCreate() can only set a single OID"
-#~ msgstr "EnumValuesCreate() peut seulement initialiser un seul OID"
+#~ msgid "assertion checking is not supported by this build"
+#~ msgstr "la vérification de l'assertion n'a pas été intégrée lors de la compilation"
 
-#~ msgid "clustering \"%s.%s\""
-#~ msgstr "exécution de CLUSTER sur « %s.%s »"
+#~ msgid "%s \"%s\": return code %d"
+#~ msgstr "%s « %s » : code de retour %d"
 
-#~ msgid "cannot cluster on index \"%s\" because access method does not handle null values"
-#~ msgstr ""
-#~ "ne peut pas créer un cluster sur l'index « %s » car la méthode d'accès de\n"
-#~ "l'index ne gère pas les valeurs NULL"
+#~ msgid "could not parse transaction log location \"%s\""
+#~ msgstr "n'a pas pu analyser l'emplacement du journal des transactions « %s »"
 
-#~ msgid "You might be able to work around this by marking column \"%s\" NOT NULL, or use ALTER TABLE ... SET WITHOUT CLUSTER to remove the cluster specification from the table."
-#~ msgstr ""
-#~ "Vous pourriez contourner ceci en marquant la colonne « %s » avec la\n"
-#~ "contrainte NOT NULL ou en utilisant ALTER TABLE ... SET WITHOUT CLUSTER pour\n"
-#~ "supprimer la spécification CLUSTER de la table."
+#~ msgid "invalid input syntax for transaction log location: \"%s\""
+#~ msgstr "syntaxe invalide en entrée pour l'emplacement du journal de transactions : « %s »"
 
-#~ msgid "You might be able to work around this by marking column \"%s\" NOT NULL."
-#~ msgstr "Vous pouvez contourner ceci en marquant la colonne « %s » comme NOT NULL."
+#~ msgid "trigger \"%s\" for table \"%s\" does not exist, skipping"
+#~ msgstr "le trigger « %s » pour la table « %s » n'existe pas, poursuite du traitement"
 
-#~ msgid "cannot cluster on expressional index \"%s\" because its index access method does not handle null values"
-#~ msgstr ""
-#~ "ne peut pas exécuter CLUSTER sur l'index à expression « %s » car sa méthode\n"
-#~ "d'accès ne gère pas les valeurs NULL"
+#~ msgid "Kerberos 5 authentication failed for user \"%s\""
+#~ msgstr "authentification Kerberos 5 échouée pour l'utilisateur « %s »"
 
-#~ msgid "\"%s\" is not a table, view, or composite type"
-#~ msgstr "« %s » n'est pas une table, une vue ou un type composite"
+#~ msgid "Kerberos initialization returned error %d"
+#~ msgstr "l'initialisation de Kerberos a retourné l'erreur %d"
 
-#~ msgid "must be superuser to comment on procedural language"
-#~ msgstr ""
-#~ "doit être super-utilisateur pour ajouter un commentaire sur un langage de\n"
-#~ "procédures"
+#~ msgid "Kerberos keytab resolving returned error %d"
+#~ msgstr "la résolution keytab de Kerberos a renvoyé l'erreur %d"
 
-#~ msgid "must be superuser to comment on text search parser"
-#~ msgstr ""
-#~ "doit être super-utilisateur pour ajouter un commentaire sur l'analyseur de\n"
-#~ "recherche plein texte"
+#~ msgid "Kerberos sname_to_principal(\"%s\", \"%s\") returned error %d"
+#~ msgstr "sname_to_principal(« %s », « %s ») de Kerberos a renvoyé l'erreur %d"
 
-#~ msgid "must be superuser to comment on text search template"
-#~ msgstr ""
-#~ "doit être super-utilisateur pour ajouter un commentaire sur un modèle de\n"
-#~ "recherche plein texte"
+#~ msgid "Kerberos recvauth returned error %d"
+#~ msgstr "recvauth de Kerberos a renvoyé l'erreur %d"
 
-#~ msgid "function \"%s\" is already in schema \"%s\""
-#~ msgstr "la fonction « %s » existe déjà dans le schéma « %s »"
+#~ msgid "Kerberos unparse_name returned error %d"
+#~ msgstr "unparse_name de Kerberos a renvoyé l'erreur %d"
 
-#~ msgid "cannot reference temporary table from permanent table constraint"
-#~ msgstr ""
-#~ "ne peut pas référencer une table temporaire à partir d'une contrainte de\n"
-#~ "table permanente"
+#~ msgid "local user with ID %d does not exist"
+#~ msgstr "l'utilisateur local dont l'identifiant est %d n'existe pas"
 
-#~ msgid "cannot reference permanent table from temporary table constraint"
+#~ msgid "SSL renegotiation failure"
+#~ msgstr "échec lors de la re-négotiation SSL"
+
+#~ msgid "krb5 authentication is not supported on local sockets"
 #~ msgstr ""
-#~ "ne peut pas référencer une table permanente à partir de la contrainte de\n"
-#~ "table temporaire"
+#~ "l'authentification krb5 n'est pas supportée sur les connexions locales par\n"
+#~ "socket"
 
-#~ msgid "composite type must have at least one attribute"
-#~ msgstr "le type composite doit avoir au moins un attribut"
+#~ msgid "%s: invalid effective UID: %d\n"
+#~ msgstr "%s : UID effectif invalide : %d\n"
 
-#~ msgid "database \"%s\" not found"
-#~ msgstr "base de données « %s » non trouvée"
+#~ msgid "%s: could not determine user name (GetUserName failed)\n"
+#~ msgstr "%s : n'a pas pu déterminer le nom de l'utilisateur (GetUserName a échoué)\n"
 
-#~ msgid "invalid list syntax for parameter \"datestyle\""
-#~ msgstr "syntaxe de liste invalide pour le paramètre « datestyle »"
+#~ msgid "too many column aliases specified for function %s"
+#~ msgstr "trop d'alias de colonnes spécifiées pour la fonction %s"
 
-#~ msgid "unrecognized \"datestyle\" key word: \"%s\""
-#~ msgstr "mot clé « datestyle » non reconnu : « %s »"
+#~ msgid "Expected 1 tuple with 3 fields, got %d tuples with %d fields."
+#~ msgstr "Attendait 1 ligne avec 3 champs, a obtenu %d lignes avec %d champs."
 
-#~ msgid "invalid interval value for time zone: month not allowed"
-#~ msgstr "valeur d'intervalle invalide pour le fuseau horaire : les mois ne sont pas autorisés"
+#~ msgid "Security-barrier views are not automatically updatable."
+#~ msgstr "Les vues avec barrière de sécurité ne sont pas automatiquement disponibles en écriture."
 
-#~ msgid "invalid interval value for time zone: day not allowed"
-#~ msgstr "valeur d'intervalle invalide pour le fuseau horaire : jour non autorisé"
+#~ msgid "Views that return the same column more than once are not automatically updatable."
+#~ msgstr "Les vues qui renvoient la même colonne plus d'une fois ne sont pas automatiquement disponibles en écriture."
 
-#~ msgid "argument to pg_get_expr() must come from system catalogs"
-#~ msgstr "l'argument de pg_get_expr() doit provenir des catalogues systèmes"
+#~ msgid "wrong affix file format for flag"
+#~ msgstr "mauvais format de fichier affixe pour le drapeau"
 
-#~ msgid "could not enable credential reception: %m"
-#~ msgstr "n'a pas pu activer la réception de lettres de créance : %m"
+#~ msgid "missing assignment operator"
+#~ msgstr "opérateur d'affectation manquant"
 
-#~ msgid "could not get effective UID from peer credentials: %m"
-#~ msgstr "n'a pas pu obtenir l'UID réel à partir des pièces d'identité de l'autre : %m"
+#~ msgid "cannot call json_object_keys on an array"
+#~ msgstr "ne peut pas appeler json_object_keys sur un tableau"
 
-#~ msgid "Ident authentication is not supported on local connections on this platform"
-#~ msgstr "l'authentification Ident n'est pas supportée sur les connexions locales sur cette plateforme"
+#~ msgid "cannot call json_object_keys on a scalar"
+#~ msgstr "ne peut pas appeler json_object_keys sur un scalaire"
 
-#~ msgid "could not create log file \"%s\": %m"
-#~ msgstr "n'a pas pu créer le journal applicatif « %s » : %m"
+#~ msgid "cannot call function with null path elements"
+#~ msgstr "ne peut pas appeler une fonction avec des éléments chemins NULL"
 
-#~ msgid "could not open new log file \"%s\": %m"
-#~ msgstr "n'a pas pu ouvrir le nouveau journal applicatif « %s » : %m"
+#~ msgid "cannot call function with empty path elements"
+#~ msgstr "ne peut pas appeler une fonction avec des éléments chemins vides"
 
-#~ msgid "Sets immediate fsync at commit."
-#~ msgstr "Configure un fsync immédiat lors du commit."
+#~ msgid "cannot extract array element from a non-array"
+#~ msgstr "ne peut pas extraire un élément du tableau à partir d'un objet qui n'est pas un tableau"
 
-#~ msgid "invalid list syntax for parameter \"log_destination\""
-#~ msgstr "syntaxe de liste invalide pour le paramètre « log_destination »"
+#~ msgid "cannot extract field from a non-object"
+#~ msgstr "ne peut pas extraire le chemin à partir d'un non-objet"
 
-#~ msgid "unrecognized \"log_destination\" key word: \"%s\""
-#~ msgstr "mot clé « log_destination » non reconnu : « %s »"
+#~ msgid "cannot call json_array_elements on a non-array"
+#~ msgstr "ne peut pas appeler json_array_elements sur un objet qui n'est pas un tableau"
 
-#~ msgid "cannot drop \"%s\" because it is being used by active queries in this session"
-#~ msgstr ""
-#~ "ne peut pas supprimer « %s » car cet objet est en cours d'utilisation par\n"
-#~ "des requêtes actives dans cette session"
+#~ msgid "cannot call json_array_elements on a scalar"
+#~ msgstr "ne peut pas appeler json_array_elements sur un scalaire"
 
-#~ msgid "parameter \"recovery_target_inclusive\" requires a Boolean value"
-#~ msgstr "le paramètre « recovery_target_inclusive » requiert une valeur booléenne"
+#~ msgid "first argument of json_populate_record must be a row type"
+#~ msgstr "le premier argument de json_populate_record doit être un type ROW"
 
-#~ msgid "parameter \"standby_mode\" requires a Boolean value"
-#~ msgstr "le paramètre « standby_mode » requiert une valeur booléenne"
+#~ msgid "first argument of json_populate_recordset must be a row type"
+#~ msgstr "le premier argument de json_populate_recordset doit être un type ROW"
 
-#~ msgid "access to %s"
-#~ msgstr "accès à %s"
+#~ msgid "cannot call json_populate_recordset on an object"
+#~ msgstr "ne peut pas appeler json_populate_recordset sur un objet"
 
-#~ msgid "Sets the message levels that are logged during recovery."
-#~ msgstr "Initialise les niveaux de messages qui sont tracés lors de la restauration."
+#~ msgid "cannot call json_populate_recordset with nested objects"
+#~ msgstr "ne peut pas appeler json_populate_recordset sur des objets imbriqués"
 
-#~ msgid "Not safe to send CSV data\n"
-#~ msgstr "Envoi non sûr des données CSV\n"
+#~ msgid "must call json_populate_recordset on an array of objects"
+#~ msgstr "doit appeler json_populate_recordset sur un tableau d'objets"
 
-#~ msgid "recovery restart point at %X/%X with latest known log time %s"
-#~ msgstr ""
-#~ "point de relancement de la restauration sur %X/%X avec %s comme dernière\n"
-#~ "date connue du journal"
+#~ msgid "cannot call json_populate_recordset with nested arrays"
+#~ msgstr "ne peut pas appeler json_populate_recordset avec des tableaux imbriqués"
 
-#~ msgid "restartpoint_command = '%s'"
-#~ msgstr "restartpoint_command = '%s'"
+#~ msgid "cannot call json_populate_recordset on a scalar"
+#~ msgstr "ne peut pas appeler json_populate_recordset sur un scalaire"
 
-#~ msgid "usermap \"%s\""
-#~ msgstr "correspondance utilisateur « %s »"
+#~ msgid "cannot call json_populate_recordset on a nested object"
+#~ msgstr "ne peut pas appeler json_populate_recordset sur un objet imbriqué"
 
-#~ msgid "WAL archiving is not active"
-#~ msgstr "l'archivage des journaux de transactions n'est pas actif"
+#~ msgid "No description available."
+#~ msgstr "Aucune description disponible."
 
-#~ msgid "archive_mode must be enabled at server start."
-#~ msgstr "archive_mode doit être activé au lancement du serveur."
+#~ msgid "Sets the name of the Kerberos service."
+#~ msgstr "Initialise le nom du service Kerberos."
 
-#~ msgid "archive_command must be defined before online backups can be made safely."
+#~ msgid "time zone offset %d is not a multiple of 900 sec (15 min) in time zone file \"%s\", line %d"
 #~ msgstr ""
-#~ "archive_command doit être défini avant que les sauvegardes à chaud puissent\n"
-#~ "s'effectuer correctement."
+#~ "le décalage %d du fuseau horaire n'est pas un multiples de 900 secondes\n"
+#~ "(15 minutes) dans le fichier des fuseaux horaires « %s », ligne %d"
 
-#~ msgid "During recovery, allows connections and queries.  During normal running, causes additional info to be written to WAL to enable hot standby mode on WAL standby nodes."
-#~ msgstr ""
-#~ "Lors de la restauration, autorise les connexions et les requêtes. Lors d'une\n"
-#~ "exécution normale, fait que des informations supplémentaires sont écrites dans\n"
-#~ "les journaux de transactions pour activer le mode Hot Standby sur les n½uds\n"
-#~ "en attente."
+#~ msgid "Perhaps out of disk space?"
+#~ msgstr "Peut-être manquez-vous de place disque ?"
 
-#~ msgid "unlogged operation performed, data may be missing"
-#~ msgstr "opération réalisée non tracée, les données pourraient manquer"
+#~ msgid "could not change directory to \"%s\""
+#~ msgstr "n'a pas pu accéder au répertoire « %s »"
 
-#~ msgid "not enough shared memory for walsender"
-#~ msgstr "pas assez de mémoire partagée pour le processus d'envoi des journaux de transactions"
+#~ msgid "unlogged GiST indexes are not supported"
+#~ msgstr "les index GiST non tracés ne sont pas supportés"
 
-#~ msgid "not enough shared memory for walreceiver"
+#~ msgid "could not open file \"%s\" (log file %u, segment %u): %m"
+#~ msgstr "n'a pas pu ouvrir le fichier « %s » (journal de transactions %u, segment %u) : %m"
+
+#~ msgid "there is no contrecord flag in log file %u, segment %u, offset %u"
 #~ msgstr ""
-#~ "pas assez de mémoire partagée pour le processus de réception des journaux de\n"
-#~ "transactions"
+#~ "il n'y a pas de drapeaux « contrecord » dans le journal de transactions %u,\n"
+#~ "segment %u, décalage %u"
 
-#~ msgid "connection limit exceeded for non-superusers"
-#~ msgstr "limite de connexions dépassée pour les utilisateurs standards"
+#~ msgid "invalid contrecord length %u in log file %u, segment %u, offset %u"
+#~ msgstr ""
+#~ "longueur invalide du « contrecord » %u dans le journal de tranasctions %u,\n"
+#~ "segment %u, décalage %u"
 
-#~ msgid "not enough shared memory for background writer"
-#~ msgstr "pas assez de mémoire partagée pour le processus d'écriture en tâche de fond"
+#~ msgid "Incorrect XLOG_SEG_SIZE in page header."
+#~ msgstr "XLOG_SEG_SIZE incorrecte dans l'en-tête de page."
 
-#, fuzzy
-#~ msgid "couldn't put socket to non-blocking mode: %m"
-#~ msgstr "n'a pas pu activer le mode non-bloquant pour la socket : %s\n"
+#~ msgid "Incorrect XLOG_BLCKSZ in page header."
+#~ msgstr "XLOG_BLCKSZ incorrect dans l'en-tête de page."
 
-#, fuzzy
-#~ msgid "couldn't put socket to blocking mode: %m"
-#~ msgstr "n'a pas pu activer le mode bloquant pour la socket : %s\n"
+#~ msgid "xrecoff \"%X\" is out of valid range, 0..%X"
+#~ msgstr "xrecoff « %X » en dehors des limites valides, 0..%X"
 
-#~ msgid "WAL file SYSID is %s, pg_control SYSID is %s"
-#~ msgstr "le SYSID du journal de transactions WAL est %s, celui de pg_control est %s"
+#~ msgid "uncataloged table %s"
+#~ msgstr "table %s sans catalogue"
 
-#, fuzzy
-#~ msgid "sorry, too many standbys already"
-#~ msgstr "désolé, trop de clients sont déjà connectés"
+#~ msgid "cannot use subquery in default expression"
+#~ msgstr "ne peut pas utiliser une sous-requête dans l'expression par défaut"
 
-#, fuzzy
-#~ msgid "invalid WAL message received from primary"
-#~ msgstr "format du message invalide"
+#~ msgid "cannot use aggregate function in default expression"
+#~ msgstr "ne peut pas utiliser une fonction d'agrégat dans une expression par défaut"
 
-#~ msgid "PID %d is among the slowest backends."
-#~ msgstr "Le PID %d est parmi les processus serveur les plus lents."
+#~ msgid "cannot use window function in default expression"
+#~ msgstr "ne peut pas utiliser une fonction window dans une expression par défaut"
 
-#~ msgid "transaction is read-only"
-#~ msgstr "la transaction est en lecture seule"
+#~ msgid "cannot use window function in check constraint"
+#~ msgstr "ne peut pas utiliser une fonction window dans une contrainte de vérification"
 
-#~ msgid "binary value is out of range for type bigint"
-#~ msgstr "la valeur binaire est en dehors des limites du type bigint"
+#~ msgid "A function returning ANYRANGE must have at least one ANYRANGE argument."
+#~ msgstr ""
+#~ "Une fonction renvoyant ANYRANGE doit avoir au moins un argument du type\n"
+#~ "ANYRANGE."
 
-#~ msgid "redo starts at %X/%X, consistency will be reached at %X/%X"
-#~ msgstr "la restauration comme à %X/%X, la cohérence sera atteinte à %X/%X"
+#~ msgid "%s already exists in schema \"%s\""
+#~ msgstr "%s existe déjà dans le schéma « %s »"
 
-#~ msgid "This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by \"client_encoding\"."
-#~ msgstr ""
-#~ "Cette erreur peut aussi survenir si la séquence d'octets ne correspond pas\n"
-#~ "au jeu de caractères attendu par le serveur, le jeu étant contrôlé par\n"
-#~ "« client_encoding »."
+#~ msgid "CREATE TABLE AS specifies too many column names"
+#~ msgstr "CREATE TABLE AS spécifie trop de noms de colonnes"
 
-#~ msgid "Sets the language used in DO statement if LANGUAGE is not specified."
+#~ msgid "cannot use subquery in parameter default value"
+#~ msgstr "ne peut pas utiliser une sous-requête dans une valeur par défaut d'un paramètre"
+
+#~ msgid "cannot use aggregate function in parameter default value"
 #~ msgstr ""
-#~ "Configure le langage utilisé dans une instruction DO si la clause LANGUAGE n'est\n"
-#~ "pas spécifiée."
+#~ "ne peut pas utiliser une fonction d'agrégat dans la valeur par défaut d'un\n"
+#~ "paramètre"
 
-#~ msgid "shared index \"%s\" can only be reindexed in stand-alone mode"
-#~ msgstr "un index partagé « %s » peut seulement être réindexé en mode autonome"
+#~ msgid "cannot use window function in parameter default value"
+#~ msgstr "ne peut pas utiliser la fonction window dans la valeur par défaut d'un paramètre"
 
-#~ msgid "\"%s\" is a system catalog"
-#~ msgstr "« %s » est un catalogue système"
+#~ msgid "Use ALTER AGGREGATE to rename aggregate functions."
+#~ msgstr "Utiliser ALTER AGGREGATE pour renommer les fonctions d'agrégat."
 
-#~ msgid "shared table \"%s\" can only be reindexed in stand-alone mode"
-#~ msgstr "la table partagée « %s » peut seulement être réindexé en mode autonome"
+#~ msgid "Use ALTER AGGREGATE to change owner of aggregate functions."
+#~ msgstr "Utiliser ALTER AGGREGATE pour changer le propriétaire des fonctions d'agrégat."
 
-#~ msgid "cannot truncate system relation \"%s\""
-#~ msgstr "ne peut pas tronquer la relation système « %s »"
+#~ msgid "function \"%s\" already exists in schema \"%s\""
+#~ msgstr "la fonction « %s » existe déjà dans le schéma « %s »"
 
-#~ msgid "number of distinct values %g is too low"
-#~ msgstr "le nombre de valeurs distinctes %g est trop basse"
+#~ msgid "cannot use aggregate in index predicate"
+#~ msgstr "ne peut pas utiliser un agrégat dans un prédicat d'index"
 
-#~ msgid "directory \"%s\" is not empty"
-#~ msgstr "le répertoire « %s » n'est pas vide"
+#~ msgid "cannot use window function in EXECUTE parameter"
+#~ msgstr "ne peut pas utiliser une fonction window dans le paramètre EXECUTE"
 
-#~ msgid "relation \"%s\" TID %u/%u: XMIN_COMMITTED not set for transaction %u --- cannot shrink relation"
-#~ msgstr ""
-#~ "relation « %s », TID %u/%u : XMIN_COMMITTED non configuré pour la\n"
-#~ "transaction %u --- n'a pas pu diminuer la taille de la relation"
+#~ msgid "constraints on foreign tables are not supported"
+#~ msgstr "les contraintes sur les tables distantes ne sont pas supportées"
 
-#~ msgid "relation \"%s\" TID %u/%u: dead HOT-updated tuple --- cannot shrink relation"
-#~ msgstr ""
-#~ "relation « %s », TID %u/%u : ligne morte mise à jour par HOT --- n'a pas pu\n"
-#~ "diminuer la taille de la relation"
+#~ msgid "default values on foreign tables are not supported"
+#~ msgstr "les valeurs par défaut ne sont pas supportées sur les tables distantes"
 
-#~ msgid "relation \"%s\" TID %u/%u: InsertTransactionInProgress %u --- cannot shrink relation"
-#~ msgstr ""
-#~ "relation « %s », TID %u/%u : InsertTransactionInProgress %u --- n'a pas pu\n"
-#~ "diminuer la taille de la relation"
+#~ msgid "cannot use window function in transform expression"
+#~ msgstr "ne peut pas utiliser la fonction window dans l'expression de la transformation"
 
-#~ msgid "relation \"%s\" TID %u/%u: DeleteTransactionInProgress %u --- cannot shrink relation"
-#~ msgstr ""
-#~ "relation « %s », TID %u/%u : DeleteTransactionInProgress %u --- n'a pas pu\n"
-#~ "diminuer la taille de la relation"
+#~ msgid "Use ALTER FOREIGN TABLE instead."
+#~ msgstr "Utilisez ALTER FOREIGN TABLE à la place."
 
-#~ msgid ""
-#~ "%.0f dead row versions cannot be removed yet.\n"
-#~ "Nonremovable row versions range from %lu to %lu bytes long.\n"
-#~ "There were %.0f unused item pointers.\n"
-#~ "Total free space (including removable row versions) is %.0f bytes.\n"
-#~ "%u pages are or will become empty, including %u at the end of the table.\n"
-#~ "%u pages containing %.0f free bytes are potential move destinations.\n"
-#~ "%s."
-#~ msgstr ""
-#~ "%.0f versions de lignes mortes ne peuvent pas encore être supprimées.\n"
-#~ "Les versions non supprimables de ligne vont de %lu to %lu octets.\n"
-#~ "Il existait %.0f pointeurs d'éléments inutilisés.\n"
-#~ "L'espace libre total (incluant les versions supprimables de ligne) est de\n"
-#~ "%.0f octets.\n"
-#~ "%u pages sont ou deviendront vides, ceci incluant %u pages en fin de la\n"
-#~ "table.\n"
-#~ "%u pages contenant %.0f octets libres sont des destinations de déplacement\n"
-#~ "disponibles.\n"
-#~ "%s."
+#~ msgid "cannot use window function in trigger WHEN condition"
+#~ msgstr "ne peut pas utiliser la fonction window dans la condition WHEN d'un trigger"
 
-#~ msgid "\"%s\": moved %u row versions, truncated %u to %u pages"
-#~ msgstr "« %s » : %u versions de ligne déplacées, %u pages tronquées sur %u"
-
-#~ msgid ""
-#~ "%u index pages have been deleted, %u are currently reusable.\n"
-#~ "%s."
+#~ msgid "must be superuser to rename text search parsers"
 #~ msgstr ""
-#~ "%u pages d'index ont été supprimées, %u sont actuellement réutilisables.\n"
-#~ "%s."
+#~ "doit être super-utilisateur pour renommer les analyseurs de recherche plein\n"
+#~ "texte"
 
-#~ msgid "index \"%s\" contains %.0f row versions, but table contains %.0f row versions"
-#~ msgstr ""
-#~ "l'index « %s » contient %.0f versions de ligne, mais la table contient %.0f\n"
-#~ "versions de ligne"
+#~ msgid "must be superuser to rename text search templates"
+#~ msgstr "doit être super-utilisateur pour renommer les modèles de recherche plein texte"
 
-#~ msgid "Rebuild the index with REINDEX."
-#~ msgstr "Reconstruisez l'index avec REINDEX."
+#~ msgid "automatic vacuum of table \"%s.%s.%s\": cannot (re)acquire exclusive lock for truncate scan"
+#~ msgstr "vacuum automatique de la table « %s.%s.%s » : ne peut pas acquérir le verrou exclusif pour la tronquer"
 
-#~ msgid "frame start at CURRENT ROW is not implemented"
-#~ msgstr "début du frame à CURRENT ROW n'est pas implémenté"
+#~ msgid "You need an unconditional ON INSERT DO INSTEAD rule or an INSTEAD OF INSERT trigger."
+#~ msgstr "Vous avez besoin d'une règle ON INSERT DO INSTEAD sans condition ou d'un trigger INSTEAD OF INSERT."
 
-#~ msgid "database system is in consistent recovery mode"
-#~ msgstr "le système de bases de données est dans un mode de restauration cohérent"
+#~ msgid "You need an unconditional ON UPDATE DO INSTEAD rule or an INSTEAD OF UPDATE trigger."
+#~ msgstr "Vous avez besoin d'une règle non conditionnelle ON UPDATE DO INSTEAD ou d'un trigger INSTEAD OF UPDATE."
 
-#~ msgid "DISTINCT is supported only for single-argument aggregates"
-#~ msgstr "DISTINCT est seulement supporté pour les agrégats à un seul argument"
+#~ msgid "You need an unconditional ON DELETE DO INSTEAD rule or an INSTEAD OF DELETE trigger."
+#~ msgstr "Vous avez besoin d'une règle inconditionnelle ON DELETE DO INSTEAD ou d'un trigger INSTEAD OF DELETE."
 
-#~ msgid "index row size %lu exceeds btree maximum, %lu"
-#~ msgstr "la taille de la ligne index %lu dépasse le maximum de btree, %lu"
+#~ msgid "LDAP search failed for filter \"%s\" on server \"%s\": user is not unique (%ld matches)"
+#~ msgstr ""
+#~ "échec de la recherche LDAP pour le filtre « %s » sur le serveur « %s » :\n"
+#~ "utilisateur non unique (%ld correspondances)"
 
-#~ msgid "Table contains duplicated values."
-#~ msgstr "La table contient des valeurs dupliquées."
+#~ msgid "VALUES must not contain table references"
+#~ msgstr "VALUES ne doit pas contenir de références de table"
 
-#~ msgid "Automatically adds missing table references to FROM clauses."
-#~ msgstr ""
-#~ "Ajoute automatiquement les références à la table manquant dans les clauses\n"
-#~ "FROM."
+#~ msgid "VALUES must not contain OLD or NEW references"
+#~ msgstr "VALUES ne doit pas contenir des références à OLD et NEW"
 
-#~ msgid "Sets the regular expression \"flavor\"."
-#~ msgstr "Initialise l'expression rationnelle « flavor »."
+#~ msgid "Use SELECT ... UNION ALL ... instead."
+#~ msgstr "Utilisez à la place SELECT ... UNION ALL ..."
 
-#~ msgid "attempted change of parameter \"%s\" ignored"
-#~ msgstr "tentative de modification du paramètre « %s » ignoré"
+#~ msgid "cannot use aggregate function in VALUES"
+#~ msgstr "ne peut pas utiliser la fonction d'agrégat dans un VALUES"
 
-#~ msgid "This parameter cannot be changed after server start."
-#~ msgstr "Ce paramètre ne peut pas être modifié après le lancement du serveur"
+#~ msgid "cannot use window function in VALUES"
+#~ msgstr "ne peut pas utiliser la fonction window dans un VALUES"
 
-#~ msgid "invalid database name \"%s\""
-#~ msgstr "nom de base de données « %s » invalide"
+#~ msgid "cannot use aggregate function in UPDATE"
+#~ msgstr "ne peut pas utiliser une fonction d'agrégat dans un UPDATE"
 
-#~ msgid "invalid role name \"%s\""
-#~ msgstr "nom de rôle « %s » invalide"
+#~ msgid "cannot use window function in UPDATE"
+#~ msgstr "ne peut pas utiliser une fonction window dans un UPDATE"
 
-#~ msgid "invalid role password \"%s\""
-#~ msgstr "mot de passe « %s » de l'utilisateur invalide"
+#~ msgid "cannot use aggregate function in RETURNING"
+#~ msgstr "ne peut pas utiliser une fonction d'agrégat dans RETURNING"
 
-#~ msgid "cannot specify CSV in BINARY mode"
-#~ msgstr "ne peut pas spécifier CSV en mode binaire (BINARY)"
+#~ msgid "cannot use window function in RETURNING"
+#~ msgstr "ne peut pas utiliser une fonction window dans RETURNING"
 
-#~ msgid "cannot set session authorization within security-definer function"
-#~ msgstr "ne peut pas exécuter SESSION AUTHORIZATION sur la fonction SECURITY DEFINER"
+#~ msgid "RETURNING cannot contain references to other relations"
+#~ msgstr "RETURNING ne doit pas contenir de références à d'autres relations"
 
-#~ msgid "SELECT FOR UPDATE/SHARE is not supported within a query with multiple result relations"
-#~ msgstr ""
-#~ "SELECT FOR UPDATE/SHARE n'est pas supporté dans une requête avec plusieurs\n"
-#~ "relations"
+#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with GROUP BY clause"
+#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec la clause GROUP BY"
 
-#~ msgid "could not remove relation %s: %m"
-#~ msgstr "n'a pas pu supprimer la relation %s : %m"
+#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with HAVING clause"
+#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec la clause HAVING"
 
-#~ msgid "could not remove segment %u of relation %s: %m"
-#~ msgstr "n'a pas pu supprimer le segment %u de la relation %s : %m"
+#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with aggregate functions"
+#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec les fonctions d'agrégats"
 
-#~ msgid "could not seek to block %u of relation %s: %m"
-#~ msgstr "n'a pas pu se positionner sur le bloc %u de la relation %s : %m"
+#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with window functions"
+#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec les fonctions window"
 
-#~ msgid "could not extend relation %s: %m"
-#~ msgstr "n'a pas pu étendre la relation %s : %m"
+#~ msgid "SELECT FOR UPDATE/SHARE cannot be used with foreign table \"%s\""
+#~ msgstr "SELECT FOR UPDATE/SHARE ne peut pas être utilisé avec une table distante « %s »"
 
-#~ msgid "could not open relation %s: %m"
-#~ msgstr "n'a pas pu ouvrir la relation %s : %m"
+#~ msgid "aggregates not allowed in WHERE clause"
+#~ msgstr "agrégats non autorisés dans une clause WHERE"
 
-#~ msgid "could not read block %u of relation %s: %m"
-#~ msgstr "n'a pas pu lire le bloc %u de la relation %s : %m"
+#~ msgid "window functions not allowed in GROUP BY clause"
+#~ msgstr "fonctions window non autorisées dans une clause GROUP BY"
 
-#~ msgid "could not write block %u of relation %s: %m"
-#~ msgstr "n'a pas pu écrire le bloc %u de la relation %s : %m"
+#~ msgid "JOIN/ON clause refers to \"%s\", which is not part of JOIN"
+#~ msgstr "la clause JOIN/ON se réfère à « %s », qui ne fait pas partie du JOIN"
 
-#~ msgid "could not open segment %u of relation %s: %m"
-#~ msgstr "n'a pas pu ouvrir le segment %u de la relation %s : %m"
+#~ msgid "subquery in FROM cannot refer to other relations of same query level"
+#~ msgstr ""
+#~ "la sous-requête du FROM ne peut pas faire référence à d'autres relations\n"
+#~ "dans le même niveau de la requête"
 
-#~ msgid "could not fsync segment %u of relation %s: %m"
+#~ msgid "function expression in FROM cannot refer to other relations of same query level"
 #~ msgstr ""
-#~ "n'a pas pu synchroniser sur disque (fsync) le segment %u de la relation\n"
-#~ "%s : %m"
+#~ "l'expression de la fonction du FROM ne peut pas faire référence à d'autres\n"
+#~ "relations sur le même niveau de la requête"
 
-#~ msgid "could not fsync segment %u of relation %s but retrying: %m"
+#~ msgid "cannot use window function in function expression in FROM"
 #~ msgstr ""
-#~ "n'a pas pu synchroniser sur disque (fsync) le segment %u de la relation\n"
-#~ "%s, nouvelle tentative : %m"
+#~ "ne peut pas utiliser la fonction window dans l'expression de la fonction\n"
+#~ "du FROM"
 
-#~ msgid "could not seek to end of segment %u of relation %s: %m"
-#~ msgstr "n'a pas pu se déplacer à la fin du segment %u de la relation %s : %m"
+#~ msgid "argument of %s must not contain aggregate functions"
+#~ msgstr "l'argument de %s ne doit pas contenir de fonctions d'agrégats"
 
-#~ msgid "unsupported PAM conversation %d/%s"
-#~ msgstr "conversation PAM %d/%s non supportée"
+#~ msgid "argument of %s must not contain window functions"
+#~ msgstr "l'argument de %s ne doit pas contenir des fonctions window"
 
-#~ msgid "SELECT FOR UPDATE/SHARE is not allowed in subqueries"
-#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé dans les sous-requêtes"
+#~ msgid "arguments of row IN must all be row expressions"
+#~ msgstr "les arguments de la ligne IN doivent tous être des expressions de ligne"
 
-#~ msgid "adding missing FROM-clause entry for table \"%s\""
-#~ msgstr "ajout d'une entrée manquante dans FROM (table « %s »)"
+#~ msgid "cannot use aggregate function in rule WHERE condition"
+#~ msgstr "ne peut pas utiliser la fonction d'agrégat dans la condition d'une règle WHERE"
 
-#~ msgid "OLD used in query that is not in a rule"
-#~ msgstr "OLD utilisé dans une requête qui n'est pas une règle"
+#~ msgid "cannot use window function in rule WHERE condition"
+#~ msgstr "ne peut pas utiliser la fonction window dans la condition d'une règle WHERE"
 
-#~ msgid "NEW used in query that is not in a rule"
-#~ msgstr "NEW utilisé dans une requête qui ne fait pas partie d'une règle"
+#~ msgid ""
+#~ "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter.  You can either reduce the request size or reconfigure the kernel with larger SHMMAX.  To reduce the request size (currently %lu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.\n"
+#~ "If the request size is already small, it's possible that it is less than your kernel's SHMMIN parameter, in which case raising the request size or reconfiguring SHMMIN is called for.\n"
+#~ "The PostgreSQL documentation contains more information about shared memory configuration."
+#~ msgstr ""
+#~ "Cette erreur signifie habituellement que la demande de PostgreSQL pour un\n"
+#~ "segment de mémoire partagée a dépassé le paramètre SHMMAX de votre noyau.\n"
+#~ "Vous pouvez soit réduire la taille de la requête soit reconfigurer le noyau\n"
+#~ "avec un SHMMAX plus important. Pour réduire la taille de la requête\n"
+#~ "(actuellement %lu octets), réduisez l'utilisation de la mémoire partagée par PostgreSQL,par exemple en réduisant shared_buffers ou max_connections\n"
+#~ "Si la taille de la requête est déjà petite, il est possible qu'elle soit\n"
+#~ "moindre que le paramètre SHMMIN de votre noyau, auquel cas, augmentez la\n"
+#~ "taille de la requête ou reconfigurez SHMMIN.\n"
+#~ "La documentation de PostgreSQL contient plus d'informations sur la\n"
+#~ "configuration de la mémoire partagée."
 
-#~ msgid "hurrying in-progress restartpoint"
-#~ msgstr "accélération du restartpoint en cours"
+#~ msgid "terminating all walsender processes to force cascaded standby(s) to update timeline and reconnect"
+#~ msgstr ""
+#~ "arrêt de tous les processus walsender pour forcer les serveurs standby en\n"
+#~ "cascade à mettre à jour la timeline et à se reconnecter"
 
-#~ msgid "multiple DELETE events specified"
-#~ msgstr "multiples événements DELETE spécifiés"
+#~ msgid "shutdown requested, aborting active base backup"
+#~ msgstr "arrêt demandé, annulation de la sauvegarde active de base"
 
-#~ msgid "multiple UPDATE events specified"
-#~ msgstr "multiples événements UPDATE spécifiés"
+#~ msgid "streaming replication successfully connected to primary"
+#~ msgstr "réplication de flux connecté avec succès au serveur principal"
 
-#~ msgid "multiple TRUNCATE events specified"
-#~ msgstr "multiples événements TRUNCATE spécifiés"
+#~ msgid "invalid standby handshake message type %d"
+#~ msgstr "type %d du message de handshake du serveur en attente invalide"
 
-#~ msgid "could not create XPath object"
-#~ msgstr "n'a pas pu créer l'objet XPath"
+#~ msgid "terminating walsender process to force cascaded standby to update timeline and reconnect"
+#~ msgstr ""
+#~ "arrêt du processus walreceiver pour forcer le serveur standby en cascade à\n"
+#~ "mettre à jour la timeline et à se reconnecter"
 
-#, fuzzy
-#~ msgid "wrong number of array_subscripts"
-#~ msgstr "mauvais nombre d'indices du tableau"
+#~ msgid "invalid standby query string: %s"
+#~ msgstr "chaîne de requête invalide sur le serveur en attente : %s"
 
-#~ msgid "fillfactor=%d is out of range (should be between %d and 100)"
-#~ msgstr "le facteur de remplissage (%d) est en dehors des limites (il devrait être entre %d et 100)"
+#~ msgid "large object %u was not opened for writing"
+#~ msgstr "le « Large Object » %u n'a pas été ouvert en écriture"
 
-#~ msgid "GIN index does not support search with void query"
-#~ msgstr "les index GIN ne supportent pas la recherche avec des requêtes vides"
+#~ msgid "large object %u was already dropped"
+#~ msgstr "le « Large Object » %u a déjà été supprimé"
 
-#~ msgid "invalid LC_COLLATE setting"
-#~ msgstr "paramètre LC_COLLATE invalide"
+#~ msgid "Not enough memory for reassigning the prepared transaction's locks."
+#~ msgstr "Pas assez de mémoire pour réaffecter les verrous des transactions préparées."
 
-#~ msgid "invalid LC_CTYPE setting"
-#~ msgstr "paramètre LC_CTYPE invalide"
+#~ msgid "\"interval\" time zone \"%s\" not valid"
+#~ msgstr "le fuseau horaire « %s » n'est pas valide pour le type « interval »"
 
-#~ msgid "The database cluster was initialized with LOCALE_NAME_BUFLEN %d, but the server was compiled with LOCALE_NAME_BUFLEN %d."
-#~ msgstr ""
-#~ "Le cluster de bases de données a été initialisé avec un LOCALE_NAME_BUFLEN\n"
-#~ "à %d alors que le serveur a été compilé avec un LOCALE_NAME_BUFLEN à %d."
+#~ msgid "inconsistent use of year %04d and \"BC\""
+#~ msgstr "utilisation non cohérente de l'année %04d et de « BC »"
 
-#~ msgid "It looks like you need to initdb or install locale support."
-#~ msgstr ""
-#~ "Il semble que vous avez besoin d'exécuter initdb ou d'installer le support\n"
-#~ "des locales."
+#~ msgid "No rows were found in \"%s\"."
+#~ msgstr "Aucune ligne trouvée dans « %s »."
 
-#~ msgid "log_restartpoints = %s"
-#~ msgstr "log_restartpoints = %s"
+#~ msgid "argument number is out of range"
+#~ msgstr "le nombre en argument est en dehors des limites"
 
-#~ msgid "syntax error: cannot back up"
-#~ msgstr "erreur de syntaxe : n'a pas pu revenir"
+#~ msgid "index \"%s\" is not ready"
+#~ msgstr "l'index « %s » n'est pas prêt"
 
-#~ msgid "syntax error; also virtual memory exhausted"
-#~ msgstr "erreur de syntaxe ; de plus, mémoire virtuelle saturée"
+#~ msgid "could not remove database directory \"%s\""
+#~ msgstr "n'a pas pu supprimer le répertoire de bases de données « %s »"
 
-#~ msgid "parser stack overflow"
-#~ msgstr "saturation de la pile de l'analyseur"
+#~ msgid "unexpected end of line at line %d of thesaurus file \"%s\""
+#~ msgstr "fin de ligne inattendue à la ligne %d du thésaurus « %s »"
 
-#~ msgid "failed to drop all objects depending on %s"
-#~ msgstr "échec lors de la suppression de tous les objets dépendant de %s"
+#~ msgid "unexpected end of line or lexeme at line %d of thesaurus file \"%s\""
+#~ msgstr "fin de ligne ou de lexeme inattendu sur la ligne %d du thesaurus « %s »"
 
-#~ msgid "there are objects dependent on %s"
-#~ msgstr "des objets dépendent de %s"
+#~ msgid "unexpected delimiter at line %d of thesaurus file \"%s\""
+#~ msgstr "délimiteur inattendu sur la ligne %d du thesaurus « %s »"
 
-#~ msgid "multiple constraints named \"%s\" were dropped"
-#~ msgstr "les contraintes multiples nommées « %s » ont été supprimées"
+#~ msgid "Use the @@@ operator instead."
+#~ msgstr "Utilisez à la place l'opérateur @@@."
 
-#~ msgid "constraint definition for check constraint \"%s\" does not match"
+#~ msgid "@@ operator does not support lexeme weight restrictions in GIN index searches"
 #~ msgstr ""
-#~ "la définition de la contrainte « %s » pour la contrainte de vérification ne\n"
-#~ "correspond pas"
-
-#~ msgid "relation \"%s.%s\" contains more than \"max_fsm_pages\" pages with useful free space"
-#~ msgstr ""
-#~ "la relation « %s.%s » contient plus de « max_fsm_pages » pages d'espace\n"
-#~ "libre utile"
+#~ "l'opérateur @@ ne supporte pas les restrictions de poids de lexeme dans les\n"
+#~ "recherches par index GIN"
 
-#~ msgid "Consider using VACUUM FULL on this relation or increasing the configuration parameter \"max_fsm_pages\"."
+#~ msgid "query requires full scan, which is not supported by GIN indexes"
 #~ msgstr ""
-#~ "Pensez à compacter cette relation en utilisant VACUUM FULL ou à augmenter le\n"
-#~ "paramètre de configuration « max_fsm_pages »."
+#~ "la requête nécessite un parcours complet, ce qui n'est pas supporté par les\n"
+#~ "index GIN"
 
-#~ msgid "cannot change number of columns in view"
-#~ msgstr "ne peut pas modifier le nombre de colonnes dans la vue"
+#~ msgid "cannot calculate week number without year information"
+#~ msgstr "ne peut pas calculer le numéro de la semaine sans informations sur l'année"
 
-#~ msgid "unexpected Kerberos user name received from client (received \"%s\", expected \"%s\")"
-#~ msgstr ""
-#~ "nom d'utilisateur Kerberos inattendu reçu à partir du client (reçu « %s »,\n"
-#~ "attendu « %s »)"
+#~ msgid "UTF-16 to UTF-8 translation failed: %lu"
+#~ msgstr "échec de la conversion d'UTF16 vers UTF8 : %lu"
 
-#~ msgid "Kerberos 5 not implemented on this server"
-#~ msgstr "Kerberos 5 non implémenté sur ce serveur"
+#~ msgid "AM/PM hour must be between 1 and 12"
+#~ msgstr "l'heure AM/PM doit être compris entre 1 et 12"
 
-#~ msgid "GSSAPI not implemented on this server"
-#~ msgstr "GSSAPI non implémenté sur ce serveur"
+#~ msgid "Sat"
+#~ msgstr "Sam"
 
-#~ msgid "could not get security token from context"
-#~ msgstr "n'a pas pu récupérer le jeton de sécurité à partir du contexte"
+#~ msgid "Fri"
+#~ msgstr "Ven"
 
-#~ msgid "unsafe permissions on private key file \"%s\""
-#~ msgstr "droits non sûrs sur le fichier de la clé privée « %s »"
+#~ msgid "Thu"
+#~ msgstr "Jeu"
 
-#~ msgid "File must be owned by the database user and must have no permissions for \"group\" or \"other\"."
-#~ msgstr ""
-#~ "Le fichier doit appartenir au propriétaire de la base de données et ne doit\n"
-#~ "pas avoir de droits pour un groupe ou pour les autres."
+#~ msgid "Wed"
+#~ msgstr "Mer"
 
-#~ msgid "cannot use authentication method \"crypt\" because password is MD5-encrypted"
-#~ msgstr ""
-#~ "n'a pas pu utiliser la méthode d'authentification « crypt » car le mot de\n"
-#~ "passe est chiffré avec MD5"
+#~ msgid "Tue"
+#~ msgstr "Mar"
 
-#~ msgid "invalid entry in file \"%s\" at line %d, token \"%s\""
-#~ msgstr "entrée invalide dans le fichier « %s » à la ligne %d, jeton « %s »"
+#~ msgid "Mon"
+#~ msgstr "Lun"
 
-#~ msgid "missing field in file \"%s\" at end of line %d"
-#~ msgstr "champ manquant dans le fichier « %s » à la fin de la ligne %d"
+#~ msgid "Sun"
+#~ msgstr "Dim"
 
-#~ msgid "cannot use Ident authentication without usermap field"
-#~ msgstr "n'a pas pu utiliser l'authentication Ident sans le champ usermap"
+#~ msgid "Saturday"
+#~ msgstr "Samedi"
 
-#~ msgid "Ident protocol identifies remote user as \"%s\""
-#~ msgstr "le protocole Ident identifie l'utilisateur distant comme « %s »"
+#~ msgid "Friday"
+#~ msgstr "Vendredi"
 
-#~ msgid "SELECT FOR UPDATE/SHARE is not supported for inheritance queries"
-#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas supporté pour les requêtes d'héritage"
+#~ msgid "Thursday"
+#~ msgstr "Jeudi"
 
-#~ msgid "missing FROM-clause entry in subquery for table \"%s\""
-#~ msgstr "entrée manquante de la clause FROM dans la sous-requête de la table « %s »"
+#~ msgid "Wednesday"
+#~ msgstr "Mercredi"
 
-#~ msgid "adding missing FROM-clause entry in subquery for table \"%s\""
-#~ msgstr "entrée manquante de la clause FROM dans la sous-requête pour la table « %s »"
+#~ msgid "Tuesday"
+#~ msgstr "Mardi"
 
-#~ msgid "%s: the number of buffers (-B) must be at least twice the number of allowed connections (-N) and at least 16\n"
-#~ msgstr ""
-#~ "%s : le nombre de tampons (-B) doit être au moins deux fois le nombre de\n"
-#~ "connexions disponibles (-N) et au moins 16\n"
+#~ msgid "Monday"
+#~ msgstr "Lundi"
 
-#~ msgid "could not set statistics collector timer: %m"
-#~ msgstr "n'a pas pu configurer le timer du récupérateur de statistiques : %m"
+#~ msgid "Sunday"
+#~ msgstr "Dimanche"
 
-#~ msgid "insufficient shared memory for free space map"
-#~ msgstr "mémoire partagée insuffisante pour la structure FSM"
+#~ msgid "Dec"
+#~ msgstr "Déc"
 
-#~ msgid "max_fsm_pages must exceed max_fsm_relations * %d"
-#~ msgstr "max_fsm_pages doit excéder max_fsm_relations * %d"
+#~ msgid "Nov"
+#~ msgstr "Nov"
 
-#~ msgid "free space map contains %d pages in %d relations"
-#~ msgstr "la structure FSM contient %d pages dans %d relations"
+#~ msgid "Oct"
+#~ msgstr "Oct"
 
-#~ msgid ""
-#~ "A total of %.0f page slots are in use (including overhead).\n"
-#~ "%.0f page slots are required to track all free space.\n"
-#~ "Current limits are:  %d page slots, %d relations, using %.0f kB."
-#~ msgstr ""
-#~ "Un total de %.0f emplacements de pages est utilisé (ceci incluant la\n"
-#~ "surcharge).\n"
-#~ "%.0f emplacements de pages sont requis pour tracer tout l'espace libre.\n"
-#~ "Les limites actuelles sont : %d emplacements de pages, %d relations,\n"
-#~ "utilisant %.0f Ko."
+#~ msgid "Sep"
+#~ msgstr "Sep"
 
-#~ msgid "max_fsm_relations(%d) equals the number of relations checked"
-#~ msgstr "max_fsm_relations(%d) équivaut au nombre de relations tracées"
+#~ msgid "Aug"
+#~ msgstr "Aoû"
 
-#~ msgid "You have at least %d relations.  Consider increasing the configuration parameter \"max_fsm_relations\"."
-#~ msgstr ""
-#~ "Vous avez au moins %d relations.Considèrez l'augmentation du paramètre de\n"
-#~ "configuration « max_fsm_relations »."
+#~ msgid "Jul"
+#~ msgstr "Juil"
 
-#~ msgid "number of page slots needed (%.0f) exceeds max_fsm_pages (%d)"
-#~ msgstr "le nombre d'emplacements de pages nécessaires (%.0f) dépasse max_fsm_pages (%d)"
+#~ msgid "Jun"
+#~ msgstr "Juin"
 
-#~ msgid "Consider increasing the configuration parameter \"max_fsm_pages\" to a value over %.0f."
-#~ msgstr ""
-#~ "Considérez l'augmentation du paramètre de configuration « max_fsm_pages »\n"
-#~ "à une valeur supérieure à %.0f."
+#~ msgid "S:May"
+#~ msgstr "S:Mai"
 
-#~ msgid "string is too long for tsvector"
-#~ msgstr "la chaîne est trop longue pour un tsvector"
+#~ msgid "Apr"
+#~ msgstr "Avr"
 
-#~ msgid "Prints the parse tree to the server log."
-#~ msgstr "Affiche l'arbre d'analyse dans les journaux applicatifs du serveur."
+#~ msgid "Mar"
+#~ msgstr "Mar"
 
-#~ msgid "Prints the parse tree after rewriting to server log."
-#~ msgstr "Affiche l'arbre d'analyse après ré-écriture dans les journaux applicatifs du serveur."
+#~ msgid "Feb"
+#~ msgstr "Fév"
 
-#~ msgid "Prints the execution plan to server log."
-#~ msgstr "Affiche le plan d'exécution dans les journaux applicatifs du serveur."
+#~ msgid "Jan"
+#~ msgstr "Jan"
 
-#~ msgid "Uses the indented output format for EXPLAIN VERBOSE."
-#~ msgstr "Utilise le format de sortie indenté pour EXPLAIN VERBOSE."
+#~ msgid "December"
+#~ msgstr "Décembre"
 
-#~ msgid "Sets the maximum number of tables and indexes for which free space is tracked."
-#~ msgstr ""
-#~ "Initialise le nombre maximum de tables et index pour lesquels l'espace libre\n"
-#~ "est tracé."
+#~ msgid "November"
+#~ msgstr "Novembre"
 
-#~ msgid "Sets the maximum number of disk pages for which free space is tracked."
-#~ msgstr ""
-#~ "Initialise le nombre maximum de pages disque pour lesquelles l'espace libre\n"
-#~ "est tracé."
+#~ msgid "October"
+#~ msgstr "Octobre"
 
-#~ msgid "Valid values are ON, OFF, and SAFE_ENCODING."
-#~ msgstr "Les valeurs valides sont ON, OFF et SAFE_ENCODING."
+#~ msgid "September"
+#~ msgstr "Septembre"
 
-#~ msgid "Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, and PANIC. Each level includes all the levels that follow it."
-#~ msgstr ""
-#~ "Les valeurs valides sont DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO,\n"
-#~ "NOTICE, WARNING, ERROR, LOG, FATAL et PANIC. Chaque niveau incut tous les\n"
-#~ "niveaux qui le suit."
+#~ msgid "August"
+#~ msgstr "Août"
 
-#~ msgid "All SQL statements that cause an error of the specified level or a higher level are logged."
-#~ msgstr ""
-#~ "Toutes les instructions SQL causant une erreur du niveau spécifié ou d'un\n"
-#~ "niveau supérieur sont tracées."
+#~ msgid "July"
+#~ msgstr "Juillet"
 
-#~ msgid "Each SQL transaction has an isolation level, which can be either \"read uncommitted\", \"read committed\", \"repeatable read\", or \"serializable\"."
-#~ msgstr ""
-#~ "Chaque transaction SQL a un niveau d'isolation qui peut être soit « read\n"
-#~ "uncommitted », soit « read committed », soit « repeatable read », soit\n"
-#~ "« serializable »."
+#~ msgid "June"
+#~ msgstr "Juin"
 
-#~ msgid "Each session can be either \"origin\", \"replica\", or \"local\"."
-#~ msgstr "Chaque session peut valoir soit « origin » soit « replica » soit « local »."
+#~ msgid "May"
+#~ msgstr "Mai"
 
-#~ msgid "Sets realm to match Kerberos and GSSAPI users against."
-#~ msgstr ""
-#~ "Indique le royaume pour l'authentification des utilisateurs via Kerberos et\n"
-#~ "GSSAPI."
+#~ msgid "April"
+#~ msgstr "Avril"
 
-#~ msgid "Sets the hostname of the Kerberos server."
-#~ msgstr "Initalise le nom d'hôte du serveur Kerberos."
+#~ msgid "March"
+#~ msgstr "Mars"
 
-#~ msgid "This can be set to advanced, extended, or basic."
-#~ msgstr ""
-#~ "Ceci peut être initialisé avec advanced (avancé), extended (étendu) ou\n"
-#~ "basic (basique)."
+#~ msgid "February"
+#~ msgstr "Février"
 
-#~ msgid "Valid values are LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7."
-#~ msgstr ""
-#~ "Les valeurs valides sont LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5,\n"
-#~ "LOCAL6, LOCAL7."
+#~ msgid "January"
+#~ msgstr "Janvier"
 
-#~ msgid "Valid values are DOCUMENT and CONTENT."
-#~ msgstr "Les valeurs valides sont DOCUMENT et CONTENT."
+#~ msgid "\"TZ\"/\"tz\" not supported"
+#~ msgstr "« TZ »/« tz » non supporté"
 
-#~ msgid "invalid argument for power function"
-#~ msgstr "argument invalide pour la fonction puissance (power)"
+#~ msgid "invalid AM/PM string"
+#~ msgstr "chaîne AM/PM invalide"
 
 #~ msgid "not unique \"S\""
 #~ msgstr "« S » non unique"
 
-#~ msgid "invalid AM/PM string"
-#~ msgstr "chaîne AM/PM invalide"
+#~ msgid "invalid argument for power function"
+#~ msgstr "argument invalide pour la fonction puissance (power)"
 
-#~ msgid "\"TZ\"/\"tz\" not supported"
-#~ msgstr "« TZ »/« tz » non supporté"
+#~ msgid "Valid values are DOCUMENT and CONTENT."
+#~ msgstr "Les valeurs valides sont DOCUMENT et CONTENT."
 
-#~ msgid "January"
-#~ msgstr "Janvier"
+#~ msgid "Valid values are LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7."
+#~ msgstr ""
+#~ "Les valeurs valides sont LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5,\n"
+#~ "LOCAL6, LOCAL7."
 
-#~ msgid "February"
-#~ msgstr "Février"
+#~ msgid "This can be set to advanced, extended, or basic."
+#~ msgstr ""
+#~ "Ceci peut être initialisé avec advanced (avancé), extended (étendu) ou\n"
+#~ "basic (basique)."
 
-#~ msgid "March"
-#~ msgstr "Mars"
+#~ msgid "Sets the hostname of the Kerberos server."
+#~ msgstr "Initalise le nom d'hôte du serveur Kerberos."
 
-#~ msgid "April"
-#~ msgstr "Avril"
+#~ msgid "Sets realm to match Kerberos and GSSAPI users against."
+#~ msgstr ""
+#~ "Indique le royaume pour l'authentification des utilisateurs via Kerberos et\n"
+#~ "GSSAPI."
 
-#~ msgid "May"
-#~ msgstr "Mai"
+#~ msgid "Each session can be either \"origin\", \"replica\", or \"local\"."
+#~ msgstr "Chaque session peut valoir soit « origin » soit « replica » soit « local »."
 
-#~ msgid "June"
-#~ msgstr "Juin"
+#~ msgid "Each SQL transaction has an isolation level, which can be either \"read uncommitted\", \"read committed\", \"repeatable read\", or \"serializable\"."
+#~ msgstr ""
+#~ "Chaque transaction SQL a un niveau d'isolation qui peut être soit « read\n"
+#~ "uncommitted », soit « read committed », soit « repeatable read », soit\n"
+#~ "« serializable »."
 
-#~ msgid "July"
-#~ msgstr "Juillet"
+#~ msgid "All SQL statements that cause an error of the specified level or a higher level are logged."
+#~ msgstr ""
+#~ "Toutes les instructions SQL causant une erreur du niveau spécifié ou d'un\n"
+#~ "niveau supérieur sont tracées."
 
-#~ msgid "August"
-#~ msgstr "Août"
+#~ msgid "Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, and PANIC. Each level includes all the levels that follow it."
+#~ msgstr ""
+#~ "Les valeurs valides sont DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO,\n"
+#~ "NOTICE, WARNING, ERROR, LOG, FATAL et PANIC. Chaque niveau incut tous les\n"
+#~ "niveaux qui le suit."
 
-#~ msgid "September"
-#~ msgstr "Septembre"
+#~ msgid "Valid values are ON, OFF, and SAFE_ENCODING."
+#~ msgstr "Les valeurs valides sont ON, OFF et SAFE_ENCODING."
 
-#~ msgid "October"
-#~ msgstr "Octobre"
+#~ msgid "Sets the maximum number of disk pages for which free space is tracked."
+#~ msgstr ""
+#~ "Initialise le nombre maximum de pages disque pour lesquelles l'espace libre\n"
+#~ "est tracé."
 
-#~ msgid "November"
-#~ msgstr "Novembre"
+#~ msgid "Sets the maximum number of tables and indexes for which free space is tracked."
+#~ msgstr ""
+#~ "Initialise le nombre maximum de tables et index pour lesquels l'espace libre\n"
+#~ "est tracé."
 
-#~ msgid "December"
-#~ msgstr "Décembre"
+#~ msgid "Uses the indented output format for EXPLAIN VERBOSE."
+#~ msgstr "Utilise le format de sortie indenté pour EXPLAIN VERBOSE."
 
-#~ msgid "Jan"
-#~ msgstr "Jan"
+#~ msgid "Prints the execution plan to server log."
+#~ msgstr "Affiche le plan d'exécution dans les journaux applicatifs du serveur."
 
-#~ msgid "Feb"
-#~ msgstr "Fév"
+#~ msgid "Prints the parse tree after rewriting to server log."
+#~ msgstr "Affiche l'arbre d'analyse après ré-écriture dans les journaux applicatifs du serveur."
 
-#~ msgid "Mar"
-#~ msgstr "Mar"
+#~ msgid "Prints the parse tree to the server log."
+#~ msgstr "Affiche l'arbre d'analyse dans les journaux applicatifs du serveur."
 
-#~ msgid "Apr"
-#~ msgstr "Avr"
+#~ msgid "string is too long for tsvector"
+#~ msgstr "la chaîne est trop longue pour un tsvector"
 
-#~ msgid "S:May"
-#~ msgstr "S:Mai"
+#~ msgid "Consider increasing the configuration parameter \"max_fsm_pages\" to a value over %.0f."
+#~ msgstr ""
+#~ "Considérez l'augmentation du paramètre de configuration « max_fsm_pages »\n"
+#~ "à une valeur supérieure à %.0f."
 
-#~ msgid "Jun"
-#~ msgstr "Juin"
+#~ msgid "number of page slots needed (%.0f) exceeds max_fsm_pages (%d)"
+#~ msgstr "le nombre d'emplacements de pages nécessaires (%.0f) dépasse max_fsm_pages (%d)"
 
-#~ msgid "Jul"
-#~ msgstr "Juil"
+#~ msgid "You have at least %d relations.  Consider increasing the configuration parameter \"max_fsm_relations\"."
+#~ msgstr ""
+#~ "Vous avez au moins %d relations.Considèrez l'augmentation du paramètre de\n"
+#~ "configuration « max_fsm_relations »."
 
-#~ msgid "Aug"
-#~ msgstr "Aoû"
+#~ msgid "max_fsm_relations(%d) equals the number of relations checked"
+#~ msgstr "max_fsm_relations(%d) équivaut au nombre de relations tracées"
 
-#~ msgid "Sep"
-#~ msgstr "Sep"
+#~ msgid ""
+#~ "A total of %.0f page slots are in use (including overhead).\n"
+#~ "%.0f page slots are required to track all free space.\n"
+#~ "Current limits are:  %d page slots, %d relations, using %.0f kB."
+#~ msgstr ""
+#~ "Un total de %.0f emplacements de pages est utilisé (ceci incluant la\n"
+#~ "surcharge).\n"
+#~ "%.0f emplacements de pages sont requis pour tracer tout l'espace libre.\n"
+#~ "Les limites actuelles sont : %d emplacements de pages, %d relations,\n"
+#~ "utilisant %.0f Ko."
 
-#~ msgid "Oct"
-#~ msgstr "Oct"
+#~ msgid "free space map contains %d pages in %d relations"
+#~ msgstr "la structure FSM contient %d pages dans %d relations"
 
-#~ msgid "Nov"
-#~ msgstr "Nov"
+#~ msgid "max_fsm_pages must exceed max_fsm_relations * %d"
+#~ msgstr "max_fsm_pages doit excéder max_fsm_relations * %d"
 
-#~ msgid "Dec"
-#~ msgstr "Déc"
+#~ msgid "insufficient shared memory for free space map"
+#~ msgstr "mémoire partagée insuffisante pour la structure FSM"
 
-#~ msgid "Sunday"
-#~ msgstr "Dimanche"
+#~ msgid "could not set statistics collector timer: %m"
+#~ msgstr "n'a pas pu configurer le timer du récupérateur de statistiques : %m"
 
-#~ msgid "Monday"
-#~ msgstr "Lundi"
+#~ msgid "%s: the number of buffers (-B) must be at least twice the number of allowed connections (-N) and at least 16\n"
+#~ msgstr ""
+#~ "%s : le nombre de tampons (-B) doit être au moins deux fois le nombre de\n"
+#~ "connexions disponibles (-N) et au moins 16\n"
 
-#~ msgid "Tuesday"
-#~ msgstr "Mardi"
+#~ msgid "adding missing FROM-clause entry in subquery for table \"%s\""
+#~ msgstr "entrée manquante de la clause FROM dans la sous-requête pour la table « %s »"
 
-#~ msgid "Wednesday"
-#~ msgstr "Mercredi"
+#~ msgid "missing FROM-clause entry in subquery for table \"%s\""
+#~ msgstr "entrée manquante de la clause FROM dans la sous-requête de la table « %s »"
 
-#~ msgid "Thursday"
-#~ msgstr "Jeudi"
+#~ msgid "SELECT FOR UPDATE/SHARE is not supported for inheritance queries"
+#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas supporté pour les requêtes d'héritage"
 
-#~ msgid "Friday"
-#~ msgstr "Vendredi"
+#~ msgid "Ident protocol identifies remote user as \"%s\""
+#~ msgstr "le protocole Ident identifie l'utilisateur distant comme « %s »"
 
-#~ msgid "Saturday"
-#~ msgstr "Samedi"
+#~ msgid "cannot use Ident authentication without usermap field"
+#~ msgstr "n'a pas pu utiliser l'authentication Ident sans le champ usermap"
 
-#~ msgid "Sun"
-#~ msgstr "Dim"
+#~ msgid "missing field in file \"%s\" at end of line %d"
+#~ msgstr "champ manquant dans le fichier « %s » à la fin de la ligne %d"
 
-#~ msgid "Mon"
-#~ msgstr "Lun"
+#~ msgid "invalid entry in file \"%s\" at line %d, token \"%s\""
+#~ msgstr "entrée invalide dans le fichier « %s » à la ligne %d, jeton « %s »"
 
-#~ msgid "Tue"
-#~ msgstr "Mar"
+#~ msgid "cannot use authentication method \"crypt\" because password is MD5-encrypted"
+#~ msgstr ""
+#~ "n'a pas pu utiliser la méthode d'authentification « crypt » car le mot de\n"
+#~ "passe est chiffré avec MD5"
 
-#~ msgid "Wed"
-#~ msgstr "Mer"
+#~ msgid "File must be owned by the database user and must have no permissions for \"group\" or \"other\"."
+#~ msgstr ""
+#~ "Le fichier doit appartenir au propriétaire de la base de données et ne doit\n"
+#~ "pas avoir de droits pour un groupe ou pour les autres."
 
-#~ msgid "Thu"
-#~ msgstr "Jeu"
+#~ msgid "unsafe permissions on private key file \"%s\""
+#~ msgstr "droits non sûrs sur le fichier de la clé privée « %s »"
 
-#~ msgid "Fri"
-#~ msgstr "Ven"
+#~ msgid "could not get security token from context"
+#~ msgstr "n'a pas pu récupérer le jeton de sécurité à partir du contexte"
 
-#~ msgid "Sat"
-#~ msgstr "Sam"
+#~ msgid "GSSAPI not implemented on this server"
+#~ msgstr "GSSAPI non implémenté sur ce serveur"
 
-#~ msgid "AM/PM hour must be between 1 and 12"
-#~ msgstr "l'heure AM/PM doit être compris entre 1 et 12"
+#~ msgid "Kerberos 5 not implemented on this server"
+#~ msgstr "Kerberos 5 non implémenté sur ce serveur"
 
-#~ msgid "UTF-16 to UTF-8 translation failed: %lu"
-#~ msgstr "échec de la conversion d'UTF16 vers UTF8 : %lu"
+#~ msgid "unexpected Kerberos user name received from client (received \"%s\", expected \"%s\")"
+#~ msgstr ""
+#~ "nom d'utilisateur Kerberos inattendu reçu à partir du client (reçu « %s »,\n"
+#~ "attendu « %s »)"
 
-#~ msgid "cannot calculate week number without year information"
-#~ msgstr "ne peut pas calculer le numéro de la semaine sans informations sur l'année"
+#~ msgid "cannot change number of columns in view"
+#~ msgstr "ne peut pas modifier le nombre de colonnes dans la vue"
 
-#~ msgid "query requires full scan, which is not supported by GIN indexes"
+#~ msgid "Consider using VACUUM FULL on this relation or increasing the configuration parameter \"max_fsm_pages\"."
 #~ msgstr ""
-#~ "la requête nécessite un parcours complet, ce qui n'est pas supporté par les\n"
-#~ "index GIN"
+#~ "Pensez à compacter cette relation en utilisant VACUUM FULL ou à augmenter le\n"
+#~ "paramètre de configuration « max_fsm_pages »."
 
-#~ msgid "@@ operator does not support lexeme weight restrictions in GIN index searches"
+#~ msgid "relation \"%s.%s\" contains more than \"max_fsm_pages\" pages with useful free space"
 #~ msgstr ""
-#~ "l'opérateur @@ ne supporte pas les restrictions de poids de lexeme dans les\n"
-#~ "recherches par index GIN"
+#~ "la relation « %s.%s » contient plus de « max_fsm_pages » pages d'espace\n"
+#~ "libre utile"
 
-#~ msgid "Use the @@@ operator instead."
-#~ msgstr "Utilisez à la place l'opérateur @@@."
+#~ msgid "constraint definition for check constraint \"%s\" does not match"
+#~ msgstr ""
+#~ "la définition de la contrainte « %s » pour la contrainte de vérification ne\n"
+#~ "correspond pas"
 
-#~ msgid "unexpected delimiter at line %d of thesaurus file \"%s\""
-#~ msgstr "délimiteur inattendu sur la ligne %d du thesaurus « %s »"
+#~ msgid "multiple constraints named \"%s\" were dropped"
+#~ msgstr "les contraintes multiples nommées « %s » ont été supprimées"
 
-#~ msgid "unexpected end of line or lexeme at line %d of thesaurus file \"%s\""
-#~ msgstr "fin de ligne ou de lexeme inattendu sur la ligne %d du thesaurus « %s »"
+#~ msgid "there are objects dependent on %s"
+#~ msgstr "des objets dépendent de %s"
 
-#~ msgid "unexpected end of line at line %d of thesaurus file \"%s\""
-#~ msgstr "fin de ligne inattendue à la ligne %d du thésaurus « %s »"
+#~ msgid "failed to drop all objects depending on %s"
+#~ msgstr "échec lors de la suppression de tous les objets dépendant de %s"
 
-#~ msgid "could not remove database directory \"%s\""
-#~ msgstr "n'a pas pu supprimer le répertoire de bases de données « %s »"
+#~ msgid "parser stack overflow"
+#~ msgstr "saturation de la pile de l'analyseur"
 
-#~ msgid "index \"%s\" is not ready"
-#~ msgstr "l'index « %s » n'est pas prêt"
+#~ msgid "syntax error; also virtual memory exhausted"
+#~ msgstr "erreur de syntaxe ; de plus, mémoire virtuelle saturée"
 
-#~ msgid "argument number is out of range"
-#~ msgstr "le nombre en argument est en dehors des limites"
+#~ msgid "syntax error: cannot back up"
+#~ msgstr "erreur de syntaxe : n'a pas pu revenir"
 
-#~ msgid "No rows were found in \"%s\"."
-#~ msgstr "Aucune ligne trouvée dans « %s »."
+#~ msgid "log_restartpoints = %s"
+#~ msgstr "log_restartpoints = %s"
 
-#~ msgid "inconsistent use of year %04d and \"BC\""
-#~ msgstr "utilisation non cohérente de l'année %04d et de « BC »"
+#~ msgid "It looks like you need to initdb or install locale support."
+#~ msgstr ""
+#~ "Il semble que vous avez besoin d'exécuter initdb ou d'installer le support\n"
+#~ "des locales."
 
-#~ msgid "\"interval\" time zone \"%s\" not valid"
-#~ msgstr "le fuseau horaire « %s » n'est pas valide pour le type « interval »"
+#~ msgid "The database cluster was initialized with LOCALE_NAME_BUFLEN %d, but the server was compiled with LOCALE_NAME_BUFLEN %d."
+#~ msgstr ""
+#~ "Le cluster de bases de données a été initialisé avec un LOCALE_NAME_BUFLEN\n"
+#~ "à %d alors que le serveur a été compilé avec un LOCALE_NAME_BUFLEN à %d."
 
-#~ msgid "Not enough memory for reassigning the prepared transaction's locks."
-#~ msgstr "Pas assez de mémoire pour réaffecter les verrous des transactions préparées."
+#~ msgid "invalid LC_CTYPE setting"
+#~ msgstr "paramètre LC_CTYPE invalide"
 
-#~ msgid "large object %u was already dropped"
-#~ msgstr "le « Large Object » %u a déjà été supprimé"
+#~ msgid "invalid LC_COLLATE setting"
+#~ msgstr "paramètre LC_COLLATE invalide"
 
-#~ msgid "large object %u was not opened for writing"
-#~ msgstr "le « Large Object » %u n'a pas été ouvert en écriture"
+#~ msgid "GIN index does not support search with void query"
+#~ msgstr "les index GIN ne supportent pas la recherche avec des requêtes vides"
 
-#~ msgid "invalid standby query string: %s"
-#~ msgstr "chaîne de requête invalide sur le serveur en attente : %s"
+#~ msgid "fillfactor=%d is out of range (should be between %d and 100)"
+#~ msgstr "le facteur de remplissage (%d) est en dehors des limites (il devrait être entre %d et 100)"
 
-#~ msgid "terminating walsender process to force cascaded standby to update timeline and reconnect"
-#~ msgstr ""
-#~ "arrêt du processus walreceiver pour forcer le serveur standby en cascade à\n"
-#~ "mettre à jour la timeline et à se reconnecter"
+#, fuzzy
+#~ msgid "wrong number of array_subscripts"
+#~ msgstr "mauvais nombre d'indices du tableau"
 
-#~ msgid "invalid standby handshake message type %d"
-#~ msgstr "type %d du message de handshake du serveur en attente invalide"
+#~ msgid "could not create XPath object"
+#~ msgstr "n'a pas pu créer l'objet XPath"
 
-#~ msgid "streaming replication successfully connected to primary"
-#~ msgstr "réplication de flux connecté avec succès au serveur principal"
+#~ msgid "multiple TRUNCATE events specified"
+#~ msgstr "multiples événements TRUNCATE spécifiés"
 
-#~ msgid "shutdown requested, aborting active base backup"
-#~ msgstr "arrêt demandé, annulation de la sauvegarde active de base"
+#~ msgid "multiple UPDATE events specified"
+#~ msgstr "multiples événements UPDATE spécifiés"
 
-#~ msgid "terminating all walsender processes to force cascaded standby(s) to update timeline and reconnect"
+#~ msgid "multiple DELETE events specified"
+#~ msgstr "multiples événements DELETE spécifiés"
+
+#~ msgid "hurrying in-progress restartpoint"
+#~ msgstr "accélération du restartpoint en cours"
+
+#~ msgid "NEW used in query that is not in a rule"
+#~ msgstr "NEW utilisé dans une requête qui ne fait pas partie d'une règle"
+
+#~ msgid "OLD used in query that is not in a rule"
+#~ msgstr "OLD utilisé dans une requête qui n'est pas une règle"
+
+#~ msgid "adding missing FROM-clause entry for table \"%s\""
+#~ msgstr "ajout d'une entrée manquante dans FROM (table « %s »)"
+
+#~ msgid "SELECT FOR UPDATE/SHARE is not allowed in subqueries"
+#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé dans les sous-requêtes"
+
+#~ msgid "unsupported PAM conversation %d/%s"
+#~ msgstr "conversation PAM %d/%s non supportée"
+
+#~ msgid "could not seek to end of segment %u of relation %s: %m"
+#~ msgstr "n'a pas pu se déplacer à la fin du segment %u de la relation %s : %m"
+
+#~ msgid "could not fsync segment %u of relation %s but retrying: %m"
 #~ msgstr ""
-#~ "arrêt de tous les processus walsender pour forcer les serveurs standby en\n"
-#~ "cascade à mettre à jour la timeline et à se reconnecter"
+#~ "n'a pas pu synchroniser sur disque (fsync) le segment %u de la relation\n"
+#~ "%s, nouvelle tentative : %m"
+
+#~ msgid "could not fsync segment %u of relation %s: %m"
+#~ msgstr ""
+#~ "n'a pas pu synchroniser sur disque (fsync) le segment %u de la relation\n"
+#~ "%s : %m"
+
+#~ msgid "could not open segment %u of relation %s: %m"
+#~ msgstr "n'a pas pu ouvrir le segment %u de la relation %s : %m"
+
+#~ msgid "could not write block %u of relation %s: %m"
+#~ msgstr "n'a pas pu écrire le bloc %u de la relation %s : %m"
+
+#~ msgid "could not read block %u of relation %s: %m"
+#~ msgstr "n'a pas pu lire le bloc %u de la relation %s : %m"
+
+#~ msgid "could not open relation %s: %m"
+#~ msgstr "n'a pas pu ouvrir la relation %s : %m"
+
+#~ msgid "could not extend relation %s: %m"
+#~ msgstr "n'a pas pu étendre la relation %s : %m"
+
+#~ msgid "could not seek to block %u of relation %s: %m"
+#~ msgstr "n'a pas pu se positionner sur le bloc %u de la relation %s : %m"
+
+#~ msgid "could not remove segment %u of relation %s: %m"
+#~ msgstr "n'a pas pu supprimer le segment %u de la relation %s : %m"
+
+#~ msgid "could not remove relation %s: %m"
+#~ msgstr "n'a pas pu supprimer la relation %s : %m"
+
+#~ msgid "SELECT FOR UPDATE/SHARE is not supported within a query with multiple result relations"
+#~ msgstr ""
+#~ "SELECT FOR UPDATE/SHARE n'est pas supporté dans une requête avec plusieurs\n"
+#~ "relations"
+
+#~ msgid "cannot set session authorization within security-definer function"
+#~ msgstr "ne peut pas exécuter SESSION AUTHORIZATION sur la fonction SECURITY DEFINER"
+
+#~ msgid "cannot specify CSV in BINARY mode"
+#~ msgstr "ne peut pas spécifier CSV en mode binaire (BINARY)"
+
+#~ msgid "invalid role password \"%s\""
+#~ msgstr "mot de passe « %s » de l'utilisateur invalide"
+
+#~ msgid "invalid role name \"%s\""
+#~ msgstr "nom de rôle « %s » invalide"
+
+#~ msgid "invalid database name \"%s\""
+#~ msgstr "nom de base de données « %s » invalide"
+
+#~ msgid "This parameter cannot be changed after server start."
+#~ msgstr "Ce paramètre ne peut pas être modifié après le lancement du serveur"
+
+#~ msgid "attempted change of parameter \"%s\" ignored"
+#~ msgstr "tentative de modification du paramètre « %s » ignoré"
+
+#~ msgid "Sets the regular expression \"flavor\"."
+#~ msgstr "Initialise l'expression rationnelle « flavor »."
+
+#~ msgid "Automatically adds missing table references to FROM clauses."
+#~ msgstr ""
+#~ "Ajoute automatiquement les références à la table manquant dans les clauses\n"
+#~ "FROM."
+
+#~ msgid "Table contains duplicated values."
+#~ msgstr "La table contient des valeurs dupliquées."
+
+#~ msgid "index row size %lu exceeds btree maximum, %lu"
+#~ msgstr "la taille de la ligne index %lu dépasse le maximum de btree, %lu"
+
+#~ msgid "DISTINCT is supported only for single-argument aggregates"
+#~ msgstr "DISTINCT est seulement supporté pour les agrégats à un seul argument"
+
+#~ msgid "database system is in consistent recovery mode"
+#~ msgstr "le système de bases de données est dans un mode de restauration cohérent"
+
+#~ msgid "frame start at CURRENT ROW is not implemented"
+#~ msgstr "début du frame à CURRENT ROW n'est pas implémenté"
+
+#~ msgid "Rebuild the index with REINDEX."
+#~ msgstr "Reconstruisez l'index avec REINDEX."
+
+#~ msgid "index \"%s\" contains %.0f row versions, but table contains %.0f row versions"
+#~ msgstr ""
+#~ "l'index « %s » contient %.0f versions de ligne, mais la table contient %.0f\n"
+#~ "versions de ligne"
 
 #~ msgid ""
-#~ "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter.  You can either reduce the request size or reconfigure the kernel with larger SHMMAX.  To reduce the request size (currently %lu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.\n"
-#~ "If the request size is already small, it's possible that it is less than your kernel's SHMMIN parameter, in which case raising the request size or reconfiguring SHMMIN is called for.\n"
-#~ "The PostgreSQL documentation contains more information about shared memory configuration."
+#~ "%u index pages have been deleted, %u are currently reusable.\n"
+#~ "%s."
 #~ msgstr ""
-#~ "Cette erreur signifie habituellement que la demande de PostgreSQL pour un\n"
-#~ "segment de mémoire partagée a dépassé le paramètre SHMMAX de votre noyau.\n"
-#~ "Vous pouvez soit réduire la taille de la requête soit reconfigurer le noyau\n"
-#~ "avec un SHMMAX plus important. Pour réduire la taille de la requête\n"
-#~ "(actuellement %lu octets), réduisez l'utilisation de la mémoire partagée par PostgreSQL,par exemple en réduisant shared_buffers ou max_connections\n"
-#~ "Si la taille de la requête est déjà petite, il est possible qu'elle soit\n"
-#~ "moindre que le paramètre SHMMIN de votre noyau, auquel cas, augmentez la\n"
-#~ "taille de la requête ou reconfigurez SHMMIN.\n"
-#~ "La documentation de PostgreSQL contient plus d'informations sur la\n"
-#~ "configuration de la mémoire partagée."
+#~ "%u pages d'index ont été supprimées, %u sont actuellement réutilisables.\n"
+#~ "%s."
 
-#~ msgid "cannot use window function in rule WHERE condition"
-#~ msgstr "ne peut pas utiliser la fonction window dans la condition d'une règle WHERE"
+#~ msgid "\"%s\": moved %u row versions, truncated %u to %u pages"
+#~ msgstr "« %s » : %u versions de ligne déplacées, %u pages tronquées sur %u"
 
-#~ msgid "cannot use aggregate function in rule WHERE condition"
-#~ msgstr "ne peut pas utiliser la fonction d'agrégat dans la condition d'une règle WHERE"
+#~ msgid ""
+#~ "%.0f dead row versions cannot be removed yet.\n"
+#~ "Nonremovable row versions range from %lu to %lu bytes long.\n"
+#~ "There were %.0f unused item pointers.\n"
+#~ "Total free space (including removable row versions) is %.0f bytes.\n"
+#~ "%u pages are or will become empty, including %u at the end of the table.\n"
+#~ "%u pages containing %.0f free bytes are potential move destinations.\n"
+#~ "%s."
+#~ msgstr ""
+#~ "%.0f versions de lignes mortes ne peuvent pas encore être supprimées.\n"
+#~ "Les versions non supprimables de ligne vont de %lu to %lu octets.\n"
+#~ "Il existait %.0f pointeurs d'éléments inutilisés.\n"
+#~ "L'espace libre total (incluant les versions supprimables de ligne) est de\n"
+#~ "%.0f octets.\n"
+#~ "%u pages sont ou deviendront vides, ceci incluant %u pages en fin de la\n"
+#~ "table.\n"
+#~ "%u pages contenant %.0f octets libres sont des destinations de déplacement\n"
+#~ "disponibles.\n"
+#~ "%s."
 
-#~ msgid "arguments of row IN must all be row expressions"
-#~ msgstr "les arguments de la ligne IN doivent tous être des expressions de ligne"
+#~ msgid "relation \"%s\" TID %u/%u: DeleteTransactionInProgress %u --- cannot shrink relation"
+#~ msgstr ""
+#~ "relation « %s », TID %u/%u : DeleteTransactionInProgress %u --- n'a pas pu\n"
+#~ "diminuer la taille de la relation"
 
-#~ msgid "argument of %s must not contain window functions"
-#~ msgstr "l'argument de %s ne doit pas contenir des fonctions window"
+#~ msgid "relation \"%s\" TID %u/%u: InsertTransactionInProgress %u --- cannot shrink relation"
+#~ msgstr ""
+#~ "relation « %s », TID %u/%u : InsertTransactionInProgress %u --- n'a pas pu\n"
+#~ "diminuer la taille de la relation"
 
-#~ msgid "argument of %s must not contain aggregate functions"
-#~ msgstr "l'argument de %s ne doit pas contenir de fonctions d'agrégats"
+#~ msgid "relation \"%s\" TID %u/%u: dead HOT-updated tuple --- cannot shrink relation"
+#~ msgstr ""
+#~ "relation « %s », TID %u/%u : ligne morte mise à jour par HOT --- n'a pas pu\n"
+#~ "diminuer la taille de la relation"
 
-#~ msgid "cannot use window function in function expression in FROM"
+#~ msgid "relation \"%s\" TID %u/%u: XMIN_COMMITTED not set for transaction %u --- cannot shrink relation"
 #~ msgstr ""
-#~ "ne peut pas utiliser la fonction window dans l'expression de la fonction\n"
-#~ "du FROM"
+#~ "relation « %s », TID %u/%u : XMIN_COMMITTED non configuré pour la\n"
+#~ "transaction %u --- n'a pas pu diminuer la taille de la relation"
 
-#~ msgid "function expression in FROM cannot refer to other relations of same query level"
+#~ msgid "directory \"%s\" is not empty"
+#~ msgstr "le répertoire « %s » n'est pas vide"
+
+#~ msgid "number of distinct values %g is too low"
+#~ msgstr "le nombre de valeurs distinctes %g est trop basse"
+
+#~ msgid "cannot truncate system relation \"%s\""
+#~ msgstr "ne peut pas tronquer la relation système « %s »"
+
+#~ msgid "shared table \"%s\" can only be reindexed in stand-alone mode"
+#~ msgstr "la table partagée « %s » peut seulement être réindexé en mode autonome"
+
+#~ msgid "\"%s\" is a system catalog"
+#~ msgstr "« %s » est un catalogue système"
+
+#~ msgid "shared index \"%s\" can only be reindexed in stand-alone mode"
+#~ msgstr "un index partagé « %s » peut seulement être réindexé en mode autonome"
+
+#~ msgid "Sets the language used in DO statement if LANGUAGE is not specified."
 #~ msgstr ""
-#~ "l'expression de la fonction du FROM ne peut pas faire référence à d'autres\n"
-#~ "relations sur le même niveau de la requête"
+#~ "Configure le langage utilisé dans une instruction DO si la clause LANGUAGE n'est\n"
+#~ "pas spécifiée."
 
-#~ msgid "subquery in FROM cannot refer to other relations of same query level"
+#~ msgid "This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by \"client_encoding\"."
 #~ msgstr ""
-#~ "la sous-requête du FROM ne peut pas faire référence à d'autres relations\n"
-#~ "dans le même niveau de la requête"
+#~ "Cette erreur peut aussi survenir si la séquence d'octets ne correspond pas\n"
+#~ "au jeu de caractères attendu par le serveur, le jeu étant contrôlé par\n"
+#~ "« client_encoding »."
 
-#~ msgid "JOIN/ON clause refers to \"%s\", which is not part of JOIN"
-#~ msgstr "la clause JOIN/ON se réfère à « %s », qui ne fait pas partie du JOIN"
+#~ msgid "redo starts at %X/%X, consistency will be reached at %X/%X"
+#~ msgstr "la restauration comme à %X/%X, la cohérence sera atteinte à %X/%X"
 
-#~ msgid "window functions not allowed in GROUP BY clause"
-#~ msgstr "fonctions window non autorisées dans une clause GROUP BY"
+#~ msgid "binary value is out of range for type bigint"
+#~ msgstr "la valeur binaire est en dehors des limites du type bigint"
 
-#~ msgid "aggregates not allowed in WHERE clause"
-#~ msgstr "agrégats non autorisés dans une clause WHERE"
+#~ msgid "transaction is read-only"
+#~ msgstr "la transaction est en lecture seule"
 
-#~ msgid "SELECT FOR UPDATE/SHARE cannot be used with foreign table \"%s\""
-#~ msgstr "SELECT FOR UPDATE/SHARE ne peut pas être utilisé avec une table distante « %s »"
+#~ msgid "PID %d is among the slowest backends."
+#~ msgstr "Le PID %d est parmi les processus serveur les plus lents."
 
-#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with window functions"
-#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec les fonctions window"
+#, fuzzy
+#~ msgid "invalid WAL message received from primary"
+#~ msgstr "format du message invalide"
 
-#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with aggregate functions"
-#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec les fonctions d'agrégats"
+#, fuzzy
+#~ msgid "sorry, too many standbys already"
+#~ msgstr "désolé, trop de clients sont déjà connectés"
 
-#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with HAVING clause"
-#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec la clause HAVING"
+#~ msgid "WAL file SYSID is %s, pg_control SYSID is %s"
+#~ msgstr "le SYSID du journal de transactions WAL est %s, celui de pg_control est %s"
 
-#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with GROUP BY clause"
-#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec la clause GROUP BY"
+#, fuzzy
+#~ msgid "couldn't put socket to blocking mode: %m"
+#~ msgstr "n'a pas pu activer le mode bloquant pour la socket : %s\n"
 
-#~ msgid "RETURNING cannot contain references to other relations"
-#~ msgstr "RETURNING ne doit pas contenir de références à d'autres relations"
+#, fuzzy
+#~ msgid "couldn't put socket to non-blocking mode: %m"
+#~ msgstr "n'a pas pu activer le mode non-bloquant pour la socket : %s\n"
 
-#~ msgid "cannot use window function in RETURNING"
-#~ msgstr "ne peut pas utiliser une fonction window dans RETURNING"
+#~ msgid "not enough shared memory for background writer"
+#~ msgstr "pas assez de mémoire partagée pour le processus d'écriture en tâche de fond"
 
-#~ msgid "cannot use aggregate function in RETURNING"
-#~ msgstr "ne peut pas utiliser une fonction d'agrégat dans RETURNING"
+#~ msgid "connection limit exceeded for non-superusers"
+#~ msgstr "limite de connexions dépassée pour les utilisateurs standards"
 
-#~ msgid "cannot use window function in UPDATE"
-#~ msgstr "ne peut pas utiliser une fonction window dans un UPDATE"
+#~ msgid "not enough shared memory for walreceiver"
+#~ msgstr ""
+#~ "pas assez de mémoire partagée pour le processus de réception des journaux de\n"
+#~ "transactions"
 
-#~ msgid "cannot use aggregate function in UPDATE"
-#~ msgstr "ne peut pas utiliser une fonction d'agrégat dans un UPDATE"
+#~ msgid "not enough shared memory for walsender"
+#~ msgstr "pas assez de mémoire partagée pour le processus d'envoi des journaux de transactions"
 
-#~ msgid "cannot use window function in VALUES"
-#~ msgstr "ne peut pas utiliser la fonction window dans un VALUES"
+#~ msgid "unlogged operation performed, data may be missing"
+#~ msgstr "opération réalisée non tracée, les données pourraient manquer"
 
-#~ msgid "cannot use aggregate function in VALUES"
-#~ msgstr "ne peut pas utiliser la fonction d'agrégat dans un VALUES"
+#~ msgid "During recovery, allows connections and queries.  During normal running, causes additional info to be written to WAL to enable hot standby mode on WAL standby nodes."
+#~ msgstr ""
+#~ "Lors de la restauration, autorise les connexions et les requêtes. Lors d'une\n"
+#~ "exécution normale, fait que des informations supplémentaires sont écrites dans\n"
+#~ "les journaux de transactions pour activer le mode Hot Standby sur les n½uds\n"
+#~ "en attente."
 
-#~ msgid "Use SELECT ... UNION ALL ... instead."
-#~ msgstr "Utilisez à la place SELECT ... UNION ALL ..."
+#~ msgid "archive_command must be defined before online backups can be made safely."
+#~ msgstr ""
+#~ "archive_command doit être défini avant que les sauvegardes à chaud puissent\n"
+#~ "s'effectuer correctement."
 
-#~ msgid "VALUES must not contain OLD or NEW references"
-#~ msgstr "VALUES ne doit pas contenir des références à OLD et NEW"
+#~ msgid "archive_mode must be enabled at server start."
+#~ msgstr "archive_mode doit être activé au lancement du serveur."
 
-#~ msgid "VALUES must not contain table references"
-#~ msgstr "VALUES ne doit pas contenir de références de table"
+#~ msgid "WAL archiving is not active"
+#~ msgstr "l'archivage des journaux de transactions n'est pas actif"
 
-#~ msgid "LDAP search failed for filter \"%s\" on server \"%s\": user is not unique (%ld matches)"
+#~ msgid "usermap \"%s\""
+#~ msgstr "correspondance utilisateur « %s »"
+
+#~ msgid "restartpoint_command = '%s'"
+#~ msgstr "restartpoint_command = '%s'"
+
+#~ msgid "recovery restart point at %X/%X with latest known log time %s"
 #~ msgstr ""
-#~ "échec de la recherche LDAP pour le filtre « %s » sur le serveur « %s » :\n"
-#~ "utilisateur non unique (%ld correspondances)"
+#~ "point de relancement de la restauration sur %X/%X avec %s comme dernière\n"
+#~ "date connue du journal"
 
-#~ msgid "You need an unconditional ON DELETE DO INSTEAD rule or an INSTEAD OF DELETE trigger."
-#~ msgstr "Vous avez besoin d'une règle inconditionnelle ON DELETE DO INSTEAD ou d'un trigger INSTEAD OF DELETE."
+#~ msgid "Not safe to send CSV data\n"
+#~ msgstr "Envoi non sûr des données CSV\n"
+
+#~ msgid "Sets the message levels that are logged during recovery."
+#~ msgstr "Initialise les niveaux de messages qui sont tracés lors de la restauration."
+
+#~ msgid "parameter \"standby_mode\" requires a Boolean value"
+#~ msgstr "le paramètre « standby_mode » requiert une valeur booléenne"
+
+#~ msgid "parameter \"recovery_target_inclusive\" requires a Boolean value"
+#~ msgstr "le paramètre « recovery_target_inclusive » requiert une valeur booléenne"
+
+#~ msgid "cannot drop \"%s\" because it is being used by active queries in this session"
+#~ msgstr ""
+#~ "ne peut pas supprimer « %s » car cet objet est en cours d'utilisation par\n"
+#~ "des requêtes actives dans cette session"
 
-#~ msgid "You need an unconditional ON UPDATE DO INSTEAD rule or an INSTEAD OF UPDATE trigger."
-#~ msgstr "Vous avez besoin d'une règle non conditionnelle ON UPDATE DO INSTEAD ou d'un trigger INSTEAD OF UPDATE."
+#~ msgid "unrecognized \"log_destination\" key word: \"%s\""
+#~ msgstr "mot clé « log_destination » non reconnu : « %s »"
 
-#~ msgid "You need an unconditional ON INSERT DO INSTEAD rule or an INSTEAD OF INSERT trigger."
-#~ msgstr "Vous avez besoin d'une règle ON INSERT DO INSTEAD sans condition ou d'un trigger INSTEAD OF INSERT."
+#~ msgid "invalid list syntax for parameter \"log_destination\""
+#~ msgstr "syntaxe de liste invalide pour le paramètre « log_destination »"
 
-#~ msgid "automatic vacuum of table \"%s.%s.%s\": cannot (re)acquire exclusive lock for truncate scan"
-#~ msgstr "vacuum automatique de la table « %s.%s.%s » : ne peut pas acquérir le verrou exclusif pour la tronquer"
+#~ msgid "Sets immediate fsync at commit."
+#~ msgstr "Configure un fsync immédiat lors du commit."
 
-#~ msgid "must be superuser to rename text search templates"
-#~ msgstr "doit être super-utilisateur pour renommer les modèles de recherche plein texte"
+#~ msgid "could not open new log file \"%s\": %m"
+#~ msgstr "n'a pas pu ouvrir le nouveau journal applicatif « %s » : %m"
 
-#~ msgid "must be superuser to rename text search parsers"
-#~ msgstr ""
-#~ "doit être super-utilisateur pour renommer les analyseurs de recherche plein\n"
-#~ "texte"
+#~ msgid "could not create log file \"%s\": %m"
+#~ msgstr "n'a pas pu créer le journal applicatif « %s » : %m"
 
-#~ msgid "cannot use window function in trigger WHEN condition"
-#~ msgstr "ne peut pas utiliser la fonction window dans la condition WHEN d'un trigger"
+#~ msgid "Ident authentication is not supported on local connections on this platform"
+#~ msgstr "l'authentification Ident n'est pas supportée sur les connexions locales sur cette plateforme"
 
-#~ msgid "Use ALTER FOREIGN TABLE instead."
-#~ msgstr "Utilisez ALTER FOREIGN TABLE à la place."
+#~ msgid "could not get effective UID from peer credentials: %m"
+#~ msgstr "n'a pas pu obtenir l'UID réel à partir des pièces d'identité de l'autre : %m"
 
-#~ msgid "cannot use window function in transform expression"
-#~ msgstr "ne peut pas utiliser la fonction window dans l'expression de la transformation"
+#~ msgid "could not enable credential reception: %m"
+#~ msgstr "n'a pas pu activer la réception de lettres de créance : %m"
 
-#~ msgid "default values on foreign tables are not supported"
-#~ msgstr "les valeurs par défaut ne sont pas supportées sur les tables distantes"
+#~ msgid "argument to pg_get_expr() must come from system catalogs"
+#~ msgstr "l'argument de pg_get_expr() doit provenir des catalogues systèmes"
 
-#~ msgid "constraints on foreign tables are not supported"
-#~ msgstr "les contraintes sur les tables distantes ne sont pas supportées"
+#~ msgid "invalid interval value for time zone: day not allowed"
+#~ msgstr "valeur d'intervalle invalide pour le fuseau horaire : jour non autorisé"
 
-#~ msgid "cannot use window function in EXECUTE parameter"
-#~ msgstr "ne peut pas utiliser une fonction window dans le paramètre EXECUTE"
+#~ msgid "invalid interval value for time zone: month not allowed"
+#~ msgstr "valeur d'intervalle invalide pour le fuseau horaire : les mois ne sont pas autorisés"
 
-#~ msgid "cannot use aggregate in index predicate"
-#~ msgstr "ne peut pas utiliser un agrégat dans un prédicat d'index"
+#~ msgid "unrecognized \"datestyle\" key word: \"%s\""
+#~ msgstr "mot clé « datestyle » non reconnu : « %s »"
 
-#~ msgid "function \"%s\" already exists in schema \"%s\""
-#~ msgstr "la fonction « %s » existe déjà dans le schéma « %s »"
+#~ msgid "invalid list syntax for parameter \"datestyle\""
+#~ msgstr "syntaxe de liste invalide pour le paramètre « datestyle »"
 
-#~ msgid "Use ALTER AGGREGATE to change owner of aggregate functions."
-#~ msgstr "Utiliser ALTER AGGREGATE pour changer le propriétaire des fonctions d'agrégat."
+#~ msgid "database \"%s\" not found"
+#~ msgstr "base de données « %s » non trouvée"
 
-#~ msgid "Use ALTER AGGREGATE to rename aggregate functions."
-#~ msgstr "Utiliser ALTER AGGREGATE pour renommer les fonctions d'agrégat."
+#~ msgid "composite type must have at least one attribute"
+#~ msgstr "le type composite doit avoir au moins un attribut"
 
-#~ msgid "cannot use window function in parameter default value"
-#~ msgstr "ne peut pas utiliser la fonction window dans la valeur par défaut d'un paramètre"
+#~ msgid "cannot reference permanent table from temporary table constraint"
+#~ msgstr ""
+#~ "ne peut pas référencer une table permanente à partir de la contrainte de\n"
+#~ "table temporaire"
 
-#~ msgid "cannot use aggregate function in parameter default value"
+#~ msgid "cannot reference temporary table from permanent table constraint"
 #~ msgstr ""
-#~ "ne peut pas utiliser une fonction d'agrégat dans la valeur par défaut d'un\n"
-#~ "paramètre"
+#~ "ne peut pas référencer une table temporaire à partir d'une contrainte de\n"
+#~ "table permanente"
 
-#~ msgid "cannot use subquery in parameter default value"
-#~ msgstr "ne peut pas utiliser une sous-requête dans une valeur par défaut d'un paramètre"
+#~ msgid "function \"%s\" is already in schema \"%s\""
+#~ msgstr "la fonction « %s » existe déjà dans le schéma « %s »"
 
-#~ msgid "CREATE TABLE AS specifies too many column names"
-#~ msgstr "CREATE TABLE AS spécifie trop de noms de colonnes"
+#~ msgid "must be superuser to comment on text search template"
+#~ msgstr ""
+#~ "doit être super-utilisateur pour ajouter un commentaire sur un modèle de\n"
+#~ "recherche plein texte"
 
-#~ msgid "%s already exists in schema \"%s\""
-#~ msgstr "%s existe déjà dans le schéma « %s »"
+#~ msgid "must be superuser to comment on text search parser"
+#~ msgstr ""
+#~ "doit être super-utilisateur pour ajouter un commentaire sur l'analyseur de\n"
+#~ "recherche plein texte"
 
-#~ msgid "A function returning ANYRANGE must have at least one ANYRANGE argument."
+#~ msgid "must be superuser to comment on procedural language"
 #~ msgstr ""
-#~ "Une fonction renvoyant ANYRANGE doit avoir au moins un argument du type\n"
-#~ "ANYRANGE."
+#~ "doit être super-utilisateur pour ajouter un commentaire sur un langage de\n"
+#~ "procédures"
 
-#~ msgid "cannot use window function in check constraint"
-#~ msgstr "ne peut pas utiliser une fonction window dans une contrainte de vérification"
+#~ msgid "\"%s\" is not a table, view, or composite type"
+#~ msgstr "« %s » n'est pas une table, une vue ou un type composite"
 
-#~ msgid "cannot use window function in default expression"
-#~ msgstr "ne peut pas utiliser une fonction window dans une expression par défaut"
+#~ msgid "cannot cluster on expressional index \"%s\" because its index access method does not handle null values"
+#~ msgstr ""
+#~ "ne peut pas exécuter CLUSTER sur l'index à expression « %s » car sa méthode\n"
+#~ "d'accès ne gère pas les valeurs NULL"
 
-#~ msgid "cannot use aggregate function in default expression"
-#~ msgstr "ne peut pas utiliser une fonction d'agrégat dans une expression par défaut"
+#~ msgid "You might be able to work around this by marking column \"%s\" NOT NULL."
+#~ msgstr "Vous pouvez contourner ceci en marquant la colonne « %s » comme NOT NULL."
 
-#~ msgid "cannot use subquery in default expression"
-#~ msgstr "ne peut pas utiliser une sous-requête dans l'expression par défaut"
+#~ msgid "You might be able to work around this by marking column \"%s\" NOT NULL, or use ALTER TABLE ... SET WITHOUT CLUSTER to remove the cluster specification from the table."
+#~ msgstr ""
+#~ "Vous pourriez contourner ceci en marquant la colonne « %s » avec la\n"
+#~ "contrainte NOT NULL ou en utilisant ALTER TABLE ... SET WITHOUT CLUSTER pour\n"
+#~ "supprimer la spécification CLUSTER de la table."
 
-#~ msgid "uncataloged table %s"
-#~ msgstr "table %s sans catalogue"
+#~ msgid "cannot cluster on index \"%s\" because access method does not handle null values"
+#~ msgstr ""
+#~ "ne peut pas créer un cluster sur l'index « %s » car la méthode d'accès de\n"
+#~ "l'index ne gère pas les valeurs NULL"
 
-#~ msgid "xrecoff \"%X\" is out of valid range, 0..%X"
-#~ msgstr "xrecoff « %X » en dehors des limites valides, 0..%X"
+#~ msgid "clustering \"%s.%s\""
+#~ msgstr "exécution de CLUSTER sur « %s.%s »"
 
-#~ msgid "Incorrect XLOG_BLCKSZ in page header."
-#~ msgstr "XLOG_BLCKSZ incorrect dans l'en-tête de page."
+#~ msgid "EnumValuesCreate() can only set a single OID"
+#~ msgstr "EnumValuesCreate() peut seulement initialiser un seul OID"
 
-#~ msgid "Incorrect XLOG_SEG_SIZE in page header."
-#~ msgstr "XLOG_SEG_SIZE incorrecte dans l'en-tête de page."
+#~ msgid "index \"%s\" needs VACUUM FULL or REINDEX to finish crash recovery"
+#~ msgstr ""
+#~ "l'index  « %s » a besoin d'un VACUUM FULL ou d'un REINDEX pour terminer la\n"
+#~ "récupération suite à un arrêt brutal"
 
-#~ msgid "invalid contrecord length %u in log file %u, segment %u, offset %u"
+#~ msgid "index \"%s\" needs VACUUM or REINDEX to finish crash recovery"
 #~ msgstr ""
-#~ "longueur invalide du « contrecord » %u dans le journal de tranasctions %u,\n"
-#~ "segment %u, décalage %u"
+#~ "l'index  « %s » a besoin d'un VACUUM ou d'un REINDEX pour terminer la\n"
+#~ "récupération suite à un arrêt brutal"
 
-#~ msgid "there is no contrecord flag in log file %u, segment %u, offset %u"
+#~ msgid "Incomplete insertion detected during crash replay."
 #~ msgstr ""
-#~ "il n'y a pas de drapeaux « contrecord » dans le journal de transactions %u,\n"
-#~ "segment %u, décalage %u"
+#~ "Insertion incomplète détectée lors de la ré-exécution des requêtes suite à\n"
+#~ "l'arrêt brutal."
 
-#~ msgid "could not open file \"%s\" (log file %u, segment %u): %m"
-#~ msgstr "n'a pas pu ouvrir le fichier « %s » (journal de transactions %u, segment %u) : %m"
+#~ msgid "index %u/%u/%u needs VACUUM FULL or REINDEX to finish crash recovery"
+#~ msgstr ""
+#~ "l'index  %u/%u/%u a besoin d'un VACUUM FULL ou d'un REINDEX pour terminer la\n"
+#~ "récupération suite à un arrêt brutal"
 
-#~ msgid "unlogged GiST indexes are not supported"
-#~ msgstr "les index GiST non tracés ne sont pas supportés"
+#~ msgid "Lines should have the format parameter = 'value'."
+#~ msgstr "Les lignes devraient avoir le format paramètre = 'valeur'"
 
-#~ msgid "could not change directory to \"%s\""
-#~ msgstr "n'a pas pu accéder au répertoire « %s »"
+#~ msgid "syntax error in recovery command file: %s"
+#~ msgstr "erreur de syntaxe dans le fichier de restauration : %s"
 
-#~ msgid "Perhaps out of disk space?"
-#~ msgstr "Peut-être manquez-vous de place disque ?"
+#~ msgid "Write-Ahead Log / Streaming Replication"
+#~ msgstr "Write-Ahead Log / Réplication en flux"
 
-#~ msgid "time zone offset %d is not a multiple of 900 sec (15 min) in time zone file \"%s\", line %d"
-#~ msgstr ""
-#~ "le décalage %d du fuseau horaire n'est pas un multiples de 900 secondes\n"
-#~ "(15 minutes) dans le fichier des fuseaux horaires « %s », ligne %d"
+#~ msgid "unable to open directory pg_tblspc: %m"
+#~ msgstr "impossible d'ouvrir le répertoire p_tblspc : %m"
 
-#~ msgid "Sets the name of the Kerberos service."
-#~ msgstr "Initialise le nom du service Kerberos."
+#~ msgid "unable to read symbolic link %s: %m"
+#~ msgstr "incapable de lire le lien symbolique %s : %m"
 
-#~ msgid "No description available."
-#~ msgstr "Aucune description disponible."
+#~ msgid "index \"%s\" is not a b-tree"
+#~ msgstr "l'index « %s » n'est pas un btree"
 
-#~ msgid "cannot call json_populate_recordset on a nested object"
-#~ msgstr "ne peut pas appeler json_populate_recordset sur un objet imbriqué"
+#~ msgid "ALTER TYPE USING is only supported on plain tables"
+#~ msgstr "ALTER TYPE USING est seulement supportés sur les tables standards"
 
-#~ msgid "cannot call json_populate_recordset on a scalar"
-#~ msgstr "ne peut pas appeler json_populate_recordset sur un scalaire"
+#~ msgid "resetting unlogged relations: cleanup %d init %d"
+#~ msgstr "réinitialisation des relations non tracées : nettoyage %d initialisation %d"
 
-#~ msgid "cannot call json_populate_recordset with nested arrays"
-#~ msgstr "ne peut pas appeler json_populate_recordset avec des tableaux imbriqués"
+#~ msgid "%s (%x)"
+#~ msgstr "%s (%x)"
 
-#~ msgid "must call json_populate_recordset on an array of objects"
-#~ msgstr "doit appeler json_populate_recordset sur un tableau d'objets"
+#~ msgid "SSPI error %x"
+#~ msgstr "erreur SSPI : %x"
 
-#~ msgid "cannot call json_populate_recordset with nested objects"
-#~ msgstr "ne peut pas appeler json_populate_recordset sur des objets imbriqués"
+#~ msgid "consistent state delayed because recovery snapshot incomplete"
+#~ msgstr "état de cohérence pas encore atteint à cause d'un snapshot de restauration incomplet"
 
-#~ msgid "cannot call json_populate_recordset on an object"
-#~ msgstr "ne peut pas appeler json_populate_recordset sur un objet"
+#~ msgid "tablespace %u is not empty"
+#~ msgstr "le tablespace %u n'est pas vide"
 
-#~ msgid "first argument of json_populate_recordset must be a row type"
-#~ msgstr "le premier argument de json_populate_recordset doit être un type ROW"
+#~ msgid "subquery in WITH cannot have SELECT INTO"
+#~ msgstr "la sous-requête du WITH ne peut pas avoir de SELECT INTO"
 
-#~ msgid "first argument of json_populate_record must be a row type"
-#~ msgstr "le premier argument de json_populate_record doit être un type ROW"
+#~ msgid "subquery cannot have SELECT INTO"
+#~ msgstr "la sous-requête ne peut pas avoir de SELECT INTO"
 
-#~ msgid "cannot call json_array_elements on a scalar"
-#~ msgstr "ne peut pas appeler json_array_elements sur un scalaire"
+#~ msgid "subquery in FROM cannot have SELECT INTO"
+#~ msgstr "la sous-requête du FROM ne peut pas avoir de SELECT INTO"
 
-#~ msgid "cannot call json_array_elements on a non-array"
-#~ msgstr "ne peut pas appeler json_array_elements sur un objet qui n'est pas un tableau"
+#~ msgid "DECLARE CURSOR cannot specify INTO"
+#~ msgstr "DECLARE CURSOR ne peut pas spécifier INTO"
 
-#~ msgid "cannot extract field from a non-object"
-#~ msgstr "ne peut pas extraire le chemin à partir d'un non-objet"
+#~ msgid "INSERT ... SELECT cannot specify INTO"
+#~ msgstr "INSERT ... SELECT ne peut pas avoir INTO"
 
-#~ msgid "cannot extract array element from a non-array"
-#~ msgstr "ne peut pas extraire un élément du tableau à partir d'un objet qui n'est pas un tableau"
+#~ msgid "column name list not allowed in CREATE TABLE / AS EXECUTE"
+#~ msgstr "la liste de noms de colonnes n'est pas autorisée dans CREATE TABLE / AS EXECUTE"
 
-#~ msgid "cannot call function with empty path elements"
-#~ msgstr "ne peut pas appeler une fonction avec des éléments chemins vides"
+#~ msgid "CREATE TABLE AS cannot specify INTO"
+#~ msgstr "CREATE TABLE AS ne peut pas spécifier INTO"
 
-#~ msgid "cannot call function with null path elements"
-#~ msgstr "ne peut pas appeler une fonction avec des éléments chemins NULL"
+#~ msgid "  --version       output version information, then exit\n"
+#~ msgstr "  --version          affiche la version, puis quitte\n"
 
-#~ msgid "cannot call json_object_keys on a scalar"
-#~ msgstr "ne peut pas appeler json_object_keys sur un scalaire"
+#~ msgid "  --help          show this help, then exit\n"
+#~ msgstr "  --help             affiche cette aide, puis quitte\n"
 
-#~ msgid "cannot call json_object_keys on an array"
-#~ msgstr "ne peut pas appeler json_object_keys sur un tableau"
+#~ msgid "Make sure the root.crt file is present and readable."
+#~ msgstr "Assurez-vous que le certificat racine (root.crt) est présent et lisible"
 
-#~ msgid "missing assignment operator"
-#~ msgstr "opérateur d'affectation manquant"
+#~ msgid "See server log for details."
+#~ msgstr "Voir les journaux applicatifs du serveur pour plus de détails."
 
-#~ msgid "wrong affix file format for flag"
-#~ msgstr "mauvais format de fichier affixe pour le drapeau"
+#~ msgid "missing or erroneous pg_hba.conf file"
+#~ msgstr "fichier pg_hba.conf manquant ou erroné"
 
-#~ msgid "Views that return the same column more than once are not automatically updatable."
-#~ msgstr "Les vues qui renvoient la même colonne plus d'une fois ne sont pas automatiquement disponibles en écriture."
+#~ msgid "Certificates will not be checked against revocation list."
+#~ msgstr "Les certificats ne seront pas vérifiés avec la liste de révocation."
 
-#~ msgid "Security-barrier views are not automatically updatable."
-#~ msgstr "Les vues avec barrière de sécurité ne sont pas automatiquement disponibles en écriture."
+#~ msgid "SSL certificate revocation list file \"%s\" not found, skipping: %s"
+#~ msgstr "liste de révocation des certificats SSL « %s » introuvable, continue : %s"
 
-#~ msgid "Expected 1 tuple with 3 fields, got %d tuples with %d fields."
-#~ msgstr "Attendait 1 ligne avec 3 champs, a obtenu %d lignes avec %d champs."
+#~ msgid "could not access root certificate file \"%s\": %m"
+#~ msgstr "n'a pas pu accéder au fichier du certificat racine « %s » : %m"
 
-#~ msgid "too many column aliases specified for function %s"
-#~ msgstr "trop d'alias de colonnes spécifiées pour la fonction %s"
+#~ msgid "could not open directory \"pg_tblspc\": %m"
+#~ msgstr "n'a pas pu ouvrir le répertoire « pg_tblspc » : %m"
 
-#~ msgid "%s: could not determine user name (GetUserName failed)\n"
-#~ msgstr "%s : n'a pas pu déterminer le nom de l'utilisateur (GetUserName a échoué)\n"
+#~ msgid "standby connections not allowed because wal_level=minimal"
+#~ msgstr "connexions standby non autorisées car wal_level=minimal"
 
-#~ msgid "%s: invalid effective UID: %d\n"
-#~ msgstr "%s : UID effectif invalide : %d\n"
+#~ msgid "recovery is still in progress, can't accept WAL streaming connections"
+#~ msgstr "la restauration est en cours, ne peut pas accepter les connexions de flux WAL"
 
-#~ msgid "krb5 authentication is not supported on local sockets"
+#~ msgid "must be superuser to drop text search templates"
+#~ msgstr "doit être super-utilisateur pour supprimer des modèles de recherche plein texte"
+
+#~ msgid "must be superuser to drop text search parsers"
 #~ msgstr ""
-#~ "l'authentification krb5 n'est pas supportée sur les connexions locales par\n"
-#~ "socket"
+#~ "doit être super-utilisateur pour supprimer des analyseurs de recherche plein\n"
+#~ "texte"
 
-#~ msgid "SSL renegotiation failure"
-#~ msgstr "échec lors de la re-négotiation SSL"
+#~ msgid "Must be superuser to drop a foreign-data wrapper."
+#~ msgstr "Doit être super-utilisateur pour supprimer un wrapper de données distantes."
 
-#~ msgid "local user with ID %d does not exist"
-#~ msgstr "l'utilisateur local dont l'identifiant est %d n'existe pas"
+#~ msgid "permission denied to drop foreign-data wrapper \"%s\""
+#~ msgstr "droit refusé pour supprimer le wrapper de données distantes « %s »"
 
-#~ msgid "Kerberos unparse_name returned error %d"
-#~ msgstr "unparse_name de Kerberos a renvoyé l'erreur %d"
+#~ msgid "removing built-in function \"%s\""
+#~ msgstr "suppression de la fonction interne « %s »"
 
-#~ msgid "Kerberos recvauth returned error %d"
-#~ msgstr "recvauth de Kerberos a renvoyé l'erreur %d"
+#~ msgid "foreign key constraint \"%s\" of relation \"%s\" does not exist"
+#~ msgstr "la clé étrangère « %s » de la relation « %s » n'existe pas"
 
-#~ msgid "Kerberos sname_to_principal(\"%s\", \"%s\") returned error %d"
-#~ msgstr "sname_to_principal(« %s », « %s ») de Kerberos a renvoyé l'erreur %d"
+#~ msgid "Sets the list of known custom variable classes."
+#~ msgstr "Initialise la liste des classes variables personnalisées connues."
 
-#~ msgid "Kerberos keytab resolving returned error %d"
-#~ msgstr "la résolution keytab de Kerberos a renvoyé l'erreur %d"
+#~ msgid "WAL sender sleep time between WAL replications."
+#~ msgstr ""
+#~ "Temps d'endormissement du processus d'envoi des journaux de transactions entre\n"
+#~ "les réplications des journaux de transactions."
 
-#~ msgid "Kerberos initialization returned error %d"
-#~ msgstr "l'initialisation de Kerberos a retourné l'erreur %d"
+#~ msgid "If this parameter is set, the server will automatically run in the background and any controlling terminals are dissociated."
+#~ msgstr ""
+#~ "Si ce paramètre est initialisé, le serveur sera exécuté automatiquement en\n"
+#~ "tâche de fond et les terminaux de contrôles seront dés-associés."
 
-#~ msgid "Kerberos 5 authentication failed for user \"%s\""
-#~ msgstr "authentification Kerberos 5 échouée pour l'utilisateur « %s »"
+#~ msgid "Runs the server silently."
+#~ msgstr "Lance le serveur de manière silencieuse."
 
-#~ msgid "trigger \"%s\" for table \"%s\" does not exist, skipping"
-#~ msgstr "le trigger « %s » pour la table « %s » n'existe pas, poursuite du traitement"
+#~ msgid "%s: could not dissociate from controlling TTY: %s\n"
+#~ msgstr "%s : n'a pas pu se dissocier du TTY contrôlant : %s\n"
 
-#~ msgid "invalid input syntax for transaction log location: \"%s\""
-#~ msgstr "syntaxe invalide en entrée pour l'emplacement du journal de transactions : « %s »"
+#~ msgid "%s: could not fork background process: %s\n"
+#~ msgstr "%s : n'a pas pu créer un processus fils : %s\n"
 
-#~ msgid "could not parse transaction log location \"%s\""
-#~ msgstr "n'a pas pu analyser l'emplacement du journal des transactions « %s »"
+#~ msgid "%s: could not open log file \"%s/%s\": %s\n"
+#~ msgstr "%s : n'a pas pu ouvrir le journal applicatif « %s/%s » : %s\n"
 
-#~ msgid "%s \"%s\": return code %d"
-#~ msgstr "%s « %s » : code de retour %d"
+#~ msgid "%s: could not open file \"%s\": %s\n"
+#~ msgstr "%s : n'a pas pu ouvrir le fichier « %s » : %s\n"
 
-#~ msgid "assertion checking is not supported by this build"
-#~ msgstr "la vérification de l'assertion n'a pas été intégrée lors de la compilation"
+#~ msgid "select() failed in logger process: %m"
+#~ msgstr "échec de select() dans le processus des journaux applicatifs : %m"
 
-#~ msgid "SET AUTOCOMMIT TO OFF is no longer supported"
-#~ msgstr "SET AUTOCOMMIT TO OFF n'est plus supporté"
+#~ msgid "poll() failed in statistics collector: %m"
+#~ msgstr "échec du poll() dans le récupérateur de statistiques : %m"
 
-#~ msgid "Set the amount of traffic to send and receive before renegotiating the encryption keys."
-#~ msgstr ""
-#~ "Configure la quantité de trafic à envoyer et recevoir avant la renégotiation\n"
-#~ "des clés d'enchiffrement."
+#~ msgid "Valid values are '[]', '[)', '(]', and '()'."
+#~ msgstr "Les valeurs valides sont « [] », « [) », « (] » et « () »."
 
-#~ msgid "Sets the maximum distance in log segments between automatic WAL checkpoints."
-#~ msgstr ""
-#~ "Initialise la distance maximale dans les journaux de transaction entre chaque\n"
-#~ "point de vérification (checkpoints) des journaux."
+#~ msgid "invalid list syntax for \"unix_socket_directories\""
+#~ msgstr "syntaxe de liste invalide pour le paramètre « unix_socket_directories »"
 
-#~ msgid "It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-vintage clients."
-#~ msgstr ""
-#~ "C'est ici uniquement pour ne pas avoir de problèmes avec le SET AUTOCOMMIT\n"
-#~ "TO ON des clients 7.3."
+#~ msgid "invalid list syntax for \"listen_addresses\""
+#~ msgstr "syntaxe de liste invalide pour le paramètre « listen_addresses »"
 
-#~ msgid "This parameter doesn't do anything."
-#~ msgstr "Ce paramètre ne fait rien."
+#~ msgid "window functions cannot use named arguments"
+#~ msgstr "les fonctions window ne peuvent pas renvoyer des arguments nommés"
 
-#~ msgid "This is a debugging aid."
-#~ msgstr "C'est une aide de débogage."
+#~ msgid "cannot override frame clause of window \"%s\""
+#~ msgstr "ne peut pas surcharger la frame clause du window « %s »"
 
-#~ msgid "Turns on various assertion checks."
-#~ msgstr "Active les différentes vérifications des assertions."
+#~ msgid "JSON does not support infinite timestamp values."
+#~ msgstr "JSON ne supporte pas les valeurs infinies de timestamp."
 
-#~ msgid "cannot accept a value of type pg_node_tree"
-#~ msgstr "ne peut pas accepter une valeur de type pg_node_tree"
+#~ msgid "JSON does not support infinite date values."
+#~ msgstr "JSON ne supporte pas les valeurs infinies de date."
 
-#~ msgid "must be superuser or have the same role to terminate other server processes"
+#~ msgid "WAL writer sleep time between WAL flushes."
 #~ msgstr ""
-#~ "doit être super-utilisateur ou avoir le même rôle pour fermer les connexions\n"
-#~ "exécutées dans les autres processus serveur"
+#~ "Temps d'endormissement du processus d'écriture pendant le vidage des\n"
+#~ "journaux de transactions en millisecondes."
 
-#~ msgid "must be superuser or have the same role to cancel queries running in other server processes"
-#~ msgstr ""
-#~ "doit être super-utilisateur ou avoir le même rôle pour annuler des requêtes\n"
-#~ "exécutées dans les autres processus serveur"
+#~ msgid "could not convert to time zone \"%s\""
+#~ msgstr "n'a pas pu convertir vers le fuseau horaire « %s »"
 
-#~ msgid "invalid symbol"
-#~ msgstr "symbole invalide"
+#~ msgid "argument for function \"exp\" too big"
+#~ msgstr "l'argument de la fonction « exp » est trop gros"
 
-#~ msgid "unexpected \"=\""
-#~ msgstr "« = » inattendu"
+#~ msgid "must be superuser to rotate log files"
+#~ msgstr "doit être super-utilisateur pour exécuter la rotation des journaux applicatifs"
 
-#~ msgid "neither input type is an array"
-#~ msgstr "aucun type de données n'est un tableau"
+#~ msgid "must be superuser to signal the postmaster"
+#~ msgstr "doit être super-utilisateur pour envoyer un signal au postmaster"
 
-#~ msgid "could not determine input data types"
-#~ msgstr "n'a pas pu déterminer les types de données en entrée"
+#~ msgid "could not format \"circle\" value"
+#~ msgstr "n'a pas pu formater la valeur « circle »"
 
-#~ msgid "archive member \"%s\" too large for tar format"
-#~ msgstr "membre « %s » de l'archive trop volumineux pour le format tar"
+#~ msgid "invalid input syntax for type circle: \"%s\""
+#~ msgstr "syntaxe en entrée invalide pour le type circle : « %s »"
 
-#~ msgid "postmaster became multithreaded"
-#~ msgstr "le postmaster est devenu multithreadé"
+#~ msgid "invalid input syntax for type polygon: \"%s\""
+#~ msgstr "syntaxe en entrée invalide pour le type polygon : « %s »"
 
-#~ msgid "invalid value for parameter \"replication\""
-#~ msgstr "valeur invalide pour le paramètre « replication »"
+#~ msgid "invalid input syntax for type lseg: \"%s\""
+#~ msgstr "syntaxe en entrée invalide pour le type lseg : « %s »"
 
-#~ msgid "WAL archival (archive_mode=on) requires wal_level \"archive\", \"hot_standby\", or \"logical\""
-#~ msgstr ""
-#~ "l'archivage des journaux de transactions (archive_mode=on) nécessite que\n"
-#~ "le paramètre wal_level soit initialisé avec « archive », « hot_standby » ou « logical »"
+#~ msgid "invalid input syntax for type point: \"%s\""
+#~ msgstr "syntaxe en entrée invalide pour le type point : « %s »"
 
-#~ msgid "Consider increasing the configuration parameter \"checkpoint_segments\"."
-#~ msgstr "Considèrez l'augmentation du paramètre « checkpoint_segments »."
+#~ msgid "invalid input syntax for type path: \"%s\""
+#~ msgstr "syntaxe en entrée invalide pour le type path : « %s »"
 
-#~ msgid "subquery must return a column"
-#~ msgstr "la sous-requête doit renvoyer une colonne"
+#~ msgid "invalid input syntax for type line: \"%s\""
+#~ msgstr "syntaxe en entrée invalide pour le type line: « %s »"
 
-#~ msgid "  -A 1|0             enable/disable run-time assert checking\n"
-#~ msgstr ""
-#~ "  -A 1|0             active/désactive la vérification des limites (assert) à\n"
-#~ "                     l'exécution\n"
+#~ msgid "invalid input syntax for type box: \"%s\""
+#~ msgstr "syntaxe en entrée invalide pour le type box : « %s »"
 
-#~ msgid "%s: setsysinfo failed: %s\n"
-#~ msgstr "%s : setsysinfo a échoué : %s\n"
+#~ msgid "could not format \"path\" value"
+#~ msgstr "n'a pas pu formater la valeur « path »"
 
-#~ msgid "could not set socket to blocking mode: %m"
-#~ msgstr "n'a pas pu activer le mode bloquant pour la socket : %m"
+#~ msgid "multibyte flag character is not allowed"
+#~ msgstr "un caractère drapeau multi-octet n'est pas autorisé"
 
-#~ msgid "SSL failed to renegotiate connection before limit expired"
-#~ msgstr "SSL a échoué à renégotier la connexion avant l'expiration du délai"
+#~ msgid "socket not open"
+#~ msgstr "socket non ouvert"
 
-#~ msgid "could not complete SSL handshake on renegotiation, too many failures"
-#~ msgstr "n'a pas pu terminer la poignée de main de renégotiation, trop d'échecs"
+#~ msgid "must be superuser to reset statistics counters"
+#~ msgstr "doit être super-utilisateur pour réinitialiser les compteurs statistiques"
 
-#~ msgid "SSL handshake failure on renegotiation, retrying"
-#~ msgstr "échec du handshake SSL lors de la renégotiation, nouvelle tentative"
+#~ msgid "could not get SID for PowerUsers group: error code %lu\n"
+#~ msgstr ""
+#~ "n'a pas pu obtenir le SID du groupe des utilisateurs avec pouvoir :\n"
+#~ "code d'erreur %lu\n"
 
-#~ msgid "SSL failure during renegotiation start"
-#~ msgstr "échec SSL au début de la re-négotiation"
+#~ msgid "could not get SID for Administrators group: error code %lu\n"
+#~ msgstr "n'a pas pu obtenir le SID du groupe d'administrateurs : code d'erreur %lu\n"
 
-#~ msgid "received password packet"
-#~ msgstr "paquet du mot de passe reçu"
+#~ msgid "could not open process token: error code %lu\n"
+#~ msgstr "n'a pas pu ouvrir le jeton du processus : code d'erreur %lu\n"
 
-#~ msgid "interval precision specified twice"
-#~ msgstr "précision d'intervalle spécifiée deux fois"
+#~ msgid "function %s must return type \"tsm_handler\""
+#~ msgstr "la fonction %s doit renvoyer le type « tsm_handler »"
 
-#~ msgid ""
-#~ "%.0f dead row versions cannot be removed yet.\n"
-#~ "There were %.0f unused item pointers.\n"
-#~ "%u pages are entirely empty.\n"
-#~ "%s."
-#~ msgstr ""
-#~ "%.0f versions de lignes mortes ne peuvent pas encore être supprimées.\n"
-#~ "Il y avait %.0f pointeurs d'éléments inutilisés.\n"
-#~ "%u pages sont entièrement vides.\n"
-#~ "%s."
+#~ msgid "Permissions should be u=rw (0600) or less."
+#~ msgstr "Les droits devraient être u=rwx (0600) ou inférieures."
 
-#~ msgid ""
-#~ "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n"
-#~ "pages: %d removed, %d remain\n"
-#~ "tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable\n"
-#~ "buffer usage: %d hits, %d misses, %d dirtied\n"
-#~ "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"
-#~ "system usage: %s"
-#~ msgstr ""
-#~ "VACUUM automatique de la table « %s.%s.%s » : parcours d'index : %d\n"
-#~ "pages : %d supprimées, %d restantes\n"
-#~ "lignes : %.0f supprimées, %.0f restantes, %.0f sont mortes mais non supprimables\n"
-#~ "utilisation des tampons : %d lus dans le cache, %d lus hors du cache, %d modifiés\n"
-#~ "taux moyen de lecture : %.3f Mo/s, taux moyen d'écriture : %.3f Mo/s\n"
-#~ "utilisation système : %s"
+#~ msgid "typmod_in function %s must return type \"integer\""
+#~ msgstr "la fonction typmod_in %s doit renvoyer le type « entier »"
 
-#~ msgid "Specify a USING expression to perform the conversion."
-#~ msgstr "Donnez une expression USING pour réaliser la conversion."
+#~ msgid "type send function %s must return type \"bytea\""
+#~ msgstr "la fonction send du type %s doit renvoyer le type « bytea »"
 
-#~ msgid "\"%s\" is not a table, materialized view, composite type, or foreign table"
-#~ msgstr "« %s » n'est ni une table, ni une vue matérialisée, ni un type composite, ni une table distante"
+#~ msgid "type output function %s must return type \"cstring\""
+#~ msgstr "le type de sortie de la fonction %s doit être « cstring »"
 
-#~ msgid "inherited relation \"%s\" is not a table"
-#~ msgstr "la relation héritée « %s » n'est pas une table"
+#~ msgid "changing return type of function %s from \"opaque\" to \"cstring\""
+#~ msgstr "changement du type de retour de la fonction %s d'« opaque » vers « cstring »"
 
-#~ msgid "This name may be disallowed altogether in future versions of PostgreSQL."
-#~ msgstr "Ce nom pourrait être interdit dans les prochaines versions de PostgreSQL."
+#~ msgid "function %s must return type \"trigger\""
+#~ msgstr "la fonction %s doit renvoyer le type « trigger »"
 
-#~ msgid "=> is deprecated as an operator name"
-#~ msgstr "=> est un nom d'opérateur obsolète"
+#~ msgid "function %s must return type \"language_handler\""
+#~ msgstr "la fonction %s doit renvoyer le type « language_handler »"
 
-#~ msgid "role with OID %u does not exist"
-#~ msgstr "le rôle d'OID %u n'existe pas"
+#~ msgid "could not reposition held cursor"
+#~ msgstr "n'a pas pu repositionner le curseur détenu"
 
-#~ msgid "WAL file is from different database system: Incorrect XLOG_BLCKSZ in page header."
-#~ msgstr ""
-#~ "le journal de transactions provient d'un système de bases de données différent :\n"
-#~ "XLOG_BLCKSZ incorrect dans l'en-tête de page."
+#~ msgid "function %s must return type \"fdw_handler\""
+#~ msgstr "la fonction %s doit renvoyer le type « fdw_handler »"
 
-#~ msgid "WAL file is from different database system: Incorrect XLOG_SEG_SIZE in page header."
-#~ msgstr ""
-#~ "le journal de transactions provient d'un système de bases de données différent :\n"
-#~ "XLOG_SEG_SIZE incorrect dans l'en-tête de page."
+#~ msgid "function \"%s\" must return type \"event_trigger\""
+#~ msgstr "la fonction « %s » doit renvoyer le type « event_trigger »"
 
-#~ msgid "WAL file is from different database system: WAL file database system identifier is %s, pg_control database system identifier is %s."
-#~ msgstr ""
-#~ "L'identifiant du journal de transactions du système de base de données est %s,\n"
-#~ "l'identifiant pg_control du système de base de données dans pg_control est %s."
+#~ msgid "%s is already in schema \"%s\""
+#~ msgstr "%s existe déjà dans le schéma « %s »"
 
-#~ msgid "incorrect total length in record at %X/%X"
-#~ msgstr "longueur totale incorrecte à l'enregistrement %X/%X"
+#~ msgid "invalid record length at %X/%X"
+#~ msgstr "longueur invalide de l'enregistrement à %X/%X"
 
-#~ msgid "incorrect hole size in record at %X/%X"
-#~ msgstr "taille du trou incorrect à l'enregistrement %X/%X"
+#~ msgid "must be superuser to control recovery"
+#~ msgstr "doit être super-utilisateur pour contrôler la restauration"
 
-#~ msgid "invalid backup block size in record at %X/%X"
-#~ msgstr "taille du bloc de sauvegarde invalide dans l'enregistrement à %X/%X"
+#~ msgid "must be superuser to create a restore point"
+#~ msgstr "doit être super-utilisateur pour créer un point de restauration"
 
-#~ msgid "record with zero length at %X/%X"
-#~ msgstr "enregistrement de longueur nulle à %X/%X"
+#~ msgid "must be superuser to switch transaction log files"
+#~ msgstr "doit être super-utilisateur pour changer de journal de transactions"
 
-#~ msgid "invalid xlog switch record at %X/%X"
-#~ msgstr "enregistrement de basculement du journal de transaction invalide à %X/%X"
+#~ msgid "must be superuser or replication role to run a backup"
+#~ msgstr "doit être super-utilisateur ou avoir l'attribut de réplication pour exécuter une sauvegarde"
 
-#~ msgid "oldest unfrozen transaction ID: %u, in database %u"
-#~ msgstr ""
-#~ "identifiant de transaction non gelé le plus ancien : %u, dans la base de\n"
-#~ "données %u"
+#~ msgid "ignoring \"%s\" file because no \"%s\" file exists"
+#~ msgstr "ignore le fichier « %s » parce que le fichier « %s » n'existe pas"
 
-#~ msgid "next MultiXactId: %u; next MultiXactOffset: %u"
-#~ msgstr "prochain MultiXactId : %u ; prochain MultiXactOffset : %u"
+#~ msgid "could not rename file \"%s\" to \"%s\" (initialization of log file): %m"
+#~ msgstr "n'a pas pu renommer le fichier « %s » en « %s » (initialisation du journal de transactions) : %m"
 
-#~ msgid "next transaction ID: %u/%u; next OID: %u"
-#~ msgstr "prochain identifiant de transaction : %u/%u ; prochain OID : %u"
+#~ msgid "could not link file \"%s\" to \"%s\" (initialization of log file): %m"
+#~ msgstr "n'a pas pu lier le fichier « %s » à « %s » (initialisation du journal de transactions) : %m"
 
-#~ msgid "redo record is at %X/%X; shutdown %s"
-#~ msgstr "l'enregistrement à ré-exécuter se trouve à %X/%X ; arrêt %s"
+#~ msgid "could not close two-phase state file \"%s\": %m"
+#~ msgstr ""
+#~ "n'a pas pu fermer le fichier d'état de la validation en deux phases nommé\n"
+#~ "« %s » : %m"
 
-#~ msgid "invalid value for recovery parameter \"recovery_target\""
-#~ msgstr "valeur invalide pour le paramètre de restauration « recovery_target »"
+#~ msgid "could not fsync two-phase state file \"%s\": %m"
+#~ msgstr ""
+#~ "n'a pas pu synchroniser sur disque (fsync) le fichier d'état de la\n"
+#~ "validation en deux phases nommé « %s » : %m"
 
-#~ msgid "unrecognized win32 error code: %lu"
-#~ msgstr "code d'erreur win32 non reconnu : %lu"
+#~ msgid "two-phase state file for transaction %u is corrupt"
+#~ msgstr ""
+#~ "le fichier d'état de la validation en deux phases est corrompu pour la\n"
+#~ "transaction %u"
 
-#~ msgid "mapped win32 error code %lu to %d"
-#~ msgstr "correspondance du code d'erreur win32 %lu en %d"
+#~ msgid "could not seek in two-phase state file: %m"
+#~ msgstr ""
+#~ "n'a pas pu se déplacer dans le fichier de statut de la validation en deux\n"
+#~ "phases : %m"
+
+#~ msgid "could not create two-phase state file \"%s\": %m"
+#~ msgstr ""
+#~ "n'a pas pu créer le fichier de statut de la validation en deux phases nommé\n"
+#~ "« %s » : %m"
index 7596bc65257d1583158944574384fe764a2dea52..3a2da3602e3b73b1a9015bbf6a6d0c2b3ba8a836 100644 (file)
@@ -9,8 +9,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 8.4\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2016-02-22 20:12+0000\n"
-"PO-Revision-Date: 2016-02-24 13:32+0100\n"
+"POT-Creation-Date: 2016-05-08 21:13+0000\n"
+"PO-Revision-Date: 2016-05-09 10:50+0200\n"
 "Last-Translator: Guillaume Lelarge <guillaume@lelarge.info>\n"
 "Language-Team: French <guillaume@lelarge.info>\n"
 "Language: fr\n"
@@ -18,7 +18,7 @@ msgstr ""
 "Content-Type: text/plain; charset=ISO-8859-15\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Poedit 1.8.6\n"
+"X-Generator: Poedit 1.8.7.1\n"
 
 #: ../../common/exec.c:127 ../../common/exec.c:241 ../../common/exec.c:284
 #, c-format
@@ -56,8 +56,8 @@ msgid "pclose failed: %s"
 msgstr "échec de pclose : %s"
 
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
-#: ../../common/fe_memutils.c:98 command.c:318 input.c:216 mainloop.c:73
-#: mainloop.c:253
+#: ../../common/fe_memutils.c:98 command.c:330 input.c:227 mainloop.c:80
+#: mainloop.c:261
 #, c-format
 msgid "out of memory\n"
 msgstr "mémoire épuisée\n"
@@ -72,7 +72,7 @@ msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n"
 msgid "could not look up effective user ID %ld: %s"
 msgstr "n'a pas pu trouver l'identifiant réel %ld de l'utilisateur : %s"
 
-#: ../../common/username.c:47 command.c:273
+#: ../../common/username.c:47 command.c:287
 msgid "user does not exist"
 msgstr "l'utilisateur n'existe pas"
 
@@ -116,202 +116,262 @@ msgstr "le processus fils a 
 msgid "child process exited with unrecognized status %d"
 msgstr "le processus fils a quitté avec un statut %d non reconnu"
 
-#: command.c:114
+#: ../../fe_utils/print.c:354
+#, c-format
+msgid "(%lu row)"
+msgid_plural "(%lu rows)"
+msgstr[0] "(%lu ligne)"
+msgstr[1] "(%lu lignes)"
+
+#: ../../fe_utils/print.c:2906
+#, c-format
+msgid "Interrupted\n"
+msgstr "Interrompu\n"
+
+#: ../../fe_utils/print.c:2970
+#, c-format
+msgid "Cannot add header to table content: column count of %d exceeded.\n"
+msgstr ""
+"Ne peut pas ajouter l'en-tête au contenu de la table : le nombre de colonnes\n"
+"%d est dépassé.\n"
+
+#: ../../fe_utils/print.c:3010
+#, c-format
+msgid "Cannot add cell to table content: total cell count of %d exceeded.\n"
+msgstr ""
+"Ne peut pas ajouter une cellule au contenu de la table : le nombre total des\n"
+"cellules %d est dépassé.\n"
+
+#: ../../fe_utils/print.c:3259
+#, c-format
+msgid "invalid output format (internal error): %d"
+msgstr "format de sortie invalide (erreur interne) : %d"
+
+#: ../../fe_utils/psqlscan.l:713
+#, c-format
+msgid "skipping recursive expansion of variable \"%s\"\n"
+msgstr "ignore l'expansion récursive de la variable « %s »\n"
+
+#: command.c:128
 #, c-format
 msgid "Invalid command \\%s. Try \\? for help.\n"
 msgstr "Commande \\%s invalide. Essayez \\? pour l'aide-mémoire.\n"
 
-#: command.c:116
+#: command.c:130
 #, c-format
 msgid "invalid command \\%s\n"
 msgstr "commande \\%s invalide\n"
 
-#: command.c:127
+#: command.c:141
 #, c-format
 msgid "\\%s: extra argument \"%s\" ignored\n"
 msgstr "\\%s : argument « %s » supplémentaire ignoré\n"
 
-#: command.c:271
+#: command.c:285
 #, c-format
 msgid "could not get home directory for user ID %ld: %s\n"
 msgstr "n'a pas pu obtenir le répertoire principal pour l'identifiant d'utilisateur %ld : %s\n"
 
-#: command.c:289
+#: command.c:303
 #, c-format
 msgid "\\%s: could not change directory to \"%s\": %s\n"
 msgstr "\\%s : n'a pas pu accéder au répertoire « %s » : %s\n"
 
-#: command.c:304 common.c:461 common.c:519 common.c:977
+#: command.c:318 common.c:548 common.c:606 common.c:1139
 #, c-format
 msgid "You are currently not connected to a database.\n"
 msgstr "Vous n'êtes pas connecté à une base de données.\n"
 
-#: command.c:331
+#: command.c:343
 #, c-format
 msgid "You are connected to database \"%s\" as user \"%s\" via socket in \"%s\" at port \"%s\".\n"
 msgstr "Vous êtes connecté à la base de données « %s » en tant qu'utilisateur « %s » via le socket dans « %s » via le port « %s ».\n"
 
-#: command.c:334
+#: command.c:346
 #, c-format
 msgid "You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n"
 msgstr "Vous êtes connecté à la base de données « %s » en tant qu'utilisateur « %s » sur l'hôte « %s » via le port « %s ».\n"
 
-#: command.c:535 command.c:605 command.c:1405
+#: command.c:559 command.c:629 command.c:725 command.c:1557
 #, c-format
 msgid "no query buffer\n"
 msgstr "aucun tampon de requête\n"
 
-#: command.c:568 command.c:3172
+#: command.c:592 command.c:3471
 #, c-format
 msgid "invalid line number: %s\n"
 msgstr "numéro de ligne invalide : %s\n"
 
-#: command.c:599
+#: command.c:623
 #, c-format
 msgid "The server (version %d.%d) does not support editing function source.\n"
 msgstr "Le serveur (version %d.%d) ne supporte pas l'édition du code de la fonction.\n"
 
-#: command.c:679
+#: command.c:703 command.c:771
 msgid "No changes"
 msgstr "Aucun changement"
 
-#: command.c:733
+#: command.c:719
+#, c-format
+msgid "The server (version %d.%d) does not support editing view definitions.\n"
+msgstr "Le serveur (version %d.%d) ne supporte pas l'édition des définitions de vue.\n"
+
+#: command.c:825
 #, c-format
 msgid "%s: invalid encoding name or conversion procedure not found\n"
 msgstr "%s : nom d'encodage invalide ou procédure de conversion introuvable\n"
 
-#: command.c:830 command.c:880 command.c:894 command.c:911 command.c:1018
-#: command.c:1182 command.c:1385 command.c:1416
+#: command.c:850 command.c:1897 command.c:3573 common.c:152 common.c:199
+#: common.c:492 common.c:1185 common.c:1210 common.c:1311 copy.c:489 copy.c:699
+#: large_obj.c:156 large_obj.c:191 large_obj.c:253
+#, c-format
+msgid "%s"
+msgstr "%s"
+
+#: command.c:854
+msgid "out of memory"
+msgstr "mémoire épuisée"
+
+#: command.c:857
+msgid "There was no previous error."
+msgstr "Il n'y a eu aucune erreur précédente."
+
+#: command.c:951 command.c:1001 command.c:1015 command.c:1032 command.c:1139
+#: command.c:1303 command.c:1537 command.c:1568
 #, c-format
 msgid "\\%s: missing required argument\n"
 msgstr "\\%s : argument requis manquant\n"
 
-#: command.c:943
+#: command.c:1064
 msgid "Query buffer is empty."
 msgstr "Le tampon de requête est vide."
 
-#: command.c:953
+#: command.c:1074
 msgid "Enter new password: "
 msgstr "Saisissez le nouveau mot de passe : "
 
-#: command.c:954
+#: command.c:1075
 msgid "Enter it again: "
 msgstr "Saisissez-le à nouveau : "
 
-#: command.c:958
+#: command.c:1079
 #, c-format
 msgid "Passwords didn't match.\n"
 msgstr "Les mots de passe ne sont pas identiques.\n"
 
-#: command.c:976
+#: command.c:1097
 #, c-format
 msgid "Password encryption failed.\n"
 msgstr "Échec du chiffrement du mot de passe.\n"
 
-#: command.c:1047 command.c:1163 command.c:1390
+#: command.c:1168 command.c:1284 command.c:1542
 #, c-format
 msgid "\\%s: error while setting variable\n"
 msgstr "\\%s : erreur lors de l'initialisation de la variable\n"
 
-#: command.c:1110
+#: command.c:1231
 msgid "Query buffer reset (cleared)."
 msgstr "Le tampon de requête a été effacé."
 
-#: command.c:1122
+#: command.c:1243
 #, c-format
 msgid "Wrote history to file \"%s\".\n"
 msgstr "Historique sauvegardé dans le fichier « %s ».\n"
 
-#: command.c:1187
+#: command.c:1308
 #, c-format
 msgid "\\%s: environment variable name must not contain \"=\"\n"
 msgstr "\\%s : le nom de la variable d'environnement ne doit pas contenir « = »\n"
 
-#: command.c:1229
+#: command.c:1350
 #, c-format
 msgid "The server (version %d.%d) does not support showing function source.\n"
 msgstr "Le serveur (version %d.%d) ne supporte pas l'affichage du code de la fonction.\n"
 
-#: command.c:1235
+#: command.c:1356
 #, c-format
 msgid "function name is required\n"
 msgstr "le nom de la fonction est requis\n"
 
-#: command.c:1370
+#: command.c:1429
+#, c-format
+msgid "The server (version %d.%d) does not support showing view definitions.\n"
+msgstr "Le serveur (version %d.%d) ne supporte pas l'affichage des définitions de vues.\n"
+
+#: command.c:1435
+#, c-format
+msgid "view name is required\n"
+msgstr "le nom de la vue est requis\n"
+
+#: command.c:1522
 msgid "Timing is on."
 msgstr "Chronométrage activé."
 
-#: command.c:1372
+#: command.c:1524
 msgid "Timing is off."
 msgstr "Chronométrage désactivé."
 
-#: command.c:1434 command.c:1454 command.c:2091 command.c:2094 command.c:2097
-#: command.c:2103 command.c:2105 command.c:2113 command.c:2123 command.c:2132
-#: command.c:2146 command.c:2163 command.c:2222 common.c:66 copy.c:331
-#: copy.c:391 copy.c:404 psqlscan.l:1700 psqlscan.l:1711 psqlscan.l:1721
+#: command.c:1586 command.c:1606 command.c:2240 command.c:2243 command.c:2246
+#: command.c:2252 command.c:2254 command.c:2262 command.c:2272 command.c:2281
+#: command.c:2295 command.c:2312 command.c:2370 common.c:67 copy.c:332
+#: copy.c:392 copy.c:405 psqlscanslash.l:710 psqlscanslash.l:721
+#: psqlscanslash.l:731
 #, c-format
 msgid "%s: %s\n"
 msgstr "%s : %s\n"
 
-#: command.c:1548
+#: command.c:1700
 #, c-format
 msgid "+ opt(%d) = |%s|\n"
 msgstr "+ opt(%d) = |%s|\n"
 
-#: command.c:1574 startup.c:195
+#: command.c:1726 startup.c:207
 msgid "Password: "
 msgstr "Mot de passe : "
 
-#: command.c:1579 startup.c:197
+#: command.c:1731 startup.c:209
 #, c-format
 msgid "Password for user %s: "
 msgstr "Mot de passe pour l'utilisateur %s : "
 
-#: command.c:1626
+#: command.c:1778
 #, c-format
 msgid "All connection parameters must be supplied because no database connection exists\n"
 msgstr ""
 "Tous les paramètres de connexions doivent être fournis car il n'y a pas de connexion\n"
 "à une base de données existante.\n"
 
-#: command.c:1747 command.c:3206 common.c:139 common.c:432 common.c:1020
-#: common.c:1045 common.c:1145 copy.c:488 copy.c:698 large_obj.c:156
-#: large_obj.c:191 large_obj.c:253 psqlscan.l:1972
-#, c-format
-msgid "%s"
-msgstr "%s"
-
-#: command.c:1751
+#: command.c:1901
 #, c-format
 msgid "Previous connection kept\n"
 msgstr "Connexion précédente conservée\n"
 
-#: command.c:1755
+#: command.c:1905
 #, c-format
 msgid "\\connect: %s"
 msgstr "\\connect : %s"
 
-#: command.c:1789
+#: command.c:1937
 #, c-format
 msgid "You are now connected to database \"%s\" as user \"%s\" via socket in \"%s\" at port \"%s\".\n"
 msgstr "Vous êtes maintenant connecté à la base de données « %s » en tant qu'utilisateur « %s » via le socket dans « %s » via le port « %s ».\n"
 
-#: command.c:1792
+#: command.c:1940
 #, c-format
 msgid "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n"
 msgstr "Vous êtes maintenant connecté à la base de données « %s » en tant qu'utilisateur « %s » sur l'hôte « %s » via le port « %s ».\n"
 
-#: command.c:1796
+#: command.c:1944
 #, c-format
 msgid "You are now connected to database \"%s\" as user \"%s\".\n"
 msgstr "Vous êtes maintenant connecté à la base de données « %s » en tant qu'utilisateur « %s ».\n"
 
-#: command.c:1830
+#: command.c:1978
 #, c-format
 msgid "%s (%s, server %s)\n"
 msgstr "%s (%s, serveur %s)\n"
 
-#: command.c:1838
+#: command.c:1986
 #, c-format
 msgid ""
 "WARNING: %s major version %d.%d, server major version %d.%d.\n"
@@ -320,24 +380,24 @@ msgstr ""
 "ATTENTION : %s version majeure %d.%d, version majeure du serveur %d.%d.\n"
 "         Certaines fonctionnalités de psql pourraient ne pas fonctionner.\n"
 
-#: command.c:1872
+#: command.c:2020
 #, c-format
 msgid "SSL connection (protocol: %s, cipher: %s, bits: %s, compression: %s)\n"
 msgstr "Connexion SSL (protocole : %s, chiffrement : %s, bits : %s, compression : %s)\n"
 
-#: command.c:1873 command.c:1874 command.c:1875
+#: command.c:2021 command.c:2022 command.c:2023
 msgid "unknown"
 msgstr "inconnu"
 
-#: command.c:1876 help.c:46
+#: command.c:2024 help.c:46
 msgid "off"
 msgstr "désactivé"
 
-#: command.c:1876 help.c:46
+#: command.c:2024 help.c:46
 msgid "on"
 msgstr "activé"
 
-#: command.c:1896
+#: command.c:2044
 #, c-format
 msgid ""
 "WARNING: Console code page (%u) differs from Windows code page (%u)\n"
@@ -349,238 +409,243 @@ msgstr ""
 "            Voir la section « Notes aux utilisateurs de Windows » de la page\n"
 "            référence de psql pour les détails.\n"
 
-#: command.c:1980
+#: command.c:2129
 #, c-format
 msgid "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a line number\n"
 msgstr ""
 "la variable d'environnement EDITOR_LINENUMBER_SWITCH doit être configurée\n"
 "pour spécifier un numéro de ligne\n"
 
-#: command.c:2009
+#: command.c:2158
 #, c-format
 msgid "could not start editor \"%s\"\n"
 msgstr "n'a pas pu exécuter l'éditeur « %s »\n"
 
-#: command.c:2011
+#: command.c:2160
 #, c-format
 msgid "could not start /bin/sh\n"
 msgstr "n'a pas pu exécuter /bin/sh\n"
 
-#: command.c:2049
+#: command.c:2198
 #, c-format
 msgid "could not locate temporary directory: %s\n"
 msgstr "n'a pas pu localiser le répertoire temporaire : %s\n"
 
-#: command.c:2076
+#: command.c:2225
 #, c-format
 msgid "could not open temporary file \"%s\": %s\n"
 msgstr "n'a pas pu ouvrir le fichier temporaire « %s » : %s\n"
 
-#: command.c:2380
+#: command.c:2499
 #, c-format
 msgid "\\pset: allowed formats are unaligned, aligned, wrapped, html, asciidoc, latex, latex-longtable, troff-ms\n"
 msgstr ""
 "\\pset : les formats autorisés sont unaligned, aligned, wrapped, html, asciidoc, latex,\n"
 "latex-longtable, troff-ms\n"
 
-#: command.c:2399
+#: command.c:2518
 #, c-format
 msgid "\\pset: allowed line styles are ascii, old-ascii, unicode\n"
 msgstr "\\pset: les styles de lignes autorisés sont ascii, old-ascii, unicode\n"
 
-#: command.c:2415
+#: command.c:2534
 #, c-format
 msgid "\\pset: allowed Unicode border line styles are single, double\n"
 msgstr "\\pset : les styles autorisés de ligne de bordure Unicode sont single, double\n"
 
-#: command.c:2430
+#: command.c:2549
 #, c-format
 msgid "\\pset: allowed Unicode column line styles are single, double\n"
 msgstr "\\pset : les styles autorisés pour la ligne de colonne Unicode sont single, double\n"
 
-#: command.c:2445
+#: command.c:2564
 #, c-format
 msgid "\\pset: allowed Unicode header line styles are single, double\n"
 msgstr "\\pset : les styles autorisés pour la ligne d'en-tête Unicode sont single, double\n"
 
-#: command.c:2597 command.c:2776
+#: command.c:2716 command.c:2895
 #, c-format
 msgid "\\pset: unknown option: %s\n"
 msgstr "\\pset : option inconnue : %s\n"
 
-#: command.c:2615
+#: command.c:2734
 #, c-format
 msgid "Border style is %d.\n"
 msgstr "Le style de bordure est %d.\n"
 
-#: command.c:2621
+#: command.c:2740
 #, c-format
 msgid "Target width is unset.\n"
 msgstr "La largeur cible n'est pas configuré.\n"
 
-#: command.c:2623
+#: command.c:2742
 #, c-format
 msgid "Target width is %d.\n"
 msgstr "La largeur cible est %d.\n"
 
-#: command.c:2630
+#: command.c:2749
 #, c-format
 msgid "Expanded display is on.\n"
 msgstr "Affichage étendu activé.\n"
 
-#: command.c:2632
+#: command.c:2751
 #, c-format
 msgid "Expanded display is used automatically.\n"
 msgstr "L'affichage étendu est utilisé automatiquement.\n"
 
-#: command.c:2634
+#: command.c:2753
 #, c-format
 msgid "Expanded display is off.\n"
 msgstr "Affichage étendu désactivé.\n"
 
-#: command.c:2641 command.c:2649
+#: command.c:2760 command.c:2768
 #, c-format
 msgid "Field separator is zero byte.\n"
 msgstr "Le séparateur de champs est l'octet zéro.\n"
 
-#: command.c:2643
+#: command.c:2762
 #, c-format
 msgid "Field separator is \"%s\".\n"
 msgstr "Le séparateur de champs est « %s ».\n"
 
-#: command.c:2656
+#: command.c:2775
 #, c-format
 msgid "Default footer is on.\n"
 msgstr "Le bas de page pas défaut est activé.\n"
 
-#: command.c:2658
+#: command.c:2777
 #, c-format
 msgid "Default footer is off.\n"
 msgstr "Le bas de page par défaut est désactivé.\n"
 
-#: command.c:2664
+#: command.c:2783
 #, c-format
 msgid "Output format is %s.\n"
 msgstr "Le format de sortie est %s.\n"
 
-#: command.c:2670
+#: command.c:2789
 #, c-format
 msgid "Line style is %s.\n"
 msgstr "Le style de ligne est %s.\n"
 
-#: command.c:2677
+#: command.c:2796
 #, c-format
 msgid "Null display is \"%s\".\n"
 msgstr "L'affichage de null est « %s ».\n"
 
-#: command.c:2685
+#: command.c:2804
 #, c-format
 msgid "Locale-adjusted numeric output is on.\n"
 msgstr "L'affichage de la sortie numérique adaptée à la locale est activé.\n"
 
-#: command.c:2687
+#: command.c:2806
 #, c-format
 msgid "Locale-adjusted numeric output is off.\n"
 msgstr "L'affichage de la sortie numérique adaptée à la locale est désactivé.\n"
 
-#: command.c:2694
+#: command.c:2813
 #, c-format
 msgid "Pager is used for long output.\n"
 msgstr "Le paginateur est utilisé pour les affichages longs.\n"
 
-#: command.c:2696
+#: command.c:2815
 #, c-format
 msgid "Pager is always used.\n"
 msgstr "Le paginateur est toujours utilisé.\n"
 
-#: command.c:2698
+#: command.c:2817
 #, c-format
 msgid "Pager usage is off.\n"
 msgstr "L'utilisation du paginateur est désactivé.\n"
 
-#: command.c:2704
+#: command.c:2823
 #, c-format
 msgid "Pager won't be used for less than %d line.\n"
 msgid_plural "Pager won't be used for less than %d lines.\n"
 msgstr[0] "Le paginateur ne sera pas utilisé pour moins que %d ligne.\n"
 msgstr[1] "Le paginateur ne sera pas utilisé pour moins que %d lignes.\n"
 
-#: command.c:2714 command.c:2724
+#: command.c:2833 command.c:2843
 #, c-format
 msgid "Record separator is zero byte.\n"
 msgstr "Le séparateur d'enregistrements est l'octet zéro.\n"
 
-#: command.c:2716
+#: command.c:2835
 #, c-format
 msgid "Record separator is <newline>.\n"
 msgstr "Le séparateur d'enregistrement est <saut de ligne>.\n"
 
-#: command.c:2718
+#: command.c:2837
 #, c-format
 msgid "Record separator is \"%s\".\n"
 msgstr "Le séparateur d'enregistrements est « %s ».\n"
 
-#: command.c:2731
+#: command.c:2850
 #, c-format
 msgid "Table attributes are \"%s\".\n"
 msgstr "Les attributs de la table sont « %s ».\n"
 
-#: command.c:2734
+#: command.c:2853
 #, c-format
 msgid "Table attributes unset.\n"
 msgstr "Les attributs de la table ne sont pas définis.\n"
 
-#: command.c:2741
+#: command.c:2860
 #, c-format
 msgid "Title is \"%s\".\n"
 msgstr "Le titre est « %s ».\n"
 
-#: command.c:2743
+#: command.c:2862
 #, c-format
 msgid "Title is unset.\n"
 msgstr "Le titre n'est pas défini.\n"
 
-#: command.c:2750
+#: command.c:2869
 #, c-format
 msgid "Tuples only is on.\n"
 msgstr "L'affichage des tuples seuls est activé.\n"
 
-#: command.c:2752
+#: command.c:2871
 #, c-format
 msgid "Tuples only is off.\n"
 msgstr "L'affichage des tuples seuls est désactivé.\n"
 
-#: command.c:2758
+#: command.c:2877
 #, c-format
 msgid "Unicode border line style is \"%s\".\n"
 msgstr "Le style de bordure Unicode est « %s ».\n"
 
-#: command.c:2764
+#: command.c:2883
 #, c-format
 msgid "Unicode column line style is \"%s\".\n"
 msgstr "Le style de ligne Unicode est « %s ».\n"
 
-#: command.c:2770
+#: command.c:2889
 #, c-format
 msgid "Unicode header line style is \"%s\".\n"
 msgstr "Le style d'en-tête Unicode est « %s ».\n"
 
-#: command.c:2930
+#: command.c:3049
 #, c-format
 msgid "\\!: failed\n"
 msgstr "\\! : échec\n"
 
-#: command.c:2950 common.c:567
+#: command.c:3073 common.c:654
 #, c-format
 msgid "\\watch cannot be used with an empty query\n"
 msgstr "\\watch ne peut pas être utilisé avec une requête vide\n"
 
-#: command.c:2971
+#: command.c:3110
 #, c-format
-msgid "Watch every %lds\t%s"
-msgstr "Vérifier chaque %lds\t%s"
+msgid "%s\t%s (every %gs)\n"
+msgstr "%s\t%s (chaque %gs)\n"
 
-#: command.c:3022 command.c:3029 common.c:467 common.c:474 common.c:1003
+#: command.c:3113
+#, c-format
+msgid "%s (every %gs)\n"
+msgstr "%s (chaque %gs)\n"
+
+#: command.c:3167 command.c:3174 common.c:554 common.c:561 common.c:1168
 #, c-format
 msgid ""
 "********* QUERY **********\n"
@@ -593,76 +658,91 @@ msgstr ""
 "**************************\n"
 "\n"
 
-#: common.c:306
+#: command.c:3366
+#, c-format
+msgid "%s.%s is not a view\n"
+msgstr "%s.%s n'est pas une vue\n"
+
+#: command.c:3382
+#, c-format
+msgid "Could not parse reloptions array\n"
+msgstr "N'a pas pu analyser le tableau reloptions\n"
+
+#: common.c:137
+#, c-format
+msgid "can't escape without active connection\n"
+msgstr "ne peut mettre entre guillemets sans connexion active\n"
+
+#: common.c:366
 #, c-format
 msgid "connection to server was lost\n"
 msgstr "la connexion au serveur a été perdue\n"
 
-#: common.c:310
+#: common.c:370
 #, c-format
 msgid "The connection to the server was lost. Attempting reset: "
 msgstr "La connexion au serveur a été perdue. Tentative de réinitialisation : "
 
-#: common.c:315
+#: common.c:375
 #, c-format
 msgid "Failed.\n"
 msgstr "Échec.\n"
 
-#: common.c:322
+#: common.c:382
 #, c-format
 msgid "Succeeded.\n"
 msgstr "Succès.\n"
 
-#: common.c:422 common.c:774 common.c:942
+#: common.c:482 common.c:931 common.c:1103
 #, c-format
 msgid "unexpected PQresultStatus: %d\n"
 msgstr "PQresultStatus inattendu : %d\n"
 
-#: common.c:574
+#: common.c:661
 #, c-format
 msgid "\\watch cannot be used with COPY\n"
 msgstr "\\watch ne peut pas être utilisé avec COPY\n"
 
-#: common.c:579
+#: common.c:666
 #, c-format
 msgid "unexpected result status for \\watch\n"
 msgstr "statut résultat inattendu pour \\watch\n"
 
-#: common.c:590 common.c:1161
+#: common.c:677 common.c:1327
 #, c-format
 msgid "Time: %.3f ms\n"
 msgstr "Temps : %.3f ms\n"
 
-#: common.c:608
+#: common.c:695
 #, c-format
 msgid "Asynchronous notification \"%s\" with payload \"%s\" received from server process with PID %d.\n"
 msgstr ""
 "Notification asynchrone « %s » reçue avec le contenu « %s » en provenance du\n"
 "processus serveur de PID %d.\n"
 
-#: common.c:611
+#: common.c:698
 #, c-format
 msgid "Asynchronous notification \"%s\" received from server process with PID %d.\n"
 msgstr ""
 "Notification asynchrone « %s » reçue en provenance du processus serveur de\n"
 "PID %d.\n"
 
-#: common.c:669
+#: common.c:756
 #, c-format
 msgid "no rows returned for \\gset\n"
 msgstr "aucune ligne retournée pour \\gset\n"
 
-#: common.c:674
+#: common.c:761
 #, c-format
 msgid "more than one row returned for \\gset\n"
 msgstr "plus d'une ligne retournée pour \\gset\n"
 
-#: common.c:700
+#: common.c:787
 #, c-format
 msgid "could not set variable \"%s\"\n"
 msgstr "n'a pas pu initialiser la variable « %s »\n"
 
-#: common.c:985
+#: common.c:1148
 #, c-format
 msgid ""
 "***(Single step mode: verify command)*******************************************\n"
@@ -673,73 +753,73 @@ msgstr ""
 "%s\n"
 "***(appuyez sur entrée pour l'exécuter ou tapez x puis entrée pour annuler)***\n"
 
-#: common.c:1036
+#: common.c:1201
 #, c-format
 msgid "The server (version %d.%d) does not support savepoints for ON_ERROR_ROLLBACK.\n"
 msgstr ""
 "Le serveur (version %d.%d) ne supporte pas les points de sauvegarde pour\n"
 "ON_ERROR_ROLLBACK.\n"
 
-#: common.c:1090
+#: common.c:1256
 #, c-format
 msgid "STATEMENT:  %s\n"
 msgstr "INSTRUCTION :  %s\n"
 
-#: common.c:1133
+#: common.c:1299
 #, c-format
 msgid "unexpected transaction status (%d)\n"
 msgstr "état de la transaction inattendu (%d)\n"
 
-#: copy.c:98
+#: copy.c:99
 #, c-format
 msgid "\\copy: arguments required\n"
 msgstr "\\copy : arguments requis\n"
 
-#: copy.c:253
+#: copy.c:254
 #, c-format
 msgid "\\copy: parse error at \"%s\"\n"
 msgstr "\\copy : erreur d'analyse sur « %s »\n"
 
-#: copy.c:255
+#: copy.c:256
 #, c-format
 msgid "\\copy: parse error at end of line\n"
 msgstr "\\copy : erreur d'analyse à la fin de la ligne\n"
 
-#: copy.c:328
+#: copy.c:329
 #, c-format
 msgid "could not execute command \"%s\": %s\n"
 msgstr "n'a pas pu exécuter la commande « %s » : %s\n"
 
-#: copy.c:344
+#: copy.c:345
 #, c-format
 msgid "could not stat file \"%s\": %s\n"
 msgstr "n'a pas pu tester le fichier « %s » : %s\n"
 
-#: copy.c:348
+#: copy.c:349
 #, c-format
 msgid "%s: cannot copy from/to a directory\n"
 msgstr "%s : ne peut pas copier à partir de/vers un répertoire\n"
 
-#: copy.c:385
+#: copy.c:386
 #, c-format
 msgid "could not close pipe to external command: %s\n"
 msgstr "n'a pas pu fermer le fichier pipe vers la commande externe : %s\n"
 
-#: copy.c:451 copy.c:462
+#: copy.c:452 copy.c:463
 #, c-format
 msgid "could not write COPY data: %s\n"
 msgstr "n'a pas pu écrire les données du COPY : %s\n"
 
-#: copy.c:469
+#: copy.c:470
 #, c-format
 msgid "COPY data transfer failed: %s"
 msgstr "Échec du transfert de données COPY : %s"
 
-#: copy.c:530
+#: copy.c:531
 msgid "canceled by user"
 msgstr "annulé par l'utilisateur"
 
-#: copy.c:541
+#: copy.c:542
 msgid ""
 "Enter data to be copied followed by a newline.\n"
 "End with a backslash and a period on a line by itself."
@@ -747,28 +827,28 @@ msgstr ""
 "Saisissez les données à copier suivies d'un saut de ligne.\n"
 "Terminez avec un antislash et un point seuls sur une ligne."
 
-#: copy.c:670
+#: copy.c:671
 msgid "aborted because of read failure"
 msgstr "annulé du fait d'une erreur de lecture"
 
-#: copy.c:694
+#: copy.c:695
 msgid "trying to exit copy mode"
 msgstr "tente de sortir du mode copy"
 
 #: describe.c:71 describe.c:264 describe.c:496 describe.c:626 describe.c:769
-#: describe.c:886 describe.c:956 describe.c:2928 describe.c:3133
-#: describe.c:3223 describe.c:3468 describe.c:3605 describe.c:3834
-#: describe.c:3906 describe.c:3917 describe.c:3976 describe.c:4384
-#: describe.c:4464
+#: describe.c:886 describe.c:956 describe.c:2931 describe.c:3136
+#: describe.c:3226 describe.c:3471 describe.c:3608 describe.c:3837
+#: describe.c:3909 describe.c:3920 describe.c:3979 describe.c:4387
+#: describe.c:4467
 msgid "Schema"
 msgstr "Schéma"
 
 #: describe.c:72 describe.c:156 describe.c:164 describe.c:265 describe.c:497
-#: describe.c:627 describe.c:688 describe.c:770 describe.c:957 describe.c:2929
-#: describe.c:3055 describe.c:3134 describe.c:3224 describe.c:3303
-#: describe.c:3469 describe.c:3533 describe.c:3606 describe.c:3835
-#: describe.c:3907 describe.c:3918 describe.c:3977 describe.c:4166
-#: describe.c:4247 describe.c:4462
+#: describe.c:627 describe.c:688 describe.c:770 describe.c:957 describe.c:2932
+#: describe.c:3058 describe.c:3137 describe.c:3227 describe.c:3306
+#: describe.c:3472 describe.c:3536 describe.c:3609 describe.c:3838
+#: describe.c:3910 describe.c:3921 describe.c:3980 describe.c:4169
+#: describe.c:4250 describe.c:4465
 msgid "Name"
 msgstr "Nom"
 
@@ -782,12 +862,12 @@ msgid "Argument data types"
 msgstr "Type de données des paramètres"
 
 #: describe.c:105 describe.c:187 describe.c:370 describe.c:545 describe.c:642
-#: describe.c:713 describe.c:959 describe.c:1572 describe.c:2729
-#: describe.c:2962 describe.c:3086 describe.c:3160 describe.c:3233
-#: describe.c:3316 describe.c:3384 describe.c:3476 describe.c:3542
-#: describe.c:3607 describe.c:3743 describe.c:3783 describe.c:3851
-#: describe.c:3910 describe.c:3919 describe.c:3978 describe.c:4192
-#: describe.c:4269 describe.c:4398 describe.c:4465 large_obj.c:289
+#: describe.c:713 describe.c:959 describe.c:1572 describe.c:2732
+#: describe.c:2965 describe.c:3089 describe.c:3163 describe.c:3236
+#: describe.c:3319 describe.c:3387 describe.c:3479 describe.c:3545
+#: describe.c:3610 describe.c:3746 describe.c:3786 describe.c:3854
+#: describe.c:3913 describe.c:3922 describe.c:3981 describe.c:4195
+#: describe.c:4272 describe.c:4401 describe.c:4468 large_obj.c:289
 #: large_obj.c:299
 msgid "Description"
 msgstr "Description"
@@ -802,8 +882,8 @@ msgid "The server (version %d.%d) does not support tablespaces.\n"
 msgstr "Le serveur (version %d.%d) ne supporte pas les tablespaces.\n"
 
 #: describe.c:157 describe.c:165 describe.c:367 describe.c:535 describe.c:689
-#: describe.c:885 describe.c:2938 describe.c:3059 describe.c:3305
-#: describe.c:3534 describe.c:4167 describe.c:4248 large_obj.c:288
+#: describe.c:885 describe.c:2941 describe.c:3062 describe.c:3308
+#: describe.c:3537 describe.c:4170 describe.c:4251 large_obj.c:288
 msgid "Owner"
 msgstr "Propriétaire"
 
@@ -815,7 +895,7 @@ msgstr "Emplacement"
 msgid "Options"
 msgstr "Options"
 
-#: describe.c:182 describe.c:508 describe.c:705 describe.c:2954 describe.c:2958
+#: describe.c:182 describe.c:508 describe.c:705 describe.c:2957 describe.c:2961
 msgid "Size"
 msgstr "Taille"
 
@@ -851,7 +931,7 @@ msgid "normal"
 msgstr "normal"
 
 #: describe.c:284 describe.c:329 describe.c:346 describe.c:776 describe.c:895
-#: describe.c:1541 describe.c:2937 describe.c:3135 describe.c:4266
+#: describe.c:1541 describe.c:2940 describe.c:3138 describe.c:4269
 msgid "Type"
 msgstr "Type"
 
@@ -919,7 +999,7 @@ msgstr "Type de l'arg. droit"
 msgid "Result type"
 msgstr "Type du résultat"
 
-#: describe.c:635 describe.c:3375 describe.c:3742
+#: describe.c:635 describe.c:3378 describe.c:3745
 msgid "Function"
 msgstr "Fonction"
 
@@ -931,11 +1011,11 @@ msgstr "Liste des op
 msgid "Encoding"
 msgstr "Encodage"
 
-#: describe.c:695 describe.c:3470
+#: describe.c:695 describe.c:3473
 msgid "Collate"
 msgstr "Collationnement"
 
-#: describe.c:696 describe.c:3471
+#: describe.c:696 describe.c:3474
 msgid "Ctype"
 msgstr "Type caract."
 
@@ -947,23 +1027,23 @@ msgstr "Tablespace"
 msgid "List of databases"
 msgstr "Liste des bases de données"
 
-#: describe.c:771 describe.c:888 describe.c:2930
+#: describe.c:771 describe.c:888 describe.c:2933
 msgid "table"
 msgstr "table"
 
-#: describe.c:772 describe.c:2931
+#: describe.c:772 describe.c:2934
 msgid "view"
 msgstr "vue"
 
-#: describe.c:773 describe.c:2932
+#: describe.c:773 describe.c:2935
 msgid "materialized view"
 msgstr "vue matérialisée"
 
-#: describe.c:774 describe.c:890 describe.c:2934
+#: describe.c:774 describe.c:890 describe.c:2937
 msgid "sequence"
 msgstr "séquence"
 
-#: describe.c:775 describe.c:2936
+#: describe.c:775 describe.c:2939
 msgid "foreign table"
 msgstr "table distante"
 
@@ -975,7 +1055,7 @@ msgstr "Droits d'acc
 msgid "Policies"
 msgstr "Politiques"
 
-#: describe.c:844 describe.c:4609 describe.c:4613
+#: describe.c:844 describe.c:4612 describe.c:4616
 msgid "Access privileges"
 msgstr "Droits d'accès"
 
@@ -1110,8 +1190,8 @@ msgstr "Valeur"
 msgid "Definition"
 msgstr "Définition"
 
-#: describe.c:1560 describe.c:4187 describe.c:4268 describe.c:4336
-#: describe.c:4397
+#: describe.c:1560 describe.c:4190 describe.c:4271 describe.c:4339
+#: describe.c:4400
 msgid "FDW Options"
 msgstr "Options FDW"
 
@@ -1299,365 +1379,365 @@ msgstr "Tablespace : 
 msgid ", tablespace \"%s\""
 msgstr ", tablespace « %s »"
 
-#: describe.c:2722
+#: describe.c:2725
 msgid "List of roles"
 msgstr "Liste des rôles"
 
-#: describe.c:2724
+#: describe.c:2727
 msgid "Role name"
 msgstr "Nom du rôle"
 
-#: describe.c:2725
+#: describe.c:2728
 msgid "Attributes"
 msgstr "Attributs"
 
-#: describe.c:2726
+#: describe.c:2729
 msgid "Member of"
 msgstr "Membre de"
 
-#: describe.c:2737
+#: describe.c:2740
 msgid "Superuser"
 msgstr "Superutilisateur"
 
-#: describe.c:2740
+#: describe.c:2743
 msgid "No inheritance"
 msgstr "Pas d'héritage"
 
-#: describe.c:2743
+#: describe.c:2746
 msgid "Create role"
 msgstr "Créer un rôle"
 
-#: describe.c:2746
+#: describe.c:2749
 msgid "Create DB"
 msgstr "Créer une base"
 
-#: describe.c:2749
+#: describe.c:2752
 msgid "Cannot login"
 msgstr "Ne peut pas se connecter"
 
-#: describe.c:2753
+#: describe.c:2756
 msgid "Replication"
 msgstr "Réplication"
 
-#: describe.c:2757
+#: describe.c:2760
 msgid "Bypass RLS"
 msgstr "Contournement RLS"
 
-#: describe.c:2766
+#: describe.c:2769
 msgid "No connections"
 msgstr "Sans connexions"
 
-#: describe.c:2768
+#: describe.c:2771
 #, c-format
 msgid "%d connection"
 msgid_plural "%d connections"
 msgstr[0] "%d connexion"
 msgstr[1] "%d connexions"
 
-#: describe.c:2778
+#: describe.c:2781
 msgid "Password valid until "
 msgstr "Mot de passe valide jusqu'à "
 
-#: describe.c:2834
+#: describe.c:2837
 msgid "Role"
 msgstr "Rôle"
 
-#: describe.c:2835
+#: describe.c:2838
 msgid "Database"
 msgstr "Base de données"
 
-#: describe.c:2836
+#: describe.c:2839
 msgid "Settings"
 msgstr "Réglages"
 
-#: describe.c:2846
+#: describe.c:2849
 #, c-format
 msgid "No per-database role settings support in this server version.\n"
 msgstr "Pas de supprot des paramètres rôle par base de données pour la version de ce serveur.\n"
 
-#: describe.c:2857
+#: describe.c:2860
 #, c-format
 msgid "No matching settings found.\n"
 msgstr "Aucun paramètre correspondant trouvé.\n"
 
-#: describe.c:2859
+#: describe.c:2862
 #, c-format
 msgid "No settings found.\n"
 msgstr "Aucun paramètre trouvé.\n"
 
-#: describe.c:2864
+#: describe.c:2867
 msgid "List of settings"
 msgstr "Liste des paramètres"
 
-#: describe.c:2933
+#: describe.c:2936
 msgid "index"
 msgstr "index"
 
-#: describe.c:2935
+#: describe.c:2938
 msgid "special"
 msgstr "spécial"
 
-#: describe.c:2943 describe.c:4385
+#: describe.c:2946 describe.c:4388
 msgid "Table"
 msgstr "Table"
 
-#: describe.c:3019
+#: describe.c:3022
 #, c-format
 msgid "No matching relations found.\n"
 msgstr "Aucune relation correspondante trouvée.\n"
 
-#: describe.c:3021
+#: describe.c:3024
 #, c-format
 msgid "No relations found.\n"
 msgstr "Aucune relation trouvée.\n"
 
-#: describe.c:3026
+#: describe.c:3029
 msgid "List of relations"
 msgstr "Liste des relations"
 
-#: describe.c:3063
+#: describe.c:3066
 msgid "Trusted"
 msgstr "De confiance"
 
-#: describe.c:3071
+#: describe.c:3074
 msgid "Internal Language"
 msgstr "Langage interne"
 
-#: describe.c:3072
+#: describe.c:3075
 msgid "Call Handler"
 msgstr "Gestionnaire d'appel"
 
-#: describe.c:3073 describe.c:4174
+#: describe.c:3076 describe.c:4177
 msgid "Validator"
 msgstr "Validateur"
 
-#: describe.c:3076
+#: describe.c:3079
 msgid "Inline Handler"
 msgstr "Gestionnaire en ligne"
 
-#: describe.c:3104
+#: describe.c:3107
 msgid "List of languages"
 msgstr "Liste des langages"
 
-#: describe.c:3148
+#: describe.c:3151
 msgid "Modifier"
 msgstr "Modificateur"
 
-#: describe.c:3149
+#: describe.c:3152
 msgid "Check"
 msgstr "Vérification"
 
-#: describe.c:3191
+#: describe.c:3194
 msgid "List of domains"
 msgstr "Liste des domaines"
 
-#: describe.c:3225
+#: describe.c:3228
 msgid "Source"
 msgstr "Source"
 
-#: describe.c:3226
+#: describe.c:3229
 msgid "Destination"
 msgstr "Destination"
 
-#: describe.c:3227 describe.c:3376
+#: describe.c:3230 describe.c:3379
 msgid "no"
 msgstr "non"
 
-#: describe.c:3227 describe.c:3378
+#: describe.c:3230 describe.c:3381
 msgid "yes"
 msgstr "oui"
 
-#: describe.c:3228
+#: describe.c:3231
 msgid "Default?"
 msgstr "Par défaut ?"
 
-#: describe.c:3265
+#: describe.c:3268
 msgid "List of conversions"
 msgstr "Liste des conversions"
 
-#: describe.c:3304
+#: describe.c:3307
 msgid "Event"
 msgstr "Événement"
 
-#: describe.c:3306
+#: describe.c:3309
 msgid "enabled"
 msgstr "activé"
 
-#: describe.c:3307
+#: describe.c:3310
 msgid "replica"
 msgstr "réplicat"
 
-#: describe.c:3308
+#: describe.c:3311
 msgid "always"
 msgstr "toujours"
 
-#: describe.c:3309
+#: describe.c:3312
 msgid "disabled"
 msgstr "désactivé"
 
-#: describe.c:3310
+#: describe.c:3313
 msgid "Enabled"
 msgstr "Activé"
 
-#: describe.c:3311
+#: describe.c:3314
 msgid "Procedure"
 msgstr "Procédure"
 
-#: describe.c:3312
+#: describe.c:3315
 msgid "Tags"
 msgstr "Tags"
 
-#: describe.c:3331
+#: describe.c:3334
 msgid "List of event triggers"
 msgstr "Liste des triggers sur évènement"
 
-#: describe.c:3373
+#: describe.c:3376
 msgid "Source type"
 msgstr "Type source"
 
-#: describe.c:3374
+#: describe.c:3377
 msgid "Target type"
 msgstr "Type cible"
 
-#: describe.c:3377
+#: describe.c:3380
 msgid "in assignment"
 msgstr "assigné"
 
-#: describe.c:3379
+#: describe.c:3382
 msgid "Implicit?"
 msgstr "Implicite ?"
 
-#: describe.c:3430
+#: describe.c:3433
 msgid "List of casts"
 msgstr "Liste des conversions explicites"
 
-#: describe.c:3456
+#: describe.c:3459
 #, c-format
 msgid "The server (version %d.%d) does not support collations.\n"
 msgstr "Le serveur (version %d.%d) ne supporte pas les collationnements.\n"
 
-#: describe.c:3506
+#: describe.c:3509
 msgid "List of collations"
 msgstr "Liste des collationnements"
 
-#: describe.c:3565
+#: describe.c:3568
 msgid "List of schemas"
 msgstr "Liste des schémas"
 
-#: describe.c:3588 describe.c:3823 describe.c:3891 describe.c:3959
+#: describe.c:3591 describe.c:3826 describe.c:3894 describe.c:3962
 #, c-format
 msgid "The server (version %d.%d) does not support full text search.\n"
 msgstr "Le serveur (version %d.%d) ne supporte pas la recherche plein texte.\n"
 
-#: describe.c:3622
+#: describe.c:3625
 msgid "List of text search parsers"
 msgstr "Liste des analyseurs de la recherche de texte"
 
-#: describe.c:3665
+#: describe.c:3668
 #, c-format
 msgid "Did not find any text search parser named \"%s\".\n"
 msgstr "Aucun analyseur de la recherche de texte nommé « %s » n'a été trouvé.\n"
 
-#: describe.c:3740
+#: describe.c:3743
 msgid "Start parse"
 msgstr "Début de l'analyse"
 
-#: describe.c:3741
+#: describe.c:3744
 msgid "Method"
 msgstr "Méthode"
 
-#: describe.c:3745
+#: describe.c:3748
 msgid "Get next token"
 msgstr "Obtenir le prochain jeton"
 
-#: describe.c:3747
+#: describe.c:3750
 msgid "End parse"
 msgstr "Fin de l'analyse"
 
-#: describe.c:3749
+#: describe.c:3752
 msgid "Get headline"
 msgstr "Obtenir l'en-tête"
 
-#: describe.c:3751
+#: describe.c:3754
 msgid "Get token types"
 msgstr "Obtenir les types de jeton"
 
-#: describe.c:3761
+#: describe.c:3764
 #, c-format
 msgid "Text search parser \"%s.%s\""
 msgstr "Analyseur « %s.%s » de la recherche de texte"
 
-#: describe.c:3763
+#: describe.c:3766
 #, c-format
 msgid "Text search parser \"%s\""
 msgstr "Analyseur « %s » de la recherche de texte"
 
-#: describe.c:3782
+#: describe.c:3785
 msgid "Token name"
 msgstr "Nom du jeton"
 
-#: describe.c:3793
+#: describe.c:3796
 #, c-format
 msgid "Token types for parser \"%s.%s\""
 msgstr "Types de jeton pour l'analyseur « %s.%s »"
 
-#: describe.c:3795
+#: describe.c:3798
 #, c-format
 msgid "Token types for parser \"%s\""
 msgstr "Types de jeton pour l'analyseur « %s »"
 
-#: describe.c:3845
+#: describe.c:3848
 msgid "Template"
 msgstr "Modèle"
 
-#: describe.c:3846
+#: describe.c:3849
 msgid "Init options"
 msgstr "Options d'initialisation :"
 
-#: describe.c:3868
+#: describe.c:3871
 msgid "List of text search dictionaries"
 msgstr "Liste des dictionnaires de la recherche de texte"
 
-#: describe.c:3908
+#: describe.c:3911
 msgid "Init"
 msgstr "Initialisation"
 
-#: describe.c:3909
+#: describe.c:3912
 msgid "Lexize"
 msgstr "Lexize"
 
-#: describe.c:3936
+#: describe.c:3939
 msgid "List of text search templates"
 msgstr "Liste des modèles de la recherche de texte"
 
-#: describe.c:3993
+#: describe.c:3996
 msgid "List of text search configurations"
 msgstr "Liste des configurations de la recherche de texte"
 
-#: describe.c:4037
+#: describe.c:4040
 #, c-format
 msgid "Did not find any text search configuration named \"%s\".\n"
 msgstr "Aucune configuration de la recherche de texte nommée « %s » n'a été trouvée.\n"
 
-#: describe.c:4103
+#: describe.c:4106
 msgid "Token"
 msgstr "Jeton"
 
-#: describe.c:4104
+#: describe.c:4107
 msgid "Dictionaries"
 msgstr "Dictionnaires"
 
-#: describe.c:4115
+#: describe.c:4118
 #, c-format
 msgid "Text search configuration \"%s.%s\""
 msgstr "Configuration « %s.%s » de la recherche de texte"
 
-#: describe.c:4118
+#: describe.c:4121
 #, c-format
 msgid "Text search configuration \"%s\""
 msgstr "Configuration « %s » de la recherche de texte"
 
-#: describe.c:4122
+#: describe.c:4125
 #, c-format
 msgid ""
 "\n"
@@ -1666,7 +1746,7 @@ msgstr ""
 "\n"
 "Analyseur : « %s.%s »"
 
-#: describe.c:4125
+#: describe.c:4128
 #, c-format
 msgid ""
 "\n"
@@ -1675,86 +1755,86 @@ msgstr ""
 "\n"
 "Analyseur : « %s »"
 
-#: describe.c:4157
+#: describe.c:4160
 #, c-format
 msgid "The server (version %d.%d) does not support foreign-data wrappers.\n"
 msgstr "Le serveur (version %d.%d) ne supporte pas les wrappers de données distantes.\n"
 
-#: describe.c:4171
+#: describe.c:4174
 msgid "Handler"
 msgstr "Gestionnaire"
 
-#: describe.c:4214
+#: describe.c:4217
 msgid "List of foreign-data wrappers"
 msgstr "Liste des wrappers de données distantes"
 
-#: describe.c:4237
+#: describe.c:4240
 #, c-format
 msgid "The server (version %d.%d) does not support foreign servers.\n"
 msgstr "Le serveur (version %d.%d) ne supporte pas les serveurs distants.\n"
 
-#: describe.c:4249
+#: describe.c:4252
 msgid "Foreign-data wrapper"
 msgstr "Wrapper des données distantes"
 
-#: describe.c:4267 describe.c:4463
+#: describe.c:4270 describe.c:4466
 msgid "Version"
 msgstr "Version"
 
-#: describe.c:4293
+#: describe.c:4296
 msgid "List of foreign servers"
 msgstr "Liste des serveurs distants"
 
-#: describe.c:4316
+#: describe.c:4319
 #, c-format
 msgid "The server (version %d.%d) does not support user mappings.\n"
 msgstr "Le serveur (version %d.%d) ne supporte pas les correspondances d'utilisateurs.\n"
 
-#: describe.c:4325 describe.c:4386
+#: describe.c:4328 describe.c:4389
 msgid "Server"
 msgstr "Serveur"
 
-#: describe.c:4326
+#: describe.c:4329
 msgid "User name"
 msgstr "Nom de l'utilisateur"
 
-#: describe.c:4351
+#: describe.c:4354
 msgid "List of user mappings"
 msgstr "Liste des correspondances utilisateurs"
 
-#: describe.c:4374
+#: describe.c:4377
 #, c-format
 msgid "The server (version %d.%d) does not support foreign tables.\n"
 msgstr "Le serveur (version %d.%d) ne supporte pas les tables distantes.\n"
 
-#: describe.c:4426
+#: describe.c:4429
 msgid "List of foreign tables"
 msgstr "Liste des tables distantes"
 
-#: describe.c:4449 describe.c:4503
+#: describe.c:4452 describe.c:4506
 #, c-format
 msgid "The server (version %d.%d) does not support extensions.\n"
 msgstr "Le serveur (version %d.%d) ne supporte pas les extensions.\n"
 
-#: describe.c:4480
+#: describe.c:4483
 msgid "List of installed extensions"
 msgstr "Liste des extensions installées"
 
-#: describe.c:4530
+#: describe.c:4533
 #, c-format
 msgid "Did not find any extension named \"%s\".\n"
 msgstr "N'a trouvé aucune extension nommée « %s ».\n"
 
-#: describe.c:4533
+#: describe.c:4536
 #, c-format
 msgid "Did not find any extensions.\n"
 msgstr "N'a trouvé aucune extension.\n"
 
-#: describe.c:4577
+#: describe.c:4580
 msgid "Object Description"
 msgstr "Description d'un objet"
 
-#: describe.c:4586
+#: describe.c:4589
 #, c-format
 msgid "Objects in extension \"%s\""
 msgstr "Objets dans l'extension « %s »"
@@ -1764,7 +1844,7 @@ msgstr "Objets dans l'extension 
 msgid "%s\n"
 msgstr "%s\n"
 
-#: help.c:70
+#: help.c:74
 #, c-format
 msgid ""
 "psql is the PostgreSQL interactive terminal.\n"
@@ -1773,12 +1853,12 @@ msgstr ""
 "psql est l'interface interactive de PostgreSQL.\n"
 "\n"
 
-#: help.c:71 help.c:314 help.c:347 help.c:374
+#: help.c:75 help.c:332 help.c:366 help.c:393
 #, c-format
 msgid "Usage:\n"
 msgstr "Usage :\n"
 
-#: help.c:72
+#: help.c:76
 #, c-format
 msgid ""
 "  psql [OPTION]... [DBNAME [USERNAME]]\n"
@@ -1787,19 +1867,19 @@ msgstr ""
 "  psql [OPTIONS]... [NOM_BASE [NOM_UTILISATEUR]]\n"
 "\n"
 
-#: help.c:74
+#: help.c:78
 #, c-format
 msgid "General options:\n"
 msgstr "Options générales :\n"
 
-#: help.c:79
+#: help.c:83
 #, c-format
 msgid "  -c, --command=COMMAND    run only single command (SQL or internal) and exit\n"
 msgstr ""
 "  -c, --command=COMMANDE\n"
 "                  exécute une commande unique (SQL ou interne), puis quitte\n"
 
-#: help.c:80
+#: help.c:84
 #, c-format
 msgid "  -d, --dbname=DBNAME      database name to connect to (default: \"%s\")\n"
 msgstr ""
@@ -1807,19 +1887,19 @@ msgstr ""
 "                  indique le nom de la base de données à laquelle se\n"
 "                  connecter (par défaut : « %s »)\n"
 
-#: help.c:81
+#: help.c:85
 #, c-format
 msgid "  -f, --file=FILENAME      execute commands from file, then exit\n"
 msgstr ""
 "  -f, --file=FICHIER\n"
 "                  exécute les commandes du fichier, puis quitte\n"
 
-#: help.c:82
+#: help.c:86
 #, c-format
 msgid "  -l, --list               list available databases, then exit\n"
 msgstr "  -l, --list      affiche les bases de données disponibles, puis quitte\n"
 
-#: help.c:83
+#: help.c:87
 #, c-format
 msgid ""
 "  -v, --set=, --variable=NAME=VALUE\n"
@@ -1830,17 +1910,17 @@ msgstr ""
 "                           configure la variable psql NOM en VALEUR\n"
 "                           (e.g., -v ON_ERROR_STOP=1)\n"
 
-#: help.c:86
+#: help.c:90
 #, c-format
 msgid "  -V, --version            output version information, then exit\n"
 msgstr "  -V, --version              affiche la version puis quitte\n"
 
-#: help.c:87
+#: help.c:91
 #, c-format
 msgid "  -X, --no-psqlrc          do not read startup file (~/.psqlrc)\n"
 msgstr "  -X, --no-psqlrc ne lit pas le fichier de démarrage (~/.psqlrc)\n"
 
-#: help.c:88
+#: help.c:92
 #, c-format
 msgid ""
 "  -1 (\"one\"), --single-transaction\n"
@@ -1849,22 +1929,22 @@ msgstr ""
 "  -1 (« un »), --single-transaction\n"
 "                  exécute dans une transaction unique (si non intéractif)\n"
 
-#: help.c:90
+#: help.c:94
 #, c-format
 msgid "  -?, --help[=options]     show this help, then exit\n"
 msgstr "  -?, --help[=options]     affiche cette aide et quitte\n"
 
-#: help.c:91
+#: help.c:95
 #, c-format
 msgid "      --help=commands      list backslash commands, then exit\n"
 msgstr "      --help=commandes     liste les méta-commandes, puis quitte\n"
 
-#: help.c:92
+#: help.c:96
 #, c-format
 msgid "      --help=variables     list special variables, then exit\n"
 msgstr "      --help=variables     liste les variables spéciales, puis quitte\n"
 
-#: help.c:94
+#: help.c:98
 #, c-format
 msgid ""
 "\n"
@@ -1873,38 +1953,38 @@ msgstr ""
 "\n"
 "Options d'entrée/sortie :\n"
 
-#: help.c:95
+#: help.c:99
 #, c-format
 msgid "  -a, --echo-all           echo all input from script\n"
 msgstr "  -a, --echo-all  affiche les lignes du script\n"
 
-#: help.c:96
+#: help.c:100
 #, c-format
 msgid "  -b, --echo-errors        echo failed commands\n"
 msgstr "  -b, --echo-errors        affiche les commandes échouées\n"
 
-#: help.c:97
+#: help.c:101
 #, c-format
 msgid "  -e, --echo-queries       echo commands sent to server\n"
 msgstr ""
 "  -e, --echo-queries\n"
 "                  affiche les commandes envoyées au serveur\n"
 
-#: help.c:98
+#: help.c:102
 #, c-format
 msgid "  -E, --echo-hidden        display queries that internal commands generate\n"
 msgstr ""
 "  -E, --echo-hidden\n"
 "                  affiche les requêtes engendrées par les commandes internes\n"
 
-#: help.c:99
+#: help.c:103
 #, c-format
 msgid "  -L, --log-file=FILENAME  send session log to file\n"
 msgstr ""
 "  -L, --log-file=FICHIER\n"
 "                  envoie les traces dans le fichier\n"
 
-#: help.c:100
+#: help.c:104
 #, c-format
 msgid "  -n, --no-readline        disable enhanced command line editing (readline)\n"
 msgstr ""
@@ -1912,7 +1992,7 @@ msgstr ""
 "                  désactive l'édition avancée de la ligne de commande\n"
 "                  (readline)\n"
 
-#: help.c:101
+#: help.c:105
 #, c-format
 msgid "  -o, --output=FILENAME    send query results to file (or |pipe)\n"
 msgstr ""
@@ -1920,14 +2000,14 @@ msgstr ""
 "                  écrit les résultats des requêtes dans un fichier (ou\n"
 "                  |tube)\n"
 
-#: help.c:102
+#: help.c:106
 #, c-format
 msgid "  -q, --quiet              run quietly (no messages, only query output)\n"
 msgstr ""
 "  -q, --quiet     s'exécute silencieusement (pas de messages, uniquement le\n"
 "                  résultat des requêtes)\n"
 
-#: help.c:103
+#: help.c:107
 #, c-format
 msgid "  -s, --single-step        single-step mode (confirm each query)\n"
 msgstr ""
@@ -1935,7 +2015,7 @@ msgstr ""
 "                  active le mode étape par étape (confirmation pour chaque\n"
 "                  requête)\n"
 
-#: help.c:104
+#: help.c:108
 #, c-format
 msgid "  -S, --single-line        single-line mode (end of line terminates SQL command)\n"
 msgstr ""
@@ -1943,7 +2023,7 @@ msgstr ""
 "                  active le mode ligne par ligne (EOL termine la commande\n"
 "                  SQL)\n"
 
-#: help.c:106
+#: help.c:110
 #, c-format
 msgid ""
 "\n"
@@ -1952,14 +2032,14 @@ msgstr ""
 "\n"
 "Options de formattage de la sortie :\n"
 
-#: help.c:107
+#: help.c:111
 #, c-format
 msgid "  -A, --no-align           unaligned table output mode\n"
 msgstr ""
 "  -A, --no-align  active le mode d'affichage non aligné des tables (-P\n"
 "                  format=unaligned)\n"
 
-#: help.c:108
+#: help.c:112
 #, c-format
 msgid ""
 "  -F, --field-separator=STRING\n"
@@ -1969,12 +2049,12 @@ msgstr ""
 "                  séparateur de champs pour un affichage non aligné\n"
 "                  (par défaut : « %s »)\n"
 
-#: help.c:111
+#: help.c:115
 #, c-format
 msgid "  -H, --html               HTML table output mode\n"
 msgstr "  -H, --html      active le mode d'affichage HTML des tables (-P                  format=html)\n"
 
-#: help.c:112
+#: help.c:116
 #, c-format
 msgid "  -P, --pset=VAR[=ARG]     set printing option VAR to ARG (see \\pset command)\n"
 msgstr ""
@@ -1982,7 +2062,7 @@ msgstr ""
 "                  initialise l'option d'impression VAR à ARG (voir la\n"
 "                  commande \\pset)\n"
 
-#: help.c:113
+#: help.c:117
 #, c-format
 msgid ""
 "  -R, --record-separator=STRING\n"
@@ -1992,14 +2072,14 @@ msgstr ""
 "                  séparateur d'enregistrements pour un affichage non aligné\n"
 "                  (par défaut : saut de ligne)\n"
 
-#: help.c:115
+#: help.c:119
 #, c-format
 msgid "  -t, --tuples-only        print rows only\n"
 msgstr ""
 "  -t, --tuples-only\n"
 "                  affiche seulement les lignes (-P tuples_only)\n"
 
-#: help.c:116
+#: help.c:120
 #, c-format
 msgid "  -T, --table-attr=TEXT    set HTML table tag attributes (e.g., width, border)\n"
 msgstr ""
@@ -2007,12 +2087,12 @@ msgstr ""
 "                  initialise les attributs des balises HTML de tableau\n"
 "                  (largeur, bordure) (-P tableattr=)\n"
 
-#: help.c:117
+#: help.c:121
 #, c-format
 msgid "  -x, --expanded           turn on expanded table output\n"
 msgstr "  -x, --expanded  active l'affichage étendu des tables (-P expanded)\n"
 
-#: help.c:118
+#: help.c:122
 #, c-format
 msgid ""
 "  -z, --field-separator-zero\n"
@@ -2022,7 +2102,7 @@ msgstr ""
 "                  initialise le séparateur de champs pour un affichage non\n"
 "                  aligné à l'octet zéro\n"
 
-#: help.c:120
+#: help.c:124
 #, c-format
 msgid ""
 "  -0, --record-separator-zero\n"
@@ -2032,7 +2112,7 @@ msgstr ""
 "                  initialise le séparateur d'enregistrements pour un affichage\n"
 "                  non aligné à l'octet zéro\n"
 
-#: help.c:123
+#: help.c:127
 #, c-format
 msgid ""
 "\n"
@@ -2041,25 +2121,25 @@ msgstr ""
 "\n"
 "Options de connexion :\n"
 
-#: help.c:126
+#: help.c:130
 #, c-format
 msgid "  -h, --host=HOSTNAME      database server host or socket directory (default: \"%s\")\n"
 msgstr ""
 "  -h, --host=HOTE nom d'hôte du serveur de la base de données ou répertoire\n"
 "                  de la socket (par défaut : %s)\n"
 
-#: help.c:127
+#: help.c:131
 msgid "local socket"
 msgstr "socket locale"
 
-#: help.c:130
+#: help.c:134
 #, c-format
 msgid "  -p, --port=PORT          database server port (default: \"%s\")\n"
 msgstr ""
 "  -p, --port=PORT port du serveur de la base de données (par défaut :\n"
 "                  « %s »)\n"
 
-#: help.c:136
+#: help.c:140
 #, c-format
 msgid "  -U, --username=USERNAME  database user name (default: \"%s\")\n"
 msgstr ""
@@ -2067,21 +2147,21 @@ msgstr ""
 "                  nom d'utilisateur de la base de données (par défaut :\n"
 "                  « %s »)\n"
 
-#: help.c:137
+#: help.c:141
 #, c-format
 msgid "  -w, --no-password        never prompt for password\n"
 msgstr ""
 "  -w, --no-password\n"
 "                  ne demande jamais un mot de passe\n"
 
-#: help.c:138
+#: help.c:142
 #, c-format
 msgid "  -W, --password           force password prompt (should happen automatically)\n"
 msgstr ""
 "  -W, --password  force la demande du mot de passe (devrait survenir\n"
 "                  automatiquement)\n"
 
-#: help.c:140
+#: help.c:144
 #, c-format
 msgid ""
 "\n"
@@ -2096,413 +2176,440 @@ msgstr ""
 "de la documentation de PostgreSQL.\n"
 "\n"
 
-#: help.c:143
+#: help.c:147
 #, c-format
 msgid "Report bugs to <pgsql-bugs@postgresql.org>.\n"
 msgstr "Rapportez les bogues à <pgsql-bugs@postgresql.org>.\n"
 
-#: help.c:166
+#: help.c:173
 #, c-format
 msgid "General\n"
 msgstr "Général\n"
 
-#: help.c:167
+#: help.c:174
 #, c-format
 msgid "  \\copyright             show PostgreSQL usage and distribution terms\n"
 msgstr ""
 "  \\copyright           affiche les conditions d'utilisation et de\n"
 "                       distribution de PostgreSQL\n"
 
-#: help.c:168
+#: help.c:175
+#, c-format
+msgid "  \\errverbose            show most recent error message at maximum verbosity\n"
+msgstr "  \\errverbose            affiche le message d'erreur le plus récent avec une verbosité maximale\n"
+
+#: help.c:176
 #, c-format
 msgid "  \\g [FILE] or ;         execute query (and send results to file or |pipe)\n"
 msgstr ""
 "  \\g [FICHIER] ou ;    envoie le tampon de requêtes au serveur (et les\n"
 "                       résultats au fichier ou |tube)\n"
 
-#: help.c:169
+#: help.c:177
+#, c-format
+msgid "  \\gexec                 execute query, then execute each value in its result\n"
+msgstr "  \\gexec             exécute la requête et exécute chaque valeur du résultat\n"
+
+#: help.c:178
 #, c-format
 msgid "  \\gset [PREFIX]         execute query and store results in psql variables\n"
 msgstr "  \\gset [PRÉFIXE]    exécute la requête et stocke les résultats dans des variables psql\n"
 
-#: help.c:170
+#: help.c:179
 #, c-format
 msgid "  \\q                     quit psql\n"
 msgstr "  \\q                   quitte psql\n"
 
-#: help.c:171
+#: help.c:180
+#, c-format
+msgid "  \\crosstabview [COLUMNS] execute query and display results in crosstab\n"
+msgstr "  \\crosstabview [COLUMNS] exécute la requête et affiche le résultat dans un tableau croisé\n"
+
+#: help.c:181
 #, c-format
 msgid "  \\watch [SEC]           execute query every SEC seconds\n"
 msgstr "  \\watch [SEC]           exécute la requête toutes les SEC secondes\n"
 
-#: help.c:174
+#: help.c:184
 #, c-format
 msgid "Help\n"
 msgstr "Aide\n"
 
-#: help.c:176
+#: help.c:186
 #, c-format
 msgid "  \\? [commands]          show help on backslash commands\n"
 msgstr "  \\? [commandes]         affiche l'aide sur les métacommandes\n"
 
-#: help.c:177
+#: help.c:187
 #, c-format
 msgid "  \\? options             show help on psql command-line options\n"
 msgstr "  \\? options             affiche l'aide sur les options en ligne de commande de psql\n"
 
-#: help.c:178
+#: help.c:188
 #, c-format
 msgid "  \\? variables           show help on special variables\n"
 msgstr "  \\? variables           affiche l'aide sur les variables spéciales\n"
 
-#: help.c:179
+#: help.c:189
 #, c-format
 msgid "  \\h [NAME]              help on syntax of SQL commands, * for all commands\n"
 msgstr ""
 "  \\h [NOM]             aide-mémoire pour les commandes SQL, * pour toutes\n"
 "                       les commandes\n"
 
-#: help.c:182
+#: help.c:192
 #, c-format
 msgid "Query Buffer\n"
 msgstr "Tampon de requête\n"
 
-#: help.c:183
+#: help.c:193
 #, c-format
 msgid "  \\e [FILE] [LINE]       edit the query buffer (or file) with external editor\n"
 msgstr ""
 "  \\e [FICHIER] [LIGNE] édite le tampon de requête ou le fichier avec un\n"
 "                        éditeur externe\n"
 
-#: help.c:184
+#: help.c:194
 #, c-format
 msgid "  \\ef [FUNCNAME [LINE]]  edit function definition with external editor\n"
 msgstr ""
 "  \\ef [FONCTION [LIGNE]] édite la définition de fonction avec un éditeur\n"
 "                        externe\n"
 
-#: help.c:185
+#: help.c:195
+#, c-format
+msgid "  \\ev [VIEWNAME [LINE]]  edit view definition with external editor\n"
+msgstr ""
+"  \\ev [VUE [LIGNE]]      édite la définition de vue avec un éditeur\n"
+"                        externe\n"
+
+#: help.c:196
 #, c-format
 msgid "  \\p                     show the contents of the query buffer\n"
 msgstr "  \\p                   affiche le contenu du tampon de requête\n"
 
-#: help.c:186
+#: help.c:197
 #, c-format
 msgid "  \\r                     reset (clear) the query buffer\n"
 msgstr "  \\r                   efface le tampon de requêtes\n"
 
-#: help.c:188
+#: help.c:199
 #, c-format
 msgid "  \\s [FILE]              display history or save it to file\n"
 msgstr ""
 "  \\s [FICHIER]         affiche l'historique ou le sauvegarde dans un\n"
 "                       fichier\n"
 
-#: help.c:190
+#: help.c:201
 #, c-format
 msgid "  \\w FILE                write query buffer to file\n"
 msgstr ""
 "  \\w [FICHIER]         écrit le contenu du tampon de requêtes dans un\n"
 "                       fichier\n"
 
-#: help.c:193
+#: help.c:204
 #, c-format
 msgid "Input/Output\n"
 msgstr "Entrée/Sortie\n"
 
-#: help.c:194
+#: help.c:205
 #, c-format
 msgid "  \\copy ...              perform SQL COPY with data stream to the client host\n"
 msgstr ""
 "  \\copy ...            exécute SQL COPY avec le flux de données dirigé vers\n"
 "                       l'hôte client\n"
 
-#: help.c:195
+#: help.c:206
 #, c-format
 msgid "  \\echo [STRING]         write string to standard output\n"
 msgstr "  \\echo [TEXTE]        écrit un texte sur la sortie standard\n"
 
-#: help.c:196
+#: help.c:207
 #, c-format
 msgid "  \\i FILE                execute commands from file\n"
 msgstr "  \\i FICHIER           exécute les commandes du fichier\n"
 
-#: help.c:197
+#: help.c:208
 #, c-format
 msgid "  \\ir FILE               as \\i, but relative to location of current script\n"
 msgstr ""
 "  \\ir FICHIER         identique à \\i, mais relatif à l'emplacement du script\n"
 "                       ou un |tube\n"
 
-#: help.c:198
+#: help.c:209
 #, c-format
 msgid "  \\o [FILE]              send all query results to file or |pipe\n"
 msgstr ""
 "  \\o [FICHIER]         envoie les résultats de la requête vers un fichier\n"
 "                       ou un |tube\n"
 
-#: help.c:199
+#: help.c:210
 #, c-format
 msgid "  \\qecho [STRING]        write string to query output stream (see \\o)\n"
 msgstr ""
 "  \\qecho [TEXTE]       écrit un texte sur la sortie des résultats des\n"
 "                       requêtes (voir \\o)\n"
 
-#: help.c:202
+#: help.c:213
 #, c-format
 msgid "Informational\n"
 msgstr "Informations\n"
 
-#: help.c:203
+#: help.c:214
 #, c-format
 msgid "  (options: S = show system objects, + = additional detail)\n"
 msgstr "  (options : S = affiche les objets systèmes, + = informations supplémentaires)\n"
 
-#: help.c:204
+#: help.c:215
 #, c-format
 msgid "  \\d[S+]                 list tables, views, and sequences\n"
 msgstr "  \\d[S+]               affiche la liste des tables, vues et séquences\n"
 
-#: help.c:205
+#: help.c:216
 #, c-format
 msgid "  \\d[S+]  NAME           describe table, view, sequence, or index\n"
 msgstr ""
 "  \\d[S+] NOM           affiche la description de la table, de la vue,\n"
 "                       de la séquence ou de l'index\n"
 
-#: help.c:206
+#: help.c:217
 #, c-format
 msgid "  \\da[S]  [PATTERN]      list aggregates\n"
 msgstr "  \\da[S] [MODÈLE]      affiche les aggrégats\n"
 
-#: help.c:207
+#: help.c:218
 #, c-format
 msgid "  \\db[+]  [PATTERN]      list tablespaces\n"
 msgstr "  \\db[+] [MODÈLE]      affiche la liste des tablespaces\n"
 
-#: help.c:208
+#: help.c:219
 #, c-format
 msgid "  \\dc[S+] [PATTERN]      list conversions\n"
 msgstr "  \\dc[S+] [MODÈLE]     affiche la liste des conversions\n"
 
-#: help.c:209
+#: help.c:220
 #, c-format
 msgid "  \\dC[+]  [PATTERN]      list casts\n"
 msgstr "  \\dC[+] [MODÈLE]      affiche la liste des transtypages\n"
 
-#: help.c:210
+#: help.c:221
 #, c-format
 msgid "  \\dd[S]  [PATTERN]      show object descriptions not displayed elsewhere\n"
 msgstr ""
 "  \\dd[S] [MODÈLE]      affiche les commentaires des objets dont le commentaire\n"
 "                        n'est affiché nul part ailleurs\n"
 
-#: help.c:211
+#: help.c:222
 #, c-format
 msgid "  \\ddp    [PATTERN]      list default privileges\n"
 msgstr "  \\ddp   [MODÈLE]      affiche les droits par défaut\n"
 
-#: help.c:212
+#: help.c:223
 #, c-format
 msgid "  \\dD[S+] [PATTERN]      list domains\n"
 msgstr "  \\dD[S+] [MODÈLE]     affiche la liste des domaines\n"
 
-#: help.c:213
+#: help.c:224
 #, c-format
 msgid "  \\det[+] [PATTERN]      list foreign tables\n"
 msgstr "  \\det[+] [MODÈLE]     affiche la liste des tables distantes\n"
 
-#: help.c:214
+#: help.c:225
 #, c-format
 msgid "  \\des[+] [PATTERN]      list foreign servers\n"
 msgstr "  \\des[+] [MODÈLE]     affiche la liste des serveurs distants\n"
 
-#: help.c:215
+#: help.c:226
 #, c-format
 msgid "  \\deu[+] [PATTERN]      list user mappings\n"
 msgstr "  \\deu[+] [MODÈLE]     affiche la liste des correspondances utilisateurs\n"
 
-#: help.c:216
+#: help.c:227
 #, c-format
 msgid "  \\dew[+] [PATTERN]      list foreign-data wrappers\n"
 msgstr "  \\dew[+] [MODÈLE]     affiche la liste des wrappers de données distantes\n"
 
-#: help.c:217
+#: help.c:228
 #, c-format
 msgid "  \\df[antw][S+] [PATRN]  list [only agg/normal/trigger/window] functions\n"
 msgstr ""
 "  \\df[antw][S+] [PATRN] affiche la liste des fonctions\n"
 "                        [seulement agg/normal/trigger/window]\n"
 
-#: help.c:218
+#: help.c:229
 #, c-format
 msgid "  \\dF[+]  [PATTERN]      list text search configurations\n"
 msgstr ""
 "  \\dF[+] [MODÈLE]      affiche la liste des configurations de la recherche\n"
 "                        plein texte\n"
 
-#: help.c:219
+#: help.c:230
 #, c-format
 msgid "  \\dFd[+] [PATTERN]      list text search dictionaries\n"
 msgstr ""
 "  \\dFd[+] [MODÈLE]     affiche la liste des dictionnaires de la recherche de\n"
 "                        texte\n"
 
-#: help.c:220
+#: help.c:231
 #, c-format
 msgid "  \\dFp[+] [PATTERN]      list text search parsers\n"
 msgstr ""
 "  \\dFp[+] [MODÈLE]        affiche la liste des analyseurs de la recherche de\n"
 "                       texte\n"
 
-#: help.c:221
+#: help.c:232
 #, c-format
 msgid "  \\dFt[+] [PATTERN]      list text search templates\n"
 msgstr ""
 "  \\dFt[+] [MODÈLE]     affiche la liste des modèles de la recherche de\n"
 "                        texte\n"
 
-#: help.c:222
+#: help.c:233
 #, c-format
-msgid "  \\dg[+]  [PATTERN]      list roles\n"
-msgstr "  \\dg[+]  [MODÈLE]     affiche la liste des rôles\n"
+msgid "  \\dg[S+] [PATTERN]      list roles\n"
+msgstr "  \\dg[S+]  [MODÈLE]    affiche la liste des rôles (utilisateurs)\n"
 
-#: help.c:223
+#: help.c:234
 #, c-format
 msgid "  \\di[S+] [PATTERN]      list indexes\n"
 msgstr "  \\di[S+] [MODÈLE]     affiche la liste des index\n"
 
-#: help.c:224
+#: help.c:235
 #, c-format
 msgid "  \\dl                    list large objects, same as \\lo_list\n"
 msgstr ""
 "  \\dl                  affiche la liste des « Large Objects », identique à\n"
 "                        \\lo_list\n"
 
-#: help.c:225
+#: help.c:236
 #, c-format
 msgid "  \\dL[S+] [PATTERN]      list procedural languages\n"
 msgstr "  \\dL[S+] [MODÈLE]     affiche la liste des langages procéduraux\n"
 
-#: help.c:226
+#: help.c:237
 #, c-format
 msgid "  \\dm[S+] [PATTERN]      list materialized views\n"
 msgstr "  \\dm[S+] [MODÈLE]     affiche la liste des vues matérialisées\n"
 
-#: help.c:227
+#: help.c:238
 #, c-format
 msgid "  \\dn[S+] [PATTERN]      list schemas\n"
 msgstr "  \\dn[S+]  [MODÈLE]    affiche la liste des schémas\n"
 
-#: help.c:228
+#: help.c:239
 #, c-format
 msgid "  \\do[S]  [PATTERN]      list operators\n"
 msgstr "  \\do[S]  [MODÈLE]     affiche la liste des opérateurs\n"
 
-#: help.c:229
+#: help.c:240
 #, c-format
 msgid "  \\dO[S+] [PATTERN]      list collations\n"
 msgstr "  \\dO[S+] [MODÈLE]     affiche la liste des collationnements\n"
 
-#: help.c:230
+#: help.c:241
 #, c-format
 msgid "  \\dp     [PATTERN]      list table, view, and sequence access privileges\n"
 msgstr ""
 "  \\dp     [MODÈLE]     affiche la liste des droits d'accès aux tables,\n"
 "                        vues, séquences\n"
 
-#: help.c:231
+#: help.c:242
 #, c-format
 msgid "  \\drds [PATRN1 [PATRN2]] list per-database role settings\n"
 msgstr "  \\drds [MODEL1 [MODEL2]] liste la configuration utilisateur par base de                           données\n"
 
-#: help.c:232
+#: help.c:243
 #, c-format
 msgid "  \\ds[S+] [PATTERN]      list sequences\n"
 msgstr "  \\ds[S+] [MODÈLE]     affiche la liste des séquences\n"
 
-#: help.c:233
+#: help.c:244
 #, c-format
 msgid "  \\dt[S+] [PATTERN]      list tables\n"
 msgstr "  \\dt[S+] [MODÈLE]     affiche la liste des tables\n"
 
-#: help.c:234
+#: help.c:245
 #, c-format
 msgid "  \\dT[S+] [PATTERN]      list data types\n"
 msgstr "  \\dT[S+] [MODÈLE]     affiche la liste des types de données\n"
 
-#: help.c:235
+#: help.c:246
 #, c-format
-msgid "  \\du[+]  [PATTERN]      list roles\n"
-msgstr "  \\du[+]  [MODÈLE]     affiche la liste des rôles (utilisateurs)\n"
+msgid "  \\du[S+] [PATTERN]      list roles\n"
+msgstr "  \\du[S+]  [MODÈLE]    affiche la liste des rôles (utilisateurs)\n"
 
-#: help.c:236
+#: help.c:247
 #, c-format
 msgid "  \\dv[S+] [PATTERN]      list views\n"
 msgstr "  \\dv[S+] [MODÈLE]     affiche la liste des vues\n"
 
-#: help.c:237
+#: help.c:248
 #, c-format
 msgid "  \\dE[S+] [PATTERN]      list foreign tables\n"
 msgstr "  \\dE[S+] [MODÈLE]     affiche la liste des tables distantes\n"
 
-#: help.c:238
+#: help.c:249
 #, c-format
 msgid "  \\dx[+]  [PATTERN]      list extensions\n"
 msgstr "  \\dx[+] [MODÈLE]      affiche la liste des extensions\n"
 
-#: help.c:239
+#: help.c:250
 #, c-format
 msgid "  \\dy     [PATTERN]      list event triggers\n"
 msgstr "  \\dy   [MODÈLE]      affiche les triggers sur évènement\n"
 
-#: help.c:240
+#: help.c:251
 #, c-format
 msgid "  \\l[+]   [PATTERN]      list databases\n"
 msgstr "  \\l[+] [MODÈLE]     affiche la liste des bases de données\n"
 
-#: help.c:241
+#: help.c:252
 #, c-format
-msgid "  \\sf[+] FUNCNAME        show a function's definition\n"
-msgstr "  \\sf [FONCTION]       édite la définition d'une fonction\n"
+msgid "  \\sf[+]  FUNCNAME       show a function's definition\n"
+msgstr "  \\sf[+] [FONCTION]    édite la définition d'une fonction\n"
 
-#: help.c:242
+#: help.c:253
+#, c-format
+msgid "  \\sv[+]  VIEWNAME       show a view's definition\n"
+msgstr "  \\sv [FONCTION]       édite la définition d'une vue\n"
+
+#: help.c:254
 #, c-format
 msgid "  \\z      [PATTERN]      same as \\dp\n"
 msgstr "  \\z      [MODÈLE]     identique à \\dp\n"
 
-#: help.c:245
+#: help.c:257
 #, c-format
 msgid "Formatting\n"
 msgstr "Formatage\n"
 
-#: help.c:246
+#: help.c:258
 #, c-format
 msgid "  \\a                     toggle between unaligned and aligned output mode\n"
 msgstr ""
 "  \\a                   bascule entre les modes de sortie alignée et non\n"
 "                        alignée\n"
 
-#: help.c:247
+#: help.c:259
 #, c-format
 msgid "  \\C [STRING]            set table title, or unset if none\n"
 msgstr ""
 "  \\C [CHAÎNE]          initialise le titre d'une table, ou le désactive en\n"
 "                        l'absence d'argument\n"
 
-#: help.c:248
+#: help.c:260
 #, c-format
 msgid "  \\f [STRING]            show or set field separator for unaligned query output\n"
 msgstr ""
 "  \\f [CHAÎNE]          affiche ou initialise le séparateur de champ pour\n"
 "                        une sortie non alignée des requêtes\n"
 
-#: help.c:249
+#: help.c:261
 #, c-format
 msgid "  \\H                     toggle HTML output mode (currently %s)\n"
 msgstr "  \\H                   bascule le mode de sortie HTML (actuellement %s)\n"
 
-#: help.c:251
+#: help.c:263
 #, c-format
 msgid ""
 "  \\pset [NAME [VALUE]]   set table output option\n"
@@ -2515,29 +2622,29 @@ msgstr ""
 "                         numericlocale|recordsep|recordsep_zero|tuples_only|title|tableattr|pager|\n"
 "                         unicode_border_linestyle|unicode_column_linestyle|unicode_header_linestyle})\n"
 
-#: help.c:255
+#: help.c:267
 #, c-format
 msgid "  \\t [on|off]            show only rows (currently %s)\n"
 msgstr "  \\t                   affiche uniquement les lignes (actuellement %s)\n"
 
-#: help.c:257
+#: help.c:269
 #, c-format
 msgid "  \\T [STRING]            set HTML <table> tag attributes, or unset if none\n"
 msgstr ""
 "  \\T [CHAÎNE]          initialise les attributs HTML de la balise <table>,\n"
 "                        ou l'annule en l'absence d'argument\n"
 
-#: help.c:258
+#: help.c:270
 #, c-format
 msgid "  \\x [on|off|auto]       toggle expanded output (currently %s)\n"
 msgstr "  \\x [on|off|auto]     bascule l'affichage étendu (actuellement %s)\n"
 
-#: help.c:262
+#: help.c:274
 #, c-format
 msgid "Connection\n"
 msgstr "Connexions\n"
 
-#: help.c:264
+#: help.c:276
 #, c-format
 msgid ""
 "  \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n"
@@ -2547,7 +2654,7 @@ msgstr ""
 "                        se connecte à une autre base de données\n"
 "                        (actuellement « %s »)\n"
 
-#: help.c:268
+#: help.c:280
 #, c-format
 msgid ""
 "  \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n"
@@ -2557,12 +2664,12 @@ msgstr ""
 "                        se connecte à une nouvelle base de données\n"
 "                        (aucune connexion actuellement)\n"
 
-#: help.c:270
+#: help.c:282
 #, c-format
 msgid "  \\encoding [ENCODING]   show or set client encoding\n"
 msgstr "  \\encoding [ENCODAGE] affiche ou initialise l'encodage du client\n"
 
-#: help.c:271
+#: help.c:283
 #, c-format
 msgid "  \\password [USERNAME]   securely change the password for a user\n"
 msgstr ""
@@ -2570,70 +2677,70 @@ msgstr ""
 "                        modifie de façon sécurisé le mot de passe d'un\n"
 "                        utilisateur\n"
 
-#: help.c:272
+#: help.c:284
 #, c-format
 msgid "  \\conninfo              display information about current connection\n"
 msgstr "  \\conninfo            affiche des informations sur la connexion en cours\n"
 
-#: help.c:275
+#: help.c:287
 #, c-format
 msgid "Operating System\n"
 msgstr "Système d'exploitation\n"
 
-#: help.c:276
+#: help.c:288
 #, c-format
 msgid "  \\cd [DIR]              change the current working directory\n"
 msgstr "  \\cd [RÉPERTOIRE]     change de répertoire de travail\n"
 
-#: help.c:277
+#: help.c:289
 #, c-format
 msgid "  \\setenv NAME [VALUE]   set or unset environment variable\n"
 msgstr "  \\setenv NOM [VALEUR] (dés)initialise une variable d'environnement\n"
 
-#: help.c:278
+#: help.c:290
 #, c-format
 msgid "  \\timing [on|off]       toggle timing of commands (currently %s)\n"
 msgstr ""
 "  \\timing [on|off]     bascule l'activation du chronométrage des commandes\n"
 "                        (actuellement %s)\n"
 
-#: help.c:280
+#: help.c:292
 #, c-format
 msgid "  \\! [COMMAND]           execute command in shell or start interactive shell\n"
 msgstr ""
 "  \\! [COMMANDE]        exécute la commande dans un shell ou exécute un\n"
 "                        shell interactif\n"
 
-#: help.c:283
+#: help.c:295
 #, c-format
 msgid "Variables\n"
 msgstr "Variables\n"
 
-#: help.c:284
+#: help.c:296
 #, c-format
 msgid "  \\prompt [TEXT] NAME    prompt user to set internal variable\n"
 msgstr ""
 "  \\prompt [TEXTE] NOM  demande à l'utilisateur de configurer la variable\n"
 "                        interne\n"
 
-#: help.c:285
+#: help.c:297
 #, c-format
 msgid "  \\set [NAME [VALUE]]    set internal variable, or list all if no parameters\n"
 msgstr ""
 "  \\set [NOM [VALEUR]]  initialise une variable interne ou les affiche\n"
 "                        toutes en l'absence de paramètre\n"
 
-#: help.c:286
+#: help.c:298
 #, c-format
 msgid "  \\unset NAME            unset (delete) internal variable\n"
 msgstr "  \\unset NOM           désactive (supprime) la variable interne\n"
 
-#: help.c:289
+#: help.c:301
 #, c-format
 msgid "Large Objects\n"
 msgstr "« Large objects »\n"
 
-#: help.c:290
+#: help.c:302
 #, c-format
 msgid ""
 "  \\lo_export LOBOID FILE\n"
@@ -2647,7 +2754,7 @@ msgstr ""
 "  \\lo_unlink OIDLOB\n"
 "                        opérations sur les « Large Objects »\n"
 
-#: help.c:311
+#: help.c:329
 #, c-format
 msgid ""
 "List of specially treated variables\n"
@@ -2656,12 +2763,12 @@ msgstr ""
 "Liste des variables traitées spécialement\n"
 "\n"
 
-#: help.c:313
+#: help.c:331
 #, c-format
 msgid "psql variables:\n"
 msgstr "variables psql :\n"
 
-#: help.c:315
+#: help.c:333
 #, c-format
 msgid ""
 "  psql --set=NAME=VALUE\n"
@@ -2672,12 +2779,12 @@ msgstr ""
 "  ou \\set NOM VALEUR dans psql\n"
 "\n"
 
-#: help.c:317
+#: help.c:335
 #, c-format
 msgid "  AUTOCOMMIT         if set, successful SQL commands are automatically committed\n"
 msgstr "  AUTOCOMMIT         si activé, les commandes SQL réussies sont automatiquement validées\n"
 
-#: help.c:318
+#: help.c:336
 #, c-format
 msgid ""
 "  COMP_KEYWORD_CASE  determines the case used to complete SQL key words\n"
@@ -2686,12 +2793,12 @@ msgstr ""
 "  COMP_KEYWORD_CASE  détermine la casse utilisée pour compléter les mots clés SQL\n"
 "                     [lower, upper, preserve-lower, preserve-upper]\n"
 
-#: help.c:320
+#: help.c:338
 #, c-format
 msgid "  DBNAME             the currently connected database name\n"
 msgstr "  DBNAME             le nom de base de données actuel\n"
 
-#: help.c:321
+#: help.c:339
 #, c-format
 msgid ""
 "  ECHO               controls what input is written to standard output\n"
@@ -2700,7 +2807,7 @@ msgstr ""
 "  ECHO               contrôle ce qui est envoyé sur la sortie standard\n"
 "                     [all, errors, none, queries]\n"
 
-#: help.c:323
+#: help.c:341
 #, c-format
 msgid ""
 "  ECHO_HIDDEN        if set, display internal queries executed by backslash commands;\n"
@@ -2709,12 +2816,12 @@ msgstr ""
 "  ECHO_HIDDEN        si activé, affiche les requêtes internes exécutées par les méta-commandes ;\n"
 "                     si configuré à « noexec », affiche les requêtes mais ne les exécute pas\n"
 
-#: help.c:325
+#: help.c:343
 #, c-format
 msgid "  ENCODING           current client character set encoding\n"
 msgstr "  ENCODING           encodage du jeu de caractères client\n"
 
-#: help.c:326
+#: help.c:344
 #, c-format
 msgid ""
 "  FETCH_COUNT        the number of result rows to fetch and display at a time\n"
@@ -2723,92 +2830,97 @@ msgstr ""
 "  FETCH_COUNT        le nombre de lignes résultats à récupérer et à afficher à la fois\n"
 "                     (par défaut 0 pour illimité)\n"
 
-#: help.c:328
+#: help.c:346
 #, c-format
 msgid "  HISTCONTROL        controls command history [ignorespace, ignoredups, ignoreboth]\n"
 msgstr "  HISTCONTROL        contrôle l'historique des commandes [ignorespace, ignoredups, ignoreboth]\n"
 
-#: help.c:329
+#: help.c:347
 #, c-format
 msgid "  HISTFILE           file name used to store the command history\n"
 msgstr "  HISTFILE           nom du fichier utilisé pour stocker l'historique des commandes\n"
 
-#: help.c:330
+#: help.c:348
 #, c-format
 msgid "  HISTSIZE           the number of commands to store in the command history\n"
 msgstr "  HISTSIZE           le nombre de commandes à stocker dans l'historique de commandes\n"
 
-#: help.c:331
+#: help.c:349
 #, c-format
 msgid "  HOST               the currently connected database server host\n"
 msgstr "  HOST               l'hôte de la base de données\n"
 
-#: help.c:332
+#: help.c:350
 #, c-format
 msgid "  IGNOREEOF          if unset, sending an EOF to interactive session terminates application\n"
 msgstr "  IGNOREEOF          si non configuré, envoyer un EOF à une session interactive fait quitter l'application\n"
 
-#: help.c:333
+#: help.c:351
 #, c-format
 msgid "  LASTOID            value of the last affected OID\n"
 msgstr "  LASTOID            valeur du dernier OID affecté\n"
 
-#: help.c:334
+#: help.c:352
 #, c-format
 msgid "  ON_ERROR_ROLLBACK  if set, an error doesn't stop a transaction (uses implicit savepoints)\n"
 msgstr "  ON_ERROR_ROLLBACK  si activé, une erreur n'arrête pas une transaction (utilise des savepoints implicites)\n"
 
-#: help.c:335
+#: help.c:353
 #, c-format
 msgid "  ON_ERROR_STOP      stop batch execution after error\n"
 msgstr "  ON_ERROR_STOP      arrête l'exécution d'un batch après une erreur\n"
 
-#: help.c:336
+#: help.c:354
 #, c-format
 msgid "  PORT               server port of the current connection\n"
 msgstr "  PORT               port du server pour la connexion actuelle\n"
 
-#: help.c:337
+#: help.c:355
 #, c-format
 msgid "  PROMPT1            specifies the standard psql prompt\n"
 msgstr "  PROMPT1            spécifie l'invite standard de psql\n"
 
-#: help.c:338
+#: help.c:356
 #, c-format
 msgid "  PROMPT2            specifies the prompt used when a statement continues from a previous line\n"
 msgstr "  PROMPT2            spécifie l'invite utilisé quand une requête continue après la ligne courante\n"
 
-#: help.c:339
+#: help.c:357
 #, c-format
 msgid "  PROMPT3            specifies the prompt used during COPY ... FROM STDIN\n"
 msgstr "  PROMPT3            spécifie l'invite utilisée lors d'un COPY ... FROM STDIN\n"
 
-#: help.c:340
+#: help.c:358
 #, c-format
 msgid "  QUIET              run quietly (same as -q option)\n"
 msgstr "  QUIET              s'exécute en silence (identique à l'option -q)\n"
 
-#: help.c:341
+#: help.c:359
+#, c-format
+msgid "  SHOW_CONTEXT       controls display of message context fields [never, errors, always]\n"
+msgstr "  SHOW_CONTEXT       contrôle l'affichage des champs de contexte du message [never, errors, always]\n"
+
+#: help.c:360
 #, c-format
 msgid "  SINGLELINE         end of line terminates SQL command mode (same as -S option)\n"
 msgstr "  SINGLELINE         une fin de ligne termine le mode de commande SQL (identique à l'option -S)\n"
 
-#: help.c:342
+#: help.c:361
 #, c-format
 msgid "  SINGLESTEP         single-step mode (same as -s option)\n"
 msgstr "  SINGLESTEP         mode pas à pas (identique à l'option -s)\n"
 
-#: help.c:343
+#: help.c:362
 #, c-format
 msgid "  USER               the currently connected database user\n"
 msgstr "  USER               l'utilisateur actuellement connecté\n"
 
-#: help.c:344
+#: help.c:363
 #, c-format
 msgid "  VERBOSITY          controls verbosity of error reports [default, verbose, terse]\n"
 msgstr "  VERBOSITY          contrôle la verbosité des rapports d'erreurs [default, verbose, terse]\n"
 
-#: help.c:346
+#: help.c:365
 #, c-format
 msgid ""
 "\n"
@@ -2817,7 +2929,7 @@ msgstr ""
 "\n"
 "Paramètres d'affichage :\n"
 
-#: help.c:348
+#: help.c:367
 #, c-format
 msgid ""
 "  psql --pset=NAME[=VALUE]\n"
@@ -2828,54 +2940,54 @@ msgstr ""
 "  ou \\pset NOM [VALEUR] dans psql\n"
 "\n"
 
-#: help.c:350
+#: help.c:369
 #, c-format
 msgid "  border             border style (number)\n"
 msgstr "  border             style de bordure (nombre)\n"
 
-#: help.c:351
+#: help.c:370
 #, c-format
 msgid "  columns            target width for the wrapped format\n"
 msgstr "  columns            largeur cible pour le format encadré\n"
 
-#: help.c:352
+#: help.c:371
 #, c-format
 msgid "  expanded (or x)    expanded output [on, off, auto]\n"
 msgstr "  expanded (or x)    sortie étendue [on, off, auto]\n"
 
-#: help.c:353
+#: help.c:372
 #, c-format
 msgid "  fieldsep           field separator for unaligned output (default \"%s\")\n"
 msgstr "  fieldsep           champ séparateur pour l'affichage non aligné (par défaut « %s »)\n"
 
-#: help.c:354
+#: help.c:373
 #, c-format
 msgid "  fieldsep_zero      set field separator for unaligned output to zero byte\n"
 msgstr ""
 "  fieldsep_zero      configure le séparateur de champ pour l'affichage non\\n\n"
 "                     aligné à l'octet zéro\n"
 
-#: help.c:355
+#: help.c:374
 #, c-format
 msgid "  format             set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n"
 msgstr "  format             active le format de sortie [unaligned, aligned, wrapped, html, asciidoc, ...]\n"
 
-#: help.c:356
+#: help.c:375
 #, c-format
 msgid "  footer             enable or disable display of the table footer [on, off]\n"
 msgstr "  footer             active ou désactive l'affiche du bas de tableau [on, off]\n"
 
-#: help.c:357
+#: help.c:376
 #, c-format
 msgid "  linestyle          set the border line drawing style [ascii, old-ascii, unicode]\n"
 msgstr "  linestyle          configure l'affichage des lignes de bordure [ascii, old-ascii, unicode]\n"
 
-#: help.c:358
+#: help.c:377
 #, c-format
 msgid "  null               set the string to be printed in place of a null value\n"
 msgstr "  null               configure la chaîne à afficher à la place d'une valeur NULL\n"
 
-#: help.c:359
+#: help.c:378
 #, c-format
 msgid ""
 "  numericlocale      enable or disable display of a locale-specific character to separate\n"
@@ -2884,17 +2996,17 @@ msgstr ""
 "  numericlocale      active ou désactive l'affichage d'un caractère spécigique à la locale pour séparer\n"
 "                     des groupes de chiffres [on, off]\n"
 
-#: help.c:361
+#: help.c:380
 #, c-format
 msgid "  pager              control when an external pager is used [yes, no, always]\n"
 msgstr "  pager              contrôle quand un paginateur externe est utilisé [yes, no, always]\n"
 
-#: help.c:362
+#: help.c:381
 #, c-format
 msgid "  recordsep          record (line) separator for unaligned output\n"
 msgstr "  recordsep          enregistre le séparateur de ligne pour les affichages non alignés\n"
 
-#: help.c:363
+#: help.c:382
 #, c-format
 msgid "  recordsep_zero     set record separator for unaligned output to zero byte\n"
 msgstr ""
@@ -2902,7 +3014,7 @@ msgstr ""
 "                     non aligné à l'octet zéro\n"
 "\n"
 
-#: help.c:364
+#: help.c:383
 #, c-format
 msgid ""
 "  tableattr (or T)   specify attributes for table tag in html format or proportional\n"
@@ -2911,17 +3023,17 @@ msgstr ""
 "  tableattr (or T)   indique les attributs pour la balise de table dans le format html ou les largeurs\n"
 "                     proportionnelles de colonnes pour les types de données alignés à gauche dans le format latex-longtable\n"
 
-#: help.c:366
+#: help.c:385
 #, c-format
 msgid "  title              set the table title for any subsequently printed tables\n"
 msgstr "  title              configure le titre de la table pour toute table affichée\n"
 
-#: help.c:367
+#: help.c:386
 #, c-format
 msgid "  tuples_only        if set, only actual table data is shown\n"
 msgstr "  tuples_only        si activé, seules les données de la table sont affichées\n"
 
-#: help.c:368
+#: help.c:387
 #, c-format
 msgid ""
 "  unicode_border_linestyle\n"
@@ -2934,7 +3046,7 @@ msgstr ""
 "  unicode_header_linestyle\n"
 "                     configure le style d'affichage de ligne Unicode [single, double]\n"
 
-#: help.c:373
+#: help.c:392
 #, c-format
 msgid ""
 "\n"
@@ -2943,7 +3055,7 @@ msgstr ""
 "\n"
 "Variables d'environnement :\n"
 
-#: help.c:377
+#: help.c:396
 #, c-format
 msgid ""
 "  NAME=VALUE [NAME=VALUE] psql ...\n"
@@ -2954,7 +3066,7 @@ msgstr ""
 "  ou \\setenv NOM [VALEUR] dans psql\n"
 "\n"
 
-#: help.c:379
+#: help.c:398
 #, c-format
 msgid ""
 "  set NAME=VALUE\n"
@@ -2967,61 +3079,61 @@ msgstr ""
 "  ou \\setenv NOM [VALEUR] dans psql\n"
 "\n"
 
-#: help.c:382
+#: help.c:401
 #, c-format
 msgid "  COLUMNS            number of columns for wrapped format\n"
 msgstr "  COLUMNS            nombre de colonnes pour le format encadré\n"
 
-#: help.c:383
+#: help.c:402
 #, c-format
 msgid "  PAGER              name of external pager program\n"
 msgstr "  PAGER              nom du paginateur externe\n"
 
-#: help.c:384
+#: help.c:403
 #, c-format
 msgid "  PGAPPNAME          same as the application_name connection parameter\n"
 msgstr "  PGAPPNAME          identique au paramètre de connexion application_name\n"
 
-#: help.c:385
+#: help.c:404
 #, c-format
 msgid "  PGDATABASE         same as the dbname connection parameter\n"
 msgstr "  PGDATABASE         identique au paramètre de connexion dbname\n"
 
-#: help.c:386
+#: help.c:405
 #, c-format
 msgid "  PGHOST             same as the host connection parameter\n"
 msgstr "  PGHOST             identique au paramètre de connexion host\n"
 
-#: help.c:387
+#: help.c:406
 #, c-format
 msgid "  PGPORT             same as the port connection parameter\n"
 msgstr "  PGPORT             identique au paramètre de connexion port\n"
 
-#: help.c:388
+#: help.c:407
 #, c-format
 msgid "  PGUSER             same as the user connection parameter\n"
 msgstr "  PGUSER             identique au paramètre de connexion user\n"
 
-#: help.c:389
+#: help.c:408
 #, c-format
 msgid "  PGPASSWORD         connection password (not recommended)\n"
 msgstr "  PGPASSWORD         mot de passe de connexion (non recommendé)\n"
 
-#: help.c:390
+#: help.c:409
 #, c-format
 msgid "  PGPASSFILE         password file name\n"
 msgstr "  PGPASSFILE         nom du fichier de mot de passe\n"
 
-#: help.c:391
+#: help.c:410
 #, c-format
 msgid ""
 "  PSQL_EDITOR, EDITOR, VISUAL\n"
-"                     editor used by the \\e and \\ef commands\n"
+"                     editor used by the \\e, \\ef, and \\ev commands\n"
 msgstr ""
 "  PSQL_EDITOR, EDITOR, VISUAL\n"
-"                     éditeur utilisé par les commandes \\e et \\ef\n"
+"                     éditeur utilisé par les commandes \\e, \\ef et \\ev\n"
 
-#: help.c:393
+#: help.c:412
 #, c-format
 msgid ""
 "  PSQL_EDITOR_LINENUMBER_ARG\n"
@@ -3030,31 +3142,31 @@ msgstr ""
 "  PSQL_EDITOR_LINENUMBER_ARG\n"
 "                     comment spécifier un numéro de ligne lors de l'appel de l'éditeur\n"
 
-#: help.c:395
+#: help.c:414
 #, c-format
 msgid "  PSQL_HISTORY       alternative location for the command history file\n"
 msgstr "  PSQL_HISTORY       autre emplacement pour le fichier d'historique des commandes\n"
 
-#: help.c:396
+#: help.c:415
 #, c-format
 msgid "  PSQLRC             alternative location for the user's .psqlrc file\n"
 msgstr "  PSQLRC             autre emplacement pour le fichier .psqlrc de l'utilisateur\n"
 
-#: help.c:397
+#: help.c:416
 #, c-format
 msgid "  SHELL              shell used by the \\! command\n"
 msgstr "  SHELL              shell utilisé par la commande \\!\n"
 
-#: help.c:398
+#: help.c:417
 #, c-format
 msgid "  TMPDIR             directory for temporary files\n"
 msgstr "  TMPDIR             répertoire pour les fichiers temporaires\n"
 
-#: help.c:441
+#: help.c:460
 msgid "Available help:\n"
 msgstr "Aide-mémoire disponible :\n"
 
-#: help.c:525
+#: help.c:544
 #, c-format
 msgid ""
 "Command:     %s\n"
@@ -3069,7 +3181,7 @@ msgstr ""
 "%s\n"
 "\n"
 
-#: help.c:541
+#: help.c:560
 #, c-format
 msgid ""
 "No help available for \"%s\".\n"
@@ -3078,17 +3190,17 @@ msgstr ""
 "Aucun aide-mémoire disponible pour « %s ».\n"
 "Essayez \\h sans arguments pour afficher les aide-mémoires disponibles.\n"
 
-#: input.c:205
+#: input.c:216
 #, c-format
 msgid "could not read from input file: %s\n"
 msgstr "n'a pas pu lire à partir du fichier en entrée : %s\n"
 
-#: input.c:460 input.c:499
+#: input.c:471 input.c:510
 #, c-format
 msgid "could not save history to file \"%s\": %s\n"
 msgstr "n'a pas pu sauvegarder l'historique dans le fichier « %s » : %s\n"
 
-#: input.c:519
+#: input.c:530
 #, c-format
 msgid "history is not supported by this installation\n"
 msgstr "l'historique n'est pas supportée par cette installation\n"
@@ -3116,12 +3228,12 @@ msgstr "ID"
 msgid "Large objects"
 msgstr "« Large objects »"
 
-#: mainloop.c:161
+#: mainloop.c:168
 #, c-format
 msgid "Use \"\\q\" to leave %s.\n"
 msgstr "Saisissez « \\q » pour quitter %s.\n"
 
-#: mainloop.c:183
+#: mainloop.c:190
 msgid ""
 "The input is a PostgreSQL custom-format dump.\n"
 "Use the pg_restore command-line client to restore this dump to a database.\n"
@@ -3129,11 +3241,11 @@ msgstr ""
 "Les données en entrée proviennent d'une sauvegarde PostgreSQL au format custom.\n"
 "Utilisez l'outil en ligne de commande pg_restore pour restaurer cette sauvegarde dans une base de données.\n"
 
-#: mainloop.c:203
+#: mainloop.c:210
 msgid "You are using psql, the command-line interface to PostgreSQL."
 msgstr "Vous utilisez psql, l'interface en ligne de commande de PostgreSQL."
 
-#: mainloop.c:204
+#: mainloop.c:211
 #, c-format
 msgid ""
 "Type:  \\copyright for distribution terms\n"
@@ -3149,2062 +3261,2053 @@ msgstr ""
 "    \\g ou point-virgule en fin d'instruction pour exécuter la requête\n"
 "    \\q pour quitter\n"
 
-#: print.c:352
-#, c-format
-msgid "(%lu row)"
-msgid_plural "(%lu rows)"
-msgstr[0] "(%lu ligne)"
-msgstr[1] "(%lu lignes)"
-
-#: print.c:2902
-#, c-format
-msgid "Interrupted\n"
-msgstr "Interrompu\n"
-
-#: print.c:2966
-#, c-format
-msgid "Cannot add header to table content: column count of %d exceeded.\n"
-msgstr ""
-"Ne peut pas ajouter l'en-tête au contenu de la table : le nombre de colonnes\n"
-"%d est dépassé.\n"
-
-#: print.c:3006
-#, c-format
-msgid "Cannot add cell to table content: total cell count of %d exceeded.\n"
-msgstr ""
-"Ne peut pas ajouter une cellule au contenu de la table : le nombre total des\n"
-"cellules %d est dépassé.\n"
-
-#: print.c:3255
-#, c-format
-msgid "invalid output format (internal error): %d"
-msgstr "format de sortie invalide (erreur interne) : %d"
-
-#: psqlscan.l:751
-#, c-format
-msgid "skipping recursive expansion of variable \"%s\"\n"
-msgstr "ignore l'expansion récursive de la variable « %s »\n"
-
-#: psqlscan.l:1627
+#: psqlscanslash.l:584
 #, c-format
 msgid "unterminated quoted string\n"
 msgstr "chaîne entre guillemets non terminée\n"
 
-#: psqlscan.l:1727
+#: psqlscanslash.l:737
 #, c-format
 msgid "%s: out of memory\n"
 msgstr "%s : mémoire épuisée\n"
 
-#: psqlscan.l:1956
-#, c-format
-msgid "can't escape without active connection\n"
-msgstr "ne peut mettre entre guillemets sans connexion active\n"
-
-#: sql_help.c:33 sql_help.c:36 sql_help.c:39 sql_help.c:61 sql_help.c:63
-#: sql_help.c:65 sql_help.c:76 sql_help.c:78 sql_help.c:80 sql_help.c:106
-#: sql_help.c:112 sql_help.c:114 sql_help.c:116 sql_help.c:118 sql_help.c:121
-#: sql_help.c:123 sql_help.c:125 sql_help.c:218 sql_help.c:220 sql_help.c:221
-#: sql_help.c:223 sql_help.c:225 sql_help.c:228 sql_help.c:230 sql_help.c:232
-#: sql_help.c:234 sql_help.c:246 sql_help.c:247 sql_help.c:248 sql_help.c:250
-#: sql_help.c:296 sql_help.c:298 sql_help.c:300 sql_help.c:302 sql_help.c:362
-#: sql_help.c:367 sql_help.c:369 sql_help.c:412 sql_help.c:414 sql_help.c:417
-#: sql_help.c:419 sql_help.c:483 sql_help.c:488 sql_help.c:493 sql_help.c:498
-#: sql_help.c:546 sql_help.c:548 sql_help.c:550 sql_help.c:553 sql_help.c:555
-#: sql_help.c:566 sql_help.c:568 sql_help.c:608 sql_help.c:610 sql_help.c:613
-#: sql_help.c:615 sql_help.c:617 sql_help.c:646 sql_help.c:650 sql_help.c:668
-#: sql_help.c:671 sql_help.c:674 sql_help.c:703 sql_help.c:715 sql_help.c:723
-#: sql_help.c:726 sql_help.c:729 sql_help.c:744 sql_help.c:747 sql_help.c:792
-#: sql_help.c:815 sql_help.c:826 sql_help.c:828 sql_help.c:845 sql_help.c:854
-#: sql_help.c:856 sql_help.c:858 sql_help.c:870 sql_help.c:874 sql_help.c:876
-#: sql_help.c:960 sql_help.c:962 sql_help.c:965 sql_help.c:968 sql_help.c:970
-#: sql_help.c:972 sql_help.c:1033 sql_help.c:1035 sql_help.c:1037
-#: sql_help.c:1040 sql_help.c:1061 sql_help.c:1064 sql_help.c:1067
-#: sql_help.c:1070 sql_help.c:1074 sql_help.c:1076 sql_help.c:1078
-#: sql_help.c:1080 sql_help.c:1094 sql_help.c:1097 sql_help.c:1099
-#: sql_help.c:1101 sql_help.c:1111 sql_help.c:1113 sql_help.c:1123
-#: sql_help.c:1125 sql_help.c:1134 sql_help.c:1155 sql_help.c:1157
-#: sql_help.c:1159 sql_help.c:1162 sql_help.c:1164 sql_help.c:1166
-#: sql_help.c:1217 sql_help.c:1255 sql_help.c:1258 sql_help.c:1260
-#: sql_help.c:1262 sql_help.c:1264 sql_help.c:1266 sql_help.c:1269
-#: sql_help.c:1309 sql_help.c:1556 sql_help.c:1572 sql_help.c:1585
-#: sql_help.c:1636 sql_help.c:1640 sql_help.c:1650 sql_help.c:1670
-#: sql_help.c:1695 sql_help.c:1713 sql_help.c:1741 sql_help.c:1815
-#: sql_help.c:1858 sql_help.c:1880 sql_help.c:1900 sql_help.c:1901
-#: sql_help.c:1936 sql_help.c:1956 sql_help.c:1978 sql_help.c:1991
-#: sql_help.c:2023 sql_help.c:2048 sql_help.c:2092 sql_help.c:2278
-#: sql_help.c:2291 sql_help.c:2308 sql_help.c:2324 sql_help.c:2363
-#: sql_help.c:2414 sql_help.c:2418 sql_help.c:2420 sql_help.c:2426
-#: sql_help.c:2444 sql_help.c:2472 sql_help.c:2507 sql_help.c:2519
-#: sql_help.c:2528 sql_help.c:2578 sql_help.c:2606 sql_help.c:2614
-#: sql_help.c:2622 sql_help.c:2630 sql_help.c:2638 sql_help.c:2646
-#: sql_help.c:2654 sql_help.c:2662 sql_help.c:2671 sql_help.c:2682
-#: sql_help.c:2690 sql_help.c:2698 sql_help.c:2706 sql_help.c:2714
-#: sql_help.c:2724 sql_help.c:2733 sql_help.c:2742 sql_help.c:2750
-#: sql_help.c:2759 sql_help.c:2767 sql_help.c:2776 sql_help.c:2784
-#: sql_help.c:2792 sql_help.c:2800 sql_help.c:2808 sql_help.c:2816
-#: sql_help.c:2824 sql_help.c:2832 sql_help.c:2840 sql_help.c:2857
-#: sql_help.c:2866 sql_help.c:2874 sql_help.c:2891 sql_help.c:2906
-#: sql_help.c:3171 sql_help.c:3222 sql_help.c:3251 sql_help.c:3259
-#: sql_help.c:3678 sql_help.c:3726 sql_help.c:3867
+#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:64 sql_help.c:66
+#: sql_help.c:68 sql_help.c:79 sql_help.c:81 sql_help.c:83 sql_help.c:109
+#: sql_help.c:115 sql_help.c:117 sql_help.c:119 sql_help.c:121 sql_help.c:124
+#: sql_help.c:126 sql_help.c:128 sql_help.c:221 sql_help.c:223 sql_help.c:224
+#: sql_help.c:226 sql_help.c:228 sql_help.c:231 sql_help.c:233 sql_help.c:235
+#: sql_help.c:237 sql_help.c:249 sql_help.c:250 sql_help.c:251 sql_help.c:253
+#: sql_help.c:299 sql_help.c:301 sql_help.c:303 sql_help.c:305 sql_help.c:365
+#: sql_help.c:370 sql_help.c:372 sql_help.c:415 sql_help.c:417 sql_help.c:420
+#: sql_help.c:422 sql_help.c:489 sql_help.c:494 sql_help.c:499 sql_help.c:504
+#: sql_help.c:509 sql_help.c:558 sql_help.c:560 sql_help.c:562 sql_help.c:564
+#: sql_help.c:567 sql_help.c:569 sql_help.c:580 sql_help.c:582 sql_help.c:624
+#: sql_help.c:626 sql_help.c:628 sql_help.c:631 sql_help.c:633 sql_help.c:635
+#: sql_help.c:669 sql_help.c:673 sql_help.c:677 sql_help.c:696 sql_help.c:699
+#: sql_help.c:702 sql_help.c:731 sql_help.c:743 sql_help.c:751 sql_help.c:754
+#: sql_help.c:757 sql_help.c:772 sql_help.c:775 sql_help.c:819 sql_help.c:842
+#: sql_help.c:853 sql_help.c:855 sql_help.c:872 sql_help.c:881 sql_help.c:883
+#: sql_help.c:885 sql_help.c:897 sql_help.c:901 sql_help.c:903 sql_help.c:987
+#: sql_help.c:989 sql_help.c:992 sql_help.c:995 sql_help.c:997 sql_help.c:999
+#: sql_help.c:1060 sql_help.c:1062 sql_help.c:1064 sql_help.c:1067
+#: sql_help.c:1088 sql_help.c:1091 sql_help.c:1094 sql_help.c:1097
+#: sql_help.c:1101 sql_help.c:1103 sql_help.c:1105 sql_help.c:1107
+#: sql_help.c:1121 sql_help.c:1124 sql_help.c:1126 sql_help.c:1128
+#: sql_help.c:1138 sql_help.c:1140 sql_help.c:1150 sql_help.c:1152
+#: sql_help.c:1162 sql_help.c:1165 sql_help.c:1186 sql_help.c:1188
+#: sql_help.c:1190 sql_help.c:1193 sql_help.c:1195 sql_help.c:1197
+#: sql_help.c:1247 sql_help.c:1285 sql_help.c:1288 sql_help.c:1290
+#: sql_help.c:1292 sql_help.c:1294 sql_help.c:1296 sql_help.c:1299
+#: sql_help.c:1339 sql_help.c:1542 sql_help.c:1613 sql_help.c:1633
+#: sql_help.c:1650 sql_help.c:1705 sql_help.c:1709 sql_help.c:1719
+#: sql_help.c:1739 sql_help.c:1764 sql_help.c:1782 sql_help.c:1811
+#: sql_help.c:1886 sql_help.c:1928 sql_help.c:1950 sql_help.c:1970
+#: sql_help.c:1971 sql_help.c:2006 sql_help.c:2026 sql_help.c:2048
+#: sql_help.c:2061 sql_help.c:2092 sql_help.c:2117 sql_help.c:2161
+#: sql_help.c:2347 sql_help.c:2360 sql_help.c:2377 sql_help.c:2393
+#: sql_help.c:2432 sql_help.c:2483 sql_help.c:2487 sql_help.c:2489
+#: sql_help.c:2495 sql_help.c:2513 sql_help.c:2540 sql_help.c:2575
+#: sql_help.c:2587 sql_help.c:2596 sql_help.c:2640 sql_help.c:2654
+#: sql_help.c:2682 sql_help.c:2690 sql_help.c:2698 sql_help.c:2706
+#: sql_help.c:2714 sql_help.c:2722 sql_help.c:2730 sql_help.c:2738
+#: sql_help.c:2747 sql_help.c:2758 sql_help.c:2766 sql_help.c:2774
+#: sql_help.c:2782 sql_help.c:2790 sql_help.c:2800 sql_help.c:2809
+#: sql_help.c:2818 sql_help.c:2826 sql_help.c:2835 sql_help.c:2843
+#: sql_help.c:2852 sql_help.c:2860 sql_help.c:2868 sql_help.c:2876
+#: sql_help.c:2884 sql_help.c:2892 sql_help.c:2900 sql_help.c:2908
+#: sql_help.c:2916 sql_help.c:2933 sql_help.c:2942 sql_help.c:2950
+#: sql_help.c:2967 sql_help.c:2982 sql_help.c:3247 sql_help.c:3298
+#: sql_help.c:3327 sql_help.c:3335 sql_help.c:3754 sql_help.c:3802
+#: sql_help.c:3943
 msgid "name"
 msgstr "nom"
 
-#: sql_help.c:34 sql_help.c:37 sql_help.c:40 sql_help.c:306 sql_help.c:1373
-#: sql_help.c:2579 sql_help.c:3474
+#: sql_help.c:37 sql_help.c:40 sql_help.c:43 sql_help.c:309 sql_help.c:1403
+#: sql_help.c:2655 sql_help.c:3550
 msgid "aggregate_signature"
 msgstr "signature_agrégat"
 
-#: sql_help.c:35 sql_help.c:62 sql_help.c:77 sql_help.c:113 sql_help.c:233
-#: sql_help.c:251 sql_help.c:370 sql_help.c:418 sql_help.c:492 sql_help.c:533
-#: sql_help.c:547 sql_help.c:567 sql_help.c:614 sql_help.c:670 sql_help.c:725
-#: sql_help.c:746 sql_help.c:793 sql_help.c:817 sql_help.c:827 sql_help.c:857
-#: sql_help.c:877 sql_help.c:969 sql_help.c:1034 sql_help.c:1077
-#: sql_help.c:1098 sql_help.c:1112 sql_help.c:1124 sql_help.c:1136
-#: sql_help.c:1163 sql_help.c:1218 sql_help.c:1263
+#: sql_help.c:38 sql_help.c:65 sql_help.c:80 sql_help.c:116 sql_help.c:236
+#: sql_help.c:254 sql_help.c:373 sql_help.c:421 sql_help.c:498 sql_help.c:544
+#: sql_help.c:559 sql_help.c:581 sql_help.c:632 sql_help.c:698 sql_help.c:753
+#: sql_help.c:774 sql_help.c:820 sql_help.c:844 sql_help.c:854 sql_help.c:884
+#: sql_help.c:904 sql_help.c:996 sql_help.c:1061 sql_help.c:1104
+#: sql_help.c:1125 sql_help.c:1139 sql_help.c:1151 sql_help.c:1164
+#: sql_help.c:1194 sql_help.c:1248 sql_help.c:1293
 msgid "new_name"
 msgstr "nouveau_nom"
 
-#: sql_help.c:38 sql_help.c:64 sql_help.c:79 sql_help.c:115 sql_help.c:231
-#: sql_help.c:249 sql_help.c:368 sql_help.c:454 sql_help.c:497 sql_help.c:569
-#: sql_help.c:578 sql_help.c:633 sql_help.c:649 sql_help.c:673 sql_help.c:728
-#: sql_help.c:829 sql_help.c:855 sql_help.c:875 sql_help.c:1018 sql_help.c:1036
-#: sql_help.c:1079 sql_help.c:1100 sql_help.c:1158 sql_help.c:1261
-#: sql_help.c:2264
+#: sql_help.c:41 sql_help.c:67 sql_help.c:82 sql_help.c:118 sql_help.c:234
+#: sql_help.c:252 sql_help.c:371 sql_help.c:457 sql_help.c:503 sql_help.c:583
+#: sql_help.c:592 sql_help.c:651 sql_help.c:672 sql_help.c:701 sql_help.c:756
+#: sql_help.c:856 sql_help.c:882 sql_help.c:902 sql_help.c:1045 sql_help.c:1063
+#: sql_help.c:1106 sql_help.c:1127 sql_help.c:1189 sql_help.c:1291
+#: sql_help.c:2333
 msgid "new_owner"
 msgstr "nouveau_propriétaire"
 
-#: sql_help.c:41 sql_help.c:66 sql_help.c:81 sql_help.c:235 sql_help.c:299
-#: sql_help.c:420 sql_help.c:502 sql_help.c:616 sql_help.c:653 sql_help.c:676
-#: sql_help.c:731 sql_help.c:859 sql_help.c:971 sql_help.c:1081 sql_help.c:1102
-#: sql_help.c:1114 sql_help.c:1126 sql_help.c:1165 sql_help.c:1265
+#: sql_help.c:44 sql_help.c:69 sql_help.c:84 sql_help.c:238 sql_help.c:302
+#: sql_help.c:423 sql_help.c:508 sql_help.c:634 sql_help.c:676 sql_help.c:704
+#: sql_help.c:759 sql_help.c:886 sql_help.c:998 sql_help.c:1108 sql_help.c:1129
+#: sql_help.c:1141 sql_help.c:1153 sql_help.c:1196 sql_help.c:1295
 msgid "new_schema"
 msgstr "nouveau_schéma"
 
-#: sql_help.c:42 sql_help.c:1426 sql_help.c:2580 sql_help.c:3493
+#: sql_help.c:45 sql_help.c:1456 sql_help.c:2656 sql_help.c:3569
 msgid "where aggregate_signature is:"
 msgstr "où signature_agrégat est :"
 
-#: sql_help.c:43 sql_help.c:46 sql_help.c:49 sql_help.c:316 sql_help.c:341
-#: sql_help.c:344 sql_help.c:347 sql_help.c:484 sql_help.c:489 sql_help.c:494
-#: sql_help.c:499 sql_help.c:1391 sql_help.c:1427 sql_help.c:1430
-#: sql_help.c:1433 sql_help.c:1557 sql_help.c:1573 sql_help.c:1576
-#: sql_help.c:1816 sql_help.c:2581 sql_help.c:2584 sql_help.c:2587
-#: sql_help.c:2672 sql_help.c:3057 sql_help.c:3389 sql_help.c:3480
-#: sql_help.c:3494 sql_help.c:3497 sql_help.c:3500
+#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:319 sql_help.c:344
+#: sql_help.c:347 sql_help.c:350 sql_help.c:490 sql_help.c:495 sql_help.c:500
+#: sql_help.c:505 sql_help.c:510 sql_help.c:1421 sql_help.c:1457
+#: sql_help.c:1460 sql_help.c:1463 sql_help.c:1614 sql_help.c:1634
+#: sql_help.c:1637 sql_help.c:1887 sql_help.c:2657 sql_help.c:2660
+#: sql_help.c:2663 sql_help.c:2748 sql_help.c:3133 sql_help.c:3465
+#: sql_help.c:3556 sql_help.c:3570 sql_help.c:3573 sql_help.c:3576
 msgid "argmode"
 msgstr "mode_argument"
 
-#: sql_help.c:44 sql_help.c:47 sql_help.c:50 sql_help.c:317 sql_help.c:342
-#: sql_help.c:345 sql_help.c:348 sql_help.c:485 sql_help.c:490 sql_help.c:495
-#: sql_help.c:500 sql_help.c:1392 sql_help.c:1428 sql_help.c:1431
-#: sql_help.c:1434 sql_help.c:1558 sql_help.c:1574 sql_help.c:1577
-#: sql_help.c:1817 sql_help.c:2582 sql_help.c:2585 sql_help.c:2588
-#: sql_help.c:2673 sql_help.c:3481 sql_help.c:3495 sql_help.c:3498
-#: sql_help.c:3501
+#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:320 sql_help.c:345
+#: sql_help.c:348 sql_help.c:351 sql_help.c:491 sql_help.c:496 sql_help.c:501
+#: sql_help.c:506 sql_help.c:511 sql_help.c:1422 sql_help.c:1458
+#: sql_help.c:1461 sql_help.c:1464 sql_help.c:1615 sql_help.c:1635
+#: sql_help.c:1638 sql_help.c:1888 sql_help.c:2658 sql_help.c:2661
+#: sql_help.c:2664 sql_help.c:2749 sql_help.c:3557 sql_help.c:3571
+#: sql_help.c:3574 sql_help.c:3577
 msgid "argname"
 msgstr "nom_agrégat"
 
-#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:318 sql_help.c:343
-#: sql_help.c:346 sql_help.c:349 sql_help.c:486 sql_help.c:491 sql_help.c:496
-#: sql_help.c:501 sql_help.c:1393 sql_help.c:1429 sql_help.c:1432
-#: sql_help.c:1435 sql_help.c:1818 sql_help.c:2583 sql_help.c:2586
-#: sql_help.c:2589 sql_help.c:2674 sql_help.c:3482 sql_help.c:3496
-#: sql_help.c:3499 sql_help.c:3502
+#: sql_help.c:48 sql_help.c:51 sql_help.c:54 sql_help.c:321 sql_help.c:346
+#: sql_help.c:349 sql_help.c:352 sql_help.c:492 sql_help.c:497 sql_help.c:502
+#: sql_help.c:507 sql_help.c:512 sql_help.c:1423 sql_help.c:1459
+#: sql_help.c:1462 sql_help.c:1465 sql_help.c:1889 sql_help.c:2659
+#: sql_help.c:2662 sql_help.c:2665 sql_help.c:2750 sql_help.c:3558
+#: sql_help.c:3572 sql_help.c:3575 sql_help.c:3578
 msgid "argtype"
 msgstr "type_argument"
 
-#: sql_help.c:107 sql_help.c:365 sql_help.c:443 sql_help.c:455 sql_help.c:787
-#: sql_help.c:872 sql_help.c:1095 sql_help.c:1212 sql_help.c:1240
-#: sql_help.c:1483 sql_help.c:1489 sql_help.c:1744 sql_help.c:1776
-#: sql_help.c:1783 sql_help.c:1859 sql_help.c:2024 sql_help.c:2113
-#: sql_help.c:2293 sql_help.c:2473 sql_help.c:2495 sql_help.c:2925
-#: sql_help.c:3091
+#: sql_help.c:110 sql_help.c:368 sql_help.c:446 sql_help.c:458 sql_help.c:814
+#: sql_help.c:899 sql_help.c:1122 sql_help.c:1242 sql_help.c:1270
+#: sql_help.c:1513 sql_help.c:1519 sql_help.c:1814 sql_help.c:1846
+#: sql_help.c:1853 sql_help.c:1929 sql_help.c:2093 sql_help.c:2182
+#: sql_help.c:2362 sql_help.c:2541 sql_help.c:2563 sql_help.c:3001
+#: sql_help.c:3167
 msgid "option"
 msgstr "option"
 
-#: sql_help.c:108 sql_help.c:788 sql_help.c:1213 sql_help.c:1860
-#: sql_help.c:2025 sql_help.c:2474
+#: sql_help.c:111 sql_help.c:815 sql_help.c:1243 sql_help.c:1930
+#: sql_help.c:2094 sql_help.c:2542
 msgid "where option can be:"
 msgstr "où option peut être :"
 
-#: sql_help.c:109 sql_help.c:1677
+#: sql_help.c:112 sql_help.c:1746
 msgid "allowconn"
 msgstr "allowconn"
 
-#: sql_help.c:110 sql_help.c:789 sql_help.c:1214 sql_help.c:1678
-#: sql_help.c:2026 sql_help.c:2475
+#: sql_help.c:113 sql_help.c:816 sql_help.c:1244 sql_help.c:1747
+#: sql_help.c:2095 sql_help.c:2543
 msgid "connlimit"
 msgstr "limite_de_connexion"
 
-#: sql_help.c:111 sql_help.c:1679
+#: sql_help.c:114 sql_help.c:1748
 msgid "istemplate"
 msgstr "istemplate"
 
-#: sql_help.c:117 sql_help.c:557 sql_help.c:619 sql_help.c:634 sql_help.c:974
-#: sql_help.c:1011
+#: sql_help.c:120 sql_help.c:571 sql_help.c:637 sql_help.c:652 sql_help.c:1001
+#: sql_help.c:1038
 msgid "new_tablespace"
 msgstr "nouveau_tablespace"
 
-#: sql_help.c:119 sql_help.c:122 sql_help.c:124 sql_help.c:506 sql_help.c:508
-#: sql_help.c:509 sql_help.c:796 sql_help.c:800 sql_help.c:803 sql_help.c:888
-#: sql_help.c:891 sql_help.c:1220 sql_help.c:1223 sql_help.c:1225
-#: sql_help.c:1827 sql_help.c:3276 sql_help.c:3667
+#: sql_help.c:122 sql_help.c:125 sql_help.c:127 sql_help.c:517 sql_help.c:519
+#: sql_help.c:520 sql_help.c:823 sql_help.c:827 sql_help.c:830 sql_help.c:915
+#: sql_help.c:918 sql_help.c:1250 sql_help.c:1253 sql_help.c:1255
+#: sql_help.c:1898 sql_help.c:3352 sql_help.c:3743
 msgid "configuration_parameter"
 msgstr "paramètre_configuration"
 
-#: sql_help.c:120 sql_help.c:366 sql_help.c:438 sql_help.c:444 sql_help.c:456
-#: sql_help.c:507 sql_help.c:552 sql_help.c:625 sql_help.c:631 sql_help.c:797
-#: sql_help.c:873 sql_help.c:889 sql_help.c:890 sql_help.c:993 sql_help.c:1013
-#: sql_help.c:1039 sql_help.c:1096 sql_help.c:1221 sql_help.c:1241
-#: sql_help.c:1745 sql_help.c:1777 sql_help.c:1784 sql_help.c:1828
-#: sql_help.c:1829 sql_help.c:1888 sql_help.c:1920 sql_help.c:2114
-#: sql_help.c:2188 sql_help.c:2196 sql_help.c:2228 sql_help.c:2250
-#: sql_help.c:2267 sql_help.c:2294 sql_help.c:2496 sql_help.c:3092
-#: sql_help.c:3668 sql_help.c:3669
+#: sql_help.c:123 sql_help.c:369 sql_help.c:441 sql_help.c:447 sql_help.c:459
+#: sql_help.c:518 sql_help.c:566 sql_help.c:643 sql_help.c:649 sql_help.c:824
+#: sql_help.c:900 sql_help.c:916 sql_help.c:917 sql_help.c:1020 sql_help.c:1040
+#: sql_help.c:1066 sql_help.c:1123 sql_help.c:1251 sql_help.c:1271
+#: sql_help.c:1815 sql_help.c:1847 sql_help.c:1854 sql_help.c:1899
+#: sql_help.c:1900 sql_help.c:1958 sql_help.c:1990 sql_help.c:2183
+#: sql_help.c:2257 sql_help.c:2265 sql_help.c:2297 sql_help.c:2319
+#: sql_help.c:2336 sql_help.c:2363 sql_help.c:2564 sql_help.c:3168
+#: sql_help.c:3744 sql_help.c:3745
 msgid "value"
 msgstr "valeur"
 
-#: sql_help.c:182
+#: sql_help.c:185
 msgid "target_role"
 msgstr "rôle_cible"
 
-#: sql_help.c:183 sql_help.c:1728 sql_help.c:2072 sql_help.c:2077
-#: sql_help.c:3039 sql_help.c:3046 sql_help.c:3060 sql_help.c:3066
-#: sql_help.c:3371 sql_help.c:3378 sql_help.c:3392 sql_help.c:3398
+#: sql_help.c:186 sql_help.c:1798 sql_help.c:2141 sql_help.c:2146
+#: sql_help.c:3115 sql_help.c:3122 sql_help.c:3136 sql_help.c:3142
+#: sql_help.c:3447 sql_help.c:3454 sql_help.c:3468 sql_help.c:3474
 msgid "schema_name"
 msgstr "nom_schéma"
 
-#: sql_help.c:184
+#: sql_help.c:187
 msgid "abbreviated_grant_or_revoke"
 msgstr "grant_ou_revoke_raccourci"
 
-#: sql_help.c:185
+#: sql_help.c:188
 msgid "where abbreviated_grant_or_revoke is one of:"
 msgstr "où abbreviated_grant_or_revoke fait partie de :"
 
-#: sql_help.c:186 sql_help.c:187 sql_help.c:188 sql_help.c:189 sql_help.c:190
-#: sql_help.c:191 sql_help.c:192 sql_help.c:193 sql_help.c:531 sql_help.c:556
-#: sql_help.c:618 sql_help.c:749 sql_help.c:807 sql_help.c:973 sql_help.c:1228
-#: sql_help.c:1863 sql_help.c:1864 sql_help.c:1865 sql_help.c:1866
-#: sql_help.c:1867 sql_help.c:1993 sql_help.c:2029 sql_help.c:2030
-#: sql_help.c:2031 sql_help.c:2032 sql_help.c:2033 sql_help.c:2478
-#: sql_help.c:2479 sql_help.c:2480 sql_help.c:2481 sql_help.c:2482
-#: sql_help.c:3073 sql_help.c:3074 sql_help.c:3075 sql_help.c:3372
-#: sql_help.c:3376 sql_help.c:3379 sql_help.c:3381 sql_help.c:3383
-#: sql_help.c:3385 sql_help.c:3387 sql_help.c:3393 sql_help.c:3395
-#: sql_help.c:3397 sql_help.c:3399 sql_help.c:3401 sql_help.c:3403
-#: sql_help.c:3404 sql_help.c:3405 sql_help.c:3688
+#: sql_help.c:189 sql_help.c:190 sql_help.c:191 sql_help.c:192 sql_help.c:193
+#: sql_help.c:194 sql_help.c:195 sql_help.c:196 sql_help.c:542 sql_help.c:570
+#: sql_help.c:636 sql_help.c:777 sql_help.c:834 sql_help.c:1000 sql_help.c:1258
+#: sql_help.c:1933 sql_help.c:1934 sql_help.c:1935 sql_help.c:1936
+#: sql_help.c:1937 sql_help.c:2063 sql_help.c:2098 sql_help.c:2099
+#: sql_help.c:2100 sql_help.c:2101 sql_help.c:2102 sql_help.c:2546
+#: sql_help.c:2547 sql_help.c:2548 sql_help.c:2549 sql_help.c:2550
+#: sql_help.c:3149 sql_help.c:3150 sql_help.c:3151 sql_help.c:3448
+#: sql_help.c:3452 sql_help.c:3455 sql_help.c:3457 sql_help.c:3459
+#: sql_help.c:3461 sql_help.c:3463 sql_help.c:3469 sql_help.c:3471
+#: sql_help.c:3473 sql_help.c:3475 sql_help.c:3477 sql_help.c:3479
+#: sql_help.c:3480 sql_help.c:3481 sql_help.c:3764
 msgid "role_name"
 msgstr "nom_rôle"
 
-#: sql_help.c:219 sql_help.c:431 sql_help.c:984 sql_help.c:986 sql_help.c:1257
-#: sql_help.c:1698 sql_help.c:1702 sql_help.c:1787 sql_help.c:1791
-#: sql_help.c:1884 sql_help.c:2200 sql_help.c:2210 sql_help.c:2232
-#: sql_help.c:3122 sql_help.c:3137 sql_help.c:3139 sql_help.c:3553
-#: sql_help.c:3554 sql_help.c:3563 sql_help.c:3604 sql_help.c:3605
-#: sql_help.c:3606 sql_help.c:3607 sql_help.c:3608 sql_help.c:3609
-#: sql_help.c:3642 sql_help.c:3643 sql_help.c:3648 sql_help.c:3653
-#: sql_help.c:3792 sql_help.c:3793 sql_help.c:3802 sql_help.c:3843
-#: sql_help.c:3844 sql_help.c:3845 sql_help.c:3846 sql_help.c:3847
-#: sql_help.c:3848 sql_help.c:3895 sql_help.c:3897 sql_help.c:3930
-#: sql_help.c:3986 sql_help.c:3987 sql_help.c:3996 sql_help.c:4037
-#: sql_help.c:4038 sql_help.c:4039 sql_help.c:4040 sql_help.c:4041
-#: sql_help.c:4042
+#: sql_help.c:222 sql_help.c:434 sql_help.c:1011 sql_help.c:1013
+#: sql_help.c:1287 sql_help.c:1767 sql_help.c:1771 sql_help.c:1857
+#: sql_help.c:1861 sql_help.c:1954 sql_help.c:2269 sql_help.c:2279
+#: sql_help.c:2301 sql_help.c:3198 sql_help.c:3213 sql_help.c:3215
+#: sql_help.c:3629 sql_help.c:3630 sql_help.c:3639 sql_help.c:3680
+#: sql_help.c:3681 sql_help.c:3682 sql_help.c:3683 sql_help.c:3684
+#: sql_help.c:3685 sql_help.c:3718 sql_help.c:3719 sql_help.c:3724
+#: sql_help.c:3729 sql_help.c:3868 sql_help.c:3869 sql_help.c:3878
+#: sql_help.c:3919 sql_help.c:3920 sql_help.c:3921 sql_help.c:3922
+#: sql_help.c:3923 sql_help.c:3924 sql_help.c:3971 sql_help.c:3973
+#: sql_help.c:4006 sql_help.c:4062 sql_help.c:4063 sql_help.c:4072
+#: sql_help.c:4113 sql_help.c:4114 sql_help.c:4115 sql_help.c:4116
+#: sql_help.c:4117 sql_help.c:4118
 msgid "expression"
 msgstr "expression"
 
-#: sql_help.c:222
+#: sql_help.c:225
 msgid "domain_constraint"
 msgstr "contrainte_domaine"
 
-#: sql_help.c:224 sql_help.c:226 sql_help.c:229 sql_help.c:446 sql_help.c:447
-#: sql_help.c:966 sql_help.c:999 sql_help.c:1000 sql_help.c:1001
-#: sql_help.c:1021 sql_help.c:1379 sql_help.c:1381 sql_help.c:1701
-#: sql_help.c:1786 sql_help.c:1790 sql_help.c:2199 sql_help.c:2209
-#: sql_help.c:3134
+#: sql_help.c:227 sql_help.c:229 sql_help.c:232 sql_help.c:449 sql_help.c:450
+#: sql_help.c:993 sql_help.c:1026 sql_help.c:1027 sql_help.c:1028
+#: sql_help.c:1048 sql_help.c:1409 sql_help.c:1411 sql_help.c:1770
+#: sql_help.c:1856 sql_help.c:1860 sql_help.c:2268 sql_help.c:2278
+#: sql_help.c:3210
 msgid "constraint_name"
 msgstr "nom_contrainte"
 
-#: sql_help.c:227 sql_help.c:967
+#: sql_help.c:230 sql_help.c:994
 msgid "new_constraint_name"
 msgstr "nouvelle_nom_contrainte"
 
-#: sql_help.c:297 sql_help.c:871
+#: sql_help.c:300 sql_help.c:898
 msgid "new_version"
 msgstr "nouvelle_version"
 
-#: sql_help.c:301 sql_help.c:303
+#: sql_help.c:304 sql_help.c:306
 msgid "member_object"
 msgstr "objet_membre"
 
-#: sql_help.c:304
+#: sql_help.c:307
 msgid "where member_object is:"
 msgstr "où objet_membre fait partie de :"
 
-#: sql_help.c:305 sql_help.c:1372 sql_help.c:3473
+#: sql_help.c:308 sql_help.c:1402 sql_help.c:3549
 msgid "aggregate_name"
 msgstr "nom_agrégat"
 
-#: sql_help.c:307 sql_help.c:1374 sql_help.c:1616 sql_help.c:1620
-#: sql_help.c:1622 sql_help.c:2597
+#: sql_help.c:310 sql_help.c:1404 sql_help.c:1685 sql_help.c:1689
+#: sql_help.c:1691 sql_help.c:2673
 msgid "source_type"
 msgstr "type_source"
 
-#: sql_help.c:308 sql_help.c:1375 sql_help.c:1617 sql_help.c:1621
-#: sql_help.c:1623 sql_help.c:2598
+#: sql_help.c:311 sql_help.c:1405 sql_help.c:1686 sql_help.c:1690
+#: sql_help.c:1692 sql_help.c:2674
 msgid "target_type"
 msgstr "type_cible"
 
-#: sql_help.c:309 sql_help.c:310 sql_help.c:311 sql_help.c:312 sql_help.c:313
-#: sql_help.c:314 sql_help.c:319 sql_help.c:323 sql_help.c:325 sql_help.c:327
-#: sql_help.c:328 sql_help.c:329 sql_help.c:330 sql_help.c:331 sql_help.c:332
-#: sql_help.c:333 sql_help.c:334 sql_help.c:335 sql_help.c:338 sql_help.c:339
-#: sql_help.c:1376 sql_help.c:1383 sql_help.c:1384 sql_help.c:1385
-#: sql_help.c:1386 sql_help.c:1387 sql_help.c:1388 sql_help.c:1389
-#: sql_help.c:1394 sql_help.c:1396 sql_help.c:1400 sql_help.c:1402
-#: sql_help.c:1406 sql_help.c:1407 sql_help.c:1410 sql_help.c:1411
-#: sql_help.c:1412 sql_help.c:1413 sql_help.c:1414 sql_help.c:1415
-#: sql_help.c:1416 sql_help.c:1417 sql_help.c:1418 sql_help.c:1423
-#: sql_help.c:1424 sql_help.c:3470 sql_help.c:3475 sql_help.c:3476
-#: sql_help.c:3477 sql_help.c:3478 sql_help.c:3484 sql_help.c:3485
-#: sql_help.c:3486 sql_help.c:3487 sql_help.c:3488 sql_help.c:3489
-#: sql_help.c:3490 sql_help.c:3491
+#: sql_help.c:312 sql_help.c:313 sql_help.c:314 sql_help.c:315 sql_help.c:316
+#: sql_help.c:317 sql_help.c:322 sql_help.c:326 sql_help.c:328 sql_help.c:330
+#: sql_help.c:331 sql_help.c:332 sql_help.c:333 sql_help.c:334 sql_help.c:335
+#: sql_help.c:336 sql_help.c:337 sql_help.c:338 sql_help.c:341 sql_help.c:342
+#: sql_help.c:1406 sql_help.c:1413 sql_help.c:1414 sql_help.c:1415
+#: sql_help.c:1416 sql_help.c:1417 sql_help.c:1418 sql_help.c:1419
+#: sql_help.c:1424 sql_help.c:1426 sql_help.c:1430 sql_help.c:1432
+#: sql_help.c:1436 sql_help.c:1437 sql_help.c:1440 sql_help.c:1441
+#: sql_help.c:1442 sql_help.c:1443 sql_help.c:1444 sql_help.c:1445
+#: sql_help.c:1446 sql_help.c:1447 sql_help.c:1448 sql_help.c:1453
+#: sql_help.c:1454 sql_help.c:3546 sql_help.c:3551 sql_help.c:3552
+#: sql_help.c:3553 sql_help.c:3554 sql_help.c:3560 sql_help.c:3561
+#: sql_help.c:3562 sql_help.c:3563 sql_help.c:3564 sql_help.c:3565
+#: sql_help.c:3566 sql_help.c:3567
 msgid "object_name"
 msgstr "nom_objet"
 
-#: sql_help.c:315 sql_help.c:713 sql_help.c:1390 sql_help.c:1618
-#: sql_help.c:1653 sql_help.c:1716 sql_help.c:1937 sql_help.c:1968
-#: sql_help.c:2368 sql_help.c:3056 sql_help.c:3388 sql_help.c:3479
-#: sql_help.c:3582 sql_help.c:3586 sql_help.c:3590 sql_help.c:3593
-#: sql_help.c:3821 sql_help.c:3825 sql_help.c:3829 sql_help.c:3832
-#: sql_help.c:4015 sql_help.c:4019 sql_help.c:4023 sql_help.c:4026
+#: sql_help.c:318 sql_help.c:741 sql_help.c:1420 sql_help.c:1687
+#: sql_help.c:1722 sql_help.c:1785 sql_help.c:2007 sql_help.c:2038
+#: sql_help.c:2437 sql_help.c:3132 sql_help.c:3464 sql_help.c:3555
+#: sql_help.c:3658 sql_help.c:3662 sql_help.c:3666 sql_help.c:3669
+#: sql_help.c:3897 sql_help.c:3901 sql_help.c:3905 sql_help.c:3908
+#: sql_help.c:4091 sql_help.c:4095 sql_help.c:4099 sql_help.c:4102
 msgid "function_name"
 msgstr "nom_fonction"
 
-#: sql_help.c:320 sql_help.c:706 sql_help.c:1397 sql_help.c:1961
+#: sql_help.c:323 sql_help.c:734 sql_help.c:1427 sql_help.c:2031
 msgid "operator_name"
 msgstr "nom_opérateur"
 
-#: sql_help.c:321 sql_help.c:647 sql_help.c:651 sql_help.c:1398 sql_help.c:1938
-#: sql_help.c:2715
+#: sql_help.c:324 sql_help.c:670 sql_help.c:674 sql_help.c:678 sql_help.c:1428
+#: sql_help.c:2008 sql_help.c:2791
 msgid "left_type"
 msgstr "type_argument_gauche"
 
-#: sql_help.c:322 sql_help.c:648 sql_help.c:652 sql_help.c:1399 sql_help.c:1939
-#: sql_help.c:2716
+#: sql_help.c:325 sql_help.c:671 sql_help.c:675 sql_help.c:679 sql_help.c:1429
+#: sql_help.c:2009 sql_help.c:2792
 msgid "right_type"
 msgstr "type_argument_droit"
 
-#: sql_help.c:324 sql_help.c:326 sql_help.c:669 sql_help.c:672 sql_help.c:675
-#: sql_help.c:704 sql_help.c:716 sql_help.c:724 sql_help.c:727 sql_help.c:730
-#: sql_help.c:1401 sql_help.c:1403 sql_help.c:1958 sql_help.c:1979
-#: sql_help.c:2215 sql_help.c:2725 sql_help.c:2734
+#: sql_help.c:327 sql_help.c:329 sql_help.c:697 sql_help.c:700 sql_help.c:703
+#: sql_help.c:732 sql_help.c:744 sql_help.c:752 sql_help.c:755 sql_help.c:758
+#: sql_help.c:1431 sql_help.c:1433 sql_help.c:2028 sql_help.c:2049
+#: sql_help.c:2284 sql_help.c:2801 sql_help.c:2810
 msgid "index_method"
 msgstr "méthode_indexage"
 
-#: sql_help.c:336 sql_help.c:1017 sql_help.c:1419 sql_help.c:1824
-#: sql_help.c:2191 sql_help.c:2337 sql_help.c:2848 sql_help.c:3070
-#: sql_help.c:3402
+#: sql_help.c:339 sql_help.c:1044 sql_help.c:1449 sql_help.c:1895
+#: sql_help.c:2260 sql_help.c:2406 sql_help.c:2924 sql_help.c:3146
+#: sql_help.c:3478
 msgid "type_name"
 msgstr "nom_type"
 
-#: sql_help.c:337 sql_help.c:1420 sql_help.c:1823 sql_help.c:2338
-#: sql_help.c:2563 sql_help.c:2849 sql_help.c:3062 sql_help.c:3394
+#: sql_help.c:340 sql_help.c:1450 sql_help.c:1894 sql_help.c:2407
+#: sql_help.c:2631 sql_help.c:2925 sql_help.c:3138 sql_help.c:3470
 msgid "lang_name"
 msgstr "nom_langage"
 
-#: sql_help.c:340
+#: sql_help.c:343
 msgid "and aggregate_signature is:"
 msgstr "et signature_agrégat est :"
 
-#: sql_help.c:363 sql_help.c:1742
+#: sql_help.c:366 sql_help.c:1544 sql_help.c:1812
 msgid "handler_function"
 msgstr "fonction_gestionnaire"
 
-#: sql_help.c:364 sql_help.c:1743
+#: sql_help.c:367 sql_help.c:1813
 msgid "validator_function"
 msgstr "fonction_validateur"
 
-#: sql_help.c:413 sql_help.c:487 sql_help.c:609 sql_help.c:961 sql_help.c:1156
-#: sql_help.c:2206 sql_help.c:2207 sql_help.c:2223 sql_help.c:2224
+#: sql_help.c:416 sql_help.c:493 sql_help.c:625 sql_help.c:988 sql_help.c:1187
+#: sql_help.c:2275 sql_help.c:2276 sql_help.c:2292 sql_help.c:2293
 msgid "action"
 msgstr "action"
 
-#: sql_help.c:415 sql_help.c:422 sql_help.c:426 sql_help.c:427 sql_help.c:430
-#: sql_help.c:432 sql_help.c:433 sql_help.c:434 sql_help.c:436 sql_help.c:439
-#: sql_help.c:441 sql_help.c:442 sql_help.c:611 sql_help.c:621 sql_help.c:623
-#: sql_help.c:626 sql_help.c:628 sql_help.c:853 sql_help.c:963 sql_help.c:976
-#: sql_help.c:980 sql_help.c:981 sql_help.c:985 sql_help.c:987 sql_help.c:988
-#: sql_help.c:989 sql_help.c:991 sql_help.c:994 sql_help.c:996 sql_help.c:1256
-#: sql_help.c:1259 sql_help.c:1279 sql_help.c:1378 sql_help.c:1480
-#: sql_help.c:1485 sql_help.c:1499 sql_help.c:1500 sql_help.c:1501
-#: sql_help.c:1774 sql_help.c:1821 sql_help.c:1883 sql_help.c:1918
-#: sql_help.c:2099 sql_help.c:2179 sql_help.c:2192 sql_help.c:2211
-#: sql_help.c:2213 sql_help.c:2220 sql_help.c:2231 sql_help.c:2248
-#: sql_help.c:2371 sql_help.c:2508 sql_help.c:3041 sql_help.c:3042
-#: sql_help.c:3121 sql_help.c:3136 sql_help.c:3138 sql_help.c:3140
-#: sql_help.c:3373 sql_help.c:3374 sql_help.c:3472 sql_help.c:3613
-#: sql_help.c:3852 sql_help.c:3894 sql_help.c:3896 sql_help.c:3898
-#: sql_help.c:3915 sql_help.c:3918 sql_help.c:4046
+#: sql_help.c:418 sql_help.c:425 sql_help.c:429 sql_help.c:430 sql_help.c:433
+#: sql_help.c:435 sql_help.c:436 sql_help.c:437 sql_help.c:439 sql_help.c:442
+#: sql_help.c:444 sql_help.c:445 sql_help.c:629 sql_help.c:639 sql_help.c:641
+#: sql_help.c:644 sql_help.c:646 sql_help.c:880 sql_help.c:990 sql_help.c:1003
+#: sql_help.c:1007 sql_help.c:1008 sql_help.c:1012 sql_help.c:1014
+#: sql_help.c:1015 sql_help.c:1016 sql_help.c:1018 sql_help.c:1021
+#: sql_help.c:1023 sql_help.c:1286 sql_help.c:1289 sql_help.c:1309
+#: sql_help.c:1408 sql_help.c:1510 sql_help.c:1515 sql_help.c:1529
+#: sql_help.c:1530 sql_help.c:1531 sql_help.c:1844 sql_help.c:1892
+#: sql_help.c:1953 sql_help.c:1988 sql_help.c:2168 sql_help.c:2248
+#: sql_help.c:2261 sql_help.c:2280 sql_help.c:2282 sql_help.c:2289
+#: sql_help.c:2300 sql_help.c:2317 sql_help.c:2440 sql_help.c:2576
+#: sql_help.c:3117 sql_help.c:3118 sql_help.c:3197 sql_help.c:3212
+#: sql_help.c:3214 sql_help.c:3216 sql_help.c:3449 sql_help.c:3450
+#: sql_help.c:3548 sql_help.c:3689 sql_help.c:3928 sql_help.c:3970
+#: sql_help.c:3972 sql_help.c:3974 sql_help.c:3991 sql_help.c:3994
+#: sql_help.c:4122
 msgid "column_name"
 msgstr "nom_colonne"
 
-#: sql_help.c:416 sql_help.c:612 sql_help.c:964
+#: sql_help.c:419 sql_help.c:630 sql_help.c:991
 msgid "new_column_name"
 msgstr "nouvelle_nom_colonne"
 
-#: sql_help.c:421 sql_help.c:503 sql_help.c:620 sql_help.c:975 sql_help.c:1169
+#: sql_help.c:424 sql_help.c:514 sql_help.c:638 sql_help.c:1002 sql_help.c:1200
 msgid "where action is one of:"
 msgstr "où action fait partie de :"
 
-#: sql_help.c:423 sql_help.c:428 sql_help.c:977 sql_help.c:982 sql_help.c:1171
-#: sql_help.c:1175 sql_help.c:1696 sql_help.c:1775 sql_help.c:1957
-#: sql_help.c:2180 sql_help.c:2416 sql_help.c:3223
+#: sql_help.c:426 sql_help.c:431 sql_help.c:1004 sql_help.c:1009
+#: sql_help.c:1202 sql_help.c:1206 sql_help.c:1765 sql_help.c:1845
+#: sql_help.c:2027 sql_help.c:2249 sql_help.c:2485 sql_help.c:3299
 msgid "data_type"
 msgstr "type_données"
 
-#: sql_help.c:424 sql_help.c:429 sql_help.c:978 sql_help.c:983 sql_help.c:1172
-#: sql_help.c:1176 sql_help.c:1697 sql_help.c:1778 sql_help.c:1885
-#: sql_help.c:2181 sql_help.c:2417 sql_help.c:2423 sql_help.c:3131
+#: sql_help.c:427 sql_help.c:432 sql_help.c:1005 sql_help.c:1010
+#: sql_help.c:1203 sql_help.c:1207 sql_help.c:1766 sql_help.c:1848
+#: sql_help.c:1955 sql_help.c:2250 sql_help.c:2486 sql_help.c:2492
+#: sql_help.c:3207
 msgid "collation"
 msgstr "collationnement"
 
-#: sql_help.c:425 sql_help.c:979 sql_help.c:1779 sql_help.c:2182
-#: sql_help.c:2193
+#: sql_help.c:428 sql_help.c:1006 sql_help.c:1849 sql_help.c:2251
+#: sql_help.c:2262
 msgid "column_constraint"
 msgstr "contrainte_colonne"
 
-#: sql_help.c:435 sql_help.c:622 sql_help.c:990
+#: sql_help.c:438 sql_help.c:640 sql_help.c:1017
 msgid "integer"
 msgstr "entier"
 
-#: sql_help.c:437 sql_help.c:440 sql_help.c:624 sql_help.c:627 sql_help.c:992
-#: sql_help.c:995
+#: sql_help.c:440 sql_help.c:443 sql_help.c:642 sql_help.c:645 sql_help.c:1019
+#: sql_help.c:1022
 msgid "attribute_option"
 msgstr "option_attribut"
 
-#: sql_help.c:445 sql_help.c:997 sql_help.c:1780 sql_help.c:2183
-#: sql_help.c:2194
+#: sql_help.c:448 sql_help.c:1024 sql_help.c:1850 sql_help.c:2252
+#: sql_help.c:2263
 msgid "table_constraint"
 msgstr "contrainte_table"
 
-#: sql_help.c:448 sql_help.c:449 sql_help.c:450 sql_help.c:451 sql_help.c:1002
-#: sql_help.c:1003 sql_help.c:1004 sql_help.c:1005 sql_help.c:1421
+#: sql_help.c:451 sql_help.c:452 sql_help.c:453 sql_help.c:454 sql_help.c:1029
+#: sql_help.c:1030 sql_help.c:1031 sql_help.c:1032 sql_help.c:1451
 msgid "trigger_name"
 msgstr "nom_trigger"
 
-#: sql_help.c:452 sql_help.c:453 sql_help.c:1015 sql_help.c:1016
-#: sql_help.c:1781 sql_help.c:2186
+#: sql_help.c:455 sql_help.c:456 sql_help.c:1042 sql_help.c:1043
+#: sql_help.c:1851 sql_help.c:2255
 msgid "parent_table"
 msgstr "table_parent"
 
-#: sql_help.c:504 sql_help.c:1825
+#: sql_help.c:513 sql_help.c:563 sql_help.c:627 sql_help.c:1167 sql_help.c:1797
+msgid "extension_name"
+msgstr "nom_extension"
+
+#: sql_help.c:515 sql_help.c:1896
 msgid "execution_cost"
 msgstr "coût_exécution"
 
-#: sql_help.c:505 sql_help.c:1826
+#: sql_help.c:516 sql_help.c:1897
 msgid "result_rows"
 msgstr "lignes_de_résultat"
 
-#: sql_help.c:526 sql_help.c:528 sql_help.c:786 sql_help.c:794 sql_help.c:798
-#: sql_help.c:801 sql_help.c:804 sql_help.c:1211 sql_help.c:1219
-#: sql_help.c:1222 sql_help.c:1224 sql_help.c:1226 sql_help.c:2073
-#: sql_help.c:2075 sql_help.c:2078 sql_help.c:2079 sql_help.c:3040
-#: sql_help.c:3044 sql_help.c:3047 sql_help.c:3049 sql_help.c:3051
-#: sql_help.c:3053 sql_help.c:3055 sql_help.c:3061 sql_help.c:3063
-#: sql_help.c:3065 sql_help.c:3067 sql_help.c:3069 sql_help.c:3071
+#: sql_help.c:537 sql_help.c:539 sql_help.c:813 sql_help.c:821 sql_help.c:825
+#: sql_help.c:828 sql_help.c:831 sql_help.c:1241 sql_help.c:1249
+#: sql_help.c:1252 sql_help.c:1254 sql_help.c:1256 sql_help.c:2142
+#: sql_help.c:2144 sql_help.c:2147 sql_help.c:2148 sql_help.c:3116
+#: sql_help.c:3120 sql_help.c:3123 sql_help.c:3125 sql_help.c:3127
+#: sql_help.c:3129 sql_help.c:3131 sql_help.c:3137 sql_help.c:3139
+#: sql_help.c:3141 sql_help.c:3143 sql_help.c:3145 sql_help.c:3147
 msgid "role_specification"
 msgstr "specification_role"
 
-#: sql_help.c:527 sql_help.c:529 sql_help.c:1238 sql_help.c:1671
-#: sql_help.c:2081 sql_help.c:2493 sql_help.c:2882 sql_help.c:3698
+#: sql_help.c:538 sql_help.c:540 sql_help.c:1268 sql_help.c:1740
+#: sql_help.c:2150 sql_help.c:2561 sql_help.c:2958 sql_help.c:3774
 msgid "user_name"
 msgstr "nom_utilisateur"
 
-#: sql_help.c:530 sql_help.c:806 sql_help.c:1227 sql_help.c:2080
-#: sql_help.c:3072
+#: sql_help.c:541 sql_help.c:833 sql_help.c:1257 sql_help.c:2149
+#: sql_help.c:3148
 msgid "where role_specification can be:"
 msgstr "où specification_role peut être :"
 
-#: sql_help.c:532
+#: sql_help.c:543
 msgid "group_name"
 msgstr "nom_groupe"
 
-#: sql_help.c:549 sql_help.c:1676 sql_help.c:1889 sql_help.c:1921
-#: sql_help.c:2189 sql_help.c:2197 sql_help.c:2229 sql_help.c:2251
-#: sql_help.c:2263 sql_help.c:3068 sql_help.c:3400
+#: sql_help.c:561 sql_help.c:1745 sql_help.c:1959 sql_help.c:1991
+#: sql_help.c:2258 sql_help.c:2266 sql_help.c:2298 sql_help.c:2320
+#: sql_help.c:2332 sql_help.c:3144 sql_help.c:3476
 msgid "tablespace_name"
 msgstr "nom_tablespace"
 
-#: sql_help.c:551 sql_help.c:554 sql_help.c:630 sql_help.c:632 sql_help.c:1012
-#: sql_help.c:1014 sql_help.c:1887 sql_help.c:1919 sql_help.c:2187
-#: sql_help.c:2195 sql_help.c:2227 sql_help.c:2249
+#: sql_help.c:565 sql_help.c:568 sql_help.c:648 sql_help.c:650 sql_help.c:1039
+#: sql_help.c:1041 sql_help.c:1957 sql_help.c:1989 sql_help.c:2256
+#: sql_help.c:2264 sql_help.c:2296 sql_help.c:2318
 msgid "storage_parameter"
 msgstr "paramètre_stockage"
 
-#: sql_help.c:577 sql_help.c:1395 sql_help.c:3483
+#: sql_help.c:591 sql_help.c:1425 sql_help.c:3559
 msgid "large_object_oid"
 msgstr "oid_large_object"
 
-#: sql_help.c:629 sql_help.c:1010 sql_help.c:1019 sql_help.c:1022
-#: sql_help.c:1319
+#: sql_help.c:647 sql_help.c:1037 sql_help.c:1046 sql_help.c:1049
+#: sql_help.c:1349
 msgid "index_name"
 msgstr "nom_index"
 
-#: sql_help.c:705 sql_help.c:717 sql_help.c:1960
+#: sql_help.c:680 sql_help.c:2012
+msgid "res_proc"
+msgstr "res_proc"
+
+#: sql_help.c:681 sql_help.c:2013
+msgid "join_proc"
+msgstr "join_proc"
+
+#: sql_help.c:733 sql_help.c:745 sql_help.c:2030
 msgid "strategy_number"
 msgstr "numéro_de_stratégie"
 
-#: sql_help.c:707 sql_help.c:708 sql_help.c:711 sql_help.c:712 sql_help.c:718
-#: sql_help.c:719 sql_help.c:721 sql_help.c:722 sql_help.c:1962 sql_help.c:1963
-#: sql_help.c:1966 sql_help.c:1967
+#: sql_help.c:735 sql_help.c:736 sql_help.c:739 sql_help.c:740 sql_help.c:746
+#: sql_help.c:747 sql_help.c:749 sql_help.c:750 sql_help.c:2032 sql_help.c:2033
+#: sql_help.c:2036 sql_help.c:2037
 msgid "op_type"
 msgstr "type_op"
 
-#: sql_help.c:709 sql_help.c:1964
+#: sql_help.c:737 sql_help.c:2034
 msgid "sort_family_name"
 msgstr "nom_famille_tri"
 
-#: sql_help.c:710 sql_help.c:720 sql_help.c:1965
+#: sql_help.c:738 sql_help.c:748 sql_help.c:2035
 msgid "support_number"
 msgstr "numéro_de_support"
 
-#: sql_help.c:714 sql_help.c:1619 sql_help.c:1969 sql_help.c:2340
-#: sql_help.c:2342
+#: sql_help.c:742 sql_help.c:1688 sql_help.c:2039 sql_help.c:2409
+#: sql_help.c:2411
 msgid "argument_type"
 msgstr "type_argument"
 
-#: sql_help.c:745 sql_help.c:748 sql_help.c:816 sql_help.c:852 sql_help.c:1135
-#: sql_help.c:1278 sql_help.c:1318 sql_help.c:1380 sql_help.c:1405
-#: sql_help.c:1409 sql_help.c:1422 sql_help.c:1479 sql_help.c:1484
-#: sql_help.c:1773 sql_help.c:1881 sql_help.c:1917 sql_help.c:1992
-#: sql_help.c:2050 sql_help.c:2098 sql_help.c:2178 sql_help.c:2190
-#: sql_help.c:2247 sql_help.c:2365 sql_help.c:2542 sql_help.c:2751
-#: sql_help.c:2768 sql_help.c:2858 sql_help.c:3038 sql_help.c:3043
-#: sql_help.c:3088 sql_help.c:3119 sql_help.c:3370 sql_help.c:3375
-#: sql_help.c:3471 sql_help.c:3568 sql_help.c:3570 sql_help.c:3619
-#: sql_help.c:3658 sql_help.c:3807 sql_help.c:3809 sql_help.c:3858
-#: sql_help.c:3892 sql_help.c:3914 sql_help.c:3916 sql_help.c:3917
-#: sql_help.c:4001 sql_help.c:4003 sql_help.c:4052
+#: sql_help.c:773 sql_help.c:776 sql_help.c:843 sql_help.c:879 sql_help.c:1163
+#: sql_help.c:1166 sql_help.c:1308 sql_help.c:1348 sql_help.c:1410
+#: sql_help.c:1435 sql_help.c:1439 sql_help.c:1452 sql_help.c:1509
+#: sql_help.c:1514 sql_help.c:1843 sql_help.c:1951 sql_help.c:1987
+#: sql_help.c:2062 sql_help.c:2119 sql_help.c:2167 sql_help.c:2247
+#: sql_help.c:2259 sql_help.c:2316 sql_help.c:2434 sql_help.c:2610
+#: sql_help.c:2827 sql_help.c:2844 sql_help.c:2934 sql_help.c:3114
+#: sql_help.c:3119 sql_help.c:3164 sql_help.c:3195 sql_help.c:3446
+#: sql_help.c:3451 sql_help.c:3547 sql_help.c:3644 sql_help.c:3646
+#: sql_help.c:3695 sql_help.c:3734 sql_help.c:3883 sql_help.c:3885
+#: sql_help.c:3934 sql_help.c:3968 sql_help.c:3990 sql_help.c:3992
+#: sql_help.c:3993 sql_help.c:4077 sql_help.c:4079 sql_help.c:4128
 msgid "table_name"
 msgstr "nom_table"
 
-#: sql_help.c:750 sql_help.c:1994
+#: sql_help.c:778 sql_help.c:2064
 msgid "using_expression"
 msgstr "expression_using"
 
-#: sql_help.c:751 sql_help.c:1995
+#: sql_help.c:779 sql_help.c:2065
 msgid "check_expression"
 msgstr "expression_check"
 
-#: sql_help.c:790 sql_help.c:1215 sql_help.c:1861 sql_help.c:2027
-#: sql_help.c:2476
+#: sql_help.c:817 sql_help.c:1245 sql_help.c:1931 sql_help.c:2096
+#: sql_help.c:2544
 msgid "password"
 msgstr "mot_de_passe"
 
-#: sql_help.c:791 sql_help.c:1216 sql_help.c:1862 sql_help.c:2028
-#: sql_help.c:2477
+#: sql_help.c:818 sql_help.c:1246 sql_help.c:1932 sql_help.c:2097
+#: sql_help.c:2545
 msgid "timestamp"
 msgstr "horodatage"
 
-#: sql_help.c:795 sql_help.c:799 sql_help.c:802 sql_help.c:805 sql_help.c:3048
-#: sql_help.c:3380
+#: sql_help.c:822 sql_help.c:826 sql_help.c:829 sql_help.c:832 sql_help.c:3124
+#: sql_help.c:3456
 msgid "database_name"
 msgstr "nom_base_de_donnée"
 
-#: sql_help.c:846 sql_help.c:2093
+#: sql_help.c:873 sql_help.c:2162
 msgid "increment"
 msgstr "incrément"
 
-#: sql_help.c:847 sql_help.c:2094
+#: sql_help.c:874 sql_help.c:2163
 msgid "minvalue"
 msgstr "valeur_min"
 
-#: sql_help.c:848 sql_help.c:2095
+#: sql_help.c:875 sql_help.c:2164
 msgid "maxvalue"
 msgstr "valeur_max"
 
-#: sql_help.c:849 sql_help.c:2096 sql_help.c:3566 sql_help.c:3656
-#: sql_help.c:3805 sql_help.c:3934 sql_help.c:3999
+#: sql_help.c:876 sql_help.c:2165 sql_help.c:3642 sql_help.c:3732
+#: sql_help.c:3881 sql_help.c:4010 sql_help.c:4075
 msgid "start"
 msgstr "début"
 
-#: sql_help.c:850
+#: sql_help.c:877
 msgid "restart"
 msgstr "nouveau_début"
 
-#: sql_help.c:851 sql_help.c:2097
+#: sql_help.c:878 sql_help.c:2166
 msgid "cache"
 msgstr "cache"
 
-#: sql_help.c:998
+#: sql_help.c:1025
 msgid "table_constraint_using_index"
 msgstr "contrainte_table_utilisant_index"
 
-#: sql_help.c:1006 sql_help.c:1007 sql_help.c:1008 sql_help.c:1009
+#: sql_help.c:1033 sql_help.c:1034 sql_help.c:1035 sql_help.c:1036
 msgid "rewrite_rule_name"
 msgstr "nom_règle_réécriture"
 
-#: sql_help.c:1020
+#: sql_help.c:1047
 msgid "and table_constraint_using_index is:"
 msgstr "et contrainte_table_utilisant_index est :"
 
-#: sql_help.c:1038 sql_help.c:1041 sql_help.c:2266
+#: sql_help.c:1065 sql_help.c:1068 sql_help.c:2335
 msgid "tablespace_option"
 msgstr "option_tablespace"
 
-#: sql_help.c:1062 sql_help.c:1065 sql_help.c:1071 sql_help.c:1075
+#: sql_help.c:1089 sql_help.c:1092 sql_help.c:1098 sql_help.c:1102
 msgid "token_type"
 msgstr "type_jeton"
 
-#: sql_help.c:1063 sql_help.c:1066
+#: sql_help.c:1090 sql_help.c:1093
 msgid "dictionary_name"
 msgstr "nom_dictionnaire"
 
-#: sql_help.c:1068 sql_help.c:1072
+#: sql_help.c:1095 sql_help.c:1099
 msgid "old_dictionary"
 msgstr "ancien_dictionnaire"
 
-#: sql_help.c:1069 sql_help.c:1073
+#: sql_help.c:1096 sql_help.c:1100
 msgid "new_dictionary"
 msgstr "nouveau_dictionnaire"
 
-#: sql_help.c:1160 sql_help.c:1170 sql_help.c:1173 sql_help.c:1174
-#: sql_help.c:2415
+#: sql_help.c:1191 sql_help.c:1201 sql_help.c:1204 sql_help.c:1205
+#: sql_help.c:2484
 msgid "attribute_name"
 msgstr "nom_attribut"
 
-#: sql_help.c:1161
+#: sql_help.c:1192
 msgid "new_attribute_name"
 msgstr "nouveau_nom_attribut"
 
-#: sql_help.c:1167
+#: sql_help.c:1198
 msgid "new_enum_value"
 msgstr "nouvelle_valeur_enum"
 
-#: sql_help.c:1168
+#: sql_help.c:1199
 msgid "existing_enum_value"
 msgstr "valeur_enum_existante"
 
-#: sql_help.c:1239 sql_help.c:1782 sql_help.c:2109 sql_help.c:2494
-#: sql_help.c:2883 sql_help.c:3054 sql_help.c:3089 sql_help.c:3386
+#: sql_help.c:1269 sql_help.c:1852 sql_help.c:2178 sql_help.c:2562
+#: sql_help.c:2959 sql_help.c:3130 sql_help.c:3165 sql_help.c:3462
 msgid "server_name"
 msgstr "nom_serveur"
 
-#: sql_help.c:1267 sql_help.c:1270 sql_help.c:2509
+#: sql_help.c:1297 sql_help.c:1300 sql_help.c:2577
 msgid "view_option_name"
 msgstr "nom_option_vue"
 
-#: sql_help.c:1268 sql_help.c:2510
+#: sql_help.c:1298 sql_help.c:2578
 msgid "view_option_value"
 msgstr "valeur_option_vue"
 
-#: sql_help.c:1293 sql_help.c:3714 sql_help.c:3716 sql_help.c:3740
+#: sql_help.c:1323 sql_help.c:3790 sql_help.c:3792 sql_help.c:3816
 msgid "transaction_mode"
 msgstr "mode_transaction"
 
-#: sql_help.c:1294 sql_help.c:3717 sql_help.c:3741
+#: sql_help.c:1324 sql_help.c:3793 sql_help.c:3817
 msgid "where transaction_mode is one of:"
 msgstr "où mode_transaction fait partie de :"
 
-#: sql_help.c:1377
+#: sql_help.c:1407
 msgid "relation_name"
 msgstr "nom_relation"
 
-#: sql_help.c:1382 sql_help.c:3050 sql_help.c:3382
+#: sql_help.c:1412 sql_help.c:3126 sql_help.c:3458
 msgid "domain_name"
 msgstr "nom_domaine"
 
-#: sql_help.c:1404
+#: sql_help.c:1434
 msgid "policy_name"
 msgstr "nom_politique"
 
-#: sql_help.c:1408
+#: sql_help.c:1438
 msgid "rule_name"
 msgstr "nom_règle"
 
-#: sql_help.c:1425
+#: sql_help.c:1455
 msgid "text"
 msgstr "texte"
 
-#: sql_help.c:1450 sql_help.c:3232 sql_help.c:3420
+#: sql_help.c:1480 sql_help.c:3308 sql_help.c:3496
 msgid "transaction_id"
 msgstr "id_transaction"
 
-#: sql_help.c:1481 sql_help.c:1487 sql_help.c:3158
+#: sql_help.c:1511 sql_help.c:1517 sql_help.c:3234
 msgid "filename"
 msgstr "nom_fichier"
 
-#: sql_help.c:1482 sql_help.c:1488 sql_help.c:2052 sql_help.c:2053
-#: sql_help.c:2054
+#: sql_help.c:1512 sql_help.c:1518 sql_help.c:2121 sql_help.c:2122
+#: sql_help.c:2123
 msgid "command"
 msgstr "commande"
 
-#: sql_help.c:1486 sql_help.c:1922 sql_help.c:2252 sql_help.c:2511
-#: sql_help.c:2529 sql_help.c:3123
+#: sql_help.c:1516 sql_help.c:1992 sql_help.c:2321 sql_help.c:2579
+#: sql_help.c:2597 sql_help.c:3199
 msgid "query"
 msgstr "requête"
 
-#: sql_help.c:1490 sql_help.c:2928
+#: sql_help.c:1520 sql_help.c:3004
 msgid "where option can be one of:"
 msgstr "où option fait partie de :"
 
-#: sql_help.c:1491
+#: sql_help.c:1521
 msgid "format_name"
 msgstr "nom_format"
 
-#: sql_help.c:1492 sql_help.c:1493 sql_help.c:1496 sql_help.c:2929
-#: sql_help.c:2930 sql_help.c:2931 sql_help.c:2932 sql_help.c:2933
+#: sql_help.c:1522 sql_help.c:1523 sql_help.c:1526 sql_help.c:3005
+#: sql_help.c:3006 sql_help.c:3007 sql_help.c:3008 sql_help.c:3009
 msgid "boolean"
 msgstr "boolean"
 
-#: sql_help.c:1494
+#: sql_help.c:1524
 msgid "delimiter_character"
 msgstr "caractère_délimiteur"
 
-#: sql_help.c:1495
+#: sql_help.c:1525
 msgid "null_string"
 msgstr "chaîne_null"
 
-#: sql_help.c:1497
+#: sql_help.c:1527
 msgid "quote_character"
 msgstr "caractère_guillemet"
 
-#: sql_help.c:1498
+#: sql_help.c:1528
 msgid "escape_character"
 msgstr "chaîne_d_échappement"
 
-#: sql_help.c:1502
+#: sql_help.c:1532
 msgid "encoding_name"
 msgstr "nom_encodage"
 
-#: sql_help.c:1559 sql_help.c:1575 sql_help.c:1578
+#: sql_help.c:1543
+msgid "access_method_type"
+msgstr "access_method_type"
+
+#: sql_help.c:1616 sql_help.c:1636 sql_help.c:1639
 msgid "arg_data_type"
 msgstr "type_données_arg"
 
-#: sql_help.c:1560 sql_help.c:1579 sql_help.c:1587
+#: sql_help.c:1617 sql_help.c:1640 sql_help.c:1652
 msgid "sfunc"
 msgstr "sfunc"
 
-#: sql_help.c:1561 sql_help.c:1580 sql_help.c:1588
+#: sql_help.c:1618 sql_help.c:1641 sql_help.c:1653
 msgid "state_data_type"
 msgstr "type_de_données_statut"
 
-#: sql_help.c:1562 sql_help.c:1581 sql_help.c:1589
+#: sql_help.c:1619 sql_help.c:1642 sql_help.c:1654
 msgid "state_data_size"
 msgstr "taille_de_données_statut"
 
-#: sql_help.c:1563 sql_help.c:1582 sql_help.c:1590
+#: sql_help.c:1620 sql_help.c:1643 sql_help.c:1655
 msgid "ffunc"
 msgstr "ffunc"
 
-#: sql_help.c:1564 sql_help.c:1583 sql_help.c:1591
+#: sql_help.c:1621 sql_help.c:1644 sql_help.c:1656
+msgid "combinefunc"
+msgstr "combinefunc"
+
+#: sql_help.c:1622 sql_help.c:1645 sql_help.c:1657
+msgid "serialfunc"
+msgstr "serialfunc"
+
+#: sql_help.c:1623 sql_help.c:1646 sql_help.c:1658
+msgid "deserialfunc"
+msgstr "deserialfunc"
+
+#: sql_help.c:1624 sql_help.c:1647 sql_help.c:1659
+msgid "serialtype"
+msgstr "serialtype"
+
+#: sql_help.c:1625 sql_help.c:1648 sql_help.c:1660
 msgid "initial_condition"
 msgstr "condition_initiale"
 
-#: sql_help.c:1565 sql_help.c:1592
+#: sql_help.c:1626 sql_help.c:1661
 msgid "msfunc"
 msgstr "msfunc"
 
-#: sql_help.c:1566 sql_help.c:1593
+#: sql_help.c:1627 sql_help.c:1662
 msgid "minvfunc"
 msgstr "minvfunc"
 
-#: sql_help.c:1567 sql_help.c:1594
+#: sql_help.c:1628 sql_help.c:1663
 msgid "mstate_data_type"
 msgstr "m_type_de_données_statut"
 
-#: sql_help.c:1568 sql_help.c:1595
+#: sql_help.c:1629 sql_help.c:1664
 msgid "mstate_data_size"
 msgstr "m_taille_de_données_statut"
 
-#: sql_help.c:1569 sql_help.c:1596
+#: sql_help.c:1630 sql_help.c:1665
 msgid "mffunc"
 msgstr "mffunc"
 
-#: sql_help.c:1570 sql_help.c:1597
+#: sql_help.c:1631 sql_help.c:1666
 msgid "minitial_condition"
 msgstr "m_condition_initiale"
 
-#: sql_help.c:1571 sql_help.c:1598
+#: sql_help.c:1632 sql_help.c:1667
 msgid "sort_operator"
 msgstr "opérateur_de_tri"
 
-#: sql_help.c:1584
+#: sql_help.c:1649
 msgid "or the old syntax"
 msgstr "ou l'ancienne syntaxe"
 
-#: sql_help.c:1586
+#: sql_help.c:1651
 msgid "base_type"
 msgstr "type_base"
 
-#: sql_help.c:1637
+#: sql_help.c:1706
 msgid "locale"
 msgstr "locale"
 
-#: sql_help.c:1638 sql_help.c:1674
+#: sql_help.c:1707 sql_help.c:1743
 msgid "lc_collate"
 msgstr "lc_collate"
 
-#: sql_help.c:1639 sql_help.c:1675
+#: sql_help.c:1708 sql_help.c:1744
 msgid "lc_ctype"
 msgstr "lc_ctype"
 
-#: sql_help.c:1641
+#: sql_help.c:1710
 msgid "existing_collation"
 msgstr "collationnement_existant"
 
-#: sql_help.c:1651
+#: sql_help.c:1720
 msgid "source_encoding"
 msgstr "encodage_source"
 
-#: sql_help.c:1652
+#: sql_help.c:1721
 msgid "dest_encoding"
 msgstr "encodage_destination"
 
-#: sql_help.c:1672 sql_help.c:2292
+#: sql_help.c:1741 sql_help.c:2361
 msgid "template"
 msgstr "modèle"
 
-#: sql_help.c:1673
+#: sql_help.c:1742
 msgid "encoding"
 msgstr "encodage"
 
-#: sql_help.c:1699
+#: sql_help.c:1768
 msgid "constraint"
 msgstr "contrainte"
 
-#: sql_help.c:1700
+#: sql_help.c:1769
 msgid "where constraint is:"
 msgstr "où la contrainte est :"
 
-#: sql_help.c:1714 sql_help.c:2049 sql_help.c:2364
+#: sql_help.c:1783 sql_help.c:2118 sql_help.c:2433
 msgid "event"
 msgstr "événement"
 
-#: sql_help.c:1715
+#: sql_help.c:1784
 msgid "filter_variable"
 msgstr "filter_variable"
 
-#: sql_help.c:1727
-msgid "extension_name"
-msgstr "nom_extension"
-
-#: sql_help.c:1729
+#: sql_help.c:1799
 msgid "version"
 msgstr "version"
 
-#: sql_help.c:1730
+#: sql_help.c:1800
 msgid "old_version"
 msgstr "ancienne_version"
 
-#: sql_help.c:1785 sql_help.c:2198
+#: sql_help.c:1855 sql_help.c:2267
 msgid "where column_constraint is:"
 msgstr "où contrainte_colonne est :"
 
-#: sql_help.c:1788 sql_help.c:1819 sql_help.c:2201
+#: sql_help.c:1858 sql_help.c:1890 sql_help.c:2270
 msgid "default_expr"
 msgstr "expression_par_défaut"
 
-#: sql_help.c:1789 sql_help.c:2208
+#: sql_help.c:1859 sql_help.c:2277
 msgid "and table_constraint is:"
 msgstr "et contrainte_table est :"
 
-#: sql_help.c:1820
+#: sql_help.c:1891
 msgid "rettype"
 msgstr "type_en_retour"
 
-#: sql_help.c:1822
+#: sql_help.c:1893
 msgid "column_type"
 msgstr "type_colonne"
 
-#: sql_help.c:1830
+#: sql_help.c:1901
 msgid "definition"
 msgstr "définition"
 
-#: sql_help.c:1831
+#: sql_help.c:1902
 msgid "obj_file"
 msgstr "fichier_objet"
 
-#: sql_help.c:1832
+#: sql_help.c:1903
 msgid "link_symbol"
 msgstr "symbole_link"
 
-#: sql_help.c:1833
+#: sql_help.c:1904
 msgid "attribute"
 msgstr "attribut"
 
-#: sql_help.c:1868 sql_help.c:2034 sql_help.c:2483
+#: sql_help.c:1938 sql_help.c:2103 sql_help.c:2551
 msgid "uid"
 msgstr "uid"
 
-#: sql_help.c:1882
+#: sql_help.c:1952
 msgid "method"
 msgstr "méthode"
 
-#: sql_help.c:1886 sql_help.c:2233 sql_help.c:3132
+#: sql_help.c:1956 sql_help.c:2302 sql_help.c:3208
 msgid "opclass"
 msgstr "classe_d_opérateur"
 
-#: sql_help.c:1890 sql_help.c:2219
+#: sql_help.c:1960 sql_help.c:2288
 msgid "predicate"
 msgstr "prédicat"
 
-#: sql_help.c:1902
+#: sql_help.c:1972
 msgid "call_handler"
 msgstr "gestionnaire_d_appel"
 
-#: sql_help.c:1903
+#: sql_help.c:1973
 msgid "inline_handler"
 msgstr "gestionnaire_en_ligne"
 
-#: sql_help.c:1904
+#: sql_help.c:1974
 msgid "valfunction"
 msgstr "fonction_val"
 
-#: sql_help.c:1940
+#: sql_help.c:2010
 msgid "com_op"
 msgstr "com_op"
 
-#: sql_help.c:1941
+#: sql_help.c:2011
 msgid "neg_op"
 msgstr "neg_op"
 
-#: sql_help.c:1942
-msgid "res_proc"
-msgstr "res_proc"
-
-#: sql_help.c:1943
-msgid "join_proc"
-msgstr "join_proc"
-
-#: sql_help.c:1959
+#: sql_help.c:2029
 msgid "family_name"
 msgstr "nom_famille"
 
-#: sql_help.c:1970
+#: sql_help.c:2040
 msgid "storage_type"
 msgstr "type_stockage"
 
-#: sql_help.c:2051 sql_help.c:2367 sql_help.c:2545 sql_help.c:3142
-#: sql_help.c:3557 sql_help.c:3559 sql_help.c:3647 sql_help.c:3649
-#: sql_help.c:3796 sql_help.c:3798 sql_help.c:3901 sql_help.c:3990
-#: sql_help.c:3992
+#: sql_help.c:2120 sql_help.c:2436 sql_help.c:2613 sql_help.c:3218
+#: sql_help.c:3633 sql_help.c:3635 sql_help.c:3723 sql_help.c:3725
+#: sql_help.c:3872 sql_help.c:3874 sql_help.c:3977 sql_help.c:4066
+#: sql_help.c:4068
 msgid "condition"
 msgstr "condition"
 
-#: sql_help.c:2055 sql_help.c:2370
+#: sql_help.c:2124 sql_help.c:2439
 msgid "where event can be one of:"
 msgstr "où événement fait partie de :"
 
-#: sql_help.c:2074 sql_help.c:2076
+#: sql_help.c:2143 sql_help.c:2145
 msgid "schema_element"
 msgstr "élément_schéma"
 
-#: sql_help.c:2110
+#: sql_help.c:2179
 msgid "server_type"
 msgstr "type_serveur"
 
-#: sql_help.c:2111
+#: sql_help.c:2180
 msgid "server_version"
 msgstr "version_serveur"
 
-#: sql_help.c:2112 sql_help.c:3052 sql_help.c:3384
+#: sql_help.c:2181 sql_help.c:3128 sql_help.c:3460
 msgid "fdw_name"
 msgstr "nom_fdw"
 
-#: sql_help.c:2184
+#: sql_help.c:2253
 msgid "source_table"
 msgstr "table_source"
 
-#: sql_help.c:2185
+#: sql_help.c:2254
 msgid "like_option"
 msgstr "option_like"
 
-#: sql_help.c:2202 sql_help.c:2203 sql_help.c:2212 sql_help.c:2214
-#: sql_help.c:2218
+#: sql_help.c:2271 sql_help.c:2272 sql_help.c:2281 sql_help.c:2283
+#: sql_help.c:2287
 msgid "index_parameters"
 msgstr "paramètres_index"
 
-#: sql_help.c:2204 sql_help.c:2221
+#: sql_help.c:2273 sql_help.c:2290
 msgid "reftable"
 msgstr "table_référence"
 
-#: sql_help.c:2205 sql_help.c:2222
+#: sql_help.c:2274 sql_help.c:2291
 msgid "refcolumn"
 msgstr "colonne_référence"
 
-#: sql_help.c:2216
+#: sql_help.c:2285
 msgid "exclude_element"
 msgstr "élément_exclusion"
 
-#: sql_help.c:2217 sql_help.c:3564 sql_help.c:3654 sql_help.c:3803
-#: sql_help.c:3932 sql_help.c:3997
+#: sql_help.c:2286 sql_help.c:3640 sql_help.c:3730 sql_help.c:3879
+#: sql_help.c:4008 sql_help.c:4073
 msgid "operator"
 msgstr "opérateur"
 
-#: sql_help.c:2225
+#: sql_help.c:2294
 msgid "and like_option is:"
 msgstr "et option_like est :"
 
-#: sql_help.c:2226
+#: sql_help.c:2295
 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:"
 msgstr "dans les contraintes UNIQUE, PRIMARY KEY et EXCLUDE, les paramètres_index sont :"
 
-#: sql_help.c:2230
+#: sql_help.c:2299
 msgid "exclude_element in an EXCLUDE constraint is:"
 msgstr "élément_exclusion dans une contrainte EXCLUDE est :"
 
-#: sql_help.c:2265
+#: sql_help.c:2334
 msgid "directory"
 msgstr "répertoire"
 
-#: sql_help.c:2279
+#: sql_help.c:2348
 msgid "parser_name"
 msgstr "nom_analyseur"
 
-#: sql_help.c:2280
+#: sql_help.c:2349
 msgid "source_config"
 msgstr "configuration_source"
 
-#: sql_help.c:2309
+#: sql_help.c:2378
 msgid "start_function"
 msgstr "fonction_start"
 
-#: sql_help.c:2310
+#: sql_help.c:2379
 msgid "gettoken_function"
 msgstr "fonction_gettoken"
 
-#: sql_help.c:2311
+#: sql_help.c:2380
 msgid "end_function"
 msgstr "fonction_end"
 
-#: sql_help.c:2312
+#: sql_help.c:2381
 msgid "lextypes_function"
 msgstr "fonction_lextypes"
 
-#: sql_help.c:2313
+#: sql_help.c:2382
 msgid "headline_function"
 msgstr "fonction_headline"
 
-#: sql_help.c:2325
+#: sql_help.c:2394
 msgid "init_function"
 msgstr "fonction_init"
 
-#: sql_help.c:2326
+#: sql_help.c:2395
 msgid "lexize_function"
 msgstr "fonction_lexize"
 
-#: sql_help.c:2339
+#: sql_help.c:2408
 msgid "from_sql_function_name"
 msgstr "nom_fonction_from_sql"
 
-#: sql_help.c:2341
+#: sql_help.c:2410
 msgid "to_sql_function_name"
 msgstr "nom_fonction_to_sql"
 
-#: sql_help.c:2366
+#: sql_help.c:2435
 msgid "referenced_table_name"
 msgstr "nom_table_référencée"
 
-#: sql_help.c:2369
+#: sql_help.c:2438
 msgid "arguments"
 msgstr "arguments"
 
-#: sql_help.c:2419 sql_help.c:3492
+#: sql_help.c:2488 sql_help.c:3568
 msgid "label"
 msgstr "label"
 
-#: sql_help.c:2421
+#: sql_help.c:2490
 msgid "subtype"
 msgstr "sous_type"
 
-#: sql_help.c:2422
+#: sql_help.c:2491
 msgid "subtype_operator_class"
 msgstr "classe_opérateur_sous_type"
 
-#: sql_help.c:2424
+#: sql_help.c:2493
 msgid "canonical_function"
 msgstr "fonction_canonique"
 
-#: sql_help.c:2425
+#: sql_help.c:2494
 msgid "subtype_diff_function"
 msgstr "fonction_diff_sous_type"
 
-#: sql_help.c:2427
+#: sql_help.c:2496
 msgid "input_function"
 msgstr "fonction_en_sortie"
 
-#: sql_help.c:2428
+#: sql_help.c:2497
 msgid "output_function"
 msgstr "fonction_en_sortie"
 
-#: sql_help.c:2429
+#: sql_help.c:2498
 msgid "receive_function"
 msgstr "fonction_receive"
 
-#: sql_help.c:2430
+#: sql_help.c:2499
 msgid "send_function"
 msgstr "fonction_send"
 
-#: sql_help.c:2431
+#: sql_help.c:2500
 msgid "type_modifier_input_function"
 msgstr "fonction_en_entrée_modificateur_type"
 
-#: sql_help.c:2432
+#: sql_help.c:2501
 msgid "type_modifier_output_function"
 msgstr "fonction_en_sortie_modificateur_type"
 
-#: sql_help.c:2433
+#: sql_help.c:2502
 msgid "analyze_function"
 msgstr "fonction_analyze"
 
-#: sql_help.c:2434
+#: sql_help.c:2503
 msgid "internallength"
 msgstr "longueur_interne"
 
-#: sql_help.c:2435
+#: sql_help.c:2504
 msgid "alignment"
 msgstr "alignement"
 
-#: sql_help.c:2436
+#: sql_help.c:2505
 msgid "storage"
 msgstr "stockage"
 
-#: sql_help.c:2437
+#: sql_help.c:2506
 msgid "like_type"
 msgstr "type_like"
 
-#: sql_help.c:2438
+#: sql_help.c:2507
 msgid "category"
 msgstr "catégorie"
 
-#: sql_help.c:2439
+#: sql_help.c:2508
 msgid "preferred"
 msgstr "préféré"
 
-#: sql_help.c:2440
+#: sql_help.c:2509
 msgid "default"
 msgstr "par défaut"
 
-#: sql_help.c:2441
+#: sql_help.c:2510
 msgid "element"
 msgstr "élément"
 
-#: sql_help.c:2442
+#: sql_help.c:2511
 msgid "delimiter"
 msgstr "délimiteur"
 
-#: sql_help.c:2443
+#: sql_help.c:2512
 msgid "collatable"
 msgstr "collationnable"
 
-#: sql_help.c:2541 sql_help.c:3118 sql_help.c:3552 sql_help.c:3641
-#: sql_help.c:3791 sql_help.c:3891 sql_help.c:3985
+#: sql_help.c:2609 sql_help.c:3194 sql_help.c:3628 sql_help.c:3717
+#: sql_help.c:3867 sql_help.c:3967 sql_help.c:4061
 msgid "with_query"
 msgstr "requête_with"
 
-#: sql_help.c:2543 sql_help.c:3120 sql_help.c:3571 sql_help.c:3577
-#: sql_help.c:3580 sql_help.c:3584 sql_help.c:3588 sql_help.c:3596
-#: sql_help.c:3810 sql_help.c:3816 sql_help.c:3819 sql_help.c:3823
-#: sql_help.c:3827 sql_help.c:3835 sql_help.c:3893 sql_help.c:4004
-#: sql_help.c:4010 sql_help.c:4013 sql_help.c:4017 sql_help.c:4021
-#: sql_help.c:4029
+#: sql_help.c:2611 sql_help.c:3196 sql_help.c:3647 sql_help.c:3653
+#: sql_help.c:3656 sql_help.c:3660 sql_help.c:3664 sql_help.c:3672
+#: sql_help.c:3886 sql_help.c:3892 sql_help.c:3895 sql_help.c:3899
+#: sql_help.c:3903 sql_help.c:3911 sql_help.c:3969 sql_help.c:4080
+#: sql_help.c:4086 sql_help.c:4089 sql_help.c:4093 sql_help.c:4097
+#: sql_help.c:4105
 msgid "alias"
 msgstr "alias"
 
-#: sql_help.c:2544
+#: sql_help.c:2612
 msgid "using_list"
 msgstr "liste_using"
 
-#: sql_help.c:2546 sql_help.c:2959 sql_help.c:3199 sql_help.c:3902
+#: sql_help.c:2614 sql_help.c:3035 sql_help.c:3275 sql_help.c:3978
 msgid "cursor_name"
 msgstr "nom_curseur"
 
-#: sql_help.c:2547 sql_help.c:3126 sql_help.c:3903
+#: sql_help.c:2615 sql_help.c:3202 sql_help.c:3979
 msgid "output_expression"
 msgstr "expression_en_sortie"
 
-#: sql_help.c:2548 sql_help.c:3127 sql_help.c:3555 sql_help.c:3644
-#: sql_help.c:3794 sql_help.c:3904 sql_help.c:3988
+#: sql_help.c:2616 sql_help.c:3203 sql_help.c:3631 sql_help.c:3720
+#: sql_help.c:3870 sql_help.c:3980 sql_help.c:4064
 msgid "output_name"
 msgstr "nom_en_sortie"
 
-#: sql_help.c:2564
+#: sql_help.c:2632
 msgid "code"
 msgstr "code"
 
-#: sql_help.c:2907
+#: sql_help.c:2983
 msgid "parameter"
 msgstr "paramètre"
 
-#: sql_help.c:2926 sql_help.c:2927 sql_help.c:3224
+#: sql_help.c:3002 sql_help.c:3003 sql_help.c:3300
 msgid "statement"
 msgstr "instruction"
 
-#: sql_help.c:2958 sql_help.c:3198
+#: sql_help.c:3034 sql_help.c:3274
 msgid "direction"
 msgstr "direction"
 
-#: sql_help.c:2960 sql_help.c:3200
+#: sql_help.c:3036 sql_help.c:3276
 msgid "where direction can be empty or one of:"
 msgstr "où direction peut être vide ou faire partie de :"
 
-#: sql_help.c:2961 sql_help.c:2962 sql_help.c:2963 sql_help.c:2964
-#: sql_help.c:2965 sql_help.c:3201 sql_help.c:3202 sql_help.c:3203
-#: sql_help.c:3204 sql_help.c:3205 sql_help.c:3565 sql_help.c:3567
-#: sql_help.c:3655 sql_help.c:3657 sql_help.c:3804 sql_help.c:3806
-#: sql_help.c:3933 sql_help.c:3935 sql_help.c:3998 sql_help.c:4000
+#: sql_help.c:3037 sql_help.c:3038 sql_help.c:3039 sql_help.c:3040
+#: sql_help.c:3041 sql_help.c:3277 sql_help.c:3278 sql_help.c:3279
+#: sql_help.c:3280 sql_help.c:3281 sql_help.c:3641 sql_help.c:3643
+#: sql_help.c:3731 sql_help.c:3733 sql_help.c:3880 sql_help.c:3882
+#: sql_help.c:4009 sql_help.c:4011 sql_help.c:4074 sql_help.c:4076
 msgid "count"
 msgstr "nombre"
 
-#: sql_help.c:3045 sql_help.c:3377
+#: sql_help.c:3121 sql_help.c:3453
 msgid "sequence_name"
 msgstr "nom_séquence"
 
-#: sql_help.c:3058 sql_help.c:3390
+#: sql_help.c:3134 sql_help.c:3466
 msgid "arg_name"
 msgstr "nom_argument"
 
-#: sql_help.c:3059 sql_help.c:3391
+#: sql_help.c:3135 sql_help.c:3467
 msgid "arg_type"
 msgstr "type_arg"
 
-#: sql_help.c:3064 sql_help.c:3396
+#: sql_help.c:3140 sql_help.c:3472
 msgid "loid"
 msgstr "loid"
 
-#: sql_help.c:3087
+#: sql_help.c:3163
 msgid "remote_schema"
 msgstr "schema_distant"
 
-#: sql_help.c:3090
+#: sql_help.c:3166
 msgid "local_schema"
 msgstr "schéma_local"
 
-#: sql_help.c:3124
+#: sql_help.c:3200
 msgid "conflict_target"
 msgstr "cible_conflit"
 
-#: sql_help.c:3125
+#: sql_help.c:3201
 msgid "conflict_action"
 msgstr "action_conflit"
 
-#: sql_help.c:3128
+#: sql_help.c:3204
 msgid "where conflict_target can be one of:"
 msgstr "où cible_conflit fait partie de :"
 
-#: sql_help.c:3129
+#: sql_help.c:3205
 msgid "index_column_name"
 msgstr "index_nom_colonne"
 
-#: sql_help.c:3130
+#: sql_help.c:3206
 msgid "index_expression"
 msgstr "index_expression"
 
-#: sql_help.c:3133
+#: sql_help.c:3209
 msgid "index_predicate"
 msgstr "index_prédicat"
 
-#: sql_help.c:3135
+#: sql_help.c:3211
 msgid "and conflict_action is one of:"
 msgstr "où action_conflit fait partie de :"
 
-#: sql_help.c:3141 sql_help.c:3899
+#: sql_help.c:3217 sql_help.c:3975
 msgid "sub-SELECT"
 msgstr "sous-SELECT"
 
-#: sql_help.c:3150 sql_help.c:3213 sql_help.c:3875
+#: sql_help.c:3226 sql_help.c:3289 sql_help.c:3951
 msgid "channel"
 msgstr "canal"
 
-#: sql_help.c:3172
+#: sql_help.c:3248
 msgid "lockmode"
 msgstr "mode_de_verrou"
 
-#: sql_help.c:3173
+#: sql_help.c:3249
 msgid "where lockmode is one of:"
 msgstr "où mode_de_verrou fait partie de :"
 
-#: sql_help.c:3214
+#: sql_help.c:3290
 msgid "payload"
 msgstr "contenu"
 
-#: sql_help.c:3241
+#: sql_help.c:3317
 msgid "old_role"
 msgstr "ancien_rôle"
 
-#: sql_help.c:3242
+#: sql_help.c:3318
 msgid "new_role"
 msgstr "nouveau_rôle"
 
-#: sql_help.c:3267 sql_help.c:3428 sql_help.c:3436
+#: sql_help.c:3343 sql_help.c:3504 sql_help.c:3512
 msgid "savepoint_name"
 msgstr "nom_savepoint"
 
-#: sql_help.c:3469
+#: sql_help.c:3545
 msgid "provider"
 msgstr "fournisseur"
 
-#: sql_help.c:3556 sql_help.c:3598 sql_help.c:3600 sql_help.c:3646
-#: sql_help.c:3795 sql_help.c:3837 sql_help.c:3839 sql_help.c:3989
-#: sql_help.c:4031 sql_help.c:4033
+#: sql_help.c:3632 sql_help.c:3674 sql_help.c:3676 sql_help.c:3722
+#: sql_help.c:3871 sql_help.c:3913 sql_help.c:3915 sql_help.c:4065
+#: sql_help.c:4107 sql_help.c:4109
 msgid "from_item"
 msgstr "élément_from"
 
-#: sql_help.c:3558 sql_help.c:3610 sql_help.c:3797 sql_help.c:3849
-#: sql_help.c:3991 sql_help.c:4043
+#: sql_help.c:3634 sql_help.c:3686 sql_help.c:3873 sql_help.c:3925
+#: sql_help.c:4067 sql_help.c:4119
 msgid "grouping_element"
 msgstr "element_regroupement"
 
-#: sql_help.c:3560 sql_help.c:3650 sql_help.c:3799 sql_help.c:3993
+#: sql_help.c:3636 sql_help.c:3726 sql_help.c:3875 sql_help.c:4069
 msgid "window_name"
 msgstr "nom_window"
 
-#: sql_help.c:3561 sql_help.c:3651 sql_help.c:3800 sql_help.c:3994
+#: sql_help.c:3637 sql_help.c:3727 sql_help.c:3876 sql_help.c:4070
 msgid "window_definition"
 msgstr "définition_window"
 
-#: sql_help.c:3562 sql_help.c:3576 sql_help.c:3614 sql_help.c:3652
-#: sql_help.c:3801 sql_help.c:3815 sql_help.c:3853 sql_help.c:3995
-#: sql_help.c:4009 sql_help.c:4047
+#: sql_help.c:3638 sql_help.c:3652 sql_help.c:3690 sql_help.c:3728
+#: sql_help.c:3877 sql_help.c:3891 sql_help.c:3929 sql_help.c:4071
+#: sql_help.c:4085 sql_help.c:4123
 msgid "select"
 msgstr "sélection"
 
-#: sql_help.c:3569 sql_help.c:3808 sql_help.c:4002
+#: sql_help.c:3645 sql_help.c:3884 sql_help.c:4078
 msgid "where from_item can be one of:"
 msgstr "où élément_from fait partie de :"
 
-#: sql_help.c:3572 sql_help.c:3578 sql_help.c:3581 sql_help.c:3585
-#: sql_help.c:3597 sql_help.c:3811 sql_help.c:3817 sql_help.c:3820
-#: sql_help.c:3824 sql_help.c:3836 sql_help.c:4005 sql_help.c:4011
-#: sql_help.c:4014 sql_help.c:4018 sql_help.c:4030
+#: sql_help.c:3648 sql_help.c:3654 sql_help.c:3657 sql_help.c:3661
+#: sql_help.c:3673 sql_help.c:3887 sql_help.c:3893 sql_help.c:3896
+#: sql_help.c:3900 sql_help.c:3912 sql_help.c:4081 sql_help.c:4087
+#: sql_help.c:4090 sql_help.c:4094 sql_help.c:4106
 msgid "column_alias"
 msgstr "alias_colonne"
 
-#: sql_help.c:3573 sql_help.c:3812 sql_help.c:4006
+#: sql_help.c:3649 sql_help.c:3888 sql_help.c:4082
 msgid "sampling_method"
 msgstr "méthode_echantillonnage"
 
-#: sql_help.c:3574 sql_help.c:3583 sql_help.c:3587 sql_help.c:3591
-#: sql_help.c:3594 sql_help.c:3813 sql_help.c:3822 sql_help.c:3826
-#: sql_help.c:3830 sql_help.c:3833 sql_help.c:4007 sql_help.c:4016
-#: sql_help.c:4020 sql_help.c:4024 sql_help.c:4027
+#: sql_help.c:3650 sql_help.c:3659 sql_help.c:3663 sql_help.c:3667
+#: sql_help.c:3670 sql_help.c:3889 sql_help.c:3898 sql_help.c:3902
+#: sql_help.c:3906 sql_help.c:3909 sql_help.c:4083 sql_help.c:4092
+#: sql_help.c:4096 sql_help.c:4100 sql_help.c:4103
 msgid "argument"
 msgstr "argument"
 
-#: sql_help.c:3575 sql_help.c:3814 sql_help.c:4008
+#: sql_help.c:3651 sql_help.c:3890 sql_help.c:4084
 msgid "seed"
 msgstr "graine"
 
-#: sql_help.c:3579 sql_help.c:3612 sql_help.c:3818 sql_help.c:3851
-#: sql_help.c:4012 sql_help.c:4045
+#: sql_help.c:3655 sql_help.c:3688 sql_help.c:3894 sql_help.c:3927
+#: sql_help.c:4088 sql_help.c:4121
 msgid "with_query_name"
 msgstr "nom_requête_with"
 
-#: sql_help.c:3589 sql_help.c:3592 sql_help.c:3595 sql_help.c:3828
-#: sql_help.c:3831 sql_help.c:3834 sql_help.c:4022 sql_help.c:4025
-#: sql_help.c:4028
+#: sql_help.c:3665 sql_help.c:3668 sql_help.c:3671 sql_help.c:3904
+#: sql_help.c:3907 sql_help.c:3910 sql_help.c:4098 sql_help.c:4101
+#: sql_help.c:4104
 msgid "column_definition"
 msgstr "définition_colonne"
 
-#: sql_help.c:3599 sql_help.c:3838 sql_help.c:4032
+#: sql_help.c:3675 sql_help.c:3914 sql_help.c:4108
 msgid "join_type"
 msgstr "type_de_jointure"
 
-#: sql_help.c:3601 sql_help.c:3840 sql_help.c:4034
+#: sql_help.c:3677 sql_help.c:3916 sql_help.c:4110
 msgid "join_condition"
 msgstr "condition_de_jointure"
 
-#: sql_help.c:3602 sql_help.c:3841 sql_help.c:4035
+#: sql_help.c:3678 sql_help.c:3917 sql_help.c:4111
 msgid "join_column"
 msgstr "colonne_de_jointure"
 
-#: sql_help.c:3603 sql_help.c:3842 sql_help.c:4036
+#: sql_help.c:3679 sql_help.c:3918 sql_help.c:4112
 msgid "and grouping_element can be one of:"
 msgstr "où element_regroupement fait partie de :"
 
-#: sql_help.c:3611 sql_help.c:3850 sql_help.c:4044
+#: sql_help.c:3687 sql_help.c:3926 sql_help.c:4120
 msgid "and with_query is:"
 msgstr "et requête_with est :"
 
-#: sql_help.c:3615 sql_help.c:3854 sql_help.c:4048
+#: sql_help.c:3691 sql_help.c:3930 sql_help.c:4124
 msgid "values"
 msgstr "valeurs"
 
-#: sql_help.c:3616 sql_help.c:3855 sql_help.c:4049
+#: sql_help.c:3692 sql_help.c:3931 sql_help.c:4125
 msgid "insert"
 msgstr "insert"
 
-#: sql_help.c:3617 sql_help.c:3856 sql_help.c:4050
+#: sql_help.c:3693 sql_help.c:3932 sql_help.c:4126
 msgid "update"
 msgstr "update"
 
-#: sql_help.c:3618 sql_help.c:3857 sql_help.c:4051
+#: sql_help.c:3694 sql_help.c:3933 sql_help.c:4127
 msgid "delete"
 msgstr "delete"
 
-#: sql_help.c:3645
+#: sql_help.c:3721
 msgid "new_table"
 msgstr "nouvelle_table"
 
-#: sql_help.c:3670
+#: sql_help.c:3746
 msgid "timezone"
 msgstr "fuseau_horaire"
 
-#: sql_help.c:3715
+#: sql_help.c:3791
 msgid "snapshot_id"
 msgstr "id_snapshot"
 
-#: sql_help.c:3900
+#: sql_help.c:3976
 msgid "from_list"
 msgstr "liste_from"
 
-#: sql_help.c:3931
+#: sql_help.c:4007
 msgid "sort_expression"
 msgstr "expression_de_tri"
 
-#: sql_help.h:197 sql_help.h:927
+#: sql_help.c:4134 sql_help.c:4874
 msgid "abort the current transaction"
 msgstr "abandonner la transaction en cours"
 
-#: sql_help.h:202
+#: sql_help.c:4139
 msgid "change the definition of an aggregate function"
 msgstr "modifier la définition d'une fonction d'agrégation"
 
-#: sql_help.h:207
+#: sql_help.c:4144
 msgid "change the definition of a collation"
 msgstr "modifier la définition d'un collationnement"
 
-#: sql_help.h:212
+#: sql_help.c:4149
 msgid "change the definition of a conversion"
 msgstr "modifier la définition d'une conversion"
 
-#: sql_help.h:217
+#: sql_help.c:4154
 msgid "change a database"
 msgstr "modifier une base de données"
 
-#: sql_help.h:222
+#: sql_help.c:4159
 msgid "define default access privileges"
 msgstr "définir les droits d'accès par défaut"
 
-#: sql_help.h:227
+#: sql_help.c:4164
 msgid "change the definition of a domain"
 msgstr "modifier la définition d'un domaine"
 
-#: sql_help.h:232
+#: sql_help.c:4169
 msgid "change the definition of an event trigger"
 msgstr "modifier la définition d'un trigger sur évènement"
 
-#: sql_help.h:237
+#: sql_help.c:4174
 msgid "change the definition of an extension"
 msgstr "modifier la définition d'une extension"
 
-#: sql_help.h:242
+#: sql_help.c:4179
 msgid "change the definition of a foreign-data wrapper"
 msgstr "modifier la définition d'un wrapper de données distantes"
 
-#: sql_help.h:247
+#: sql_help.c:4184
 msgid "change the definition of a foreign table"
 msgstr "modifier la définition d'une table distante"
 
-#: sql_help.h:252
+#: sql_help.c:4189
 msgid "change the definition of a function"
 msgstr "modifier la définition d'une fonction"
 
-#: sql_help.h:257
+#: sql_help.c:4194
 msgid "change role name or membership"
 msgstr "modifier le nom d'un groupe ou la liste des ses membres"
 
-#: sql_help.h:262
+#: sql_help.c:4199
 msgid "change the definition of an index"
 msgstr "modifier la définition d'un index"
 
-#: sql_help.h:267
+#: sql_help.c:4204
 msgid "change the definition of a procedural language"
 msgstr "modifier la définition d'un langage procédural"
 
-#: sql_help.h:272
+#: sql_help.c:4209
 msgid "change the definition of a large object"
 msgstr "modifier la définition d'un « Large Object »"
 
-#: sql_help.h:277
+#: sql_help.c:4214
 msgid "change the definition of a materialized view"
 msgstr "modifier la définition d'une vue matérialisée"
 
-#: sql_help.h:282
+#: sql_help.c:4219
 msgid "change the definition of an operator"
 msgstr "modifier la définition d'un opérateur"
 
-#: sql_help.h:287
+#: sql_help.c:4224
 msgid "change the definition of an operator class"
 msgstr "modifier la définition d'une classe d'opérateurs"
 
-#: sql_help.h:292
+#: sql_help.c:4229
 msgid "change the definition of an operator family"
 msgstr "modifier la définition d'une famille d'opérateur"
 
-#: sql_help.h:297
+#: sql_help.c:4234
 msgid "change the definition of a row level security policy"
 msgstr "modifier la définition d'une politique de sécurité au niveau ligne"
 
-#: sql_help.h:302 sql_help.h:372
+#: sql_help.c:4239 sql_help.c:4309
 msgid "change a database role"
 msgstr "modifier un rôle"
 
-#: sql_help.h:307
+#: sql_help.c:4244
 msgid "change the definition of a rule"
 msgstr "modifier la définition d'une règle"
 
-#: sql_help.h:312
+#: sql_help.c:4249
 msgid "change the definition of a schema"
 msgstr "modifier la définition d'un schéma"
 
-#: sql_help.h:317
+#: sql_help.c:4254
 msgid "change the definition of a sequence generator"
 msgstr "modifier la définition d'un générateur de séquence"
 
-#: sql_help.h:322
+#: sql_help.c:4259
 msgid "change the definition of a foreign server"
 msgstr "modifier la définition d'un serveur distant"
 
-#: sql_help.h:327
+#: sql_help.c:4264
 msgid "change a server configuration parameter"
 msgstr "modifie un paramètre de configuration du serveur"
 
-#: sql_help.h:332
+#: sql_help.c:4269
 msgid "change the definition of a table"
 msgstr "modifier la définition d'une table"
 
-#: sql_help.h:337
+#: sql_help.c:4274
 msgid "change the definition of a tablespace"
 msgstr "modifier la définition d'un tablespace"
 
-#: sql_help.h:342
+#: sql_help.c:4279
 msgid "change the definition of a text search configuration"
 msgstr "modifier la définition d'une configuration de la recherche de texte"
 
-#: sql_help.h:347
+#: sql_help.c:4284
 msgid "change the definition of a text search dictionary"
 msgstr "modifier la définition d'un dictionnaire de la recherche de texte"
 
-#: sql_help.h:352
+#: sql_help.c:4289
 msgid "change the definition of a text search parser"
 msgstr "modifier la définition d'un analyseur de la recherche de texte"
 
-#: sql_help.h:357
+#: sql_help.c:4294
 msgid "change the definition of a text search template"
 msgstr "modifier la définition d'un modèle de la recherche de texte"
 
-#: sql_help.h:362
+#: sql_help.c:4299
 msgid "change the definition of a trigger"
 msgstr "modifier la définition d'un trigger"
 
-#: sql_help.h:367
+#: sql_help.c:4304
 msgid "change the definition of a type"
 msgstr "modifier la définition d'un type"
 
-#: sql_help.h:377
+#: sql_help.c:4314
 msgid "change the definition of a user mapping"
 msgstr "modifier la définition d'une correspondance d'utilisateur"
 
-#: sql_help.h:382
+#: sql_help.c:4319
 msgid "change the definition of a view"
 msgstr "modifier la définition d'une vue"
 
-#: sql_help.h:387
+#: sql_help.c:4324
 msgid "collect statistics about a database"
 msgstr "acquérir des statistiques concernant la base de données"
 
-#: sql_help.h:392 sql_help.h:992
+#: sql_help.c:4329 sql_help.c:4939
 msgid "start a transaction block"
 msgstr "débuter un bloc de transaction"
 
-#: sql_help.h:397
+#: sql_help.c:4334
 msgid "force a transaction log checkpoint"
 msgstr "forcer un point de vérification des journaux de transaction"
 
-#: sql_help.h:402
+#: sql_help.c:4339
 msgid "close a cursor"
 msgstr "fermer un curseur"
 
-#: sql_help.h:407
+#: sql_help.c:4344
 msgid "cluster a table according to an index"
 msgstr "réorganiser (cluster) une table en fonction d'un index"
 
-#: sql_help.h:412
+#: sql_help.c:4349
 msgid "define or change the comment of an object"
 msgstr "définir ou modifier les commentaires d'un objet"
 
-#: sql_help.h:417 sql_help.h:827
+#: sql_help.c:4354 sql_help.c:4774
 msgid "commit the current transaction"
 msgstr "valider la transaction en cours"
 
-#: sql_help.h:422
+#: sql_help.c:4359
 msgid "commit a transaction that was earlier prepared for two-phase commit"
 msgstr ""
 "valider une transaction précédemment préparée pour une validation en deux\n"
 "phases"
 
-#: sql_help.h:427
+#: sql_help.c:4364
 msgid "copy data between a file and a table"
 msgstr "copier des données entre un fichier et une table"
 
-#: sql_help.h:432
+#: sql_help.c:4369
+msgid "define a new access method"
+msgstr "définir une nouvelle méthode d'accès"
+
+#: sql_help.c:4374
 msgid "define a new aggregate function"
 msgstr "définir une nouvelle fonction d'agrégation"
 
-#: sql_help.h:437
+#: sql_help.c:4379
 msgid "define a new cast"
 msgstr "définir un nouveau transtypage"
 
-#: sql_help.h:442
+#: sql_help.c:4384
 msgid "define a new collation"
 msgstr "définir un nouveau collationnement"
 
-#: sql_help.h:447
+#: sql_help.c:4389
 msgid "define a new encoding conversion"
 msgstr "définir une nouvelle conversion d'encodage"
 
-#: sql_help.h:452
+#: sql_help.c:4394
 msgid "create a new database"
 msgstr "créer une nouvelle base de données"
 
-#: sql_help.h:457
+#: sql_help.c:4399
 msgid "define a new domain"
 msgstr "définir un nouveau domaine"
 
-#: sql_help.h:462
+#: sql_help.c:4404
 msgid "define a new event trigger"
 msgstr "définir un nouveau trigger sur évènement"
 
-#: sql_help.h:467
+#: sql_help.c:4409
 msgid "install an extension"
 msgstr "installer une extension"
 
-#: sql_help.h:472
+#: sql_help.c:4414
 msgid "define a new foreign-data wrapper"
 msgstr "définir un nouveau wrapper de données distantes"
 
-#: sql_help.h:477
+#: sql_help.c:4419
 msgid "define a new foreign table"
 msgstr "définir une nouvelle table distante"
 
-#: sql_help.h:482
+#: sql_help.c:4424
 msgid "define a new function"
 msgstr "définir une nouvelle fonction"
 
-#: sql_help.h:487 sql_help.h:527 sql_help.h:602
+#: sql_help.c:4429 sql_help.c:4469 sql_help.c:4544
 msgid "define a new database role"
 msgstr "définir un nouveau rôle"
 
-#: sql_help.h:492
+#: sql_help.c:4434
 msgid "define a new index"
 msgstr "définir un nouvel index"
 
-#: sql_help.h:497
+#: sql_help.c:4439
 msgid "define a new procedural language"
 msgstr "définir un nouveau langage de procédures"
 
-#: sql_help.h:502
+#: sql_help.c:4444
 msgid "define a new materialized view"
 msgstr "définir une nouvelle vue matérialisée"
 
-#: sql_help.h:507
+#: sql_help.c:4449
 msgid "define a new operator"
 msgstr "définir un nouvel opérateur"
 
-#: sql_help.h:512
+#: sql_help.c:4454
 msgid "define a new operator class"
 msgstr "définir une nouvelle classe d'opérateur"
 
-#: sql_help.h:517
+#: sql_help.c:4459
 msgid "define a new operator family"
 msgstr "définir une nouvelle famille d'opérateur"
 
-#: sql_help.h:522
+#: sql_help.c:4464
 msgid "define a new row level security policy for a table"
 msgstr "définir une nouvelle politique de sécurité au niveau ligne pour une table"
 
-#: sql_help.h:532
+#: sql_help.c:4474
 msgid "define a new rewrite rule"
 msgstr "définir une nouvelle règle de réécriture"
 
-#: sql_help.h:537
+#: sql_help.c:4479
 msgid "define a new schema"
 msgstr "définir un nouveau schéma"
 
-#: sql_help.h:542
+#: sql_help.c:4484
 msgid "define a new sequence generator"
 msgstr "définir un nouveau générateur de séquence"
 
-#: sql_help.h:547
+#: sql_help.c:4489
 msgid "define a new foreign server"
 msgstr "définir un nouveau serveur distant"
 
-#: sql_help.h:552
+#: sql_help.c:4494
 msgid "define a new table"
 msgstr "définir une nouvelle table"
 
-#: sql_help.h:557 sql_help.h:957
+#: sql_help.c:4499 sql_help.c:4904
 msgid "define a new table from the results of a query"
 msgstr "définir une nouvelle table à partir des résultats d'une requête"
 
-#: sql_help.h:562
+#: sql_help.c:4504
 msgid "define a new tablespace"
 msgstr "définir un nouveau tablespace"
 
-#: sql_help.h:567
+#: sql_help.c:4509
 msgid "define a new text search configuration"
 msgstr "définir une nouvelle configuration de la recherche de texte"
 
-#: sql_help.h:572
+#: sql_help.c:4514
 msgid "define a new text search dictionary"
 msgstr "définir un nouveau dictionnaire de la recherche de texte"
 
-#: sql_help.h:577
+#: sql_help.c:4519
 msgid "define a new text search parser"
 msgstr "définir un nouvel analyseur de la recherche de texte"
 
-#: sql_help.h:582
+#: sql_help.c:4524
 msgid "define a new text search template"
 msgstr "définir un nouveau modèle de la recherche de texte"
 
-#: sql_help.h:587
+#: sql_help.c:4529
 msgid "define a new transform"
 msgstr "définir une nouvelle transformation"
 
-#: sql_help.h:592
+#: sql_help.c:4534
 msgid "define a new trigger"
 msgstr "définir un nouveau trigger"
 
-#: sql_help.h:597
+#: sql_help.c:4539
 msgid "define a new data type"
 msgstr "définir un nouveau type de données"
 
-#: sql_help.h:607
+#: sql_help.c:4549
 msgid "define a new mapping of a user to a foreign server"
 msgstr "définit une nouvelle correspondance d'un utilisateur vers un serveur distant"
 
-#: sql_help.h:612
+#: sql_help.c:4554
 msgid "define a new view"
 msgstr "définir une nouvelle vue"
 
-#: sql_help.h:617
+#: sql_help.c:4559
 msgid "deallocate a prepared statement"
 msgstr "désallouer une instruction préparée"
 
-#: sql_help.h:622
+#: sql_help.c:4564
 msgid "define a cursor"
 msgstr "définir un curseur"
 
-#: sql_help.h:627
+#: sql_help.c:4569
 msgid "delete rows of a table"
 msgstr "supprimer des lignes d'une table"
 
-#: sql_help.h:632
+#: sql_help.c:4574
 msgid "discard session state"
 msgstr "annuler l'état de la session"
 
-#: sql_help.h:637
+#: sql_help.c:4579
 msgid "execute an anonymous code block"
 msgstr "exécute un bloc de code anonyme"
 
-#: sql_help.h:642
+#: sql_help.c:4584
+msgid "remove an access method"
+msgstr "supprimer une méthode d'accès"
+
+#: sql_help.c:4589
 msgid "remove an aggregate function"
 msgstr "supprimer une fonction d'agrégation"
 
-#: sql_help.h:647
+#: sql_help.c:4594
 msgid "remove a cast"
 msgstr "supprimer un transtypage"
 
-#: sql_help.h:652
+#: sql_help.c:4599
 msgid "remove a collation"
 msgstr "supprimer un collationnement"
 
-#: sql_help.h:657
+#: sql_help.c:4604
 msgid "remove a conversion"
 msgstr "supprimer une conversion"
 
-#: sql_help.h:662
+#: sql_help.c:4609
 msgid "remove a database"
 msgstr "supprimer une base de données"
 
-#: sql_help.h:667
+#: sql_help.c:4614
 msgid "remove a domain"
 msgstr "supprimer un domaine"
 
-#: sql_help.h:672
+#: sql_help.c:4619
 msgid "remove an event trigger"
 msgstr "supprimer un trigger sur évènement"
 
-#: sql_help.h:677
+#: sql_help.c:4624
 msgid "remove an extension"
 msgstr "supprimer une extension"
 
-#: sql_help.h:682
+#: sql_help.c:4629
 msgid "remove a foreign-data wrapper"
 msgstr "supprimer un wrapper de données distantes"
 
-#: sql_help.h:687
+#: sql_help.c:4634
 msgid "remove a foreign table"
 msgstr "supprimer une table distante"
 
-#: sql_help.h:692
+#: sql_help.c:4639
 msgid "remove a function"
 msgstr "supprimer une fonction"
 
-#: sql_help.h:697 sql_help.h:742 sql_help.h:812
+#: sql_help.c:4644 sql_help.c:4689 sql_help.c:4759
 msgid "remove a database role"
 msgstr "supprimer un rôle de la base de données"
 
-#: sql_help.h:702
+#: sql_help.c:4649
 msgid "remove an index"
 msgstr "supprimer un index"
 
-#: sql_help.h:707
+#: sql_help.c:4654
 msgid "remove a procedural language"
 msgstr "supprimer un langage procédural"
 
-#: sql_help.h:712
+#: sql_help.c:4659
 msgid "remove a materialized view"
 msgstr "supprimer une vue matérialisée"
 
-#: sql_help.h:717
+#: sql_help.c:4664
 msgid "remove an operator"
 msgstr "supprimer un opérateur"
 
-#: sql_help.h:722
+#: sql_help.c:4669
 msgid "remove an operator class"
 msgstr "supprimer une classe d'opérateur"
 
-#: sql_help.h:727
+#: sql_help.c:4674
 msgid "remove an operator family"
 msgstr "supprimer une famille d'opérateur"
 
-#: sql_help.h:732
+#: sql_help.c:4679
 msgid "remove database objects owned by a database role"
 msgstr "supprimer les objets appartenant à un rôle"
 
-#: sql_help.h:737
+#: sql_help.c:4684
 msgid "remove a row level security policy from a table"
 msgstr "supprimer une nouvelle politique de sécurité au niveau ligne pour une table"
 
-#: sql_help.h:747
+#: sql_help.c:4694
 msgid "remove a rewrite rule"
 msgstr "supprimer une règle de réécriture"
 
-#: sql_help.h:752
+#: sql_help.c:4699
 msgid "remove a schema"
 msgstr "supprimer un schéma"
 
-#: sql_help.h:757
+#: sql_help.c:4704
 msgid "remove a sequence"
 msgstr "supprimer une séquence"
 
-#: sql_help.h:762
+#: sql_help.c:4709
 msgid "remove a foreign server descriptor"
 msgstr "supprimer un descripteur de serveur distant"
 
-#: sql_help.h:767
+#: sql_help.c:4714
 msgid "remove a table"
 msgstr "supprimer une table"
 
-#: sql_help.h:772
+#: sql_help.c:4719
 msgid "remove a tablespace"
 msgstr "supprimer un tablespace"
 
-#: sql_help.h:777
+#: sql_help.c:4724
 msgid "remove a text search configuration"
 msgstr "supprimer une configuration de la recherche de texte"
 
-#: sql_help.h:782
+#: sql_help.c:4729
 msgid "remove a text search dictionary"
 msgstr "supprimer un dictionnaire de la recherche de texte"
 
-#: sql_help.h:787
+#: sql_help.c:4734
 msgid "remove a text search parser"
 msgstr "supprimer un analyseur de la recherche de texte"
 
-#: sql_help.h:792
+#: sql_help.c:4739
 msgid "remove a text search template"
 msgstr "supprimer un modèle de la recherche de texte"
 
-#: sql_help.h:797
+#: sql_help.c:4744
 msgid "remove a transform"
 msgstr "supprimer une transformation"
 
-#: sql_help.h:802
+#: sql_help.c:4749
 msgid "remove a trigger"
 msgstr "supprimer un trigger"
 
-#: sql_help.h:807
+#: sql_help.c:4754
 msgid "remove a data type"
 msgstr "supprimer un type de données"
 
-#: sql_help.h:817
+#: sql_help.c:4764
 msgid "remove a user mapping for a foreign server"
 msgstr "supprime une correspondance utilisateur pour un serveur distant"
 
-#: sql_help.h:822
+#: sql_help.c:4769
 msgid "remove a view"
 msgstr "supprimer une vue"
 
-#: sql_help.h:832
+#: sql_help.c:4779
 msgid "execute a prepared statement"
 msgstr "exécuter une instruction préparée"
 
-#: sql_help.h:837
+#: sql_help.c:4784
 msgid "show the execution plan of a statement"
 msgstr "afficher le plan d'exécution d'une instruction"
 
-#: sql_help.h:842
+#: sql_help.c:4789
 msgid "retrieve rows from a query using a cursor"
 msgstr "extraire certaines lignes d'une requête à l'aide d'un curseur"
 
-#: sql_help.h:847
+#: sql_help.c:4794
 msgid "define access privileges"
 msgstr "définir des privilèges d'accès"
 
-#: sql_help.h:852
+#: sql_help.c:4799
 msgid "import table definitions from a foreign server"
 msgstr "importer la définition d'une table à partir d'un serveur distant"
 
-#: sql_help.h:857
+#: sql_help.c:4804
 msgid "create new rows in a table"
 msgstr "créer de nouvelles lignes dans une table"
 
-#: sql_help.h:862
+#: sql_help.c:4809
 msgid "listen for a notification"
 msgstr "se mettre à l'écoute d'une notification"
 
-#: sql_help.h:867
+#: sql_help.c:4814
 msgid "load a shared library file"
 msgstr "charger un fichier de bibliothèque partagée"
 
-#: sql_help.h:872
+#: sql_help.c:4819
 msgid "lock a table"
 msgstr "verrouiller une table"
 
-#: sql_help.h:877
+#: sql_help.c:4824
 msgid "position a cursor"
 msgstr "positionner un curseur"
 
-#: sql_help.h:882
+#: sql_help.c:4829
 msgid "generate a notification"
 msgstr "engendrer une notification"
 
-#: sql_help.h:887
+#: sql_help.c:4834
 msgid "prepare a statement for execution"
 msgstr "préparer une instruction pour exécution"
 
-#: sql_help.h:892
+#: sql_help.c:4839
 msgid "prepare the current transaction for two-phase commit"
 msgstr "préparer la transaction en cours pour une validation en deux phases"
 
-#: sql_help.h:897
+#: sql_help.c:4844
 msgid "change the ownership of database objects owned by a database role"
 msgstr "changer le propriétaire des objets d'un rôle"
 
-#: sql_help.h:902
+#: sql_help.c:4849
 msgid "replace the contents of a materialized view"
 msgstr "remplacer le contenu d'une vue matérialisée"
 
-#: sql_help.h:907
+#: sql_help.c:4854
 msgid "rebuild indexes"
 msgstr "reconstruire des index"
 
-#: sql_help.h:912
+#: sql_help.c:4859
 msgid "destroy a previously defined savepoint"
 msgstr "détruire un point de retournement précédemment défini"
 
-#: sql_help.h:917
+#: sql_help.c:4864
 msgid "restore the value of a run-time parameter to the default value"
 msgstr "réinitialiser un paramètre d'exécution à sa valeur par défaut"
 
-#: sql_help.h:922
+#: sql_help.c:4869
 msgid "remove access privileges"
 msgstr "supprimer des privilèges d'accès"
 
-#: sql_help.h:932
+#: sql_help.c:4879
 msgid "cancel a transaction that was earlier prepared for two-phase commit"
 msgstr ""
 "annuler une transaction précédemment préparée pour une validation en deux\n"
 "phases"
 
-#: sql_help.h:937
+#: sql_help.c:4884
 msgid "roll back to a savepoint"
 msgstr "annuler jusqu'au point de retournement"
 
-#: sql_help.h:942
+#: sql_help.c:4889
 msgid "define a new savepoint within the current transaction"
 msgstr "définir un nouveau point de retournement pour la transaction en cours"
 
-#: sql_help.h:947
+#: sql_help.c:4894
 msgid "define or change a security label applied to an object"
 msgstr "définir ou modifier un label de sécurité à un objet"
 
-#: sql_help.h:952 sql_help.h:997 sql_help.h:1027
+#: sql_help.c:4899 sql_help.c:4944 sql_help.c:4974
 msgid "retrieve rows from a table or view"
 msgstr "extraire des lignes d'une table ou d'une vue"
 
-#: sql_help.h:962
+#: sql_help.c:4909
 msgid "change a run-time parameter"
 msgstr "modifier un paramètre d'exécution"
 
-#: sql_help.h:967
+#: sql_help.c:4914
 msgid "set constraint check timing for the current transaction"
 msgstr "définir le moment de la vérification des contraintes pour la transaction en cours"
 
-#: sql_help.h:972
+#: sql_help.c:4919
 msgid "set the current user identifier of the current session"
 msgstr "définir l'identifiant actuel de l'utilisateur de la session courante"
 
-#: sql_help.h:977
+#: sql_help.c:4924
 msgid "set the session user identifier and the current user identifier of the current session"
 msgstr ""
 "définir l'identifiant de l'utilisateur de session et l'identifiant actuel de\n"
 "l'utilisateur de la session courante"
 
-#: sql_help.h:982
+#: sql_help.c:4929
 msgid "set the characteristics of the current transaction"
 msgstr "définir les caractéristiques de la transaction en cours"
 
-#: sql_help.h:987
+#: sql_help.c:4934
 msgid "show the value of a run-time parameter"
 msgstr "afficher la valeur d'un paramètre d'exécution"
 
-#: sql_help.h:1002
+#: sql_help.c:4949
 msgid "empty a table or set of tables"
 msgstr "vider une table ou un ensemble de tables"
 
-#: sql_help.h:1007
+#: sql_help.c:4954
 msgid "stop listening for a notification"
 msgstr "arrêter l'écoute d'une notification"
 
-#: sql_help.h:1012
+#: sql_help.c:4959
 msgid "update rows of a table"
 msgstr "actualiser les lignes d'une table"
 
-#: sql_help.h:1017
+#: sql_help.c:4964
 msgid "garbage-collect and optionally analyze a database"
 msgstr "compacter et optionnellement analyser une base de données"
 
-#: sql_help.h:1022
+#: sql_help.c:4969
 msgid "compute a set of rows"
 msgstr "calculer un ensemble de lignes"
 
-#: startup.c:177
+#: startup.c:189
 #, c-format
 msgid "%s: -1 can only be used in non-interactive mode\n"
 msgstr "%s p: -1 peut seulement être utilisé dans un mode non intéractif\n"
 
-#: startup.c:278
+#: startup.c:289
 #, c-format
 msgid "%s: could not open log file \"%s\": %s\n"
 msgstr "%s : n'a pas pu ouvrir le journal applicatif « %s » : %s\n"
 
-#: startup.c:342
+#: startup.c:389
 #, c-format
 msgid ""
 "Type \"help\" for help.\n"
@@ -5213,42 +5316,43 @@ msgstr ""
 "Saisissez « help » pour l'aide.\n"
 "\n"
 
-#: startup.c:490
+#: startup.c:538
 #, c-format
 msgid "%s: could not set printing parameter \"%s\"\n"
 msgstr "%s : n'a pas pu configurer le paramètre d'impression « %s »\n"
 
-#: startup.c:530
+#: startup.c:578
 #, c-format
 msgid "%s: could not delete variable \"%s\"\n"
 msgstr "%s : n'a pas pu effacer la variable « %s »\n"
 
-#: startup.c:540
+#: startup.c:588
 #, c-format
 msgid "%s: could not set variable \"%s\"\n"
 msgstr "%s : n'a pas pu initialiser la variable « %s »\n"
 
-#: startup.c:600
+#: startup.c:648
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Essayez « %s --help » pour plus d'informations.\n"
 
-#: startup.c:617
+#: startup.c:665
 #, c-format
 msgid "%s: warning: extra command-line argument \"%s\" ignored\n"
 msgstr "%s : attention : option supplémentaire « %s » ignorée\n"
 
-#: startup.c:639
+#: startup.c:714
 #, c-format
 msgid "%s: could not find own program executable\n"
 msgstr "%s : n'a pas pu trouver son propre exécutable\n"
 
-#: startup.c:761 startup.c:808 startup.c:829 startup.c:866 variables.c:121
+#: startup.c:836 startup.c:883 startup.c:904 startup.c:941 startup.c:963
+#: variables.c:121
 #, c-format
 msgid "unrecognized value \"%s\" for \"%s\"; assuming \"%s\"\n"
 msgstr "valeur « %s » non reconnue pour « %s » ; suppose « %s »\n"
 
-#: tab-complete.c:4581
+#: tab-complete.c:3682
 #, c-format
 msgid ""
 "tab completion query failed: %s\n"
@@ -5259,906 +5363,799 @@ msgstr ""
 "La requête était :\n"
 "%s\n"
 
-#~ msgid "Showing locale-adjusted numeric output."
-#~ msgstr "Affichage de la sortie numérique adaptée à la locale."
+#~ msgid "SSL connection (unknown cipher)\n"
+#~ msgstr "Connexion SSL (chiffrement inconnu)\n"
 
-#~ msgid "Showing only tuples."
-#~ msgstr "Affichage des tuples seuls."
+#~ msgid "  -?, --help               show this help, then exit\n"
+#~ msgstr "  -?, --help                 affiche cette aide puis quitte\n"
 
-#~ msgid "could not get current user name: %s\n"
-#~ msgstr "n'a pas pu obtenir le nom d'utilisateur courant : %s\n"
+#~ msgid "(No rows)\n"
+#~ msgstr "(Aucune ligne)\n"
 
-#~ msgid "agg_name"
-#~ msgstr "nom_d_agrégat"
+#~ msgid "ALTER VIEW name RENAME TO newname"
+#~ msgstr "ALTER VIEW nom RENAME TO nouveau_nom"
 
-#~ msgid "agg_type"
-#~ msgstr "type_aggrégat"
+#~ msgid "    \"%s\""
+#~ msgstr "    « %s »"
 
-#~ msgid "input_data_type"
-#~ msgstr "type_de_données_en_entrée"
+#~ msgid "?%c? \"%s.%s\""
+#~ msgstr "?%c? « %s.%s »"
 
-#~ msgid "could not change directory to \"%s\""
-#~ msgstr "n'a pas pu accéder au répertoire « %s »"
+#~ msgid "Access privileges for database \"%s\""
+#~ msgstr "Droits d'accès pour la base de données « %s »"
 
-#~ msgid "%s: pg_strdup: cannot duplicate null pointer (internal error)\n"
-#~ msgstr "%s : pg_strdup : ne peut pas dupliquer le pointeur null (erreur interne)\n"
+#~ msgid ""
+#~ "WARNING:  You are connected to a server with major version %d.%d,\n"
+#~ "but your %s client is major version %d.%d.  Some backslash commands,\n"
+#~ "such as \\d, might not work properly.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "ATTENTION : vous êtes connecté sur un serveur dont la version majeure est\n"
+#~ "%d.%d alors que votre client %s est en version majeure %d.%d. Certaines\n"
+#~ "commandes avec antislashs, comme \\d, peuvent ne pas fonctionner\n"
+#~ "correctement.\n"
+#~ "\n"
 
-#~ msgid "  \\l[+]                  list all databases\n"
-#~ msgstr "  \\l[+]                affiche la liste des bases de données\n"
+#~ msgid ""
+#~ "Welcome to %s %s, the PostgreSQL interactive terminal.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Bienvenue dans %s %s, l'interface interactive de PostgreSQL.\n"
+#~ "\n"
 
-#~ msgid "\\%s: error\n"
-#~ msgstr "\\%s : erreur\n"
+#~ msgid ""
+#~ "Welcome to %s %s (server %s), the PostgreSQL interactive terminal.\n"
+#~ "\n"
+#~ msgstr ""
+#~ "Bienvenue dans %s %s (serveur %s), l'interface interactive de PostgreSQL.\n"
+#~ "\n"
 
-#~ msgid "\\copy: %s"
-#~ msgstr "\\copy : %s"
+#~ msgid "Copy, Large Object\n"
+#~ msgstr "Copie, « Large Object »\n"
 
-#~ msgid "\\copy: unexpected response (%d)\n"
-#~ msgstr "\\copy : réponse inattendue (%d)\n"
+#~ msgid "  \\z [PATTERN]   list table, view, and sequence access privileges (same as \\dp)\n"
+#~ msgstr ""
+#~ "  \\z [MODÈLE]          affiche la liste des privilèges d'accès aux tables,\n"
+#~ "                       vues et séquences (identique à \\dp)\n"
 
-#~ msgid "  --help                   show this help, then exit\n"
-#~ msgstr "  --help          affiche cette aide, puis quitte\n"
+#~ msgid "  \\l             list all databases (add \"+\" for more detail)\n"
+#~ msgstr ""
+#~ "  \\l                   affiche la liste des bases de données (ajouter « + »\n"
+#~ "                       pour plus de détails)\n"
 
-#~ msgid "  --version                output version information, then exit\n"
-#~ msgstr "  --version       affiche la version, puis quitte\n"
-
-#~ msgid "contains support for command-line editing"
-#~ msgstr "contient une gestion avancée de la ligne de commande"
-
-#~ msgid "data type"
-#~ msgstr "type de données"
-
-#~ msgid "column"
-#~ msgstr "colonne"
-
-#~ msgid "new_column"
-#~ msgstr "nouvelle_colonne"
+#~ msgid "  \\dT [PATTERN]  list data types (add \"+\" for more detail)\n"
+#~ msgstr ""
+#~ "  \\dT [MODÈLE]         affiche la liste des types de données (ajouter « + »\n"
+#~ "                       pour plus de détails)\n"
 
-#~ msgid "tablespace"
-#~ msgstr "tablespace"
+#~ msgid "  \\dn [PATTERN]  list schemas (add \"+\" for more detail)\n"
+#~ msgstr ""
+#~ "  \\dn [MODÈLE]         affiche la liste des schémas (ajouter « + » pour\n"
+#~ "                       plus de détails)\n"
 
-#~ msgid "out of memory"
-#~ msgstr "mémoire épuisée"
+#~ msgid "  \\dFp [PATTERN] list text search parsers (add \"+\" for more detail)\n"
+#~ msgstr ""
+#~ "  \\dFp [MODÈLE]        affiche la liste des analyseurs de la recherche de\n"
+#~ "                       texte (ajouter « + » pour plus de détails)\n"
 
-#~ msgid " on host \"%s\""
-#~ msgstr " sur l'hôte « %s »"
+#~ msgid "  \\dFd [PATTERN] list text search dictionaries (add \"+\" for more detail)\n"
+#~ msgstr ""
+#~ "  \\dFd [MODÈLE]        affiche la liste des dictionnaires de la recherche\n"
+#~ "                       de texte (ajouter « + » pour plus de détails)\n"
 
-#~ msgid " at port \"%s\""
-#~ msgstr " sur le port « %s »"
+#~ msgid "  \\df [PATTERN]  list functions (add \"+\" for more detail)\n"
+#~ msgstr ""
+#~ "  \\df [MODÈLE]         affiche la liste des fonctions (ajouter « + » pour\n"
+#~ "                       plus de détails)\n"
 
-#~ msgid " as user \"%s\""
-#~ msgstr " comme utilisateur « %s »"
+#~ msgid "  \\db [PATTERN]  list tablespaces (add \"+\" for more detail)\n"
+#~ msgstr ""
+#~ "  \\db [MODÈLE]         affiche la liste des tablespaces (ajouter « + » pour\n"
+#~ "                       plus de détails)\n"
 
-#~ msgid "define a new constraint trigger"
-#~ msgstr "définir une nouvelle contrainte de déclenchement"
+#~ msgid ""
+#~ "  \\d{t|i|s|v|S} [PATTERN] (add \"+\" for more detail)\n"
+#~ "                 list tables/indexes/sequences/views/system tables\n"
+#~ msgstr ""
+#~ "  \\d{t|i|s|v|S} [MODÈLE] (ajouter « + » pour plus de détails)\n"
+#~ "                       affiche la liste des\n"
+#~ "                       tables/index/séquences/vues/tables système\n"
 
-#~ msgid "Exclusion constraints:"
-#~ msgstr "Contraintes d'exclusion :"
+#~ msgid "(1 row)"
+#~ msgid_plural "(%lu rows)"
+#~ msgstr[0] "(1 ligne)"
+#~ msgstr[1] "(%lu lignes)"
 
-#~ msgid "rolename"
-#~ msgstr "nom_rôle"
+#~ msgid "  \"%s\" IN %s %s"
+#~ msgstr "  \"%s\" DANS %s %s"
 
-#~ msgid "number"
-#~ msgstr "numéro"
+#~ msgid ""
+#~ "VALUES ( expression [, ...] ) [, ...]\n"
+#~ "    [ ORDER BY sort_expression [ ASC | DESC | USING operator ] [, ...] ]\n"
+#~ "    [ LIMIT { count | ALL } ]\n"
+#~ "    [ OFFSET start [ ROW | ROWS ] ]\n"
+#~ "    [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ]"
+#~ msgstr ""
+#~ "VALUES ( expression [, ...] ) [, ...]\n"
+#~ "    [ ORDER BY expression_tri [ ASC | DESC | USING opérateur ] [, ...] ]\n"
+#~ "    [ LIMIT { total | ALL } ]\n"
+#~ "    [ OFFSET début [ ROW | ROWS ] ]\n"
+#~ "    [ FETCH { FIRST | NEXT } [ total ] { ROW | ROWS } ONLY ]"
 
-#~ msgid "ABORT [ WORK | TRANSACTION ]"
-#~ msgstr "ABORT [ WORK | TRANSACTION ]"
+#~ msgid ""
+#~ "VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table ]\n"
+#~ "VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table [ (column [, ...] ) ] ]"
+#~ msgstr ""
+#~ "VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table ]\n"
+#~ "VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table [ (colonne [, ...] ) ] ]"
 
 #~ msgid ""
-#~ "ALTER AGGREGATE name ( type [ , ... ] ) RENAME TO new_name\n"
-#~ "ALTER AGGREGATE name ( type [ , ... ] ) OWNER TO new_owner\n"
-#~ "ALTER AGGREGATE name ( type [ , ... ] ) SET SCHEMA new_schema"
+#~ "UPDATE [ ONLY ] table [ [ AS ] alias ]\n"
+#~ "    SET { column = { expression | DEFAULT } |\n"
+#~ "          ( column [, ...] ) = ( { expression | DEFAULT } [, ...] ) } [, ...]\n"
+#~ "    [ FROM fromlist ]\n"
+#~ "    [ WHERE condition | WHERE CURRENT OF cursor_name ]\n"
+#~ "    [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]"
 #~ msgstr ""
-#~ "ALTER AGGREGATE nom ( type [ , ... ] ) RENAME TO nouveau_nom\n"
-#~ "ALTER AGGREGATE nom ( type [ , ... ] ) OWNER TO nouveau_propriétaire\n"
-#~ "ALTER AGGREGATE nom ( type [ , ... ] ) SET SCHEMA nouveau_schéma"
+#~ "UPDATE [ ONLY ] table [ [ AS ] alias ]\n"
+#~ "    SET { colonne = { expression | DEFAULT } |\n"
+#~ "          ( colonne [, ...] ) = ( { expression | DEFAULT } [, ...] ) } [, ...]\n"
+#~ "    [ FROM liste_from ]\n"
+#~ "    [ WHERE condition | WHERE CURRENT OF nom_curseur ]\n"
+#~ "    [ RETURNING * | expression_sortie [ [ AS ] nom_sortie ] [, ...] ]"
+
+#~ msgid "UNLISTEN { name | * }"
+#~ msgstr "UNLISTEN { nom | * }"
 
 #~ msgid ""
-#~ "ALTER CONVERSION name RENAME TO newname\n"
-#~ "ALTER CONVERSION name OWNER TO newowner"
+#~ "TRUNCATE [ TABLE ] [ ONLY ] name [, ... ]\n"
+#~ "    [ RESTART IDENTITY | CONTINUE IDENTITY ] [ CASCADE | RESTRICT ]"
 #~ msgstr ""
-#~ "ALTER CONVERSION nom RENAME TO nouveau_nom\n"
-#~ "ALTER CONVERSION nom OWNER TO nouveau_propriétaire"
+#~ "TRUNCATE [ TABLE ] [ ONLY ] nom [, ... ]\n"
+#~ "    [ RESTART IDENTITY | CONTINUE IDENTITY ] [ CASCADE | RESTRICT ]"
 
 #~ msgid ""
-#~ "ALTER DATABASE name [ [ WITH ] option [ ... ] ]\n"
-#~ "\n"
-#~ "where option can be:\n"
-#~ "\n"
-#~ "    CONNECTION LIMIT connlimit\n"
-#~ "\n"
-#~ "ALTER DATABASE name RENAME TO newname\n"
-#~ "\n"
-#~ "ALTER DATABASE name OWNER TO new_owner\n"
+#~ "START TRANSACTION [ transaction_mode [, ...] ]\n"
 #~ "\n"
-#~ "ALTER DATABASE name SET TABLESPACE new_tablespace\n"
+#~ "where transaction_mode is one of:\n"
 #~ "\n"
-#~ "ALTER DATABASE name SET configuration_parameter { TO | = } { value | DEFAULT }\n"
-#~ "ALTER DATABASE name SET configuration_parameter FROM CURRENT\n"
-#~ "ALTER DATABASE name RESET configuration_parameter\n"
-#~ "ALTER DATABASE name RESET ALL"
+#~ "    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }\n"
+#~ "    READ WRITE | READ ONLY"
 #~ msgstr ""
-#~ "ALTER DATABASE nom [ [ WITH ] option [ ... ] ]\n"
-#~ "\n"
-#~ "où option peut être:\n"
-#~ "\n"
-#~ "    CONNECTION LIMIT limite_connexion\n"
-#~ "\n"
-#~ "ALTER DATABASE nom RENAME TO nouveau_nom\n"
-#~ "\n"
-#~ "ALTER DATABASE nom OWNER TO nouveau_propriétaire\n"
+#~ "START TRANSACTION [ mode_transaction [, ...] ]\n"
 #~ "\n"
-#~ "ALTER DATABASE nom SET TABLESPACE nouveau_tablespace\n"
+#~ "où mode_transaction peut être :\n"
 #~ "\n"
-#~ "ALTER DATABASE nom SET paramètre_configuration { TO | = } { valeur | DEFAULT }\n"
-#~ "ALTER DATABASE nom SET paramètre_configuration FROM CURRENT\n"
-#~ "ALTER DATABASE nom RESET paramètre_configuration\n"
-#~ "ALTER DATABASE nom RESET ALL"
-
-#~ msgid ""
-#~ "ALTER DOMAIN name\n"
-#~ "    { SET DEFAULT expression | DROP DEFAULT }\n"
-#~ "ALTER DOMAIN name\n"
-#~ "    { SET | DROP } NOT NULL\n"
-#~ "ALTER DOMAIN name\n"
-#~ "    ADD domain_constraint\n"
-#~ "ALTER DOMAIN name\n"
-#~ "    DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]\n"
-#~ "ALTER DOMAIN name\n"
-#~ "    OWNER TO new_owner \n"
-#~ "ALTER DOMAIN name\n"
-#~ "    SET SCHEMA new_schema"
-#~ msgstr ""
-#~ "ALTER DOMAIN nom\n"
-#~ "    { SET DEFAULT expression | DROP DEFAULT }\n"
-#~ "ALTER DOMAIN nom\n"
-#~ "    { SET | DROP } NOT NULL\n"
-#~ "ALTER DOMAIN nom\n"
-#~ "    ADD contrainte_domaine\n"
-#~ "ALTER DOMAIN nom\n"
-#~ "    DROP CONSTRAINT nom_contrainte [ RESTRICT | CASCADE ]\n"
-#~ "ALTER DOMAIN nom\n"
-#~ "    OWNER TO nouveau_propriétaire \n"
-#~ "ALTER DOMAIN nom\n"
-#~ "    SET SCHEMA nouveau_schéma"
+#~ "    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ |\n"
+#~ "                      READ COMMITTED | READ UNCOMMITTED }\n"
+#~ "    READ WRITE | READ ONLY"
 
 #~ msgid ""
-#~ "ALTER FOREIGN DATA WRAPPER name\n"
-#~ "    [ VALIDATOR valfunction | NO VALIDATOR ]\n"
-#~ "    [ OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ]) ]\n"
-#~ "ALTER FOREIGN DATA WRAPPER name OWNER TO new_owner"
+#~ "SHOW name\n"
+#~ "SHOW ALL"
 #~ msgstr ""
-#~ "ALTER FOREIGN DATA WRAPPER nom\n"
-#~ "    [ VALIDATOR fonction_validation | NO VALIDATOR ]\n"
-#~ "    [ OPTIONS ( [ ADD | SET | DROP ] option ['valeur'] [, ... ]) ]\n"
-#~ "ALTER FOREIGN DATA WRAPPER nom OWNER TO nouveau_propriétaire"
+#~ "SHOW nom\n"
+#~ "SHOW ALL"
 
 #~ msgid ""
-#~ "ALTER FUNCTION name ( [ [ argmode ] [ argname ] argtype [, ...] ] )\n"
-#~ "    action [ ... ] [ RESTRICT ]\n"
-#~ "ALTER FUNCTION name ( [ [ argmode ] [ argname ] argtype [, ...] ] )\n"
-#~ "    RENAME TO new_name\n"
-#~ "ALTER FUNCTION name ( [ [ argmode ] [ argname ] argtype [, ...] ] )\n"
-#~ "    OWNER TO new_owner\n"
-#~ "ALTER FUNCTION name ( [ [ argmode ] [ argname ] argtype [, ...] ] )\n"
-#~ "    SET SCHEMA new_schema\n"
+#~ "SET TRANSACTION transaction_mode [, ...]\n"
+#~ "SET SESSION CHARACTERISTICS AS TRANSACTION transaction_mode [, ...]\n"
 #~ "\n"
-#~ "where action is one of:\n"
+#~ "where transaction_mode is one of:\n"
 #~ "\n"
-#~ "    CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT\n"
-#~ "    IMMUTABLE | STABLE | VOLATILE\n"
-#~ "    [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER\n"
-#~ "    COST execution_cost\n"
-#~ "    ROWS result_rows\n"
-#~ "    SET configuration_parameter { TO | = } { value | DEFAULT }\n"
-#~ "    SET configuration_parameter FROM CURRENT\n"
-#~ "    RESET configuration_parameter\n"
-#~ "    RESET ALL"
+#~ "    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }\n"
+#~ "    READ WRITE | READ ONLY"
 #~ msgstr ""
-#~ "ALTER FUNCTION nom ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] )\n"
-#~ "    action [, ... ] [ RESTRICT ]\n"
-#~ "ALTER FUNCTION nom ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] )\n"
-#~ "    RENAME TO nouveau_nom\n"
-#~ "ALTER FUNCTION nom ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] )\n"
-#~ "    OWNER TO nouveau_proprietaire\n"
-#~ "ALTER FUNCTION nom ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] )\n"
-#~ "    SET SCHEMA nouveau_schema\n"
+#~ "SET TRANSACTION mode_transaction [, ...]\n"
+#~ "SET SESSION CHARACTERISTICS AS TRANSACTION mode_transaction [, ...]\n"
 #~ "\n"
-#~ "où action peut être :\n"
+#~ "où mode_transaction peut être :\n"
 #~ "\n"
-#~ "    CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT\n"
-#~ "    IMMUTABLE | STABLE | VOLATILE\n"
-#~ "    [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER\n"
-#~ "    COST cout_execution\n"
-#~ "    ROWS lignes_resultats\n"
-#~ "    SET paramètre { TO | = } { valeur | DEFAULT }\n"
-#~ "    SET paramètre FROM CURRENT\n"
-#~ "    RESET paramètre\n"
-#~ "    RESET ALL"
+#~ "    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ |\n"
+#~ "                      READ COMMITTED | READ UNCOMMITTED }\n"
+#~ "    READ WRITE | READ ONLY"
 
 #~ msgid ""
-#~ "ALTER GROUP groupname ADD USER username [, ... ]\n"
-#~ "ALTER GROUP groupname DROP USER username [, ... ]\n"
-#~ "\n"
-#~ "ALTER GROUP groupname RENAME TO newname"
+#~ "SET [ SESSION | LOCAL ] SESSION AUTHORIZATION username\n"
+#~ "SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT\n"
+#~ "RESET SESSION AUTHORIZATION"
 #~ msgstr ""
-#~ "ALTER GROUP nom_groupe ADD USER nom_utilisateur [, ... ]\n"
-#~ "ALTER GROUP nom_groupe DROP USER nom_utilisateur [, ... ]\n"
-#~ "\n"
-#~ "ALTER GROUP nom_groupe RENAME TO nouveau_nom"
+#~ "SET [ SESSION | LOCAL ] SESSION AUTHORIZATION nom_utilisateur\n"
+#~ "SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT\n"
+#~ "RESET SESSION AUTHORIZATION"
 
 #~ msgid ""
-#~ "ALTER INDEX name RENAME TO new_name\n"
-#~ "ALTER INDEX name SET TABLESPACE tablespace_name\n"
-#~ "ALTER INDEX name SET ( storage_parameter = value [, ... ] )\n"
-#~ "ALTER INDEX name RESET ( storage_parameter [, ... ] )"
-#~ msgstr ""
-#~ "ALTER INDEX nom RENAME TO nouveau_nom\n"
-#~ "ALTER INDEX nom SET TABLESPACE nom_tablespace\n"
-#~ "ALTER INDEX nom SET ( paramètre_stockage = valeur [, ... ] )\n"
-#~ "ALTER INDEX nom RESET ( paramètre_stockage [, ... ] )"
-
-#~ msgid ""
-#~ "ALTER [ PROCEDURAL ] LANGUAGE name RENAME TO newname\n"
-#~ "ALTER [ PROCEDURAL ] LANGUAGE name OWNER TO new_owner"
+#~ "SET [ SESSION | LOCAL ] ROLE rolename\n"
+#~ "SET [ SESSION | LOCAL ] ROLE NONE\n"
+#~ "RESET ROLE"
 #~ msgstr ""
-#~ "ALTER [ PROCEDURAL ] LANGUAGE nom RENAME TO nouveau_nom\n"
-#~ "ALTER [ PROCEDURAL ] LANGUAGE nom OWNER TO nouveau_propriétaire"
+#~ "SET [ SESSION | LOCAL ] ROLE nom_rôle\n"
+#~ "SET [ SESSION | LOCAL ] ROLE NONE\n"
+#~ "RESET ROLE"
 
-#~ msgid "ALTER OPERATOR name ( { lefttype | NONE } , { righttype | NONE } ) OWNER TO newowner"
-#~ msgstr ""
-#~ "ALTER OPERATOR nom ( { lefttype | NONE } , { righttype | NONE } )\n"
-#~ "  OWNER TO nouveau_propriétaire"
+#~ msgid "SET CONSTRAINTS { ALL | name [, ...] } { DEFERRED | IMMEDIATE }"
+#~ msgstr "SET CONSTRAINTS { ALL | nom [, ...] } { DEFERRED | IMMEDIATE }"
 
 #~ msgid ""
-#~ "ALTER OPERATOR CLASS name USING index_method RENAME TO newname\n"
-#~ "ALTER OPERATOR CLASS name USING index_method OWNER TO newowner"
+#~ "SET [ SESSION | LOCAL ] configuration_parameter { TO | = } { value | 'value' | DEFAULT }\n"
+#~ "SET [ SESSION | LOCAL ] TIME ZONE { timezone | LOCAL | DEFAULT }"
 #~ msgstr ""
-#~ "ALTER OPERATOR CLASS nom USING méthode_indexation\n"
-#~ "  RENAME TO nouveau_nom\n"
-#~ "ALTER OPERATOR CLASS nom USING méthode_indexation\n"
-#~ "  OWNER TO nouveau_propriétaire"
+#~ "SET [ SESSION | LOCAL ] paramètre { TO | = } { valeur | 'valeur' | DEFAULT }\n"
+#~ "SET [ SESSION | LOCAL ] TIME ZONE { zone_horaire | LOCAL | DEFAULT }"
 
 #~ msgid ""
-#~ "ALTER OPERATOR FAMILY name USING index_method ADD\n"
-#~ "  {  OPERATOR strategy_number operator_name ( op_type, op_type )\n"
-#~ "   | FUNCTION support_number [ ( op_type [ , op_type ] ) ] funcname ( argument_type [, ...] )\n"
-#~ "  } [, ... ]\n"
-#~ "ALTER OPERATOR FAMILY name USING index_method DROP\n"
-#~ "  {  OPERATOR strategy_number ( op_type [ , op_type ] )\n"
-#~ "   | FUNCTION support_number ( op_type [ , op_type ] )\n"
-#~ "  } [, ... ]\n"
-#~ "ALTER OPERATOR FAMILY name USING index_method RENAME TO newname\n"
-#~ "ALTER OPERATOR FAMILY name USING index_method OWNER TO newowner"
+#~ "[ WITH [ RECURSIVE ] with_query [, ...] ]\n"
+#~ "SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]\n"
+#~ "    * | expression [ [ AS ] output_name ] [, ...]\n"
+#~ "    INTO [ TEMPORARY | TEMP ] [ TABLE ] new_table\n"
+#~ "    [ FROM from_item [, ...] ]\n"
+#~ "    [ WHERE condition ]\n"
+#~ "    [ GROUP BY expression [, ...] ]\n"
+#~ "    [ HAVING condition [, ...] ]\n"
+#~ "    [ WINDOW window_name AS ( window_definition ) [, ...] ]\n"
+#~ "    [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]\n"
+#~ "    [ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS { FIRST | LAST } ] [, ...] ]\n"
+#~ "    [ LIMIT { count | ALL } ]\n"
+#~ "    [ OFFSET start [ ROW | ROWS ] ]\n"
+#~ "    [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ]\n"
+#~ "    [ FOR { UPDATE | SHARE } [ OF table_name [, ...] ] [ NOWAIT ] [...] ]"
 #~ msgstr ""
-#~ "ALTER OPERATOR FAMILY nom USING méthode_indexage ADD\n"
-#~ "  {  OPERATOR numéro_stratégie nom_opérateur ( type_op, type_op ) \n"
-#~ "    | FUNCTION numéro_support [ ( type_op [ , type_op ] ) ]\n"
-#~ "      nom_fonction ( type_argument [, ...] )\n"
-#~ "  } [, ... ]\n"
-#~ "ALTER OPERATOR FAMILY nom USING méthode_indexage DROP\n"
-#~ "  {  OPERATOR numéro_stratégie ( type_op [ , type_op ] )\n"
-#~ "    | FUNCTION numéro_support ( type_op [ , type_op ] )\n"
-#~ "  } [, ... ]\n"
-#~ "ALTER OPERATOR FAMILY nom USING méthode_indexage\n"
-#~ "  RENAME TO nouveau_nom\n"
-#~ "ALTER OPERATOR FAMILY nom USING méthode_indexage\n"
-#~ "  OWNER TO nouveau_propriétaire"
+#~ "[ WITH [ RECURSIVE ] requête_with [, ...] ]\n"
+#~ "SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]\n"
+#~ "    * | expression [ [ AS ] nom_sortie ] [, ...]\n"
+#~ "    INTO [ TEMPORARY | TEMP ] [ TABLE ] nouvelle_table\n"
+#~ "    [ FROM élément_from [, ...] ]\n"
+#~ "    [ WHERE condition ]\n"
+#~ "    [ GROUP BY expression [, ...] ]\n"
+#~ "    [ HAVING condition [, ...] ]\n"
+#~ "    [ WINDOW nom_window AS ( définition_window ) [, ...] ]\n"
+#~ "    [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]\n"
+#~ "    [ ORDER BY expression [ ASC | DESC | USING opérateur ] [ NULLS { FIRST | LAST } ] [, ...] ]\n"
+#~ "    [ LIMIT { total | ALL } ]\n"
+#~ "    [ OFFSET début [ ROW | ROWS ] ]\n"
+#~ "    [ FETCH { FIRST | NEXT } [ total ] { ROW | ROWS } ONLY ]\n"
+#~ "    [ FOR { UPDATE | SHARE } [ OF nom_table [, ...] ] [ NOWAIT ] [...] ]"
 
 #~ msgid ""
-#~ "ALTER ROLE name [ [ WITH ] option [ ... ] ]\n"
+#~ "[ WITH [ RECURSIVE ] with_query [, ...] ]\n"
+#~ "SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]\n"
+#~ "    * | expression [ [ AS ] output_name ] [, ...]\n"
+#~ "    [ FROM from_item [, ...] ]\n"
+#~ "    [ WHERE condition ]\n"
+#~ "    [ GROUP BY expression [, ...] ]\n"
+#~ "    [ HAVING condition [, ...] ]\n"
+#~ "    [ WINDOW window_name AS ( window_definition ) [, ...] ]\n"
+#~ "    [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]\n"
+#~ "    [ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS { FIRST | LAST } ] [, ...] ]\n"
+#~ "    [ LIMIT { count | ALL } ]\n"
+#~ "    [ OFFSET start [ ROW | ROWS ] ]\n"
+#~ "    [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ]\n"
+#~ "    [ FOR { UPDATE | SHARE } [ OF table_name [, ...] ] [ NOWAIT ] [...] ]\n"
 #~ "\n"
-#~ "where option can be:\n"
-#~ "    \n"
-#~ "      SUPERUSER | NOSUPERUSER\n"
-#~ "    | CREATEDB | NOCREATEDB\n"
-#~ "    | CREATEROLE | NOCREATEROLE\n"
-#~ "    | CREATEUSER | NOCREATEUSER\n"
-#~ "    | INHERIT | NOINHERIT\n"
-#~ "    | LOGIN | NOLOGIN\n"
-#~ "    | CONNECTION LIMIT connlimit\n"
-#~ "    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'\n"
-#~ "    | VALID UNTIL 'timestamp' \n"
+#~ "where from_item can be one of:\n"
 #~ "\n"
-#~ "ALTER ROLE name RENAME TO newname\n"
+#~ "    [ ONLY ] table_name [ * ] [ [ AS ] alias [ ( column_alias [, ...] ) ] ]\n"
+#~ "    ( select ) [ AS ] alias [ ( column_alias [, ...] ) ]\n"
+#~ "    with_query_name [ [ AS ] alias [ ( column_alias [, ...] ) ] ]\n"
+#~ "    function_name ( [ argument [, ...] ] ) [ AS ] alias [ ( column_alias [, ...] | column_definition [, ...] ) ]\n"
+#~ "    function_name ( [ argument [, ...] ] ) AS ( column_definition [, ...] )\n"
+#~ "    from_item [ NATURAL ] join_type from_item [ ON join_condition | USING ( join_column [, ...] ) ]\n"
 #~ "\n"
-#~ "ALTER ROLE name SET configuration_parameter { TO | = } { value | DEFAULT }\n"
-#~ "ALTER ROLE name SET configuration_parameter FROM CURRENT\n"
-#~ "ALTER ROLE name RESET configuration_parameter\n"
-#~ "ALTER ROLE name RESET ALL"
+#~ "and with_query is:\n"
+#~ "\n"
+#~ "    with_query_name [ ( column_name [, ...] ) ] AS ( select )\n"
+#~ "\n"
+#~ "TABLE { [ ONLY ] table_name [ * ] | with_query_name }"
 #~ msgstr ""
-#~ "ALTER ROLE nom [ [ WITH ] option [ ... ] ]\n"
+#~ "[ WITH [ RECURSIVE ] requête_with [, ...] ]\n"
+#~ "SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]\n"
+#~ "    * | expression [ [ AS ] nom_sortie ] [, ...]\n"
+#~ "    [ FROM élément_from [, ...] ]\n"
+#~ "    [ WHERE condition ]\n"
+#~ "    [ GROUP BY expression [, ...] ]\n"
+#~ "    [ HAVING condition [, ...] ]\n"
+#~ "    [ WINDOW nom_window AS ( définition_window ) [, ...] ]\n"
+#~ "    [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]\n"
+#~ "    [ ORDER BY expression [ ASC | DESC | USING opérateur ] [ NULLS { FIRST | LAST } ] [, ...] ]\n"
+#~ "    [ LIMIT { total | ALL } ]\n"
+#~ "    [ OFFSET début [ ROW | ROWS ] ]\n"
+#~ "    [ FETCH { FIRST | NEXT } [ total ] { ROW | ROWS } ONLY ]\n"
+#~ "    [ FOR { UPDATE | SHARE } [ OF nom_table [, ...] ] [ NOWAIT ] [...] ]\n"
 #~ "\n"
-#~ "où option peut être :\n"
-#~ "    \n"
-#~ "      SUPERUSER | NOSUPERUSER\n"
-#~ "    | CREATEDB | NOCREATEDB\n"
-#~ "    | CREATEROLE | NOCREATEROLE\n"
-#~ "    | CREATEUSER | NOCREATEUSER\n"
-#~ "    | INHERIT | NOINHERIT\n"
-#~ "    | LOGIN | NOLOGIN\n"
-#~ "    | CONNECTION LIMIT limite_connexions\n"
-#~ "    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'mot de passe'\n"
-#~ "    | VALID UNTIL 'timestamp' \n"
+#~ "avec élément_from faisant parti de :\n"
 #~ "\n"
-#~ "ALTER ROLE nom RENAME TO nouveau_nom\n"
+#~ "    [ ONLY ] nom_table [ * ] [ [ AS ] alias [ ( alias_colonne [, ...] ) ] ]\n"
+#~ "    ( select ) [ AS ] alias [ ( alias_colonne [, ...] ) ]\n"
+#~ "    nom_requête_with [ [ AS ] alias [ ( alias_colonne [, ...] ) ] ]\n"
+#~ "    nom_fonction ( [ argument [, ...] ] ) [ AS ] alias [ ( alias_colonne [, ...] | définition_colonne [, ...] ) ]\n"
+#~ "    nom_fonction ( [ argument [, ...] ] ) AS ( définition_colonne [, ...] )\n"
+#~ "    élément_from [ NATURAL ] type_jointure élément_from [ ON condition_jointure | USING ( colonne_jointure [, ...] ) ]\n"
 #~ "\n"
-#~ "ALTER ROLE nom SET paramètre { TO | = } { valeur | DEFAULT }\n"
-#~ "ALTER ROLE name SET paramètre FROM CURRENT\n"
-#~ "ALTER ROLE nom RESET paramètre\n"
-#~ "ALTER ROLE name RESET ALL"
+#~ "et requête_with est:\n"
+#~ "\n"
+#~ "    nom_requête_with [ ( nom_colonne [, ...] ) ] AS ( select )\n"
+#~ "\n"
+#~ "TABLE { [ ONLY ] nom_table [ * ] | nom_requête_with }"
 
-#~ msgid ""
-#~ "ALTER SCHEMA name RENAME TO newname\n"
-#~ "ALTER SCHEMA name OWNER TO newowner"
-#~ msgstr ""
-#~ "ALTER SCHEMA nom RENAME TO nouveau_nom\n"
-#~ "ALTER SCHEMA nom OWNER TO nouveau_propriétaire"
+#~ msgid "ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] savepoint_name"
+#~ msgstr "ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] nom_retour"
 
-#~ msgid ""
-#~ "ALTER SEQUENCE name [ INCREMENT [ BY ] increment ]\n"
-#~ "    [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ]\n"
-#~ "    [ START [ WITH ] start ]\n"
-#~ "    [ RESTART [ [ WITH ] restart ] ]\n"
-#~ "    [ CACHE cache ] [ [ NO ] CYCLE ]\n"
-#~ "    [ OWNED BY { table.column | NONE } ]\n"
-#~ "ALTER SEQUENCE name OWNER TO new_owner\n"
-#~ "ALTER SEQUENCE name RENAME TO new_name\n"
-#~ "ALTER SEQUENCE name SET SCHEMA new_schema"
-#~ msgstr ""
-#~ "ALTER SEQUENCE nom [ INCREMENT [ BY ] incrément ]\n"
-#~ "    [ MINVALUE valeur_min | NO MINVALUE ] [ MAXVALUE valeur_max | NO MAXVALUE ]\n"
-#~ "    [ START [ WITH ] valeur_début ]\n"
-#~ "    [ RESTART [ [ WITH ] valeur_redémarrage ] ]\n"
-#~ "    [ CACHE cache ] [ [ NO ] CYCLE ]\n"
-#~ "    [ OWNED BY { table.colonne | NONE } ]\n"
-#~ "ALTER SEQUENCE nom OWNER TO new_propriétaire\n"
-#~ "ALTER SEQUENCE nom RENAME TO new_nom\n"
-#~ "ALTER SEQUENCE nom SET SCHEMA new_schéma"
+#~ msgid "ROLLBACK PREPARED transaction_id"
+#~ msgstr "ROLLBACK PREPARED id_transaction"
 
-#~ msgid ""
-#~ "ALTER SERVER servername [ VERSION 'newversion' ]\n"
-#~ "    [ OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] ) ]\n"
-#~ "ALTER SERVER servername OWNER TO new_owner"
-#~ msgstr ""
-#~ "ALTER SERVER nom [ VERSION 'nouvelleversion' ]\n"
-#~ "    [ OPTIONS ( [ ADD | SET | DROP ] option ['valeur'] [, ... ] ) ]\n"
-#~ "ALTER SERVER nom OWNER TO nouveau_propriétaire"
+#~ msgid "ROLLBACK [ WORK | TRANSACTION ]"
+#~ msgstr "ROLLBACK [ WORK | TRANSACTION ]"
 
 #~ msgid ""
-#~ "ALTER TABLE [ ONLY ] name [ * ]\n"
-#~ "    action [, ... ]\n"
-#~ "ALTER TABLE [ ONLY ] name [ * ]\n"
-#~ "    RENAME [ COLUMN ] column TO new_column\n"
-#~ "ALTER TABLE name\n"
-#~ "    RENAME TO new_name\n"
-#~ "ALTER TABLE name\n"
-#~ "    SET SCHEMA new_schema\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }\n"
+#~ "    [,...] | ALL [ PRIVILEGES ] }\n"
+#~ "    ON [ TABLE ] tablename [, ...]\n"
+#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
 #~ "\n"
-#~ "where action is one of:\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { { SELECT | INSERT | UPDATE | REFERENCES } ( column [, ...] )\n"
+#~ "    [,...] | ALL [ PRIVILEGES ] ( column [, ...] ) }\n"
+#~ "    ON [ TABLE ] tablename [, ...]\n"
+#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
 #~ "\n"
-#~ "    ADD [ COLUMN ] column type [ column_constraint [ ... ] ]\n"
-#~ "    DROP [ COLUMN ] column [ RESTRICT | CASCADE ]\n"
-#~ "    ALTER [ COLUMN ] column [ SET DATA ] TYPE type [ USING expression ]\n"
-#~ "    ALTER [ COLUMN ] column SET DEFAULT expression\n"
-#~ "    ALTER [ COLUMN ] column DROP DEFAULT\n"
-#~ "    ALTER [ COLUMN ] column { SET | DROP } NOT NULL\n"
-#~ "    ALTER [ COLUMN ] column SET STATISTICS integer\n"
-#~ "    ALTER [ COLUMN ] column SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }\n"
-#~ "    ADD table_constraint\n"
-#~ "    DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]\n"
-#~ "    DISABLE TRIGGER [ trigger_name | ALL | USER ]\n"
-#~ "    ENABLE TRIGGER [ trigger_name | ALL | USER ]\n"
-#~ "    ENABLE REPLICA TRIGGER trigger_name\n"
-#~ "    ENABLE ALWAYS TRIGGER trigger_name\n"
-#~ "    DISABLE RULE rewrite_rule_name\n"
-#~ "    ENABLE RULE rewrite_rule_name\n"
-#~ "    ENABLE REPLICA RULE rewrite_rule_name\n"
-#~ "    ENABLE ALWAYS RULE rewrite_rule_name\n"
-#~ "    CLUSTER ON index_name\n"
-#~ "    SET WITHOUT CLUSTER\n"
-#~ "    SET WITH OIDS\n"
-#~ "    SET WITHOUT OIDS\n"
-#~ "    SET ( storage_parameter = value [, ... ] )\n"
-#~ "    RESET ( storage_parameter [, ... ] )\n"
-#~ "    INHERIT parent_table\n"
-#~ "    NO INHERIT parent_table\n"
-#~ "    OWNER TO new_owner\n"
-#~ "    SET TABLESPACE new_tablespace"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { { USAGE | SELECT | UPDATE }\n"
+#~ "    [,...] | ALL [ PRIVILEGES ] }\n"
+#~ "    ON SEQUENCE sequencename [, ...]\n"
+#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }\n"
+#~ "    ON DATABASE dbname [, ...]\n"
+#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { USAGE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON FOREIGN DATA WRAPPER fdwname [, ...]\n"
+#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { USAGE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON FOREIGN SERVER servername [, ...]\n"
+#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { EXECUTE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON FUNCTION funcname ( [ [ argmode ] [ argname ] argtype [, ...] ] ) [, ...]\n"
+#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { USAGE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON LANGUAGE langname [, ...]\n"
+#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }\n"
+#~ "    ON SCHEMA schemaname [, ...]\n"
+#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { CREATE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON TABLESPACE tablespacename [, ...]\n"
+#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "\n"
+#~ "REVOKE [ ADMIN OPTION FOR ]\n"
+#~ "    role [, ...] FROM rolename [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]"
 #~ msgstr ""
-#~ "ALTER TABLE [ ONLY ] nom [ * ]\n"
-#~ "    action [, ... ]\n"
-#~ "ALTER TABLE [ ONLY ] nom [ * ]\n"
-#~ "    RENAME [ COLUMN ] colonne TO nouvelle_colonne\n"
-#~ "ALTER TABLE nom\n"
-#~ "    RENAME TO nouveau_nom\n"
-#~ "ALTER TABLE nom\n"
-#~ "    SET SCHEMA nouveau_schema\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }\n"
+#~ "    [,...] | ALL [ PRIVILEGES ] }\n"
+#~ "    ON [ TABLE ] nom_table [, ...]\n"
+#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
 #~ "\n"
-#~ "où action peut être :\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { { SELECT | INSERT | UPDATE | REFERENCES } ( colonne [, ...] )\n"
+#~ "    [,...] | ALL [ PRIVILEGES ] ( colonne [, ...] ) }\n"
+#~ "    ON [ TABLE ] nom_table [, ...]\n"
+#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
 #~ "\n"
-#~ "    ADD [ COLUMN ] colonne type [ contrainte_colonne [ ... ] ]\n"
-#~ "    DROP [ COLUMN ] colonne [ RESTRICT | CASCADE ]\n"
-#~ "    ALTER [ COLUMN ] colonne [ SET DATA ] TYPE type [ USING expression ]\n"
-#~ "    ALTER [ COLUMN ] colonne SET DEFAULT expression\n"
-#~ "    ALTER [ COLUMN ] colonne DROP DEFAULT\n"
-#~ "    ALTER [ COLUMN ] colonne { SET | DROP } NOT NULL\n"
-#~ "    ALTER [ COLUMN ] colonne SET STATISTICS entier\n"
-#~ "    ALTER [ COLUMN ] colonne SET STORAGE\n"
-#~ "        { PLAIN | EXTERNAL | EXTENDED | MAIN }\n"
-#~ "    ADD contrainte_table\n"
-#~ "    DROP CONSTRAINT nom_contrainte [ RESTRICT | CASCADE ]\n"
-#~ "    DISABLE TRIGGER [ nom_trigger | ALL | USER ]\n"
-#~ "    ENABLE TRIGGER [ nom_trigger | ALL | USER ]\n"
-#~ "    ENABLE REPLICA TRIGGER nom_trigger\n"
-#~ "    ENABLE ALWAYS TRIGGER nom_trigger\n"
-#~ "    DISABLE RULE nom_règle_réécriture\n"
-#~ "    ENABLE RULE nom_règle_réécriture\n"
-#~ "    ENABLE REPLICA RULE nom_règle_réécriture\n"
-#~ "    ENABLE ALWAYS RULE nom_règle_réécriture\n"
-#~ "    CLUSTER ON nom_index\n"
-#~ "    SET WITHOUT CLUSTER\n"
-#~ "    SET WITH OIDS\n"
-#~ "    SET WITHOUT OIDS\n"
-#~ "    SET ( paramètre_stockage = valeur [, ... ] )\n"
-#~ "    RESET ( paramètre_stockage [, ... ] )\n"
-#~ "    INHERIT table_parent\n"
-#~ "    NO INHERIT table_parent\n"
-#~ "    OWNER TO nouveau_propriétaire\n"
-#~ "    SET TABLESPACE nouveau_tablespace"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { { USAGE | SELECT | UPDATE }\n"
+#~ "    [,...] | ALL [ PRIVILEGES ] }\n"
+#~ "    ON SEQUENCE nom_séquence [, ...]\n"
+#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }\n"
+#~ "    ON DATABASE nom_base [, ...]\n"
+#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { USAGE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON FOREIGN DATA WRAPPER nom_fdw [, ...]\n"
+#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { USAGE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON FOREIGN SERVER nom_serveur [, ...]\n"
+#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { EXECUTE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON FUNCTION nom_fonction ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] ) [, ...]\n"
+#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { USAGE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON LANGUAGE nom_langage [, ...]\n"
+#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }\n"
+#~ "    ON SCHEMA nom_schéma [, ...]\n"
+#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "\n"
+#~ "REVOKE [ GRANT OPTION FOR ]\n"
+#~ "    { CREATE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON TABLESPACE nom_tablespace [, ...]\n"
+#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "\n"
+#~ "REVOKE [ ADMIN OPTION FOR ]\n"
+#~ "    role [, ...] FROM nom_rôle [, ...]\n"
+#~ "    [ CASCADE | RESTRICT ]"
 
-#~ msgid ""
-#~ "ALTER TABLESPACE name RENAME TO newname\n"
-#~ "ALTER TABLESPACE name OWNER TO newowner"
-#~ msgstr ""
-#~ "ALTER TABLESPACE nom RENAME TO nouveau_nom\n"
-#~ "ALTER TABLESPACE nom OWNER TO nouveau_propriétaire"
+#~ msgid "RELEASE [ SAVEPOINT ] savepoint_name"
+#~ msgstr "RELEASE [ SAVEPOINT ] nom_retour"
 
-#~ msgid ""
-#~ "ALTER TEXT SEARCH CONFIGURATION name\n"
-#~ "    ADD MAPPING FOR token_type [, ... ] WITH dictionary_name [, ... ]\n"
-#~ "ALTER TEXT SEARCH CONFIGURATION name\n"
-#~ "    ALTER MAPPING FOR token_type [, ... ] WITH dictionary_name [, ... ]\n"
-#~ "ALTER TEXT SEARCH CONFIGURATION name\n"
-#~ "    ALTER MAPPING REPLACE old_dictionary WITH new_dictionary\n"
-#~ "ALTER TEXT SEARCH CONFIGURATION name\n"
-#~ "    ALTER MAPPING FOR token_type [, ... ] REPLACE old_dictionary WITH new_dictionary\n"
-#~ "ALTER TEXT SEARCH CONFIGURATION name\n"
-#~ "    DROP MAPPING [ IF EXISTS ] FOR token_type [, ... ]\n"
-#~ "ALTER TEXT SEARCH CONFIGURATION name RENAME TO newname\n"
-#~ "ALTER TEXT SEARCH CONFIGURATION name OWNER TO newowner"
-#~ msgstr ""
-#~ "ALTER TEXT SEARCH CONFIGURATION nom\n"
-#~ "    ADD MAPPING FOR type_jeton [, ... ] WITH nom_dictionnaire [, ... ]\n"
-#~ "ALTER TEXT SEARCH CONFIGURATION nom\n"
-#~ "    ALTER MAPPING FOR type_jeton [, ... ] WITH nom_dictionnaire [, ... ]\n"
-#~ "ALTER TEXT SEARCH CONFIGURATION nom\n"
-#~ "    ALTER MAPPING REPLACE ancien_dictionnaire WITH nouveau_dictionnaire\n"
-#~ "ALTER TEXT SEARCH CONFIGURATION nom\n"
-#~ "    ALTER MAPPING FOR type_jeton [, ... ]\n"
-#~ "    REPLACE ancien_dictionnaire WITH nouveau_dictionnaire\n"
-#~ "ALTER TEXT SEARCH CONFIGURATION nom\n"
-#~ "    DROP MAPPING [ IF EXISTS ] FOR type_jeton [, ... ]\n"
-#~ "ALTER TEXT SEARCH CONFIGURATION nom RENAME TO nouveau_nom\n"
-#~ "ALTER TEXT SEARCH CONFIGURATION nom OWNER TO nouveau_propriétaire"
+#~ msgid "REINDEX { INDEX | TABLE | DATABASE | SYSTEM } name [ FORCE ]"
+#~ msgstr "REINDEX { INDEX | TABLE | DATABASE | SYSTEM } nom [ FORCE ]"
 
-#~ msgid ""
-#~ "ALTER TEXT SEARCH DICTIONARY name (\n"
-#~ "    option [ = value ] [, ... ]\n"
-#~ ")\n"
-#~ "ALTER TEXT SEARCH DICTIONARY name RENAME TO newname\n"
-#~ "ALTER TEXT SEARCH DICTIONARY name OWNER TO newowner"
-#~ msgstr ""
-#~ "ALTER TEXT SEARCH DICTIONARY nom (\n"
-#~ "    option [ = valeur ] [, ... ]\n"
-#~ ")\n"
-#~ "ALTER TEXT SEARCH DICTIONARY nom RENAME TO nouveau_nom\n"
-#~ "ALTER TEXT SEARCH DICTIONARY nom OWNER TO nouveau_propriétaire"
+#~ msgid "REASSIGN OWNED BY old_role [, ...] TO new_role"
+#~ msgstr "REASSIGN OWNED BY ancien_role [, ...] TO nouveau_role"
 
-#~ msgid "ALTER TEXT SEARCH PARSER name RENAME TO newname"
-#~ msgstr "ALTER TEXT SEARCH PARSER nom RENAME TO nouveau_nom"
+#~ msgid "PREPARE TRANSACTION transaction_id"
+#~ msgstr "PREPARE TRANSACTION id_transaction"
 
-#~ msgid "ALTER TEXT SEARCH TEMPLATE name RENAME TO newname"
-#~ msgstr "ALTER TEXT SEARCH TEMPLATE nom RENAME TO nouveau_nom"
+#~ msgid "PREPARE name [ ( datatype [, ...] ) ] AS statement"
+#~ msgstr "PREPARE nom_plan [ ( type_données [, ...] ) ] AS instruction"
 
-#~ msgid "ALTER TRIGGER name ON table RENAME TO newname"
-#~ msgstr "ALTER TRIGGER nom ON table RENAME TO nouveau_nom"
+#~ msgid "NOTIFY name"
+#~ msgstr "NOTIFY nom"
 
-#~ msgid ""
-#~ "ALTER TYPE name RENAME TO new_name\n"
-#~ "ALTER TYPE name OWNER TO new_owner \n"
-#~ "ALTER TYPE name SET SCHEMA new_schema"
-#~ msgstr ""
-#~ "ALTER TYPE nom RENAME TO nouveau_nom\n"
-#~ "ALTER TYPE nom OWNER TO nouveau_propriétaire\n"
-#~ "ALTER TYPE nom SET SCHEMA nouveau_schéma"
+#~ msgid "MOVE [ direction { FROM | IN } ] cursorname"
+#~ msgstr "MOVE [ direction { FROM | IN } ] nom_de_curseur"
 
 #~ msgid ""
-#~ "ALTER USER name [ [ WITH ] option [ ... ] ]\n"
-#~ "\n"
-#~ "where option can be:\n"
-#~ "    \n"
-#~ "      SUPERUSER | NOSUPERUSER\n"
-#~ "    | CREATEDB | NOCREATEDB\n"
-#~ "    | CREATEROLE | NOCREATEROLE\n"
-#~ "    | CREATEUSER | NOCREATEUSER\n"
-#~ "    | INHERIT | NOINHERIT\n"
-#~ "    | LOGIN | NOLOGIN\n"
-#~ "    | CONNECTION LIMIT connlimit\n"
-#~ "    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'\n"
-#~ "    | VALID UNTIL 'timestamp' \n"
+#~ "LOCK [ TABLE ] [ ONLY ] name [, ...] [ IN lockmode MODE ] [ NOWAIT ]\n"
 #~ "\n"
-#~ "ALTER USER name RENAME TO newname\n"
+#~ "where lockmode is one of:\n"
 #~ "\n"
-#~ "ALTER USER name SET configuration_parameter { TO | = } { value | DEFAULT }\n"
-#~ "ALTER USER name SET configuration_parameter FROM CURRENT\n"
-#~ "ALTER USER name RESET configuration_parameter\n"
-#~ "ALTER USER name RESET ALL"
+#~ "    ACCESS SHARE | ROW SHARE | ROW EXCLUSIVE | SHARE UPDATE EXCLUSIVE\n"
+#~ "    | SHARE | SHARE ROW EXCLUSIVE | EXCLUSIVE | ACCESS EXCLUSIVE"
 #~ msgstr ""
-#~ "ALTER USER nom [ [ WITH ] option [ ... ] ]\n"
+#~ "LOCK [ TABLE ] [ ONLY ] nom [, ...] [ IN mode_verrouillage MODE ] [ NOWAIT ]\n"
 #~ "\n"
-#~ "où option peut être :\n"
-#~ "    \n"
-#~ "      SUPERUSER | NOSUPERUSER\n"
-#~ "    | CREATEDB | NOCREATEDB\n"
-#~ "    | CREATEROLE | NOCREATEROLE\n"
-#~ "    | CREATEUSER | NOCREATEUSER\n"
-#~ "    | INHERIT | NOINHERIT\n"
-#~ "    | LOGIN | NOLOGIN\n"
-#~ "    | CONNECTION LIMIT limite_connexion\n"
-#~ "    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'motdepasse'\n"
-#~ "    | VALID UNTIL 'timestamp' \n"
-#~ "\n"
-#~ "ALTER USER nom RENAME TO nouveau_nom\n"
+#~ "avec mode_verrouillage parmi :\n"
 #~ "\n"
-#~ "ALTER USER nom SET paramètre { TO | = } { valeur | DEFAULT }\n"
-#~ "ALTER USER name SET paramètre FROM CURRENT\n"
-#~ "ALTER USER nom RESET paramètre\n"
-#~ "ALTER USER name RESET ALL"
+#~ "    ACCESS SHARE | ROW SHARE | ROW EXCLUSIVE | SHARE UPDATE EXCLUSIVE\n"
+#~ "    | SHARE | SHARE ROW EXCLUSIVE | EXCLUSIVE | ACCESS EXCLUSIVE"
+
+#~ msgid "LOAD 'filename'"
+#~ msgstr "LOAD 'nom_de_fichier'"
+
+#~ msgid "LISTEN name"
+#~ msgstr "LISTEN nom"
 
 #~ msgid ""
-#~ "ALTER USER MAPPING FOR { username | USER | CURRENT_USER | PUBLIC }\n"
-#~ "    SERVER servername\n"
-#~ "    OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )"
+#~ "INSERT INTO table [ ( column [, ...] ) ]\n"
+#~ "    { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query }\n"
+#~ "    [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]"
 #~ msgstr ""
-#~ "ALTER USER MAPPING FOR { nom_utilisateur | USER | CURRENT_USER | PUBLIC }\n"
-#~ "    SERVER nom_serveur\n"
-#~ "    OPTIONS ( [ ADD | SET | DROP ] option ['valeur'] [, ... ] )"
+#~ "INSERT INTO table [ ( colonne [, ...] ) ]\n"
+#~ "    { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | requête }\n"
+#~ "    [ RETURNING * | expression_sortie [ [ AS ] nom_sortie ] [, ...] ]"
 
 #~ msgid ""
-#~ "ALTER VIEW name ALTER [ COLUMN ] column SET DEFAULT expression\n"
-#~ "ALTER VIEW name ALTER [ COLUMN ] column DROP DEFAULT\n"
-#~ "ALTER VIEW name OWNER TO new_owner\n"
-#~ "ALTER VIEW name RENAME TO new_name\n"
-#~ "ALTER VIEW name SET SCHEMA new_schema"
+#~ "GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }\n"
+#~ "    [,...] | ALL [ PRIVILEGES ] }\n"
+#~ "    ON [ TABLE ] tablename [, ...]\n"
+#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { { SELECT | INSERT | UPDATE | REFERENCES } ( column [, ...] )\n"
+#~ "    [,...] | ALL [ PRIVILEGES ] ( column [, ...] ) }\n"
+#~ "    ON [ TABLE ] tablename [, ...]\n"
+#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { { USAGE | SELECT | UPDATE }\n"
+#~ "    [,...] | ALL [ PRIVILEGES ] }\n"
+#~ "    ON SEQUENCE sequencename [, ...]\n"
+#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }\n"
+#~ "    ON DATABASE dbname [, ...]\n"
+#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON FOREIGN DATA WRAPPER fdwname [, ...]\n"
+#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON FOREIGN SERVER servername [, ...]\n"
+#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { EXECUTE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON FUNCTION funcname ( [ [ argmode ] [ argname ] argtype [, ...] ] ) [, ...]\n"
+#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON LANGUAGE langname [, ...]\n"
+#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }\n"
+#~ "    ON SCHEMA schemaname [, ...]\n"
+#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { CREATE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON TABLESPACE tablespacename [, ...]\n"
+#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT role [, ...] TO rolename [, ...] [ WITH ADMIN OPTION ]"
 #~ msgstr ""
-#~ "ALTER VIEW nom ALTER [ COLUMN ] colonne SET DEFAULT expression\n"
-#~ "ALTER VIEW nom ALTER [ COLUMN ] colonne DROP DEFAULT\n"
-#~ "ALTER VIEW nom OWNER TO nouveau_propriétaire\n"
-#~ "ALTER VIEW nom RENAME TO nouveau_nom\n"
-#~ "ALTER VIEW nom SET SCHEMA nouveau_schéma"
-
-#~ msgid "ANALYZE [ VERBOSE ] [ table [ ( column [, ...] ) ] ]"
-#~ msgstr "ANALYZE [ VERBOSE ] [ table [ ( colonne [, ...] ) ] ]"
+#~ "GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }\n"
+#~ "    [,...] | ALL [ PRIVILEGES ] }\n"
+#~ "    ON [ TABLE ] nom_table [, ...]\n"
+#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { { SELECT | INSERT | UPDATE | REFERENCES } ( colonne [, ...] )\n"
+#~ "    [,...] | ALL [ PRIVILEGES ] ( colonne [, ...] ) }\n"
+#~ "    ON [ TABLE ] nom_table [, ...]\n"
+#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { { USAGE | SELECT | UPDATE }\n"
+#~ "    [,...] | ALL [ PRIVILEGES ] }\n"
+#~ "    ON SEQUENCE nom_séquence [, ...]\n"
+#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }\n"
+#~ "    ON DATABASE nom_base [, ...]\n"
+#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON FOREIGN DATA WRAPPER nomfdw [, ...]\n"
+#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON FOREIGN SERVER nom_serveur [, ...]\n"
+#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { EXECUTE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON FUNCTION nom_fonction ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] ) [, ...]\n"
+#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON LANGUAGE nom_langage [, ...]\n"
+#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }\n"
+#~ "    ON SCHEMA nom_schéma [, ...]\n"
+#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT { CREATE | ALL [ PRIVILEGES ] }\n"
+#~ "    ON TABLESPACE nom_tablespace [, ...]\n"
+#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
+#~ "\n"
+#~ "GRANT rôle [, ...] TO nom_rôle [, ...] [ WITH ADMIN OPTION ]"
 
 #~ msgid ""
-#~ "BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]\n"
+#~ "FETCH [ direction { FROM | IN } ] cursorname\n"
 #~ "\n"
-#~ "where transaction_mode is one of:\n"
+#~ "where direction can be empty or one of:\n"
 #~ "\n"
-#~ "    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }\n"
-#~ "    READ WRITE | READ ONLY"
+#~ "    NEXT\n"
+#~ "    PRIOR\n"
+#~ "    FIRST\n"
+#~ "    LAST\n"
+#~ "    ABSOLUTE count\n"
+#~ "    RELATIVE count\n"
+#~ "    count\n"
+#~ "    ALL\n"
+#~ "    FORWARD\n"
+#~ "    FORWARD count\n"
+#~ "    FORWARD ALL\n"
+#~ "    BACKWARD\n"
+#~ "    BACKWARD count\n"
+#~ "    BACKWARD ALL"
 #~ msgstr ""
-#~ "BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]\n"
+#~ "FETCH [ direction { FROM | IN } ] nom_curseur\n"
 #~ "\n"
-#~ "où transaction_mode peut être :\n"
+#~ "sans préciser de direction ou en choissant une des directions suivantes :\n"
 #~ "\n"
-#~ "    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ |\n"
-#~ "                      READ COMMITTED | READ UNCOMMITTED }\n"
-#~ "    READ WRITE | READ ONLY"
+#~ "    NEXT\n"
+#~ "    PRIOR\n"
+#~ "    FIRST\n"
+#~ "    LAST\n"
+#~ "    ABSOLUTE nombre\n"
+#~ "    RELATIVE nombre\n"
+#~ "    count\n"
+#~ "    ALL\n"
+#~ "    FORWARD\n"
+#~ "    FORWARD nombre\n"
+#~ "    FORWARD ALL\n"
+#~ "    BACKWARD\n"
+#~ "    BACKWARD nombre\n"
+#~ "    BACKWARD ALL"
 
-#~ msgid "CHECKPOINT"
-#~ msgstr "CHECKPOINT"
+#~ msgid "EXPLAIN [ ANALYZE ] [ VERBOSE ] statement"
+#~ msgstr "EXPLAIN [ ANALYZE ] [ VERBOSE ] instruction"
 
-#~ msgid "CLOSE { name | ALL }"
-#~ msgstr "CLOSE { nom | ALL }"
+#~ msgid "EXECUTE name [ ( parameter [, ...] ) ]"
+#~ msgstr "EXECUTE nom_plan [ ( paramètre [, ...] ) ]"
 
-#~ msgid ""
-#~ "CLUSTER [VERBOSE] tablename [ USING indexname ]\n"
-#~ "CLUSTER [VERBOSE]"
+#~ msgid "END [ WORK | TRANSACTION ]"
+#~ msgstr "END [ WORK | TRANSACTION ]"
+
+#~ msgid "DROP VIEW [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP VIEW [IF EXISTS ] nom [, ...] [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP USER MAPPING [ IF EXISTS ] FOR { username | USER | CURRENT_USER | PUBLIC } SERVER servername"
+#~ msgstr "DROP USER MAPPING [ IF EXISTS ] FOR { nomutilisateur | USER | CURRENT_USER | PUBLIC } SERVER nomserveur"
+
+#~ msgid "DROP USER [ IF EXISTS ] name [, ...]"
+#~ msgstr "DROP USER [IF EXISTS ] nom [, ...]"
+
+#~ msgid "DROP TYPE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP TYPE [IF EXISTS ] nom [, ...] [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP TRIGGER [ IF EXISTS ] name ON table [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP TRIGGER [IF EXISTS ] nom ON table [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP TEXT SEARCH TEMPLATE [ IF EXISTS ] name [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP TEXT SEARCH TEMPLATE [ IF EXISTS ] nom [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP TEXT SEARCH PARSER [ IF EXISTS ] name [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP TEXT SEARCH PARSER [ IF EXISTS ] nom [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP TEXT SEARCH DICTIONARY [ IF EXISTS ] name [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP TEXT SEARCH DICTIONARY [ IF EXISTS ] nom [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP TEXT SEARCH CONFIGURATION [ IF EXISTS ] name [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP TEXT SEARCH CONFIGURATION [ IF EXISTS ] nom [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP TABLESPACE [ IF EXISTS ] tablespacename"
+#~ msgstr "DROP TABLESPACE [IF EXISTS ] nom_tablespace"
+
+#~ msgid "DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP TABLE [IF EXISTS ] nom [, ...] [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP SERVER [ IF EXISTS ] servername [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP SERVER [ IF EXISTS ] nom [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP SEQUENCE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP SEQUENCE [IF EXISTS ] nom [, ...] [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP SCHEMA [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP SCHEMA [IF EXISTS ] nom [, ...] [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP RULE [ IF EXISTS ] name ON relation [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP RULE [IF EXISTS ] nom ON relation [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP ROLE [ IF EXISTS ] name [, ...]"
+#~ msgstr "DROP ROLE [IF EXISTS ] nom [, ...]"
+
+#~ msgid "DROP OWNED BY name [, ...] [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP OWNED BY nom [, ...] [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP OPERATOR FAMILY [ IF EXISTS ] name USING index_method [ CASCADE | RESTRICT ]"
 #~ msgstr ""
-#~ "CLUSTER [VERBOSE] nom_table [ USING nom_index ]\n"
-#~ "CLUSTER [VERBOSE]"
+#~ "DROP OPERATOR FAMILY [IF EXISTS ] nom\n"
+#~ "  USING méthode_indexage [ CASCADE | RESTRICT ]"
 
-#~ msgid ""
-#~ "COMMENT ON\n"
-#~ "{\n"
-#~ "  TABLE object_name |\n"
-#~ "  COLUMN table_name.column_name |\n"
-#~ "  AGGREGATE agg_name (agg_type [, ...] ) |\n"
-#~ "  CAST (sourcetype AS targettype) |\n"
-#~ "  CONSTRAINT constraint_name ON table_name |\n"
-#~ "  CONVERSION object_name |\n"
-#~ "  DATABASE object_name |\n"
-#~ "  DOMAIN object_name |\n"
-#~ "  FUNCTION func_name ( [ [ argmode ] [ argname ] argtype [, ...] ] ) |\n"
-#~ "  INDEX object_name |\n"
-#~ "  LARGE OBJECT large_object_oid |\n"
-#~ "  OPERATOR op (leftoperand_type, rightoperand_type) |\n"
-#~ "  OPERATOR CLASS object_name USING index_method |\n"
-#~ "  OPERATOR FAMILY object_name USING index_method |\n"
-#~ "  [ PROCEDURAL ] LANGUAGE object_name |\n"
-#~ "  ROLE object_name |\n"
-#~ "  RULE rule_name ON table_name |\n"
-#~ "  SCHEMA object_name |\n"
-#~ "  SEQUENCE object_name |\n"
-#~ "  TABLESPACE object_name |\n"
-#~ "  TEXT SEARCH CONFIGURATION object_name |\n"
-#~ "  TEXT SEARCH DICTIONARY object_name |\n"
-#~ "  TEXT SEARCH PARSER object_name |\n"
-#~ "  TEXT SEARCH TEMPLATE object_name |\n"
-#~ "  TRIGGER trigger_name ON table_name |\n"
-#~ "  TYPE object_name |\n"
-#~ "  VIEW object_name\n"
-#~ "} IS 'text'"
+#~ msgid "DROP OPERATOR CLASS [ IF EXISTS ] name USING index_method [ CASCADE | RESTRICT ]"
 #~ msgstr ""
-#~ "COMMENT ON\n"
-#~ "{\n"
-#~ "  TABLE nom_objet |\n"
-#~ "  COLUMN nom_table.nom_colonne |\n"
-#~ "  AGGREGATE nom_agg (type_agg [, ...] ) |\n"
-#~ "  CAST (type_source AS type_cible) |\n"
-#~ "  CONSTRAINT nom_contrainte ON nom_table |\n"
-#~ "  CONVERSION nom_objet |\n"
-#~ "  DATABASE nom_objet |\n"
-#~ "  DOMAIN nom_objet |\n"
-#~ "  FUNCTION nom_fonction ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] ) |\n"
-#~ "  INDEX nom_objet |\n"
-#~ "  LARGE OBJECT oid_LO |\n"
-#~ "  OPERATOR op (type_operande_gauche, type_operande_droit) |\n"
-#~ "  OPERATOR CLASS nom_objet USING methode_indexage |\n"
-#~ "  OPERATOR FAMILY nom_objet USING methode_indexage |\n"
-#~ "  [ PROCEDURAL ] LANGUAGE nom_objet |\n"
-#~ "  ROLE nom_objet |\n"
-#~ "  RULE nom_regle ON nom_table |\n"
-#~ "  SCHEMA nom_objet |\n"
-#~ "  SEQUENCE nom_objet |\n"
-#~ "  TABLESPACE nom_objet |\n"
-#~ "  TEXT SEARCH CONFIGURATION nom_objet |\n"
-#~ "  TEXT SEARCH DICTIONARY nom_objet |\n"
-#~ "  TEXT SEARCH PARSER nom_objet |\n"
-#~ "  TEXT SEARCH TEMPLATE nom_objet |\n"
-#~ "  TRIGGER nom_trigger ON nom_objet |\n"
-#~ "  TYPE nom_objet |\n"
-#~ "  VIEW nom_objet\n"
-#~ "} IS 'text'"
+#~ "DROP OPERATOR CLASS [IF EXISTS ] nom\n"
+#~ "    USING méthode_indexage [ CASCADE | RESTRICT ]"
 
-#~ msgid "COMMIT [ WORK | TRANSACTION ]"
-#~ msgstr "COMMIT [ WORK | TRANSACTION ]"
+#~ msgid "DROP OPERATOR [ IF EXISTS ] name ( { lefttype | NONE } , { righttype | NONE } ) [ CASCADE | RESTRICT ]"
+#~ msgstr ""
+#~ "DROP OPERATOR [IF EXISTS ] nom\n"
+#~ "  ( { type_gauche | NONE } , { type_droit | NONE } )\n"
+#~ "  [ CASCADE | RESTRICT ]"
 
-#~ msgid "COMMIT PREPARED transaction_id"
-#~ msgstr "COMMIT PREPARED id_transaction"
+#~ msgid "DROP [ PROCEDURAL ] LANGUAGE [ IF EXISTS ] name [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP [ PROCEDURAL ] LANGUAGE [IF EXISTS ] nom [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP INDEX [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP INDEX [IF EXISTS ] nom [, ...] [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP GROUP [ IF EXISTS ] name [, ...]"
+#~ msgstr "DROP GROUP [IF EXISTS ] nom [, ...]"
 
 #~ msgid ""
-#~ "COPY tablename [ ( column [, ...] ) ]\n"
-#~ "    FROM { 'filename' | STDIN }\n"
-#~ "    [ [ WITH ] \n"
-#~ "          [ BINARY ]\n"
-#~ "          [ OIDS ]\n"
-#~ "          [ DELIMITER [ AS ] 'delimiter' ]\n"
-#~ "          [ NULL [ AS ] 'null string' ]\n"
-#~ "          [ CSV [ HEADER ]\n"
-#~ "                [ QUOTE [ AS ] 'quote' ] \n"
-#~ "                [ ESCAPE [ AS ] 'escape' ]\n"
-#~ "                [ FORCE NOT NULL column [, ...] ]\n"
-#~ "\n"
-#~ "COPY { tablename [ ( column [, ...] ) ] | ( query ) }\n"
-#~ "    TO { 'filename' | STDOUT }\n"
-#~ "    [ [ WITH ] \n"
-#~ "          [ BINARY ]\n"
-#~ "          [ OIDS ]\n"
-#~ "          [ DELIMITER [ AS ] 'delimiter' ]\n"
-#~ "          [ NULL [ AS ] 'null string' ]\n"
-#~ "          [ CSV [ HEADER ]\n"
-#~ "                [ QUOTE [ AS ] 'quote' ] \n"
-#~ "                [ ESCAPE [ AS ] 'escape' ]\n"
-#~ "                [ FORCE QUOTE column [, ...] ]"
+#~ "DROP FUNCTION [ IF EXISTS ] name ( [ [ argmode ] [ argname ] argtype [, ...] ] )\n"
+#~ "    [ CASCADE | RESTRICT ]"
 #~ msgstr ""
-#~ "COPY nom_table [ ( colonne [, ...] ) ]\n"
-#~ "    FROM { 'nom_fichier' | STDIN }\n"
-#~ "    [ [ WITH ] \n"
-#~ "          [ BINARY ]\n"
-#~ "          [ OIDS ]\n"
-#~ "          [ DELIMITER [ AS ] 'délimiteur' ]\n"
-#~ "          [ NULL [ AS ] 'chaîne null' ]\n"
-#~ "          [ CSV [ HEADER ]\n"
-#~ "                [ QUOTE [ AS ] 'guillemet' ] \n"
-#~ "                [ ESCAPE [ AS ] 'échappement' ]\n"
-#~ "                [ FORCE NOT NULL colonne [, ...] ]\n"
-#~ "\n"
-#~ "COPY { nom_table [ ( colonne [, ...] ) ] | ( requête ) }\n"
-#~ "    TO { 'nom_fichier' | STDOUT }\n"
-#~ "    [ [ WITH ] \n"
-#~ "          [ BINARY ]\n"
-#~ "          [ OIDS ]\n"
-#~ "          [ DELIMITER [ AS ] 'délimiteur' ]\n"
-#~ "          [ NULL [ AS ] 'chaîne null' ]\n"
-#~ "          [ CSV [ HEADER ]\n"
-#~ "                [ QUOTE [ AS ] 'guillemet' ] \n"
-#~ "                [ ESCAPE [ AS ] 'échappement' ]\n"
-#~ "                [ FORCE QUOTE colonne [, ...] ]"
+#~ "DROP FUNCTION [IF EXISTS ] nom\n"
+#~ "    ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] )\n"
+#~ "    [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP FOREIGN DATA WRAPPER [ IF EXISTS ] name [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP FOREIGN DATA WRAPPER [ IF EXISTS ] nom [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP DOMAIN [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP DOMAIN [ IF EXISTS ] nom [, ...]  [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP DATABASE [ IF EXISTS ] name"
+#~ msgstr "DROP DATABASE [ IF EXISTS ] nom"
+
+#~ msgid "DROP CONVERSION [ IF EXISTS ] name [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP CONVERSION [ IF EXISTS ] nom [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP CAST [ IF EXISTS ] (sourcetype AS targettype) [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP CAST [ IF EXISTS ] (type_source AS type_cible) [ CASCADE | RESTRICT ]"
+
+#~ msgid "DROP AGGREGATE [ IF EXISTS ] name ( type [ , ... ] ) [ CASCADE | RESTRICT ]"
+#~ msgstr "DROP AGGREGATE [ IF EXISTS ] nom ( type [ , ... ] ) [ CASCADE | RESTRICT ]"
+
+#~ msgid "DISCARD { ALL | PLANS | TEMPORARY | TEMP }"
+#~ msgstr "DISCARD { ALL | PLANS | TEMPORARY | TEMP }"
 
 #~ msgid ""
-#~ "CREATE AGGREGATE name ( input_data_type [ , ... ] ) (\n"
-#~ "    SFUNC = sfunc,\n"
-#~ "    STYPE = state_data_type\n"
-#~ "    [ , FINALFUNC = ffunc ]\n"
-#~ "    [ , INITCOND = initial_condition ]\n"
-#~ "    [ , SORTOP = sort_operator ]\n"
-#~ ")\n"
-#~ "\n"
-#~ "or the old syntax\n"
-#~ "\n"
-#~ "CREATE AGGREGATE name (\n"
-#~ "    BASETYPE = base_type,\n"
-#~ "    SFUNC = sfunc,\n"
-#~ "    STYPE = state_data_type\n"
-#~ "    [ , FINALFUNC = ffunc ]\n"
-#~ "    [ , INITCOND = initial_condition ]\n"
-#~ "    [ , SORTOP = sort_operator ]\n"
-#~ ")"
+#~ "DELETE FROM [ ONLY ] table [ [ AS ] alias ]\n"
+#~ "    [ USING usinglist ]\n"
+#~ "    [ WHERE condition | WHERE CURRENT OF cursor_name ]\n"
+#~ "    [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]"
 #~ msgstr ""
-#~ "CREATE AGGREGATE nom ( type_données_en_entrée [ , ... ] ) (\n"
-#~ "    SFUNC = sfonction,\n"
-#~ "    STYPE = type_données_état\n"
-#~ "    [ , FINALFUNC = fonction_f ]\n"
-#~ "    [ , INITCOND = condition_initiale ]\n"
-#~ "    [ , SORTOP = opérateur_tri ]\n"
-#~ ")\n"
-#~ "\n"
-#~ "ou l'ancienne syntaxe\n"
-#~ "\n"
-#~ "CREATE AGGREGATE nom (\n"
-#~ "    BASETYPE = type_base,\n"
-#~ "    SFUNC = fonction_s,\n"
-#~ "    STYPE = type_données_état\n"
-#~ "    [ , FINALFUNC = fonction_f ]\n"
-#~ "    [ , INITCOND = condition_initiale ]\n"
-#~ "    [ , SORTOP = opérateur_tri ]\n"
-#~ ")"
+#~ "DELETE FROM [ ONLY ] table [ [ AS ] alias ]\n"
+#~ "    [ USING liste_using ]\n"
+#~ "    [ WHERE condition | WHERE CURRENT OF nom_curseur ]\n"
+#~ "    [ RETURNING * | expression_sortie [ [ AS ] nom_sortie ] [, ...] ]"
 
 #~ msgid ""
-#~ "CREATE CAST (sourcetype AS targettype)\n"
-#~ "    WITH FUNCTION funcname (argtypes)\n"
-#~ "    [ AS ASSIGNMENT | AS IMPLICIT ]\n"
-#~ "\n"
-#~ "CREATE CAST (sourcetype AS targettype)\n"
-#~ "    WITHOUT FUNCTION\n"
-#~ "    [ AS ASSIGNMENT | AS IMPLICIT ]\n"
-#~ "\n"
-#~ "CREATE CAST (sourcetype AS targettype)\n"
-#~ "    WITH INOUT\n"
-#~ "    [ AS ASSIGNMENT | AS IMPLICIT ]"
+#~ "DECLARE name [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ]\n"
+#~ "    CURSOR [ { WITH | WITHOUT } HOLD ] FOR query"
 #~ msgstr ""
-#~ "CREATE CAST (type_source AS type_cible)\n"
-#~ "    WITH FUNCTION nom_fonction (type_argument)\n"
-#~ "    [ AS ASSIGNMENT | AS IMPLICIT ]\n"
-#~ "\n"
-#~ "CREATE CAST (type_source AS type_cible)\n"
-#~ "    WITHOUT FUNCTION\n"
-#~ "    [ AS ASSIGNMENT | AS IMPLICIT ]\n"
-#~ "\n"
-#~ "CREATE CAST (type_source AS type_cible)\n"
-#~ "    WITH INOUT\n"
-#~ "    [ AS ASSIGNMENT | AS IMPLICIT ]"
+#~ "DECLARE nom [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ]\n"
+#~ "    CURSOR [ { WITH | WITHOUT } HOLD ] FOR requête"
+
+#~ msgid "DEALLOCATE [ PREPARE ] { name | ALL }"
+#~ msgstr "DEALLOCATE [ PREPARE ] { nom_plan | ALL }"
 
 #~ msgid ""
-#~ "CREATE CONSTRAINT TRIGGER name\n"
-#~ "    AFTER event [ OR ... ]\n"
-#~ "    ON table_name\n"
-#~ "    [ FROM referenced_table_name ]\n"
-#~ "    { NOT DEFERRABLE | [ DEFERRABLE ] { INITIALLY IMMEDIATE | INITIALLY DEFERRED } }\n"
-#~ "    FOR EACH ROW\n"
-#~ "    EXECUTE PROCEDURE funcname ( arguments )"
+#~ "CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] VIEW name [ ( column_name [, ...] ) ]\n"
+#~ "    AS query"
 #~ msgstr ""
-#~ "CREATE CONSTRAINT TRIGGER nom\n"
-#~ "    AFTER événement [ OR ... ]\n"
-#~ "    ON table\n"
-#~ "    [ FROM table_référencée ]\n"
-#~ "    { NOT DEFERRABLE | [ DEFERRABLE ]        { INITIALLY IMMEDIATE | INITIALLY DEFERRED } }\n"
-#~ "    FOR EACH ROW\n"
-#~ "    EXECUTE PROCEDURE nom_fonction ( arguments )"
+#~ "CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] VIEW nom\n"
+#~ "    [ ( nom_colonne [, ...] ) ]\n"
+#~ "    AS requête"
 
 #~ msgid ""
-#~ "CREATE [ DEFAULT ] CONVERSION name\n"
-#~ "    FOR source_encoding TO dest_encoding FROM funcname"
+#~ "CREATE USER MAPPING FOR { username | USER | CURRENT_USER | PUBLIC }\n"
+#~ "    SERVER servername\n"
+#~ "    [ OPTIONS ( option 'value' [ , ... ] ) ]"
 #~ msgstr ""
-#~ "CREATE [DEFAULT] CONVERSION nom\n"
-#~ "    FOR codage_source TO codage_cible FROM nom_fonction"
+#~ "CREATE USER MAPPING FOR { nomutilisateur | USER | CURRENT_USER | PUBLIC }\n"
+#~ "    SERVER nomserveur\n"
+#~ "    [ OPTIONS ( option 'valeur' [ , ... ] ) ]"
 
 #~ msgid ""
-#~ "CREATE DATABASE name\n"
-#~ "    [ [ WITH ] [ OWNER [=] dbowner ]\n"
-#~ "           [ TEMPLATE [=] template ]\n"
-#~ "           [ ENCODING [=] encoding ]\n"
-#~ "           [ LC_COLLATE [=] lc_collate ]\n"
-#~ "           [ LC_CTYPE [=] lc_ctype ]\n"
-#~ "           [ TABLESPACE [=] tablespace ]\n"
-#~ "           [ CONNECTION LIMIT [=] connlimit ] ]"
-#~ msgstr ""
-#~ "CREATE DATABASE nom\n"
-#~ "    [ [ WITH ] [ OWNER [=] nom_propriétaire ]\n"
-#~ "           [ TEMPLATE [=] modèle ]\n"
-#~ "           [ ENCODING [=] encodage ]\n"
-#~ "           [ LC_COLLATE [=] tri_caract ]\n"
-#~ "           [ LC_CTYPE [=] type_caract ]\n"
-#~ "           [ TABLESPACE [=] tablespace ]\n"
-#~ "           [ CONNECTION LIMIT [=] limite_connexion ] ]"
-
-#~ msgid ""
-#~ "CREATE DOMAIN name [ AS ] data_type\n"
-#~ "    [ DEFAULT expression ]\n"
-#~ "    [ constraint [ ... ] ]\n"
-#~ "\n"
-#~ "where constraint is:\n"
-#~ "\n"
-#~ "[ CONSTRAINT constraint_name ]\n"
-#~ "{ NOT NULL | NULL | CHECK (expression) }"
-#~ msgstr ""
-#~ "CREATE DOMAIN nom [AS] type_données\n"
-#~ "    [ DEFAULT expression ]\n"
-#~ "    [ contrainte [ ... ] ]\n"
-#~ "\n"
-#~ "avec comme contrainte :\n"
-#~ "\n"
-#~ "[ CONSTRAINT nom_contrainte ]\n"
-#~ "{ NOT NULL | NULL | CHECK (expression) }"
-
-#~ msgid ""
-#~ "CREATE FOREIGN DATA WRAPPER name\n"
-#~ "    [ VALIDATOR valfunction | NO VALIDATOR ]\n"
-#~ "    [ OPTIONS ( option 'value' [, ... ] ) ]"
-#~ msgstr ""
-#~ "CREATE FOREIGN DATA WRAPPER nom\n"
-#~ "    [ VALIDATOR fonction_validation | NO VALIDATOR ]\n"
-#~ "    [ OPTIONS ( option 'valeur' [, ... ] ) ]"
-
-#~ msgid ""
-#~ "CREATE [ OR REPLACE ] FUNCTION\n"
-#~ "    name ( [ [ argmode ] [ argname ] argtype [ { DEFAULT | = } defexpr ] [, ...] ] )\n"
-#~ "    [ RETURNS rettype\n"
-#~ "      | RETURNS TABLE ( colname coltype [, ...] ) ]\n"
-#~ "  { LANGUAGE langname\n"
-#~ "    | WINDOW\n"
-#~ "    | IMMUTABLE | STABLE | VOLATILE\n"
-#~ "    | CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT\n"
-#~ "    | [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER\n"
-#~ "    | COST execution_cost\n"
-#~ "    | ROWS result_rows\n"
-#~ "    | SET configuration_parameter { TO value | = value | FROM CURRENT }\n"
-#~ "    | AS 'definition'\n"
-#~ "    | AS 'obj_file', 'link_symbol'\n"
-#~ "  } ...\n"
-#~ "    [ WITH ( attribute [, ...] ) ]"
-#~ msgstr ""
-#~ "CREATE [ OR REPLACE ] FUNCTION\n"
-#~ "    nom ( [ [ mode_arg ] [ nom_arg ] type_arg [ { DEFAULT | = } expr_par_défaut ] [, ...] ] )\n"
-#~ "    [ RETURNS type_ret\n"
-#~ "      | RETURNS TABLE ( nom_colonne type_colonne [, ...] ) ]\n"
-#~ "  { LANGUAGE nom_lang\n"
-#~ "    | WINDOW\n"
-#~ "    | IMMUTABLE | STABLE | VOLATILE\n"
-#~ "    | CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT\n"
-#~ "    | [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER\n"
-#~ "    | COST coût_exécution\n"
-#~ "    | ROWS lignes_résultats\n"
-#~ "    | SET paramètre_configuration { TO valeur | = valeur | FROM CURRENT }\n"
-#~ "    | AS 'définition'\n"
-#~ "    | AS 'fichier_obj', 'symbôle_lien'\n"
-#~ "  } ...\n"
-#~ "    [ WITH ( attribut [, ...] ) ]"
-
-#~ msgid ""
-#~ "CREATE GROUP name [ [ WITH ] option [ ... ] ]\n"
+#~ "CREATE USER name [ [ WITH ] option [ ... ] ]\n"
 #~ "\n"
 #~ "where option can be:\n"
 #~ "    \n"
@@ -6168,6 +6165,7 @@ msgstr ""
 #~ "    | CREATEUSER | NOCREATEUSER\n"
 #~ "    | INHERIT | NOINHERIT\n"
 #~ "    | LOGIN | NOLOGIN\n"
+#~ "    | CONNECTION LIMIT connlimit\n"
 #~ "    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'\n"
 #~ "    | VALID UNTIL 'timestamp' \n"
 #~ "    | IN ROLE rolename [, ...]\n"
@@ -6177,7 +6175,7 @@ msgstr ""
 #~ "    | USER rolename [, ...]\n"
 #~ "    | SYSID uid"
 #~ msgstr ""
-#~ "CREATE GROUP nom [ [ WITH ] option [ ... ] ]\n"
+#~ "CREATE USER nom [ [ WITH ] option [ ... ] ]\n"
 #~ "\n"
 #~ "où option peut être :\n"
 #~ "    \n"
@@ -6187,6 +6185,7 @@ msgstr ""
 #~ "    | CREATEUSER | NOCREATEUSER\n"
 #~ "    | INHERIT | NOINHERIT\n"
 #~ "    | LOGIN | NOLOGIN\n"
+#~ "    | CONNECTION LIMIT limite_connexion\n"
 #~ "    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'motdepasse'\n"
 #~ "    | VALID UNTIL 'timestamp' \n"
 #~ "    | IN ROLE nom_rôle [, ...]\n"
@@ -6197,145 +6196,141 @@ msgstr ""
 #~ "    | SYSID uid"
 
 #~ msgid ""
-#~ "CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] name ON table [ USING method ]\n"
-#~ "    ( { column | ( expression ) } [ opclass ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [, ...] )\n"
-#~ "    [ WITH ( storage_parameter = value [, ... ] ) ]\n"
-#~ "    [ TABLESPACE tablespace ]\n"
-#~ "    [ WHERE predicate ]"
+#~ "CREATE TYPE name AS\n"
+#~ "    ( attribute_name data_type [, ... ] )\n"
+#~ "\n"
+#~ "CREATE TYPE name AS ENUM\n"
+#~ "    ( 'label' [, ... ] )\n"
+#~ "\n"
+#~ "CREATE TYPE name (\n"
+#~ "    INPUT = input_function,\n"
+#~ "    OUTPUT = output_function\n"
+#~ "    [ , RECEIVE = receive_function ]\n"
+#~ "    [ , SEND = send_function ]\n"
+#~ "    [ , TYPMOD_IN = type_modifier_input_function ]\n"
+#~ "    [ , TYPMOD_OUT = type_modifier_output_function ]\n"
+#~ "    [ , ANALYZE = analyze_function ]\n"
+#~ "    [ , INTERNALLENGTH = { internallength | VARIABLE } ]\n"
+#~ "    [ , PASSEDBYVALUE ]\n"
+#~ "    [ , ALIGNMENT = alignment ]\n"
+#~ "    [ , STORAGE = storage ]\n"
+#~ "    [ , LIKE = like_type ]\n"
+#~ "    [ , CATEGORY = category ]\n"
+#~ "    [ , PREFERRED = preferred ]\n"
+#~ "    [ , DEFAULT = default ]\n"
+#~ "    [ , ELEMENT = element ]\n"
+#~ "    [ , DELIMITER = delimiter ]\n"
+#~ ")\n"
+#~ "\n"
+#~ "CREATE TYPE name"
 #~ msgstr ""
-#~ "CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] nom ON table [ USING methode ]\n"
-#~ "    ( { colonne | ( expression ) } [ classe_operateur ]\n"
-#~ "        [ ASC | DESC ]\n"
-#~ "        [ NULLS { FIRST | LAST } ] [, ...] )\n"
-#~ "    [ WITH ( parametre_stockage = valeur [, ... ] ) ]\n"
-#~ "    [ TABLESPACE tablespace ]\n"
-#~ "    [ WHERE predicat ]"
+#~ "CREATE TYPE nom AS\n"
+#~ "    ( nom_attribut type_donnee [, ... ] )\n"
+#~ "\n"
+#~ "CREATE TYPE nom AS ENUM\n"
+#~ "    ( 'label' [, ... ] )\n"
+#~ "\n"
+#~ "CREATE TYPE nom (\n"
+#~ "    INPUT = fonction_entrée,\n"
+#~ "    OUTPUT = fonction_sortie\n"
+#~ "    [ , RECEIVE = fonction_réception ]\n"
+#~ "    [ , SEND = fonction_envoi ]\n"
+#~ "    [ , TYPMOD_IN = fonction_entrée_modif_type ]\n"
+#~ "    [ , TYPMOD_OUT = fonction_sortie_modif_type ]\n"
+#~ "    [ , ANALYZE = fonction_analyse ]\n"
+#~ "    [ , INTERNALLENGTH = { longueur_interne | VARIABLE } ]\n"
+#~ "    [ , PASSEDBYVALUE ]\n"
+#~ "    [ , ALIGNMENT = alignement ]\n"
+#~ "    [ , STORAGE = stockage ]\n"
+#~ "    [ , LIKE = type_like ]\n"
+#~ "    [ , CATEGORY = catégorie ]\n"
+#~ "    [ , PREFERRED = préféré ]\n"
+#~ "    [ , DEFAULT = valeur_par_défaut ]\n"
+#~ "    [ , ELEMENT = élément ]\n"
+#~ "    [ , DELIMITER = délimiteur ]\n"
+#~ ")\n"
+#~ "\n"
+#~ "CREATE TYPE nom"
 
 #~ msgid ""
-#~ "CREATE [ PROCEDURAL ] LANGUAGE name\n"
-#~ "CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE name\n"
-#~ "    HANDLER call_handler [ VALIDATOR valfunction ]"
+#~ "CREATE TRIGGER name { BEFORE | AFTER } { event [ OR ... ] }\n"
+#~ "    ON table [ FOR [ EACH ] { ROW | STATEMENT } ]\n"
+#~ "    EXECUTE PROCEDURE funcname ( arguments )"
 #~ msgstr ""
-#~ "CREATE [ PROCEDURAL ] LANGUAGE nom\n"
-#~ "CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE nom\n"
-#~ "    HANDLER gestionnaire_appels [ VALIDATOR fonction_val ]"
+#~ "CREATE TRIGGER nom { BEFORE | AFTER } { événement [ OR ... ] }\n"
+#~ "    ON table [ FOR [ EACH ] { ROW | STATEMENT } ]\n"
+#~ "    EXECUTE PROCEDURE nom_fonction ( arguments )"
 
 #~ msgid ""
-#~ "CREATE OPERATOR name (\n"
-#~ "    PROCEDURE = funcname\n"
-#~ "    [, LEFTARG = lefttype ] [, RIGHTARG = righttype ]\n"
-#~ "    [, COMMUTATOR = com_op ] [, NEGATOR = neg_op ]\n"
-#~ "    [, RESTRICT = res_proc ] [, JOIN = join_proc ]\n"
-#~ "    [, HASHES ] [, MERGES ]\n"
+#~ "CREATE TEXT SEARCH TEMPLATE name (\n"
+#~ "    [ INIT = init_function , ]\n"
+#~ "    LEXIZE = lexize_function\n"
 #~ ")"
 #~ msgstr ""
-#~ "CREATE OPERATOR nom (\n"
-#~ "    PROCEDURE = nom_fonction\n"
-#~ "    [, LEFTARG = type_gauche ] [, RIGHTARG = type_droit ]\n"
-#~ "    [, COMMUTATOR = op_com ] [, NEGATOR = op_neg ]\n"
-#~ "    [, RESTRICT = proc_res ] [, JOIN = proc_join ]\n"
-#~ "    [, HASHES ] [, MERGES ]\n"
+#~ "CREATE TEXT SEARCH TEMPLATE nom (\n"
+#~ "    [ INIT = fonction_init , ]\n"
+#~ "    LEXIZE = fonction_lexize\n"
 #~ ")"
 
 #~ msgid ""
-#~ "CREATE OPERATOR CLASS name [ DEFAULT ] FOR TYPE data_type\n"
-#~ "  USING index_method [ FAMILY family_name ] AS\n"
-#~ "  {  OPERATOR strategy_number operator_name [ ( op_type, op_type ) ]\n"
-#~ "   | FUNCTION support_number [ ( op_type [ , op_type ] ) ] funcname ( argument_type [, ...] )\n"
-#~ "   | STORAGE storage_type\n"
-#~ "  } [, ... ]"
+#~ "CREATE TEXT SEARCH PARSER name (\n"
+#~ "    START = start_function ,\n"
+#~ "    GETTOKEN = gettoken_function ,\n"
+#~ "    END = end_function ,\n"
+#~ "    LEXTYPES = lextypes_function\n"
+#~ "    [, HEADLINE = headline_function ]\n"
+#~ ")"
 #~ msgstr ""
-#~ "CREATE OPERATOR CLASS nom [ DEFAULT ] FOR TYPE type_donnée\n"
-#~ "  USING méthode_indexage [ FAMILY nom_famille ] AS\n"
-#~ "  { OPERATOR numéro_stratégie nom_operateur [ ( op_type, op_type ) ]\n"
-#~ "    | FUNCTION numéro_support [ ( type_op [ , type_op ] ) ]\n"
-#~ "      nom_fonction ( type_argument [, ...] )\n"
-#~ "    | STORAGE type_stockage\n"
-#~ "  } [, ... ]"
-
-#~ msgid "CREATE OPERATOR FAMILY name USING index_method"
-#~ msgstr "CREATE OPERATOR FAMILY nom USING methode_indexage"
+#~ "CREATE TEXT SEARCH PARSER nom (\n"
+#~ "    START = fonction_debut ,\n"
+#~ "    GETTOKEN = fonction_jeton ,\n"
+#~ "    END = fonction_fin ,\n"
+#~ "    LEXTYPES = fonction_typeslexem\n"
+#~ "    [, HEADLINE = fonction_entete ]\n"
+#~ ")"
 
 #~ msgid ""
-#~ "CREATE ROLE name [ [ WITH ] option [ ... ] ]\n"
-#~ "\n"
-#~ "where option can be:\n"
-#~ "    \n"
-#~ "      SUPERUSER | NOSUPERUSER\n"
-#~ "    | CREATEDB | NOCREATEDB\n"
-#~ "    | CREATEROLE | NOCREATEROLE\n"
-#~ "    | CREATEUSER | NOCREATEUSER\n"
-#~ "    | INHERIT | NOINHERIT\n"
-#~ "    | LOGIN | NOLOGIN\n"
-#~ "    | CONNECTION LIMIT connlimit\n"
-#~ "    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'\n"
-#~ "    | VALID UNTIL 'timestamp' \n"
-#~ "    | IN ROLE rolename [, ...]\n"
-#~ "    | IN GROUP rolename [, ...]\n"
-#~ "    | ROLE rolename [, ...]\n"
-#~ "    | ADMIN rolename [, ...]\n"
-#~ "    | USER rolename [, ...]\n"
-#~ "    | SYSID uid"
+#~ "CREATE TEXT SEARCH DICTIONARY name (\n"
+#~ "    TEMPLATE = template\n"
+#~ "    [, option = value [, ... ]]\n"
+#~ ")"
 #~ msgstr ""
-#~ "CREATE ROLE nom [ [ WITH ] option [ ... ] ]\n"
-#~ "\n"
-#~ "où option peut être :\n"
-#~ "    \n"
-#~ "      SUPERUSER | NOSUPERUSER\n"
-#~ "    | CREATEDB | NOCREATEDB\n"
-#~ "    | CREATEROLE | NOCREATEROLE\n"
-#~ "    | CREATEUSER | NOCREATEUSER\n"
-#~ "    | INHERIT | NOINHERIT\n"
-#~ "    | LOGIN | NOLOGIN\n"
-#~ "    | CONNECTION LIMIT limite_connexion\n"
-#~ "    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'motdepasse'\n"
-#~ "    | VALID UNTIL 'timestamp' \n"
-#~ "    | IN ROLE nom_rôle [, ...]\n"
-#~ "    | IN GROUP nom_rôle [, ...]\n"
-#~ "    | ROLE nom_rôle [, ...]\n"
-#~ "    | ADMIN nom_rôle [, ...]\n"
-#~ "    | USER nom_rôle [, ...]\n"
-#~ "    | SYSID uid"
+#~ "CREATE TEXT SEARCH DICTIONARY nom (\n"
+#~ "    TEMPLATE = modèle\n"
+#~ "    [, option = valeur [, ... ]]\n"
+#~ ")"
 
 #~ msgid ""
-#~ "CREATE [ OR REPLACE ] RULE name AS ON event\n"
-#~ "    TO table [ WHERE condition ]\n"
-#~ "    DO [ ALSO | INSTEAD ] { NOTHING | command | ( command ; command ... ) }"
-#~ msgstr ""
-#~ "CREATE [ OR REPLACE ] RULE nom AS ON événement\n"
-#~ "    TO table [ WHERE condition ]\n"
-#~ "    DO [ ALSO | INSTEAD ] { NOTHING | commande | ( commande ; commande ... ) }"
-
-#~ msgid ""
-#~ "CREATE SCHEMA schemaname [ AUTHORIZATION username ] [ schema_element [ ... ] ]\n"
-#~ "CREATE SCHEMA AUTHORIZATION username [ schema_element [ ... ] ]"
+#~ "CREATE TEXT SEARCH CONFIGURATION name (\n"
+#~ "    PARSER = parser_name |\n"
+#~ "    COPY = source_config\n"
+#~ ")"
 #~ msgstr ""
-#~ "CREATE SCHEMA nom_schema [ AUTHORIZATION nom_utilisateur ]\n"
-#~ "  [ element_schema [ ... ] ]\n"
-#~ "CREATE SCHEMA AUTHORIZATION nom_utilisateur [ element_schema [ ... ] ]"
+#~ "CREATE TEXT SEARCH CONFIGURATION nom (\n"
+#~ "    PARSER = nom_analyseur |\n"
+#~ "    COPY = config_source\n"
+#~ ")"
 
-#~ msgid ""
-#~ "CREATE [ TEMPORARY | TEMP ] SEQUENCE name [ INCREMENT [ BY ] increment ]\n"
-#~ "    [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ]\n"
-#~ "    [ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]\n"
-#~ "    [ OWNED BY { table.column | NONE } ]"
+#~ msgid "CREATE TABLESPACE tablespacename [ OWNER username ] LOCATION 'directory'"
 #~ msgstr ""
-#~ "CREATE [ TEMPORARY | TEMP ] SEQUENCE nom [ INCREMENT [ BY ] incrémentation ]\n"
-#~ "    [ MINVALUE valeur_mini | NO MINVALUE ]\n"
-#~ "    [ MAXVALUE valeur_maxi | NO MAXVALUE ]\n"
-#~ "    [ START [ WITH ] valeur_départ ]\n"
-#~ "    [ CACHE en_cache ]\n"
-#~ "    [ [ NO ] CYCLE ]\n"
-#~ "    [ OWNED BY { table.colonne | NONE } ]"
+#~ "CREATE TABLESPACE nom_tablespace [ OWNER nom_utilisateur ]\n"
+#~ "    LOCATION 'répertoire'"
 
 #~ msgid ""
-#~ "CREATE SERVER servername [ TYPE 'servertype' ] [ VERSION 'serverversion' ]\n"
-#~ "    FOREIGN DATA WRAPPER fdwname\n"
-#~ "    [ OPTIONS ( option 'value' [, ... ] ) ]"
+#~ "CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name\n"
+#~ "    [ (column_name [, ...] ) ]\n"
+#~ "    [ WITH ( storage_parameter [= value] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]\n"
+#~ "    [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]\n"
+#~ "    [ TABLESPACE tablespace ]\n"
+#~ "    AS query\n"
+#~ "    [ WITH [ NO ] DATA ]"
 #~ msgstr ""
-#~ "CREATE SERVER nom [ TYPE 'typeserveur' ] [ VERSION 'versionserveur' ]\n"
-#~ "    FOREIGN DATA WRAPPER nomfdw\n"
-#~ "    [ OPTIONS ( option 'valeur' [, ... ] ) ]"
+#~ "CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE nom_table\n"
+#~ "    [ (nom_colonne [, ...] ) ]\n"
+#~ "    [ WITH ( paramètre_stockage [= valeur] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]\n"
+#~ "    [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]\n"
+#~ "    [ TABLESPACE tablespace ]\n"
+#~ "    AS requête    [ WITH [ NO ] DATA ]"
 
 #~ msgid ""
 #~ "CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name ( [\n"
@@ -6422,144 +6417,47 @@ msgstr ""
 #~ "[ USING INDEX TABLESPACE espace_logique ]"
 
 #~ msgid ""
-#~ "CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name\n"
-#~ "    [ (column_name [, ...] ) ]\n"
-#~ "    [ WITH ( storage_parameter [= value] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]\n"
-#~ "    [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]\n"
-#~ "    [ TABLESPACE tablespace ]\n"
-#~ "    AS query\n"
-#~ "    [ WITH [ NO ] DATA ]"
-#~ msgstr ""
-#~ "CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE nom_table\n"
-#~ "    [ (nom_colonne [, ...] ) ]\n"
-#~ "    [ WITH ( paramètre_stockage [= valeur] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]\n"
-#~ "    [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]\n"
-#~ "    [ TABLESPACE tablespace ]\n"
-#~ "    AS requête    [ WITH [ NO ] DATA ]"
-
-#~ msgid "CREATE TABLESPACE tablespacename [ OWNER username ] LOCATION 'directory'"
-#~ msgstr ""
-#~ "CREATE TABLESPACE nom_tablespace [ OWNER nom_utilisateur ]\n"
-#~ "    LOCATION 'répertoire'"
-
-#~ msgid ""
-#~ "CREATE TEXT SEARCH CONFIGURATION name (\n"
-#~ "    PARSER = parser_name |\n"
-#~ "    COPY = source_config\n"
-#~ ")"
-#~ msgstr ""
-#~ "CREATE TEXT SEARCH CONFIGURATION nom (\n"
-#~ "    PARSER = nom_analyseur |\n"
-#~ "    COPY = config_source\n"
-#~ ")"
-
-#~ msgid ""
-#~ "CREATE TEXT SEARCH DICTIONARY name (\n"
-#~ "    TEMPLATE = template\n"
-#~ "    [, option = value [, ... ]]\n"
-#~ ")"
-#~ msgstr ""
-#~ "CREATE TEXT SEARCH DICTIONARY nom (\n"
-#~ "    TEMPLATE = modèle\n"
-#~ "    [, option = valeur [, ... ]]\n"
-#~ ")"
-
-#~ msgid ""
-#~ "CREATE TEXT SEARCH PARSER name (\n"
-#~ "    START = start_function ,\n"
-#~ "    GETTOKEN = gettoken_function ,\n"
-#~ "    END = end_function ,\n"
-#~ "    LEXTYPES = lextypes_function\n"
-#~ "    [, HEADLINE = headline_function ]\n"
-#~ ")"
+#~ "CREATE SERVER servername [ TYPE 'servertype' ] [ VERSION 'serverversion' ]\n"
+#~ "    FOREIGN DATA WRAPPER fdwname\n"
+#~ "    [ OPTIONS ( option 'value' [, ... ] ) ]"
 #~ msgstr ""
-#~ "CREATE TEXT SEARCH PARSER nom (\n"
-#~ "    START = fonction_debut ,\n"
-#~ "    GETTOKEN = fonction_jeton ,\n"
-#~ "    END = fonction_fin ,\n"
-#~ "    LEXTYPES = fonction_typeslexem\n"
-#~ "    [, HEADLINE = fonction_entete ]\n"
-#~ ")"
+#~ "CREATE SERVER nom [ TYPE 'typeserveur' ] [ VERSION 'versionserveur' ]\n"
+#~ "    FOREIGN DATA WRAPPER nomfdw\n"
+#~ "    [ OPTIONS ( option 'valeur' [, ... ] ) ]"
 
 #~ msgid ""
-#~ "CREATE TEXT SEARCH TEMPLATE name (\n"
-#~ "    [ INIT = init_function , ]\n"
-#~ "    LEXIZE = lexize_function\n"
-#~ ")"
+#~ "CREATE [ TEMPORARY | TEMP ] SEQUENCE name [ INCREMENT [ BY ] increment ]\n"
+#~ "    [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ]\n"
+#~ "    [ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]\n"
+#~ "    [ OWNED BY { table.column | NONE } ]"
 #~ msgstr ""
-#~ "CREATE TEXT SEARCH TEMPLATE nom (\n"
-#~ "    [ INIT = fonction_init , ]\n"
-#~ "    LEXIZE = fonction_lexize\n"
-#~ ")"
+#~ "CREATE [ TEMPORARY | TEMP ] SEQUENCE nom [ INCREMENT [ BY ] incrémentation ]\n"
+#~ "    [ MINVALUE valeur_mini | NO MINVALUE ]\n"
+#~ "    [ MAXVALUE valeur_maxi | NO MAXVALUE ]\n"
+#~ "    [ START [ WITH ] valeur_départ ]\n"
+#~ "    [ CACHE en_cache ]\n"
+#~ "    [ [ NO ] CYCLE ]\n"
+#~ "    [ OWNED BY { table.colonne | NONE } ]"
 
 #~ msgid ""
-#~ "CREATE TRIGGER name { BEFORE | AFTER } { event [ OR ... ] }\n"
-#~ "    ON table [ FOR [ EACH ] { ROW | STATEMENT } ]\n"
-#~ "    EXECUTE PROCEDURE funcname ( arguments )"
+#~ "CREATE SCHEMA schemaname [ AUTHORIZATION username ] [ schema_element [ ... ] ]\n"
+#~ "CREATE SCHEMA AUTHORIZATION username [ schema_element [ ... ] ]"
 #~ msgstr ""
-#~ "CREATE TRIGGER nom { BEFORE | AFTER } { événement [ OR ... ] }\n"
-#~ "    ON table [ FOR [ EACH ] { ROW | STATEMENT } ]\n"
-#~ "    EXECUTE PROCEDURE nom_fonction ( arguments )"
+#~ "CREATE SCHEMA nom_schema [ AUTHORIZATION nom_utilisateur ]\n"
+#~ "  [ element_schema [ ... ] ]\n"
+#~ "CREATE SCHEMA AUTHORIZATION nom_utilisateur [ element_schema [ ... ] ]"
 
 #~ msgid ""
-#~ "CREATE TYPE name AS\n"
-#~ "    ( attribute_name data_type [, ... ] )\n"
-#~ "\n"
-#~ "CREATE TYPE name AS ENUM\n"
-#~ "    ( 'label' [, ... ] )\n"
-#~ "\n"
-#~ "CREATE TYPE name (\n"
-#~ "    INPUT = input_function,\n"
-#~ "    OUTPUT = output_function\n"
-#~ "    [ , RECEIVE = receive_function ]\n"
-#~ "    [ , SEND = send_function ]\n"
-#~ "    [ , TYPMOD_IN = type_modifier_input_function ]\n"
-#~ "    [ , TYPMOD_OUT = type_modifier_output_function ]\n"
-#~ "    [ , ANALYZE = analyze_function ]\n"
-#~ "    [ , INTERNALLENGTH = { internallength | VARIABLE } ]\n"
-#~ "    [ , PASSEDBYVALUE ]\n"
-#~ "    [ , ALIGNMENT = alignment ]\n"
-#~ "    [ , STORAGE = storage ]\n"
-#~ "    [ , LIKE = like_type ]\n"
-#~ "    [ , CATEGORY = category ]\n"
-#~ "    [ , PREFERRED = preferred ]\n"
-#~ "    [ , DEFAULT = default ]\n"
-#~ "    [ , ELEMENT = element ]\n"
-#~ "    [ , DELIMITER = delimiter ]\n"
-#~ ")\n"
-#~ "\n"
-#~ "CREATE TYPE name"
+#~ "CREATE [ OR REPLACE ] RULE name AS ON event\n"
+#~ "    TO table [ WHERE condition ]\n"
+#~ "    DO [ ALSO | INSTEAD ] { NOTHING | command | ( command ; command ... ) }"
 #~ msgstr ""
-#~ "CREATE TYPE nom AS\n"
-#~ "    ( nom_attribut type_donnee [, ... ] )\n"
-#~ "\n"
-#~ "CREATE TYPE nom AS ENUM\n"
-#~ "    ( 'label' [, ... ] )\n"
-#~ "\n"
-#~ "CREATE TYPE nom (\n"
-#~ "    INPUT = fonction_entrée,\n"
-#~ "    OUTPUT = fonction_sortie\n"
-#~ "    [ , RECEIVE = fonction_réception ]\n"
-#~ "    [ , SEND = fonction_envoi ]\n"
-#~ "    [ , TYPMOD_IN = fonction_entrée_modif_type ]\n"
-#~ "    [ , TYPMOD_OUT = fonction_sortie_modif_type ]\n"
-#~ "    [ , ANALYZE = fonction_analyse ]\n"
-#~ "    [ , INTERNALLENGTH = { longueur_interne | VARIABLE } ]\n"
-#~ "    [ , PASSEDBYVALUE ]\n"
-#~ "    [ , ALIGNMENT = alignement ]\n"
-#~ "    [ , STORAGE = stockage ]\n"
-#~ "    [ , LIKE = type_like ]\n"
-#~ "    [ , CATEGORY = catégorie ]\n"
-#~ "    [ , PREFERRED = préféré ]\n"
-#~ "    [ , DEFAULT = valeur_par_défaut ]\n"
-#~ "    [ , ELEMENT = élément ]\n"
-#~ "    [ , DELIMITER = délimiteur ]\n"
-#~ ")\n"
-#~ "\n"
-#~ "CREATE TYPE nom"
+#~ "CREATE [ OR REPLACE ] RULE nom AS ON événement\n"
+#~ "    TO table [ WHERE condition ]\n"
+#~ "    DO [ ALSO | INSTEAD ] { NOTHING | commande | ( commande ; commande ... ) }"
 
 #~ msgid ""
-#~ "CREATE USER name [ [ WITH ] option [ ... ] ]\n"
+#~ "CREATE ROLE name [ [ WITH ] option [ ... ] ]\n"
 #~ "\n"
 #~ "where option can be:\n"
 #~ "    \n"
@@ -6579,7 +6477,7 @@ msgstr ""
 #~ "    | USER rolename [, ...]\n"
 #~ "    | SYSID uid"
 #~ msgstr ""
-#~ "CREATE USER nom [ [ WITH ] option [ ... ] ]\n"
+#~ "CREATE ROLE nom [ [ WITH ] option [ ... ] ]\n"
 #~ "\n"
 #~ "où option peut être :\n"
 #~ "    \n"
@@ -6599,793 +6497,999 @@ msgstr ""
 #~ "    | USER nom_rôle [, ...]\n"
 #~ "    | SYSID uid"
 
+#~ msgid "CREATE OPERATOR FAMILY name USING index_method"
+#~ msgstr "CREATE OPERATOR FAMILY nom USING methode_indexage"
+
 #~ msgid ""
-#~ "CREATE USER MAPPING FOR { username | USER | CURRENT_USER | PUBLIC }\n"
-#~ "    SERVER servername\n"
-#~ "    [ OPTIONS ( option 'value' [ , ... ] ) ]"
+#~ "CREATE OPERATOR CLASS name [ DEFAULT ] FOR TYPE data_type\n"
+#~ "  USING index_method [ FAMILY family_name ] AS\n"
+#~ "  {  OPERATOR strategy_number operator_name [ ( op_type, op_type ) ]\n"
+#~ "   | FUNCTION support_number [ ( op_type [ , op_type ] ) ] funcname ( argument_type [, ...] )\n"
+#~ "   | STORAGE storage_type\n"
+#~ "  } [, ... ]"
 #~ msgstr ""
-#~ "CREATE USER MAPPING FOR { nomutilisateur | USER | CURRENT_USER | PUBLIC }\n"
-#~ "    SERVER nomserveur\n"
-#~ "    [ OPTIONS ( option 'valeur' [ , ... ] ) ]"
+#~ "CREATE OPERATOR CLASS nom [ DEFAULT ] FOR TYPE type_donnée\n"
+#~ "  USING méthode_indexage [ FAMILY nom_famille ] AS\n"
+#~ "  { OPERATOR numéro_stratégie nom_operateur [ ( op_type, op_type ) ]\n"
+#~ "    | FUNCTION numéro_support [ ( type_op [ , type_op ] ) ]\n"
+#~ "      nom_fonction ( type_argument [, ...] )\n"
+#~ "    | STORAGE type_stockage\n"
+#~ "  } [, ... ]"
 
 #~ msgid ""
-#~ "CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] VIEW name [ ( column_name [, ...] ) ]\n"
-#~ "    AS query"
+#~ "CREATE OPERATOR name (\n"
+#~ "    PROCEDURE = funcname\n"
+#~ "    [, LEFTARG = lefttype ] [, RIGHTARG = righttype ]\n"
+#~ "    [, COMMUTATOR = com_op ] [, NEGATOR = neg_op ]\n"
+#~ "    [, RESTRICT = res_proc ] [, JOIN = join_proc ]\n"
+#~ "    [, HASHES ] [, MERGES ]\n"
+#~ ")"
 #~ msgstr ""
-#~ "CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] VIEW nom\n"
-#~ "    [ ( nom_colonne [, ...] ) ]\n"
-#~ "    AS requête"
-
-#~ msgid "DEALLOCATE [ PREPARE ] { name | ALL }"
-#~ msgstr "DEALLOCATE [ PREPARE ] { nom_plan | ALL }"
+#~ "CREATE OPERATOR nom (\n"
+#~ "    PROCEDURE = nom_fonction\n"
+#~ "    [, LEFTARG = type_gauche ] [, RIGHTARG = type_droit ]\n"
+#~ "    [, COMMUTATOR = op_com ] [, NEGATOR = op_neg ]\n"
+#~ "    [, RESTRICT = proc_res ] [, JOIN = proc_join ]\n"
+#~ "    [, HASHES ] [, MERGES ]\n"
+#~ ")"
 
 #~ msgid ""
-#~ "DECLARE name [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ]\n"
-#~ "    CURSOR [ { WITH | WITHOUT } HOLD ] FOR query"
-#~ msgstr ""
-#~ "DECLARE nom [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ]\n"
-#~ "    CURSOR [ { WITH | WITHOUT } HOLD ] FOR requête"
-
-#~ msgid ""
-#~ "DELETE FROM [ ONLY ] table [ [ AS ] alias ]\n"
-#~ "    [ USING usinglist ]\n"
-#~ "    [ WHERE condition | WHERE CURRENT OF cursor_name ]\n"
-#~ "    [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]"
+#~ "CREATE [ PROCEDURAL ] LANGUAGE name\n"
+#~ "CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE name\n"
+#~ "    HANDLER call_handler [ VALIDATOR valfunction ]"
 #~ msgstr ""
-#~ "DELETE FROM [ ONLY ] table [ [ AS ] alias ]\n"
-#~ "    [ USING liste_using ]\n"
-#~ "    [ WHERE condition | WHERE CURRENT OF nom_curseur ]\n"
-#~ "    [ RETURNING * | expression_sortie [ [ AS ] nom_sortie ] [, ...] ]"
-
-#~ msgid "DISCARD { ALL | PLANS | TEMPORARY | TEMP }"
-#~ msgstr "DISCARD { ALL | PLANS | TEMPORARY | TEMP }"
-
-#~ msgid "DROP AGGREGATE [ IF EXISTS ] name ( type [ , ... ] ) [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP AGGREGATE [ IF EXISTS ] nom ( type [ , ... ] ) [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP CAST [ IF EXISTS ] (sourcetype AS targettype) [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP CAST [ IF EXISTS ] (type_source AS type_cible) [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP CONVERSION [ IF EXISTS ] name [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP CONVERSION [ IF EXISTS ] nom [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP DATABASE [ IF EXISTS ] name"
-#~ msgstr "DROP DATABASE [ IF EXISTS ] nom"
-
-#~ msgid "DROP DOMAIN [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP DOMAIN [ IF EXISTS ] nom [, ...]  [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP FOREIGN DATA WRAPPER [ IF EXISTS ] name [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP FOREIGN DATA WRAPPER [ IF EXISTS ] nom [ CASCADE | RESTRICT ]"
+#~ "CREATE [ PROCEDURAL ] LANGUAGE nom\n"
+#~ "CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE nom\n"
+#~ "    HANDLER gestionnaire_appels [ VALIDATOR fonction_val ]"
 
 #~ msgid ""
-#~ "DROP FUNCTION [ IF EXISTS ] name ( [ [ argmode ] [ argname ] argtype [, ...] ] )\n"
-#~ "    [ CASCADE | RESTRICT ]"
+#~ "CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] name ON table [ USING method ]\n"
+#~ "    ( { column | ( expression ) } [ opclass ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [, ...] )\n"
+#~ "    [ WITH ( storage_parameter = value [, ... ] ) ]\n"
+#~ "    [ TABLESPACE tablespace ]\n"
+#~ "    [ WHERE predicate ]"
 #~ msgstr ""
-#~ "DROP FUNCTION [IF EXISTS ] nom\n"
-#~ "    ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] )\n"
-#~ "    [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP GROUP [ IF EXISTS ] name [, ...]"
-#~ msgstr "DROP GROUP [IF EXISTS ] nom [, ...]"
-
-#~ msgid "DROP INDEX [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP INDEX [IF EXISTS ] nom [, ...] [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP [ PROCEDURAL ] LANGUAGE [ IF EXISTS ] name [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP [ PROCEDURAL ] LANGUAGE [IF EXISTS ] nom [ CASCADE | RESTRICT ]"
+#~ "CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] nom ON table [ USING methode ]\n"
+#~ "    ( { colonne | ( expression ) } [ classe_operateur ]\n"
+#~ "        [ ASC | DESC ]\n"
+#~ "        [ NULLS { FIRST | LAST } ] [, ...] )\n"
+#~ "    [ WITH ( parametre_stockage = valeur [, ... ] ) ]\n"
+#~ "    [ TABLESPACE tablespace ]\n"
+#~ "    [ WHERE predicat ]"
 
-#~ msgid "DROP OPERATOR [ IF EXISTS ] name ( { lefttype | NONE } , { righttype | NONE } ) [ CASCADE | RESTRICT ]"
+#~ msgid ""
+#~ "CREATE GROUP name [ [ WITH ] option [ ... ] ]\n"
+#~ "\n"
+#~ "where option can be:\n"
+#~ "    \n"
+#~ "      SUPERUSER | NOSUPERUSER\n"
+#~ "    | CREATEDB | NOCREATEDB\n"
+#~ "    | CREATEROLE | NOCREATEROLE\n"
+#~ "    | CREATEUSER | NOCREATEUSER\n"
+#~ "    | INHERIT | NOINHERIT\n"
+#~ "    | LOGIN | NOLOGIN\n"
+#~ "    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'\n"
+#~ "    | VALID UNTIL 'timestamp' \n"
+#~ "    | IN ROLE rolename [, ...]\n"
+#~ "    | IN GROUP rolename [, ...]\n"
+#~ "    | ROLE rolename [, ...]\n"
+#~ "    | ADMIN rolename [, ...]\n"
+#~ "    | USER rolename [, ...]\n"
+#~ "    | SYSID uid"
 #~ msgstr ""
-#~ "DROP OPERATOR [IF EXISTS ] nom\n"
-#~ "  ( { type_gauche | NONE } , { type_droit | NONE } )\n"
-#~ "  [ CASCADE | RESTRICT ]"
+#~ "CREATE GROUP nom [ [ WITH ] option [ ... ] ]\n"
+#~ "\n"
+#~ "où option peut être :\n"
+#~ "    \n"
+#~ "      SUPERUSER | NOSUPERUSER\n"
+#~ "    | CREATEDB | NOCREATEDB\n"
+#~ "    | CREATEROLE | NOCREATEROLE\n"
+#~ "    | CREATEUSER | NOCREATEUSER\n"
+#~ "    | INHERIT | NOINHERIT\n"
+#~ "    | LOGIN | NOLOGIN\n"
+#~ "    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'motdepasse'\n"
+#~ "    | VALID UNTIL 'timestamp' \n"
+#~ "    | IN ROLE nom_rôle [, ...]\n"
+#~ "    | IN GROUP nom_rôle [, ...]\n"
+#~ "    | ROLE nom_rôle [, ...]\n"
+#~ "    | ADMIN nom_rôle [, ...]\n"
+#~ "    | USER nom_rôle [, ...]\n"
+#~ "    | SYSID uid"
 
-#~ msgid "DROP OPERATOR CLASS [ IF EXISTS ] name USING index_method [ CASCADE | RESTRICT ]"
+#~ msgid ""
+#~ "CREATE [ OR REPLACE ] FUNCTION\n"
+#~ "    name ( [ [ argmode ] [ argname ] argtype [ { DEFAULT | = } defexpr ] [, ...] ] )\n"
+#~ "    [ RETURNS rettype\n"
+#~ "      | RETURNS TABLE ( colname coltype [, ...] ) ]\n"
+#~ "  { LANGUAGE langname\n"
+#~ "    | WINDOW\n"
+#~ "    | IMMUTABLE | STABLE | VOLATILE\n"
+#~ "    | CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT\n"
+#~ "    | [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER\n"
+#~ "    | COST execution_cost\n"
+#~ "    | ROWS result_rows\n"
+#~ "    | SET configuration_parameter { TO value | = value | FROM CURRENT }\n"
+#~ "    | AS 'definition'\n"
+#~ "    | AS 'obj_file', 'link_symbol'\n"
+#~ "  } ...\n"
+#~ "    [ WITH ( attribute [, ...] ) ]"
 #~ msgstr ""
-#~ "DROP OPERATOR CLASS [IF EXISTS ] nom\n"
-#~ "    USING méthode_indexage [ CASCADE | RESTRICT ]"
+#~ "CREATE [ OR REPLACE ] FUNCTION\n"
+#~ "    nom ( [ [ mode_arg ] [ nom_arg ] type_arg [ { DEFAULT | = } expr_par_défaut ] [, ...] ] )\n"
+#~ "    [ RETURNS type_ret\n"
+#~ "      | RETURNS TABLE ( nom_colonne type_colonne [, ...] ) ]\n"
+#~ "  { LANGUAGE nom_lang\n"
+#~ "    | WINDOW\n"
+#~ "    | IMMUTABLE | STABLE | VOLATILE\n"
+#~ "    | CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT\n"
+#~ "    | [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER\n"
+#~ "    | COST coût_exécution\n"
+#~ "    | ROWS lignes_résultats\n"
+#~ "    | SET paramètre_configuration { TO valeur | = valeur | FROM CURRENT }\n"
+#~ "    | AS 'définition'\n"
+#~ "    | AS 'fichier_obj', 'symbôle_lien'\n"
+#~ "  } ...\n"
+#~ "    [ WITH ( attribut [, ...] ) ]"
 
-#~ msgid "DROP OPERATOR FAMILY [ IF EXISTS ] name USING index_method [ CASCADE | RESTRICT ]"
+#~ msgid ""
+#~ "CREATE FOREIGN DATA WRAPPER name\n"
+#~ "    [ VALIDATOR valfunction | NO VALIDATOR ]\n"
+#~ "    [ OPTIONS ( option 'value' [, ... ] ) ]"
 #~ msgstr ""
-#~ "DROP OPERATOR FAMILY [IF EXISTS ] nom\n"
-#~ "  USING méthode_indexage [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP OWNED BY name [, ...] [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP OWNED BY nom [, ...] [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP ROLE [ IF EXISTS ] name [, ...]"
-#~ msgstr "DROP ROLE [IF EXISTS ] nom [, ...]"
-
-#~ msgid "DROP RULE [ IF EXISTS ] name ON relation [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP RULE [IF EXISTS ] nom ON relation [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP SCHEMA [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP SCHEMA [IF EXISTS ] nom [, ...] [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP SEQUENCE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP SEQUENCE [IF EXISTS ] nom [, ...] [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP SERVER [ IF EXISTS ] servername [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP SERVER [ IF EXISTS ] nom [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP TABLE [IF EXISTS ] nom [, ...] [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP TABLESPACE [ IF EXISTS ] tablespacename"
-#~ msgstr "DROP TABLESPACE [IF EXISTS ] nom_tablespace"
-
-#~ msgid "DROP TEXT SEARCH CONFIGURATION [ IF EXISTS ] name [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP TEXT SEARCH CONFIGURATION [ IF EXISTS ] nom [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP TEXT SEARCH DICTIONARY [ IF EXISTS ] name [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP TEXT SEARCH DICTIONARY [ IF EXISTS ] nom [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP TEXT SEARCH PARSER [ IF EXISTS ] name [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP TEXT SEARCH PARSER [ IF EXISTS ] nom [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP TEXT SEARCH TEMPLATE [ IF EXISTS ] name [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP TEXT SEARCH TEMPLATE [ IF EXISTS ] nom [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP TRIGGER [ IF EXISTS ] name ON table [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP TRIGGER [IF EXISTS ] nom ON table [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP TYPE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP TYPE [IF EXISTS ] nom [, ...] [ CASCADE | RESTRICT ]"
-
-#~ msgid "DROP USER [ IF EXISTS ] name [, ...]"
-#~ msgstr "DROP USER [IF EXISTS ] nom [, ...]"
-
-#~ msgid "DROP USER MAPPING [ IF EXISTS ] FOR { username | USER | CURRENT_USER | PUBLIC } SERVER servername"
-#~ msgstr "DROP USER MAPPING [ IF EXISTS ] FOR { nomutilisateur | USER | CURRENT_USER | PUBLIC } SERVER nomserveur"
-
-#~ msgid "DROP VIEW [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]"
-#~ msgstr "DROP VIEW [IF EXISTS ] nom [, ...] [ CASCADE | RESTRICT ]"
-
-#~ msgid "END [ WORK | TRANSACTION ]"
-#~ msgstr "END [ WORK | TRANSACTION ]"
-
-#~ msgid "EXECUTE name [ ( parameter [, ...] ) ]"
-#~ msgstr "EXECUTE nom_plan [ ( paramètre [, ...] ) ]"
-
-#~ msgid "EXPLAIN [ ANALYZE ] [ VERBOSE ] statement"
-#~ msgstr "EXPLAIN [ ANALYZE ] [ VERBOSE ] instruction"
+#~ "CREATE FOREIGN DATA WRAPPER nom\n"
+#~ "    [ VALIDATOR fonction_validation | NO VALIDATOR ]\n"
+#~ "    [ OPTIONS ( option 'valeur' [, ... ] ) ]"
 
 #~ msgid ""
-#~ "FETCH [ direction { FROM | IN } ] cursorname\n"
+#~ "CREATE DOMAIN name [ AS ] data_type\n"
+#~ "    [ DEFAULT expression ]\n"
+#~ "    [ constraint [ ... ] ]\n"
 #~ "\n"
-#~ "where direction can be empty or one of:\n"
+#~ "where constraint is:\n"
 #~ "\n"
-#~ "    NEXT\n"
-#~ "    PRIOR\n"
-#~ "    FIRST\n"
-#~ "    LAST\n"
-#~ "    ABSOLUTE count\n"
-#~ "    RELATIVE count\n"
-#~ "    count\n"
-#~ "    ALL\n"
-#~ "    FORWARD\n"
-#~ "    FORWARD count\n"
-#~ "    FORWARD ALL\n"
-#~ "    BACKWARD\n"
-#~ "    BACKWARD count\n"
-#~ "    BACKWARD ALL"
+#~ "[ CONSTRAINT constraint_name ]\n"
+#~ "{ NOT NULL | NULL | CHECK (expression) }"
 #~ msgstr ""
-#~ "FETCH [ direction { FROM | IN } ] nom_curseur\n"
+#~ "CREATE DOMAIN nom [AS] type_données\n"
+#~ "    [ DEFAULT expression ]\n"
+#~ "    [ contrainte [ ... ] ]\n"
 #~ "\n"
-#~ "sans préciser de direction ou en choissant une des directions suivantes :\n"
+#~ "avec comme contrainte :\n"
 #~ "\n"
-#~ "    NEXT\n"
-#~ "    PRIOR\n"
-#~ "    FIRST\n"
-#~ "    LAST\n"
-#~ "    ABSOLUTE nombre\n"
-#~ "    RELATIVE nombre\n"
-#~ "    count\n"
-#~ "    ALL\n"
-#~ "    FORWARD\n"
-#~ "    FORWARD nombre\n"
-#~ "    FORWARD ALL\n"
-#~ "    BACKWARD\n"
-#~ "    BACKWARD nombre\n"
-#~ "    BACKWARD ALL"
+#~ "[ CONSTRAINT nom_contrainte ]\n"
+#~ "{ NOT NULL | NULL | CHECK (expression) }"
 
 #~ msgid ""
-#~ "GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }\n"
-#~ "    [,...] | ALL [ PRIVILEGES ] }\n"
-#~ "    ON [ TABLE ] tablename [, ...]\n"
-#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { { SELECT | INSERT | UPDATE | REFERENCES } ( column [, ...] )\n"
-#~ "    [,...] | ALL [ PRIVILEGES ] ( column [, ...] ) }\n"
-#~ "    ON [ TABLE ] tablename [, ...]\n"
-#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { { USAGE | SELECT | UPDATE }\n"
-#~ "    [,...] | ALL [ PRIVILEGES ] }\n"
-#~ "    ON SEQUENCE sequencename [, ...]\n"
-#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }\n"
-#~ "    ON DATABASE dbname [, ...]\n"
-#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON FOREIGN DATA WRAPPER fdwname [, ...]\n"
-#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON FOREIGN SERVER servername [, ...]\n"
-#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { EXECUTE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON FUNCTION funcname ( [ [ argmode ] [ argname ] argtype [, ...] ] ) [, ...]\n"
-#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON LANGUAGE langname [, ...]\n"
-#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }\n"
-#~ "    ON SCHEMA schemaname [, ...]\n"
-#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { CREATE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON TABLESPACE tablespacename [, ...]\n"
-#~ "    TO { [ GROUP ] rolename | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT role [, ...] TO rolename [, ...] [ WITH ADMIN OPTION ]"
+#~ "CREATE DATABASE name\n"
+#~ "    [ [ WITH ] [ OWNER [=] dbowner ]\n"
+#~ "           [ TEMPLATE [=] template ]\n"
+#~ "           [ ENCODING [=] encoding ]\n"
+#~ "           [ LC_COLLATE [=] lc_collate ]\n"
+#~ "           [ LC_CTYPE [=] lc_ctype ]\n"
+#~ "           [ TABLESPACE [=] tablespace ]\n"
+#~ "           [ CONNECTION LIMIT [=] connlimit ] ]"
 #~ msgstr ""
-#~ "GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }\n"
-#~ "    [,...] | ALL [ PRIVILEGES ] }\n"
-#~ "    ON [ TABLE ] nom_table [, ...]\n"
-#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { { SELECT | INSERT | UPDATE | REFERENCES } ( colonne [, ...] )\n"
-#~ "    [,...] | ALL [ PRIVILEGES ] ( colonne [, ...] ) }\n"
-#~ "    ON [ TABLE ] nom_table [, ...]\n"
-#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { { USAGE | SELECT | UPDATE }\n"
-#~ "    [,...] | ALL [ PRIVILEGES ] }\n"
-#~ "    ON SEQUENCE nom_séquence [, ...]\n"
-#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }\n"
-#~ "    ON DATABASE nom_base [, ...]\n"
-#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON FOREIGN DATA WRAPPER nomfdw [, ...]\n"
-#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON FOREIGN SERVER nom_serveur [, ...]\n"
-#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { EXECUTE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON FUNCTION nom_fonction ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] ) [, ...]\n"
-#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON LANGUAGE nom_langage [, ...]\n"
-#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }\n"
-#~ "    ON SCHEMA nom_schéma [, ...]\n"
-#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT { CREATE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON TABLESPACE nom_tablespace [, ...]\n"
-#~ "    TO { [ GROUP ] nom_rôle | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
-#~ "\n"
-#~ "GRANT rôle [, ...] TO nom_rôle [, ...] [ WITH ADMIN OPTION ]"
+#~ "CREATE DATABASE nom\n"
+#~ "    [ [ WITH ] [ OWNER [=] nom_propriétaire ]\n"
+#~ "           [ TEMPLATE [=] modèle ]\n"
+#~ "           [ ENCODING [=] encodage ]\n"
+#~ "           [ LC_COLLATE [=] tri_caract ]\n"
+#~ "           [ LC_CTYPE [=] type_caract ]\n"
+#~ "           [ TABLESPACE [=] tablespace ]\n"
+#~ "           [ CONNECTION LIMIT [=] limite_connexion ] ]"
 
 #~ msgid ""
-#~ "INSERT INTO table [ ( column [, ...] ) ]\n"
-#~ "    { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query }\n"
-#~ "    [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]"
+#~ "CREATE [ DEFAULT ] CONVERSION name\n"
+#~ "    FOR source_encoding TO dest_encoding FROM funcname"
 #~ msgstr ""
-#~ "INSERT INTO table [ ( colonne [, ...] ) ]\n"
-#~ "    { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | requête }\n"
-#~ "    [ RETURNING * | expression_sortie [ [ AS ] nom_sortie ] [, ...] ]"
-
-#~ msgid "LISTEN name"
-#~ msgstr "LISTEN nom"
+#~ "CREATE [DEFAULT] CONVERSION nom\n"
+#~ "    FOR codage_source TO codage_cible FROM nom_fonction"
 
-#~ msgid "LOAD 'filename'"
-#~ msgstr "LOAD 'nom_de_fichier'"
+#~ msgid ""
+#~ "CREATE CONSTRAINT TRIGGER name\n"
+#~ "    AFTER event [ OR ... ]\n"
+#~ "    ON table_name\n"
+#~ "    [ FROM referenced_table_name ]\n"
+#~ "    { NOT DEFERRABLE | [ DEFERRABLE ] { INITIALLY IMMEDIATE | INITIALLY DEFERRED } }\n"
+#~ "    FOR EACH ROW\n"
+#~ "    EXECUTE PROCEDURE funcname ( arguments )"
+#~ msgstr ""
+#~ "CREATE CONSTRAINT TRIGGER nom\n"
+#~ "    AFTER événement [ OR ... ]\n"
+#~ "    ON table\n"
+#~ "    [ FROM table_référencée ]\n"
+#~ "    { NOT DEFERRABLE | [ DEFERRABLE ]        { INITIALLY IMMEDIATE | INITIALLY DEFERRED } }\n"
+#~ "    FOR EACH ROW\n"
+#~ "    EXECUTE PROCEDURE nom_fonction ( arguments )"
 
 #~ msgid ""
-#~ "LOCK [ TABLE ] [ ONLY ] name [, ...] [ IN lockmode MODE ] [ NOWAIT ]\n"
+#~ "CREATE CAST (sourcetype AS targettype)\n"
+#~ "    WITH FUNCTION funcname (argtypes)\n"
+#~ "    [ AS ASSIGNMENT | AS IMPLICIT ]\n"
 #~ "\n"
-#~ "where lockmode is one of:\n"
+#~ "CREATE CAST (sourcetype AS targettype)\n"
+#~ "    WITHOUT FUNCTION\n"
+#~ "    [ AS ASSIGNMENT | AS IMPLICIT ]\n"
 #~ "\n"
-#~ "    ACCESS SHARE | ROW SHARE | ROW EXCLUSIVE | SHARE UPDATE EXCLUSIVE\n"
-#~ "    | SHARE | SHARE ROW EXCLUSIVE | EXCLUSIVE | ACCESS EXCLUSIVE"
+#~ "CREATE CAST (sourcetype AS targettype)\n"
+#~ "    WITH INOUT\n"
+#~ "    [ AS ASSIGNMENT | AS IMPLICIT ]"
 #~ msgstr ""
-#~ "LOCK [ TABLE ] [ ONLY ] nom [, ...] [ IN mode_verrouillage MODE ] [ NOWAIT ]\n"
+#~ "CREATE CAST (type_source AS type_cible)\n"
+#~ "    WITH FUNCTION nom_fonction (type_argument)\n"
+#~ "    [ AS ASSIGNMENT | AS IMPLICIT ]\n"
 #~ "\n"
-#~ "avec mode_verrouillage parmi :\n"
+#~ "CREATE CAST (type_source AS type_cible)\n"
+#~ "    WITHOUT FUNCTION\n"
+#~ "    [ AS ASSIGNMENT | AS IMPLICIT ]\n"
 #~ "\n"
-#~ "    ACCESS SHARE | ROW SHARE | ROW EXCLUSIVE | SHARE UPDATE EXCLUSIVE\n"
-#~ "    | SHARE | SHARE ROW EXCLUSIVE | EXCLUSIVE | ACCESS EXCLUSIVE"
-
-#~ msgid "MOVE [ direction { FROM | IN } ] cursorname"
-#~ msgstr "MOVE [ direction { FROM | IN } ] nom_de_curseur"
-
-#~ msgid "NOTIFY name"
-#~ msgstr "NOTIFY nom"
-
-#~ msgid "PREPARE name [ ( datatype [, ...] ) ] AS statement"
-#~ msgstr "PREPARE nom_plan [ ( type_données [, ...] ) ] AS instruction"
-
-#~ msgid "PREPARE TRANSACTION transaction_id"
-#~ msgstr "PREPARE TRANSACTION id_transaction"
-
-#~ msgid "REASSIGN OWNED BY old_role [, ...] TO new_role"
-#~ msgstr "REASSIGN OWNED BY ancien_role [, ...] TO nouveau_role"
-
-#~ msgid "REINDEX { INDEX | TABLE | DATABASE | SYSTEM } name [ FORCE ]"
-#~ msgstr "REINDEX { INDEX | TABLE | DATABASE | SYSTEM } nom [ FORCE ]"
-
-#~ msgid "RELEASE [ SAVEPOINT ] savepoint_name"
-#~ msgstr "RELEASE [ SAVEPOINT ] nom_retour"
+#~ "CREATE CAST (type_source AS type_cible)\n"
+#~ "    WITH INOUT\n"
+#~ "    [ AS ASSIGNMENT | AS IMPLICIT ]"
 
 #~ msgid ""
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }\n"
-#~ "    [,...] | ALL [ PRIVILEGES ] }\n"
-#~ "    ON [ TABLE ] tablename [, ...]\n"
-#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "CREATE AGGREGATE name ( input_data_type [ , ... ] ) (\n"
+#~ "    SFUNC = sfunc,\n"
+#~ "    STYPE = state_data_type\n"
+#~ "    [ , FINALFUNC = ffunc ]\n"
+#~ "    [ , INITCOND = initial_condition ]\n"
+#~ "    [ , SORTOP = sort_operator ]\n"
+#~ ")\n"
 #~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { { SELECT | INSERT | UPDATE | REFERENCES } ( column [, ...] )\n"
-#~ "    [,...] | ALL [ PRIVILEGES ] ( column [, ...] ) }\n"
-#~ "    ON [ TABLE ] tablename [, ...]\n"
-#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "or the old syntax\n"
 #~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { { USAGE | SELECT | UPDATE }\n"
-#~ "    [,...] | ALL [ PRIVILEGES ] }\n"
-#~ "    ON SEQUENCE sequencename [, ...]\n"
-#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "CREATE AGGREGATE name (\n"
+#~ "    BASETYPE = base_type,\n"
+#~ "    SFUNC = sfunc,\n"
+#~ "    STYPE = state_data_type\n"
+#~ "    [ , FINALFUNC = ffunc ]\n"
+#~ "    [ , INITCOND = initial_condition ]\n"
+#~ "    [ , SORTOP = sort_operator ]\n"
+#~ ")"
+#~ msgstr ""
+#~ "CREATE AGGREGATE nom ( type_données_en_entrée [ , ... ] ) (\n"
+#~ "    SFUNC = sfonction,\n"
+#~ "    STYPE = type_données_état\n"
+#~ "    [ , FINALFUNC = fonction_f ]\n"
+#~ "    [ , INITCOND = condition_initiale ]\n"
+#~ "    [ , SORTOP = opérateur_tri ]\n"
+#~ ")\n"
 #~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }\n"
-#~ "    ON DATABASE dbname [, ...]\n"
-#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "ou l'ancienne syntaxe\n"
 #~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { USAGE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON FOREIGN DATA WRAPPER fdwname [, ...]\n"
-#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "CREATE AGGREGATE nom (\n"
+#~ "    BASETYPE = type_base,\n"
+#~ "    SFUNC = fonction_s,\n"
+#~ "    STYPE = type_données_état\n"
+#~ "    [ , FINALFUNC = fonction_f ]\n"
+#~ "    [ , INITCOND = condition_initiale ]\n"
+#~ "    [ , SORTOP = opérateur_tri ]\n"
+#~ ")"
+
+#~ msgid ""
+#~ "COPY tablename [ ( column [, ...] ) ]\n"
+#~ "    FROM { 'filename' | STDIN }\n"
+#~ "    [ [ WITH ] \n"
+#~ "          [ BINARY ]\n"
+#~ "          [ OIDS ]\n"
+#~ "          [ DELIMITER [ AS ] 'delimiter' ]\n"
+#~ "          [ NULL [ AS ] 'null string' ]\n"
+#~ "          [ CSV [ HEADER ]\n"
+#~ "                [ QUOTE [ AS ] 'quote' ] \n"
+#~ "                [ ESCAPE [ AS ] 'escape' ]\n"
+#~ "                [ FORCE NOT NULL column [, ...] ]\n"
 #~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { USAGE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON FOREIGN SERVER servername [, ...]\n"
-#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
-#~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { EXECUTE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON FUNCTION funcname ( [ [ argmode ] [ argname ] argtype [, ...] ] ) [, ...]\n"
-#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
-#~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { USAGE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON LANGUAGE langname [, ...]\n"
-#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
-#~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }\n"
-#~ "    ON SCHEMA schemaname [, ...]\n"
-#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
-#~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { CREATE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON TABLESPACE tablespacename [, ...]\n"
-#~ "    FROM { [ GROUP ] rolename | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "COPY { tablename [ ( column [, ...] ) ] | ( query ) }\n"
+#~ "    TO { 'filename' | STDOUT }\n"
+#~ "    [ [ WITH ] \n"
+#~ "          [ BINARY ]\n"
+#~ "          [ OIDS ]\n"
+#~ "          [ DELIMITER [ AS ] 'delimiter' ]\n"
+#~ "          [ NULL [ AS ] 'null string' ]\n"
+#~ "          [ CSV [ HEADER ]\n"
+#~ "                [ QUOTE [ AS ] 'quote' ] \n"
+#~ "                [ ESCAPE [ AS ] 'escape' ]\n"
+#~ "                [ FORCE QUOTE column [, ...] ]"
+#~ msgstr ""
+#~ "COPY nom_table [ ( colonne [, ...] ) ]\n"
+#~ "    FROM { 'nom_fichier' | STDIN }\n"
+#~ "    [ [ WITH ] \n"
+#~ "          [ BINARY ]\n"
+#~ "          [ OIDS ]\n"
+#~ "          [ DELIMITER [ AS ] 'délimiteur' ]\n"
+#~ "          [ NULL [ AS ] 'chaîne null' ]\n"
+#~ "          [ CSV [ HEADER ]\n"
+#~ "                [ QUOTE [ AS ] 'guillemet' ] \n"
+#~ "                [ ESCAPE [ AS ] 'échappement' ]\n"
+#~ "                [ FORCE NOT NULL colonne [, ...] ]\n"
 #~ "\n"
-#~ "REVOKE [ ADMIN OPTION FOR ]\n"
-#~ "    role [, ...] FROM rolename [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]"
+#~ "COPY { nom_table [ ( colonne [, ...] ) ] | ( requête ) }\n"
+#~ "    TO { 'nom_fichier' | STDOUT }\n"
+#~ "    [ [ WITH ] \n"
+#~ "          [ BINARY ]\n"
+#~ "          [ OIDS ]\n"
+#~ "          [ DELIMITER [ AS ] 'délimiteur' ]\n"
+#~ "          [ NULL [ AS ] 'chaîne null' ]\n"
+#~ "          [ CSV [ HEADER ]\n"
+#~ "                [ QUOTE [ AS ] 'guillemet' ] \n"
+#~ "                [ ESCAPE [ AS ] 'échappement' ]\n"
+#~ "                [ FORCE QUOTE colonne [, ...] ]"
+
+#~ msgid "COMMIT PREPARED transaction_id"
+#~ msgstr "COMMIT PREPARED id_transaction"
+
+#~ msgid "COMMIT [ WORK | TRANSACTION ]"
+#~ msgstr "COMMIT [ WORK | TRANSACTION ]"
+
+#~ msgid ""
+#~ "COMMENT ON\n"
+#~ "{\n"
+#~ "  TABLE object_name |\n"
+#~ "  COLUMN table_name.column_name |\n"
+#~ "  AGGREGATE agg_name (agg_type [, ...] ) |\n"
+#~ "  CAST (sourcetype AS targettype) |\n"
+#~ "  CONSTRAINT constraint_name ON table_name |\n"
+#~ "  CONVERSION object_name |\n"
+#~ "  DATABASE object_name |\n"
+#~ "  DOMAIN object_name |\n"
+#~ "  FUNCTION func_name ( [ [ argmode ] [ argname ] argtype [, ...] ] ) |\n"
+#~ "  INDEX object_name |\n"
+#~ "  LARGE OBJECT large_object_oid |\n"
+#~ "  OPERATOR op (leftoperand_type, rightoperand_type) |\n"
+#~ "  OPERATOR CLASS object_name USING index_method |\n"
+#~ "  OPERATOR FAMILY object_name USING index_method |\n"
+#~ "  [ PROCEDURAL ] LANGUAGE object_name |\n"
+#~ "  ROLE object_name |\n"
+#~ "  RULE rule_name ON table_name |\n"
+#~ "  SCHEMA object_name |\n"
+#~ "  SEQUENCE object_name |\n"
+#~ "  TABLESPACE object_name |\n"
+#~ "  TEXT SEARCH CONFIGURATION object_name |\n"
+#~ "  TEXT SEARCH DICTIONARY object_name |\n"
+#~ "  TEXT SEARCH PARSER object_name |\n"
+#~ "  TEXT SEARCH TEMPLATE object_name |\n"
+#~ "  TRIGGER trigger_name ON table_name |\n"
+#~ "  TYPE object_name |\n"
+#~ "  VIEW object_name\n"
+#~ "} IS 'text'"
 #~ msgstr ""
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }\n"
-#~ "    [,...] | ALL [ PRIVILEGES ] }\n"
-#~ "    ON [ TABLE ] nom_table [, ...]\n"
-#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "COMMENT ON\n"
+#~ "{\n"
+#~ "  TABLE nom_objet |\n"
+#~ "  COLUMN nom_table.nom_colonne |\n"
+#~ "  AGGREGATE nom_agg (type_agg [, ...] ) |\n"
+#~ "  CAST (type_source AS type_cible) |\n"
+#~ "  CONSTRAINT nom_contrainte ON nom_table |\n"
+#~ "  CONVERSION nom_objet |\n"
+#~ "  DATABASE nom_objet |\n"
+#~ "  DOMAIN nom_objet |\n"
+#~ "  FUNCTION nom_fonction ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] ) |\n"
+#~ "  INDEX nom_objet |\n"
+#~ "  LARGE OBJECT oid_LO |\n"
+#~ "  OPERATOR op (type_operande_gauche, type_operande_droit) |\n"
+#~ "  OPERATOR CLASS nom_objet USING methode_indexage |\n"
+#~ "  OPERATOR FAMILY nom_objet USING methode_indexage |\n"
+#~ "  [ PROCEDURAL ] LANGUAGE nom_objet |\n"
+#~ "  ROLE nom_objet |\n"
+#~ "  RULE nom_regle ON nom_table |\n"
+#~ "  SCHEMA nom_objet |\n"
+#~ "  SEQUENCE nom_objet |\n"
+#~ "  TABLESPACE nom_objet |\n"
+#~ "  TEXT SEARCH CONFIGURATION nom_objet |\n"
+#~ "  TEXT SEARCH DICTIONARY nom_objet |\n"
+#~ "  TEXT SEARCH PARSER nom_objet |\n"
+#~ "  TEXT SEARCH TEMPLATE nom_objet |\n"
+#~ "  TRIGGER nom_trigger ON nom_objet |\n"
+#~ "  TYPE nom_objet |\n"
+#~ "  VIEW nom_objet\n"
+#~ "} IS 'text'"
+
+#~ msgid ""
+#~ "CLUSTER [VERBOSE] tablename [ USING indexname ]\n"
+#~ "CLUSTER [VERBOSE]"
+#~ msgstr ""
+#~ "CLUSTER [VERBOSE] nom_table [ USING nom_index ]\n"
+#~ "CLUSTER [VERBOSE]"
+
+#~ msgid "CLOSE { name | ALL }"
+#~ msgstr "CLOSE { nom | ALL }"
+
+#~ msgid "CHECKPOINT"
+#~ msgstr "CHECKPOINT"
+
+#~ msgid ""
+#~ "BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]\n"
 #~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { { SELECT | INSERT | UPDATE | REFERENCES } ( colonne [, ...] )\n"
-#~ "    [,...] | ALL [ PRIVILEGES ] ( colonne [, ...] ) }\n"
-#~ "    ON [ TABLE ] nom_table [, ...]\n"
-#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "where transaction_mode is one of:\n"
 #~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { { USAGE | SELECT | UPDATE }\n"
-#~ "    [,...] | ALL [ PRIVILEGES ] }\n"
-#~ "    ON SEQUENCE nom_séquence [, ...]\n"
-#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }\n"
+#~ "    READ WRITE | READ ONLY"
+#~ msgstr ""
+#~ "BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]\n"
 #~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }\n"
-#~ "    ON DATABASE nom_base [, ...]\n"
-#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "où transaction_mode peut être :\n"
 #~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { USAGE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON FOREIGN DATA WRAPPER nom_fdw [, ...]\n"
-#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ |\n"
+#~ "                      READ COMMITTED | READ UNCOMMITTED }\n"
+#~ "    READ WRITE | READ ONLY"
+
+#~ msgid "ANALYZE [ VERBOSE ] [ table [ ( column [, ...] ) ] ]"
+#~ msgstr "ANALYZE [ VERBOSE ] [ table [ ( colonne [, ...] ) ] ]"
+
+#~ msgid ""
+#~ "ALTER VIEW name ALTER [ COLUMN ] column SET DEFAULT expression\n"
+#~ "ALTER VIEW name ALTER [ COLUMN ] column DROP DEFAULT\n"
+#~ "ALTER VIEW name OWNER TO new_owner\n"
+#~ "ALTER VIEW name RENAME TO new_name\n"
+#~ "ALTER VIEW name SET SCHEMA new_schema"
+#~ msgstr ""
+#~ "ALTER VIEW nom ALTER [ COLUMN ] colonne SET DEFAULT expression\n"
+#~ "ALTER VIEW nom ALTER [ COLUMN ] colonne DROP DEFAULT\n"
+#~ "ALTER VIEW nom OWNER TO nouveau_propriétaire\n"
+#~ "ALTER VIEW nom RENAME TO nouveau_nom\n"
+#~ "ALTER VIEW nom SET SCHEMA nouveau_schéma"
+
+#~ msgid ""
+#~ "ALTER USER MAPPING FOR { username | USER | CURRENT_USER | PUBLIC }\n"
+#~ "    SERVER servername\n"
+#~ "    OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] )"
+#~ msgstr ""
+#~ "ALTER USER MAPPING FOR { nom_utilisateur | USER | CURRENT_USER | PUBLIC }\n"
+#~ "    SERVER nom_serveur\n"
+#~ "    OPTIONS ( [ ADD | SET | DROP ] option ['valeur'] [, ... ] )"
+
+#~ msgid ""
+#~ "ALTER USER name [ [ WITH ] option [ ... ] ]\n"
 #~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { USAGE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON FOREIGN SERVER nom_serveur [, ...]\n"
-#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "where option can be:\n"
+#~ "    \n"
+#~ "      SUPERUSER | NOSUPERUSER\n"
+#~ "    | CREATEDB | NOCREATEDB\n"
+#~ "    | CREATEROLE | NOCREATEROLE\n"
+#~ "    | CREATEUSER | NOCREATEUSER\n"
+#~ "    | INHERIT | NOINHERIT\n"
+#~ "    | LOGIN | NOLOGIN\n"
+#~ "    | CONNECTION LIMIT connlimit\n"
+#~ "    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'\n"
+#~ "    | VALID UNTIL 'timestamp' \n"
 #~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { EXECUTE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON FUNCTION nom_fonction ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] ) [, ...]\n"
-#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "ALTER USER name RENAME TO newname\n"
 #~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { USAGE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON LANGUAGE nom_langage [, ...]\n"
-#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "ALTER USER name SET configuration_parameter { TO | = } { value | DEFAULT }\n"
+#~ "ALTER USER name SET configuration_parameter FROM CURRENT\n"
+#~ "ALTER USER name RESET configuration_parameter\n"
+#~ "ALTER USER name RESET ALL"
+#~ msgstr ""
+#~ "ALTER USER nom [ [ WITH ] option [ ... ] ]\n"
 #~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }\n"
-#~ "    ON SCHEMA nom_schéma [, ...]\n"
-#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "où option peut être :\n"
+#~ "    \n"
+#~ "      SUPERUSER | NOSUPERUSER\n"
+#~ "    | CREATEDB | NOCREATEDB\n"
+#~ "    | CREATEROLE | NOCREATEROLE\n"
+#~ "    | CREATEUSER | NOCREATEUSER\n"
+#~ "    | INHERIT | NOINHERIT\n"
+#~ "    | LOGIN | NOLOGIN\n"
+#~ "    | CONNECTION LIMIT limite_connexion\n"
+#~ "    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'motdepasse'\n"
+#~ "    | VALID UNTIL 'timestamp' \n"
 #~ "\n"
-#~ "REVOKE [ GRANT OPTION FOR ]\n"
-#~ "    { CREATE | ALL [ PRIVILEGES ] }\n"
-#~ "    ON TABLESPACE nom_tablespace [, ...]\n"
-#~ "    FROM { [ GROUP ] nom_rôle | PUBLIC } [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]\n"
+#~ "ALTER USER nom RENAME TO nouveau_nom\n"
 #~ "\n"
-#~ "REVOKE [ ADMIN OPTION FOR ]\n"
-#~ "    role [, ...] FROM nom_rôle [, ...]\n"
-#~ "    [ CASCADE | RESTRICT ]"
+#~ "ALTER USER nom SET paramètre { TO | = } { valeur | DEFAULT }\n"
+#~ "ALTER USER name SET paramètre FROM CURRENT\n"
+#~ "ALTER USER nom RESET paramètre\n"
+#~ "ALTER USER name RESET ALL"
 
-#~ msgid "ROLLBACK [ WORK | TRANSACTION ]"
-#~ msgstr "ROLLBACK [ WORK | TRANSACTION ]"
+#~ msgid ""
+#~ "ALTER TYPE name RENAME TO new_name\n"
+#~ "ALTER TYPE name OWNER TO new_owner \n"
+#~ "ALTER TYPE name SET SCHEMA new_schema"
+#~ msgstr ""
+#~ "ALTER TYPE nom RENAME TO nouveau_nom\n"
+#~ "ALTER TYPE nom OWNER TO nouveau_propriétaire\n"
+#~ "ALTER TYPE nom SET SCHEMA nouveau_schéma"
 
-#~ msgid "ROLLBACK PREPARED transaction_id"
-#~ msgstr "ROLLBACK PREPARED id_transaction"
+#~ msgid "ALTER TRIGGER name ON table RENAME TO newname"
+#~ msgstr "ALTER TRIGGER nom ON table RENAME TO nouveau_nom"
 
-#~ msgid "ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] savepoint_name"
-#~ msgstr "ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] nom_retour"
+#~ msgid "ALTER TEXT SEARCH TEMPLATE name RENAME TO newname"
+#~ msgstr "ALTER TEXT SEARCH TEMPLATE nom RENAME TO nouveau_nom"
+
+#~ msgid "ALTER TEXT SEARCH PARSER name RENAME TO newname"
+#~ msgstr "ALTER TEXT SEARCH PARSER nom RENAME TO nouveau_nom"
 
 #~ msgid ""
-#~ "[ WITH [ RECURSIVE ] with_query [, ...] ]\n"
-#~ "SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]\n"
-#~ "    * | expression [ [ AS ] output_name ] [, ...]\n"
-#~ "    [ FROM from_item [, ...] ]\n"
-#~ "    [ WHERE condition ]\n"
-#~ "    [ GROUP BY expression [, ...] ]\n"
-#~ "    [ HAVING condition [, ...] ]\n"
-#~ "    [ WINDOW window_name AS ( window_definition ) [, ...] ]\n"
-#~ "    [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]\n"
-#~ "    [ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS { FIRST | LAST } ] [, ...] ]\n"
-#~ "    [ LIMIT { count | ALL } ]\n"
-#~ "    [ OFFSET start [ ROW | ROWS ] ]\n"
-#~ "    [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ]\n"
-#~ "    [ FOR { UPDATE | SHARE } [ OF table_name [, ...] ] [ NOWAIT ] [...] ]\n"
+#~ "ALTER TEXT SEARCH DICTIONARY name (\n"
+#~ "    option [ = value ] [, ... ]\n"
+#~ ")\n"
+#~ "ALTER TEXT SEARCH DICTIONARY name RENAME TO newname\n"
+#~ "ALTER TEXT SEARCH DICTIONARY name OWNER TO newowner"
+#~ msgstr ""
+#~ "ALTER TEXT SEARCH DICTIONARY nom (\n"
+#~ "    option [ = valeur ] [, ... ]\n"
+#~ ")\n"
+#~ "ALTER TEXT SEARCH DICTIONARY nom RENAME TO nouveau_nom\n"
+#~ "ALTER TEXT SEARCH DICTIONARY nom OWNER TO nouveau_propriétaire"
+
+#~ msgid ""
+#~ "ALTER TEXT SEARCH CONFIGURATION name\n"
+#~ "    ADD MAPPING FOR token_type [, ... ] WITH dictionary_name [, ... ]\n"
+#~ "ALTER TEXT SEARCH CONFIGURATION name\n"
+#~ "    ALTER MAPPING FOR token_type [, ... ] WITH dictionary_name [, ... ]\n"
+#~ "ALTER TEXT SEARCH CONFIGURATION name\n"
+#~ "    ALTER MAPPING REPLACE old_dictionary WITH new_dictionary\n"
+#~ "ALTER TEXT SEARCH CONFIGURATION name\n"
+#~ "    ALTER MAPPING FOR token_type [, ... ] REPLACE old_dictionary WITH new_dictionary\n"
+#~ "ALTER TEXT SEARCH CONFIGURATION name\n"
+#~ "    DROP MAPPING [ IF EXISTS ] FOR token_type [, ... ]\n"
+#~ "ALTER TEXT SEARCH CONFIGURATION name RENAME TO newname\n"
+#~ "ALTER TEXT SEARCH CONFIGURATION name OWNER TO newowner"
+#~ msgstr ""
+#~ "ALTER TEXT SEARCH CONFIGURATION nom\n"
+#~ "    ADD MAPPING FOR type_jeton [, ... ] WITH nom_dictionnaire [, ... ]\n"
+#~ "ALTER TEXT SEARCH CONFIGURATION nom\n"
+#~ "    ALTER MAPPING FOR type_jeton [, ... ] WITH nom_dictionnaire [, ... ]\n"
+#~ "ALTER TEXT SEARCH CONFIGURATION nom\n"
+#~ "    ALTER MAPPING REPLACE ancien_dictionnaire WITH nouveau_dictionnaire\n"
+#~ "ALTER TEXT SEARCH CONFIGURATION nom\n"
+#~ "    ALTER MAPPING FOR type_jeton [, ... ]\n"
+#~ "    REPLACE ancien_dictionnaire WITH nouveau_dictionnaire\n"
+#~ "ALTER TEXT SEARCH CONFIGURATION nom\n"
+#~ "    DROP MAPPING [ IF EXISTS ] FOR type_jeton [, ... ]\n"
+#~ "ALTER TEXT SEARCH CONFIGURATION nom RENAME TO nouveau_nom\n"
+#~ "ALTER TEXT SEARCH CONFIGURATION nom OWNER TO nouveau_propriétaire"
+
+#~ msgid ""
+#~ "ALTER TABLESPACE name RENAME TO newname\n"
+#~ "ALTER TABLESPACE name OWNER TO newowner"
+#~ msgstr ""
+#~ "ALTER TABLESPACE nom RENAME TO nouveau_nom\n"
+#~ "ALTER TABLESPACE nom OWNER TO nouveau_propriétaire"
+
+#~ msgid ""
+#~ "ALTER TABLE [ ONLY ] name [ * ]\n"
+#~ "    action [, ... ]\n"
+#~ "ALTER TABLE [ ONLY ] name [ * ]\n"
+#~ "    RENAME [ COLUMN ] column TO new_column\n"
+#~ "ALTER TABLE name\n"
+#~ "    RENAME TO new_name\n"
+#~ "ALTER TABLE name\n"
+#~ "    SET SCHEMA new_schema\n"
 #~ "\n"
-#~ "where from_item can be one of:\n"
+#~ "where action is one of:\n"
 #~ "\n"
-#~ "    [ ONLY ] table_name [ * ] [ [ AS ] alias [ ( column_alias [, ...] ) ] ]\n"
-#~ "    ( select ) [ AS ] alias [ ( column_alias [, ...] ) ]\n"
-#~ "    with_query_name [ [ AS ] alias [ ( column_alias [, ...] ) ] ]\n"
-#~ "    function_name ( [ argument [, ...] ] ) [ AS ] alias [ ( column_alias [, ...] | column_definition [, ...] ) ]\n"
-#~ "    function_name ( [ argument [, ...] ] ) AS ( column_definition [, ...] )\n"
-#~ "    from_item [ NATURAL ] join_type from_item [ ON join_condition | USING ( join_column [, ...] ) ]\n"
+#~ "    ADD [ COLUMN ] column type [ column_constraint [ ... ] ]\n"
+#~ "    DROP [ COLUMN ] column [ RESTRICT | CASCADE ]\n"
+#~ "    ALTER [ COLUMN ] column [ SET DATA ] TYPE type [ USING expression ]\n"
+#~ "    ALTER [ COLUMN ] column SET DEFAULT expression\n"
+#~ "    ALTER [ COLUMN ] column DROP DEFAULT\n"
+#~ "    ALTER [ COLUMN ] column { SET | DROP } NOT NULL\n"
+#~ "    ALTER [ COLUMN ] column SET STATISTICS integer\n"
+#~ "    ALTER [ COLUMN ] column SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }\n"
+#~ "    ADD table_constraint\n"
+#~ "    DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]\n"
+#~ "    DISABLE TRIGGER [ trigger_name | ALL | USER ]\n"
+#~ "    ENABLE TRIGGER [ trigger_name | ALL | USER ]\n"
+#~ "    ENABLE REPLICA TRIGGER trigger_name\n"
+#~ "    ENABLE ALWAYS TRIGGER trigger_name\n"
+#~ "    DISABLE RULE rewrite_rule_name\n"
+#~ "    ENABLE RULE rewrite_rule_name\n"
+#~ "    ENABLE REPLICA RULE rewrite_rule_name\n"
+#~ "    ENABLE ALWAYS RULE rewrite_rule_name\n"
+#~ "    CLUSTER ON index_name\n"
+#~ "    SET WITHOUT CLUSTER\n"
+#~ "    SET WITH OIDS\n"
+#~ "    SET WITHOUT OIDS\n"
+#~ "    SET ( storage_parameter = value [, ... ] )\n"
+#~ "    RESET ( storage_parameter [, ... ] )\n"
+#~ "    INHERIT parent_table\n"
+#~ "    NO INHERIT parent_table\n"
+#~ "    OWNER TO new_owner\n"
+#~ "    SET TABLESPACE new_tablespace"
+#~ msgstr ""
+#~ "ALTER TABLE [ ONLY ] nom [ * ]\n"
+#~ "    action [, ... ]\n"
+#~ "ALTER TABLE [ ONLY ] nom [ * ]\n"
+#~ "    RENAME [ COLUMN ] colonne TO nouvelle_colonne\n"
+#~ "ALTER TABLE nom\n"
+#~ "    RENAME TO nouveau_nom\n"
+#~ "ALTER TABLE nom\n"
+#~ "    SET SCHEMA nouveau_schema\n"
+#~ "\n"
+#~ "où action peut être :\n"
+#~ "\n"
+#~ "    ADD [ COLUMN ] colonne type [ contrainte_colonne [ ... ] ]\n"
+#~ "    DROP [ COLUMN ] colonne [ RESTRICT | CASCADE ]\n"
+#~ "    ALTER [ COLUMN ] colonne [ SET DATA ] TYPE type [ USING expression ]\n"
+#~ "    ALTER [ COLUMN ] colonne SET DEFAULT expression\n"
+#~ "    ALTER [ COLUMN ] colonne DROP DEFAULT\n"
+#~ "    ALTER [ COLUMN ] colonne { SET | DROP } NOT NULL\n"
+#~ "    ALTER [ COLUMN ] colonne SET STATISTICS entier\n"
+#~ "    ALTER [ COLUMN ] colonne SET STORAGE\n"
+#~ "        { PLAIN | EXTERNAL | EXTENDED | MAIN }\n"
+#~ "    ADD contrainte_table\n"
+#~ "    DROP CONSTRAINT nom_contrainte [ RESTRICT | CASCADE ]\n"
+#~ "    DISABLE TRIGGER [ nom_trigger | ALL | USER ]\n"
+#~ "    ENABLE TRIGGER [ nom_trigger | ALL | USER ]\n"
+#~ "    ENABLE REPLICA TRIGGER nom_trigger\n"
+#~ "    ENABLE ALWAYS TRIGGER nom_trigger\n"
+#~ "    DISABLE RULE nom_règle_réécriture\n"
+#~ "    ENABLE RULE nom_règle_réécriture\n"
+#~ "    ENABLE REPLICA RULE nom_règle_réécriture\n"
+#~ "    ENABLE ALWAYS RULE nom_règle_réécriture\n"
+#~ "    CLUSTER ON nom_index\n"
+#~ "    SET WITHOUT CLUSTER\n"
+#~ "    SET WITH OIDS\n"
+#~ "    SET WITHOUT OIDS\n"
+#~ "    SET ( paramètre_stockage = valeur [, ... ] )\n"
+#~ "    RESET ( paramètre_stockage [, ... ] )\n"
+#~ "    INHERIT table_parent\n"
+#~ "    NO INHERIT table_parent\n"
+#~ "    OWNER TO nouveau_propriétaire\n"
+#~ "    SET TABLESPACE nouveau_tablespace"
+
+#~ msgid ""
+#~ "ALTER SERVER servername [ VERSION 'newversion' ]\n"
+#~ "    [ OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ] ) ]\n"
+#~ "ALTER SERVER servername OWNER TO new_owner"
+#~ msgstr ""
+#~ "ALTER SERVER nom [ VERSION 'nouvelleversion' ]\n"
+#~ "    [ OPTIONS ( [ ADD | SET | DROP ] option ['valeur'] [, ... ] ) ]\n"
+#~ "ALTER SERVER nom OWNER TO nouveau_propriétaire"
+
+#~ msgid ""
+#~ "ALTER SEQUENCE name [ INCREMENT [ BY ] increment ]\n"
+#~ "    [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ]\n"
+#~ "    [ START [ WITH ] start ]\n"
+#~ "    [ RESTART [ [ WITH ] restart ] ]\n"
+#~ "    [ CACHE cache ] [ [ NO ] CYCLE ]\n"
+#~ "    [ OWNED BY { table.column | NONE } ]\n"
+#~ "ALTER SEQUENCE name OWNER TO new_owner\n"
+#~ "ALTER SEQUENCE name RENAME TO new_name\n"
+#~ "ALTER SEQUENCE name SET SCHEMA new_schema"
+#~ msgstr ""
+#~ "ALTER SEQUENCE nom [ INCREMENT [ BY ] incrément ]\n"
+#~ "    [ MINVALUE valeur_min | NO MINVALUE ] [ MAXVALUE valeur_max | NO MAXVALUE ]\n"
+#~ "    [ START [ WITH ] valeur_début ]\n"
+#~ "    [ RESTART [ [ WITH ] valeur_redémarrage ] ]\n"
+#~ "    [ CACHE cache ] [ [ NO ] CYCLE ]\n"
+#~ "    [ OWNED BY { table.colonne | NONE } ]\n"
+#~ "ALTER SEQUENCE nom OWNER TO new_propriétaire\n"
+#~ "ALTER SEQUENCE nom RENAME TO new_nom\n"
+#~ "ALTER SEQUENCE nom SET SCHEMA new_schéma"
+
+#~ msgid ""
+#~ "ALTER SCHEMA name RENAME TO newname\n"
+#~ "ALTER SCHEMA name OWNER TO newowner"
+#~ msgstr ""
+#~ "ALTER SCHEMA nom RENAME TO nouveau_nom\n"
+#~ "ALTER SCHEMA nom OWNER TO nouveau_propriétaire"
+
+#~ msgid ""
+#~ "ALTER ROLE name [ [ WITH ] option [ ... ] ]\n"
 #~ "\n"
-#~ "and with_query is:\n"
+#~ "where option can be:\n"
+#~ "    \n"
+#~ "      SUPERUSER | NOSUPERUSER\n"
+#~ "    | CREATEDB | NOCREATEDB\n"
+#~ "    | CREATEROLE | NOCREATEROLE\n"
+#~ "    | CREATEUSER | NOCREATEUSER\n"
+#~ "    | INHERIT | NOINHERIT\n"
+#~ "    | LOGIN | NOLOGIN\n"
+#~ "    | CONNECTION LIMIT connlimit\n"
+#~ "    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'\n"
+#~ "    | VALID UNTIL 'timestamp' \n"
 #~ "\n"
-#~ "    with_query_name [ ( column_name [, ...] ) ] AS ( select )\n"
+#~ "ALTER ROLE name RENAME TO newname\n"
 #~ "\n"
-#~ "TABLE { [ ONLY ] table_name [ * ] | with_query_name }"
+#~ "ALTER ROLE name SET configuration_parameter { TO | = } { value | DEFAULT }\n"
+#~ "ALTER ROLE name SET configuration_parameter FROM CURRENT\n"
+#~ "ALTER ROLE name RESET configuration_parameter\n"
+#~ "ALTER ROLE name RESET ALL"
 #~ msgstr ""
-#~ "[ WITH [ RECURSIVE ] requête_with [, ...] ]\n"
-#~ "SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]\n"
-#~ "    * | expression [ [ AS ] nom_sortie ] [, ...]\n"
-#~ "    [ FROM élément_from [, ...] ]\n"
-#~ "    [ WHERE condition ]\n"
-#~ "    [ GROUP BY expression [, ...] ]\n"
-#~ "    [ HAVING condition [, ...] ]\n"
-#~ "    [ WINDOW nom_window AS ( définition_window ) [, ...] ]\n"
-#~ "    [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]\n"
-#~ "    [ ORDER BY expression [ ASC | DESC | USING opérateur ] [ NULLS { FIRST | LAST } ] [, ...] ]\n"
-#~ "    [ LIMIT { total | ALL } ]\n"
-#~ "    [ OFFSET début [ ROW | ROWS ] ]\n"
-#~ "    [ FETCH { FIRST | NEXT } [ total ] { ROW | ROWS } ONLY ]\n"
-#~ "    [ FOR { UPDATE | SHARE } [ OF nom_table [, ...] ] [ NOWAIT ] [...] ]\n"
-#~ "\n"
-#~ "avec élément_from faisant parti de :\n"
-#~ "\n"
-#~ "    [ ONLY ] nom_table [ * ] [ [ AS ] alias [ ( alias_colonne [, ...] ) ] ]\n"
-#~ "    ( select ) [ AS ] alias [ ( alias_colonne [, ...] ) ]\n"
-#~ "    nom_requête_with [ [ AS ] alias [ ( alias_colonne [, ...] ) ] ]\n"
-#~ "    nom_fonction ( [ argument [, ...] ] ) [ AS ] alias [ ( alias_colonne [, ...] | définition_colonne [, ...] ) ]\n"
-#~ "    nom_fonction ( [ argument [, ...] ] ) AS ( définition_colonne [, ...] )\n"
-#~ "    élément_from [ NATURAL ] type_jointure élément_from [ ON condition_jointure | USING ( colonne_jointure [, ...] ) ]\n"
+#~ "ALTER ROLE nom [ [ WITH ] option [ ... ] ]\n"
 #~ "\n"
-#~ "et requête_with est:\n"
+#~ "où option peut être :\n"
+#~ "    \n"
+#~ "      SUPERUSER | NOSUPERUSER\n"
+#~ "    | CREATEDB | NOCREATEDB\n"
+#~ "    | CREATEROLE | NOCREATEROLE\n"
+#~ "    | CREATEUSER | NOCREATEUSER\n"
+#~ "    | INHERIT | NOINHERIT\n"
+#~ "    | LOGIN | NOLOGIN\n"
+#~ "    | CONNECTION LIMIT limite_connexions\n"
+#~ "    | [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'mot de passe'\n"
+#~ "    | VALID UNTIL 'timestamp' \n"
 #~ "\n"
-#~ "    nom_requête_with [ ( nom_colonne [, ...] ) ] AS ( select )\n"
+#~ "ALTER ROLE nom RENAME TO nouveau_nom\n"
 #~ "\n"
-#~ "TABLE { [ ONLY ] nom_table [ * ] | nom_requête_with }"
+#~ "ALTER ROLE nom SET paramètre { TO | = } { valeur | DEFAULT }\n"
+#~ "ALTER ROLE name SET paramètre FROM CURRENT\n"
+#~ "ALTER ROLE nom RESET paramètre\n"
+#~ "ALTER ROLE name RESET ALL"
 
 #~ msgid ""
-#~ "[ WITH [ RECURSIVE ] with_query [, ...] ]\n"
-#~ "SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]\n"
-#~ "    * | expression [ [ AS ] output_name ] [, ...]\n"
-#~ "    INTO [ TEMPORARY | TEMP ] [ TABLE ] new_table\n"
-#~ "    [ FROM from_item [, ...] ]\n"
-#~ "    [ WHERE condition ]\n"
-#~ "    [ GROUP BY expression [, ...] ]\n"
-#~ "    [ HAVING condition [, ...] ]\n"
-#~ "    [ WINDOW window_name AS ( window_definition ) [, ...] ]\n"
-#~ "    [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]\n"
-#~ "    [ ORDER BY expression [ ASC | DESC | USING operator ] [ NULLS { FIRST | LAST } ] [, ...] ]\n"
-#~ "    [ LIMIT { count | ALL } ]\n"
-#~ "    [ OFFSET start [ ROW | ROWS ] ]\n"
-#~ "    [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ]\n"
-#~ "    [ FOR { UPDATE | SHARE } [ OF table_name [, ...] ] [ NOWAIT ] [...] ]"
+#~ "ALTER OPERATOR FAMILY name USING index_method ADD\n"
+#~ "  {  OPERATOR strategy_number operator_name ( op_type, op_type )\n"
+#~ "   | FUNCTION support_number [ ( op_type [ , op_type ] ) ] funcname ( argument_type [, ...] )\n"
+#~ "  } [, ... ]\n"
+#~ "ALTER OPERATOR FAMILY name USING index_method DROP\n"
+#~ "  {  OPERATOR strategy_number ( op_type [ , op_type ] )\n"
+#~ "   | FUNCTION support_number ( op_type [ , op_type ] )\n"
+#~ "  } [, ... ]\n"
+#~ "ALTER OPERATOR FAMILY name USING index_method RENAME TO newname\n"
+#~ "ALTER OPERATOR FAMILY name USING index_method OWNER TO newowner"
 #~ msgstr ""
-#~ "[ WITH [ RECURSIVE ] requête_with [, ...] ]\n"
-#~ "SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]\n"
-#~ "    * | expression [ [ AS ] nom_sortie ] [, ...]\n"
-#~ "    INTO [ TEMPORARY | TEMP ] [ TABLE ] nouvelle_table\n"
-#~ "    [ FROM élément_from [, ...] ]\n"
-#~ "    [ WHERE condition ]\n"
-#~ "    [ GROUP BY expression [, ...] ]\n"
-#~ "    [ HAVING condition [, ...] ]\n"
-#~ "    [ WINDOW nom_window AS ( définition_window ) [, ...] ]\n"
-#~ "    [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]\n"
-#~ "    [ ORDER BY expression [ ASC | DESC | USING opérateur ] [ NULLS { FIRST | LAST } ] [, ...] ]\n"
-#~ "    [ LIMIT { total | ALL } ]\n"
-#~ "    [ OFFSET début [ ROW | ROWS ] ]\n"
-#~ "    [ FETCH { FIRST | NEXT } [ total ] { ROW | ROWS } ONLY ]\n"
-#~ "    [ FOR { UPDATE | SHARE } [ OF nom_table [, ...] ] [ NOWAIT ] [...] ]"
+#~ "ALTER OPERATOR FAMILY nom USING méthode_indexage ADD\n"
+#~ "  {  OPERATOR numéro_stratégie nom_opérateur ( type_op, type_op ) \n"
+#~ "    | FUNCTION numéro_support [ ( type_op [ , type_op ] ) ]\n"
+#~ "      nom_fonction ( type_argument [, ...] )\n"
+#~ "  } [, ... ]\n"
+#~ "ALTER OPERATOR FAMILY nom USING méthode_indexage DROP\n"
+#~ "  {  OPERATOR numéro_stratégie ( type_op [ , type_op ] )\n"
+#~ "    | FUNCTION numéro_support ( type_op [ , type_op ] )\n"
+#~ "  } [, ... ]\n"
+#~ "ALTER OPERATOR FAMILY nom USING méthode_indexage\n"
+#~ "  RENAME TO nouveau_nom\n"
+#~ "ALTER OPERATOR FAMILY nom USING méthode_indexage\n"
+#~ "  OWNER TO nouveau_propriétaire"
 
 #~ msgid ""
-#~ "SET [ SESSION | LOCAL ] configuration_parameter { TO | = } { value | 'value' | DEFAULT }\n"
-#~ "SET [ SESSION | LOCAL ] TIME ZONE { timezone | LOCAL | DEFAULT }"
+#~ "ALTER OPERATOR CLASS name USING index_method RENAME TO newname\n"
+#~ "ALTER OPERATOR CLASS name USING index_method OWNER TO newowner"
 #~ msgstr ""
-#~ "SET [ SESSION | LOCAL ] paramètre { TO | = } { valeur | 'valeur' | DEFAULT }\n"
-#~ "SET [ SESSION | LOCAL ] TIME ZONE { zone_horaire | LOCAL | DEFAULT }"
+#~ "ALTER OPERATOR CLASS nom USING méthode_indexation\n"
+#~ "  RENAME TO nouveau_nom\n"
+#~ "ALTER OPERATOR CLASS nom USING méthode_indexation\n"
+#~ "  OWNER TO nouveau_propriétaire"
 
-#~ msgid "SET CONSTRAINTS { ALL | name [, ...] } { DEFERRED | IMMEDIATE }"
-#~ msgstr "SET CONSTRAINTS { ALL | nom [, ...] } { DEFERRED | IMMEDIATE }"
+#~ msgid "ALTER OPERATOR name ( { lefttype | NONE } , { righttype | NONE } ) OWNER TO newowner"
+#~ msgstr ""
+#~ "ALTER OPERATOR nom ( { lefttype | NONE } , { righttype | NONE } )\n"
+#~ "  OWNER TO nouveau_propriétaire"
 
 #~ msgid ""
-#~ "SET [ SESSION | LOCAL ] ROLE rolename\n"
-#~ "SET [ SESSION | LOCAL ] ROLE NONE\n"
-#~ "RESET ROLE"
+#~ "ALTER [ PROCEDURAL ] LANGUAGE name RENAME TO newname\n"
+#~ "ALTER [ PROCEDURAL ] LANGUAGE name OWNER TO new_owner"
 #~ msgstr ""
-#~ "SET [ SESSION | LOCAL ] ROLE nom_rôle\n"
-#~ "SET [ SESSION | LOCAL ] ROLE NONE\n"
-#~ "RESET ROLE"
+#~ "ALTER [ PROCEDURAL ] LANGUAGE nom RENAME TO nouveau_nom\n"
+#~ "ALTER [ PROCEDURAL ] LANGUAGE nom OWNER TO nouveau_propriétaire"
 
 #~ msgid ""
-#~ "SET [ SESSION | LOCAL ] SESSION AUTHORIZATION username\n"
-#~ "SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT\n"
-#~ "RESET SESSION AUTHORIZATION"
+#~ "ALTER INDEX name RENAME TO new_name\n"
+#~ "ALTER INDEX name SET TABLESPACE tablespace_name\n"
+#~ "ALTER INDEX name SET ( storage_parameter = value [, ... ] )\n"
+#~ "ALTER INDEX name RESET ( storage_parameter [, ... ] )"
 #~ msgstr ""
-#~ "SET [ SESSION | LOCAL ] SESSION AUTHORIZATION nom_utilisateur\n"
-#~ "SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT\n"
-#~ "RESET SESSION AUTHORIZATION"
+#~ "ALTER INDEX nom RENAME TO nouveau_nom\n"
+#~ "ALTER INDEX nom SET TABLESPACE nom_tablespace\n"
+#~ "ALTER INDEX nom SET ( paramètre_stockage = valeur [, ... ] )\n"
+#~ "ALTER INDEX nom RESET ( paramètre_stockage [, ... ] )"
+
+#~ msgid ""
+#~ "ALTER GROUP groupname ADD USER username [, ... ]\n"
+#~ "ALTER GROUP groupname DROP USER username [, ... ]\n"
+#~ "\n"
+#~ "ALTER GROUP groupname RENAME TO newname"
+#~ msgstr ""
+#~ "ALTER GROUP nom_groupe ADD USER nom_utilisateur [, ... ]\n"
+#~ "ALTER GROUP nom_groupe DROP USER nom_utilisateur [, ... ]\n"
+#~ "\n"
+#~ "ALTER GROUP nom_groupe RENAME TO nouveau_nom"
+
+#~ msgid ""
+#~ "ALTER FUNCTION name ( [ [ argmode ] [ argname ] argtype [, ...] ] )\n"
+#~ "    action [ ... ] [ RESTRICT ]\n"
+#~ "ALTER FUNCTION name ( [ [ argmode ] [ argname ] argtype [, ...] ] )\n"
+#~ "    RENAME TO new_name\n"
+#~ "ALTER FUNCTION name ( [ [ argmode ] [ argname ] argtype [, ...] ] )\n"
+#~ "    OWNER TO new_owner\n"
+#~ "ALTER FUNCTION name ( [ [ argmode ] [ argname ] argtype [, ...] ] )\n"
+#~ "    SET SCHEMA new_schema\n"
+#~ "\n"
+#~ "where action is one of:\n"
+#~ "\n"
+#~ "    CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT\n"
+#~ "    IMMUTABLE | STABLE | VOLATILE\n"
+#~ "    [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER\n"
+#~ "    COST execution_cost\n"
+#~ "    ROWS result_rows\n"
+#~ "    SET configuration_parameter { TO | = } { value | DEFAULT }\n"
+#~ "    SET configuration_parameter FROM CURRENT\n"
+#~ "    RESET configuration_parameter\n"
+#~ "    RESET ALL"
+#~ msgstr ""
+#~ "ALTER FUNCTION nom ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] )\n"
+#~ "    action [, ... ] [ RESTRICT ]\n"
+#~ "ALTER FUNCTION nom ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] )\n"
+#~ "    RENAME TO nouveau_nom\n"
+#~ "ALTER FUNCTION nom ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] )\n"
+#~ "    OWNER TO nouveau_proprietaire\n"
+#~ "ALTER FUNCTION nom ( [ [ mode_arg ] [ nom_arg ] type_arg [, ...] ] )\n"
+#~ "    SET SCHEMA nouveau_schema\n"
+#~ "\n"
+#~ "où action peut être :\n"
+#~ "\n"
+#~ "    CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT\n"
+#~ "    IMMUTABLE | STABLE | VOLATILE\n"
+#~ "    [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER\n"
+#~ "    COST cout_execution\n"
+#~ "    ROWS lignes_resultats\n"
+#~ "    SET paramètre { TO | = } { valeur | DEFAULT }\n"
+#~ "    SET paramètre FROM CURRENT\n"
+#~ "    RESET paramètre\n"
+#~ "    RESET ALL"
+
+#~ msgid ""
+#~ "ALTER FOREIGN DATA WRAPPER name\n"
+#~ "    [ VALIDATOR valfunction | NO VALIDATOR ]\n"
+#~ "    [ OPTIONS ( [ ADD | SET | DROP ] option ['value'] [, ... ]) ]\n"
+#~ "ALTER FOREIGN DATA WRAPPER name OWNER TO new_owner"
+#~ msgstr ""
+#~ "ALTER FOREIGN DATA WRAPPER nom\n"
+#~ "    [ VALIDATOR fonction_validation | NO VALIDATOR ]\n"
+#~ "    [ OPTIONS ( [ ADD | SET | DROP ] option ['valeur'] [, ... ]) ]\n"
+#~ "ALTER FOREIGN DATA WRAPPER nom OWNER TO nouveau_propriétaire"
+
+#~ msgid ""
+#~ "ALTER DOMAIN name\n"
+#~ "    { SET DEFAULT expression | DROP DEFAULT }\n"
+#~ "ALTER DOMAIN name\n"
+#~ "    { SET | DROP } NOT NULL\n"
+#~ "ALTER DOMAIN name\n"
+#~ "    ADD domain_constraint\n"
+#~ "ALTER DOMAIN name\n"
+#~ "    DROP CONSTRAINT constraint_name [ RESTRICT | CASCADE ]\n"
+#~ "ALTER DOMAIN name\n"
+#~ "    OWNER TO new_owner \n"
+#~ "ALTER DOMAIN name\n"
+#~ "    SET SCHEMA new_schema"
+#~ msgstr ""
+#~ "ALTER DOMAIN nom\n"
+#~ "    { SET DEFAULT expression | DROP DEFAULT }\n"
+#~ "ALTER DOMAIN nom\n"
+#~ "    { SET | DROP } NOT NULL\n"
+#~ "ALTER DOMAIN nom\n"
+#~ "    ADD contrainte_domaine\n"
+#~ "ALTER DOMAIN nom\n"
+#~ "    DROP CONSTRAINT nom_contrainte [ RESTRICT | CASCADE ]\n"
+#~ "ALTER DOMAIN nom\n"
+#~ "    OWNER TO nouveau_propriétaire \n"
+#~ "ALTER DOMAIN nom\n"
+#~ "    SET SCHEMA nouveau_schéma"
 
 #~ msgid ""
-#~ "SET TRANSACTION transaction_mode [, ...]\n"
-#~ "SET SESSION CHARACTERISTICS AS TRANSACTION transaction_mode [, ...]\n"
+#~ "ALTER DATABASE name [ [ WITH ] option [ ... ] ]\n"
 #~ "\n"
-#~ "where transaction_mode is one of:\n"
+#~ "where option can be:\n"
 #~ "\n"
-#~ "    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }\n"
-#~ "    READ WRITE | READ ONLY"
-#~ msgstr ""
-#~ "SET TRANSACTION mode_transaction [, ...]\n"
-#~ "SET SESSION CHARACTERISTICS AS TRANSACTION mode_transaction [, ...]\n"
+#~ "    CONNECTION LIMIT connlimit\n"
 #~ "\n"
-#~ "où mode_transaction peut être :\n"
+#~ "ALTER DATABASE name RENAME TO newname\n"
 #~ "\n"
-#~ "    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ |\n"
-#~ "                      READ COMMITTED | READ UNCOMMITTED }\n"
-#~ "    READ WRITE | READ ONLY"
-
-#~ msgid ""
-#~ "SHOW name\n"
-#~ "SHOW ALL"
-#~ msgstr ""
-#~ "SHOW nom\n"
-#~ "SHOW ALL"
-
-#~ msgid ""
-#~ "START TRANSACTION [ transaction_mode [, ...] ]\n"
+#~ "ALTER DATABASE name OWNER TO new_owner\n"
 #~ "\n"
-#~ "where transaction_mode is one of:\n"
+#~ "ALTER DATABASE name SET TABLESPACE new_tablespace\n"
 #~ "\n"
-#~ "    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }\n"
-#~ "    READ WRITE | READ ONLY"
+#~ "ALTER DATABASE name SET configuration_parameter { TO | = } { value | DEFAULT }\n"
+#~ "ALTER DATABASE name SET configuration_parameter FROM CURRENT\n"
+#~ "ALTER DATABASE name RESET configuration_parameter\n"
+#~ "ALTER DATABASE name RESET ALL"
 #~ msgstr ""
-#~ "START TRANSACTION [ mode_transaction [, ...] ]\n"
+#~ "ALTER DATABASE nom [ [ WITH ] option [ ... ] ]\n"
 #~ "\n"
-#~ "où mode_transaction peut être :\n"
+#~ "où option peut être:\n"
 #~ "\n"
-#~ "    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ |\n"
-#~ "                      READ COMMITTED | READ UNCOMMITTED }\n"
-#~ "    READ WRITE | READ ONLY"
+#~ "    CONNECTION LIMIT limite_connexion\n"
+#~ "\n"
+#~ "ALTER DATABASE nom RENAME TO nouveau_nom\n"
+#~ "\n"
+#~ "ALTER DATABASE nom OWNER TO nouveau_propriétaire\n"
+#~ "\n"
+#~ "ALTER DATABASE nom SET TABLESPACE nouveau_tablespace\n"
+#~ "\n"
+#~ "ALTER DATABASE nom SET paramètre_configuration { TO | = } { valeur | DEFAULT }\n"
+#~ "ALTER DATABASE nom SET paramètre_configuration FROM CURRENT\n"
+#~ "ALTER DATABASE nom RESET paramètre_configuration\n"
+#~ "ALTER DATABASE nom RESET ALL"
 
 #~ msgid ""
-#~ "TRUNCATE [ TABLE ] [ ONLY ] name [, ... ]\n"
-#~ "    [ RESTART IDENTITY | CONTINUE IDENTITY ] [ CASCADE | RESTRICT ]"
+#~ "ALTER CONVERSION name RENAME TO newname\n"
+#~ "ALTER CONVERSION name OWNER TO newowner"
 #~ msgstr ""
-#~ "TRUNCATE [ TABLE ] [ ONLY ] nom [, ... ]\n"
-#~ "    [ RESTART IDENTITY | CONTINUE IDENTITY ] [ CASCADE | RESTRICT ]"
-
-#~ msgid "UNLISTEN { name | * }"
-#~ msgstr "UNLISTEN { nom | * }"
+#~ "ALTER CONVERSION nom RENAME TO nouveau_nom\n"
+#~ "ALTER CONVERSION nom OWNER TO nouveau_propriétaire"
 
 #~ msgid ""
-#~ "UPDATE [ ONLY ] table [ [ AS ] alias ]\n"
-#~ "    SET { column = { expression | DEFAULT } |\n"
-#~ "          ( column [, ...] ) = ( { expression | DEFAULT } [, ...] ) } [, ...]\n"
-#~ "    [ FROM fromlist ]\n"
-#~ "    [ WHERE condition | WHERE CURRENT OF cursor_name ]\n"
-#~ "    [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]"
+#~ "ALTER AGGREGATE name ( type [ , ... ] ) RENAME TO new_name\n"
+#~ "ALTER AGGREGATE name ( type [ , ... ] ) OWNER TO new_owner\n"
+#~ "ALTER AGGREGATE name ( type [ , ... ] ) SET SCHEMA new_schema"
 #~ msgstr ""
-#~ "UPDATE [ ONLY ] table [ [ AS ] alias ]\n"
-#~ "    SET { colonne = { expression | DEFAULT } |\n"
-#~ "          ( colonne [, ...] ) = ( { expression | DEFAULT } [, ...] ) } [, ...]\n"
-#~ "    [ FROM liste_from ]\n"
-#~ "    [ WHERE condition | WHERE CURRENT OF nom_curseur ]\n"
-#~ "    [ RETURNING * | expression_sortie [ [ AS ] nom_sortie ] [, ...] ]"
+#~ "ALTER AGGREGATE nom ( type [ , ... ] ) RENAME TO nouveau_nom\n"
+#~ "ALTER AGGREGATE nom ( type [ , ... ] ) OWNER TO nouveau_propriétaire\n"
+#~ "ALTER AGGREGATE nom ( type [ , ... ] ) SET SCHEMA nouveau_schéma"
 
-#~ msgid ""
-#~ "VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table ]\n"
-#~ "VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table [ (column [, ...] ) ] ]"
-#~ msgstr ""
-#~ "VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ table ]\n"
-#~ "VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ table [ (colonne [, ...] ) ] ]"
+#~ msgid "ABORT [ WORK | TRANSACTION ]"
+#~ msgstr "ABORT [ WORK | TRANSACTION ]"
 
-#~ msgid ""
-#~ "VALUES ( expression [, ...] ) [, ...]\n"
-#~ "    [ ORDER BY sort_expression [ ASC | DESC | USING operator ] [, ...] ]\n"
-#~ "    [ LIMIT { count | ALL } ]\n"
-#~ "    [ OFFSET start [ ROW | ROWS ] ]\n"
-#~ "    [ FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } ONLY ]"
-#~ msgstr ""
-#~ "VALUES ( expression [, ...] ) [, ...]\n"
-#~ "    [ ORDER BY expression_tri [ ASC | DESC | USING opérateur ] [, ...] ]\n"
-#~ "    [ LIMIT { total | ALL } ]\n"
-#~ "    [ OFFSET début [ ROW | ROWS ] ]\n"
-#~ "    [ FETCH { FIRST | NEXT } [ total ] { ROW | ROWS } ONLY ]"
+#~ msgid "number"
+#~ msgstr "numéro"
 
-#~ msgid "  \"%s\" IN %s %s"
-#~ msgstr "  \"%s\" DANS %s %s"
+#~ msgid "rolename"
+#~ msgstr "nom_rôle"
 
-#~ msgid "(1 row)"
-#~ msgid_plural "(%lu rows)"
-#~ msgstr[0] "(1 ligne)"
-#~ msgstr[1] "(%lu lignes)"
+#~ msgid "Exclusion constraints:"
+#~ msgstr "Contraintes d'exclusion :"
 
-#~ msgid ""
-#~ "  \\d{t|i|s|v|S} [PATTERN] (add \"+\" for more detail)\n"
-#~ "                 list tables/indexes/sequences/views/system tables\n"
-#~ msgstr ""
-#~ "  \\d{t|i|s|v|S} [MODÈLE] (ajouter « + » pour plus de détails)\n"
-#~ "                       affiche la liste des\n"
-#~ "                       tables/index/séquences/vues/tables système\n"
+#~ msgid "define a new constraint trigger"
+#~ msgstr "définir une nouvelle contrainte de déclenchement"
 
-#~ msgid "  \\db [PATTERN]  list tablespaces (add \"+\" for more detail)\n"
-#~ msgstr ""
-#~ "  \\db [MODÈLE]         affiche la liste des tablespaces (ajouter « + » pour\n"
-#~ "                       plus de détails)\n"
+#~ msgid " as user \"%s\""
+#~ msgstr " comme utilisateur « %s »"
 
-#~ msgid "  \\df [PATTERN]  list functions (add \"+\" for more detail)\n"
-#~ msgstr ""
-#~ "  \\df [MODÈLE]         affiche la liste des fonctions (ajouter « + » pour\n"
-#~ "                       plus de détails)\n"
+#~ msgid " at port \"%s\""
+#~ msgstr " sur le port « %s »"
 
-#~ msgid "  \\dFd [PATTERN] list text search dictionaries (add \"+\" for more detail)\n"
-#~ msgstr ""
-#~ "  \\dFd [MODÈLE]        affiche la liste des dictionnaires de la recherche\n"
-#~ "                       de texte (ajouter « + » pour plus de détails)\n"
+#~ msgid " on host \"%s\""
+#~ msgstr " sur l'hôte « %s »"
 
-#~ msgid "  \\dFp [PATTERN] list text search parsers (add \"+\" for more detail)\n"
-#~ msgstr ""
-#~ "  \\dFp [MODÈLE]        affiche la liste des analyseurs de la recherche de\n"
-#~ "                       texte (ajouter « + » pour plus de détails)\n"
+#~ msgid "tablespace"
+#~ msgstr "tablespace"
 
-#~ msgid "  \\dn [PATTERN]  list schemas (add \"+\" for more detail)\n"
-#~ msgstr ""
-#~ "  \\dn [MODÈLE]         affiche la liste des schémas (ajouter « + » pour\n"
-#~ "                       plus de détails)\n"
+#~ msgid "new_column"
+#~ msgstr "nouvelle_colonne"
 
-#~ msgid "  \\dT [PATTERN]  list data types (add \"+\" for more detail)\n"
-#~ msgstr ""
-#~ "  \\dT [MODÈLE]         affiche la liste des types de données (ajouter « + »\n"
-#~ "                       pour plus de détails)\n"
+#~ msgid "column"
+#~ msgstr "colonne"
 
-#~ msgid "  \\l             list all databases (add \"+\" for more detail)\n"
-#~ msgstr ""
-#~ "  \\l                   affiche la liste des bases de données (ajouter « + »\n"
-#~ "                       pour plus de détails)\n"
+#~ msgid "data type"
+#~ msgstr "type de données"
 
-#~ msgid "  \\z [PATTERN]   list table, view, and sequence access privileges (same as \\dp)\n"
-#~ msgstr ""
-#~ "  \\z [MODÈLE]          affiche la liste des privilèges d'accès aux tables,\n"
-#~ "                       vues et séquences (identique à \\dp)\n"
+#~ msgid "contains support for command-line editing"
+#~ msgstr "contient une gestion avancée de la ligne de commande"
 
-#~ msgid "Copy, Large Object\n"
-#~ msgstr "Copie, « Large Object »\n"
+#~ msgid "  --version                output version information, then exit\n"
+#~ msgstr "  --version       affiche la version, puis quitte\n"
 
-#~ msgid ""
-#~ "Welcome to %s %s (server %s), the PostgreSQL interactive terminal.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Bienvenue dans %s %s (serveur %s), l'interface interactive de PostgreSQL.\n"
-#~ "\n"
+#~ msgid "  --help                   show this help, then exit\n"
+#~ msgstr "  --help          affiche cette aide, puis quitte\n"
 
-#~ msgid ""
-#~ "Welcome to %s %s, the PostgreSQL interactive terminal.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "Bienvenue dans %s %s, l'interface interactive de PostgreSQL.\n"
-#~ "\n"
+#~ msgid "\\copy: unexpected response (%d)\n"
+#~ msgstr "\\copy : réponse inattendue (%d)\n"
 
-#~ msgid ""
-#~ "WARNING:  You are connected to a server with major version %d.%d,\n"
-#~ "but your %s client is major version %d.%d.  Some backslash commands,\n"
-#~ "such as \\d, might not work properly.\n"
-#~ "\n"
-#~ msgstr ""
-#~ "ATTENTION : vous êtes connecté sur un serveur dont la version majeure est\n"
-#~ "%d.%d alors que votre client %s est en version majeure %d.%d. Certaines\n"
-#~ "commandes avec antislashs, comme \\d, peuvent ne pas fonctionner\n"
-#~ "correctement.\n"
-#~ "\n"
+#~ msgid "\\copy: %s"
+#~ msgstr "\\copy : %s"
 
-#~ msgid "Access privileges for database \"%s\""
-#~ msgstr "Droits d'accès pour la base de données « %s »"
+#~ msgid "\\%s: error\n"
+#~ msgstr "\\%s : erreur\n"
 
-#~ msgid "?%c? \"%s.%s\""
-#~ msgstr "?%c? « %s.%s »"
+#~ msgid "  \\l[+]                  list all databases\n"
+#~ msgstr "  \\l[+]                affiche la liste des bases de données\n"
 
-#~ msgid "    \"%s\""
-#~ msgstr "    « %s »"
+#~ msgid "%s: pg_strdup: cannot duplicate null pointer (internal error)\n"
+#~ msgstr "%s : pg_strdup : ne peut pas dupliquer le pointeur null (erreur interne)\n"
 
-#~ msgid "ALTER VIEW name RENAME TO newname"
-#~ msgstr "ALTER VIEW nom RENAME TO nouveau_nom"
+#~ msgid "could not change directory to \"%s\""
+#~ msgstr "n'a pas pu accéder au répertoire « %s »"
 
-#~ msgid "(No rows)\n"
-#~ msgstr "(Aucune ligne)\n"
+#~ msgid "input_data_type"
+#~ msgstr "type_de_données_en_entrée"
 
-#~ msgid "  -?, --help               show this help, then exit\n"
-#~ msgstr "  -?, --help                 affiche cette aide puis quitte\n"
+#~ msgid "agg_type"
+#~ msgstr "type_aggrégat"
 
-#~ msgid "SSL connection (unknown cipher)\n"
-#~ msgstr "Connexion SSL (chiffrement inconnu)\n"
+#~ msgid "agg_name"
+#~ msgstr "nom_d_agrégat"
+
+#~ msgid "could not get current user name: %s\n"
+#~ msgstr "n'a pas pu obtenir le nom d'utilisateur courant : %s\n"
+
+#~ msgid "Showing only tuples."
+#~ msgstr "Affichage des tuples seuls."
+
+#~ msgid "Showing locale-adjusted numeric output."
+#~ msgstr "Affichage de la sortie numérique adaptée à la locale."
+
+#~ msgid "Watch every %lds\t%s"
+#~ msgstr "Vérifier chaque %lds\t%s"