]> granicus.if.org Git - postgresql/blobdiff - src/backend/po/fr.po
Translation updates
[postgresql] / src / backend / po / fr.po
index a375bc57cb42770378cff7da5cb840837281d9f2..9300ee98b95a085522e0e8b9913dadd207ed55d0 100644 (file)
@@ -8,8 +8,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PostgreSQL 9.6\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
-"POT-Creation-Date: 2017-08-04 02:39+0000\n"
-"PO-Revision-Date: 2017-08-04 20:59+0200\n"
+"POT-Creation-Date: 2018-02-23 04:09+0000\n"
+"PO-Revision-Date: 2018-02-23 18:27+0100\n"
 "Last-Translator: Guillaume Lelarge <guillaume@lelarge.info>\n"
 "Language-Team: French <guillaume@lelarge.info>\n"
 "Language: fr\n"
@@ -17,13 +17,13 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Poedit 2.0.2\n"
+"X-Generator: Poedit 2.0.3\n"
 
 #: ../common/config_info.c:130 ../common/config_info.c:138 ../common/config_info.c:146 ../common/config_info.c:154 ../common/config_info.c:162 ../common/config_info.c:170 ../common/config_info.c:178 ../common/config_info.c:186 ../common/config_info.c:194
 msgid "not recorded"
 msgstr "non enregistré"
 
-#: ../common/controldata_utils.c:57 commands/copy.c:3117 commands/extension.c:3330 utils/adt/genfile.c:135
+#: ../common/controldata_utils.c:57 commands/copy.c:3145 commands/extension.c:3330 utils/adt/genfile.c:135
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m"
@@ -33,8 +33,8 @@ msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m"
 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:71 access/transam/timeline.c:348 access/transam/xlog.c:3384 access/transam/xlog.c:10787 access/transam/xlog.c:10800 access/transam/xlog.c:11192 access/transam/xlog.c:11235 access/transam/xlog.c:11274 access/transam/xlog.c:11317 access/transam/xlogfuncs.c:668 access/transam/xlogfuncs.c:687 commands/extension.c:3340 libpq/hba.c:499 replication/logical/origin.c:661 replication/logical/origin.c:691
-#: replication/logical/reorderbuffer.c:3064 replication/walsender.c:506 storage/file/copydir.c:178 utils/adt/genfile.c:152 utils/adt/misc.c:924
+#: ../common/controldata_utils.c:71 access/transam/timeline.c:348 access/transam/xlog.c:3384 access/transam/xlog.c:10802 access/transam/xlog.c:10815 access/transam/xlog.c:11232 access/transam/xlog.c:11275 access/transam/xlog.c:11314 access/transam/xlog.c:11357 access/transam/xlogfuncs.c:668 access/transam/xlogfuncs.c:687 commands/extension.c:3340 libpq/hba.c:499 replication/logical/origin.c:702 replication/logical/origin.c:732
+#: replication/logical/reorderbuffer.c:3079 replication/walsender.c:507 storage/file/copydir.c:204 utils/adt/genfile.c:152 utils/adt/misc.c:924
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "n'a pas pu lire le fichier « %s » : %m"
@@ -152,9 +152,9 @@ msgstr "n'a pas pu lire le répertoire « %s » : %s\n"
 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:630 ../port/path.c:668 ../port/path.c:685 access/transam/twophase.c:1306 access/transam/xlog.c:6355 lib/stringinfo.c:258 libpq/auth.c:1108 libpq/auth.c:1474 libpq/auth.c:1542 libpq/auth.c:2058 postmaster/bgworker.c:337 postmaster/bgworker.c:908 postmaster/postmaster.c:2391 postmaster/postmaster.c:2413 postmaster/postmaster.c:3975 postmaster/postmaster.c:4683 postmaster/postmaster.c:4758
-#: postmaster/postmaster.c:5436 postmaster/postmaster.c:5773 replication/libpqwalreceiver/libpqwalreceiver.c:251 replication/logical/logical.c:170 storage/buffer/localbuf.c:436 storage/file/fd.c:773 storage/file/fd.c:1201 storage/file/fd.c:1319 storage/file/fd.c:2044 storage/ipc/procarray.c:1057 storage/ipc/procarray.c:1545 storage/ipc/procarray.c:1552 storage/ipc/procarray.c:1969 storage/ipc/procarray.c:2580 utils/adt/formatting.c:1579
-#: utils/adt/formatting.c:1703 utils/adt/formatting.c:1828 utils/adt/pg_locale.c:468 utils/adt/pg_locale.c:652 utils/adt/regexp.c:219 utils/adt/varlena.c:4585 utils/adt/varlena.c:4606 utils/fmgr/dfmgr.c:221 utils/hash/dynahash.c:444 utils/hash/dynahash.c:553 utils/hash/dynahash.c:1065 utils/mb/mbutils.c:376 utils/mb/mbutils.c:709 utils/misc/guc.c:3998 utils/misc/guc.c:4014 utils/misc/guc.c:4027 utils/misc/guc.c:6976 utils/misc/tzparser.c:468
+#: ../common/psprintf.c:179 ../port/path.c:630 ../port/path.c:668 ../port/path.c:685 access/transam/twophase.c:1306 access/transam/xlog.c:6363 lib/stringinfo.c:258 libpq/auth.c:1126 libpq/auth.c:1492 libpq/auth.c:1560 libpq/auth.c:2076 postmaster/bgworker.c:337 postmaster/bgworker.c:908 postmaster/postmaster.c:2439 postmaster/postmaster.c:2461 postmaster/postmaster.c:4023 postmaster/postmaster.c:4731 postmaster/postmaster.c:4806
+#: postmaster/postmaster.c:5484 postmaster/postmaster.c:5821 replication/libpqwalreceiver/libpqwalreceiver.c:256 replication/logical/logical.c:170 storage/buffer/localbuf.c:436 storage/file/fd.c:772 storage/file/fd.c:1200 storage/file/fd.c:1318 storage/file/fd.c:2049 storage/ipc/procarray.c:1058 storage/ipc/procarray.c:1546 storage/ipc/procarray.c:1553 storage/ipc/procarray.c:1970 storage/ipc/procarray.c:2581 utils/adt/formatting.c:1579
+#: utils/adt/formatting.c:1703 utils/adt/formatting.c:1828 utils/adt/pg_locale.c:468 utils/adt/pg_locale.c:652 utils/adt/regexp.c:219 utils/adt/varlena.c:4589 utils/adt/varlena.c:4610 utils/fmgr/dfmgr.c:221 utils/hash/dynahash.c:444 utils/hash/dynahash.c:553 utils/hash/dynahash.c:1065 utils/mb/mbutils.c:376 utils/mb/mbutils.c:709 utils/misc/guc.c:3998 utils/misc/guc.c:4014 utils/misc/guc.c:4027 utils/misc/guc.c:6976 utils/misc/tzparser.c:468
 #: utils/mmgr/aset.c:404 utils/mmgr/dsa.c:713 utils/mmgr/dsa.c:795 utils/mmgr/mcxt.c:725 utils/mmgr/mcxt.c:760 utils/mmgr/mcxt.c:797 utils/mmgr/mcxt.c:834 utils/mmgr/mcxt.c:868 utils/mmgr/mcxt.c:897 utils/mmgr/mcxt.c:931 utils/mmgr/mcxt.c:982 utils/mmgr/mcxt.c:1016 utils/mmgr/mcxt.c:1050
 #, c-format
 msgid "out of memory"
@@ -173,7 +173,7 @@ msgstr "Les noms de fork valides sont « main », « fsm », « vm » et « init
 #: ../common/restricted_token.c:68
 #, c-format
 msgid "%s: WARNING: cannot create restricted tokens on this platform\n"
-msgstr "%s : ATTENTION : ne peut pas crér les jetons restreints sur cette plateforme\n"
+msgstr "%s : ATTENTION : ne peut pas créer les jetons restreints sur cette plateforme\n"
 
 #: ../common/restricted_token.c:77
 #, c-format
@@ -227,7 +227,7 @@ msgstr "mot de passe trop long"
 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:45 libpq/auth.c:2005
+#: ../common/username.c:45 libpq/auth.c:2023
 msgid "user does not exist"
 msgstr "l'utilisateur n'existe pas"
 
@@ -368,7 +368,7 @@ msgstr "« %s » n'est pas un index BRIN"
 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:358 access/brin/brin_pageops.c:824 access/gin/ginentrypage.c:110 access/gist/gist.c:1363 access/nbtree/nbtinsert.c:577 access/nbtree/nbtsort.c:488 access/spgist/spgdoinsert.c:1933
+#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:364 access/brin/brin_pageops.c:830 access/gin/ginentrypage.c:110 access/gist/gist.c:1364 access/nbtree/nbtinsert.c:577 access/nbtree/nbtsort.c:488 access/spgist/spgdoinsert.c:1933
 #, 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 »"
@@ -542,7 +542,7 @@ msgstr "L'attribut « %s » du type %s ne correspond pas à l'attribut correspon
 msgid "Attribute \"%s\" of type %s does not exist in type %s."
 msgstr "L'attribut « %s » du type %s n'existe pas dans le type %s."
 
-#: access/common/tupdesc.c:728 parser/parse_clause.c:841 parser/parse_relation.c:1544
+#: access/common/tupdesc.c:728 parser/parse_clause.c:812 parser/parse_relation.c:1538
 #, c-format
 msgid "column \"%s\" cannot be declared SETOF"
 msgstr "la colonne « %s » ne peut pas être déclarée SETOF"
@@ -557,22 +557,22 @@ msgstr "la posting list est trop longue"
 msgid "Reduce maintenance_work_mem."
 msgstr "Réduisez le maintenance_work_mem."
 
-#: access/gin/ginfast.c:991 access/transam/xlog.c:10208 access/transam/xlog.c:10726 access/transam/xlogfuncs.c:296 access/transam/xlogfuncs.c:323 access/transam/xlogfuncs.c:362 access/transam/xlogfuncs.c:383 access/transam/xlogfuncs.c:404 access/transam/xlogfuncs.c:474 access/transam/xlogfuncs.c:530
+#: access/gin/ginfast.c:995 access/transam/xlog.c:10216 access/transam/xlog.c:10741 access/transam/xlogfuncs.c:296 access/transam/xlogfuncs.c:323 access/transam/xlogfuncs.c:362 access/transam/xlogfuncs.c:383 access/transam/xlogfuncs.c:404 access/transam/xlogfuncs.c:474 access/transam/xlogfuncs.c:530
 #, c-format
 msgid "recovery is in progress"
 msgstr "restauration en cours"
 
-#: access/gin/ginfast.c:992
+#: access/gin/ginfast.c:996
 #, c-format
 msgid "GIN pending list cannot be cleaned up during recovery."
 msgstr "la pending list GIN ne peut pas être nettoyée lors de la restauration"
 
-#: access/gin/ginfast.c:999
+#: access/gin/ginfast.c:1003
 #, c-format
 msgid "\"%s\" is not a GIN index"
 msgstr "« %s » n'est pas un index GIN"
 
-#: access/gin/ginfast.c:1010
+#: access/gin/ginfast.c:1014
 #, c-format
 msgid "cannot access temporary indexes of other sessions"
 msgstr "ne peut pas accéder aux index temporaires d'autres sessions"
@@ -606,19 +606,19 @@ msgstr ""
 msgid "operator class \"%s\" of access method %s is missing support function %d or %d"
 msgstr "la classe d'opérateur « %s » de la méthode d'accès %s nécessite la fonction de support manquante %d ou %d"
 
-#: access/gist/gist.c:706 access/gist/gistvacuum.c:258
+#: access/gist/gist.c:707 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:708 access/gist/gistvacuum.c:260
+#: access/gist/gist.c:709 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:709 access/gist/gistutil.c:739 access/gist/gistutil.c:750 access/gist/gistvacuum.c:261 access/hash/hashutil.c:241 access/hash/hashutil.c:252 access/hash/hashutil.c:264 access/hash/hashutil.c:285 access/nbtree/nbtpage.c:519 access/nbtree/nbtpage.c:530
+#: access/gist/gist.c:710 access/gist/gistutil.c:739 access/gist/gistutil.c:750 access/gist/gistvacuum.c:261 access/hash/hashutil.c:241 access/hash/hashutil.c:252 access/hash/hashutil.c:264 access/hash/hashutil.c:285 access/nbtree/nbtpage.c:519 access/nbtree/nbtpage.c:530
 #, c-format
 msgid "Please REINDEX it."
 msgstr "Merci d'exécuter REINDEX sur cet objet."
@@ -727,7 +727,7 @@ msgstr "il manque un opérateur inter-type pour la famille d'opérateur « %s »
 msgid "\"%s\" is an index"
 msgstr "« %s » est un index"
 
-#: access/heap/heapam.c:1298 access/heap/heapam.c:1326 access/heap/heapam.c:1358 catalog/aclchk.c:1779 commands/tablecmds.c:9885 commands/tablecmds.c:13115
+#: access/heap/heapam.c:1298 access/heap/heapam.c:1326 access/heap/heapam.c:1358 catalog/aclchk.c:1779 commands/tablecmds.c:9912 commands/tablecmds.c:13142
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "« %s » est un type composite"
@@ -747,7 +747,7 @@ msgstr "ne peut pas supprimer les lignes lors d'une opération parallèle"
 msgid "attempted to delete invisible tuple"
 msgstr "a tenté de supprimer la ligne invisible"
 
-#: access/heap/heapam.c:3514 access/heap/heapam.c:6247
+#: access/heap/heapam.c:3514 access/heap/heapam.c:6248
 #, 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"
@@ -757,55 +757,55 @@ msgstr "ne peut pas mettre à jour les lignes lors d'une opération parallèle"
 msgid "attempted to update invisible tuple"
 msgstr "a tenté de mettre à jour la ligne invisible"
 
-#: access/heap/heapam.c:4937 access/heap/heapam.c:4975 access/heap/heapam.c:5227 executor/execMain.c:2602
+#: access/heap/heapam.c:4938 access/heap/heapam.c:4976 access/heap/heapam.c:5228 executor/execMain.c:2631
 #, 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:322 access/heap/rewriteheap.c:666
+#: access/heap/hio.c:322 access/heap/rewriteheap.c:669
 #, c-format
 msgid "row is too big: size %zu, maximum size %zu"
 msgstr "la ligne est trop grande : taille %zu, taille maximale %zu"
 
-#: access/heap/rewriteheap.c:926
+#: access/heap/rewriteheap.c:929
 #, c-format
 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:966 access/heap/rewriteheap.c:1183 access/heap/rewriteheap.c:1282 access/transam/timeline.c:412 access/transam/timeline.c:492 access/transam/xlog.c:3249 access/transam/xlog.c:3417 replication/logical/snapbuild.c:1630 replication/slot.c:1290 replication/slot.c:1377 storage/file/fd.c:631 storage/file/fd.c:3180 storage/smgr/md.c:1044 storage/smgr/md.c:1277 storage/smgr/md.c:1450 utils/misc/guc.c:6998
+#: access/heap/rewriteheap.c:969 access/heap/rewriteheap.c:1186 access/heap/rewriteheap.c:1285 access/transam/timeline.c:412 access/transam/timeline.c:492 access/transam/xlog.c:3249 access/transam/xlog.c:3417 replication/logical/snapbuild.c:1630 replication/slot.c:1291 replication/slot.c:1378 storage/file/fd.c:630 storage/file/fd.c:3202 storage/smgr/md.c:1044 storage/smgr/md.c:1277 storage/smgr/md.c:1450 utils/misc/guc.c:6998
 #, 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:1021 access/heap/rewriteheap.c:1141 access/transam/timeline.c:315 access/transam/timeline.c:467 access/transam/xlog.c:3202 access/transam/xlog.c:3355 access/transam/xlog.c:10543 access/transam/xlog.c:10581 access/transam/xlog.c:10966 postmaster/postmaster.c:4450 replication/logical/origin.c:535 replication/slot.c:1242 storage/file/copydir.c:162 storage/smgr/md.c:327 utils/time/snapmgr.c:1297
+#: access/heap/rewriteheap.c:1024 access/heap/rewriteheap.c:1144 access/transam/timeline.c:315 access/transam/timeline.c:467 access/transam/xlog.c:3202 access/transam/xlog.c:3355 access/transam/xlog.c:10551 access/transam/xlog.c:10589 access/transam/xlog.c:10993 postmaster/postmaster.c:4498 replication/logical/origin.c:576 replication/slot.c:1243 storage/file/copydir.c:176 storage/smgr/md.c:327 utils/time/snapmgr.c:1297
 #, c-format
 msgid "could not create file \"%s\": %m"
 msgstr "n'a pas pu créer le fichier « %s » : %m"
 
-#: access/heap/rewriteheap.c:1151
+#: access/heap/rewriteheap.c:1154
 #, c-format
 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:1159 replication/walsender.c:486 storage/smgr/md.c:1949
+#: access/heap/rewriteheap.c:1162 replication/walsender.c:487 storage/smgr/md.c:1949
 #, 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:1171 access/transam/timeline.c:370 access/transam/timeline.c:405 access/transam/timeline.c:484 access/transam/xlog.c:3238 access/transam/xlog.c:3408 postmaster/postmaster.c:4460 postmaster/postmaster.c:4470 replication/logical/origin.c:544 replication/logical/origin.c:583 replication/logical/origin.c:599 replication/logical/snapbuild.c:1612 replication/slot.c:1273 storage/file/copydir.c:191
+#: access/heap/rewriteheap.c:1174 access/transam/timeline.c:370 access/transam/timeline.c:405 access/transam/timeline.c:484 access/transam/xlog.c:3238 access/transam/xlog.c:3408 postmaster/postmaster.c:4508 postmaster/postmaster.c:4518 replication/logical/origin.c:585 replication/logical/origin.c:624 replication/logical/origin.c:640 replication/logical/snapbuild.c:1612 replication/slot.c:1274 storage/file/copydir.c:217
 #: utils/init/miscinit.c:1249 utils/init/miscinit.c:1260 utils/init/miscinit.c:1268 utils/misc/guc.c:6959 utils/misc/guc.c:6990 utils/misc/guc.c:8840 utils/misc/guc.c:8854 utils/time/snapmgr.c:1302 utils/time/snapmgr.c:1309
 #, 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:1257 access/transam/xlogarchive.c:113 access/transam/xlogarchive.c:467 postmaster/postmaster.c:1257 postmaster/syslogger.c:1371 replication/logical/origin.c:522 replication/logical/reorderbuffer.c:2595 replication/logical/reorderbuffer.c:2652 replication/logical/snapbuild.c:1560 replication/logical/snapbuild.c:1936 replication/slot.c:1350 storage/file/fd.c:682 storage/ipc/dsm.c:327 storage/smgr/md.c:426
+#: access/heap/rewriteheap.c:1260 access/transam/xlogarchive.c:113 access/transam/xlogarchive.c:467 postmaster/postmaster.c:1259 postmaster/syslogger.c:1371 replication/logical/origin.c:563 replication/logical/reorderbuffer.c:2610 replication/logical/reorderbuffer.c:2667 replication/logical/snapbuild.c:1560 replication/logical/snapbuild.c:1936 replication/slot.c:1351 storage/file/fd.c:681 storage/ipc/dsm.c:327 storage/smgr/md.c:426
 #: storage/smgr/md.c:475 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:1271 access/transam/timeline.c:111 access/transam/timeline.c:236 access/transam/timeline.c:334 access/transam/xlog.c:3178 access/transam/xlog.c:3299 access/transam/xlog.c:3340 access/transam/xlog.c:3619 access/transam/xlog.c:3697 access/transam/xlogutils.c:706 postmaster/syslogger.c:1380 replication/basebackup.c:474 replication/basebackup.c:1218 replication/logical/origin.c:654
-#: replication/logical/reorderbuffer.c:2112 replication/logical/reorderbuffer.c:2361 replication/logical/reorderbuffer.c:3044 replication/logical/snapbuild.c:1604 replication/logical/snapbuild.c:1692 replication/slot.c:1365 replication/walsender.c:479 replication/walsender.c:2385 storage/file/copydir.c:155 storage/file/fd.c:614 storage/file/fd.c:3092 storage/file/fd.c:3159 storage/smgr/md.c:608 utils/error/elog.c:1879
+#: access/heap/rewriteheap.c:1274 access/transam/timeline.c:111 access/transam/timeline.c:236 access/transam/timeline.c:334 access/transam/xlog.c:3178 access/transam/xlog.c:3299 access/transam/xlog.c:3340 access/transam/xlog.c:3619 access/transam/xlog.c:3697 access/transam/xlogutils.c:706 postmaster/syslogger.c:1380 replication/basebackup.c:475 replication/basebackup.c:1219 replication/logical/origin.c:695
+#: replication/logical/reorderbuffer.c:2127 replication/logical/reorderbuffer.c:2376 replication/logical/reorderbuffer.c:3059 replication/logical/snapbuild.c:1604 replication/logical/snapbuild.c:1692 replication/slot.c:1366 replication/walsender.c:480 replication/walsender.c:2400 storage/file/copydir.c:169 storage/file/fd.c:613 storage/file/fd.c:3114 storage/file/fd.c:3181 storage/smgr/md.c:608 utils/error/elog.c:1879
 #: utils/init/miscinit.c:1173 utils/init/miscinit.c:1308 utils/init/miscinit.c:1385 utils/misc/guc.c:7218 utils/misc/guc.c:7251
 #, c-format
 msgid "could not open file \"%s\": %m"
@@ -821,7 +821,7 @@ msgstr "la méthode d'accès « %s » n'est pas de type %s"
 msgid "index access method \"%s\" does not have a handler"
 msgstr "la méthode d'accès « %s » n'a pas de handler"
 
-#: access/index/indexam.c:160 catalog/objectaddress.c:1222 commands/indexcmds.c:1819 commands/tablecmds.c:247 commands/tablecmds.c:13106
+#: access/index/indexam.c:160 catalog/objectaddress.c:1222 commands/indexcmds.c:1822 commands/tablecmds.c:247 commands/tablecmds.c:13133
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "« %s » n'est pas un index"
@@ -857,7 +857,7 @@ 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:169 access/nbtree/nbtpage.c:372 access/nbtree/nbtpage.c:459 parser/parse_utilcmd.c:1900
+#: access/nbtree/nbtpage.c:169 access/nbtree/nbtpage.c:372 access/nbtree/nbtpage.c:459 parser/parse_utilcmd.c:1921
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "l'index « %s » n'est pas un btree"
@@ -993,7 +993,7 @@ msgstr "le MultiXactId %u n'existe plus - wraparound apparent"
 #: access/transam/multixact.c:1285
 #, 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"
+msgstr "le MultiXactId %u n'a pas encore été créé : wraparound apparent"
 
 #: access/transam/multixact.c:2268
 #, c-format
@@ -1028,7 +1028,7 @@ msgstr "Les protections sur la réutilisation d'un membre MultiXact sont mainten
 #: access/transam/multixact.c:2631
 #, 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"
+msgstr "La limite d'arrêt d'un membre MultiXact est maintenant %u, basée sur le MultiXact %u"
 
 #: access/transam/multixact.c:3011
 #, c-format
@@ -1045,26 +1045,36 @@ msgstr "ne peut pas tronquer jusqu'au MutiXact %u car il n'existe pas sur disque
 msgid "invalid MultiXactId: %u"
 msgstr "MultiXactId invalide : %u"
 
-#: access/transam/parallel.c:577
+#: access/transam/parallel.c:604
+#, c-format
+msgid "parallel worker failed to initialize"
+msgstr "échec de l'initialisation du worker parallèle"
+
+#: access/transam/parallel.c:605
+#, c-format
+msgid "More details may be available in the server log."
+msgstr "Plus de détails sont disponibles dans les traces du serveur."
+
+#: access/transam/parallel.c:666
 #, c-format
 msgid "postmaster exited during a parallel transaction"
 msgstr "postmaster a quitté pendant une transaction parallèle"
 
-#: access/transam/parallel.c:764
+#: access/transam/parallel.c:853
 #, c-format
 msgid "lost connection to parallel worker"
 msgstr "perte de la connexion au processus parallèle"
 
-#: access/transam/parallel.c:823 access/transam/parallel.c:825
+#: access/transam/parallel.c:915 access/transam/parallel.c:917
 msgid "parallel worker"
 msgstr "processus parallèle"
 
-#: access/transam/parallel.c:968
+#: access/transam/parallel.c:1060
 #, c-format
 msgid "could not map dynamic shared memory segment"
 msgstr "n'a pas pu mapper le segment de mémoire partagée dynamique"
 
-#: access/transam/parallel.c:973
+#: access/transam/parallel.c:1065
 #, c-format
 msgid "invalid magic number in dynamic shared memory segment"
 msgstr "numéro magique invalide dans le segment de mémoire partagée dynamique"
@@ -1156,7 +1166,7 @@ msgstr ""
 "Les identifiants timeline doivent être plus petits que les enfants des\n"
 "identifiants timeline."
 
-#: access/transam/timeline.c:418 access/transam/timeline.c:498 access/transam/xlog.c:3256 access/transam/xlog.c:3423 access/transam/xlogfuncs.c:693 commands/copy.c:1776 storage/file/copydir.c:206
+#: access/transam/timeline.c:418 access/transam/timeline.c:498 access/transam/xlog.c:3256 access/transam/xlog.c:3423 access/transam/xlogfuncs.c:693 commands/copy.c:1723 storage/file/copydir.c:228
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "n'a pas pu fermer le fichier « %s » : %m"
@@ -1256,7 +1266,7 @@ msgstr ""
 "n'a pas pu lire le fichier d'état de la validation en deux phases nommé\n"
 "« %s » : %m"
 
-#: access/transam/twophase.c:1307 access/transam/xlog.c:6356
+#: access/transam/twophase.c:1307 access/transam/xlog.c:6364
 #, c-format
 msgid "Failed while allocating a WAL reading processor."
 msgstr "Échec lors de l'allocation d'un processeur de lecture de journaux de transactions."
@@ -1318,32 +1328,36 @@ msgstr "récupération de la transaction préparée %u à partir de la mémoire
 
 #: access/transam/twophase.c:2034
 #, c-format
-msgid "removing stale two-phase state file for \"%u\""
-msgstr "suppression du vieux fichier d'état de la validation en deux phases pour %u"
+msgid "removing stale two-phase state file for transaction %u"
+msgstr "suppression du vieux fichier d'état de la validation en deux phases pour la transaction %u"
 
 #: access/transam/twophase.c:2041
 #, c-format
-msgid "removing stale two-phase state from shared memory for \"%u\""
-msgstr "suppression du vieux fichier d'état de la validation en deux phases nommé à partir de la mémoire partagée pour « %u »"
+msgid "removing stale two-phase state from memory for transaction %u"
+msgstr "suppression du vieux fichier d'état de la validation en deux phases de la mémoire pour la transaction %u"
 
 #: access/transam/twophase.c:2054
-#, c-format
-msgid "removing future two-phase state file for \"%u\""
+#, fuzzy, c-format
+#| msgid "removing future two-phase state file for \"%u\""
+msgid "removing future two-phase state file for transaction %u"
 msgstr "suppression du futur fichier d'état de la validation en deux phases pour « %u »"
 
 #: access/transam/twophase.c:2061
-#, c-format
-msgid "removing future two-phase state from memory for \"%u\""
+#, fuzzy, c-format
+#| msgid "removing future two-phase state from memory for \"%u\""
+msgid "removing future two-phase state from memory for transaction %u"
 msgstr "suppression du futur fichier d'état de la validation en deux phases en mémoire pour « %u »"
 
 #: access/transam/twophase.c:2075 access/transam/twophase.c:2094
-#, c-format
-msgid "removing corrupt two-phase state file for \"%u\""
+#, fuzzy, c-format
+#| msgid "removing corrupt two-phase state file for \"%u\""
+msgid "removing corrupt two-phase state file for transaction %u"
 msgstr "suppression du fichier d'état corrompu de la validation en deux phases pour « %u »"
 
 #: access/transam/twophase.c:2101
-#, c-format
-msgid "removing corrupt two-phase state from memory for \"%u\""
+#, fuzzy, c-format
+#| msgid "removing corrupt two-phase state from memory for \"%u\""
+msgid "removing corrupt two-phase state from memory for transaction %u"
 msgstr ""
 "suppression du fichier d'état corrompu de la validation en deux phases en mémoire\n"
 "pour « %u »"
@@ -1405,32 +1419,40 @@ msgstr "ne peux pas avoir plus de 2^32-2 commandes dans une transaction"
 msgid "maximum number of committed subtransactions (%d) exceeded"
 msgstr "nombre maximum de sous-transactions validées (%d) dépassé"
 
-#: access/transam/xact.c:2268
+#: access/transam/xact.c:2265
 #, 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:2278
+#: access/transam/xact.c:2275
 #, 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"
 
+#: access/transam/xact.c:2284
+#, fuzzy, c-format
+#| msgid "cannot PREPARE a transaction that has operated on temporary tables"
+msgid "cannot PREPARE a transaction that has manipulated logical replication workers"
+msgstr ""
+"ne peut pas préparer (PREPARE) une transaction qui a travaillé sur des\n"
+"tables temporaires"
+
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3164
+#: access/transam/xact.c:3166
 #, 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:3174
+#: access/transam/xact.c:3176
 #, 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:3184
+#: access/transam/xact.c:3186
 #, c-format
 msgid "%s cannot be executed from a function or multi-command string"
 msgstr ""
@@ -1438,62 +1460,62 @@ msgstr ""
 "contenant plusieurs commandes"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:3255
+#: access/transam/xact.c:3257
 #, 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:3439
+#: access/transam/xact.c:3441
 #, c-format
 msgid "there is already a transaction in progress"
 msgstr "une transaction est déjà en cours"
 
-#: access/transam/xact.c:3607 access/transam/xact.c:3710
+#: access/transam/xact.c:3609 access/transam/xact.c:3712
 #, c-format
 msgid "there is no transaction in progress"
 msgstr "aucune transaction en cours"
 
-#: access/transam/xact.c:3618
+#: access/transam/xact.c:3620
 #, c-format
 msgid "cannot commit during a parallel operation"
 msgstr "ne peut pas valider pendant une opération parallèle"
 
-#: access/transam/xact.c:3721
+#: access/transam/xact.c:3723
 #, 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:3763
+#: access/transam/xact.c:3765
 #, 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:3830
+#: access/transam/xact.c:3832
 #, 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:3841 access/transam/xact.c:3893 access/transam/xact.c:3899 access/transam/xact.c:3955 access/transam/xact.c:4005 access/transam/xact.c:4011
+#: access/transam/xact.c:3843 access/transam/xact.c:3895 access/transam/xact.c:3901 access/transam/xact.c:3957 access/transam/xact.c:4007 access/transam/xact.c:4013
 #, c-format
 msgid "no such savepoint"
 msgstr "aucun point de sauvegarde"
 
-#: access/transam/xact.c:3943
+#: access/transam/xact.c:3945
 #, 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:4071
+#: access/transam/xact.c:4073
 #, 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:4138
+#: access/transam/xact.c:4140
 #, 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:4746
+#: access/transam/xact.c:4772
 #, 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"
@@ -1523,112 +1545,112 @@ msgstr "données insuffisantes dans le fichier « %s »"
 msgid "could not open write-ahead log file \"%s\": %m"
 msgstr "n'a pas pu écrire dans le journal de transactions « %s » : %m"
 
-#: access/transam/xlog.c:3723 access/transam/xlog.c:5541
+#: access/transam/xlog.c:3723 access/transam/xlog.c:5549
 #, 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:3780 access/transam/xlogutils.c:701 replication/walsender.c:2380
+#: access/transam/xlog.c:3787 access/transam/xlogutils.c:701 replication/walsender.c:2395
 #, 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:3840 access/transam/xlog.c:3915 access/transam/xlog.c:4110
+#: access/transam/xlog.c:3848 access/transam/xlog.c:3923 access/transam/xlog.c:4118
 #, c-format
 msgid "could not open write-ahead log directory \"%s\": %m"
 msgstr "n'a pas pu ouvrir le répertoire des journaux de transactions « %s » : %m"
 
-#: access/transam/xlog.c:3996
+#: access/transam/xlog.c:4004
 #, c-format
 msgid "recycled write-ahead log file \"%s\""
 msgstr "recyclage du journal de transactions « %s »"
 
-#: access/transam/xlog.c:4008
+#: access/transam/xlog.c:4016
 #, c-format
 msgid "removing write-ahead log file \"%s\""
 msgstr "suppression du journal de transactions « %s »"
 
-#: access/transam/xlog.c:4028
+#: access/transam/xlog.c:4036
 #, c-format
 msgid "could not rename old write-ahead log file \"%s\": %m"
 msgstr "n'a pas pu renommer l'ancien journal de transactions « %s » : %m"
 
-#: access/transam/xlog.c:4070 access/transam/xlog.c:4080
+#: access/transam/xlog.c:4078 access/transam/xlog.c:4088
 #, 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:4086
+#: access/transam/xlog.c:4094
 #, 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:4089
+#: access/transam/xlog.c:4097
 #, 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:4200
+#: access/transam/xlog.c:4208
 #, 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:4322
+#: access/transam/xlog.c:4330
 #, 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:4336
+#: access/transam/xlog.c:4344
 #, 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:4355
+#: access/transam/xlog.c:4363
 #, c-format
 msgid "new target timeline is %u"
 msgstr "la nouvelle timeline cible est %u"
 
-#: access/transam/xlog.c:4436
+#: access/transam/xlog.c:4444
 #, 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:4448 access/transam/xlog.c:4674
+#: access/transam/xlog.c:4456 access/transam/xlog.c:4682
 #, 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:4456 access/transam/xlog.c:4682
+#: access/transam/xlog.c:4464 access/transam/xlog.c:4690
 #, 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:4462 access/transam/xlog.c:4688
+#: access/transam/xlog.c:4470 access/transam/xlog.c:4696
 #, 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:4480 access/transam/xlog.c:4662
+#: access/transam/xlog.c:4488 access/transam/xlog.c:4670
 #, 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:4487
+#: access/transam/xlog.c:4495
 #, 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:4501 access/transam/xlog.c:4510 access/transam/xlog.c:4534 access/transam/xlog.c:4541 access/transam/xlog.c:4548 access/transam/xlog.c:4553 access/transam/xlog.c:4560 access/transam/xlog.c:4567 access/transam/xlog.c:4574 access/transam/xlog.c:4581 access/transam/xlog.c:4588 access/transam/xlog.c:4595 access/transam/xlog.c:4602 access/transam/xlog.c:4611 access/transam/xlog.c:4618 access/transam/xlog.c:4627
-#: access/transam/xlog.c:4634 utils/init/miscinit.c:1406
+#: access/transam/xlog.c:4509 access/transam/xlog.c:4518 access/transam/xlog.c:4542 access/transam/xlog.c:4549 access/transam/xlog.c:4556 access/transam/xlog.c:4561 access/transam/xlog.c:4568 access/transam/xlog.c:4575 access/transam/xlog.c:4582 access/transam/xlog.c:4589 access/transam/xlog.c:4596 access/transam/xlog.c:4603 access/transam/xlog.c:4610 access/transam/xlog.c:4619 access/transam/xlog.c:4626 access/transam/xlog.c:4635
+#: access/transam/xlog.c:4642 utils/init/miscinit.c:1406
 #, 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:4502
+#: access/transam/xlog.c:4510
 #, 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 ""
@@ -1636,303 +1658,303 @@ msgstr ""
 "%d (0x%08x) alors que le serveur a été compilé avec un PG_CONTROL_VERSION à\n"
 "%d (0x%08x)."
 
-#: access/transam/xlog.c:4506
+#: access/transam/xlog.c:4514
 #, 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:4511
+#: access/transam/xlog.c:4519
 #, 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:4514 access/transam/xlog.c:4538 access/transam/xlog.c:4545 access/transam/xlog.c:4550
+#: access/transam/xlog.c:4522 access/transam/xlog.c:4546 access/transam/xlog.c:4553 access/transam/xlog.c:4558
 #, c-format
 msgid "It looks like you need to initdb."
 msgstr "Il semble que vous avez besoin d'initdb."
 
-#: access/transam/xlog.c:4525
+#: access/transam/xlog.c:4533
 #, c-format
 msgid "incorrect checksum in control file"
 msgstr "somme de contrôle incorrecte dans le fichier de contrôle"
 
-#: access/transam/xlog.c:4535
+#: access/transam/xlog.c:4543
 #, 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:4542
+#: access/transam/xlog.c:4550
 #, 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:4549
+#: access/transam/xlog.c:4557
 #, 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:4554
+#: access/transam/xlog.c:4562
 #, 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:4557 access/transam/xlog.c:4564 access/transam/xlog.c:4571 access/transam/xlog.c:4578 access/transam/xlog.c:4585 access/transam/xlog.c:4592 access/transam/xlog.c:4599 access/transam/xlog.c:4606 access/transam/xlog.c:4614 access/transam/xlog.c:4621 access/transam/xlog.c:4630 access/transam/xlog.c:4637
+#: access/transam/xlog.c:4565 access/transam/xlog.c:4572 access/transam/xlog.c:4579 access/transam/xlog.c:4586 access/transam/xlog.c:4593 access/transam/xlog.c:4600 access/transam/xlog.c:4607 access/transam/xlog.c:4614 access/transam/xlog.c:4622 access/transam/xlog.c:4629 access/transam/xlog.c:4638 access/transam/xlog.c:4645
 #, 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:4561
+#: access/transam/xlog.c:4569
 #, 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:4568
+#: access/transam/xlog.c:4576
 #, 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:4575
+#: access/transam/xlog.c:4583
 #, 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:4582
+#: access/transam/xlog.c:4590
 #, 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:4589
+#: access/transam/xlog.c:4597
 #, 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:4596
+#: access/transam/xlog.c:4604
 #, 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:4603
+#: access/transam/xlog.c:4611
 #, 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:4612
+#: access/transam/xlog.c:4620
 #, 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:4619
+#: access/transam/xlog.c:4627
 #, 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:4628
+#: access/transam/xlog.c:4636
 #, 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:4635
+#: access/transam/xlog.c:4643
 #, 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:4991
+#: access/transam/xlog.c:4999
 #, c-format
 msgid "could not generate secret authorization token"
 msgstr "n'a pas pu générer le jeton secret d'autorisation"
 
-#: access/transam/xlog.c:5081
+#: access/transam/xlog.c:5089
 #, c-format
 msgid "could not write bootstrap write-ahead log file: %m"
 msgstr "n'a pas pu écrire le « bootstrap » du journal des transactions : %m"
 
-#: access/transam/xlog.c:5089
+#: access/transam/xlog.c:5097
 #, c-format
 msgid "could not fsync bootstrap write-ahead log file: %m"
 msgstr ""
 "n'a pas pu synchroniser sur disque (fsync) le « bootstrap » du journal des\n"
 "transactions : %m"
 
-#: access/transam/xlog.c:5095
+#: access/transam/xlog.c:5103
 #, c-format
 msgid "could not close bootstrap write-ahead log file: %m"
 msgstr "n'a pas pu fermer le « bootstrap » du journal des transactions : %m"
 
-#: access/transam/xlog.c:5171
+#: access/transam/xlog.c:5179
 #, 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:5217 access/transam/xlog.c:5319
+#: access/transam/xlog.c:5225 access/transam/xlog.c:5327
 #, 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:5220
+#: access/transam/xlog.c:5228
 #, c-format
 msgid "Valid values are \"pause\", \"promote\", and \"shutdown\"."
 msgstr "Les valeurs valides sont « pause », « promote » et « shutdown »."
 
-#: access/transam/xlog.c:5240
+#: access/transam/xlog.c:5248
 #, 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:5257
+#: access/transam/xlog.c:5265
 #, 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:5288
+#: access/transam/xlog.c:5296
 #, 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:5322
+#: access/transam/xlog.c:5330
 #, c-format
 msgid "The only allowed value is \"immediate\"."
 msgstr "La seule valeur autorisée est « immediate »."
 
-#: access/transam/xlog.c:5335 access/transam/xlog.c:5346 commands/extension.c:547 commands/extension.c:555 utils/misc/guc.c:5750
+#: access/transam/xlog.c:5343 access/transam/xlog.c:5354 commands/extension.c:547 commands/extension.c:555 utils/misc/guc.c:5750
 #, c-format
 msgid "parameter \"%s\" requires a Boolean value"
 msgstr "le paramètre « %s » requiert une valeur booléenne"
 
-#: access/transam/xlog.c:5381
+#: access/transam/xlog.c:5389
 #, c-format
 msgid "parameter \"%s\" requires a temporal value"
 msgstr "le paramètre « %s » requiert une valeur temporelle"
 
-#: access/transam/xlog.c:5383 catalog/dependency.c:961 catalog/dependency.c:962 catalog/dependency.c:968 catalog/dependency.c:969 catalog/dependency.c:980 catalog/dependency.c:981 commands/tablecmds.c:946 commands/tablecmds.c:10345 commands/user.c:1029 commands/view.c:505 libpq/auth.c:328 replication/syncrep.c:1160 storage/lmgr/deadlock.c:1139 storage/lmgr/proc.c:1313 utils/adt/acl.c:5248 utils/misc/guc.c:5772 utils/misc/guc.c:5865
-#: utils/misc/guc.c:9821 utils/misc/guc.c:9855 utils/misc/guc.c:9889 utils/misc/guc.c:9923 utils/misc/guc.c:9958
+#: access/transam/xlog.c:5391 catalog/dependency.c:961 catalog/dependency.c:962 catalog/dependency.c:968 catalog/dependency.c:969 catalog/dependency.c:980 catalog/dependency.c:981 commands/tablecmds.c:946 commands/tablecmds.c:10372 commands/user.c:1064 commands/view.c:505 libpq/auth.c:328 replication/syncrep.c:1160 storage/lmgr/deadlock.c:1139 storage/lmgr/proc.c:1313 utils/adt/acl.c:5253 utils/misc/guc.c:5772 utils/misc/guc.c:5865
+#: utils/misc/guc.c:9814 utils/misc/guc.c:9848 utils/misc/guc.c:9882 utils/misc/guc.c:9916 utils/misc/guc.c:9951
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: access/transam/xlog.c:5390
+#: access/transam/xlog.c:5398
 #, c-format
 msgid "unrecognized recovery parameter \"%s\""
 msgstr "paramètre de restauration « %s » non reconnu"
 
-#: access/transam/xlog.c:5401
+#: access/transam/xlog.c:5409
 #, 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:5403
+#: access/transam/xlog.c:5411
 #, c-format
 msgid "The database server will regularly poll the pg_wal 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_wal pour vérifier les fichiers placés ici."
 
-#: access/transam/xlog.c:5410
+#: access/transam/xlog.c:5418
 #, 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:5431
+#: access/transam/xlog.c:5439
 #, c-format
 msgid "standby mode is not supported by single-user servers"
 msgstr "le mode de restauration n'est pas supporté pour les serveurs mono-utilisateur"
 
-#: access/transam/xlog.c:5450
+#: access/transam/xlog.c:5458
 #, 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:5571
+#: access/transam/xlog.c:5579
 #, c-format
 msgid "archive recovery complete"
 msgstr "restauration terminée de l'archive"
 
-#: access/transam/xlog.c:5630 access/transam/xlog.c:5896
+#: access/transam/xlog.c:5638 access/transam/xlog.c:5904
 #, 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:5651
+#: access/transam/xlog.c:5659
 #, c-format
 msgid "recovery stopping before WAL location (LSN) \"%X/%X\""
 msgstr "arrêt de la restauration avant l'emplacement WAL (LSN) « %X/%X »"
 
-#: access/transam/xlog.c:5737
+#: access/transam/xlog.c:5745
 #, 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:5744
+#: access/transam/xlog.c:5752
 #, 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:5790
+#: access/transam/xlog.c:5798
 #, 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:5808
+#: access/transam/xlog.c:5816
 #, c-format
 msgid "recovery stopping after WAL location (LSN) \"%X/%X\""
 msgstr "arrêt de la restauration après l'emplacement WAL (LSN) « %X/%X »"
 
-#: access/transam/xlog.c:5876
+#: access/transam/xlog.c:5884
 #, 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:5884
+#: access/transam/xlog.c:5892
 #, 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:5924
+#: access/transam/xlog.c:5932
 #, c-format
 msgid "recovery has paused"
 msgstr "restauration en pause"
 
-#: access/transam/xlog.c:5925
+#: access/transam/xlog.c:5933
 #, c-format
 msgid "Execute pg_wal_replay_resume() to continue."
 msgstr "Exécuter pg_wal_replay_resume() pour continuer."
 
-#: access/transam/xlog.c:6133
+#: access/transam/xlog.c:6141
 #, 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 ""
@@ -1940,271 +1962,271 @@ msgstr ""
 "paramètrage plus bas que celui du serveur maître des journaux de transactions\n"
 "(la valeur était %d)"
 
-#: access/transam/xlog.c:6159
+#: access/transam/xlog.c:6167
 #, 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:6160
+#: access/transam/xlog.c:6168
 #, 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:6171
+#: access/transam/xlog.c:6179
 #, c-format
 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 seules ne sont pas possibles parce que le paramètre wal_level\n"
 "n'a pas été positionné à « replica » ou plus sur le serveur maître"
 
-#: access/transam/xlog.c:6172
+#: access/transam/xlog.c:6180
 #, c-format
 msgid "Either set wal_level to \"replica\" on the master, or turn off hot_standby here."
 msgstr ""
 "Vous devez soit positionner le paramètre wal_level à « replica » sur le maître,\n"
 "soit désactiver le hot_standby ici."
 
-#: access/transam/xlog.c:6229
+#: access/transam/xlog.c:6237
 #, c-format
 msgid "control file contains invalid data"
 msgstr "le fichier de contrôle contient des données invalides"
 
-#: access/transam/xlog.c:6235
+#: access/transam/xlog.c:6243
 #, 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:6240
+#: access/transam/xlog.c:6248
 #, 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:6244
+#: access/transam/xlog.c:6252
 #, 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:6248
+#: access/transam/xlog.c:6256
 #, 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:6250
+#: access/transam/xlog.c:6258
 #, 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:6254
+#: access/transam/xlog.c:6262
 #, 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:6256
+#: access/transam/xlog.c:6264
 #, 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:6260
+#: access/transam/xlog.c:6268
 #, 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:6316
+#: access/transam/xlog.c:6324
 #, c-format
 msgid "entering standby mode"
 msgstr "entre en mode standby"
 
-#: access/transam/xlog.c:6319
+#: access/transam/xlog.c:6327
 #, 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:6323
+#: access/transam/xlog.c:6331
 #, c-format
 msgid "starting point-in-time recovery to %s"
 msgstr "début de la restauration de l'archive à %s"
 
-#: access/transam/xlog.c:6327
+#: access/transam/xlog.c:6335
 #, c-format
 msgid "starting point-in-time recovery to \"%s\""
 msgstr "début de la restauration PITR à « %s »"
 
-#: access/transam/xlog.c:6331
+#: access/transam/xlog.c:6339
 #, c-format
 msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\""
 msgstr "début de la restauration PITR à l'emplacement WAL (LSN) « %X/%X »"
 
-#: access/transam/xlog.c:6336
+#: access/transam/xlog.c:6344
 #, 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:6339
+#: access/transam/xlog.c:6347
 #, c-format
 msgid "starting archive recovery"
 msgstr "début de la restauration de l'archive"
 
-#: access/transam/xlog.c:6390 access/transam/xlog.c:6518
+#: access/transam/xlog.c:6398 access/transam/xlog.c:6526
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr "l'enregistrement du point de vérification est à %X/%X"
 
-#: access/transam/xlog.c:6404
+#: access/transam/xlog.c:6412
 #, 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:6405 access/transam/xlog.c:6412
+#: access/transam/xlog.c:6413 access/transam/xlog.c:6420
 #, 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:6411
+#: access/transam/xlog.c:6419
 #, 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:6437 commands/tablespace.c:639
+#: access/transam/xlog.c:6445 commands/tablespace.c:639
 #, 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:6469 access/transam/xlog.c:6475
+#: access/transam/xlog.c:6477 access/transam/xlog.c:6483
 #, 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:6471 access/transam/xlog.c:11396
+#: access/transam/xlog.c:6479 access/transam/xlog.c:11436
 #, c-format
 msgid "File \"%s\" was renamed to \"%s\"."
 msgstr "Le fichier « %s » a été renommé en « %s »."
 
-#: access/transam/xlog.c:6477
+#: access/transam/xlog.c:6485
 #, 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:6528 access/transam/xlog.c:6543
+#: access/transam/xlog.c:6536 access/transam/xlog.c:6551
 #, 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:6537
+#: access/transam/xlog.c:6545
 #, 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:6581
+#: access/transam/xlog.c:6589
 #, 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:6583
+#: access/transam/xlog.c:6591
 #, 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:6599
+#: access/transam/xlog.c:6607
 #, 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:6630
+#: access/transam/xlog.c:6638
 #, c-format
 msgid "invalid next transaction ID"
 msgstr "prochain ID de transaction invalide"
 
-#: access/transam/xlog.c:6724
+#: access/transam/xlog.c:6732
 #, 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:6735
+#: access/transam/xlog.c:6743
 #, 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:6763
+#: access/transam/xlog.c:6771
 #, 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:6767
+#: access/transam/xlog.c:6775
 #, 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:6811
+#: access/transam/xlog.c:6819
 #, 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:6812
+#: access/transam/xlog.c:6820
 #, 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:6886
+#: access/transam/xlog.c:6894
 #, c-format
 msgid "initializing for hot standby"
 msgstr "initialisation pour « Hot Standby »"
 
-#: access/transam/xlog.c:7018
+#: access/transam/xlog.c:7026
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "la ré-exécution commence à %X/%X"
 
-#: access/transam/xlog.c:7252
+#: access/transam/xlog.c:7260
 #, 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:7290
+#: access/transam/xlog.c:7298
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "ré-exécution faite à %X/%X"
 
-#: access/transam/xlog.c:7295 access/transam/xlog.c:9309
+#: access/transam/xlog.c:7303 access/transam/xlog.c:9317
 #, 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:7304
+#: access/transam/xlog.c:7312
 #, c-format
 msgid "redo is not required"
 msgstr "la ré-exécution n'est pas nécessaire"
 
-#: access/transam/xlog.c:7379 access/transam/xlog.c:7383
+#: access/transam/xlog.c:7387 access/transam/xlog.c:7391
 #, 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:7380
+#: access/transam/xlog.c:7388
 #, 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:7384
+#: access/transam/xlog.c:7392
 #, 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 ""
@@ -2212,107 +2234,108 @@ 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:7387
+#: access/transam/xlog.c:7395
 #, 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:7414
+#: access/transam/xlog.c:7422
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "identifiant d'un timeline nouvellement sélectionné : %u"
 
-#: access/transam/xlog.c:7843
+#: access/transam/xlog.c:7851
 #, c-format
 msgid "consistent recovery state reached at %X/%X"
 msgstr "état de restauration cohérent atteint à %X/%X"
 
-#: access/transam/xlog.c:8035
+#: access/transam/xlog.c:8043
 #, 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:8039
+#: access/transam/xlog.c:8047
 #, 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:8043
+#: access/transam/xlog.c:8051
 #, 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:8060
+#: access/transam/xlog.c:8068
 #, c-format
 msgid "invalid primary checkpoint record"
 msgstr "enregistrement du point de vérification primaire invalide"
 
-#: access/transam/xlog.c:8064
+#: access/transam/xlog.c:8072
 #, c-format
 msgid "invalid secondary checkpoint record"
 msgstr "enregistrement du point de vérification secondaire invalide"
 
-#: access/transam/xlog.c:8068
+#: access/transam/xlog.c:8076
 #, c-format
 msgid "invalid checkpoint record"
 msgstr "enregistrement du point de vérification invalide"
 
-#: access/transam/xlog.c:8079
+#: access/transam/xlog.c:8087
 #, 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:8083
+#: access/transam/xlog.c:8091
 #, 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:8087
+#: access/transam/xlog.c:8095
 #, 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:8100
+#: access/transam/xlog.c:8108
 #, 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:8104
+#: access/transam/xlog.c:8112
 #, 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:8108
+#: access/transam/xlog.c:8116
 #, 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:8119
+#: access/transam/xlog.c:8127
 #, 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:8123
+#: access/transam/xlog.c:8131
 #, 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:8127
+#: access/transam/xlog.c:8135
 #, c-format
 msgid "invalid length of checkpoint record"
 msgstr "longueur invalide de l'enregistrement du point de vérification"
 
-#: access/transam/xlog.c:8330
+#: access/transam/xlog.c:8338
 #, c-format
 msgid "shutting down"
 msgstr "arrêt en cours"
 
-#: access/transam/xlog.c:8649
-#, c-format
-msgid "checkpoint skipped due to an idle system"
+#: access/transam/xlog.c:8657
+#, fuzzy, c-format
+#| msgid "checkpoint skipped due to an idle system"
+msgid "checkpoint skipped because system is idle"
 msgstr "checkpoint ignoré, le système étant en attente"
 
-#: access/transam/xlog.c:8854
+#: access/transam/xlog.c:8862
 #, fuzzy, c-format
 #| msgid "concurrent transaction log activity while database system is shutting down"
 msgid "concurrent write-ahead log activity while database system is shutting down"
@@ -2320,117 +2343,117 @@ 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:9108
+#: access/transam/xlog.c:9116
 #, 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:9131
+#: access/transam/xlog.c:9139
 #, 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:9307
+#: access/transam/xlog.c:9315
 #, c-format
 msgid "recovery restart point at %X/%X"
 msgstr "la ré-exécution en restauration commence à %X/%X"
 
-#: access/transam/xlog.c:9443
+#: access/transam/xlog.c:9451
 #, c-format
 msgid "restore point \"%s\" created at %X/%X"
 msgstr "point de restauration « %s » créé à %X/%X"
 
-#: access/transam/xlog.c:9573
+#: access/transam/xlog.c:9581
 #, 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:9582
+#: access/transam/xlog.c:9590
 #, 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:9598
+#: access/transam/xlog.c:9606
 #, 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:9674
+#: access/transam/xlog.c:9682
 #, 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:9730 access/transam/xlog.c:9777 access/transam/xlog.c:9800
+#: access/transam/xlog.c:9738 access/transam/xlog.c:9785 access/transam/xlog.c:9808
 #, 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:10076
+#: access/transam/xlog.c:10084
 #, 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:10101
+#: access/transam/xlog.c:10109
 #, 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:10109
+#: access/transam/xlog.c:10117
 #, 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:10118
+#: access/transam/xlog.c:10126
 #, 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:10209 access/transam/xlog.c:10727 access/transam/xlogfuncs.c:297 access/transam/xlogfuncs.c:324 access/transam/xlogfuncs.c:363 access/transam/xlogfuncs.c:384 access/transam/xlogfuncs.c:405
+#: access/transam/xlog.c:10217 access/transam/xlog.c:10742 access/transam/xlogfuncs.c:297 access/transam/xlogfuncs.c:324 access/transam/xlogfuncs.c:363 access/transam/xlogfuncs.c:384 access/transam/xlogfuncs.c:405
 #, 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:10218 access/transam/xlog.c:10736
+#: access/transam/xlog.c:10226 access/transam/xlog.c:10751
 #, 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:10219 access/transam/xlog.c:10737 access/transam/xlogfuncs.c:330
+#: access/transam/xlog.c:10227 access/transam/xlog.c:10752 access/transam/xlogfuncs.c:330
 #, c-format
 msgid "wal_level must be set to \"replica\" or \"logical\" at server start."
 msgstr ""
 "wal_level doit être configuré à « replica » ou « logical »\n"
 "au démarrage du serveur."
 
-#: access/transam/xlog.c:10224
+#: access/transam/xlog.c:10232
 #, c-format
 msgid "backup label too long (max %d bytes)"
 msgstr "label de sauvegarde trop long (%d octets maximum)"
 
-#: access/transam/xlog.c:10261 access/transam/xlog.c:10534 access/transam/xlog.c:10572
+#: access/transam/xlog.c:10269 access/transam/xlog.c:10542 access/transam/xlog.c:10580
 #, c-format
 msgid "a backup is already in progress"
 msgstr "une sauvegarde est déjà en cours"
 
-#: access/transam/xlog.c:10262
+#: access/transam/xlog.c:10270
 #, c-format
 msgid "Run pg_stop_backup() and try again."
 msgstr "Exécutez pg_stop_backup() et tentez de nouveau."
 
-#: access/transam/xlog.c:10357
+#: access/transam/xlog.c:10365
 #, 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:10359 access/transam/xlog.c:10917
+#: access/transam/xlog.c:10367 access/transam/xlog.c:10947
 #, 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 ""
@@ -2438,86 +2461,86 @@ 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:10426 replication/basebackup.c:1096 utils/adt/misc.c:497
+#: access/transam/xlog.c:10434 replication/basebackup.c:1097 utils/adt/misc.c:497
 #, 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:10433 replication/basebackup.c:1101 utils/adt/misc.c:502
+#: access/transam/xlog.c:10441 replication/basebackup.c:1102 utils/adt/misc.c:502
 #, c-format
 msgid "symbolic link \"%s\" target is too long"
 msgstr "la cible du lien symbolique « %s » est trop long"
 
-#: access/transam/xlog.c:10486 commands/tablespace.c:389 commands/tablespace.c:551 replication/basebackup.c:1116 utils/adt/misc.c:510
+#: access/transam/xlog.c:10494 commands/tablespace.c:389 commands/tablespace.c:551 replication/basebackup.c:1117 utils/adt/misc.c:510
 #, 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:10528 access/transam/xlog.c:10566 access/transam/xlog.c:10775 access/transam/xlogarchive.c:105 access/transam/xlogarchive.c:264 commands/copy.c:1897 commands/copy.c:3127 commands/extension.c:3319 commands/tablespace.c:780 commands/tablespace.c:871 guc-file.l:1001 replication/basebackup.c:480 replication/basebackup.c:548 replication/logical/snapbuild.c:1518 storage/file/copydir.c:72 storage/file/copydir.c:115
-#: storage/file/fd.c:2954 storage/file/fd.c:3046 utils/adt/dbsize.c:70 utils/adt/dbsize.c:227 utils/adt/dbsize.c:307 utils/adt/genfile.c:115 utils/adt/genfile.c:334
+#: access/transam/xlog.c:10536 access/transam/xlog.c:10574 access/transam/xlog.c:10790 access/transam/xlogarchive.c:105 access/transam/xlogarchive.c:264 commands/copy.c:1853 commands/copy.c:3155 commands/extension.c:3319 commands/tablespace.c:780 commands/tablespace.c:871 guc-file.l:1002 replication/basebackup.c:481 replication/basebackup.c:549 replication/logical/snapbuild.c:1518 storage/file/copydir.c:72 storage/file/copydir.c:115
+#: storage/file/fd.c:2976 storage/file/fd.c:3068 utils/adt/dbsize.c:70 utils/adt/dbsize.c:227 utils/adt/dbsize.c:307 utils/adt/genfile.c:115 utils/adt/genfile.c:334
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "n'a pas pu tester le fichier « %s » : %m"
 
-#: access/transam/xlog.c:10535 access/transam/xlog.c:10573
+#: access/transam/xlog.c:10543 access/transam/xlog.c:10581
 #, 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:10552 access/transam/xlog.c:10590 access/transam/xlog.c:10978 postmaster/syslogger.c:1391 postmaster/syslogger.c:1404
+#: access/transam/xlog.c:10560 access/transam/xlog.c:10598 access/transam/xlog.c:11005 postmaster/syslogger.c:1391 postmaster/syslogger.c:1404
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "impossible d'écrire le fichier « %s » : %m"
 
-#: access/transam/xlog.c:10752
+#: access/transam/xlog.c:10767
 #, c-format
 msgid "exclusive backup not in progress"
 msgstr "une sauvegarde exclusive n'est pas en cours"
 
-#: access/transam/xlog.c:10779
+#: access/transam/xlog.c:10794
 #, c-format
 msgid "a backup is not in progress"
 msgstr "une sauvegarde n'est pas en cours"
 
-#: access/transam/xlog.c:10852 access/transam/xlog.c:10865 access/transam/xlog.c:11206 access/transam/xlog.c:11212 access/transam/xlog.c:11296 access/transam/xlogfuncs.c:698
+#: access/transam/xlog.c:10880 access/transam/xlog.c:10893 access/transam/xlog.c:11246 access/transam/xlog.c:11252 access/transam/xlog.c:11336 access/transam/xlogfuncs.c:698
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "données invalides dans le fichier « %s »"
 
-#: access/transam/xlog.c:10869 replication/basebackup.c:994
+#: access/transam/xlog.c:10897 replication/basebackup.c:995
 #, 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:10870 replication/basebackup.c:995
+#: access/transam/xlog.c:10898 replication/basebackup.c:996
 #, 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:10915
+#: access/transam/xlog.c:10945
 #, 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:11028
+#: access/transam/xlog.c:11060
 #, 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:11038
+#: access/transam/xlog.c:11070
 #, 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:11040
+#: access/transam/xlog.c:11072
 #, 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 ""
@@ -2525,12 +2548,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:11047
+#: access/transam/xlog.c:11079
 #, 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:11051
+#: access/transam/xlog.c:11083
 #, 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 ""
@@ -2539,57 +2562,57 @@ msgstr ""
 "transactions sont copiés par d'autre moyens pour terminer la sauvegarde."
 
 #. translator: %s is a WAL record description
-#: access/transam/xlog.c:11336
+#: access/transam/xlog.c:11376
 #, c-format
 msgid "WAL redo at %X/%X for %s"
 msgstr "rejeu des WAL à %X/%X pour %s"
 
-#: access/transam/xlog.c:11385
+#: access/transam/xlog.c:11425
 #, 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:11386
+#: access/transam/xlog.c:11426
 #, 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:11395 access/transam/xlog.c:11407 access/transam/xlog.c:11417
+#: access/transam/xlog.c:11435 access/transam/xlog.c:11447 access/transam/xlog.c:11457
 #, c-format
 msgid "online backup mode canceled"
 msgstr "mode de sauvegarde en ligne annulé"
 
-#: access/transam/xlog.c:11408
+#: access/transam/xlog.c:11448
 #, 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:11418
+#: access/transam/xlog.c:11458
 #, 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:11540 access/transam/xlogutils.c:724 replication/walreceiver.c:1005 replication/walsender.c:2397
+#: access/transam/xlog.c:11580 access/transam/xlogutils.c:724 replication/walreceiver.c:1011 replication/walsender.c:2412
 #, 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:11554
+#: access/transam/xlog.c:11594
 #, 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:12043
+#: access/transam/xlog.c:12083
 #, c-format
 msgid "received promote request"
 msgstr "a reçu une demande de promotion"
 
-#: access/transam/xlog.c:12056
+#: access/transam/xlog.c:12096
 #, c-format
 msgid "trigger file found: %s"
 msgstr "fichier trigger trouvé : %s"
 
-#: access/transam/xlog.c:12065
+#: access/transam/xlog.c:12105
 #, c-format
 msgid "could not stat trigger file \"%s\": %m"
 msgstr "n'a pas pu tester le fichier trigger « %s » : %m"
@@ -2617,7 +2640,7 @@ msgstr "n'a pas pu restaurer le fichier « %s » à partir de l'archive : %s"
 msgid "%s \"%s\": %s"
 msgstr "%s « %s »: %s"
 
-#: access/transam/xlogarchive.c:457 postmaster/syslogger.c:1415 replication/logical/snapbuild.c:1645 replication/slot.c:589 replication/slot.c:1189 replication/slot.c:1303 storage/file/fd.c:642 storage/file/fd.c:737 utils/time/snapmgr.c:1318
+#: access/transam/xlogarchive.c:457 postmaster/syslogger.c:1415 replication/logical/snapbuild.c:1645 replication/slot.c:590 replication/slot.c:1190 replication/slot.c:1304 storage/file/fd.c:641 storage/file/fd.c:736 utils/time/snapmgr.c:1318
 #, c-format
 msgid "could not rename file \"%s\" to \"%s\": %m"
 msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m"
@@ -2642,7 +2665,7 @@ msgstr "annulation de la sauvegarde due à la déconnexion du processus serveur
 msgid "a backup is already in progress in this session"
 msgstr "une sauvegarde est déjà en cours dans cette session"
 
-#: access/transam/xlogfuncs.c:92 commands/tablespace.c:703 commands/tablespace.c:713 postmaster/postmaster.c:1458 replication/basebackup.c:368 replication/basebackup.c:708 storage/file/copydir.c:53 storage/file/copydir.c:96 storage/file/fd.c:2420 storage/file/fd.c:3019 storage/ipc/dsm.c:301 utils/adt/genfile.c:440 utils/adt/misc.c:410 utils/misc/tzparser.c:339
+#: access/transam/xlogfuncs.c:92 commands/tablespace.c:703 commands/tablespace.c:713 postmaster/postmaster.c:1460 replication/basebackup.c:369 replication/basebackup.c:709 storage/file/copydir.c:53 storage/file/copydir.c:96 storage/file/fd.c:2434 storage/file/fd.c:3041 storage/ipc/dsm.c:301 utils/adt/genfile.c:440 utils/adt/misc.c:410 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"
@@ -2657,16 +2680,16 @@ msgstr "une sauvegarde non exclusive est en cours"
 msgid "Did you mean to use pg_stop_backup('f')?"
 msgstr "Souhaitiez-vous utiliser pg_stop_backup('f') ?"
 
-#: access/transam/xlogfuncs.c:205 commands/event_trigger.c:1471 commands/event_trigger.c:2022 commands/extension.c:1895 commands/extension.c:2004 commands/extension.c:2228 commands/prepare.c:721 executor/execExpr.c:2121 executor/execSRF.c:688 executor/functions.c:1029 foreign/foreign.c:488 libpq/hba.c:2563 replication/logical/launcher.c:936 replication/logical/logicalfuncs.c:176 replication/logical/origin.c:1387 replication/slotfuncs.c:197
-#: replication/walsender.c:3166 utils/adt/jsonfuncs.c:1689 utils/adt/jsonfuncs.c:1819 utils/adt/jsonfuncs.c:2007 utils/adt/jsonfuncs.c:2134 utils/adt/jsonfuncs.c:3489 utils/adt/pgstatfuncs.c:456 utils/adt/pgstatfuncs.c:557 utils/fmgr/funcapi.c:62 utils/misc/guc.c:8549 utils/mmgr/portalmem.c:1053
+#: access/transam/xlogfuncs.c:205 commands/event_trigger.c:1471 commands/event_trigger.c:2022 commands/extension.c:1895 commands/extension.c:2004 commands/extension.c:2228 commands/prepare.c:721 executor/execExpr.c:2121 executor/execSRF.c:690 executor/functions.c:1029 foreign/foreign.c:488 libpq/hba.c:2565 replication/logical/launcher.c:1026 replication/logical/logicalfuncs.c:176 replication/logical/origin.c:1443 replication/slotfuncs.c:197
+#: replication/walsender.c:3181 utils/adt/jsonfuncs.c:1689 utils/adt/jsonfuncs.c:1819 utils/adt/jsonfuncs.c:2007 utils/adt/jsonfuncs.c:2134 utils/adt/jsonfuncs.c:3489 utils/adt/pgstatfuncs.c:456 utils/adt/pgstatfuncs.c:557 utils/fmgr/funcapi.c:62 utils/misc/guc.c:8549 utils/mmgr/portalmem.c:1067
 #, 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:209 commands/event_trigger.c:1475 commands/event_trigger.c:2026 commands/extension.c:1899 commands/extension.c:2008 commands/extension.c:2232 commands/prepare.c:725 foreign/foreign.c:493 libpq/hba.c:2567 replication/logical/launcher.c:940 replication/logical/logicalfuncs.c:180 replication/logical/origin.c:1391 replication/slotfuncs.c:201 replication/walsender.c:3170 utils/adt/pgstatfuncs.c:460
-#: utils/adt/pgstatfuncs.c:561 utils/misc/guc.c:8553 utils/misc/pg_config.c:44 utils/mmgr/portalmem.c:1057
+#: access/transam/xlogfuncs.c:209 commands/event_trigger.c:1475 commands/event_trigger.c:2026 commands/extension.c:1899 commands/extension.c:2008 commands/extension.c:2232 commands/prepare.c:725 foreign/foreign.c:493 libpq/hba.c:2569 replication/logical/launcher.c:1030 replication/logical/logicalfuncs.c:180 replication/logical/origin.c:1447 replication/slotfuncs.c:201 replication/walsender.c:3185 utils/adt/pgstatfuncs.c:460
+#: utils/adt/pgstatfuncs.c:561 utils/misc/guc.c:8553 utils/misc/pg_config.c:44 utils/mmgr/portalmem.c:1071
 #, c-format
 msgid "materialize mode required, but it is not allowed in this context"
 msgstr "mode matérialisé requis mais interdit dans ce contexte"
@@ -2842,32 +2865,32 @@ msgstr "BKPBLOCK_SAME_REL configuré, mais pas de relation précédente à %X/%X
 msgid "invalid block_id %u at %X/%X"
 msgstr "block_id %u invalide à %X/%X"
 
-#: access/transam/xlogreader.c:1291
+#: access/transam/xlogreader.c:1306
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "enregistrement de longueur invalide à %X/%X"
 
-#: access/transam/xlogreader.c:1380
+#: access/transam/xlogreader.c:1395
 #, c-format
 msgid "invalid compressed image at %X/%X, block %d"
 msgstr "image compressée invalide à %X/%X, bloc %d"
 
-#: access/transam/xlogutils.c:747 replication/walsender.c:2416
+#: access/transam/xlogutils.c:747 replication/walsender.c:2431
 #, 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:272 postmaster/postmaster.c:819 tcop/postgres.c:3510
+#: bootstrap/bootstrap.c:272 postmaster/postmaster.c:821 tcop/postgres.c:3508
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s requiert une valeur"
 
-#: bootstrap/bootstrap.c:277 postmaster/postmaster.c:824 tcop/postgres.c:3515
+#: bootstrap/bootstrap.c:277 postmaster/postmaster.c:826 tcop/postgres.c:3513
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s requiert une valeur"
 
-#: bootstrap/bootstrap.c:288 postmaster/postmaster.c:836 postmaster/postmaster.c:849
+#: bootstrap/bootstrap.c:288 postmaster/postmaster.c:838 postmaster/postmaster.c:851
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Essayez « %s --help » pour plus d'informations.\n"
@@ -2995,9 +3018,9 @@ msgstr "le « Large Object » %u n'existe pas"
 #: catalog/aclchk.c:885 catalog/aclchk.c:894 commands/collationcmds.c:114 commands/copy.c:1042 commands/copy.c:1062 commands/copy.c:1071 commands/copy.c:1080 commands/copy.c:1089 commands/copy.c:1098 commands/copy.c:1107 commands/copy.c:1116 commands/copy.c:1125 commands/copy.c:1143 commands/copy.c:1159 commands/copy.c:1179 commands/copy.c:1196 commands/dbcommands.c:155 commands/dbcommands.c:164 commands/dbcommands.c:173
 #: commands/dbcommands.c:182 commands/dbcommands.c:191 commands/dbcommands.c:200 commands/dbcommands.c:209 commands/dbcommands.c:218 commands/dbcommands.c:227 commands/dbcommands.c:1427 commands/dbcommands.c:1436 commands/dbcommands.c:1445 commands/dbcommands.c:1454 commands/extension.c:1678 commands/extension.c:1688 commands/extension.c:1698 commands/extension.c:1708 commands/extension.c:2949 commands/foreigncmds.c:537
 #: commands/foreigncmds.c:546 commands/functioncmds.c:526 commands/functioncmds.c:643 commands/functioncmds.c:652 commands/functioncmds.c:661 commands/functioncmds.c:670 commands/functioncmds.c:2097 commands/functioncmds.c:2105 commands/publicationcmds.c:90 commands/sequence.c:1265 commands/sequence.c:1275 commands/sequence.c:1285 commands/sequence.c:1295 commands/sequence.c:1305 commands/sequence.c:1315 commands/sequence.c:1325
-#: commands/sequence.c:1335 commands/sequence.c:1345 commands/subscriptioncmds.c:110 commands/subscriptioncmds.c:120 commands/subscriptioncmds.c:130 commands/subscriptioncmds.c:140 commands/subscriptioncmds.c:154 commands/subscriptioncmds.c:165 commands/subscriptioncmds.c:179 commands/tablecmds.c:5960 commands/typecmds.c:298 commands/typecmds.c:1375 commands/typecmds.c:1384 commands/typecmds.c:1392 commands/typecmds.c:1400
-#: commands/typecmds.c:1408 commands/user.c:134 commands/user.c:148 commands/user.c:157 commands/user.c:166 commands/user.c:175 commands/user.c:184 commands/user.c:193 commands/user.c:202 commands/user.c:211 commands/user.c:220 commands/user.c:229 commands/user.c:238 commands/user.c:247 commands/user.c:532 commands/user.c:540 commands/user.c:548 commands/user.c:556 commands/user.c:564 commands/user.c:572 commands/user.c:580
-#: commands/user.c:588 commands/user.c:597 commands/user.c:605 commands/user.c:613 parser/parse_utilcmd.c:395 replication/pgoutput/pgoutput.c:107 replication/pgoutput/pgoutput.c:128 replication/walsender.c:800 replication/walsender.c:811 replication/walsender.c:821
+#: commands/sequence.c:1335 commands/sequence.c:1345 commands/subscriptioncmds.c:110 commands/subscriptioncmds.c:120 commands/subscriptioncmds.c:130 commands/subscriptioncmds.c:140 commands/subscriptioncmds.c:154 commands/subscriptioncmds.c:165 commands/subscriptioncmds.c:179 commands/tablecmds.c:5987 commands/typecmds.c:298 commands/typecmds.c:1396 commands/typecmds.c:1405 commands/typecmds.c:1413 commands/typecmds.c:1421
+#: commands/typecmds.c:1429 commands/user.c:134 commands/user.c:148 commands/user.c:157 commands/user.c:166 commands/user.c:175 commands/user.c:184 commands/user.c:193 commands/user.c:202 commands/user.c:211 commands/user.c:220 commands/user.c:229 commands/user.c:238 commands/user.c:247 commands/user.c:555 commands/user.c:563 commands/user.c:571 commands/user.c:579 commands/user.c:587 commands/user.c:595 commands/user.c:603
+#: commands/user.c:611 commands/user.c:620 commands/user.c:628 commands/user.c:636 parser/parse_utilcmd.c:399 replication/pgoutput/pgoutput.c:108 replication/pgoutput/pgoutput.c:129 replication/walsender.c:801 replication/walsender.c:812 replication/walsender.c:822
 #, c-format
 msgid "conflicting or redundant options"
 msgstr "options en conflit ou redondantes"
@@ -3012,13 +3035,13 @@ msgstr "les droits par défaut ne peuvent pas être configurés pour les colonne
 msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS"
 msgstr "ne peut pas utiliser la clause IN SCHEMA lors de l'utilisation de GRANT/REVOKE ON SCHEMAS"
 
-#: catalog/aclchk.c:1521 catalog/objectaddress.c:1389 commands/analyze.c:390 commands/copy.c:4746 commands/sequence.c:1700 commands/tablecmds.c:5608 commands/tablecmds.c:5755 commands/tablecmds.c:5812 commands/tablecmds.c:5885 commands/tablecmds.c:5979 commands/tablecmds.c:6038 commands/tablecmds.c:6163 commands/tablecmds.c:6217 commands/tablecmds.c:6309 commands/tablecmds.c:6465 commands/tablecmds.c:8694 commands/tablecmds.c:8970
-#: commands/tablecmds.c:9405 commands/trigger.c:791 parser/analyze.c:2310 parser/parse_relation.c:2699 parser/parse_relation.c:2761 parser/parse_target.c:1002 parser/parse_type.c:127 utils/adt/acl.c:2823 utils/adt/ruleutils.c:2356
+#: catalog/aclchk.c:1521 catalog/objectaddress.c:1389 commands/analyze.c:399 commands/copy.c:4774 commands/sequence.c:1700 commands/tablecmds.c:5635 commands/tablecmds.c:5782 commands/tablecmds.c:5839 commands/tablecmds.c:5912 commands/tablecmds.c:6006 commands/tablecmds.c:6065 commands/tablecmds.c:6190 commands/tablecmds.c:6244 commands/tablecmds.c:6336 commands/tablecmds.c:6492 commands/tablecmds.c:8721 commands/tablecmds.c:8997
+#: commands/tablecmds.c:9432 commands/trigger.c:817 parser/analyze.c:2310 parser/parse_relation.c:2733 parser/parse_relation.c:2795 parser/parse_target.c:1002 parser/parse_type.c:127 utils/adt/acl.c:2828 utils/adt/ruleutils.c:2356
 #, 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:1787 catalog/objectaddress.c:1229 commands/sequence.c:1138 commands/tablecmds.c:229 commands/tablecmds.c:13080 utils/adt/acl.c:2059 utils/adt/acl.c:2089 utils/adt/acl.c:2121 utils/adt/acl.c:2153 utils/adt/acl.c:2181 utils/adt/acl.c:2211
+#: catalog/aclchk.c:1787 catalog/objectaddress.c:1229 commands/sequence.c:1138 commands/tablecmds.c:229 commands/tablecmds.c:13107 utils/adt/acl.c:2061 utils/adt/acl.c:2091 utils/adt/acl.c:2123 utils/adt/acl.c:2155 utils/adt/acl.c:2183 utils/adt/acl.c:2213
 #, c-format
 msgid "\"%s\" is not a sequence"
 msgstr "« %s » n'est pas une séquence"
@@ -3358,7 +3381,7 @@ msgstr "le wrapper de données distantes d'OID %u n'existe pas"
 msgid "foreign server with OID %u does not exist"
 msgstr "le serveur distant d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:4246 catalog/aclchk.c:4585 utils/cache/typcache.c:238
+#: catalog/aclchk.c:4246 catalog/aclchk.c:4585 utils/cache/typcache.c:240
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "le type d'OID %u n'existe pas"
@@ -3413,7 +3436,7 @@ msgstr "l'extension d'OID %u n'existe pas"
 msgid "publication with OID %u does not exist"
 msgstr "la publication d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:5123 commands/subscriptioncmds.c:1075
+#: catalog/aclchk.c:5123 commands/subscriptioncmds.c:1098
 #, c-format
 msgid "subscription with OID %u does not exist"
 msgstr "la souscription d'OID %u n'existe pas"
@@ -3506,12 +3529,12 @@ msgstr "droit refusé pour créer « %s.%s »"
 msgid "System catalog modifications are currently disallowed."
 msgstr "Les modifications du catalogue système sont actuellement interdites."
 
-#: catalog/heap.c:421 commands/tablecmds.c:1649 commands/tablecmds.c:2159 commands/tablecmds.c:5212
+#: catalog/heap.c:421 commands/tablecmds.c:1649 commands/tablecmds.c:2159 commands/tablecmds.c:5225
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "les tables peuvent avoir au plus %d colonnes"
 
-#: catalog/heap.c:438 commands/tablecmds.c:5471
+#: catalog/heap.c:438 commands/tablecmds.c:5498
 #, 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"
@@ -3536,17 +3559,17 @@ msgstr "le type composite %s ne peut pas être membre de lui-même"
 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:581 commands/createas.c:204 commands/createas.c:501 commands/indexcmds.c:1149 commands/tablecmds.c:13376 commands/view.c:103 regex/regc_pg_locale.c:263 utils/adt/formatting.c:1547 utils/adt/formatting.c:1671 utils/adt/formatting.c:1796 utils/adt/like.c:184 utils/adt/selfuncs.c:5563 utils/adt/varlena.c:1417 utils/adt/varlena.c:1866
+#: catalog/heap.c:581 commands/createas.c:204 commands/createas.c:501 commands/indexcmds.c:1152 commands/tablecmds.c:13403 commands/view.c:103 regex/regc_pg_locale.c:263 utils/adt/formatting.c:1546 utils/adt/formatting.c:1670 utils/adt/formatting.c:1795 utils/adt/like.c:184 utils/adt/selfuncs.c:5590 utils/adt/varlena.c:1417 utils/adt/varlena.c:1854
 #, 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:1067 catalog/index.c:807 commands/tablecmds.c:2943
+#: catalog/heap.c:1067 catalog/index.c:806 commands/tablecmds.c:2943
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "la relation « %s » existe déjà"
 
-#: catalog/heap.c:1083 catalog/pg_type.c:410 catalog/pg_type.c:732 commands/typecmds.c:239 commands/typecmds.c:788 commands/typecmds.c:1139 commands/typecmds.c:1350 commands/typecmds.c:2106
+#: catalog/heap.c:1083 catalog/pg_type.c:410 catalog/pg_type.c:732 commands/typecmds.c:239 commands/typecmds.c:788 commands/typecmds.c:1139 commands/typecmds.c:1371 commands/typecmds.c:2127
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "le type « %s » existe déjà"
@@ -3563,146 +3586,146 @@ msgstr ""
 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:2078
+#: catalog/heap.c:2080
 #, c-format
 msgid "cannot add NO INHERIT constraint to partitioned table \"%s\""
 msgstr "ne peut pas ajouter une contrainte NO INHERIT pour la table partitionnée « %s »"
 
-#: catalog/heap.c:2336
+#: catalog/heap.c:2338
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "la contrainte de vérification « %s » existe déjà"
 
-#: catalog/heap.c:2504 catalog/pg_constraint.c:649 commands/tablecmds.c:6825
+#: catalog/heap.c:2506 catalog/pg_constraint.c:649 commands/tablecmds.c:6852
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "la contrainte « %s » de la relation « %s » existe déjà"
 
-#: catalog/heap.c:2511
+#: catalog/heap.c:2513
 #, 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:2522
+#: catalog/heap.c:2524
 #, c-format
 msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\""
 msgstr "la contrainte « %s » entre en conflit avec une contrainte héritée sur la relation « %s »"
 
-#: catalog/heap.c:2532
+#: catalog/heap.c:2534
 #, c-format
 msgid "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\""
 msgstr "la contrainte « %s » entre en conflit avec une contrainte NOT VALID sur la relation « %s »"
 
-#: catalog/heap.c:2537
+#: catalog/heap.c:2539
 #, 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:2653
+#: catalog/heap.c:2655
 #, 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:2678 rewrite/rewriteHandler.c:1171
+#: catalog/heap.c:2680 rewrite/rewriteHandler.c:1176
 #, 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:2683 commands/prepare.c:384 parser/parse_node.c:430 parser/parse_target.c:590 parser/parse_target.c:840 parser/parse_target.c:850 rewrite/rewriteHandler.c:1176
+#: catalog/heap.c:2685 commands/prepare.c:384 parser/parse_node.c:430 parser/parse_target.c:590 parser/parse_target.c:840 parser/parse_target.c:850 rewrite/rewriteHandler.c:1181
 #, 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:2730
+#: catalog/heap.c:2732
 #, 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:2970
+#: catalog/heap.c:2972
 #, c-format
 msgid "unsupported ON COMMIT and foreign key combination"
 msgstr "combinaison ON COMMIT et clé étrangère non supportée"
 
-#: catalog/heap.c:2971
+#: catalog/heap.c:2973
 #, 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:2976
+#: catalog/heap.c:2978
 #, 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:2977
+#: catalog/heap.c:2979
 #, c-format
 msgid "Table \"%s\" references \"%s\"."
 msgstr "La table « %s » référence « %s »."
 
-#: catalog/heap.c:2979
+#: catalog/heap.c:2981
 #, 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:210 parser/parse_utilcmd.c:1671 parser/parse_utilcmd.c:1757
+#: catalog/index.c:213 parser/parse_utilcmd.c:1692 parser/parse_utilcmd.c:1778
 #, 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:228
+#: catalog/index.c:231
 #, c-format
 msgid "primary keys cannot be expressions"
 msgstr "les clés primaires ne peuvent pas être des expressions"
 
-#: catalog/index.c:757 catalog/index.c:1175
+#: catalog/index.c:756 catalog/index.c:1174
 #, 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:767
+#: catalog/index.c:766
 #, 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:785
+#: catalog/index.c:784
 #, 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:799 commands/createas.c:250 commands/sequence.c:152 parser/parse_utilcmd.c:201
+#: catalog/index.c:798 commands/createas.c:250 commands/sequence.c:152 parser/parse_utilcmd.c:203
 #, c-format
 msgid "relation \"%s\" already exists, skipping"
 msgstr "la relation « %s » existe déjà, poursuite du traitement"
 
-#: catalog/index.c:835
+#: catalog/index.c:834
 #, 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:1436
+#: catalog/index.c:1435
 #, 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:2024
+#: catalog/index.c:2023
 #, c-format
 msgid "building index \"%s\" on table \"%s\""
 msgstr "construction de l'index « %s » sur la table « %s »"
 
-#: catalog/index.c:3336
+#: catalog/index.c:3335
 #, 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:3467
+#: catalog/index.c:3466
 #, c-format
 msgid "index \"%s\" was reindexed"
 msgstr "l'index « %s » a été réindexée"
 
-#: catalog/namespace.c:235 catalog/namespace.c:433 catalog/namespace.c:527 commands/trigger.c:4931
+#: catalog/namespace.c:235 catalog/namespace.c:433 catalog/namespace.c:527 commands/trigger.c:5148
 #, 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 »"
@@ -3727,7 +3750,7 @@ msgstr "n'a pas pu obtenir un verrou sur la relation « %s »"
 msgid "relation \"%s.%s\" does not exist"
 msgstr "la relation « %s.%s » n'existe pas"
 
-#: catalog/namespace.c:405 parser/parse_relation.c:1177 parser/parse_relation.c:1185
+#: catalog/namespace.c:405 parser/parse_relation.c:1171 parser/parse_relation.c:1179
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "la relation « %s » n'existe pas"
@@ -3832,27 +3855,27 @@ msgstr "ne peut pas créer des tables temporaires lors de la restauration"
 msgid "cannot create temporary tables during a parallel operation"
 msgstr "ne peut pas créer de tables temporaires pendant une opération parallèle"
 
-#: catalog/namespace.c:4072 commands/tablespace.c:1169 commands/variable.c:64 utils/misc/guc.c:9990 utils/misc/guc.c:10068
+#: catalog/namespace.c:4072 commands/tablespace.c:1169 commands/variable.c:64 utils/misc/guc.c:9983 utils/misc/guc.c:10061
 #, c-format
 msgid "List syntax is invalid."
 msgstr "La syntaxe de la liste est invalide."
 
-#: catalog/objectaddress.c:1237 catalog/pg_publication.c:66 commands/lockcmds.c:93 commands/policy.c:94 commands/policy.c:391 commands/policy.c:481 commands/tablecmds.c:223 commands/tablecmds.c:265 commands/tablecmds.c:1507 commands/tablecmds.c:4722 commands/tablecmds.c:8810
+#: catalog/objectaddress.c:1237 catalog/pg_publication.c:66 commands/lockcmds.c:93 commands/policy.c:94 commands/policy.c:391 commands/policy.c:481 commands/tablecmds.c:223 commands/tablecmds.c:265 commands/tablecmds.c:1507 commands/tablecmds.c:4722 commands/tablecmds.c:8837
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "« %s » n'est pas une table"
 
-#: catalog/objectaddress.c:1244 commands/tablecmds.c:235 commands/tablecmds.c:4752 commands/tablecmds.c:13085 commands/view.c:141
+#: catalog/objectaddress.c:1244 commands/tablecmds.c:235 commands/tablecmds.c:4752 commands/tablecmds.c:13112 commands/view.c:141
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "« %s » n'est pas une vue"
 
-#: catalog/objectaddress.c:1251 commands/matview.c:174 commands/tablecmds.c:241 commands/tablecmds.c:13090
+#: catalog/objectaddress.c:1251 commands/matview.c:174 commands/tablecmds.c:241 commands/tablecmds.c:13117
 #, c-format
 msgid "\"%s\" is not a materialized view"
 msgstr "« %s » n'est pas une vue matérialisée"
 
-#: catalog/objectaddress.c:1258 commands/tablecmds.c:259 commands/tablecmds.c:4755 commands/tablecmds.c:13095
+#: catalog/objectaddress.c:1258 commands/tablecmds.c:259 commands/tablecmds.c:4755 commands/tablecmds.c:13122
 #, c-format
 msgid "\"%s\" is not a foreign table"
 msgstr "« %s » n'est pas une table distante"
@@ -3872,7 +3895,7 @@ msgstr "le nom de la colonne doit être qualifié"
 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:1508 commands/functioncmds.c:128 commands/tablecmds.c:251 commands/typecmds.c:3233 parser/parse_type.c:226 parser/parse_type.c:255 parser/parse_type.c:794 utils/adt/acl.c:4357
+#: catalog/objectaddress.c:1508 commands/functioncmds.c:128 commands/tablecmds.c:251 commands/typecmds.c:3269 parser/parse_type.c:226 parser/parse_type.c:255 parser/parse_type.c:794 utils/adt/acl.c:4362
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "le type « %s » n'existe pas"
@@ -4260,17 +4283,25 @@ msgstr "famille d'opérateur %s pour la méthode d'accès %s"
 msgid "%s in publication %s"
 msgstr "%s dans la publication %s"
 
-#: catalog/partition.c:727
+#: catalog/partition.c:728
 #, c-format
-msgid "cannot create range partition with empty range"
-msgstr "ne peut pas créer une partition par intervalle avec un intervalle vide"
+msgid "empty range bound specified for partition \"%s\""
+msgstr "limite d'intervalle vide indiquée pour la parttion « %s »"
+
+#: catalog/partition.c:730
+#, fuzzy, c-format
+#| msgid "range lower bound must be less than or equal to range upper bound"
+msgid "Specified lower bound %s is greater than or equal to upper bound %s."
+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"
 
-#: catalog/partition.c:808
+#: catalog/partition.c:814
 #, c-format
 msgid "partition \"%s\" would overlap partition \"%s\""
 msgstr "la partition « %s » surchargerait la partition « %s »"
 
-#: catalog/partition.c:921 catalog/partition.c:1099 commands/analyze.c:1446 commands/copy.c:1467 commands/tablecmds.c:8872 executor/execExprInterp.c:2853 executor/execMain.c:1878 executor/execMain.c:1956 executor/execMain.c:2004 executor/execMain.c:2114 executor/execMain.c:3294 executor/nodeModifyTable.c:1518
+#: catalog/partition.c:927 catalog/partition.c:1110 commands/analyze.c:1462 commands/copy.c:2510 commands/tablecmds.c:8899 executor/execExprInterp.c:2853 executor/execMain.c:1907 executor/execMain.c:1985 executor/execMain.c:2033 executor/execMain.c:2143 executor/execMain.c:3322 executor/nodeModifyTable.c:1533
 msgid "could not convert row type"
 msgstr "n'a pas pu convertir le type de ligne"
 
@@ -4386,7 +4417,7 @@ msgstr "l'impémentation d'aggrégat glissant retourne le type %s, mais l'implé
 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:810 commands/typecmds.c:1698 commands/typecmds.c:1749 commands/typecmds.c:1780 commands/typecmds.c:1803 commands/typecmds.c:1824 commands/typecmds.c:1851 commands/typecmds.c:1878 commands/typecmds.c:1955 commands/typecmds.c:1997 parser/parse_func.c:369 parser/parse_func.c:398 parser/parse_func.c:423 parser/parse_func.c:437 parser/parse_func.c:512 parser/parse_func.c:523 parser/parse_func.c:1977
+#: catalog/pg_aggregate.c:810 commands/typecmds.c:1719 commands/typecmds.c:1770 commands/typecmds.c:1801 commands/typecmds.c:1824 commands/typecmds.c:1845 commands/typecmds.c:1872 commands/typecmds.c:1899 commands/typecmds.c:1976 commands/typecmds.c:2018 parser/parse_func.c:369 parser/parse_func.c:398 parser/parse_func.c:423 parser/parse_func.c:437 parser/parse_func.c:512 parser/parse_func.c:523 parser/parse_func.c:1977
 #, c-format
 msgid "function %s does not exist"
 msgstr "la fonction %s n'existe pas"
@@ -4431,22 +4462,22 @@ msgstr "le collationnement « %s » pour l'encodage « %s » existe déjà"
 msgid "constraint \"%s\" for domain %s already exists"
 msgstr "la contrainte « %s » du domaine %s existe déjà"
 
-#: catalog/pg_constraint.c:788
+#: catalog/pg_constraint.c:788 catalog/pg_constraint.c:864
 #, 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:800
+#: catalog/pg_constraint.c:800 catalog/pg_constraint.c:898
 #, 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:846
+#: catalog/pg_constraint.c:944
 #, c-format
 msgid "domain %s has multiple constraints named \"%s\""
 msgstr "le domaine %s a plusieurs contraintes nommées « %s »"
 
-#: catalog/pg_constraint.c:858
+#: catalog/pg_constraint.c:956
 #, c-format
 msgid "constraint \"%s\" for domain %s does not exist"
 msgstr "la contrainte « %s » du domaine %s n'existe pas"
@@ -4674,7 +4705,7 @@ msgstr "les fonctions SQL ne peuvent avoir d'arguments du type %s"
 msgid "SQL function \"%s\""
 msgstr "Fonction SQL « %s »"
 
-#: catalog/pg_publication.c:57 commands/trigger.c:196
+#: catalog/pg_publication.c:57 commands/trigger.c:197
 #, c-format
 msgid "\"%s\" is a partitioned table"
 msgstr "« %s » est une table partitionnée"
@@ -4793,7 +4824,7 @@ msgstr ""
 "ne peut pas réaffecter les objets appartenant à %s car ils sont nécessaires au\n"
 "système de bases de données"
 
-#: catalog/pg_subscription.c:176 commands/subscriptioncmds.c:636 commands/subscriptioncmds.c:844 commands/subscriptioncmds.c:1044
+#: catalog/pg_subscription.c:176 commands/subscriptioncmds.c:633 commands/subscriptioncmds.c:843 commands/subscriptioncmds.c:1067
 #, c-format
 msgid "subscription \"%s\" does not exist"
 msgstr "la souscription « %s » n'existe pas"
@@ -4833,7 +4864,7 @@ 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:105 commands/indexcmds.c:399 commands/tablecmds.c:4734 commands/tablecmds.c:12973
+#: catalog/toasting.c:105 commands/indexcmds.c:399 commands/tablecmds.c:4734 commands/tablecmds.c:13000
 #, c-format
 msgid "\"%s\" is not a table or materialized view"
 msgstr "« %s » n'est pas une table ou une vue matérialisée"
@@ -5030,61 +5061,67 @@ msgstr "la méthode d'accès « %s » n'existe pas"
 msgid "handler function is not specified"
 msgstr "la fonction handler n'est pas spécifiée"
 
-#: commands/amcmds.c:262 commands/event_trigger.c:243 commands/foreigncmds.c:487 commands/proclang.c:117 commands/proclang.c:289 commands/trigger.c:590 parser/parse_clause.c:1011
+#: commands/amcmds.c:262 commands/event_trigger.c:243 commands/foreigncmds.c:487 commands/proclang.c:117 commands/proclang.c:289 commands/trigger.c:616 parser/parse_clause.c:982
 #, c-format
 msgid "function %s must return type %s"
 msgstr "la fonction %s doit renvoyer le type %s"
 
-#: commands/analyze.c:151
+#: commands/analyze.c:156
 #, c-format
 msgid "skipping analyze of \"%s\" --- lock not available"
 msgstr "ignore l'analyse de « %s » --- verrou non disponible"
 
-#: commands/analyze.c:168
+#: commands/analyze.c:173
 #, c-format
 msgid "skipping \"%s\" --- only superuser can analyze it"
 msgstr "ignore « %s » --- seul le super-utilisateur peut l'analyser"
 
-#: commands/analyze.c:172
+#: commands/analyze.c:177
 #, c-format
 msgid "skipping \"%s\" --- only superuser or database owner can analyze it"
 msgstr ""
 "ignore « %s » --- seul le super-utilisateur ou le propriétaire de la base de\n"
 "données peut l'analyser"
 
-#: commands/analyze.c:176
+#: commands/analyze.c:181
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can analyze it"
 msgstr ""
 "ignore « %s » --- seul le propriétaire de la table ou de la base de données\n"
 "peut l'analyser"
 
-#: commands/analyze.c:236
+#: commands/analyze.c:241
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze this foreign table"
 msgstr "ignore « %s » --- ne peut pas analyser cette table distante"
 
-#: commands/analyze.c:253
+#: commands/analyze.c:258
 #, c-format
 msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables"
 msgstr "ignore « %s » --- ne peut pas analyser les objets autres que les tables et les tables système"
 
-#: commands/analyze.c:334
+#: commands/analyze.c:339
 #, c-format
 msgid "analyzing \"%s.%s\" inheritance tree"
 msgstr "analyse l'arbre d'héritage « %s.%s »"
 
-#: commands/analyze.c:339
+#: commands/analyze.c:344
 #, c-format
 msgid "analyzing \"%s.%s\""
 msgstr "analyse « %s.%s »"
 
-#: commands/analyze.c:668
+#: commands/analyze.c:404
+#, fuzzy, c-format
+#| msgid "column \"%s\" of relation \"%s\" does not exist"
+msgid "column \"%s\" of relation \"%s\" appears more than once"
+msgstr "la colonne « %s » de la relation « %s » n'existe pas"
+
+#: commands/analyze.c:684
 #, 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:1220
+#: commands/analyze.c:1236
 #, 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 ""
@@ -5093,54 +5130,54 @@ msgstr ""
 "  %d lignes dans l'échantillon,\n"
 "  %.0f lignes totales estimées"
 
-#: commands/analyze.c:1300
+#: commands/analyze.c:1316
 #, 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:1398
+#: commands/analyze.c:1414
 #, 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/async.c:555
+#: 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:560
+#: commands/async.c:563
 #, c-format
 msgid "channel name too long"
 msgstr "nom du canal trop long"
 
-#: commands/async.c:567
+#: commands/async.c:570
 #, c-format
 msgid "payload string too long"
 msgstr "chaîne de charge trop longue"
 
-#: commands/async.c:753
+#: 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:856
+#: 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:1486
+#: commands/async.c:1491
 #, c-format
 msgid "NOTIFY queue is %.0f%% full"
 msgstr "la queue NOTIFY est pleine à %.0f%%"
 
-#: commands/async.c:1488
+#: commands/async.c:1493
 #, 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:1491
+#: commands/async.c:1496
 #, c-format
 msgid "The NOTIFY queue cannot be emptied until that process ends its current transaction."
 msgstr ""
@@ -5157,7 +5194,7 @@ msgstr "ne peut pas exécuter CLUSTER sur les tables temporaires des autres sess
 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:173 commands/tablecmds.c:10185 commands/tablecmds.c:12066
+#: commands/cluster.c:173 commands/tablecmds.c:10212 commands/tablecmds.c:12093
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "l'index « %s » pour la table « %s » n'existe pas"
@@ -5172,7 +5209,7 @@ msgstr "ne peut pas exécuter CLUSTER sur un catalogue partagé"
 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:12076
+#: commands/cluster.c:431 commands/tablecmds.c:12103
 #, c-format
 msgid "\"%s\" is not an index for table \"%s\""
 msgstr "« %s » n'est pas un index de la table « %s »"
@@ -5194,29 +5231,29 @@ msgstr "ne peut pas exécuter CLUSTER sur l'index partiel « %s »"
 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:922
 #, 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:928
 #, 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:490
+#: commands/cluster.c:933 commands/vacuumlazy.c:492
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "exécution du VACUUM sur « %s.%s »"
 
-#: commands/cluster.c:1084
+#: 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:1088
+#: commands/cluster.c:1094
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -5280,7 +5317,7 @@ msgstr "n'a pas pu convertir le nom de locale « %s » en balise de langage : %s
 msgid "must be superuser to import system collations"
 msgstr "doit être super-utilisateur pour importer les collationnements systèmes"
 
-#: commands/collationcmds.c:535 commands/copy.c:1860 commands/copy.c:3102
+#: commands/collationcmds.c:535 commands/copy.c:1807 commands/copy.c:3130
 #, c-format
 msgid "could not execute command \"%s\": %m"
 msgstr "n'a pas pu exécuter la commande « %s » : %m"
@@ -5290,17 +5327,12 @@ msgstr "n'a pas pu exécuter la commande « %s » : %m"
 msgid "no usable system locales were found"
 msgstr "aucune locale système utilisable n'a été trouvée"
 
-#: commands/collationcmds.c:730 commands/collationcmds.c:769
-#, c-format
-msgid "could not get keyword values for locale \"%s\": %s"
-msgstr "n'a pas pu obtenir les valeurs des mots clés pour la locale « %s » : %s"
-
 #: commands/comment.c:61 commands/dbcommands.c:808 commands/dbcommands.c:996 commands/dbcommands.c:1100 commands/dbcommands.c:1290 commands/dbcommands.c:1513 commands/dbcommands.c:1627 commands/dbcommands.c:2043 utils/init/postinit.c:846 utils/init/postinit.c:951 utils/init/postinit.c:968
 #, 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:117 parser/parse_utilcmd.c:931
+#: commands/comment.c:101 commands/seclabel.c:117 parser/parse_utilcmd.c:952
 #, 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"
@@ -5531,337 +5563,337 @@ msgstr "le caractère guillemet de CSV ne doit pas apparaître dans la spécific
 msgid "table \"%s\" does not have OIDs"
 msgstr "la table « %s » n'a pas d'OID"
 
-#: commands/copy.c:1486
+#: commands/copy.c:1433
 #, c-format
 msgid "COPY (query) WITH OIDS is not supported"
 msgstr "COPY (requête) WITH OIDS n'est pas supporté"
 
-#: commands/copy.c:1507
+#: commands/copy.c:1454
 #, c-format
 msgid "DO INSTEAD NOTHING rules are not supported for COPY"
 msgstr "les règles DO INSTEAD NOTHING ne sont pas supportées par l'instruction COPY"
 
-#: commands/copy.c:1521
+#: commands/copy.c:1468
 #, c-format
 msgid "conditional DO INSTEAD rules are not supported for COPY"
 msgstr "les règles DO INSTEAD conditionnelles ne sont pas supportées par l'instruction COPY"
 
-#: commands/copy.c:1525
+#: commands/copy.c:1472
 #, c-format
 msgid "DO ALSO rules are not supported for the COPY"
 msgstr "les règles DO ALSO ne sont pas supportées par l'instruction COPY"
 
-#: commands/copy.c:1530
+#: commands/copy.c:1477
 #, c-format
 msgid "multi-statement DO INSTEAD rules are not supported for COPY"
 msgstr "les règles DO INSTEAD multi-instructions ne sont pas supportées par l'instruction COPY"
 
-#: commands/copy.c:1540
+#: commands/copy.c:1487
 #, c-format
 msgid "COPY (SELECT INTO) is not supported"
 msgstr "COPY (SELECT INTO) n'est pas supporté"
 
-#: commands/copy.c:1557
+#: commands/copy.c:1504
 #, c-format
 msgid "COPY query must have a RETURNING clause"
 msgstr "La requête COPY doit avoir une clause RETURNING"
 
-#: commands/copy.c:1585
+#: commands/copy.c:1532
 #, 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:1643
+#: commands/copy.c:1590
 #, c-format
 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:1665
+#: commands/copy.c:1612
 #, c-format
 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:1687
+#: commands/copy.c:1634
 #, c-format
 msgid "FORCE_NULL column \"%s\" not referenced by COPY"
 msgstr "colonne « %s » FORCE_NULL non référencée par COPY"
 
-#: commands/copy.c:1752
+#: commands/copy.c:1699
 #, 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:1756
+#: commands/copy.c:1703
 #, c-format
 msgid "program \"%s\" failed"
 msgstr "le programme « %s » a échoué"
 
-#: commands/copy.c:1806
+#: commands/copy.c:1753
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "ne peut pas copier à partir de la vue « %s »"
 
-#: commands/copy.c:1808 commands/copy.c:1814 commands/copy.c:1820 commands/copy.c:1831
+#: commands/copy.c:1755 commands/copy.c:1761 commands/copy.c:1767 commands/copy.c:1778
 #, c-format
 msgid "Try the COPY (SELECT ...) TO variant."
 msgstr "Tentez la variante COPY (SELECT ...) TO."
 
-#: commands/copy.c:1812
+#: commands/copy.c:1759
 #, 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:1818
+#: commands/copy.c:1765
 #, c-format
 msgid "cannot copy from foreign table \"%s\""
 msgstr "ne peut pas copier à partir de la table distante « %s »"
 
-#: commands/copy.c:1824
+#: commands/copy.c:1771
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "ne peut pas copier à partir de la séquence « %s »"
 
-#: commands/copy.c:1829
+#: commands/copy.c:1776
 #, c-format
 msgid "cannot copy from partitioned table \"%s\""
 msgstr "ne peut pas copier à partir de la table partitionnée « %s »"
 
-#: commands/copy.c:1835
+#: commands/copy.c:1782
 #, 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:1875
+#: commands/copy.c:1822
 #, 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:1887
+#: commands/copy.c:1843
 #, 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:1890
+#: commands/copy.c:1846
 #, c-format
 msgid "COPY TO instructs the PostgreSQL server process to write a file. You may want a client-side facility such as psql's \\copy."
 msgstr "COPY TO indique au serveur PostgreSQL d'écrire un fichier. Vous pourriez vouloir utiliser la fonctionnalité \\copy de psql pour écrire en local."
 
-#: commands/copy.c:1903 commands/copy.c:3133
+#: commands/copy.c:1859 commands/copy.c:3161
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "« %s » est un répertoire"
 
-#: commands/copy.c:2226
+#: commands/copy.c:2182
 #, c-format
 msgid "COPY %s, line %d, column %s"
 msgstr "COPY %s, ligne %d, colonne %s"
 
-#: commands/copy.c:2230 commands/copy.c:2277
+#: commands/copy.c:2186 commands/copy.c:2233
 #, c-format
 msgid "COPY %s, line %d"
 msgstr "COPY %s, ligne %d"
 
-#: commands/copy.c:2241
+#: commands/copy.c:2197
 #, c-format
 msgid "COPY %s, line %d, column %s: \"%s\""
 msgstr "COPY %s, ligne %d, colonne %s : « %s »"
 
-#: commands/copy.c:2249
+#: commands/copy.c:2205
 #, 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:2271
+#: commands/copy.c:2227
 #, c-format
 msgid "COPY %s, line %d: \"%s\""
 msgstr "COPY %s, ligne %d : « %s »"
 
-#: commands/copy.c:2365
+#: commands/copy.c:2321
 #, c-format
 msgid "cannot copy to view \"%s\""
 msgstr "ne peut pas copier vers la vue « %s »"
 
-#: commands/copy.c:2367
+#: commands/copy.c:2323
 #, c-format
 msgid "To enable copying to a view, provide an INSTEAD OF INSERT trigger."
 msgstr "Pour activer la copie d'une vue, fournissez un trigger INSTEAD OF INSERT."
 
-#: commands/copy.c:2371
+#: commands/copy.c:2327
 #, c-format
 msgid "cannot copy to materialized view \"%s\""
 msgstr "ne peut pas copier vers la vue matérialisée « %s »"
 
-#: commands/copy.c:2376
+#: commands/copy.c:2332
 #, c-format
 msgid "cannot copy to foreign table \"%s\""
 msgstr "ne peut pas copier vers la table distante « %s »"
 
-#: commands/copy.c:2381
+#: commands/copy.c:2337
 #, c-format
 msgid "cannot copy to sequence \"%s\""
 msgstr "ne peut pas copier vers la séquence « %s »"
 
-#: commands/copy.c:2386
+#: commands/copy.c:2342
 #, 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:2449
+#: commands/copy.c:2417
 #, 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:2455
+#: commands/copy.c:2423
 #, 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:2618 executor/nodeModifyTable.c:311
+#: commands/copy.c:2645 executor/nodeModifyTable.c:311
 #, c-format
 msgid "cannot route inserted tuples to a foreign table"
 msgstr "ne peut pas envoyer les lignes insérées dans une table distante"
 
-#: commands/copy.c:3120
+#: commands/copy.c:3148
 #, c-format
 msgid "COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \\copy."
 msgstr "COPY TO indique au serveur PostgreSQL de lire un fichier. Vous pourriez vouloir utiliser la fonctionnalité \\copy de psql pour lire en local."
 
-#: commands/copy.c:3153
+#: commands/copy.c:3181
 #, c-format
 msgid "COPY file signature not recognized"
 msgstr "la signature du fichier COPY n'est pas reconnue"
 
-#: commands/copy.c:3158
+#: commands/copy.c:3186
 #, c-format
 msgid "invalid COPY file header (missing flags)"
 msgstr "en-tête du fichier COPY invalide (options manquantes)"
 
-#: commands/copy.c:3164
+#: commands/copy.c:3192
 #, 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:3170
+#: commands/copy.c:3198
 #, c-format
 msgid "invalid COPY file header (missing length)"
 msgstr "en-tête du fichier COPY invalide (longueur manquante)"
 
-#: commands/copy.c:3177
+#: commands/copy.c:3205
 #, c-format
 msgid "invalid COPY file header (wrong length)"
 msgstr "en-tête du fichier COPY invalide (mauvaise longueur)"
 
-#: commands/copy.c:3310 commands/copy.c:4017 commands/copy.c:4247
+#: commands/copy.c:3338 commands/copy.c:4045 commands/copy.c:4275
 #, c-format
 msgid "extra data after last expected column"
 msgstr "données supplémentaires après la dernière colonne attendue"
 
-#: commands/copy.c:3320
+#: commands/copy.c:3348
 #, c-format
 msgid "missing data for OID column"
 msgstr "données manquantes pour la colonne OID"
 
-#: commands/copy.c:3326
+#: commands/copy.c:3354
 #, c-format
 msgid "null OID in COPY data"
 msgstr "OID NULL dans les données du COPY"
 
-#: commands/copy.c:3336 commands/copy.c:3459
+#: commands/copy.c:3364 commands/copy.c:3487
 #, c-format
 msgid "invalid OID in COPY data"
 msgstr "OID invalide dans les données du COPY"
 
-#: commands/copy.c:3351
+#: commands/copy.c:3379
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "données manquantes pour la colonne « %s »"
 
-#: commands/copy.c:3434
+#: commands/copy.c:3462
 #, 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:3441
+#: commands/copy.c:3469
 #, 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:3781 commands/copy.c:3798
+#: commands/copy.c:3809 commands/copy.c:3826
 #, c-format
 msgid "literal carriage return found in data"
 msgstr "retour chariot trouvé dans les données"
 
-#: commands/copy.c:3782 commands/copy.c:3799
+#: commands/copy.c:3810 commands/copy.c:3827
 #, c-format
 msgid "unquoted carriage return found in data"
 msgstr "retour chariot sans guillemet trouvé dans les données"
 
-#: commands/copy.c:3784 commands/copy.c:3801
+#: commands/copy.c:3812 commands/copy.c:3829
 #, c-format
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Utilisez « \\r » pour représenter un retour chariot."
 
-#: commands/copy.c:3785 commands/copy.c:3802
+#: commands/copy.c:3813 commands/copy.c:3830
 #, 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:3814
+#: commands/copy.c:3842
 #, c-format
 msgid "literal newline found in data"
 msgstr "retour à la ligne trouvé dans les données"
 
-#: commands/copy.c:3815
+#: commands/copy.c:3843
 #, c-format
 msgid "unquoted newline found in data"
 msgstr "retour à la ligne trouvé dans les données"
 
-#: commands/copy.c:3817
+#: commands/copy.c:3845
 #, c-format
 msgid "Use \"\\n\" to represent newline."
 msgstr "Utilisez « \\n » pour représenter un retour à la ligne."
 
-#: commands/copy.c:3818
+#: commands/copy.c:3846
 #, 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:3864 commands/copy.c:3900
+#: commands/copy.c:3892 commands/copy.c:3928
 #, 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:3873 commands/copy.c:3889
+#: commands/copy.c:3901 commands/copy.c:3917
 #, c-format
 msgid "end-of-copy marker corrupt"
 msgstr "marqueur fin-de-copie corrompu"
 
-#: commands/copy.c:4331
+#: commands/copy.c:4359
 #, c-format
 msgid "unterminated CSV quoted field"
 msgstr "champ CSV entre guillemets non terminé"
 
-#: commands/copy.c:4408 commands/copy.c:4427
+#: commands/copy.c:4436 commands/copy.c:4455
 #, c-format
 msgid "unexpected EOF in COPY data"
 msgstr "fin de fichier (EOF) inattendu dans les données du COPY"
 
-#: commands/copy.c:4417
+#: commands/copy.c:4445
 #, c-format
 msgid "invalid field size"
 msgstr "taille du champ invalide"
 
-#: commands/copy.c:4440
+#: commands/copy.c:4468
 #, c-format
 msgid "incorrect binary data format"
 msgstr "format de données binaires incorrect"
 
-#: commands/copy.c:4751 commands/indexcmds.c:1070 commands/tablecmds.c:1685 commands/tablecmds.c:2187 commands/tablecmds.c:2613 parser/parse_relation.c:3249 parser/parse_relation.c:3269 utils/adt/tsvector_op.c:2561
+#: commands/copy.c:4779 commands/indexcmds.c:1073 commands/statscmds.c:183 commands/tablecmds.c:1685 commands/tablecmds.c:2187 commands/tablecmds.c:2613 parser/parse_relation.c:3287 parser/parse_relation.c:3307 utils/adt/tsvector_op.c:2561
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "la colonne « %s » n'existe pas"
 
-#: commands/copy.c:4758 commands/tablecmds.c:1711 commands/tablecmds.c:2213 commands/trigger.c:800 parser/parse_target.c:1018 parser/parse_target.c:1029
+#: commands/copy.c:4786 commands/tablecmds.c:1711 commands/tablecmds.c:2213 commands/trigger.c:826 parser/parse_target.c:1018 parser/parse_target.c:1029
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "la colonne « %s » est spécifiée plus d'une fois"
@@ -5896,7 +5928,7 @@ 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:292 commands/dbcommands.c:1494 commands/user.c:276 commands/user.c:641
+#: commands/dbcommands.c:292 commands/dbcommands.c:1494 commands/user.c:276 commands/user.c:664
 #, c-format
 msgid "invalid connection limit: %d"
 msgstr "limite de connexion invalide : %d"
@@ -6159,7 +6191,7 @@ msgstr "l'argument de %s doit être un nom de type"
 msgid "invalid argument for %s: \"%s\""
 msgstr "argument invalide pour %s : « %s »"
 
-#: commands/dropcmds.c:104 commands/functioncmds.c:1201 utils/adt/ruleutils.c:2452
+#: commands/dropcmds.c:104 commands/functioncmds.c:1201 utils/adt/ruleutils.c:2453
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "« %s » est une fonction d'agrégat"
@@ -6169,7 +6201,7 @@ msgstr "« %s » est une fonction d'agrégat"
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Utiliser DROP AGGREGATE pour supprimer les fonctions d'agrégat."
 
-#: commands/dropcmds.c:157 commands/sequence.c:442 commands/tablecmds.c:2697 commands/tablecmds.c:2848 commands/tablecmds.c:2891 commands/tablecmds.c:12449 tcop/utility.c:1168
+#: commands/dropcmds.c:157 commands/sequence.c:442 commands/tablecmds.c:2697 commands/tablecmds.c:2848 commands/tablecmds.c:2891 commands/tablecmds.c:12476 tcop/utility.c:1168
 #, c-format
 msgid "relation \"%s\" does not exist, skipping"
 msgstr "la relation « %s » n'existe pas, poursuite du traitement"
@@ -7112,7 +7144,7 @@ msgstr "ne peut pas créer un index sur la table partitionnée « %s »"
 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:474 commands/tablecmds.c:593 commands/tablecmds.c:10493
+#: commands/indexcmds.c:474 commands/tablecmds.c:593 commands/tablecmds.c:10520
 #, 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"
@@ -7147,107 +7179,107 @@ msgstr "la création d'un index sur les tables du catalogue système n'est pas s
 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:999
+#: commands/indexcmds.c:1002
 #, 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:1065 parser/parse_utilcmd.c:2076
+#: commands/indexcmds.c:1068 parser/parse_utilcmd.c:2097
 #, 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:1125
+#: commands/indexcmds.c:1128
 #, 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:1148
+#: commands/indexcmds.c:1151
 #, 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:1156 commands/tablecmds.c:13383 commands/typecmds.c:831 parser/parse_expr.c:2763 parser/parse_type.c:549 parser/parse_utilcmd.c:3112 utils/adt/misc.c:661
+#: commands/indexcmds.c:1159 commands/tablecmds.c:13410 commands/typecmds.c:831 parser/parse_expr.c:2763 parser/parse_type.c:549 parser/parse_utilcmd.c:3134 utils/adt/misc.c:661
 #, 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:1194
+#: commands/indexcmds.c:1197
 #, c-format
 msgid "operator %s is not commutative"
 msgstr "l'opérateur %s n'est pas commutatif"
 
-#: commands/indexcmds.c:1196
+#: commands/indexcmds.c:1199
 #, 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:1222
+#: commands/indexcmds.c:1225
 #, 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:1225
+#: commands/indexcmds.c:1228
 #, 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:1260
+#: commands/indexcmds.c:1263
 #, 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:1265
+#: commands/indexcmds.c:1268
 #, 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:1324 commands/typecmds.c:1928
+#: commands/indexcmds.c:1327 commands/typecmds.c:1949
 #, 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:1326
+#: commands/indexcmds.c:1329
 #, 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:1355 commands/indexcmds.c:1363 commands/opclasscmds.c:205
+#: commands/indexcmds.c:1358 commands/indexcmds.c:1366 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:1376 commands/typecmds.c:1916
+#: commands/indexcmds.c:1379 commands/typecmds.c:1937
 #, 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:1466
+#: commands/indexcmds.c:1469
 #, 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:1857
+#: commands/indexcmds.c:1860
 #, c-format
 msgid "table \"%s\" has no indexes"
 msgstr "la table « %s » n'a pas d'index"
 
-#: commands/indexcmds.c:1912
+#: commands/indexcmds.c:1915
 #, 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:2012
+#: commands/indexcmds.c:2015
 #, c-format
 msgid "table \"%s.%s\" was reindexed"
 msgstr "la table « %s.%s » a été réindexée"
@@ -7496,7 +7528,7 @@ msgstr ""
 msgid "operator attribute \"%s\" cannot be changed"
 msgstr "l'attribut « %s » de l'opérateur ne peut pas être changé"
 
-#: commands/policy.c:87 commands/policy.c:397 commands/policy.c:487 commands/tablecmds.c:1150 commands/tablecmds.c:1520 commands/tablecmds.c:2507 commands/tablecmds.c:4704 commands/tablecmds.c:7041 commands/tablecmds.c:13006 commands/tablecmds.c:13041 commands/trigger.c:253 commands/trigger.c:1294 commands/trigger.c:1403 rewrite/rewriteDefine.c:272 rewrite/rewriteDefine.c:925
+#: commands/policy.c:87 commands/policy.c:397 commands/policy.c:487 commands/tablecmds.c:1150 commands/tablecmds.c:1520 commands/tablecmds.c:2507 commands/tablecmds.c:4704 commands/tablecmds.c:7068 commands/tablecmds.c:13033 commands/tablecmds.c:13068 commands/trigger.c:259 commands/trigger.c:1320 commands/trigger.c:1429 rewrite/rewriteDefine.c:272 rewrite/rewriteDefine.c:925
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "droit refusé : « %s » est un catalogue système"
@@ -7625,15 +7657,15 @@ msgstr "Les langages supportés sont listés dans le catalogue système pg_pltem
 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:281 commands/trigger.c:582 commands/typecmds.c:457 commands/typecmds.c:474
+#: commands/proclang.c:281 commands/trigger.c:608 commands/typecmds.c:457 commands/typecmds.c:474
 #, c-format
 msgid "changing return type of function %s from %s to %s"
 msgstr "changement du type de retour de la fonction %s de %s vers %s"
 
 #: commands/publicationcmds.c:106
 #, c-format
-msgid "invalid publish list"
-msgstr "liste de publication invalide"
+msgid "invalid list syntax for \"publish\" option"
+msgstr "syntaxe de liste invalide pour l'option « publish »"
 
 #: commands/publicationcmds.c:122
 #, c-format
@@ -7827,7 +7859,7 @@ msgstr "la séquence doit être dans le même schéma que la table avec laquelle
 msgid "cannot change ownership of identity sequence"
 msgstr "ne peut pas modifier le propriétaire de la séquence d'identité"
 
-#: commands/sequence.c:1716 commands/tablecmds.c:9875 commands/tablecmds.c:12469
+#: commands/sequence.c:1716 commands/tablecmds.c:9902 commands/tablecmds.c:12496
 #, c-format
 msgid "Sequence \"%s\" is linked to table \"%s\"."
 msgstr "La séquence « %s » est liée à la table « %s »."
@@ -7857,19 +7889,15 @@ msgstr "la relation « %s » n'est pas une table, une table distante ou une vue
 msgid "only simple column references are allowed in CREATE STATISTICS"
 msgstr "seules des références à une seule colonne sont acceptées dans CREATE STATISTICS"
 
-#: commands/statscmds.c:183
-#, c-format
-msgid "column \"%s\" referenced in statistics does not exist"
-msgstr "la colonne « %s » référencée dans les statistiques n'existe pas"
-
 #: commands/statscmds.c:191
 #, c-format
 msgid "statistics creation on system columns is not supported"
 msgstr "la création de statistiques sur les colonnes systèmes n'est pas supportée"
 
 #: commands/statscmds.c:198
-#, c-format
-msgid "column \"%s\" cannot be used in statistics because its type has no default btree operator class"
+#, fuzzy, c-format
+#| msgid "column \"%s\" cannot be used in statistics because its type has no default btree operator class"
+msgid "column \"%s\" cannot be used in statistics because its type %s has no default btree operator class"
 msgstr "la colonne « %s » ne peut pas être utilisé dans des statistiques parce que son type n'a pas de classe d'opérateur btree par défaut"
 
 #: commands/statscmds.c:205
@@ -7889,7 +7917,7 @@ msgstr "nom de colonne dupliqué dans la définition des statistiques"
 
 #: commands/statscmds.c:266
 #, c-format
-msgid "unrecognized statistic type \"%s\""
+msgid "unrecognized statistics kind \"%s\""
 msgstr "type de statistique « %s » non reconnu"
 
 #: commands/subscriptioncmds.c:187
@@ -7942,7 +7970,7 @@ msgstr "nom de publication « %s » utilisé plus d'une fois"
 msgid "must be superuser to create subscriptions"
 msgstr "doit être super-utilisateur pour créer des souscriptions"
 
-#: commands/subscriptioncmds.c:427 commands/subscriptioncmds.c:520 replication/logical/tablesync.c:856 replication/logical/worker.c:1616
+#: commands/subscriptioncmds.c:427 commands/subscriptioncmds.c:520 replication/logical/tablesync.c:856 replication/logical/worker.c:1622
 #, c-format
 msgid "could not connect to the publisher: %s"
 msgstr "n'a pas pu se connecter au publieur : %s"
@@ -7959,80 +7987,80 @@ msgstr "les tables n'étaient pas souscrites, vous devrez exécuter ALTER SUBSCR
 
 #: commands/subscriptioncmds.c:576
 #, c-format
-msgid "added subscription for table %s.%s"
-msgstr "souscription ajoutée pour la table %s.%s"
+msgid "table \"%s.%s\" added to subscription \"%s\""
+msgstr "table « %s.%s » ajoutée à la souscription « %s »"
 
-#: commands/subscriptioncmds.c:604
+#: commands/subscriptioncmds.c:600
 #, c-format
-msgid "removed subscription for table %s.%s"
-msgstr "a supprimé une souscription pour la table %s.%s"
+msgid "table \"%s.%s\" removed from subscription \"%s\""
+msgstr "table « %s.%s » supprimée de la souscription « %s »"
 
-#: commands/subscriptioncmds.c:672
+#: commands/subscriptioncmds.c:669
 #, c-format
 msgid "cannot set slot_name = NONE for enabled subscription"
 msgstr "ne peut pas configurer slot_name = NONE pour la souscription activée"
 
-#: commands/subscriptioncmds.c:706
+#: commands/subscriptioncmds.c:703
 #, c-format
 msgid "cannot enable subscription that does not have a slot name"
 msgstr "ne peut pas activer une souscription qui n'a pas de nom de slot"
 
-#: commands/subscriptioncmds.c:752
+#: commands/subscriptioncmds.c:749
 #, c-format
 msgid "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions"
 msgstr "ALTER SUBSCRIPTION avec rafraichissement n'est pas autorisé pour les souscriptions désactivées"
 
-#: commands/subscriptioncmds.c:753
+#: commands/subscriptioncmds.c:750
 #, c-format
 msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 msgstr "Utilisez ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)."
 
-#: commands/subscriptioncmds.c:771
+#: commands/subscriptioncmds.c:768
 #, c-format
 msgid "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions"
 msgstr "ALTER SUBSCRIPTION ... REFRESH n'est pas autorisé pour les souscriptions désactivées"
 
-#: commands/subscriptioncmds.c:848
+#: commands/subscriptioncmds.c:847
 #, c-format
 msgid "subscription \"%s\" does not exist, skipping"
 msgstr "la souscription « %s » n'existe pas, poursuite du traitement"
 
-#: commands/subscriptioncmds.c:949
+#: commands/subscriptioncmds.c:972
 #, c-format
 msgid "could not connect to publisher when attempting to drop the replication slot \"%s\""
 msgstr "n'a pas pu se connecter au publieur pour supprimer le slot de réplication « %s »"
 
-#: commands/subscriptioncmds.c:951 commands/subscriptioncmds.c:965 replication/logical/tablesync.c:906 replication/logical/tablesync.c:928
+#: commands/subscriptioncmds.c:974 commands/subscriptioncmds.c:988 replication/logical/tablesync.c:906 replication/logical/tablesync.c:928
 #, c-format
 msgid "The error was: %s"
 msgstr "L'erreur était : %s"
 
-#: commands/subscriptioncmds.c:952
+#: commands/subscriptioncmds.c:975
 #, c-format
 msgid "Use ALTER SUBSCRIPTION ... SET (slot_name = NONE) to disassociate the subscription from the slot."
 msgstr "Utilisez ALTER SUBSCRIPTION ... SET (slot_name = NONE) pour dissocier la souscription du slot."
 
-#: commands/subscriptioncmds.c:963
+#: commands/subscriptioncmds.c:986
 #, c-format
 msgid "could not drop the replication slot \"%s\" on publisher"
 msgstr "n'a pas pu supprimer le slot de réplication « %s » sur le publieur"
 
-#: commands/subscriptioncmds.c:968
+#: commands/subscriptioncmds.c:991
 #, c-format
 msgid "dropped replication slot \"%s\" on publisher"
 msgstr "slot de réplication « %s » supprimé sur le publieur"
 
-#: commands/subscriptioncmds.c:1009
+#: commands/subscriptioncmds.c:1032
 #, c-format
 msgid "permission denied to change owner of subscription \"%s\""
 msgstr "droit refusé pour modifier le propriétaire de la souscription « %s »"
 
-#: commands/subscriptioncmds.c:1011
+#: commands/subscriptioncmds.c:1034
 #, c-format
 msgid "The owner of a subscription must be a superuser."
 msgstr "Le propriétaire d'une souscription doit être un super-utilisateur."
 
-#: commands/subscriptioncmds.c:1124
+#: commands/subscriptioncmds.c:1147
 #, c-format
 msgid "could not receive list of replicated tables from the publisher: %s"
 msgstr "n'a pas pu recevoir la liste des tables répliquées à partir du publieur : %s"
@@ -8093,7 +8121,7 @@ msgstr "la vue matérialisée « %s » n'existe pas, poursuite du traitement"
 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:245 parser/parse_utilcmd.c:1828
+#: commands/tablecmds.c:245 parser/parse_utilcmd.c:1849
 #, c-format
 msgid "index \"%s\" does not exist"
 msgstr "l'index « %s » n'existe pas"
@@ -8116,7 +8144,7 @@ msgstr "« %s » n'est pas un type"
 msgid "Use DROP TYPE to remove a type."
 msgstr "Utilisez DROP TYPE pour supprimer un type."
 
-#: commands/tablecmds.c:257 commands/tablecmds.c:9391 commands/tablecmds.c:12249
+#: commands/tablecmds.c:257 commands/tablecmds.c:9418 commands/tablecmds.c:12276
 #, c-format
 msgid "foreign table \"%s\" does not exist"
 msgstr "la table distante « %s » n'existe pas"
@@ -8147,7 +8175,7 @@ msgstr ""
 msgid "cannot create table with OIDs as partition of table without OIDs"
 msgstr "ne peut pas créer une table avec OID comme partition d'une table sans OID"
 
-#: commands/tablecmds.c:783 parser/parse_utilcmd.c:3279
+#: commands/tablecmds.c:783 parser/parse_utilcmd.c:3301
 #, c-format
 msgid "\"%s\" is not partitioned"
 msgstr "« %s » n'est pas partitionné"
@@ -8187,7 +8215,7 @@ msgstr "TRUNCATE cascade sur la table « %s »"
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "ne peut pas tronquer les tables temporaires des autres sessions"
 
-#: commands/tablecmds.c:1761 commands/tablecmds.c:10976
+#: commands/tablecmds.c:1761 commands/tablecmds.c:11003
 #, c-format
 msgid "cannot inherit from partitioned table \"%s\""
 msgstr "ne peut pas hériter de la table partitionnée « %s »"
@@ -8197,22 +8225,22 @@ msgstr "ne peut pas hériter de la table partitionnée « %s »"
 msgid "cannot inherit from partition \"%s\""
 msgstr "ne peut pas hériter de la partition « %s »"
 
-#: commands/tablecmds.c:1774 parser/parse_utilcmd.c:2039
+#: commands/tablecmds.c:1774 parser/parse_utilcmd.c:2060
 #, 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:1782 commands/tablecmds.c:10955
+#: commands/tablecmds.c:1782 commands/tablecmds.c:10982
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "ine peut pas hériter à partir d'une relation temporaire « %s »"
 
-#: commands/tablecmds.c:1792 commands/tablecmds.c:10963
+#: commands/tablecmds.c:1792 commands/tablecmds.c:10990
 #, 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:1809 commands/tablecmds.c:11087
+#: commands/tablecmds.c:1809 commands/tablecmds.c:11114
 #, c-format
 msgid "relation \"%s\" would be inherited from more than once"
 msgstr "la relation « %s » serait héritée plus d'une fois"
@@ -8237,7 +8265,7 @@ msgstr "%s versus %s"
 msgid "inherited column \"%s\" has a collation conflict"
 msgstr "la colonne héritée « %s » a un conflit sur le collationnement"
 
-#: commands/tablecmds.c:1878 commands/tablecmds.c:2108 commands/tablecmds.c:5149
+#: commands/tablecmds.c:1878 commands/tablecmds.c:2108 commands/tablecmds.c:5162
 #, c-format
 msgid "\"%s\" versus \"%s\""
 msgstr "« %s » versus « %s »"
@@ -8247,12 +8275,12 @@ msgstr "« %s » versus « %s »"
 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:2002 commands/tablecmds.c:8881 parser/parse_utilcmd.c:1122 parser/parse_utilcmd.c:1473 parser/parse_utilcmd.c:1549
+#: commands/tablecmds.c:2002 commands/tablecmds.c:8908 parser/parse_utilcmd.c:1143 parser/parse_utilcmd.c:1494 parser/parse_utilcmd.c:1570
 #, 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:2003 parser/parse_utilcmd.c:1123
+#: commands/tablecmds.c:2003 parser/parse_utilcmd.c:1144
 #, 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 »."
@@ -8383,7 +8411,7 @@ msgstr "vérification de la table « %s »"
 msgid "column \"%s\" contains null values"
 msgstr "la colonne « %s » contient des valeurs NULL"
 
-#: commands/tablecmds.c:4571 commands/tablecmds.c:8150
+#: commands/tablecmds.c:4571 commands/tablecmds.c:8177
 #, c-format
 msgid "check constraint \"%s\" is violated by some row"
 msgstr "la contrainte de vérification « %s » est rompue par une ligne"
@@ -8393,12 +8421,12 @@ msgstr "la contrainte de vérification « %s » est rompue par une ligne"
 msgid "partition constraint is violated by some row"
 msgstr "la contrainte de partition est violée par une ligne"
 
-#: commands/tablecmds.c:4725 commands/trigger.c:247 rewrite/rewriteDefine.c:266 rewrite/rewriteDefine.c:920
+#: commands/tablecmds.c:4725 commands/trigger.c:253 rewrite/rewriteDefine.c:266 rewrite/rewriteDefine.c:920
 #, c-format
 msgid "\"%s\" is not a table or view"
 msgstr "« %s » n'est pas une table ou une vue"
 
-#: commands/tablecmds.c:4728 commands/trigger.c:1288 commands/trigger.c:1394
+#: commands/tablecmds.c:4728 commands/trigger.c:1314 commands/trigger.c:1420
 #, 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"
@@ -8428,7 +8456,7 @@ msgstr "« %s » n'est pas une table ou une table distante"
 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:4749 commands/tablecmds.c:6112
+#: commands/tablecmds.c:4749 commands/tablecmds.c:6139
 #, 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"
@@ -8438,836 +8466,837 @@ msgstr "« %s » n'est pas une table, une vue matérialisée, un index ou une ta
 msgid "\"%s\" is of the wrong type"
 msgstr "« %s » est du mauvais type"
 
-#: commands/tablecmds.c:4913 commands/tablecmds.c:4920
+#: commands/tablecmds.c:4934 commands/tablecmds.c:4941
 #, 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:4927
+#: commands/tablecmds.c:4948
 #, 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:4934
+#: commands/tablecmds.c:4955
 #, 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:4996
+#: commands/tablecmds.c:5009
 #, 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:4998
+#: commands/tablecmds.c:5011
 #, 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:5042
+#: commands/tablecmds.c:5055
 #, c-format
 msgid "type %s is not a composite type"
 msgstr "le type %s n'est pas un type composite"
 
-#: commands/tablecmds.c:5068
+#: commands/tablecmds.c:5081
 #, c-format
 msgid "cannot add column to typed table"
 msgstr "ne peut pas ajouter une colonne à une table typée"
 
-#: commands/tablecmds.c:5112
+#: commands/tablecmds.c:5125
 #, c-format
 msgid "cannot add column to a partition"
 msgstr "ne peut pas ajouter une colonne à une partition"
 
-#: commands/tablecmds.c:5141 commands/tablecmds.c:11213
+#: commands/tablecmds.c:5154 commands/tablecmds.c:11240
 #, 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:5147 commands/tablecmds.c:11220
+#: commands/tablecmds.c:5160 commands/tablecmds.c:11247
 #, 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:5157
+#: commands/tablecmds.c:5170
 #, c-format
 msgid "child table \"%s\" has a conflicting \"%s\" column"
 msgstr "la table fille « %s » a une colonne conflictuelle, « %s »"
 
-#: commands/tablecmds.c:5168
+#: commands/tablecmds.c:5181
 #, 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:5192
+#: commands/tablecmds.c:5205
 #, c-format
 msgid "cannot recursively add identity column to table that has child tables"
 msgstr "ne peut pas ajouter récursivement la colonne identité à une table qui a des tables filles"
 
-#: commands/tablecmds.c:5404
+#: commands/tablecmds.c:5431
 #, 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:5479
+#: commands/tablecmds.c:5506
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists, skipping"
 msgstr "la colonne « %s » de la relation « %s » existe déjà, poursuite du traitement"
 
-#: commands/tablecmds.c:5486
+#: commands/tablecmds.c:5513
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "la colonne « %s » de la relation « %s » existe déjà"
 
-#: commands/tablecmds.c:5584 commands/tablecmds.c:8563
+#: commands/tablecmds.c:5611 commands/tablecmds.c:8590
 #, c-format
 msgid "cannot remove constraint from only the partitioned table when partitions exist"
 msgstr "ne peut pas supprimer une contrainte uniquement d'une table partitionnée quand des partitions existent"
 
-#: commands/tablecmds.c:5585 commands/tablecmds.c:5732 commands/tablecmds.c:6529 commands/tablecmds.c:8564
+#: commands/tablecmds.c:5612 commands/tablecmds.c:5759 commands/tablecmds.c:6556 commands/tablecmds.c:8591
 #, c-format
 msgid "Do not specify the ONLY keyword."
 msgstr "Ne spécifiez pas le mot clé ONLY."
 
-#: commands/tablecmds.c:5617 commands/tablecmds.c:5764 commands/tablecmds.c:5819 commands/tablecmds.c:5894 commands/tablecmds.c:5988 commands/tablecmds.c:6047 commands/tablecmds.c:6171 commands/tablecmds.c:6225 commands/tablecmds.c:6317 commands/tablecmds.c:8703 commands/tablecmds.c:9414
+#: commands/tablecmds.c:5644 commands/tablecmds.c:5791 commands/tablecmds.c:5846 commands/tablecmds.c:5921 commands/tablecmds.c:6015 commands/tablecmds.c:6074 commands/tablecmds.c:6198 commands/tablecmds.c:6252 commands/tablecmds.c:6344 commands/tablecmds.c:8730 commands/tablecmds.c:9441
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "n'a pas pu modifier la colonne système « %s »"
 
-#: commands/tablecmds.c:5623 commands/tablecmds.c:5825
+#: commands/tablecmds.c:5650 commands/tablecmds.c:5852
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is an identity column"
 msgstr "la colonne « %s » de la relation « %s » n'est pas une colonne d'identité"
 
-#: commands/tablecmds.c:5659
+#: commands/tablecmds.c:5686
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "la colonne « %s » est dans une clé primaire"
 
-#: commands/tablecmds.c:5681
+#: commands/tablecmds.c:5708
 #, c-format
 msgid "column \"%s\" is marked NOT NULL in parent table"
 msgstr "la colonne « %s » est marquée NOT NULL dans la table parent"
 
-#: commands/tablecmds.c:5731
+#: commands/tablecmds.c:5758
 #, c-format
 msgid "cannot add constraint to only the partitioned table when partitions exist"
 msgstr "ne peut pas ajouter la contrainte à la seule table partitionnée quand plusieurs partitions existent"
 
-#: commands/tablecmds.c:5827
+#: commands/tablecmds.c:5854
 #, c-format
 msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead."
 msgstr "Utilisez à la place ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY."
 
-#: commands/tablecmds.c:5905
+#: commands/tablecmds.c:5932
 #, c-format
 msgid "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity can be added"
 msgstr "la colonne « %s » de la relation « %s » doit être déclarée NOT NULL avant que la colonne identité puisse être ajoutée"
 
-#: commands/tablecmds.c:5911
+#: commands/tablecmds.c:5938
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is already an identity column"
 msgstr "la colonne « %s » de la relation « %s » est déjà une colonne d'identité"
 
-#: commands/tablecmds.c:5917
+#: commands/tablecmds.c:5944
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already has a default value"
 msgstr "la colonne « %s » de la relation « %s » a déjà une valeur par défaut"
 
-#: commands/tablecmds.c:5994 commands/tablecmds.c:6055
+#: commands/tablecmds.c:6021 commands/tablecmds.c:6082
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not an identity column"
 msgstr "la colonne « %s » de la relation « %s » n'est pas une colonne d'identité"
 
-#: commands/tablecmds.c:6060
+#: commands/tablecmds.c:6087
 #, c-format
 msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping"
 msgstr "la colonne « %s » de la relation « %s » n'est pas une colonne d'identité, poursuite du traitement"
 
-#: commands/tablecmds.c:6144
+#: commands/tablecmds.c:6171
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "la cible statistique %d est trop basse"
 
-#: commands/tablecmds.c:6152
+#: commands/tablecmds.c:6179
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "abaissement de la cible statistique à %d"
 
-#: commands/tablecmds.c:6297
+#: commands/tablecmds.c:6324
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "type « %s » de stockage invalide"
 
-#: commands/tablecmds.c:6329
+#: commands/tablecmds.c:6356
 #, 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"
 
-#: commands/tablecmds.c:6364
+#: commands/tablecmds.c:6391
 #, c-format
 msgid "cannot drop column from typed table"
 msgstr "ne peut pas supprimer une colonne à une table typée"
 
-#: commands/tablecmds.c:6471
+#: commands/tablecmds.c:6498
 #, 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:6484
+#: commands/tablecmds.c:6511
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "ne peut pas supprimer la colonne système « %s »"
 
-#: commands/tablecmds.c:6491
+#: commands/tablecmds.c:6518
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "ne peut pas supprimer la colonne héritée « %s »"
 
-#: commands/tablecmds.c:6500
+#: commands/tablecmds.c:6527
 #, c-format
 msgid "cannot drop column named in partition key"
 msgstr "ne peut pas supprimer une colonne nommée dans une clé de partitionnement"
 
-#: commands/tablecmds.c:6504
+#: commands/tablecmds.c:6531
 #, c-format
 msgid "cannot drop column referenced in partition key expression"
 msgstr "ne peut pas supprimer une colonne référencée dans l'expression d'une clé de partitionnement"
 
-#: commands/tablecmds.c:6528
+#: commands/tablecmds.c:6555
 #, c-format
 msgid "cannot drop column from only the partitioned table when partitions exist"
 msgstr "ne peut pas supprimer une colonne sur une seule partition quand plusieurs partitions existent"
 
-#: commands/tablecmds.c:6746
+#: commands/tablecmds.c:6773
 #, 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:6958
+#: commands/tablecmds.c:6985
 #, 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:7029
+#: commands/tablecmds.c:7056
 #, c-format
 msgid "cannot reference partitioned table \"%s\""
 msgstr "ne peut pas référencer la table partitionnée « %s »"
 
-#: commands/tablecmds.c:7035
+#: commands/tablecmds.c:7062
 #, 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:7058
+#: commands/tablecmds.c:7085
 #, 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:7065
+#: commands/tablecmds.c:7092
 #, 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:7071
+#: commands/tablecmds.c:7098
 #, 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:7075
+#: commands/tablecmds.c:7102
 #, 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:7135
+#: commands/tablecmds.c:7162
 #, 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:7242
+#: commands/tablecmds.c:7269
 #, 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:7245
+#: commands/tablecmds.c:7272
 #, 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:7450 commands/tablecmds.c:7616 commands/tablecmds.c:8531 commands/tablecmds.c:8599
+#: commands/tablecmds.c:7477 commands/tablecmds.c:7643 commands/tablecmds.c:8558 commands/tablecmds.c:8626
 #, 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:7456
+#: commands/tablecmds.c:7483
 #, 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:7623
+#: commands/tablecmds.c:7650
 #, 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:7693
+#: commands/tablecmds.c:7720
 #, 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:7761
+#: commands/tablecmds.c:7788
 #, 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:7766
+#: commands/tablecmds.c:7793
 #, 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:7831
+#: commands/tablecmds.c:7858
 #, 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:7848
+#: commands/tablecmds.c:7875
 #, 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:7913
+#: commands/tablecmds.c:7940
 #, 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:8007
+#: commands/tablecmds.c:8034
 #, 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:8012
+#: commands/tablecmds.c:8039
 #, 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:8183
+#: commands/tablecmds.c:8210
 #, c-format
 msgid "validating foreign key constraint \"%s\""
 msgstr "validation de la contraintes de clé étrangère « %s »"
 
-#: commands/tablecmds.c:8485
+#: commands/tablecmds.c:8512
 #, 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:8537
+#: commands/tablecmds.c:8564
 #, 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:8687
+#: commands/tablecmds.c:8714
 #, 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:8710
+#: commands/tablecmds.c:8737
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "ne peut pas modifier la colonne héritée « %s »"
 
-#: commands/tablecmds.c:8719
+#: commands/tablecmds.c:8746
 #, c-format
 msgid "cannot alter type of column named in partition key"
 msgstr "ne peut pas modifier le type d'une colonne nommée dans une clé de partitionnement"
 
-#: commands/tablecmds.c:8723
+#: commands/tablecmds.c:8750
 #, c-format
 msgid "cannot alter type of column referenced in partition key expression"
 msgstr "ne peut pas utiliser le type d'une colonne référencée dans l'expression d'une clé de partitionnement"
 
-#: commands/tablecmds.c:8773
+#: commands/tablecmds.c:8800
 #, 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:8776
+#: commands/tablecmds.c:8803
 #, c-format
 msgid "You might need to add an explicit cast."
 msgstr "Vous pouvez avoir besoin d'ajouter une conversion explicite."
 
-#: commands/tablecmds.c:8780
+#: commands/tablecmds.c:8807
 #, 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:8783
+#: commands/tablecmds.c:8810
 #, 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:8882
+#: commands/tablecmds.c:8909
 #, c-format
 msgid "USING expression contains a whole-row table reference."
 msgstr "l'expression USING contient une référence de table de ligne complète"
 
-#: commands/tablecmds.c:8893
+#: commands/tablecmds.c:8920
 #, 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:8980
+#: commands/tablecmds.c:9007
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "ne peut pas modifier la colonne « %s » deux fois"
 
-#: commands/tablecmds.c:9016
+#: commands/tablecmds.c:9043
 #, 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:9142
+#: commands/tablecmds.c:9169
 #, 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:9143 commands/tablecmds.c:9162 commands/tablecmds.c:9180
+#: commands/tablecmds.c:9170 commands/tablecmds.c:9189 commands/tablecmds.c:9207
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s dépend de la colonne « %s »"
 
-#: commands/tablecmds.c:9161
+#: commands/tablecmds.c:9188
 #, 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:9179
+#: commands/tablecmds.c:9206
 #, 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:9854
+#: commands/tablecmds.c:9881
 #, c-format
 msgid "cannot change owner of index \"%s\""
 msgstr "ne peut pas modifier le propriétaire de l'index « %s »"
 
-#: commands/tablecmds.c:9856
+#: commands/tablecmds.c:9883
 #, 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:9873
+#: commands/tablecmds.c:9900
 #, 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:9887 commands/tablecmds.c:13116
+#: commands/tablecmds.c:9914 commands/tablecmds.c:13143
 #, c-format
 msgid "Use ALTER TYPE instead."
 msgstr "Utilisez ALTER TYPE à la place."
 
-#: commands/tablecmds.c:9896
+#: commands/tablecmds.c:9923
 #, 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:10237
+#: commands/tablecmds.c:10264
 #, c-format
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "ne peut pas avoir de nombreuses sous-commandes SET TABLESPACE"
 
-#: commands/tablecmds.c:10311
+#: commands/tablecmds.c:10338
 #, 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:10344 commands/view.c:504
+#: commands/tablecmds.c:10371 commands/view.c:504
 #, 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:10486
+#: commands/tablecmds.c:10513
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "ne peut pas déplacer la colonne système « %s »"
 
-#: commands/tablecmds.c:10502
+#: commands/tablecmds.c:10529
 #, 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:10638
+#: commands/tablecmds.c:10665
 #, 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:10650
+#: commands/tablecmds.c:10677
 #, 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:10742
+#: commands/tablecmds.c:10769
 #, 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:10758
+#: commands/tablecmds.c:10785
 #, c-format
 msgid "no matching relations in tablespace \"%s\" found"
 msgstr "aucune relation correspondante trouvée dans le tablespace « %s »"
 
-#: commands/tablecmds.c:10832 storage/buffer/bufmgr.c:915
+#: commands/tablecmds.c:10859 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:10914
+#: commands/tablecmds.c:10941
 #, 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:10919 commands/tablecmds.c:11461
+#: commands/tablecmds.c:10946 commands/tablecmds.c:11488
 #, c-format
 msgid "cannot change inheritance of a partition"
 msgstr "ne peut pas modifier l'héritage d'une partition"
 
-#: commands/tablecmds.c:10924
+#: commands/tablecmds.c:10951
 #, c-format
 msgid "cannot change inheritance of partitioned table"
 msgstr "ne peut pas modifier l'héritage d'une table partitionnée"
 
-#: commands/tablecmds.c:10970
+#: commands/tablecmds.c:10997
 #, 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:10983
+#: commands/tablecmds.c:11010
 #, c-format
 msgid "cannot inherit from a partition"
 msgstr "ne peut pas hériter d'une partition"
 
-#: commands/tablecmds.c:11005 commands/tablecmds.c:13509
+#: commands/tablecmds.c:11032 commands/tablecmds.c:13537
 #, c-format
 msgid "circular inheritance not allowed"
 msgstr "héritage circulaire interdit"
 
-#: commands/tablecmds.c:11006 commands/tablecmds.c:13510
+#: commands/tablecmds.c:11033 commands/tablecmds.c:13538
 #, c-format
 msgid "\"%s\" is already a child of \"%s\"."
 msgstr "« %s » est déjà un enfant de « %s »."
 
-#: commands/tablecmds.c:11014
+#: commands/tablecmds.c:11041
 #, 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:11027
+#: commands/tablecmds.c:11054
 #, c-format
 msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child"
 msgstr "le trigger « %s » empêche la table « %s » de devenir une fille dans l'héritage"
 
-#: commands/tablecmds.c:11029
+#: commands/tablecmds.c:11056
 #, c-format
 msgid "ROW triggers with transition tables are not supported in inheritance hierarchies"
 msgstr "les triggers ROW avec des tables de transition ne sont pas supportés dans les hiérarchies d'héritage"
 
-#: commands/tablecmds.c:11231
+#: commands/tablecmds.c:11258
 #, 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:11258 commands/tablecmds.c:11297
+#: commands/tablecmds.c:11285 commands/tablecmds.c:11324
 #, c-format
 msgid "child table is missing column \"%s\""
 msgstr "la colonne « %s » manque à la table enfant"
 
-#: commands/tablecmds.c:11385
+#: commands/tablecmds.c:11412
 #, 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:11393
+#: commands/tablecmds.c:11420
 #, 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:11404
+#: commands/tablecmds.c:11431
 #, c-format
 msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\""
 msgstr "la contrainte « %s » entre en conflit avec une contrainte NOT VALID sur la table fille « %s »"
 
-#: commands/tablecmds.c:11439
+#: commands/tablecmds.c:11466
 #, c-format
 msgid "child table is missing constraint \"%s\""
 msgstr "la contrainte « %s » manque à la table enfant"
 
-#: commands/tablecmds.c:11555
+#: commands/tablecmds.c:11582
 #, c-format
 msgid "relation \"%s\" is not a partition of relation \"%s\""
 msgstr "la relation « %s » n'est pas une partition de la relation « %s »"
 
-#: commands/tablecmds.c:11561
+#: commands/tablecmds.c:11588
 #, 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:11787
+#: commands/tablecmds.c:11814
 #, c-format
 msgid "typed tables cannot inherit"
 msgstr "les tables avec type ne peuvent pas hériter d'autres tables"
 
-#: commands/tablecmds.c:11818
+#: commands/tablecmds.c:11845
 #, c-format
 msgid "table is missing column \"%s\""
 msgstr "la colonne « %s » manque à la table"
 
-#: commands/tablecmds.c:11828
+#: commands/tablecmds.c:11855
 #, 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:11837
+#: commands/tablecmds.c:11864
 #, 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:11850
+#: commands/tablecmds.c:11877
 #, c-format
 msgid "table has extra column \"%s\""
 msgstr "la table a une colonne supplémentaire « %s »"
 
-#: commands/tablecmds.c:11902
+#: commands/tablecmds.c:11929
 #, c-format
 msgid "\"%s\" is not a typed table"
 msgstr "« %s » n'est pas une table typée"
 
-#: commands/tablecmds.c:12084
+#: commands/tablecmds.c:12111
 #, 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:12090
+#: commands/tablecmds.c:12117
 #, 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:12096
+#: commands/tablecmds.c:12123
 #, 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:12102
+#: commands/tablecmds.c:12129
 #, 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:12108
+#: commands/tablecmds.c:12135
 #, 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:12129
+#: commands/tablecmds.c:12156
 #, c-format
 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 %d est une colonne système"
 
-#: commands/tablecmds.c:12136
+#: commands/tablecmds.c:12163
 #, 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:12329
+#: commands/tablecmds.c:12356
 #, 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:12353
+#: commands/tablecmds.c:12380
 #, c-format
 msgid "cannot change table \"%s\" to unlogged because it is part of a publication"
 msgstr "ne peut pas modifier la table « %s » en non journalisée car elle fait partie d'une publication"
 
-#: commands/tablecmds.c:12355
+#: commands/tablecmds.c:12382
 #, c-format
 msgid "Unlogged relations cannot be replicated."
 msgstr "Les relations non journalisées ne peuvent pas être répliquées."
 
-#: commands/tablecmds.c:12400
+#: commands/tablecmds.c:12427
 #, 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:12410
+#: commands/tablecmds.c:12437
 #, 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:12468
+#: commands/tablecmds.c:12495
 #, 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:12574
+#: commands/tablecmds.c:12601
 #, 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:13100
+#: commands/tablecmds.c:13127
 #, c-format
 msgid "\"%s\" is not a composite type"
 msgstr "« %s » n'est pas un type composite"
 
-#: commands/tablecmds.c:13131
+#: commands/tablecmds.c:13158
 #, 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/tablecmds.c:13164
+#: commands/tablecmds.c:13191
 #, c-format
 msgid "unrecognized partitioning strategy \"%s\""
 msgstr "stratégie de partitionnement « %s » non reconnue"
 
-#: commands/tablecmds.c:13172
+#: commands/tablecmds.c:13199
 #, c-format
 msgid "cannot use \"list\" partition strategy with more than one column"
 msgstr "ne peut pas utiliser la stratégie de partitionnement « list » avec plus d'une colonne"
 
-#: commands/tablecmds.c:13197
+#: commands/tablecmds.c:13224
 #, c-format
 msgid "column \"%s\" appears more than once in partition key"
 msgstr "la colonne « %s » apparaît plus d'une fois dans la clé de partitionnement"
 
-#: commands/tablecmds.c:13250
+#: commands/tablecmds.c:13277
 #, c-format
 msgid "column \"%s\" named in partition key does not exist"
 msgstr "la colonne « %s » nommée dans la clé de partitionnement n'existe pas"
 
-#: commands/tablecmds.c:13257
+#: commands/tablecmds.c:13284
 #, c-format
 msgid "cannot use system column \"%s\" in partition key"
 msgstr "ne peut pas utiliser la colonne système « %s » comme clé de partitionnement"
 
-#: commands/tablecmds.c:13320
+#: commands/tablecmds.c:13347
 #, c-format
 msgid "functions in partition key expression must be marked IMMUTABLE"
 msgstr ""
 "les fonctions dans une expression de clé de partitionnement doivent être marquées comme\n"
 "IMMUTABLE"
 
-#: commands/tablecmds.c:13337
+#: commands/tablecmds.c:13364
 #, c-format
 msgid "partition key expressions cannot contain whole-row references"
 msgstr "les expressions de clé de partitionnement ne peuvent pas contenir des références à des lignes complètes"
 
-#: commands/tablecmds.c:13344
+#: commands/tablecmds.c:13371
 #, c-format
 msgid "partition key expressions cannot contain system column references"
 msgstr "les expressions de la clé de partitionnement ne peuvent pas contenir des références aux colonnes systèmes"
 
-#: commands/tablecmds.c:13354
+#: commands/tablecmds.c:13381
 #, c-format
 msgid "cannot use constant expression as partition key"
 msgstr "ne peut pas utiliser une expression constante comme clé de partitionnement"
 
-#: commands/tablecmds.c:13375
+#: commands/tablecmds.c:13402
 #, c-format
 msgid "could not determine which collation to use for partition expression"
 msgstr "n'a pas pu déterminer le collationnement à utiliser pour l'expression de partitionnement"
 
-#: commands/tablecmds.c:13400
+#: commands/tablecmds.c:13427
 #, c-format
 msgid "data type %s has no default btree operator class"
 msgstr "le type de données %s n'a pas de classe d'opérateurs btree par défaut"
 
-#: commands/tablecmds.c:13402
+#: commands/tablecmds.c:13429
 #, c-format
 msgid "You must specify a btree operator class or define a default btree operator class for the data type."
 msgstr ""
 "Vous devez spécifier une classe d'opérateur btree ou définir une\n"
 "classe d'opérateur btree par défaut pour le type de données."
 
-#: commands/tablecmds.c:13449
+#: commands/tablecmds.c:13477
 #, c-format
 msgid "\"%s\" is already a partition"
 msgstr "« %s » est déjà une partition"
 
-#: commands/tablecmds.c:13455
+#: commands/tablecmds.c:13483
 #, c-format
 msgid "cannot attach a typed table as partition"
 msgstr "ne peut pas attacher une table typée à une partition"
 
-#: commands/tablecmds.c:13471
+#: commands/tablecmds.c:13499
 #, c-format
 msgid "cannot attach inheritance child as partition"
 msgstr "ne peut pas ajouter la table en héritage comme une partition"
 
-#: commands/tablecmds.c:13485
+#: commands/tablecmds.c:13513
 #, c-format
 msgid "cannot attach inheritance parent as partition"
 msgstr "ne peut pas attacher le parent d'héritage comme partition"
 
-#: commands/tablecmds.c:13519
+#: commands/tablecmds.c:13547
 #, c-format
 msgid "cannot attach a permanent relation as partition of temporary relation \"%s\""
 msgstr "ne peut pas attacher une relation permanente comme partition de la relation temporaire « %s »"
 
-#: commands/tablecmds.c:13527
+#: commands/tablecmds.c:13555
 #, c-format
 msgid "cannot attach as partition of temporary relation of another session"
 msgstr "ne peut pas attacher comme partition d'une relation temporaire d'une autre session"
 
-#: commands/tablecmds.c:13534
+#: commands/tablecmds.c:13562
 #, c-format
 msgid "cannot attach temporary relation of another session as partition"
 msgstr "ne peut pas attacher une relation temporaire d'une autre session comme partition"
 
-#: commands/tablecmds.c:13540
+#: commands/tablecmds.c:13568
 #, c-format
 msgid "cannot attach table \"%s\" without OIDs as partition of table \"%s\" with OIDs"
 msgstr "ne peut pas attacher la table « %s » sans OID comme partition de la table « %s » avec OID"
 
-#: commands/tablecmds.c:13548
+#: commands/tablecmds.c:13576
 #, c-format
 msgid "cannot attach table \"%s\" with OIDs as partition of table \"%s\" without OIDs"
 msgstr "ne peut pas attacher la table « %s » avec OID comme partition de la table « %s » sans OID"
 
-#: commands/tablecmds.c:13570
+#: commands/tablecmds.c:13598
 #, c-format
 msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\""
 msgstr "la table « %s » contient la colonne « %s » introuvable dans le parent « %s »"
 
-#: commands/tablecmds.c:13573
-#, c-format
-msgid "New partition should contain only the columns present in parent."
+#: commands/tablecmds.c:13601
+#, fuzzy, c-format
+#| msgid "New partition should contain only the columns present in parent."
+msgid "The new partition may contain only the columns present in parent."
 msgstr "La nouvelle partition devrait seulement contenir les colonnes présentes dans le parent."
 
-#: commands/tablecmds.c:13585
+#: commands/tablecmds.c:13613
 #, c-format
 msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition"
 msgstr "le trigger « %s » empêche la table « %s » de devenir une partition"
 
-#: commands/tablecmds.c:13587 commands/trigger.c:387
+#: commands/tablecmds.c:13615 commands/trigger.c:393
 #, c-format
 msgid "ROW triggers with transition tables are not supported on partitions"
 msgstr "les triggers ROW avec des tables de transition ne sont pas supportés sur les partitions"
 
-#: commands/tablecmds.c:13702
+#: commands/tablecmds.c:13740
 #, c-format
 msgid "partition constraint for table \"%s\" is implied by existing constraints"
 msgstr "la contrainte de partitionnement pour la table « %s » provient des contraintes existantes"
 
-#: commands/tablespace.c:162 commands/tablespace.c:179 commands/tablespace.c:190 commands/tablespace.c:198 commands/tablespace.c:623 replication/slot.c:1177 storage/file/copydir.c:47
+#: commands/tablespace.c:162 commands/tablespace.c:179 commands/tablespace.c:190 commands/tablespace.c:198 commands/tablespace.c:623 replication/slot.c:1178 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"
@@ -9392,233 +9421,238 @@ msgstr "les répertoires du tablespace %u n'ont pas pu être supprimés"
 msgid "You can remove the directories manually if necessary."
 msgstr "Vous pouvez supprimer les répertoires manuellement si nécessaire."
 
-#: commands/trigger.c:189
+#: commands/trigger.c:190
 #, c-format
 msgid "\"%s\" is a table"
 msgstr "« %s » est une table"
 
-#: commands/trigger.c:191
+#: commands/trigger.c:192
 #, c-format
 msgid "Tables cannot have INSTEAD OF triggers."
 msgstr "Les tables ne peuvent pas avoir de triggers INSTEAD OF."
 
-#: commands/trigger.c:198
+#: commands/trigger.c:199
 #, c-format
 msgid "Partitioned tables cannot have ROW triggers."
 msgstr "Les tables partitionnées ne peuvent pas avoir de triggers ROW."
 
-#: commands/trigger.c:209 commands/trigger.c:216 commands/trigger.c:369
+#: commands/trigger.c:210 commands/trigger.c:217 commands/trigger.c:375
 #, c-format
 msgid "\"%s\" is a view"
 msgstr "« %s » est une vue"
 
-#: commands/trigger.c:211
+#: commands/trigger.c:212
 #, 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:218
+#: commands/trigger.c:219
 #, c-format
 msgid "Views cannot have TRUNCATE triggers."
 msgstr "Les vues ne peuvent pas avoir de triggers TRUNCATE."
 
-#: commands/trigger.c:226 commands/trigger.c:233 commands/trigger.c:240 commands/trigger.c:362
+#: commands/trigger.c:227 commands/trigger.c:234 commands/trigger.c:246 commands/trigger.c:368
 #, c-format
 msgid "\"%s\" is a foreign table"
 msgstr "« %s » est une table distante"
 
-#: commands/trigger.c:228
+#: commands/trigger.c:229
 #, 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:235
+#: commands/trigger.c:236
 #, c-format
 msgid "Foreign tables cannot have TRUNCATE triggers."
 msgstr "Les tables distantes ne peuvent pas avoir de triggers TRUNCATE."
 
-#: commands/trigger.c:242
+#: commands/trigger.c:248
 #, c-format
 msgid "Foreign tables cannot have constraint triggers."
 msgstr "Les tables distantes ne peuvent pas avoir de triggers de contrainte."
 
-#: commands/trigger.c:305
+#: commands/trigger.c:311
 #, 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:313
+#: commands/trigger.c:319
 #, c-format
 msgid "INSTEAD OF triggers must be FOR EACH ROW"
 msgstr "les triggers INSTEAD OF doivent être FOR EACH ROW"
 
-#: commands/trigger.c:317
+#: commands/trigger.c:323
 #, 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:321
+#: commands/trigger.c:327
 #, 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:350
+#: commands/trigger.c:356
 #, c-format
 msgid "ROW variable naming in the REFERENCING clause is not supported"
 msgstr "le nommage de variable ROW dans la clause REFERENCING n'est pas supportée"
 
-#: commands/trigger.c:351
+#: commands/trigger.c:357
 #, c-format
 msgid "Use OLD TABLE or NEW TABLE for naming transition tables."
 msgstr "Utilisez OLD TABLE ou NEW TABLE pour nommer les tables de transition."
 
-#: commands/trigger.c:364
+#: commands/trigger.c:370
 #, c-format
 msgid "Triggers on foreign tables cannot have transition tables."
 msgstr "Les triggers sur les tables distantes ne peuvent pas avoir de tables de transition."
 
-#: commands/trigger.c:371
+#: commands/trigger.c:377
 #, c-format
 msgid "Triggers on views cannot have transition tables."
 msgstr "Les triggers sur les vues ne peuvent pas avoir de tables de transition."
 
-#: commands/trigger.c:391
+#: commands/trigger.c:397
 #, c-format
 msgid "ROW triggers with transition tables are not supported on inheritance children"
 msgstr "les triggers ROW avec des tables de transition ne sont pas supportés sur les filles en héritage"
 
-#: commands/trigger.c:397
+#: commands/trigger.c:403
 #, c-format
 msgid "transition table name can only be specified for an AFTER trigger"
 msgstr "le nom de la table de transition peut seulement être spécifié pour un trigger AFTER"
 
-#: commands/trigger.c:402
+#: commands/trigger.c:408
 #, c-format
 msgid "TRUNCATE triggers with transition tables are not supported"
 msgstr "les triggers TRUNCATE avec des tables de transition ne sont pas supportés"
 
-#: commands/trigger.c:419
+#: commands/trigger.c:425
+#, c-format
+msgid "transition tables cannot be specified for triggers with more than one event"
+msgstr "les tables de transition ne peuvent pas être spécifiées pour les triggers avec plus d'un événement"
+
+#: commands/trigger.c:436
 #, c-format
-msgid "Transition tables cannot be specified for triggers with more than one event"
-msgstr "Les tables de transition ne peuvent pas être spécifiées pour les triggers avec plus d'un événement"
+msgid "transition tables cannot be specified for triggers with column lists"
+msgstr "les tables de transition ne peuvent pas être spécifiées pour les triggers avec des listes de colonnes"
 
-#: commands/trigger.c:427
+#: commands/trigger.c:453
 #, c-format
 msgid "NEW TABLE can only be specified for an INSERT or UPDATE trigger"
 msgstr "OLD TABLE peut seulement être spécifié pour un trigger INSERT ou UPDATE"
 
-#: commands/trigger.c:432
+#: commands/trigger.c:458
 #, c-format
 msgid "NEW TABLE cannot be specified multiple times"
 msgstr "NEW TABLE ne peut pas être spécifié plusieurs fois"
 
-#: commands/trigger.c:442
+#: commands/trigger.c:468
 #, c-format
 msgid "OLD TABLE can only be specified for a DELETE or UPDATE trigger"
 msgstr "OLD TABLE peut seulement être spécifié pour un trigger DELETE ou UPDATE"
 
-#: commands/trigger.c:447
+#: commands/trigger.c:473
 #, c-format
 msgid "OLD TABLE cannot be specified multiple times"
 msgstr "OLD TABLE ne peut pas être spécifié plusieurs fois"
 
-#: commands/trigger.c:457
+#: commands/trigger.c:483
 #, c-format
 msgid "OLD TABLE name and NEW TABLE name cannot be the same"
 msgstr "les noms de OLD TABLE et NEW TABLE ne peuvent pas être identiques"
 
-#: commands/trigger.c:514 commands/trigger.c:527
+#: commands/trigger.c:540 commands/trigger.c:553
 #, 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:519
+#: commands/trigger.c:545
 #, 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:532
+#: commands/trigger.c:558
 #, 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:537
+#: commands/trigger.c:563
 #, 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:702 commands/trigger.c:1473
+#: commands/trigger.c:728 commands/trigger.c:1499
 #, c-format
 msgid "trigger \"%s\" for relation \"%s\" already exists"
 msgstr "le trigger « %s » de la relation « %s » existe déjà"
 
-#: commands/trigger.c:998
+#: commands/trigger.c:1024
 msgid "Found referenced table's UPDATE trigger."
 msgstr "Trigger UPDATE de la table référencée trouvé."
 
-#: commands/trigger.c:999
+#: commands/trigger.c:1025
 msgid "Found referenced table's DELETE trigger."
 msgstr "Trigger DELETE de la table référencée trouvé."
 
-#: commands/trigger.c:1000
+#: commands/trigger.c:1026
 msgid "Found referencing table's trigger."
 msgstr "Trigger de la table référencée trouvé."
 
-#: commands/trigger.c:1109 commands/trigger.c:1125
+#: commands/trigger.c:1135 commands/trigger.c:1151
 #, 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:1138
+#: commands/trigger.c:1164
 #, c-format
 msgid "converting trigger group into constraint \"%s\" %s"
 msgstr "conversion du groupe de trigger en une contrainte « %s » %s"
 
-#: commands/trigger.c:1359 commands/trigger.c:1518 commands/trigger.c:1633
+#: commands/trigger.c:1385 commands/trigger.c:1544 commands/trigger.c:1659
 #, 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:1601
+#: commands/trigger.c:1627
 #, c-format
 msgid "permission denied: \"%s\" is a system trigger"
 msgstr "droit refusé : « %s » est un trigger système"
 
-#: commands/trigger.c:2270
+#: commands/trigger.c:2206
 #, c-format
 msgid "trigger function %u returned null value"
 msgstr "la fonction trigger %u a renvoyé la valeur NULL"
 
-#: commands/trigger.c:2331 commands/trigger.c:2541 commands/trigger.c:2755 commands/trigger.c:3040
+#: commands/trigger.c:2272 commands/trigger.c:2487 commands/trigger.c:2706 commands/trigger.c:2991
 #, c-format
 msgid "BEFORE STATEMENT trigger cannot return a value"
 msgstr "le trigger BEFORE STATEMENT ne peut pas renvoyer une valeur"
 
-#: commands/trigger.c:3102 executor/nodeModifyTable.c:795 executor/nodeModifyTable.c:1092
+#: commands/trigger.c:3053 executor/nodeModifyTable.c:798 executor/nodeModifyTable.c:1095
 #, 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:3103 executor/nodeModifyTable.c:796 executor/nodeModifyTable.c:1093
+#: commands/trigger.c:3054 executor/nodeModifyTable.c:799 executor/nodeModifyTable.c:1096
 #, 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:3117 executor/execMain.c:2667 executor/nodeLockRows.c:220 executor/nodeModifyTable.c:214 executor/nodeModifyTable.c:808 executor/nodeModifyTable.c:1105 executor/nodeModifyTable.c:1272
+#: commands/trigger.c:3068 executor/execMain.c:2696 executor/nodeLockRows.c:220 executor/nodeModifyTable.c:214 executor/nodeModifyTable.c:811 executor/nodeModifyTable.c:1108 executor/nodeModifyTable.c:1277
 #, 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:4983
+#: commands/trigger.c:5200
 #, c-format
 msgid "constraint \"%s\" is not deferrable"
 msgstr "la contrainte « %s » n'est pas DEFERRABLE"
 
-#: commands/trigger.c:5006
+#: commands/trigger.c:5223
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "la contrainte « %s » n'existe pas"
@@ -9725,7 +9759,7 @@ msgstr "format de liste de paramètres invalide : « %s »"
 msgid "must be superuser to create a base type"
 msgstr "doit être super-utilisateur pour créer un type de base"
 
-#: commands/typecmds.c:290 commands/typecmds.c:1414
+#: commands/typecmds.c:290 commands/typecmds.c:1435
 #, c-format
 msgid "type attribute \"%s\" not recognized"
 msgstr "attribut du type « %s » non reconnu"
@@ -9837,177 +9871,177 @@ msgstr "contraintes NULL/NOT NULL en conflit"
 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:993 commands/typecmds.c:2512
+#: commands/typecmds.c:993 commands/typecmds.c:2533
 #, c-format
 msgid "unique constraints not possible for domains"
 msgstr "contraintes uniques impossible pour les domaines"
 
-#: commands/typecmds.c:999 commands/typecmds.c:2518
+#: commands/typecmds.c:999 commands/typecmds.c:2539
 #, c-format
 msgid "primary key constraints not possible for domains"
 msgstr "contraintes de clé primaire impossible pour les domaines"
 
-#: commands/typecmds.c:1005 commands/typecmds.c:2524
+#: commands/typecmds.c:1005 commands/typecmds.c:2545
 #, c-format
 msgid "exclusion constraints not possible for domains"
 msgstr "contraintes d'exclusion impossible pour les domaines"
 
-#: commands/typecmds.c:1011 commands/typecmds.c:2530
+#: commands/typecmds.c:1011 commands/typecmds.c:2551
 #, c-format
 msgid "foreign key constraints not possible for domains"
 msgstr "contraintes de clé étrangère impossible pour les domaines"
 
-#: commands/typecmds.c:1020 commands/typecmds.c:2539
+#: commands/typecmds.c:1020 commands/typecmds.c:2560
 #, 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:1284 utils/cache/typcache.c:1648
+#: commands/typecmds.c:1305 utils/cache/typcache.c:1698
 #, c-format
 msgid "%s is not an enum"
 msgstr "%s n'est pas un enum"
 
-#: commands/typecmds.c:1422
+#: commands/typecmds.c:1443
 #, c-format
 msgid "type attribute \"subtype\" is required"
 msgstr "l'attribut du sous-type est requis"
 
-#: commands/typecmds.c:1427
+#: commands/typecmds.c:1448
 #, c-format
 msgid "range subtype cannot be %s"
 msgstr "le sous-type de l'intervalle ne peut pas être %s"
 
-#: commands/typecmds.c:1446
+#: commands/typecmds.c:1467
 #, 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:1680
+#: commands/typecmds.c:1701
 #, 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:1731
+#: commands/typecmds.c:1752
 #, 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:1830
+#: commands/typecmds.c:1851
 #, c-format
 msgid "typmod_in function %s must return type %s"
 msgstr "le type de sortie de la fonction typmod_in %s doit être %s"
 
-#: commands/typecmds.c:1857
+#: commands/typecmds.c:1878
 #, c-format
 msgid "typmod_out function %s must return type %s"
 msgstr "le type de sortie de la fonction typmod_out %s doit être %s"
 
-#: commands/typecmds.c:1884
+#: commands/typecmds.c:1905
 #, c-format
 msgid "type analyze function %s must return type %s"
 msgstr "la fonction analyze du type %s doit renvoyer le type %s"
 
-#: commands/typecmds.c:1930
+#: commands/typecmds.c:1951
 #, 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:1961
+#: commands/typecmds.c:1982
 #, 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:1967
+#: commands/typecmds.c:1988
 #, c-format
 msgid "range canonical function %s must be immutable"
 msgstr "la fonction canonical %s du range doit être immutable"
 
-#: commands/typecmds.c:2003
+#: commands/typecmds.c:2024
 #, c-format
 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 %s"
 
-#: commands/typecmds.c:2010
+#: commands/typecmds.c:2031
 #, 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:2037
+#: commands/typecmds.c:2058
 #, c-format
 msgid "pg_type array OID value not set when in binary upgrade mode"
 msgstr "les valeurs d'OID du tableau pgtype ne sont pas positionnées en mode de mise à jour binaire"
 
-#: commands/typecmds.c:2340
+#: commands/typecmds.c:2361
 #, 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:2453 commands/typecmds.c:2636
+#: commands/typecmds.c:2474 commands/typecmds.c:2657
 #, c-format
 msgid "constraint \"%s\" of domain \"%s\" does not exist"
 msgstr "la contrainte « %s » du domaine « %s » n'existe pas"
 
-#: commands/typecmds.c:2457
+#: commands/typecmds.c:2478
 #, 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:2642
+#: commands/typecmds.c:2663
 #, 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:2747
+#: commands/typecmds.c:2768
 #, 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:2960 commands/typecmds.c:3165 commands/typecmds.c:3247 commands/typecmds.c:3434
+#: commands/typecmds.c:2996 commands/typecmds.c:3201 commands/typecmds.c:3283 commands/typecmds.c:3470
 #, c-format
 msgid "%s is not a domain"
 msgstr "%s n'est pas un domaine"
 
-#: commands/typecmds.c:2994
+#: commands/typecmds.c:3030
 #, c-format
 msgid "constraint \"%s\" for domain \"%s\" already exists"
 msgstr "la contrainte « %s » du domaine « %s » existe déjà"
 
-#: commands/typecmds.c:3045
+#: commands/typecmds.c:3081
 #, 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:3177 commands/typecmds.c:3259 commands/typecmds.c:3551
+#: commands/typecmds.c:3213 commands/typecmds.c:3295 commands/typecmds.c:3587
 #, c-format
 msgid "%s is a table's row type"
 msgstr "« %s » est du type ligne de table"
 
-#: commands/typecmds.c:3179 commands/typecmds.c:3261 commands/typecmds.c:3553
+#: commands/typecmds.c:3215 commands/typecmds.c:3297 commands/typecmds.c:3589
 #, c-format
 msgid "Use ALTER TABLE instead."
 msgstr "Utilisez ALTER TABLE à la place."
 
-#: commands/typecmds.c:3186 commands/typecmds.c:3268 commands/typecmds.c:3466
+#: commands/typecmds.c:3222 commands/typecmds.c:3304 commands/typecmds.c:3502
 #, c-format
 msgid "cannot alter array type %s"
 msgstr "ne peut pas modifier le type array %s"
 
-#: commands/typecmds.c:3188 commands/typecmds.c:3270 commands/typecmds.c:3468
+#: commands/typecmds.c:3224 commands/typecmds.c:3306 commands/typecmds.c:3504
 #, 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:3536
+#: commands/typecmds.c:3572
 #, c-format
 msgid "type \"%s\" already exists in schema \"%s\""
 msgstr "le type « %s » existe déjà dans le schéma « %s »"
@@ -10027,7 +10061,7 @@ msgstr "doit être super-utilisateur pour créer des super-utilisateurs"
 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:309 commands/user.c:684
+#: commands/user.c:309 commands/user.c:707
 #, c-format
 msgid "must be superuser to change bypassrls attribute"
 msgstr "doit être super-utilisateur pour modifier l'attribut bypassrls"
@@ -10037,226 +10071,231 @@ msgstr "doit être super-utilisateur pour modifier l'attribut bypassrls"
 msgid "permission denied to create role"
 msgstr "droit refusé pour créer un rôle"
 
-#: commands/user.c:326 commands/user.c:1160 commands/user.c:1167 gram.y:14465 gram.y:14500 utils/adt/acl.c:5246 utils/adt/acl.c:5252
+#: commands/user.c:326 commands/user.c:1195 commands/user.c:1202 gram.y:14465 gram.y:14500 utils/adt/acl.c:5251 utils/adt/acl.c:5257
 #, c-format
 msgid "role name \"%s\" is reserved"
 msgstr "le nom du rôle « %s » est réservé"
 
-#: commands/user.c:328 commands/user.c:1162 commands/user.c:1169
+#: commands/user.c:328 commands/user.c:1197 commands/user.c:1204
 #, c-format
 msgid "Role names starting with \"pg_\" are reserved."
 msgstr "Les noms de rôle commençant par « pg_ » sont réservés."
 
-#: commands/user.c:340 commands/user.c:1175
+#: commands/user.c:340 commands/user.c:1210
 #, c-format
 msgid "role \"%s\" already exists"
 msgstr "le rôle « %s » existe déjà"
 
-#: commands/user.c:414
+#: commands/user.c:406 commands/user.c:816
+#, c-format
+msgid "empty string is not a valid password, clearing password"
+msgstr "une chaîne vide n'est pas un mot de passe valide, effacement du mot de passe"
+
+#: commands/user.c:437
 #, c-format
 msgid "pg_authid OID value not set when in binary upgrade mode"
 msgstr "la valeur d'OID de pg_authid n'est pas positionnée en mode de mise à jour binaire"
 
-#: commands/user.c:670 commands/user.c:880 commands/user.c:1414 commands/user.c:1558
+#: commands/user.c:693 commands/user.c:915 commands/user.c:1449 commands/user.c:1593
 #, c-format
 msgid "must be superuser to alter superusers"
 msgstr "doit être super-utilisateur pour modifier des super-utilisateurs"
 
-#: commands/user.c:677
+#: commands/user.c:700
 #, 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:700 commands/user.c:888
+#: commands/user.c:723 commands/user.c:923
 #, c-format
 msgid "permission denied"
 msgstr "droit refusé"
 
-#: commands/user.c:918
+#: commands/user.c:953
 #, c-format
 msgid "must be superuser to alter settings globally"
 msgstr "doit être super-utilisateur pour modifier globalement les configurations"
 
-#: commands/user.c:940
+#: commands/user.c:975
 #, c-format
 msgid "permission denied to drop role"
 msgstr "droit refusé pour supprimer le rôle"
 
-#: commands/user.c:964
+#: commands/user.c:999
 #, 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:974 commands/user.c:1131 commands/variable.c:822 commands/variable.c:894 utils/adt/acl.c:5104 utils/adt/acl.c:5151 utils/adt/acl.c:5179 utils/adt/acl.c:5197 utils/init/miscinit.c:504
+#: commands/user.c:1009 commands/user.c:1166 commands/variable.c:822 commands/variable.c:894 utils/adt/acl.c:5109 utils/adt/acl.c:5156 utils/adt/acl.c:5184 utils/adt/acl.c:5202 utils/init/miscinit.c:504
 #, c-format
 msgid "role \"%s\" does not exist"
 msgstr "le rôle « %s » n'existe pas"
 
-#: commands/user.c:979
+#: commands/user.c:1014
 #, c-format
 msgid "role \"%s\" does not exist, skipping"
 msgstr "le rôle « %s » n'existe pas, poursuite du traitement"
 
-#: commands/user.c:991 commands/user.c:995
+#: commands/user.c:1026 commands/user.c:1030
 #, c-format
 msgid "current user cannot be dropped"
 msgstr "l'utilisateur actuel ne peut pas être supprimé"
 
-#: commands/user.c:999
+#: commands/user.c:1034
 #, c-format
 msgid "session user cannot be dropped"
 msgstr "l'utilisateur de la session ne peut pas être supprimé"
 
-#: commands/user.c:1010
+#: commands/user.c:1045
 #, c-format
 msgid "must be superuser to drop superusers"
 msgstr "doit être super-utilisateur pour supprimer des super-utilisateurs"
 
-#: commands/user.c:1026
+#: commands/user.c:1061
 #, 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:1147
+#: commands/user.c:1182
 #, c-format
 msgid "session user cannot be renamed"
 msgstr "l'utilisateur de la session ne peut pas être renommé"
 
-#: commands/user.c:1151
+#: commands/user.c:1186
 #, c-format
 msgid "current user cannot be renamed"
 msgstr "l'utilisateur courant ne peut pas être renommé"
 
-#: commands/user.c:1185
+#: commands/user.c:1220
 #, c-format
 msgid "must be superuser to rename superusers"
 msgstr "doit être super-utilisateur pour renommer les super-utilisateurs"
 
-#: commands/user.c:1192
+#: commands/user.c:1227
 #, c-format
 msgid "permission denied to rename role"
 msgstr "droit refusé pour renommer le rôle"
 
-#: commands/user.c:1213
+#: commands/user.c:1248
 #, 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:1273
+#: commands/user.c:1308
 #, 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:1311
+#: commands/user.c:1346
 #, c-format
 msgid "permission denied to drop objects"
 msgstr "droit refusé pour supprimer les objets"
 
-#: commands/user.c:1338 commands/user.c:1347
+#: commands/user.c:1373 commands/user.c:1382
 #, c-format
 msgid "permission denied to reassign objects"
 msgstr "droit refusé pour ré-affecter les objets"
 
-#: commands/user.c:1422 commands/user.c:1566
+#: commands/user.c:1457 commands/user.c:1601
 #, c-format
 msgid "must have admin option on role \"%s\""
 msgstr "doit avoir l'option admin sur le rôle « %s »"
 
-#: commands/user.c:1439
+#: commands/user.c:1474
 #, c-format
 msgid "must be superuser to set grantor"
 msgstr "doit être super-utilisateur pour configurer le « donneur de droits »"
 
-#: commands/user.c:1464
+#: commands/user.c:1499
 #, 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:1479
+#: commands/user.c:1514
 #, 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:1588
+#: commands/user.c:1623
 #, 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 »"
 
-#: commands/vacuum.c:186
+#: commands/vacuum.c:188
 #, c-format
 msgid "%s cannot be executed from VACUUM or ANALYZE"
 msgstr "%s ne peut pas être exécuté dans un VACUUM ou un ANALYZE"
 
-#: commands/vacuum.c:196
+#: commands/vacuum.c:198
 #, c-format
 msgid "VACUUM option DISABLE_PAGE_SKIPPING cannot be used with FULL"
 msgstr ""
 "l'option DISABLE_PAGE_SKIPPING de la commande VACUUM ne pas pas être utilisée\n"
 "en même temps que l'option FULL"
 
-#: commands/vacuum.c:565
+#: commands/vacuum.c:577
 #, c-format
 msgid "oldest xmin is far in the past"
 msgstr "le plus ancien xmin est loin dans le passé"
 
-#: commands/vacuum.c:566
+#: commands/vacuum.c:578
 #, 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:605
+#: commands/vacuum.c:617
 #, c-format
 msgid "oldest multixact is far in the past"
 msgstr "le plus ancien multixact est loin dans le passé"
 
-#: commands/vacuum.c:606
+#: commands/vacuum.c:618
 #, 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:1176
+#: commands/vacuum.c:1188
 #, 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:1177
+#: commands/vacuum.c:1189
 #, 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:1306
+#: commands/vacuum.c:1324
 #, c-format
 msgid "skipping vacuum of \"%s\" --- lock not available"
 msgstr "ignore le vacuum de « %s » --- verrou non disponible"
 
-#: commands/vacuum.c:1332
+#: commands/vacuum.c:1350
 #, 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:1336
+#: commands/vacuum.c:1354
 #, 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:1340
+#: commands/vacuum.c:1358
 #, 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:1359
+#: commands/vacuum.c:1377
 #, c-format
 msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables"
 msgstr ""
@@ -10293,70 +10332,75 @@ msgstr "taux moyen de lecture : %.3f Mo/s, taux moyen d'écriture : %.3f Mo/s\n"
 msgid "system usage: %s"
 msgstr "utilisation du système : %s"
 
-#: commands/vacuumlazy.c:858
+#: commands/vacuumlazy.c:860
 #, 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:1328
+#: commands/vacuumlazy.c:1339
 #, 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:1338
+#: commands/vacuumlazy.c:1349
 #, c-format
 msgid "%.0f dead row versions cannot be removed yet, oldest xmin: %u\n"
 msgstr "%.0f versions de lignes mortes ne peuvent pas encore être supprimées, plus ancien xmin : %u\n"
 
-#: commands/vacuumlazy.c:1340
+#: commands/vacuumlazy.c:1351
 #, 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:1342
+#: commands/vacuumlazy.c:1353
 #, c-format
 msgid "Skipped %u page due to buffer pins, "
 msgid_plural "Skipped %u pages due to buffer pins, "
 msgstr[0] "Ignore %u page à cause des verrous de blocs, "
 msgstr[1] "Ignore %u pages à cause des verrous de blocs, "
 
-#: commands/vacuumlazy.c:1346
+#: commands/vacuumlazy.c:1357
 #, c-format
 msgid "%u frozen page.\n"
 msgid_plural "%u frozen pages.\n"
 msgstr[0] "%u page gelée.\n"
 msgstr[1] "%u pages gelées.\n"
 
-#: commands/vacuumlazy.c:1350
+#: commands/vacuumlazy.c:1361
 #, 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:1357
+#: commands/vacuumlazy.c:1365
+#, c-format
+msgid "%s."
+msgstr "%s."
+
+#: commands/vacuumlazy.c:1368
 #, 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:1426
+#: commands/vacuumlazy.c:1437
 #, 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:1614
+#: commands/vacuumlazy.c:1625
 #, 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:1660
+#: commands/vacuumlazy.c:1671
 #, 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:1664
+#: commands/vacuumlazy.c:1675
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -10367,22 +10411,22 @@ msgstr ""
 "%u pages d'index ont été supprimées, %u sont actuellement réutilisables.\n"
 "%s."
 
-#: commands/vacuumlazy.c:1759
+#: commands/vacuumlazy.c:1770
 #, 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:1824
+#: commands/vacuumlazy.c:1835
 #, c-format
 msgid "\"%s\": truncated %u to %u pages"
 msgstr "« %s » : %u pages tronqués en %u"
 
-#: commands/vacuumlazy.c:1889
+#: commands/vacuumlazy.c:1900
 #, 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:165 utils/misc/guc.c:10030 utils/misc/guc.c:10092
+#: commands/variable.c:165 utils/misc/guc.c:10023 utils/misc/guc.c:10085
 #, c-format
 msgid "Unrecognized key word: \"%s\"."
 msgstr "Mot clé non reconnu : « %s »"
@@ -10450,7 +10494,7 @@ msgstr ""
 "SET TRANSACTION ISOLATION LEVEL ne doit pas être appelé dans une\n"
 "sous-transaction"
 
-#: commands/variable.c:571 storage/lmgr/predicate.c:1647
+#: commands/variable.c:571 storage/lmgr/predicate.c:1649
 #, 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 »"
@@ -10609,7 +10653,7 @@ msgstr "le type cible n'est pas un tableau"
 msgid "ROW() column has type %s instead of type %s"
 msgstr "une colonne ROW() a le type %s au lieu du type %s"
 
-#: executor/execExpr.c:2094 executor/execSRF.c:670 parser/parse_func.c:120 parser/parse_func.c:547 parser/parse_func.c:921
+#: executor/execExpr.c:2094 executor/execSRF.c:672 parser/parse_func.c:120 parser/parse_func.c:547 parser/parse_func.c:921
 #, c-format
 msgid "cannot pass more than %d argument to a function"
 msgid_plural "cannot pass more than %d arguments to a function"
@@ -10695,7 +10739,7 @@ msgstr[1] "La ligne de la table contient %d attributs alors que la requête en a
 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/execExprInterp.c:3555 executor/execSRF.c:925
+#: executor/execExprInterp.c:3555 executor/execSRF.c:927
 #, c-format
 msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
 msgstr ""
@@ -10737,167 +10781,167 @@ msgstr "La clé %s est en conflit avec la clé existante %s."
 msgid "Key conflicts with existing key."
 msgstr "La clé est en conflit avec une clé existante."
 
-#: executor/execMain.c:1113
+#: executor/execMain.c:1115
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "ne peut pas modifier la séquence « %s »"
 
-#: executor/execMain.c:1119
+#: executor/execMain.c:1121
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "ne peut pas modifier la relation TOAST « %s »"
 
-#: executor/execMain.c:1137 rewrite/rewriteHandler.c:2738
+#: executor/execMain.c:1139 rewrite/rewriteHandler.c:2747
 #, c-format
 msgid "cannot insert into view \"%s\""
 msgstr "ne peut pas insérer dans la vue « %s »"
 
-#: executor/execMain.c:1139 rewrite/rewriteHandler.c:2741
+#: executor/execMain.c:1141 rewrite/rewriteHandler.c:2750
 #, 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:1145 rewrite/rewriteHandler.c:2746
+#: executor/execMain.c:1147 rewrite/rewriteHandler.c:2755
 #, c-format
 msgid "cannot update view \"%s\""
 msgstr "ne peut pas mettre à jour la vue « %s »"
 
-#: executor/execMain.c:1147 rewrite/rewriteHandler.c:2749
+#: executor/execMain.c:1149 rewrite/rewriteHandler.c:2758
 #, 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:1153 rewrite/rewriteHandler.c:2754
+#: executor/execMain.c:1155 rewrite/rewriteHandler.c:2763
 #, c-format
 msgid "cannot delete from view \"%s\""
 msgstr "ne peut pas supprimer à partir de la vue « %s »"
 
-#: executor/execMain.c:1155 rewrite/rewriteHandler.c:2757
+#: executor/execMain.c:1157 rewrite/rewriteHandler.c:2766
 #, 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:1166
+#: executor/execMain.c:1168
 #, c-format
 msgid "cannot change materialized view \"%s\""
 msgstr "ne peut pas modifier la vue matérialisée « %s »"
 
-#: executor/execMain.c:1178
+#: executor/execMain.c:1187
 #, c-format
 msgid "cannot insert into foreign table \"%s\""
 msgstr "ne peut pas insérer dans la table distante « %s »"
 
-#: executor/execMain.c:1184
+#: executor/execMain.c:1193
 #, c-format
 msgid "foreign table \"%s\" does not allow inserts"
 msgstr "la table distante « %s » n'autorise pas les insertions"
 
-#: executor/execMain.c:1191
+#: executor/execMain.c:1200
 #, c-format
 msgid "cannot update foreign table \"%s\""
 msgstr "ne peut pas modifier la table distante « %s »"
 
-#: executor/execMain.c:1197
+#: executor/execMain.c:1206
 #, c-format
 msgid "foreign table \"%s\" does not allow updates"
 msgstr "la table distante « %s » n'autorise pas les modifications"
 
-#: executor/execMain.c:1204
+#: executor/execMain.c:1213
 #, c-format
 msgid "cannot delete from foreign table \"%s\""
 msgstr "ne peut pas supprimer à partir de la table distante « %s »"
 
-#: executor/execMain.c:1210
+#: executor/execMain.c:1219
 #, c-format
 msgid "foreign table \"%s\" does not allow deletes"
 msgstr "la table distante « %s » n'autorise pas les suppressions"
 
-#: executor/execMain.c:1221
+#: executor/execMain.c:1230
 #, c-format
 msgid "cannot change relation \"%s\""
 msgstr "ne peut pas modifier la relation « %s »"
 
-#: executor/execMain.c:1248
+#: executor/execMain.c:1257
 #, c-format
 msgid "cannot lock rows in sequence \"%s\""
 msgstr "ne peut pas verrouiller les lignes dans la séquence « %s »"
 
-#: executor/execMain.c:1255
+#: executor/execMain.c:1264
 #, 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:1262
+#: executor/execMain.c:1271
 #, c-format
 msgid "cannot lock rows in view \"%s\""
 msgstr "ne peut pas verrouiller les lignes dans la vue « %s »"
 
-#: executor/execMain.c:1270
+#: executor/execMain.c:1279
 #, 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:1279 executor/execMain.c:2901 executor/nodeLockRows.c:136
+#: executor/execMain.c:1288 executor/execMain.c:2930 executor/nodeLockRows.c:136
 #, c-format
 msgid "cannot lock rows in foreign table \"%s\""
 msgstr "ne peut pas verrouiller la table distante « %s »"
 
-#: executor/execMain.c:1285
+#: executor/execMain.c:1294
 #, c-format
 msgid "cannot lock rows in relation \"%s\""
 msgstr "n'a pas pu verrouiller les lignes dans la relation « %s »"
 
-#: executor/execMain.c:1897
+#: executor/execMain.c:1926
 #, c-format
 msgid "new row for relation \"%s\" violates partition constraint"
 msgstr "la nouvelle ligne de la relation « %s » viole la contrainte de partitionnement"
 
-#: executor/execMain.c:1899 executor/execMain.c:1978 executor/execMain.c:2025 executor/execMain.c:2136
+#: executor/execMain.c:1928 executor/execMain.c:2007 executor/execMain.c:2054 executor/execMain.c:2165
 #, c-format
 msgid "Failing row contains %s."
 msgstr "La ligne en échec contient %s"
 
-#: executor/execMain.c:1976
+#: executor/execMain.c:2005
 #, 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:2023
+#: executor/execMain.c:2052
 #, 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 »"
+msgstr "la nouvelle ligne de la relation « %s » viole la contrainte de vérification « %s »"
 
-#: executor/execMain.c:2134
+#: executor/execMain.c:2163
 #, 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:2144
+#: executor/execMain.c:2173
 #, 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:2149
+#: executor/execMain.c:2178
 #, 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:2156
+#: executor/execMain.c:2185
 #, 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:2161
+#: executor/execMain.c:2190
 #, 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/execMain.c:3363
+#: executor/execMain.c:3399
 #, c-format
 msgid "no partition of relation \"%s\" found for row"
 msgstr "aucune partition de la relation « %s » trouvée pour la ligne"
 
-#: executor/execMain.c:3365
+#: executor/execMain.c:3401
 #, c-format
 msgid "Partition key of the failing row contains %s."
 msgstr "La clé de partitionnement de la ligne en échec contient %s."
@@ -10913,8 +10957,9 @@ 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"
 
 #: executor/execReplication.c:562
-#, c-format
-msgid "cannot update table \"%s\" because it does not have replica identity and publishes updates"
+#, fuzzy, c-format
+#| msgid "cannot update table \"%s\" because it does not have replica identity and publishes updates"
+msgid "cannot update table \"%s\" because it does not have a replica identity and publishes updates"
 msgstr "ne peut pas mettre à jour la table « %s » car elle n'a pas d'identité de réplicat et publie des mises à jour"
 
 #: executor/execReplication.c:564
@@ -10923,8 +10968,9 @@ msgid "To enable updating the table, set REPLICA IDENTITY using ALTER TABLE."
 msgstr "Pour activer les mises à jour sur la table, configurez REPLICA IDENTITY en utilisant ALTER TABLE"
 
 #: executor/execReplication.c:568
-#, c-format
-msgid "cannot delete from table \"%s\" because it does not have replica identity and publishes deletes"
+#, fuzzy, c-format
+#| msgid "cannot delete from table \"%s\" because it does not have replica identity and publishes deletes"
+msgid "cannot delete from table \"%s\" because it does not have a replica identity and publishes deletes"
 msgstr "ne peut pas supprimer à partir de la table « %s » car elle n'a pas d'identité de réplicat et publie des mises à jour"
 
 #: executor/execReplication.c:570
@@ -10942,46 +10988,46 @@ msgstr "la relation cible de la réplication logique « %s.%s » n'est pas une t
 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/execSRF.c:356 executor/execSRF.c:620
+#: executor/execSRF.c:356 executor/execSRF.c:622
 #, 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/execSRF.c:363 executor/execSRF.c:638
+#: executor/execSRF.c:363 executor/execSRF.c:640
 #, c-format
 msgid "unrecognized table-function returnMode: %d"
 msgstr "returnMode de la fonction table non reconnu : %d"
 
-#: executor/execSRF.c:843
+#: executor/execSRF.c:845
 #, 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/execSRF.c:898 executor/execSRF.c:914 executor/execSRF.c:924
+#: executor/execSRF.c:900 executor/execSRF.c:916 executor/execSRF.c:926
 #, 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/execSRF.c:899
+#: executor/execSRF.c:901
 #, 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/execSRF.c:915
+#: executor/execSRF.c:917
 #, 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/execUtils.c:639
+#: executor/execUtils.c:646
 #, 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:641
+#: executor/execUtils.c:648
 #, c-format
 msgid "Use the REFRESH MATERIALIZED VIEW command."
 msgstr "Utilisez la commande REFRESH MATERIALIZED VIEW."
@@ -11003,7 +11049,7 @@ 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:534 executor/spi.c:1282 executor/spi.c:2069
+#: executor/functions.c:534 executor/spi.c:1288 executor/spi.c:2075
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s n'est pas autorisé dans une fonction non volatile"
@@ -11067,23 +11113,23 @@ msgstr "L'instruction finale renvoie trop peu de colonnes."
 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:3480
+#: executor/nodeAgg.c:3470 parser/parse_agg.c:618 parser/parse_agg.c:648
+#, c-format
+msgid "aggregate function calls cannot be nested"
+msgstr "les appels à la fonction d'agrégat ne peuvent pas être imbriqués"
+
+#: executor/nodeAgg.c:3559
 #, c-format
 msgid "combine function for aggregate %u must be declared as STRICT"
 msgstr "la fonction d'unification pour l'aggrégat %u doit être déclarée comme STRICT"
 
-#: executor/nodeAgg.c:3525 executor/nodeWindowAgg.c:2282
+#: executor/nodeAgg.c:3604 executor/nodeWindowAgg.c:2282
 #, 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/nodeAgg.c:3579 parser/parse_agg.c:618 parser/parse_agg.c:648
-#, 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:152 executor/nodeCustom.c:163
 #, c-format
 msgid "custom scan \"%s\" does not support MarkPos"
@@ -11104,7 +11150,7 @@ msgstr "n'a pas pu écrire le fichier temporaire de la jointure hâchée : %m"
 msgid "could not read from hash-join temporary file: %m"
 msgstr "n'a pas pu lire le fichier temporaire contenant la jointure hâchée : %m"
 
-#: executor/nodeIndexonlyscan.c:236
+#: executor/nodeIndexonlyscan.c:237
 #, c-format
 msgid "lossy distance functions are not supported in index-only scans"
 msgstr "les fonctions de distance à perte ne sont pas supportés dans les parcours d'index seul"
@@ -11119,12 +11165,12 @@ msgstr "OFFSET ne doit pas être négatif"
 msgid "LIMIT must not be negative"
 msgstr "LIMIT ne doit pas être négative"
 
-#: executor/nodeMergejoin.c:1559
+#: executor/nodeMergejoin.c:1563
 #, c-format
 msgid "RIGHT JOIN is only supported with merge-joinable join conditions"
 msgstr "RIGHT JOIN est supporté seulement avec les conditions de jointures MERGE"
 
-#: executor/nodeMergejoin.c:1579
+#: executor/nodeMergejoin.c:1583
 #, c-format
 msgid "FULL JOIN is only supported with merge-joinable join conditions"
 msgstr "FULL JOIN est supporté seulement avec les conditions de jointures MERGE"
@@ -11146,12 +11192,12 @@ msgstr ""
 msgid "Query has too few columns."
 msgstr "La requête n'a pas assez de colonnes."
 
-#: executor/nodeModifyTable.c:1253
+#: executor/nodeModifyTable.c:1258
 #, 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:1254
+#: executor/nodeModifyTable.c:1259
 #, 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."
@@ -11221,43 +11267,43 @@ msgstr "l'offset de fin de frame ne doit pas être NULL"
 msgid "frame ending offset must not be negative"
 msgstr "l'offset de fin de frame ne doit pas être négatif"
 
-#: executor/spi.c:197
+#: executor/spi.c:198
 #, c-format
 msgid "transaction left non-empty SPI stack"
 msgstr "transaction gauche non vide dans la pile SPI"
 
-#: executor/spi.c:198 executor/spi.c:261
+#: executor/spi.c:199 executor/spi.c:262
 #, c-format
 msgid "Check for missing \"SPI_finish\" calls."
 msgstr "Vérifiez les appels manquants à « SPI_finish »."
 
-#: executor/spi.c:260
+#: executor/spi.c:261
 #, c-format
 msgid "subtransaction left non-empty SPI stack"
 msgstr "sous-transaction gauche non vide dans la pile SPI"
 
-#: executor/spi.c:1143
+#: executor/spi.c:1149
 #, c-format
 msgid "cannot open multi-query plan as cursor"
 msgstr "ne peut pas ouvrir le plan à plusieurs requêtes comme curseur"
 
 #. translator: %s is name of a SQL command, eg INSERT
-#: executor/spi.c:1148
+#: executor/spi.c:1154
 #, c-format
 msgid "cannot open %s query as cursor"
 msgstr "ne peut pas ouvrir la requête %s comme curseur"
 
-#: executor/spi.c:1253
+#: executor/spi.c:1259
 #, c-format
 msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
 msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE n'est pas supporté"
 
-#: executor/spi.c:1254 parser/analyze.c:2447
+#: executor/spi.c:1260 parser/analyze.c:2447
 #, c-format
 msgid "Scrollable cursors must be READ ONLY."
 msgstr "Les curseurs déplaçables doivent être en lecture seule (READ ONLY)."
 
-#: executor/spi.c:2374
+#: executor/spi.c:2383
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "instruction SQL « %s »"
@@ -11346,7 +11392,7 @@ msgstr "Seules les politiques PERMISSIVE et RESTRICTIVE sont supportées actuell
 msgid "duplicate trigger events specified"
 msgstr "événements de trigger dupliqués spécifiés"
 
-#: gram.y:5363 parser/parse_utilcmd.c:3033 parser/parse_utilcmd.c:3059
+#: gram.y:5363 parser/parse_utilcmd.c:3055 parser/parse_utilcmd.c:3081
 #, c-format
 msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
 msgstr "la contrainte déclarée INITIALLY DEFERRED doit être DEFERRABLE"
@@ -11604,76 +11650,76 @@ msgstr "les contraintes %s ne peuvent pas être marquées comme NOT VALID"
 msgid "%s constraints cannot be marked NO INHERIT"
 msgstr "les contraintes %s ne peuvent pas être marquées NO INHERIT"
 
-#: guc-file.l:313
+#: guc-file.l:314
 #, c-format
 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:350 utils/misc/guc.c:6006 utils/misc/guc.c:6199 utils/misc/guc.c:6289 utils/misc/guc.c:6379 utils/misc/guc.c:6487 utils/misc/guc.c:6582
+#: guc-file.l:351 utils/misc/guc.c:6006 utils/misc/guc.c:6199 utils/misc/guc.c:6289 utils/misc/guc.c:6379 utils/misc/guc.c:6487 utils/misc/guc.c:6582
 #, 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"
 
-#: guc-file.l:386
+#: guc-file.l:387
 #, c-format
 msgid "parameter \"%s\" removed from configuration file, reset to default"
 msgstr ""
 "paramètre « %s » supprimé du fichier de configuration ;\n"
 "réinitialisation à la valeur par défaut"
 
-#: guc-file.l:452
+#: guc-file.l:453
 #, c-format
 msgid "parameter \"%s\" changed to \"%s\""
 msgstr "paramètre « %s » modifié par « %s »"
 
-#: guc-file.l:494
+#: guc-file.l:495
 #, c-format
 msgid "configuration file \"%s\" contains errors"
 msgstr "le fichier de configuration « %s » contient des erreurs"
 
-#: guc-file.l:499
+#: guc-file.l:500
 #, c-format
 msgid "configuration file \"%s\" contains errors; unaffected changes were applied"
 msgstr "le fichier de configuration « %s » contient des erreurs ; les modifications non affectées ont été appliquées"
 
-#: guc-file.l:504
+#: guc-file.l:505
 #, c-format
 msgid "configuration file \"%s\" contains errors; no changes were applied"
 msgstr "le fichier de configuration « %s » contient des erreurs ; aucune modification n'a été appliquée"
 
-#: guc-file.l:577
+#: guc-file.l:578
 #, c-format
 msgid "could not open configuration file \"%s\": maximum nesting depth exceeded"
 msgstr ""
 "n'a pas pu ouvrir le fichier de configuration « %s » : profondeur\n"
 "d'imbrication dépassé"
 
-#: guc-file.l:593 libpq/hba.c:2110 libpq/hba.c:2510
+#: guc-file.l:594 libpq/hba.c:2112 libpq/hba.c:2512
 #, c-format
 msgid "could not open configuration file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier de configuration « %s » : %m"
 
-#: guc-file.l:604
+#: guc-file.l:605
 #, c-format
 msgid "skipping missing configuration file \"%s\""
 msgstr "ignore le fichier de configuration « %s » manquant"
 
-#: guc-file.l:858
+#: guc-file.l:859
 #, c-format
 msgid "syntax error in file \"%s\" line %u, near end of line"
 msgstr "erreur de syntaxe dans le fichier « %s », ligne %u, près de la fin de ligne"
 
-#: guc-file.l:868
+#: guc-file.l:869
 #, c-format
 msgid "syntax error in file \"%s\" line %u, near token \"%s\""
 msgstr "erreur de syntaxe dans le fichier « %s », ligne %u, près du mot clé « %s »"
 
-#: guc-file.l:888
+#: guc-file.l:889
 #, c-format
 msgid "too many syntax errors found, abandoning file \"%s\""
 msgstr "trop d'erreurs de syntaxe trouvées, abandon du fichier « %s »"
 
-#: guc-file.l:940
+#: guc-file.l:941
 #, c-format
 msgid "could not open configuration directory \"%s\": %m"
 msgstr "n'a pas pu ouvrir le répertoire de configuration « %s » : %m"
@@ -11683,113 +11729,112 @@ msgstr "n'a pas pu ouvrir le répertoire de configuration « %s » : %m"
 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-scram.c:199 libpq/auth-scram.c:439 libpq/auth-scram.c:448
+#: libpq/auth-scram.c:201 libpq/auth-scram.c:441 libpq/auth-scram.c:450
 #, c-format
 msgid "invalid SCRAM verifier for user \"%s\""
 msgstr "vérificateur SCRAM invalide pour l'utilisateur « %s »"
 
-#: libpq/auth-scram.c:210
+#: libpq/auth-scram.c:212
 #, c-format
 msgid "User \"%s\" does not have a valid SCRAM verifier."
 msgstr "L'utilisateur « %s » n'a pas de vérificateur SCRAM valide."
 
-#: libpq/auth-scram.c:288 libpq/auth-scram.c:293 libpq/auth-scram.c:587 libpq/auth-scram.c:595 libpq/auth-scram.c:676 libpq/auth-scram.c:686 libpq/auth-scram.c:804 libpq/auth-scram.c:811 libpq/auth-scram.c:826 libpq/auth-scram.c:1056 libpq/auth-scram.c:1064
+#: libpq/auth-scram.c:290 libpq/auth-scram.c:295 libpq/auth-scram.c:589 libpq/auth-scram.c:597 libpq/auth-scram.c:678 libpq/auth-scram.c:688 libpq/auth-scram.c:807 libpq/auth-scram.c:814 libpq/auth-scram.c:829 libpq/auth-scram.c:1062 libpq/auth-scram.c:1070
 #, c-format
 msgid "malformed SCRAM message"
 msgstr "message SCRAM malformé"
 
-#: libpq/auth-scram.c:289
+#: libpq/auth-scram.c:291
 #, c-format
 msgid "The message is empty."
 msgstr "Le message est vide."
 
-#: libpq/auth-scram.c:294
+#: libpq/auth-scram.c:296
 #, c-format
 msgid "Message length does not match input length."
 msgstr "La longueur du message ne correspond pas à la longueur en entrée."
 
-#: libpq/auth-scram.c:326
+#: libpq/auth-scram.c:328
 #, c-format
 msgid "invalid SCRAM response"
 msgstr "réponse SCRAM invalide"
 
-#: libpq/auth-scram.c:327
+#: libpq/auth-scram.c:329
 #, c-format
 msgid "Nonce does not match."
 msgstr "Le nonce ne correspond pas."
 
-#: libpq/auth-scram.c:401
+#: libpq/auth-scram.c:403
 #, c-format
 msgid "could not generate random salt"
 msgstr "n'a pas pu générer le sel aléatoire"
 
-#: libpq/auth-scram.c:588
+#: libpq/auth-scram.c:590
 #, c-format
-msgid "Expected attribute '%c' but found %s."
-msgstr "Attribut attendu '%c', mais « %s » trouvé."
+msgid "Expected attribute \"%c\" but found \"%s\"."
+msgstr "Attribut attendu « %c », mais « %s » trouvé."
 
-#: libpq/auth-scram.c:596 libpq/auth-scram.c:687
+#: libpq/auth-scram.c:598 libpq/auth-scram.c:689
 #, c-format
-msgid "Expected character = for attribute %c."
-msgstr "Caractère = attendu pour l'attribut %c."
+msgid "Expected character \"=\" for attribute \"%c\"."
+msgstr "Caractère « = » attendu pour l'attribut « %c »."
 
-#: libpq/auth-scram.c:677
+#: libpq/auth-scram.c:679
 #, c-format
-msgid "Attribute expected, but found invalid character %s."
-msgstr "Attribut attendu, mais a trouvé le caractère invalide %s."
+msgid "Attribute expected, but found invalid character \"%s\"."
+msgstr "Attribut attendu, mais a trouvé le caractère invalide « %s »."
 
-#: libpq/auth-scram.c:800
+#: libpq/auth-scram.c:803
 #, c-format
 msgid "client requires SCRAM channel binding, but it is not supported"
-msgstr ""
+msgstr "le client requiert le lien de canal SCRAM mais ceci n'est pas supporté"
 
-#: libpq/auth-scram.c:805
-#, fuzzy, c-format
-#| msgid "Unexpected end of input."
-msgid "Unexpected channel-binding flag %s."
-msgstr "Fin de l'entrée inattendue."
+#: libpq/auth-scram.c:808
+#, c-format
+msgid "Unexpected channel-binding flag \"%s\"."
+msgstr "Drapeau du channel-binding inattendu « %s »."
 
-#: libpq/auth-scram.c:812
+#: libpq/auth-scram.c:815
 #, c-format
-msgid "Comma expected, but found character %s."
-msgstr "Virgule attendue, mais « %s » trouvé."
+msgid "Comma expected, but found character \"%s\"."
+msgstr "Virgule attendue, mais caractère « %s » trouvé."
 
-#: libpq/auth-scram.c:822
+#: libpq/auth-scram.c:825
 #, c-format
 msgid "client uses authorization identity, but it is not supported"
 msgstr "le client utilise une identité d'autorisation, mais elle n'est pas supportée"
 
-#: libpq/auth-scram.c:827
+#: libpq/auth-scram.c:830
 #, c-format
-msgid "Unexpected attribute %s in client-first-message."
-msgstr "Attribut %s inattendu dans client-first-message."
+msgid "Unexpected attribute \"%s\" in client-first-message."
+msgstr "Attribut « %s » inattendu dans client-first-message."
 
-#: libpq/auth-scram.c:843
+#: libpq/auth-scram.c:846
 #, c-format
 msgid "client requires an unsupported SCRAM extension"
 msgstr "le client requiert une extension SCRAM non supportée"
 
-#: libpq/auth-scram.c:857
+#: libpq/auth-scram.c:860
 #, c-format
 msgid "non-printable characters in SCRAM nonce"
-msgstr ""
+msgstr "caractères non affichables dans le nonce SCRAM"
 
-#: libpq/auth-scram.c:974
+#: libpq/auth-scram.c:977
 #, c-format
 msgid "could not generate random nonce"
 msgstr "n'a pas pu générer le nonce aléatoire"
 
-#: libpq/auth-scram.c:1042
+#: libpq/auth-scram.c:1048
 #, c-format
 msgid "unexpected SCRAM channel-binding attribute in client-final-message"
-msgstr ""
+msgstr "attribut du lien de canal SCRAM inattendu dans client-final-message"
 
-#: libpq/auth-scram.c:1057
+#: libpq/auth-scram.c:1063
 #, c-format
 msgid "Malformed proof in client-final-message."
-msgstr ""
+msgstr "Preuve malformée dans le client-final-message."
 
-#: libpq/auth-scram.c:1065
+#: libpq/auth-scram.c:1071
 #, c-format
 msgid "Garbage found at the end of client-final-message."
 msgstr "Problème trouvé à la fin de client-final-message."
@@ -11977,389 +12022,389 @@ msgstr "en attente du mot de passe, a reçu un type de message %d"
 msgid "invalid password packet size"
 msgstr "taille du paquet du mot de passe invalide"
 
-#: libpq/auth.c:809 libpq/hba.c:1325
+#: libpq/auth.c:707
+#, c-format
+msgid "empty password returned by client"
+msgstr "mot de passe vide renvoyé par le client"
+
+#: libpq/auth.c:827 libpq/hba.c:1325
 #, 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:815
+#: libpq/auth.c:833
 #, c-format
 msgid "could not generate random MD5 salt"
 msgstr "n'a pas pu générer le sel MD5 aléatoire"
 
-#: libpq/auth.c:860
+#: libpq/auth.c:878
 #, c-format
 msgid "SASL authentication is not supported in protocol version 2"
 msgstr "l'authentification SASL n'est pas supportée dans le protocole de version 2"
 
-#: libpq/auth.c:902
+#: libpq/auth.c:920
 #, c-format
 msgid "expected SASL response, got message type %d"
 msgstr "attendait une réponse SASL, a reçu le type de message %d"
 
-#: libpq/auth.c:939
+#: libpq/auth.c:957
 #, c-format
 msgid "client selected an invalid SASL authentication mechanism"
 msgstr "le client a sélectionné un mécanisme d'authentification SASL invalide"
 
-#: libpq/auth.c:1086
+#: libpq/auth.c:1104
 #, 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:1146
+#: libpq/auth.c:1164
 #, 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:1208
+#: libpq/auth.c:1226
 msgid "accepting GSS security context failed"
 msgstr "échec de l'acceptation du contexte de sécurité GSS"
 
-#: libpq/auth.c:1234
+#: libpq/auth.c:1252
 msgid "retrieving GSS user name failed"
 msgstr "échec lors de la récupération du nom de l'utilisateur avec GSS"
 
-#: libpq/auth.c:1354
+#: libpq/auth.c:1372
 #, 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:1369
+#: libpq/auth.c:1387
 msgid "could not acquire SSPI credentials"
 msgstr "n'a pas pu obtenir les pièces d'identité SSPI"
 
-#: libpq/auth.c:1387
+#: libpq/auth.c:1405
 #, 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:1460
+#: libpq/auth.c:1478
 msgid "could not accept SSPI security context"
 msgstr "n'a pas pu accepter le contexte de sécurité SSPI"
 
-#: libpq/auth.c:1522
+#: libpq/auth.c:1540
 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:1641 libpq/auth.c:1660
+#: libpq/auth.c:1659 libpq/auth.c:1678
 #, c-format
 msgid "could not translate name"
 msgstr "n'a pas pu traduit le nom"
 
-#: libpq/auth.c:1673
+#: libpq/auth.c:1691
 #, c-format
 msgid "realm name too long"
 msgstr "nom du royaume trop long"
 
-#: libpq/auth.c:1688
+#: libpq/auth.c:1706
 #, c-format
 msgid "translated account name too long"
 msgstr "traduction du nom de compte trop longue"
 
-#: libpq/auth.c:1874
+#: libpq/auth.c:1892
 #, 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:1889
+#: libpq/auth.c:1907
 #, 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:1901
+#: libpq/auth.c:1919
 #, 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:1923
+#: libpq/auth.c:1941
 #, 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:1940
+#: libpq/auth.c:1958
 #, 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:1950
+#: libpq/auth.c:1968
 #, c-format
 msgid "invalidly formatted response from Ident server: \"%s\""
 msgstr "réponse mal formatée du serveur Ident : « %s »"
 
-#: libpq/auth.c:1990
+#: libpq/auth.c:2008
 #, 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:1994
+#: libpq/auth.c:2012
 #, c-format
 msgid "could not get peer credentials: %m"
 msgstr "n'a pas pu obtenir l'authentification de l'autre : %m"
 
-#: libpq/auth.c:2003
+#: libpq/auth.c:2021
 #, 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:2087 libpq/auth.c:2413 libpq/auth.c:2726
-#, c-format
-msgid "empty password returned by client"
-msgstr "mot de passe vide renvoyé par le client"
-
-#: libpq/auth.c:2097
+#: libpq/auth.c:2109
 #, c-format
 msgid "error from underlying PAM layer: %s"
 msgstr "erreur provenant de la couche PAM : %s"
 
-#: libpq/auth.c:2178
+#: libpq/auth.c:2190
 #, c-format
 msgid "could not create PAM authenticator: %s"
 msgstr "n'a pas pu créer l'authenticateur PAM : %s"
 
-#: libpq/auth.c:2189
+#: libpq/auth.c:2201
 #, c-format
 msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr "pam_set_item(PAM_USER) a échoué : %s"
 
-#: libpq/auth.c:2200
+#: libpq/auth.c:2212
 #, c-format
 msgid "pam_set_item(PAM_RHOST) failed: %s"
 msgstr "pam_set_item(PAM_RHOST) a échoué : %s"
 
-#: libpq/auth.c:2211
+#: libpq/auth.c:2223
 #, c-format
 msgid "pam_set_item(PAM_CONV) failed: %s"
 msgstr "pam_set_item(PAM_CONV) a échoué : %s"
 
-#: libpq/auth.c:2222
+#: libpq/auth.c:2234
 #, c-format
 msgid "pam_authenticate failed: %s"
 msgstr "pam_authenticate a échoué : %s"
 
-#: libpq/auth.c:2233
+#: libpq/auth.c:2245
 #, c-format
 msgid "pam_acct_mgmt failed: %s"
 msgstr "pam_acct_mgmt a échoué : %s"
 
-#: libpq/auth.c:2244
+#: libpq/auth.c:2256
 #, c-format
 msgid "could not release PAM authenticator: %s"
 msgstr "n'a pas pu fermer l'authenticateur PAM : %s"
 
-#: libpq/auth.c:2309
+#: libpq/auth.c:2323
 #, c-format
 msgid "could not initialize LDAP: %m"
 msgstr "n'a pas pu initialiser LDAP : %m"
 
-#: libpq/auth.c:2312
+#: libpq/auth.c:2326
 #, c-format
 msgid "could not initialize LDAP: error code %d"
 msgstr "n'a pas pu initialiser LDAP : code d'erreur %d"
 
-#: libpq/auth.c:2322
+#: libpq/auth.c:2336
 #, 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:2351
+#: libpq/auth.c:2365
 #, c-format
 msgid "could not load wldap32.dll"
 msgstr "n'a pas pu charger wldap32.dll"
 
-#: libpq/auth.c:2359
+#: libpq/auth.c:2373
 #, 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:2360
+#: libpq/auth.c:2374
 #, 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:2375
+#: libpq/auth.c:2389
 #, 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:2397
+#: libpq/auth.c:2411
 #, c-format
 msgid "LDAP server not specified"
 msgstr "serveur LDAP non précisé"
 
-#: libpq/auth.c:2450
+#: libpq/auth.c:2460
 #, 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:2465
+#: libpq/auth.c:2476
 #, 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:2489
+#: libpq/auth.c:2502
 #, 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:2500
+#: libpq/auth.c:2514
 #, c-format
 msgid "LDAP user \"%s\" does not exist"
 msgstr "l'utilisateur LDAP « %s » n'existe pas"
 
-#: libpq/auth.c:2501
+#: libpq/auth.c:2515
 #, 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:2505
+#: libpq/auth.c:2519
 #, c-format
 msgid "LDAP user \"%s\" is not unique"
 msgstr "l'utilisateur LDAP « %s » n'est pas unique"
 
-#: libpq/auth.c:2506
+#: libpq/auth.c:2520
 #, 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:2524
+#: libpq/auth.c:2539
 #, 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:2544
+#: libpq/auth.c:2560
 #, 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:2574
+#: libpq/auth.c:2592
 #, 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:2602
+#: libpq/auth.c:2622
 #, 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:2705
+#: libpq/auth.c:2725
 #, c-format
 msgid "RADIUS server not specified"
 msgstr "serveur RADIUS non précisé"
 
-#: libpq/auth.c:2712
+#: libpq/auth.c:2732
 #, c-format
 msgid "RADIUS secret not specified"
 msgstr "secret RADIUS non précisé"
 
-#: libpq/auth.c:2733
+#: libpq/auth.c:2746
 #, c-format
 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 %d\n"
 "caractères"
 
-#: libpq/auth.c:2830 libpq/hba.c:1876
+#: libpq/auth.c:2851 libpq/hba.c:1878
 #, 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:2844
+#: libpq/auth.c:2865
 #, 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:2878
+#: libpq/auth.c:2899
 #, 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:2904
+#: libpq/auth.c:2925
 #, c-format
 msgid "could not create RADIUS socket: %m"
 msgstr "n'a pas pu créer le socket RADIUS : %m"
 
-#: libpq/auth.c:2926
+#: libpq/auth.c:2947
 #, c-format
 msgid "could not bind local RADIUS socket: %m"
 msgstr "n'a pas pu se lier à la socket RADIUS : %m"
 
-#: libpq/auth.c:2936
+#: libpq/auth.c:2957
 #, c-format
 msgid "could not send RADIUS packet: %m"
 msgstr "n'a pas pu transmettre le paquet RADIUS : %m"
 
-#: libpq/auth.c:2969 libpq/auth.c:2995
+#: libpq/auth.c:2990 libpq/auth.c:3016
 #, c-format
 msgid "timeout waiting for RADIUS response from %s"
 msgstr "dépassement du délai pour la réponse du RADIUS à partir de %s"
 
-#: libpq/auth.c:2988
+#: libpq/auth.c:3009
 #, 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:3018
+#: libpq/auth.c:3039
 #, c-format
 msgid "could not read RADIUS response: %m"
 msgstr "n'a pas pu lire la réponse RADIUS : %m"
 
-#: libpq/auth.c:3031 libpq/auth.c:3035
+#: libpq/auth.c:3052 libpq/auth.c:3056
 #, c-format
 msgid "RADIUS response from %s was sent from incorrect port: %d"
 msgstr "la réponse RADIUS de %s a été envoyée à partir d'un mauvais port : %d"
 
-#: libpq/auth.c:3044
+#: libpq/auth.c:3065
 #, c-format
 msgid "RADIUS response from %s too short: %d"
 msgstr "réponse RADIUS de %s trop courte : %d"
 
-#: libpq/auth.c:3051
+#: libpq/auth.c:3072
 #, c-format
 msgid "RADIUS response from %s has corrupt length: %d (actual length %d)"
 msgstr "la réponse RADIUS de %s a une longueur corrompue : %d (longueur actuelle %d)"
 
-#: libpq/auth.c:3059
+#: libpq/auth.c:3080
 #, c-format
 msgid "RADIUS response from %s is to a different request: %d (should be %d)"
 msgstr "la réponse RADIUS à partir de %s correspond à une demande différente : %d (devrait être %d)"
 
-#: libpq/auth.c:3084
+#: libpq/auth.c:3105
 #, 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:3093
+#: libpq/auth.c:3114
 #, c-format
 msgid "RADIUS response from %s has incorrect MD5 signature"
 msgstr "la réponse RADIUS à partir de %s a une signature MD5 invalide"
 
-#: libpq/auth.c:3111
+#: libpq/auth.c:3132
 #, c-format
 msgid "RADIUS response from %s has invalid code (%d) for user \"%s\""
 msgstr "la réponse RADIUS à partir de %s a un code invalide (%d) pour l'utilisateur « %s »"
 
-#: libpq/be-fsstubs.c:132 libpq/be-fsstubs.c:163 libpq/be-fsstubs.c:197 libpq/be-fsstubs.c:237 libpq/be-fsstubs.c:262 libpq/be-fsstubs.c:310 libpq/be-fsstubs.c:333 libpq/be-fsstubs.c:581
+#: libpq/be-fsstubs.c:132 libpq/be-fsstubs.c:163 libpq/be-fsstubs.c:197 libpq/be-fsstubs.c:237 libpq/be-fsstubs.c:262 libpq/be-fsstubs.c:310 libpq/be-fsstubs.c:333 libpq/be-fsstubs.c:590
 #, c-format
 msgid "invalid large-object descriptor: %d"
 msgstr "descripteur invalide de « Large Object » : %d"
 
-#: libpq/be-fsstubs.c:178 libpq/be-fsstubs.c:216 libpq/be-fsstubs.c:600 libpq/be-fsstubs.c:788
+#: libpq/be-fsstubs.c:178 libpq/be-fsstubs.c:216 libpq/be-fsstubs.c:609 libpq/be-fsstubs.c:797 libpq/be-fsstubs.c:917
 #, c-format
 msgid "permission denied for large object %u"
 msgstr "droit refusé pour le Large Object %u"
 
-#: libpq/be-fsstubs.c:203 libpq/be-fsstubs.c:587
+#: libpq/be-fsstubs.c:203 libpq/be-fsstubs.c:596
 #, c-format
 msgid "large object descriptor %d was not opened for writing"
 msgstr "le descripteur %d du « Large Object » n'a pas été ouvert pour l'écriture"
@@ -12404,22 +12449,22 @@ msgstr "doit être super-utilisateur pour utiliser lo_export() du côté serveur
 msgid "Anyone can use the client-side lo_export() provided by libpq."
 msgstr "Tout le monde peut utiliser lo_export(), fournie par libpq, du côté client."
 
-#: libpq/be-fsstubs.c:547
+#: libpq/be-fsstubs.c:556
 #, c-format
 msgid "could not create server file \"%s\": %m"
 msgstr "n'a pas pu créer le fichier serveur « %s » : %m"
 
-#: libpq/be-fsstubs.c:559
+#: libpq/be-fsstubs.c:568
 #, c-format
 msgid "could not write server file \"%s\": %m"
 msgstr "n'a pas pu écrire le fichier serveur « %s » : %m"
 
-#: libpq/be-fsstubs.c:813
+#: libpq/be-fsstubs.c:822
 #, c-format
 msgid "large object read request is too large"
 msgstr "la demande de lecture du Large Object est trop grande"
 
-#: libpq/be-fsstubs.c:855 utils/adt/genfile.c:212 utils/adt/genfile.c:253
+#: libpq/be-fsstubs.c:864 utils/adt/genfile.c:212 utils/adt/genfile.c:253
 #, c-format
 msgid "requested length cannot be negative"
 msgstr "la longueur demandée ne peut pas être négative"
@@ -12478,131 +12523,131 @@ msgstr "n'a pas pu charger le fichier de clé privée « %s » : %s"
 msgid "check of private key failed: %s"
 msgstr "échec de la vérification de la clé privée : %s"
 
-#: libpq/be-secure-openssl.c:302
+#: libpq/be-secure-openssl.c:310
 #, c-format
 msgid "could not set the cipher list (no valid ciphers available)"
 msgstr "n'a pas pu configurer la liste des algorithmes de chiffrement (pas d'algorithmes valides disponibles)"
 
-#: libpq/be-secure-openssl.c:320
+#: libpq/be-secure-openssl.c:328
 #, 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:347
+#: libpq/be-secure-openssl.c:355
 #, 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:349
+#: libpq/be-secure-openssl.c:357
 #, 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:356
+#: libpq/be-secure-openssl.c:364
 #, 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:437
+#: libpq/be-secure-openssl.c:445
 #, c-format
 msgid "could not initialize SSL connection: SSL context not set up"
 msgstr "n'a pas pu initialiser la connexion SSL : contexte SSL non configuré"
 
-#: libpq/be-secure-openssl.c:445
+#: libpq/be-secure-openssl.c:453
 #, c-format
 msgid "could not initialize SSL connection: %s"
 msgstr "n'a pas pu initialiser la connexion SSL : %s"
 
-#: libpq/be-secure-openssl.c:453
+#: libpq/be-secure-openssl.c:461
 #, 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:508
+#: libpq/be-secure-openssl.c:516
 #, c-format
 msgid "could not accept SSL connection: %m"
 msgstr "n'a pas pu accepter la connexion SSL : %m"
 
-#: libpq/be-secure-openssl.c:512 libpq/be-secure-openssl.c:523
+#: libpq/be-secure-openssl.c:520 libpq/be-secure-openssl.c:531
 #, 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:517
+#: libpq/be-secure-openssl.c:525
 #, c-format
 msgid "could not accept SSL connection: %s"
 msgstr "n'a pas pu accepter la connexion SSL : %s"
 
-#: libpq/be-secure-openssl.c:528 libpq/be-secure-openssl.c:669 libpq/be-secure-openssl.c:735
+#: libpq/be-secure-openssl.c:536 libpq/be-secure-openssl.c:677 libpq/be-secure-openssl.c:744
 #, c-format
 msgid "unrecognized SSL error code: %d"
 msgstr "code d'erreur SSL inconnu : %d"
 
-#: libpq/be-secure-openssl.c:570
+#: libpq/be-secure-openssl.c:578
 #, 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:581
+#: libpq/be-secure-openssl.c:589
 #, c-format
 msgid "SSL connection from \"%s\""
 msgstr "connexion SSL de « %s »"
 
-#: libpq/be-secure-openssl.c:658 libpq/be-secure-openssl.c:720
+#: libpq/be-secure-openssl.c:666 libpq/be-secure-openssl.c:728
 #, c-format
 msgid "SSL error: %s"
 msgstr "erreur SSL : %s"
 
-#: libpq/be-secure-openssl.c:900
+#: libpq/be-secure-openssl.c:909
 #, c-format
 msgid "could not open DH parameters file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier de paramètres DH « %s » : %m"
 
-#: libpq/be-secure-openssl.c:912
+#: libpq/be-secure-openssl.c:921
 #, c-format
 msgid "could not load DH parameters file: %s"
 msgstr "n'a pas pu charger le fichier de paramètres DH : %s"
 
-#: libpq/be-secure-openssl.c:922
+#: libpq/be-secure-openssl.c:931
 #, c-format
 msgid "invalid DH parameters: %s"
 msgstr "paramètres DH invalides : %s"
 
-#: libpq/be-secure-openssl.c:930
+#: libpq/be-secure-openssl.c:939
 #, c-format
 msgid "invalid DH parameters: p is not prime"
 msgstr "paramètres DH invalides : p n'est pas premier"
 
-#: libpq/be-secure-openssl.c:938
+#: libpq/be-secure-openssl.c:947
 #, c-format
 msgid "invalid DH parameters: neither suitable generator or safe prime"
-msgstr ""
+msgstr "paramètres DH invalides : pas de générateur convenable ou de premier sûr"
 
-#: libpq/be-secure-openssl.c:1079
+#: libpq/be-secure-openssl.c:1088
 #, c-format
 msgid "DH: could not load DH parameters"
 msgstr "DH : n'a pas pu charger les paramètres DH"
 
-#: libpq/be-secure-openssl.c:1087
+#: libpq/be-secure-openssl.c:1096
 #, c-format
 msgid "DH: could not set DH parameters: %s"
 msgstr "DH : n'a pas pu configurer les paramètres DH : %s"
 
-#: libpq/be-secure-openssl.c:1111
+#: libpq/be-secure-openssl.c:1120
 #, c-format
 msgid "ECDH: unrecognized curve name: %s"
 msgstr "ECDH : nome de courbe non reconnu : %s"
 
-#: libpq/be-secure-openssl.c:1120
+#: libpq/be-secure-openssl.c:1129
 #, c-format
 msgid "ECDH: could not create key"
 msgstr "ECDH : n'a pas pu créer la clé"
 
-#: libpq/be-secure-openssl.c:1148
+#: libpq/be-secure-openssl.c:1157
 msgid "no SSL error reported"
 msgstr "aucune erreur SSL reportée"
 
-#: libpq/be-secure-openssl.c:1152
+#: libpq/be-secure-openssl.c:1161
 #, c-format
 msgid "SSL error code %lu"
 msgstr "erreur SSL %lu"
@@ -12622,27 +12667,22 @@ msgstr "Le rôle « %s » n'existe pas"
 msgid "User \"%s\" has no password assigned."
 msgstr "L'utilisateur « %s » n'a pas de mot de passe affecté."
 
-#: libpq/crypt.c:76
-#, c-format
-msgid "User \"%s\" has an empty password."
-msgstr "L'utilisateur « %s » a un mot de passe vide."
-
-#: libpq/crypt.c:87
+#: libpq/crypt.c:79
 #, c-format
 msgid "User \"%s\" has an expired password."
 msgstr "L'utilisateur « %s » a un mot de passe expiré."
 
-#: libpq/crypt.c:181
+#: libpq/crypt.c:173
 #, c-format
 msgid "User \"%s\" has a password that cannot be used with MD5 authentication."
 msgstr "L'utilisateur « %s » a un mot de passe qui ne peut pas être utilisé avec une authentification MD5."
 
-#: libpq/crypt.c:205 libpq/crypt.c:246 libpq/crypt.c:270
+#: libpq/crypt.c:197 libpq/crypt.c:238 libpq/crypt.c:262
 #, c-format
 msgid "Password does not match for user \"%s\"."
 msgstr "Mot de passe ne correspond pas pour l'utilisateur %s : "
 
-#: libpq/crypt.c:289
+#: libpq/crypt.c:281
 #, c-format
 msgid "Password of user \"%s\" is in unrecognized format."
 msgstr "Le mot de passe de l'utilisateur « %s » est dans un format non reconnu."
@@ -12665,7 +12705,7 @@ msgid "authentication file line too long"
 msgstr "ligne du fichier d'authentification trop longue"
 
 #: libpq/hba.c:510 libpq/hba.c:867 libpq/hba.c:887 libpq/hba.c:925 libpq/hba.c:975 libpq/hba.c:989 libpq/hba.c:1011 libpq/hba.c:1020 libpq/hba.c:1041 libpq/hba.c:1054 libpq/hba.c:1074 libpq/hba.c:1096 libpq/hba.c:1108 libpq/hba.c:1164 libpq/hba.c:1184 libpq/hba.c:1198 libpq/hba.c:1217 libpq/hba.c:1228 libpq/hba.c:1243 libpq/hba.c:1261 libpq/hba.c:1277 libpq/hba.c:1289 libpq/hba.c:1326 libpq/hba.c:1367 libpq/hba.c:1380 libpq/hba.c:1402
-#: libpq/hba.c:1414 libpq/hba.c:1432 libpq/hba.c:1482 libpq/hba.c:1521 libpq/hba.c:1532 libpq/hba.c:1549 libpq/hba.c:1559 libpq/hba.c:1617 libpq/hba.c:1655 libpq/hba.c:1671 libpq/hba.c:1770 libpq/hba.c:1859 libpq/hba.c:1878 libpq/hba.c:1907 libpq/hba.c:1920 libpq/hba.c:1943 libpq/hba.c:1965 libpq/hba.c:1979 tsearch/ts_locale.c:182
+#: libpq/hba.c:1414 libpq/hba.c:1432 libpq/hba.c:1482 libpq/hba.c:1521 libpq/hba.c:1532 libpq/hba.c:1549 libpq/hba.c:1559 libpq/hba.c:1617 libpq/hba.c:1655 libpq/hba.c:1671 libpq/hba.c:1772 libpq/hba.c:1861 libpq/hba.c:1880 libpq/hba.c:1909 libpq/hba.c:1922 libpq/hba.c:1945 libpq/hba.c:1967 libpq/hba.c:1981 tsearch/ts_locale.c:182
 #, c-format
 msgid "line %d of configuration file \"%s\""
 msgstr "ligne %d du fichier de configuration « %s »"
@@ -12873,8 +12913,8 @@ msgstr "la liste des secrets RADIUS ne peut pas être vide"
 
 #: libpq/hba.c:1611
 #, c-format
-msgid "the number of %s (%i) must be 1 or the same as the number of %s (%i)"
-msgstr "le nombre de %s (%i) doit valoir 1 ou être identique au nombre de %s (%i)"
+msgid "the number of %s (%d) must be 1 or the same as the number of %s (%d)"
+msgstr "le nombre de %s (%d) doit valoir 1 ou être identique au nombre de %s (%d)"
 
 #: libpq/hba.c:1645
 msgid "ident, peer, gssapi, sspi, and cert"
@@ -12900,96 +12940,96 @@ msgstr "n'a pas pu analyser l'URL LDAP « %s » : %s"
 msgid "unsupported LDAP URL scheme: %s"
 msgstr "méthode URL LDAP non supporté : %s"
 
-#: libpq/hba.c:1735
+#: libpq/hba.c:1737
 #, c-format
 msgid "filters not supported in LDAP URLs"
 msgstr "filtres non supportés dans les URL LDAP"
 
-#: libpq/hba.c:1744
+#: libpq/hba.c:1746
 #, c-format
 msgid "LDAP URLs not supported on this platform"
 msgstr "URL LDAP non supportés sur cette plateforme."
 
-#: libpq/hba.c:1769
+#: libpq/hba.c:1771
 #, c-format
 msgid "invalid LDAP port number: \"%s\""
 msgstr "numéro de port LDAP invalide : « %s »"
 
-#: libpq/hba.c:1810 libpq/hba.c:1817
+#: libpq/hba.c:1812 libpq/hba.c:1819
 msgid "gssapi and sspi"
 msgstr "gssapi et sspi"
 
-#: libpq/hba.c:1826 libpq/hba.c:1835
+#: libpq/hba.c:1828 libpq/hba.c:1837
 msgid "sspi"
 msgstr "sspi"
 
-#: libpq/hba.c:1857
+#: libpq/hba.c:1859
 #, c-format
 msgid "could not parse RADIUS server list \"%s\""
 msgstr "n'a pas pu analyser la liste de serveurs RADIUS « %s »"
 
-#: libpq/hba.c:1905
+#: libpq/hba.c:1907
 #, c-format
 msgid "could not parse RADIUS port list \"%s\""
 msgstr "n'a pas pu analyser la liste de ports RADIUS « %s »"
 
-#: libpq/hba.c:1919
+#: libpq/hba.c:1921
 #, c-format
 msgid "invalid RADIUS port number: \"%s\""
 msgstr "numéro de port RADIUS invalide : « %s »"
 
-#: libpq/hba.c:1941
+#: libpq/hba.c:1943
 #, c-format
 msgid "could not parse RADIUS secret list \"%s\""
 msgstr "n'a pas pu analyser la liste de secrets RADIUS « %s »"
 
-#: libpq/hba.c:1963
+#: libpq/hba.c:1965
 #, c-format
 msgid "could not parse RADIUS identifiers list \"%s\""
 msgstr "n'a pas pu analyser la liste des identifieurs RADIUS « %s »"
 
-#: libpq/hba.c:1977
+#: libpq/hba.c:1979
 #, c-format
 msgid "unrecognized authentication option name: \"%s\""
 msgstr "nom d'option de l'authentification inconnu : « %s »"
 
-#: libpq/hba.c:2161
+#: libpq/hba.c:2163
 #, c-format
 msgid "configuration file \"%s\" contains no entries"
 msgstr "le fichier de configuration « %s » ne contient aucun enregistrement"
 
-#: libpq/hba.c:2666
+#: libpq/hba.c:2668
 #, c-format
 msgid "invalid regular expression \"%s\": %s"
 msgstr "expression rationnelle invalide « %s » : %s"
 
-#: libpq/hba.c:2726
+#: libpq/hba.c:2728
 #, 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:2745
+#: libpq/hba.c:2747
 #, 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:2842
+#: libpq/hba.c:2844
 #, 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:2862
+#: libpq/hba.c:2864
 #, 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:2895
+#: libpq/hba.c:2897
 #, c-format
 msgid "could not open usermap file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier usermap « %s » : %m"
@@ -13119,7 +13159,7 @@ msgstr "il n'y a pas de connexion client"
 msgid "could not receive data from client: %m"
 msgstr "n'a pas pu recevoir les données du client : %m"
 
-#: libpq/pqcomm.c:1219 tcop/postgres.c:3928
+#: libpq/pqcomm.c:1219 tcop/postgres.c:3926
 #, c-format
 msgid "terminating connection because protocol synchronization was lost"
 msgstr "arrêt de la connexion à cause d'une perte de synchronisation du protocole"
@@ -13498,46 +13538,46 @@ 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:1544 parser/analyze.c:1624 parser/analyze.c:1821 parser/analyze.c:2615
+#: optimizer/plan/planner.c:1572 parser/analyze.c:1624 parser/analyze.c:1821 parser/analyze.c:2615
 #, 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:2144 optimizer/plan/planner.c:4102
+#: optimizer/plan/planner.c:2166 optimizer/plan/planner.c:4124
 #, c-format
 msgid "could not implement GROUP BY"
 msgstr "n'a pas pu implanté GROUP BY"
 
-#: optimizer/plan/planner.c:2145 optimizer/plan/planner.c:4103 optimizer/plan/planner.c:4843 optimizer/prep/prepunion.c:938
+#: optimizer/plan/planner.c:2167 optimizer/plan/planner.c:4125 optimizer/plan/planner.c:4865 optimizer/prep/prepunion.c:935
 #, 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:4842
+#: optimizer/plan/planner.c:4864
 #, c-format
 msgid "could not implement DISTINCT"
 msgstr "n'a pas pu implanté DISTINCT"
 
-#: optimizer/plan/planner.c:5522
+#: optimizer/plan/planner.c:5544
 #, c-format
 msgid "could not implement window PARTITION BY"
 msgstr "n'a pas pu implanter PARTITION BY de window"
 
-#: optimizer/plan/planner.c:5523
+#: optimizer/plan/planner.c:5545
 #, 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:5527
+#: optimizer/plan/planner.c:5549
 #, c-format
 msgid "could not implement window ORDER BY"
 msgstr "n'a pas pu implanter ORDER BY dans le window"
 
-#: optimizer/plan/planner.c:5528
+#: optimizer/plan/planner.c:5550
 #, 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."
@@ -13547,23 +13587,23 @@ msgstr "Les colonnes de tri de la window doivent être d'un type de données tri
 msgid "too many range table entries"
 msgstr "trop d'enregistrements dans la table range"
 
-#: optimizer/prep/prepunion.c:493
+#: optimizer/prep/prepunion.c:496
 #, c-format
 msgid "could not implement recursive UNION"
 msgstr "n'a pas pu implanté le UNION récursif"
 
-#: optimizer/prep/prepunion.c:494
+#: optimizer/prep/prepunion.c:497
 #, 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:937
+#: optimizer/prep/prepunion.c:934
 #, c-format
 msgid "could not implement %s"
 msgstr "n'a pas pu implanté %s"
 
-#: optimizer/util/clauses.c:4689
+#: optimizer/util/clauses.c:4693
 #, c-format
 msgid "SQL function \"%s\" during inlining"
 msgstr "fonction SQL « %s » durant « inlining »"
@@ -13935,7 +13975,7 @@ msgid "grouping operations are not allowed in partition key expression"
 msgstr "les opérations de regroupement ne sont pas autorisées dans les expressions de clé de partitionnement"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:530 parser/parse_clause.c:1830
+#: parser/parse_agg.c:530 parser/parse_clause.c:1810
 #, c-format
 msgid "aggregate functions are not allowed in %s"
 msgstr "les fonctions d'agrégats ne sont pas autorisés dans %s"
@@ -14019,12 +14059,12 @@ msgid "window functions are not allowed in partition key expression"
 msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les expressions de clé de partitionnement"
 
 #. translator: %s is name of a SQL construct, eg GROUP BY
-#: parser/parse_agg.c:904 parser/parse_clause.c:1839
+#: parser/parse_agg.c:904 parser/parse_clause.c:1819
 #, 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:938 parser/parse_clause.c:2673
+#: parser/parse_agg.c:938 parser/parse_clause.c:2653
 #, c-format
 msgid "window \"%s\" does not exist"
 msgstr "le window « %s » n'existe pas"
@@ -14066,247 +14106,247 @@ msgstr "les arguments de la clause GROUPING doivent être des expressions de reg
 msgid "relation \"%s\" cannot be the target of a modifying statement"
 msgstr "la relation « %s » ne peut pas être la cible d'une instruction modifiée"
 
-#: parser/parse_clause.c:637 parser/parse_clause.c:665 parser/parse_func.c:2153
+#: parser/parse_clause.c:608 parser/parse_clause.c:636 parser/parse_func.c:2153
 #, c-format
 msgid "set-returning functions must appear at top level of FROM"
 msgstr "les fonctions renvoyant des ensembles doivent apparaître au niveau haut d'un FROM"
 
-#: parser/parse_clause.c:677
+#: parser/parse_clause.c:648
 #, 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:710
+#: parser/parse_clause.c:681
 #, 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:711
+#: parser/parse_clause.c:682
 #, 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:717
+#: parser/parse_clause.c:688
 #, 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:718
+#: parser/parse_clause.c:689
 #, 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:725
+#: parser/parse_clause.c:696
 #, 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:726
+#: parser/parse_clause.c:697
 #, 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:829
+#: parser/parse_clause.c:800
 #, c-format
 msgid "only one FOR ORDINALITY column is allowed"
 msgstr "seule une colonne FOR ORDINALITY est autorisée"
 
-#: parser/parse_clause.c:890
+#: parser/parse_clause.c:861
 #, c-format
 msgid "column name \"%s\" is not unique"
 msgstr "le nom de colonne « %s » n'est pas unique"
 
-#: parser/parse_clause.c:932
+#: parser/parse_clause.c:903
 #, c-format
 msgid "namespace name \"%s\" is not unique"
 msgstr "l'espace de nom « %s » n'est pas unique"
 
-#: parser/parse_clause.c:942
+#: parser/parse_clause.c:913
 #, c-format
 msgid "only one default namespace is allowed"
 msgstr "seul un espace de nom par défaut est autorisé"
 
-#: parser/parse_clause.c:1003
+#: parser/parse_clause.c:974
 #, c-format
 msgid "tablesample method %s does not exist"
 msgstr "la méthode d'échantillonage %s n'existe pas"
 
-#: parser/parse_clause.c:1025
+#: parser/parse_clause.c:996
 #, 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:1059
+#: parser/parse_clause.c:1030
 #, 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:1220
+#: parser/parse_clause.c:1200
 #, c-format
 msgid "TABLESAMPLE clause can only be applied to tables and materialized views"
 msgstr "la clause TABLESAMPLE est uniquement applicable pour les tables et les vues matérialisées"
 
-#: parser/parse_clause.c:1390
+#: parser/parse_clause.c:1370
 #, 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:1405
+#: parser/parse_clause.c:1385
 #, 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:1414
+#: parser/parse_clause.c:1394
 #, 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:1428
+#: parser/parse_clause.c:1408
 #, 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:1437
+#: parser/parse_clause.c:1417
 #, 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:1491
+#: parser/parse_clause.c:1471
 #, 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:1800
+#: parser/parse_clause.c:1780
 #, 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:1965
+#: parser/parse_clause.c:1945
 #, 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:1994
+#: parser/parse_clause.c:1974
 #, 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:2016
+#: parser/parse_clause.c:1996
 #, 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:2457
+#: parser/parse_clause.c:2437
 #, c-format
 msgid "CUBE is limited to 12 elements"
 msgstr "CUBE est limité à 12 éléments"
 
-#: parser/parse_clause.c:2661
+#: parser/parse_clause.c:2641
 #, c-format
 msgid "window \"%s\" is already defined"
 msgstr "le window « %s » est déjà définie"
 
-#: parser/parse_clause.c:2722
+#: parser/parse_clause.c:2702
 #, 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:2734
+#: parser/parse_clause.c:2714
 #, 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:2764 parser/parse_clause.c:2770
+#: parser/parse_clause.c:2744 parser/parse_clause.c:2750
 #, 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:2772
+#: parser/parse_clause.c:2752
 #, c-format
 msgid "Omit the parentheses in this OVER clause."
 msgstr "Omettre les parenthèses dans cette clause OVER."
 
-#: parser/parse_clause.c:2838
+#: parser/parse_clause.c:2818
 #, 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:2839
+#: parser/parse_clause.c:2819
 #, 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:2871
+#: parser/parse_clause.c:2851
 #, 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:2872
+#: parser/parse_clause.c:2852
 #, c-format
 msgid "SELECT DISTINCT must have at least one column"
 msgstr "SELECT DISTINCT doit avoir au moins une colonne"
 
-#: parser/parse_clause.c:2938 parser/parse_clause.c:2970
+#: parser/parse_clause.c:2918 parser/parse_clause.c:2950
 #, 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:3048
+#: parser/parse_clause.c:3028
 #, 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:3054
+#: parser/parse_clause.c:3034
 #, 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:3134
+#: parser/parse_clause.c:3114
 #, 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:3135
+#: parser/parse_clause.c:3115
 #, c-format
 msgid "For example, ON CONFLICT (column_name)."
 msgstr "Par exemple, ON CONFLICT (nom_colonne)"
 
-#: parser/parse_clause.c:3146
+#: parser/parse_clause.c:3126
 #, 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:3154
+#: parser/parse_clause.c:3134
 #, 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:3280
+#: parser/parse_clause.c:3277
 #, 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:3282
+#: parser/parse_clause.c:3279
 #, c-format
 msgid "Ordering operators must be \"<\" or \">\" members of btree operator families."
 msgstr ""
@@ -14547,7 +14587,7 @@ msgstr "la référence récursive à la requête « %s » ne doit pas apparaîtr
 msgid "DEFAULT is not allowed in this context"
 msgstr "DEFAULT interdit dans ce contexte"
 
-#: parser/parse_expr.c:403 parser/parse_relation.c:3248 parser/parse_relation.c:3268
+#: parser/parse_expr.c:403 parser/parse_relation.c:3286 parser/parse_relation.c:3306
 #, c-format
 msgid "column %s.%s does not exist"
 msgstr "la colonne %s.%s n'existe pas"
@@ -15062,12 +15102,12 @@ msgstr "la référence à la table %u est ambigu"
 msgid "table name \"%s\" specified more than once"
 msgstr "le nom de la table « %s » est spécifié plus d'une fois"
 
-#: parser/parse_relation.c:446 parser/parse_relation.c:3188
+#: parser/parse_relation.c:446 parser/parse_relation.c:3226
 #, c-format
 msgid "invalid reference to FROM-clause entry for table \"%s\""
 msgstr "référence invalide d'une entrée de la clause FROM pour la table « %s »"
 
-#: parser/parse_relation.c:449 parser/parse_relation.c:3193
+#: parser/parse_relation.c:449 parser/parse_relation.c:3231
 #, c-format
 msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query."
 msgstr ""
@@ -15084,87 +15124,87 @@ msgstr "Le type JOIN combiné doit être INNER ou LEFT pour une référence LATE
 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:1086 parser/parse_relation.c:1372 parser/parse_relation.c:1941
+#: parser/parse_relation.c:1086 parser/parse_relation.c:1366 parser/parse_relation.c:1935
 #, 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"
 
-#: parser/parse_relation.c:1179
+#: parser/parse_relation.c:1173
 #, c-format
 msgid "There is a WITH item named \"%s\", but it cannot be referenced from this part of the query."
 msgstr ""
 "Il existe un élément WITH nommé « %s » mais il ne peut pas être\n"
 "référencée de cette partie de la requête."
 
-#: parser/parse_relation.c:1181
+#: parser/parse_relation.c:1175
 #, c-format
 msgid "Use WITH RECURSIVE, or re-order the WITH items to remove forward references."
 msgstr ""
 "Utilisez WITH RECURSIVE ou ré-ordonnez les éléments WITH pour supprimer\n"
 "les références en avant."
 
-#: parser/parse_relation.c:1492
+#: parser/parse_relation.c:1486
 #, c-format
 msgid "a column definition list is only allowed for functions returning \"record\""
 msgstr ""
 "une liste de définition de colonnes est uniquement autorisée pour les fonctions\n"
 "renvoyant un « record »"
 
-#: parser/parse_relation.c:1501
+#: parser/parse_relation.c:1495
 #, c-format
 msgid "a column definition list is required for functions returning \"record\""
 msgstr ""
 "une liste de définition de colonnes est requise pour les fonctions renvoyant\n"
 "un « record »"
 
-#: parser/parse_relation.c:1580
+#: parser/parse_relation.c:1574
 #, c-format
 msgid "function \"%s\" in FROM has unsupported return type %s"
 msgstr "la fonction « %s » dans la clause FROM a un type de retour %s non supporté"
 
-#: parser/parse_relation.c:1769
+#: parser/parse_relation.c:1763
 #, c-format
 msgid "VALUES lists \"%s\" have %d columns available but %d columns specified"
 msgstr ""
 "les listes « %s » de VALUES ont %d colonnes disponibles mais %d colonnes\n"
 "spécifiées"
 
-#: parser/parse_relation.c:1824
+#: parser/parse_relation.c:1818
 #, c-format
 msgid "joins can have at most %d columns"
 msgstr "les jointures peuvent avoir au plus %d colonnes"
 
-#: parser/parse_relation.c:1914
+#: parser/parse_relation.c:1908
 #, c-format
 msgid "WITH query \"%s\" does not have a RETURNING clause"
 msgstr "La requête WITH « %s » n'a pas de clause RETURNING"
 
-#: parser/parse_relation.c:2809 parser/parse_relation.c:2972
+#: parser/parse_relation.c:2843 parser/parse_relation.c:2881 parser/parse_relation.c:3010
 #, c-format
 msgid "column %d of relation \"%s\" does not exist"
 msgstr "la colonne %d de la relation « %s » n'existe pas"
 
-#: parser/parse_relation.c:3191
+#: parser/parse_relation.c:3229
 #, c-format
 msgid "Perhaps you meant to reference the table alias \"%s\"."
 msgstr "Peut-être que vous souhaitiez référencer l'alias de la table « %s »."
 
-#: parser/parse_relation.c:3199
+#: parser/parse_relation.c:3237
 #, c-format
 msgid "missing FROM-clause entry for table \"%s\""
 msgstr "entrée manquante de la clause FROM pour la table « %s »"
 
-#: parser/parse_relation.c:3251
+#: parser/parse_relation.c:3289
 #, c-format
 msgid "Perhaps you meant to reference the column \"%s.%s\"."
 msgstr "Peut-être que vous souhaitiez référencer la colonne « %s.%s »."
 
-#: parser/parse_relation.c:3253
+#: parser/parse_relation.c:3291
 #, c-format
 msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query."
 msgstr "Il existe une colonne nommée « %s » pour la table « %s » mais elle ne peut pas être référencée dans cette partie de la requête."
 
-#: parser/parse_relation.c:3270
+#: parser/parse_relation.c:3308
 #, c-format
 msgid "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"."
 msgstr "Peut-être que vous souhaitiez référencer la colonne « %s.%s » ou la colonne « %s.%s »."
@@ -15235,7 +15275,7 @@ msgstr "référence %%TYPE invalide (trop de points entre les noms) : %s"
 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:804 utils/cache/typcache.c:243
+#: parser/parse_type.c:261 parser/parse_type.c:804 utils/cache/typcache.c:245
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "le type « %s » est seulement un shell"
@@ -15255,290 +15295,310 @@ msgstr "les modificateurs de type doivent être des constantes ou des identifian
 msgid "invalid type name \"%s\""
 msgstr "nom de type « %s » invalide"
 
-#: parser/parse_utilcmd.c:265
+#: parser/parse_utilcmd.c:269
 #, c-format
 msgid "cannot create partitioned table as inheritance child"
 msgstr "ne peut pas créer une table partitionnée comme la fille d'un héritage"
 
-#: parser/parse_utilcmd.c:435
+#: parser/parse_utilcmd.c:439
 #, 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:550
+#: parser/parse_utilcmd.c:562
 #, c-format
 msgid "array of serial is not implemented"
 msgstr "le tableau de type serial n'est pas implanté"
 
-#: parser/parse_utilcmd.c:626 parser/parse_utilcmd.c:638
+#: parser/parse_utilcmd.c:638 parser/parse_utilcmd.c:650
 #, 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:650
+#: parser/parse_utilcmd.c:662
 #, 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:671
+#: parser/parse_utilcmd.c:679
+#, c-format
+msgid "identity columns are not supported on typed tables"
+msgstr "les colonnes d'identité uniques ne sont pas supportées sur les tables typées"
+
+#: parser/parse_utilcmd.c:683
+#, c-format
+msgid "identity columns are not supported on partitions"
+msgstr "les colonnes d'identité ne sont pas supportées sur les partitions"
+
+#: parser/parse_utilcmd.c:692
 #, c-format
 msgid "multiple identity specifications for column \"%s\" of table \"%s\""
 msgstr "plusieurs spécifications d'identité pour la colonne « %s » de la table « %s »"
 
-#: parser/parse_utilcmd.c:694 parser/parse_utilcmd.c:811
+#: parser/parse_utilcmd.c:715 parser/parse_utilcmd.c:832
 #, 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:700 parser/parse_utilcmd.c:817
+#: parser/parse_utilcmd.c:721 parser/parse_utilcmd.c:838
 #, c-format
 msgid "primary key constraints are not supported on partitioned tables"
 msgstr "les clés primaires ne sont pas supportées sur les tables partitionnées"
 
-#: parser/parse_utilcmd.c:709 parser/parse_utilcmd.c:827
+#: parser/parse_utilcmd.c:730 parser/parse_utilcmd.c:848
 #, 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:715 parser/parse_utilcmd.c:833
+#: parser/parse_utilcmd.c:736 parser/parse_utilcmd.c:854
 #, c-format
 msgid "unique constraints are not supported on partitioned tables"
 msgstr "les contraintes uniques ne sont pas supportées sur les tables partitionnées"
 
-#: parser/parse_utilcmd.c:732 parser/parse_utilcmd.c:863
+#: parser/parse_utilcmd.c:753 parser/parse_utilcmd.c:884
 #, 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:738 parser/parse_utilcmd.c:869
+#: parser/parse_utilcmd.c:759 parser/parse_utilcmd.c:890
 #, c-format
 msgid "foreign key constraints are not supported on partitioned tables"
 msgstr "les clés étrangères ne sont pas supportées sur les tables partitionnées"
 
-#: parser/parse_utilcmd.c:766
+#: parser/parse_utilcmd.c:787
 #, c-format
 msgid "both default and identity specified for column \"%s\" of table \"%s\""
 msgstr "une valeur par défaut et une identité ont été spécifiées pour la colonne « %s » de la table « %s »"
 
-#: parser/parse_utilcmd.c:843
+#: parser/parse_utilcmd.c:864
 #, 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:849
+#: parser/parse_utilcmd.c:870
 #, c-format
 msgid "exclusion constraints are not supported on partitioned tables"
 msgstr "les contraintes d'exclusion ne sont pas supportées sur les tables partitionnées"
 
-#: parser/parse_utilcmd.c:919
+#: parser/parse_utilcmd.c:940
 #, 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:1474 parser/parse_utilcmd.c:1550
+#: parser/parse_utilcmd.c:1495 parser/parse_utilcmd.c:1571
 #, 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:1819
+#: parser/parse_utilcmd.c:1840
 #, 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:1839
+#: parser/parse_utilcmd.c:1860
 #, 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:1847
+#: parser/parse_utilcmd.c:1868
 #, 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:1854
+#: parser/parse_utilcmd.c:1875
 #, c-format
 msgid "index \"%s\" is not valid"
 msgstr "l'index « %s » n'est pas valide"
 
-#: parser/parse_utilcmd.c:1860
+#: parser/parse_utilcmd.c:1881
 #, c-format
 msgid "\"%s\" is not a unique index"
 msgstr "« %s » n'est pas un index unique"
 
-#: parser/parse_utilcmd.c:1861 parser/parse_utilcmd.c:1868 parser/parse_utilcmd.c:1875 parser/parse_utilcmd.c:1945
+#: parser/parse_utilcmd.c:1882 parser/parse_utilcmd.c:1889 parser/parse_utilcmd.c:1896 parser/parse_utilcmd.c:1966
 #, 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:1867
+#: parser/parse_utilcmd.c:1888
 #, c-format
 msgid "index \"%s\" contains expressions"
 msgstr "l'index « %s » contient des expressions"
 
-#: parser/parse_utilcmd.c:1874
+#: parser/parse_utilcmd.c:1895
 #, c-format
 msgid "\"%s\" is a partial index"
 msgstr "« %s » est un index partiel"
 
-#: parser/parse_utilcmd.c:1886
+#: parser/parse_utilcmd.c:1907
 #, c-format
 msgid "\"%s\" is a deferrable index"
 msgstr "« %s » est un index déferrable"
 
-#: parser/parse_utilcmd.c:1887
+#: parser/parse_utilcmd.c:1908
 #, 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:1944
+#: parser/parse_utilcmd.c:1965
 #, 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:2088
+#: parser/parse_utilcmd.c:2109
 #, 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:2094
+#: parser/parse_utilcmd.c:2115
 #, 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:2303
+#: parser/parse_utilcmd.c:2324
 #, 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:2349
+#: parser/parse_utilcmd.c:2370
 #, 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:2410
+#: parser/parse_utilcmd.c:2431
 #, 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:2482
+#: parser/parse_utilcmd.c:2503
 #, 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:2500 parser/parse_utilcmd.c:2599 rewrite/rewriteHandler.c:500 rewrite/rewriteManip.c:1015
+#: parser/parse_utilcmd.c:2521 parser/parse_utilcmd.c:2620 rewrite/rewriteHandler.c:498 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:2518
+#: parser/parse_utilcmd.c:2539
 #, c-format
 msgid "ON SELECT rule cannot use OLD"
 msgstr "la règle ON SELECT ne peut pas utiliser OLD"
 
-#: parser/parse_utilcmd.c:2522
+#: parser/parse_utilcmd.c:2543
 #, c-format
 msgid "ON SELECT rule cannot use NEW"
 msgstr "la règle ON SELECT ne peut pas utiliser NEW"
 
-#: parser/parse_utilcmd.c:2531
+#: parser/parse_utilcmd.c:2552
 #, c-format
 msgid "ON INSERT rule cannot use OLD"
 msgstr "la règle ON INSERT ne peut pas utiliser OLD"
 
-#: parser/parse_utilcmd.c:2537
+#: parser/parse_utilcmd.c:2558
 #, c-format
 msgid "ON DELETE rule cannot use NEW"
 msgstr "la règle ON INSERT ne peut pas utiliser NEW"
 
-#: parser/parse_utilcmd.c:2565
+#: parser/parse_utilcmd.c:2586
 #, 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:2572
+#: parser/parse_utilcmd.c:2593
 #, 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:3005
+#: parser/parse_utilcmd.c:3027
 #, c-format
 msgid "misplaced DEFERRABLE clause"
 msgstr "clause DEFERRABLE mal placée"
 
-#: parser/parse_utilcmd.c:3010 parser/parse_utilcmd.c:3025
+#: parser/parse_utilcmd.c:3032 parser/parse_utilcmd.c:3047
 #, c-format
 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr "clauses DEFERRABLE/NOT DEFERRABLE multiples non autorisées"
 
-#: parser/parse_utilcmd.c:3020
+#: parser/parse_utilcmd.c:3042
 #, c-format
 msgid "misplaced NOT DEFERRABLE clause"
 msgstr "clause NOT DEFERRABLE mal placée"
 
-#: parser/parse_utilcmd.c:3041
+#: parser/parse_utilcmd.c:3063
 #, c-format
 msgid "misplaced INITIALLY DEFERRED clause"
 msgstr "clause INITIALLY DEFERRED mal placée"
 
-#: parser/parse_utilcmd.c:3046 parser/parse_utilcmd.c:3072
+#: parser/parse_utilcmd.c:3068 parser/parse_utilcmd.c:3094
 #, c-format
 msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
 msgstr "clauses INITIALLY IMMEDIATE/DEFERRED multiples non autorisées"
 
-#: parser/parse_utilcmd.c:3067
+#: parser/parse_utilcmd.c:3089
 #, c-format
 msgid "misplaced INITIALLY IMMEDIATE clause"
 msgstr "clause INITIALLY IMMEDIATE mal placée"
 
-#: parser/parse_utilcmd.c:3258
+#: parser/parse_utilcmd.c:3280
 #, 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/parse_utilcmd.c:3317
+#: parser/parse_utilcmd.c:3339
 #, c-format
 msgid "invalid bound specification for a list partition"
 msgstr "spécification de limite invalide pour une partition par liste"
 
-#: parser/parse_utilcmd.c:3373
+#: parser/parse_utilcmd.c:3395
 #, c-format
 msgid "invalid bound specification for a range partition"
 msgstr "spécification de limite invalide pour une partition par intervalle"
 
-#: parser/parse_utilcmd.c:3379
+#: parser/parse_utilcmd.c:3401
 #, c-format
 msgid "FROM must specify exactly one value per partitioning column"
 msgstr "FROM doit spécifier exactement une valeur par colonne de partitionnement"
 
-#: parser/parse_utilcmd.c:3383
+#: parser/parse_utilcmd.c:3405
 #, c-format
 msgid "TO must specify exactly one value per partitioning column"
 msgstr "TO doit spécifier exactement une valeur par colonne de partitionnement"
 
-#: parser/parse_utilcmd.c:3423 parser/parse_utilcmd.c:3437
+#: parser/parse_utilcmd.c:3452 parser/parse_utilcmd.c:3466
 #, c-format
 msgid "cannot specify NULL in range bound"
 msgstr "ne peut pas spécifier NULL dans la limite de l'intervalle"
 
-#: parser/parse_utilcmd.c:3480 parser/parse_utilcmd.c:3492
+#: parser/parse_utilcmd.c:3513
+#, c-format
+msgid "every bound following MAXVALUE must also be MAXVALUE"
+msgstr "chaque limite suivant MAXVALUE doit aussi être MAXVALUE"
+
+#: parser/parse_utilcmd.c:3519
+#, c-format
+msgid "every bound following MINVALUE must also be MINVALUE"
+msgstr "chaque limite suivant MINVALUE doit aussi être MINVALUE"
+
+#: parser/parse_utilcmd.c:3549 parser/parse_utilcmd.c:3561
 #, c-format
 msgid "specified value cannot be cast to type %s for column \"%s\""
 msgstr "la valeur spécifiée ne peut pas être convertie vers le type %s pour la colonne « %s »"
 
-#: parser/parse_utilcmd.c:3494
+#: parser/parse_utilcmd.c:3563
 #, c-format
 msgid "The cast requires a non-immutable conversion."
 msgstr "Cette conversion requiert une conversion non immutable."
 
-#: parser/parse_utilcmd.c:3495
+#: parser/parse_utilcmd.c:3564
 #, c-format
 msgid "Try putting the literal value in single quotes."
 msgstr "Placer la valeur littérale en guillemets simples."
@@ -15737,57 +15797,57 @@ msgstr "L'appel système qui a échoué était DuplicateHandle."
 msgid "Failed system call was MapViewOfFileEx."
 msgstr "L'appel système qui a échoué était MapViewOfFileEx."
 
-#: postmaster/autovacuum.c:416
+#: postmaster/autovacuum.c:405
 #, c-format
 msgid "could not fork autovacuum launcher process: %m"
 msgstr "n'a pas pu exécuter le processus autovacuum maître : %m"
 
-#: postmaster/autovacuum.c:452
+#: postmaster/autovacuum.c:441
 #, c-format
 msgid "autovacuum launcher started"
 msgstr "lancement du processus autovacuum"
 
-#: postmaster/autovacuum.c:839
+#: postmaster/autovacuum.c:825
 #, c-format
 msgid "autovacuum launcher shutting down"
 msgstr "arrêt du processus autovacuum"
 
-#: postmaster/autovacuum.c:1501
+#: postmaster/autovacuum.c:1487
 #, c-format
 msgid "could not fork autovacuum worker process: %m"
 msgstr "n'a pas pu exécuter le processus autovacuum worker : %m"
 
-#: postmaster/autovacuum.c:1707
+#: postmaster/autovacuum.c:1685
 #, c-format
 msgid "autovacuum: processing database \"%s\""
 msgstr "autovacuum : traitement de la base de données « %s »"
 
-#: postmaster/autovacuum.c:2281
+#: postmaster/autovacuum.c:2260
 #, c-format
 msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\""
 msgstr "autovacuum : suppression de la table temporaire orpheline « %s.%s.%s »"
 
-#: postmaster/autovacuum.c:2487
+#: postmaster/autovacuum.c:2468
 #, c-format
 msgid "automatic vacuum of table \"%s.%s.%s\""
 msgstr "VACUUM automatique de la table « %s.%s.%s »"
 
-#: postmaster/autovacuum.c:2490
+#: postmaster/autovacuum.c:2471
 #, c-format
 msgid "automatic analyze of table \"%s.%s.%s\""
 msgstr "ANALYZE automatique de la table « %s.%s.%s »"
 
-#: postmaster/autovacuum.c:2701
+#: postmaster/autovacuum.c:2664
 #, c-format
 msgid "processing work entry for relation \"%s.%s.%s\""
 msgstr "traitement de l'enregistrement de travail pour la relation « %s.%s.%s »"
 
-#: postmaster/autovacuum.c:3345
+#: postmaster/autovacuum.c:3239
 #, c-format
 msgid "autovacuum not started because of misconfiguration"
 msgstr "autovacuum non exécuté à cause d'une mauvaise configuration"
 
-#: postmaster/autovacuum.c:3346
+#: postmaster/autovacuum.c:3240
 #, c-format
 msgid "Enable the \"track_counts\" option."
 msgstr "Activez l'option « track_counts »."
@@ -15917,7 +15977,7 @@ msgstr "La commande d'archivage qui a échoué était : %s"
 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:3567
+#: postmaster/pgarch.c:598 postmaster/postmaster.c:3615
 #, c-format
 msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value."
 msgstr ""
@@ -16038,219 +16098,219 @@ msgstr "cible reset non reconnu : « %s »"
 msgid "Target must be \"archiver\" or \"bgwriter\"."
 msgstr "La cible doit être « archiver » ou « bgwriter »."
 
-#: postmaster/pgstat.c:4287
+#: postmaster/pgstat.c:4296
 #, c-format
 msgid "could not read statistics message: %m"
 msgstr "n'a pas pu lire le message des statistiques : %m"
 
-#: postmaster/pgstat.c:4619 postmaster/pgstat.c:4776
+#: postmaster/pgstat.c:4628 postmaster/pgstat.c:4785
 #, 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:4686 postmaster/pgstat.c:4821
+#: postmaster/pgstat.c:4695 postmaster/pgstat.c:4830
 #, 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:4695 postmaster/pgstat.c:4830
+#: postmaster/pgstat.c:4704 postmaster/pgstat.c:4839
 #, 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:4703 postmaster/pgstat.c:4838
+#: postmaster/pgstat.c:4712 postmaster/pgstat.c:4847
 #, 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:4927 postmaster/pgstat.c:5133 postmaster/pgstat.c:5286
+#: postmaster/pgstat.c:4936 postmaster/pgstat.c:5142 postmaster/pgstat.c:5295
 #, 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:4939 postmaster/pgstat.c:4949 postmaster/pgstat.c:4970 postmaster/pgstat.c:4992 postmaster/pgstat.c:5007 postmaster/pgstat.c:5070 postmaster/pgstat.c:5145 postmaster/pgstat.c:5165 postmaster/pgstat.c:5183 postmaster/pgstat.c:5199 postmaster/pgstat.c:5217 postmaster/pgstat.c:5233 postmaster/pgstat.c:5298 postmaster/pgstat.c:5310 postmaster/pgstat.c:5322 postmaster/pgstat.c:5347 postmaster/pgstat.c:5369
+#: postmaster/pgstat.c:4948 postmaster/pgstat.c:4958 postmaster/pgstat.c:4979 postmaster/pgstat.c:5001 postmaster/pgstat.c:5016 postmaster/pgstat.c:5079 postmaster/pgstat.c:5154 postmaster/pgstat.c:5174 postmaster/pgstat.c:5192 postmaster/pgstat.c:5208 postmaster/pgstat.c:5226 postmaster/pgstat.c:5242 postmaster/pgstat.c:5307 postmaster/pgstat.c:5319 postmaster/pgstat.c:5331 postmaster/pgstat.c:5356 postmaster/pgstat.c:5378
 #, c-format
 msgid "corrupted statistics file \"%s\""
 msgstr "fichier de statistiques « %s » corrompu"
 
-#: postmaster/pgstat.c:5498
+#: postmaster/pgstat.c:5507
 #, 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:5825
+#: postmaster/pgstat.c:5834
 #, 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:710
+#: postmaster/postmaster.c:712
 #, c-format
 msgid "%s: invalid argument for option -f: \"%s\"\n"
 msgstr "%s : argument invalide pour l'option -f : « %s »\n"
 
-#: postmaster/postmaster.c:796
+#: postmaster/postmaster.c:798
 #, c-format
 msgid "%s: invalid argument for option -t: \"%s\"\n"
 msgstr "%s : argument invalide pour l'option -t : « %s »\n"
 
-#: postmaster/postmaster.c:847
+#: postmaster/postmaster.c:849
 #, c-format
 msgid "%s: invalid argument: \"%s\"\n"
 msgstr "%s : argument invalide : « %s »\n"
 
-#: postmaster/postmaster.c:886
+#: postmaster/postmaster.c:888
 #, 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:891
+#: postmaster/postmaster.c:893
 #, 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:896
+#: postmaster/postmaster.c:898
 #, 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:899
+#: postmaster/postmaster.c:901
 #, c-format
 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 « replica » ou « logical »"
 
-#: postmaster/postmaster.c:907
+#: postmaster/postmaster.c:909
 #, c-format
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s : tables datetoken invalide, merci de corriger\n"
 
-#: postmaster/postmaster.c:1010 postmaster/postmaster.c:1108 utils/init/miscinit.c:1455
+#: postmaster/postmaster.c:1012 postmaster/postmaster.c:1110 utils/init/miscinit.c:1455
 #, c-format
 msgid "invalid list syntax in parameter \"%s\""
 msgstr "syntaxe de liste invalide pour le paramètre « %s »"
 
-#: postmaster/postmaster.c:1041
+#: postmaster/postmaster.c:1043
 #, 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:1047
+#: postmaster/postmaster.c:1049
 #, c-format
 msgid "could not create any TCP/IP sockets"
 msgstr "n'a pas pu créer de socket TCP/IP"
 
-#: postmaster/postmaster.c:1130
+#: postmaster/postmaster.c:1132
 #, 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:1136
+#: postmaster/postmaster.c:1138
 #, 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:1148
+#: postmaster/postmaster.c:1150
 #, c-format
 msgid "no socket created for listening"
 msgstr "pas de socket créé pour l'écoute"
 
-#: postmaster/postmaster.c:1188
+#: postmaster/postmaster.c:1190
 #, 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:1217
+#: postmaster/postmaster.c:1219
 #, 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:1221
+#: postmaster/postmaster.c:1223
 #, 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:1278
+#: postmaster/postmaster.c:1280
 #, c-format
 msgid "ending log output to stderr"
 msgstr "arrêt des traces sur stderr"
 
-#: postmaster/postmaster.c:1279
+#: postmaster/postmaster.c:1281
 #, c-format
 msgid "Future log output will go to log destination \"%s\"."
 msgstr "Les traces suivantes iront sur « %s »."
 
-#: postmaster/postmaster.c:1305 utils/init/postinit.c:213
+#: postmaster/postmaster.c:1307 utils/init/postinit.c:213
 #, c-format
 msgid "could not load pg_hba.conf"
 msgstr "n'a pas pu charger pg_hba.conf"
 
-#: postmaster/postmaster.c:1331
+#: postmaster/postmaster.c:1333
 #, c-format
 msgid "postmaster became multithreaded during startup"
 msgstr "le postmaster est devenu multithreadé lors du démarrage"
 
-#: postmaster/postmaster.c:1332
+#: postmaster/postmaster.c:1334
 #, 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:1437
+#: postmaster/postmaster.c:1439
 #, 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:1460 utils/misc/tzparser.c:341
+#: postmaster/postmaster.c:1462 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:1488
+#: postmaster/postmaster.c:1490
 #, c-format
 msgid "data directory \"%s\" does not exist"
 msgstr "le répertoire des données « %s » n'existe pas"
 
-#: postmaster/postmaster.c:1493
+#: postmaster/postmaster.c:1495
 #, 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:1501
+#: postmaster/postmaster.c:1503
 #, 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:1517
+#: postmaster/postmaster.c:1519
 #, 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:1519
+#: postmaster/postmaster.c:1521
 #, 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:1539
+#: postmaster/postmaster.c:1541
 #, 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:1541
+#: postmaster/postmaster.c:1543
 #, c-format
 msgid "Permissions should be u=rwx (0700)."
 msgstr "Les droits devraient être u=rwx (0700)."
 
-#: postmaster/postmaster.c:1552
+#: postmaster/postmaster.c:1554
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -16261,39 +16321,39 @@ 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:1729
+#: postmaster/postmaster.c:1731
 #, c-format
 msgid "select() failed in postmaster: %m"
 msgstr "échec de select() dans postmaster : %m"
 
-#: postmaster/postmaster.c:1884
+#: postmaster/postmaster.c:1886
 #, c-format
 msgid "performing immediate shutdown because data directory lock file is invalid"
 msgstr "forçage d'un arrêt immédiat car le fichier de verrou du répertoire de données est invalide"
 
-#: postmaster/postmaster.c:1962 postmaster/postmaster.c:1993
+#: postmaster/postmaster.c:1964 postmaster/postmaster.c:1995
 #, c-format
 msgid "incomplete startup packet"
 msgstr "paquet de démarrage incomplet"
 
-#: postmaster/postmaster.c:1974
+#: postmaster/postmaster.c:1976
 #, c-format
 msgid "invalid length of startup packet"
 msgstr "longueur invalide du paquet de démarrage"
 
-#: postmaster/postmaster.c:2032
+#: postmaster/postmaster.c:2034
 #, 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:2061
+#: postmaster/postmaster.c:2060
 #, 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:2124 utils/misc/guc.c:5770 utils/misc/guc.c:5863 utils/misc/guc.c:7164 utils/misc/guc.c:9918 utils/misc/guc.c:9952
+#: postmaster/postmaster.c:2124 utils/misc/guc.c:5770 utils/misc/guc.c:5863 utils/misc/guc.c:7164 utils/misc/guc.c:9911 utils/misc/guc.c:9945
 #, c-format
 msgid "invalid value for parameter \"%s\": \"%s\""
 msgstr "valeur invalide pour le paramètre « %s » : « %s »"
@@ -16303,364 +16363,364 @@ msgstr "valeur invalide pour le paramètre « %s » : « %s »"
 msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"."
 msgstr "Les valeurs valides sont : « false », « 0 », « true », « 1 », « database »."
 
-#: postmaster/postmaster.c:2147
+#: postmaster/postmaster.c:2157
 #, 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:2175
+#: postmaster/postmaster.c:2195
 #, 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:2234
+#: postmaster/postmaster.c:2254
 #, c-format
 msgid "the database system is starting up"
 msgstr "le système de bases de données se lance"
 
-#: postmaster/postmaster.c:2239
+#: postmaster/postmaster.c:2259
 #, c-format
 msgid "the database system is shutting down"
 msgstr "le système de base de données s'arrête"
 
-#: postmaster/postmaster.c:2244
+#: postmaster/postmaster.c:2264
 #, 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:2249 storage/ipc/procarray.c:291 storage/ipc/sinvaladt.c:298 storage/lmgr/proc.c:338
+#: postmaster/postmaster.c:2269 storage/ipc/procarray.c:292 storage/ipc/sinvaladt.c:298 storage/lmgr/proc.c:338
 #, c-format
 msgid "sorry, too many clients already"
 msgstr "désolé, trop de clients sont déjà connectés"
 
-#: postmaster/postmaster.c:2311
+#: postmaster/postmaster.c:2359
 #, 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:2319
+#: postmaster/postmaster.c:2367
 #, 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:2530
+#: postmaster/postmaster.c:2578
 #, c-format
 msgid "received SIGHUP, reloading configuration files"
 msgstr "a reçu SIGHUP, rechargement des fichiers de configuration"
 
-#: postmaster/postmaster.c:2555
+#: postmaster/postmaster.c:2603
 #, c-format
 msgid "pg_hba.conf was not reloaded"
 msgstr "pg_hba.conf n'a pas été rechargé"
 
-#: postmaster/postmaster.c:2559
+#: postmaster/postmaster.c:2607
 #, c-format
 msgid "pg_ident.conf was not reloaded"
 msgstr "pg_ident.conf n'a pas été rechargé"
 
-#: postmaster/postmaster.c:2569
+#: postmaster/postmaster.c:2617
 #, c-format
 msgid "SSL configuration was not reloaded"
 msgstr "la configuration SSL n'a pas été rechargée"
 
-#: postmaster/postmaster.c:2617
+#: postmaster/postmaster.c:2665
 #, c-format
 msgid "received smart shutdown request"
 msgstr "a reçu une demande d'arrêt intelligent"
 
-#: postmaster/postmaster.c:2675
+#: postmaster/postmaster.c:2723
 #, c-format
 msgid "received fast shutdown request"
 msgstr "a reçu une demande d'arrêt rapide"
 
-#: postmaster/postmaster.c:2708
+#: postmaster/postmaster.c:2756
 #, c-format
 msgid "aborting any active transactions"
 msgstr "annulation des transactions actives"
 
-#: postmaster/postmaster.c:2742
+#: postmaster/postmaster.c:2790
 #, c-format
 msgid "received immediate shutdown request"
 msgstr "a reçu une demande d'arrêt immédiat"
 
-#: postmaster/postmaster.c:2809
+#: postmaster/postmaster.c:2857
 #, c-format
 msgid "shutdown at recovery target"
 msgstr "arrêt sur la cible de restauration"
 
-#: postmaster/postmaster.c:2825 postmaster/postmaster.c:2848
+#: postmaster/postmaster.c:2873 postmaster/postmaster.c:2896
 msgid "startup process"
 msgstr "processus de lancement"
 
-#: postmaster/postmaster.c:2828
+#: postmaster/postmaster.c:2876
 #, 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:2889
+#: postmaster/postmaster.c:2937
 #, 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:2910
+#: postmaster/postmaster.c:2958
 msgid "background writer process"
 msgstr "processus d'écriture en tâche de fond"
 
-#: postmaster/postmaster.c:2964
+#: postmaster/postmaster.c:3012
 msgid "checkpointer process"
 msgstr "processus checkpointer"
 
-#: postmaster/postmaster.c:2980
+#: postmaster/postmaster.c:3028
 msgid "WAL writer process"
 msgstr "processus d'écriture des journaux de transaction"
 
-#: postmaster/postmaster.c:2995
+#: postmaster/postmaster.c:3043
 msgid "WAL receiver process"
 msgstr "processus de réception des journaux de transaction"
 
-#: postmaster/postmaster.c:3010
+#: postmaster/postmaster.c:3058
 msgid "autovacuum launcher process"
 msgstr "processus de l'autovacuum"
 
-#: postmaster/postmaster.c:3025
+#: postmaster/postmaster.c:3073
 msgid "archiver process"
 msgstr "processus d'archivage"
 
-#: postmaster/postmaster.c:3041
+#: postmaster/postmaster.c:3089
 msgid "statistics collector process"
 msgstr "processus de récupération des statistiques"
 
-#: postmaster/postmaster.c:3055
+#: postmaster/postmaster.c:3103
 msgid "system logger process"
 msgstr "processus des journaux applicatifs"
 
-#: postmaster/postmaster.c:3117
+#: postmaster/postmaster.c:3165
 msgid "worker process"
 msgstr "processus de travail"
 
-#: postmaster/postmaster.c:3200 postmaster/postmaster.c:3220 postmaster/postmaster.c:3227 postmaster/postmaster.c:3245
+#: postmaster/postmaster.c:3248 postmaster/postmaster.c:3268 postmaster/postmaster.c:3275 postmaster/postmaster.c:3293
 msgid "server process"
 msgstr "processus serveur"
 
-#: postmaster/postmaster.c:3299
+#: postmaster/postmaster.c:3347
 #, 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:3555
+#: postmaster/postmaster.c:3603
 #, 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:3557 postmaster/postmaster.c:3568 postmaster/postmaster.c:3579 postmaster/postmaster.c:3588 postmaster/postmaster.c:3598
+#: postmaster/postmaster.c:3605 postmaster/postmaster.c:3616 postmaster/postmaster.c:3627 postmaster/postmaster.c:3636 postmaster/postmaster.c:3646
 #, 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:3565
+#: postmaster/postmaster.c:3613
 #, 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:3575
+#: postmaster/postmaster.c:3623
 #, 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:3586
+#: postmaster/postmaster.c:3634
 #, 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:3596
+#: postmaster/postmaster.c:3644
 #, 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:3783
+#: postmaster/postmaster.c:3831
 #, c-format
 msgid "abnormal database system shutdown"
 msgstr "le système de base de données a été arrêté anormalement"
 
-#: postmaster/postmaster.c:3823
+#: postmaster/postmaster.c:3871
 #, c-format
 msgid "all server processes terminated; reinitializing"
 msgstr "tous les processus serveur se sont arrêtés, réinitialisation"
 
-#: postmaster/postmaster.c:3989 postmaster/postmaster.c:5400 postmaster/postmaster.c:5764
+#: postmaster/postmaster.c:4037 postmaster/postmaster.c:5448 postmaster/postmaster.c:5812
 #, c-format
 msgid "could not generate random cancel key"
 msgstr "n'a pas pu générer la clé d'annulation aléatoire"
 
-#: postmaster/postmaster.c:4043
+#: postmaster/postmaster.c:4091
 #, 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:4085
+#: postmaster/postmaster.c:4133
 msgid "could not fork new process for connection: "
 msgstr "n'a pas pu lancer le nouveau processus fils pour la connexion : "
 
-#: postmaster/postmaster.c:4199
+#: postmaster/postmaster.c:4247
 #, c-format
 msgid "connection received: host=%s port=%s"
 msgstr "connexion reçue : hôte=%s port=%s"
 
-#: postmaster/postmaster.c:4204
+#: postmaster/postmaster.c:4252
 #, c-format
 msgid "connection received: host=%s"
 msgstr "connexion reçue : hôte=%s"
 
-#: postmaster/postmaster.c:4489
+#: postmaster/postmaster.c:4537
 #, 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:4642
+#: postmaster/postmaster.c:4690
 #, c-format
 msgid "giving up after too many tries to reserve shared memory"
 msgstr "abandon après trop de tentatives pour réserver la mémoire partagée"
 
-#: postmaster/postmaster.c:4643
+#: postmaster/postmaster.c:4691
 #, c-format
 msgid "This might be caused by ASLR or antivirus software."
 msgstr "Ceci pourrait être causé par un logiciel ASLR ou un antivirus."
 
-#: postmaster/postmaster.c:4840
+#: postmaster/postmaster.c:4888
 #, c-format
 msgid "SSL configuration could not be loaded in child process"
 msgstr "la configuration SSL n'a pas pu être chargé sur le processus fils"
 
-#: postmaster/postmaster.c:4972
+#: postmaster/postmaster.c:5020
 #, c-format
 msgid "Please report this to <pgsql-bugs@postgresql.org>."
 msgstr "Veuillez rapporter ceci à <pgsql-bugs@postgresql.org>."
 
-#: postmaster/postmaster.c:5059
+#: postmaster/postmaster.c:5107
 #, 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:5328
+#: postmaster/postmaster.c:5376
 #, 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:5332
+#: postmaster/postmaster.c:5380
 #, 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:5336
+#: postmaster/postmaster.c:5384
 #, c-format
 msgid "could not fork checkpointer process: %m"
 msgstr "n'a pas pu créer le processus checkpointer : %m"
 
-#: postmaster/postmaster.c:5340
+#: postmaster/postmaster.c:5388
 #, 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:5344
+#: postmaster/postmaster.c:5392
 #, 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:5348
+#: postmaster/postmaster.c:5396
 #, c-format
 msgid "could not fork process: %m"
 msgstr "n'a pas pu lancer le processus fils : %m"
 
-#: postmaster/postmaster.c:5535 postmaster/postmaster.c:5558
+#: postmaster/postmaster.c:5583 postmaster/postmaster.c:5606
 #, 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:5542 postmaster/postmaster.c:5565
+#: postmaster/postmaster.c:5590 postmaster/postmaster.c:5613
 #, 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:5637
+#: postmaster/postmaster.c:5685
 #, c-format
 msgid "starting background worker process \"%s\""
 msgstr "démarrage du processus d'écriture en tâche de fond « %s »"
 
-#: postmaster/postmaster.c:5649
+#: postmaster/postmaster.c:5697
 #, 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:6073
+#: postmaster/postmaster.c:6130
 #, 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:6105
+#: postmaster/postmaster.c:6162
 #, 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:6134
+#: postmaster/postmaster.c:6191
 #, 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:6141
+#: postmaster/postmaster.c:6198
 #, 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:6150
+#: postmaster/postmaster.c:6207
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "n'a pas pu supprimer le fichier « %s » : %s\n"
 
-#: postmaster/postmaster.c:6167
+#: postmaster/postmaster.c:6224
 #, 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:6176
+#: postmaster/postmaster.c:6233
 #, 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:6183
+#: postmaster/postmaster.c:6240
 #, 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:6344
+#: postmaster/postmaster.c:6401
 #, 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:6349
+#: postmaster/postmaster.c:6406
 #, c-format
 msgid "could not post child completion status\n"
 msgstr "n'a pas pu poster le statut de fin de l'enfant\n"
@@ -16725,16 +16785,16 @@ msgstr "désactivation de la rotation automatique (utilisez SIGHUP pour la réac
 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:320 repl_gram.y:352
+#: repl_gram.y:330 repl_gram.y:362
 #, c-format
 msgid "invalid timeline %u"
 msgstr "timeline %u invalide"
 
-#: repl_scanner.l:125
+#: repl_scanner.l:126
 msgid "invalid streaming start location"
 msgstr "emplacement de démarrage du flux de réplication invalide"
 
-#: repl_scanner.l:176 scan.l:670
+#: repl_scanner.l:177 scan.l:670
 msgid "unterminated quoted string"
 msgstr "chaîne entre guillemets non terminée"
 
@@ -16743,203 +16803,202 @@ msgstr "chaîne entre guillemets non terminée"
 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:412
+#: replication/basebackup.c:413
 #, c-format
 msgid "could not find any WAL files"
 msgstr "n'a pas pu trouver un seul fichier WAL"
 
-#: replication/basebackup.c:425 replication/basebackup.c:439 replication/basebackup.c:448
+#: replication/basebackup.c:426 replication/basebackup.c:440 replication/basebackup.c:449
 #, c-format
 msgid "could not find WAL file \"%s\""
 msgstr "n'a pas pu trouver le fichier WAL « %s »"
 
-#: replication/basebackup.c:487 replication/basebackup.c:513
+#: replication/basebackup.c:488 replication/basebackup.c:514
 #, c-format
 msgid "unexpected WAL file size \"%s\""
 msgstr "taille du fichier WAL « %s » inattendue"
 
-#: replication/basebackup.c:499 replication/basebackup.c:1228
+#: replication/basebackup.c:500 replication/basebackup.c:1229
 #, 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:601 replication/basebackup.c:610 replication/basebackup.c:619 replication/basebackup.c:628 replication/basebackup.c:637 replication/basebackup.c:648 replication/basebackup.c:665
+#: replication/basebackup.c:602 replication/basebackup.c:611 replication/basebackup.c:620 replication/basebackup.c:629 replication/basebackup.c:638 replication/basebackup.c:649 replication/basebackup.c:666
 #, c-format
 msgid "duplicate option \"%s\""
 msgstr "option « %s » dupliquée"
 
-#: replication/basebackup.c:654 utils/misc/guc.c:5780
+#: replication/basebackup.c:655 utils/misc/guc.c:5780
 #, 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:928 replication/basebackup.c:1025
+#: replication/basebackup.c:929 replication/basebackup.c:1026
 #, 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:1180
+#: replication/basebackup.c:1181
 #, c-format
 msgid "skipping special file \"%s\""
 msgstr "ignore le fichier spécial « %s »"
 
-#: replication/basebackup.c:1293
+#: replication/basebackup.c:1294
 #, 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:1298
+#: replication/basebackup.c:1299
 #, 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 »"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:226
+#: replication/libpqwalreceiver/libpqwalreceiver.c:231
 #, c-format
 msgid "invalid connection string syntax: %s"
 msgstr "syntaxe de la chaîne de connexion invalide : %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:250
+#: replication/libpqwalreceiver/libpqwalreceiver.c:255
 #, c-format
 msgid "could not parse connection string: %s"
 msgstr "n'a pas pu analyser la chaîne de connexion « %s »"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:300
+#: replication/libpqwalreceiver/libpqwalreceiver.c:305
 #, c-format
 msgid "could not receive database system identifier and timeline ID from the primary server: %s"
 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:311 replication/libpqwalreceiver/libpqwalreceiver.c:518
+#: replication/libpqwalreceiver/libpqwalreceiver.c:316 replication/libpqwalreceiver/libpqwalreceiver.c:523
 #, c-format
 msgid "invalid response from primary server"
 msgstr "réponse invalide du serveur principal"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:312
+#: replication/libpqwalreceiver/libpqwalreceiver.c:317
 #, c-format
 msgid "Could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields."
 msgstr ""
 "N'a pas pu identifier le système : a récupéré %d lignes et %d champs,\n"
 "attendait %d lignes et %d champs (ou plus)."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:378 replication/libpqwalreceiver/libpqwalreceiver.c:384 replication/libpqwalreceiver/libpqwalreceiver.c:409
+#: replication/libpqwalreceiver/libpqwalreceiver.c:383 replication/libpqwalreceiver/libpqwalreceiver.c:389 replication/libpqwalreceiver/libpqwalreceiver.c:414
 #, c-format
 msgid "could not start WAL streaming: %s"
 msgstr "n'a pas pu démarrer l'envoi des WAL : %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:428
+#: replication/libpqwalreceiver/libpqwalreceiver.c:433
 #, c-format
 msgid "could not send end-of-streaming message to primary: %s"
 msgstr "n'a pas pu transmettre le message de fin d'envoi de flux au primaire : %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:450
+#: replication/libpqwalreceiver/libpqwalreceiver.c:455
 #, c-format
 msgid "unexpected result set after end-of-streaming"
 msgstr "ensemble de résultats inattendu après la fin du flux de réplication"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:464
-#, fuzzy, c-format
-#| msgid "error reading result of streaming command: %s"
+#: replication/libpqwalreceiver/libpqwalreceiver.c:469
+#, c-format
 msgid "error while shutting down streaming COPY: %s"
-msgstr "erreur lors de la lecture de la commande de flux : %s"
+msgstr "erreur lors de l'arrêt de la copie en flux : %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:473
+#: replication/libpqwalreceiver/libpqwalreceiver.c:478
 #, c-format
 msgid "error reading result of streaming command: %s"
 msgstr "erreur lors de la lecture de la commande de flux : %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:481 replication/libpqwalreceiver/libpqwalreceiver.c:709
+#: replication/libpqwalreceiver/libpqwalreceiver.c:486 replication/libpqwalreceiver/libpqwalreceiver.c:714
 #, c-format
 msgid "unexpected result after CommandComplete: %s"
 msgstr "résultat inattendu après CommandComplete : %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:507
+#: replication/libpqwalreceiver/libpqwalreceiver.c:512
 #, c-format
 msgid "could not receive timeline history file from the primary server: %s"
 msgstr "n'a pas pu recevoir le fichier historique à partir du serveur principal : %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:519
+#: replication/libpqwalreceiver/libpqwalreceiver.c:524
 #, c-format
 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:673 replication/libpqwalreceiver/libpqwalreceiver.c:724 replication/libpqwalreceiver/libpqwalreceiver.c:730
+#: replication/libpqwalreceiver/libpqwalreceiver.c:678 replication/libpqwalreceiver/libpqwalreceiver.c:729 replication/libpqwalreceiver/libpqwalreceiver.c:735
 #, 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:749
+#: replication/libpqwalreceiver/libpqwalreceiver.c:754
 #, 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/libpqwalreceiver/libpqwalreceiver.c:798
+#: replication/libpqwalreceiver/libpqwalreceiver.c:803
 #, c-format
 msgid "could not create replication slot \"%s\": %s"
 msgstr "n'a pas pu créer le slot de réplication « %s » : %s"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:832
+#: replication/libpqwalreceiver/libpqwalreceiver.c:837
 #, c-format
 msgid "invalid query response"
 msgstr "réponse à la requête invalide"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:833
+#: replication/libpqwalreceiver/libpqwalreceiver.c:838
 #, c-format
 msgid "Expected %d fields, got %d fields."
 msgstr "Attendait %d champs, a obtenu %d champs."
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:902
+#: replication/libpqwalreceiver/libpqwalreceiver.c:907
 #, c-format
 msgid "the query interface requires a database connection"
 msgstr "l'interface de la requête requiert une connexion à une base"
 
-#: replication/libpqwalreceiver/libpqwalreceiver.c:933
+#: replication/libpqwalreceiver/libpqwalreceiver.c:938
 msgid "empty query"
 msgstr "requête vide"
 
-#: replication/logical/launcher.c:268
+#: replication/logical/launcher.c:298
 #, c-format
 msgid "starting logical replication worker for subscription \"%s\""
 msgstr "lancement du processus worker de réplication logique pour la souscription « %s »"
 
-#: replication/logical/launcher.c:275
+#: replication/logical/launcher.c:305
 #, c-format
 msgid "cannot start logical replication workers when max_replication_slots = 0"
 msgstr "ne peut pas démarrer les processus worker de la réplication logique quand max_replication_slots = 0"
 
-#: replication/logical/launcher.c:355
+#: replication/logical/launcher.c:385
 #, c-format
 msgid "out of logical replication worker slots"
 msgstr "plus de slots de processus worker pour la réplication logique"
 
-#: replication/logical/launcher.c:356
+#: replication/logical/launcher.c:386
 #, c-format
 msgid "You might need to increase max_logical_replication_workers."
 msgstr "Vous pourriez avoir besoin d'augmenter max_logical_replication_workers."
 
-#: replication/logical/launcher.c:401
+#: replication/logical/launcher.c:440
 #, c-format
 msgid "out of background worker slots"
 msgstr "plus de slots de processus en tâche de fond"
 
-#: replication/logical/launcher.c:402
+#: replication/logical/launcher.c:441
 #, c-format
 msgid "You might need to increase max_worker_processes."
 msgstr "Vous pourriez avoir besoin d'augmenter max_worker_processes."
 
-#: replication/logical/launcher.c:564
+#: replication/logical/launcher.c:624
 #, c-format
 msgid "logical replication worker slot %d is empty, cannot attach"
 msgstr "le slot %d du processus de réplication logique est vide, ne peut pas s'y attacher"
 
-#: replication/logical/launcher.c:573
+#: replication/logical/launcher.c:633
 #, c-format
 msgid "logical replication worker slot %d is already used by another worker, cannot attach"
 msgstr "le slot %d du processus de réplication logique est déjà utilisé par un autre processus, ne peut pas s'attacher"
 
-#: replication/logical/launcher.c:798
+#: replication/logical/launcher.c:885
 #, c-format
 msgid "logical replication launcher started"
 msgstr "lancement du processus de lancement de la réplication logique"
@@ -17021,7 +17080,7 @@ msgstr "le tableau doit avoir une dimension"
 msgid "array must not contain nulls"
 msgstr "le tableau ne doit pas contenir de valeurs NULL"
 
-#: replication/logical/logicalfuncs.c:222 utils/adt/json.c:2282 utils/adt/jsonb.c:1357
+#: replication/logical/logicalfuncs.c:222 utils/adt/json.c:2246 utils/adt/jsonb.c:1314
 #, c-format
 msgid "array must have even number of elements"
 msgstr "le tableau doit avoir un nombre pair d'éléments"
@@ -17031,77 +17090,87 @@ msgstr "le tableau doit avoir un nombre pair d'éléments"
 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"
 
-#: replication/logical/origin.c:180
+#: replication/logical/origin.c:185
 #, c-format
 msgid "only superusers can query or manipulate replication origins"
 msgstr "seuls les super-utilisateurs peuvent lire ou manipuler les origines de réplication"
 
-#: replication/logical/origin.c:185
+#: replication/logical/origin.c:190
 #, c-format
 msgid "cannot query or manipulate replication origin when max_replication_slots = 0"
 msgstr "ne peut pas lire ou manipuler une originie de réplication logique quand max_replication_slots = 0"
 
-#: replication/logical/origin.c:190
+#: replication/logical/origin.c:195
 #, c-format
 msgid "cannot manipulate replication origins during recovery"
 msgstr "ne peut pas manipuler les origines de réplication lors d'une restauration"
 
-#: replication/logical/origin.c:314
+#: replication/logical/origin.c:230
+#, c-format
+msgid "replication origin \"%s\" does not exist"
+msgstr "l'origine de réplication « %s » n'existe pas"
+
+#: replication/logical/origin.c:321
 #, c-format
 msgid "could not find free replication origin OID"
 msgstr "n'a pas pu trouver d'OID d'origine de réplication libre"
 
-#: replication/logical/origin.c:351
+#: replication/logical/origin.c:369
 #, c-format
 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:667
+#: replication/logical/origin.c:461
+#, c-format
+msgid "replication origin with OID %u does not exist"
+msgstr "l'origine de réplication d'OID %u n'existe pas"
+
+#: replication/logical/origin.c:708
 #, 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:699
+#: replication/logical/origin.c:740
 #, 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:708
+#: replication/logical/origin.c:749
 #, c-format
 msgid "could not find free replication state, increase max_replication_slots"
 msgstr "n'a pas pu trouver d'état de réplication libre, augmentez max_replication_slots"
 
-#: replication/logical/origin.c:726
+#: replication/logical/origin.c:767
 #, c-format
 msgid "replication slot checkpoint has wrong checksum %u, expected %u"
 msgstr "le point de contrôle du slot de réplication à la mauvaise somme de contrôle %u, %u attendu"
 
-#: replication/logical/origin.c:850
+#: replication/logical/origin.c:891
 #, c-format
 msgid "replication origin with OID %d is already active for PID %d"
 msgstr "l'origine de réplication d'OID %d est déjà active pour le PID %d"
 
-#: replication/logical/origin.c:861 replication/logical/origin.c:1041
+#: replication/logical/origin.c:902 replication/logical/origin.c:1089
 #, c-format
 msgid "could not find free replication state slot for replication origin with OID %u"
 msgstr "n'a pas pu trouver de slot d'état de réplication libre pour l'origine de réplication d'OID %u"
 
-#: replication/logical/origin.c:863 replication/logical/origin.c:1043 replication/slot.c:1508
+#: replication/logical/origin.c:904 replication/logical/origin.c:1091 replication/slot.c:1509
 #, c-format
 msgid "Increase max_replication_slots and try again."
 msgstr "Augmentez max_replication_slots et recommencez."
 
-#: replication/logical/origin.c:1000
+#: replication/logical/origin.c:1048
 #, 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:1029
+#: replication/logical/origin.c:1077
 #, 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:1075 replication/logical/origin.c:1270 replication/logical/origin.c:1290
+#: replication/logical/origin.c:1128 replication/logical/origin.c:1326 replication/logical/origin.c:1346
 #, c-format
 msgid "no replication origin is configured"
 msgstr "aucune origine de réplication n'est configurée"
@@ -17111,49 +17180,49 @@ msgstr "aucune origine de réplication n'est configurée"
 msgid "logical replication target relation \"%s.%s\" does not exist"
 msgstr "la relation cible de la réplication logique « %s.%s » n'existe pas"
 
-#: replication/logical/relation.c:297
+#: replication/logical/relation.c:300
 #, c-format
 msgid "logical replication target relation \"%s.%s\" is missing some replicated columns"
 msgstr "il manque des colonnes répliquées dans la relation cible « %s.%s » de réplication logique"
 
-#: replication/logical/relation.c:337
+#: replication/logical/relation.c:340
 #, c-format
 msgid "logical replication target relation \"%s.%s\" uses system columns in REPLICA IDENTITY index"
 msgstr "la relation cible « %s.%s » de réplication logique utilise des colonnes systèmes dans l'index REPLICA IDENTITY"
 
-#: replication/logical/relation.c:453
+#: replication/logical/relation.c:456
 #, c-format
-msgid "builtin type %u not found"
+msgid "built-in type %u not found"
 msgstr "type interne %u non trouvé"
 
-#: replication/logical/relation.c:454
+#: replication/logical/relation.c:457
 #, c-format
-msgid "This can be caused by having publisher with higher major version than subscriber"
-msgstr "Ceci peut avoir pour cause un publieur ayant une version majeure supérieur à l'abonné"
+msgid "This can be caused by having a publisher with a higher PostgreSQL major version than the subscriber."
+msgstr "Ceci peut avoir pour cause un publieur ayant une version majeure de PostgreSQL supérieure à l'abonné"
 
-#: replication/logical/relation.c:486
+#: replication/logical/relation.c:488
 #, c-format
 msgid "data type \"%s.%s\" required for logical replication does not exist"
 msgstr "le type de données « %s/%s » requis par la réplication logique n'existe pas"
 
-#: replication/logical/reorderbuffer.c:2288
+#: replication/logical/reorderbuffer.c:2303
 #, 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:2387 replication/logical/reorderbuffer.c:2409
+#: replication/logical/reorderbuffer.c:2402 replication/logical/reorderbuffer.c:2424
 #, 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:2391 replication/logical/reorderbuffer.c:2413
+#: replication/logical/reorderbuffer.c:2406 replication/logical/reorderbuffer.c:2428
 #, 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:3071
+#: replication/logical/reorderbuffer.c:3086
 #, 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"
@@ -17235,7 +17304,7 @@ msgstr "n'a pas pu analyser le mode du fichier « %s »"
 #: replication/logical/tablesync.c:138
 #, c-format
 msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has finished"
-msgstr ""
+msgstr "le worker de synchronisation de table en réplication logique pour la souscription « %s », table « %s », a terminé"
 
 #: replication/logical/tablesync.c:685
 #, c-format
@@ -17267,122 +17336,123 @@ msgstr "la copie de table n'a pas pu démarrer la transaction sur le publieur"
 msgid "table copy could not finish transaction on publisher"
 msgstr "la copie de table n'a pas pu finir la transaction sur le publieur"
 
-#: replication/logical/worker.c:291
+#: replication/logical/worker.c:293
 #, c-format
 msgid "processing remote data for replication target relation \"%s.%s\" column \"%s\", remote type %s, local type %s"
 msgstr "traitement des données distantes pour la relation cible « %s.%s » de réplication logique, colonne « %s », type distant %s, type local %s"
 
-#: replication/logical/worker.c:500
+#: replication/logical/worker.c:506
 #, c-format
 msgid "ORIGIN message sent out of order"
 msgstr "message ORIGIN en désordre"
 
-#: replication/logical/worker.c:631
-#, c-format
-msgid "publisher does not send replica identity column expected by the logical replication target relation \"%s.%s\""
+#: replication/logical/worker.c:637
+#, fuzzy, c-format
+#| msgid "publisher does not send replica identity column expected by the logical replication target relation \"%s.%s\""
+msgid "publisher did not send replica identity column expected by the logical replication target relation \"%s.%s\""
 msgstr "le publieur n'envoie pas la colonne d'identité du réplicat attendue par la relation cible « %s.%s » de réplication logique"
 
-#: replication/logical/worker.c:638
+#: replication/logical/worker.c:644
 #, c-format
 msgid "logical replication target relation \"%s.%s\" has neither REPLICA IDENTITY index nor PRIMARY KEY and published relation does not have REPLICA IDENTITY FULL"
 msgstr "la relation cible « %s.%s » de réplication logique n'a ni un index REPLICA IDENTITY ni une clé primaire, et la relation publiée n'a pas REPLICA IDENTITY FULL"
 
-#: replication/logical/worker.c:845
+#: replication/logical/worker.c:851
 #, c-format
-msgid "logical replication could not find row for delete in replication target %s"
-msgstr "la réplication logique n'a pas pu trouver la ligne à supprimer dans la cible de réplication %s"
+msgid "logical replication could not find row for delete in replication target relation \"%s\""
+msgstr "la réplication logique n'a pas pu trouver la ligne à supprimer dans la relation cible de réplication %s"
 
-#: replication/logical/worker.c:912
+#: replication/logical/worker.c:918
 #, c-format
-msgid "invalid logical replication message type %c"
-msgstr "type %c du message de la réplication logique invalide"
+msgid "invalid logical replication message type \"%c\""
+msgstr "type « %c » du message de la réplication logique invalide"
 
-#: replication/logical/worker.c:1053
+#: replication/logical/worker.c:1059
 #, c-format
 msgid "data stream from publisher has ended"
 msgstr "le flux de données provenant du publieur s'est terminé"
 
-#: replication/logical/worker.c:1212
+#: replication/logical/worker.c:1218
 #, c-format
 msgid "terminating logical replication worker due to timeout"
 msgstr "arrêt du processus worker de la réplication logique suite à l'expiration du délai de réplication"
 
-#: replication/logical/worker.c:1360
+#: replication/logical/worker.c:1366
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will stop because the subscription was removed"
 msgstr "le processus apply de réplication logique pour la souscription « %s » s'arrêtera car la souscription a été supprimée"
 
-#: replication/logical/worker.c:1374
+#: replication/logical/worker.c:1380
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will stop because the subscription was disabled"
 msgstr "le processus apply de réplication logique pour la souscription « %s » s'arrêtera car la souscription a été désactivée"
 
-#: replication/logical/worker.c:1388
+#: replication/logical/worker.c:1394
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will restart because the connection information was changed"
 msgstr "le processus apply de réplication logique pour la souscription « %s » redémarrera car la souscription a été modifiée"
 
-#: replication/logical/worker.c:1402
+#: replication/logical/worker.c:1408
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will restart because subscription was renamed"
 msgstr "le processus apply de réplication logique pour la souscription « %s » redémarrera car la souscription a été renommée"
 
-#: replication/logical/worker.c:1419
+#: replication/logical/worker.c:1425
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will restart because the replication slot name was changed"
 msgstr "le processus apply de réplication logique pour la souscription « %s » redémarrera car le nom du slot de réplication a été modifiée"
 
-#: replication/logical/worker.c:1433
+#: replication/logical/worker.c:1439
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will restart because subscription's publications were changed"
 msgstr "le processus apply de réplication logique pour la souscription « %s » redémarrera car les publications ont été modifiées"
 
-#: replication/logical/worker.c:1541
+#: replication/logical/worker.c:1547
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" will not start because the subscription was disabled during startup"
 msgstr "le processus apply de réplication logique pour la souscription « %s » ne démarrera pas car la souscription a été désactivée au démarrage"
 
-#: replication/logical/worker.c:1555
+#: replication/logical/worker.c:1561
 #, c-format
 msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started"
 msgstr "le processus de synchronisation des tables en réplication logique pour la souscription « %s », table « %s » a démarré"
 
-#: replication/logical/worker.c:1559
+#: replication/logical/worker.c:1565
 #, c-format
 msgid "logical replication apply worker for subscription \"%s\" has started"
 msgstr "le processus apply de réplication logique pour la souscription « %s » a démarré"
 
-#: replication/logical/worker.c:1599
+#: replication/logical/worker.c:1605
 #, c-format
 msgid "subscription has no replication slot set"
 msgstr "la souscription n'a aucun ensemble de slot de réplication"
 
-#: replication/pgoutput/pgoutput.c:113
+#: replication/pgoutput/pgoutput.c:114
 #, c-format
 msgid "invalid proto_version"
 msgstr "proto_version invalide"
 
-#: replication/pgoutput/pgoutput.c:118
+#: replication/pgoutput/pgoutput.c:119
 #, c-format
-msgid "proto_verson \"%s\" out of range"
-msgstr "proto_version « %s » est en dehors des limites"
+msgid "proto_version \"%s\" out of range"
+msgstr "proto_version « %s » en dehors des limites"
 
-#: replication/pgoutput/pgoutput.c:135
+#: replication/pgoutput/pgoutput.c:136
 #, c-format
 msgid "invalid publication_names syntax"
 msgstr "syntaxe publication_names invalide"
 
-#: replication/pgoutput/pgoutput.c:179
+#: replication/pgoutput/pgoutput.c:180
 #, c-format
 msgid "client sent proto_version=%d but we only support protocol %d or lower"
 msgstr "le client a envoyé proto_version=%d mais nous supportons seulement le protocole %d et les protocoles antérieurs"
 
-#: replication/pgoutput/pgoutput.c:185
+#: replication/pgoutput/pgoutput.c:186
 #, c-format
 msgid "client sent proto_version=%d but we only support protocol %d or higher"
 msgstr "le client a envoyé proto_version=%d mais nous supportons seulement le protocole %d et les protocoles supérieurs"
 
-#: replication/pgoutput/pgoutput.c:191
+#: replication/pgoutput/pgoutput.c:192
 #, c-format
 msgid "publication_names parameter missing"
 msgstr "paramètre publication_names manquant"
@@ -17427,52 +17497,52 @@ msgstr "Libérez un slot ou augmentez max_replication_slots."
 msgid "replication slot \"%s\" does not exist"
 msgstr "le slot de réplication « %s » n'existe pas"
 
-#: replication/slot.c:390 replication/slot.c:939
+#: replication/slot.c:390 replication/slot.c:940
 #, c-format
 msgid "replication slot \"%s\" is active for PID %d"
 msgstr "le slot de réplication « %s » est actif pour le PID %d"
 
-#: replication/slot.c:623 replication/slot.c:1120 replication/slot.c:1469
+#: replication/slot.c:624 replication/slot.c:1121 replication/slot.c:1470
 #, c-format
 msgid "could not remove directory \"%s\""
 msgstr "n'a pas pu supprimer le répertoire « %s »"
 
-#: replication/slot.c:969
+#: replication/slot.c:970
 #, 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:974
+#: replication/slot.c:975
 #, c-format
 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 >= replica"
 
-#: replication/slot.c:1399 replication/slot.c:1439
+#: replication/slot.c:1400 replication/slot.c:1440
 #, 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:1408
+#: replication/slot.c:1409
 #, 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:1415
+#: replication/slot.c:1416
 #, 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:1422
+#: replication/slot.c:1423
 #, 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:1454
+#: replication/slot.c:1455
 #, 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:1507
+#: replication/slot.c:1508
 #, c-format
 msgid "too many replication slots active before shutdown"
 msgstr "trop de slots de réplication actifs avant l'arrêt"
@@ -17528,193 +17598,193 @@ msgstr "le nombre de standbys synchrones (%d) doit être supérieur à zéro"
 msgid "terminating walreceiver process due to administrator command"
 msgstr "arrêt du processus walreceiver suite à la demande de l'administrateur"
 
-#: replication/walreceiver.c:300
+#: replication/walreceiver.c:306
 #, c-format
 msgid "could not connect to the primary server: %s"
 msgstr "n'a pas pu se connecter au serveur principal : %s"
 
-#: replication/walreceiver.c:339
+#: replication/walreceiver.c:345
 #, c-format
 msgid "database system identifier differs between the primary and standby"
 msgstr ""
 "l'identifiant du système de bases de données diffère entre le serveur principal\n"
 "et le serveur en attente"
 
-#: replication/walreceiver.c:340
+#: replication/walreceiver.c:346
 #, c-format
 msgid "The primary's identifier is %s, the standby's identifier is %s."
 msgstr ""
 "L'identifiant du serveur principal est %s, l'identifiant du serveur en attente\n"
 "est %s."
 
-#: replication/walreceiver.c:351
+#: replication/walreceiver.c:357
 #, 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:387
+#: replication/walreceiver.c:393
 #, 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:392
+#: replication/walreceiver.c:398
 #, 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:421
+#: replication/walreceiver.c:427
 #, 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:458
+#: replication/walreceiver.c:464
 #, c-format
 msgid "replication terminated by primary server"
 msgstr "réplication terminée par le serveur primaire"
 
-#: replication/walreceiver.c:459
+#: replication/walreceiver.c:465
 #, 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:554
+#: replication/walreceiver.c:560
 #, 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:594
+#: replication/walreceiver.c:600
 #, 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:609 replication/walreceiver.c:968
+#: replication/walreceiver.c:615 replication/walreceiver.c:974
 #, 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:734
+#: replication/walreceiver.c:740
 #, 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:1022
+#: replication/walreceiver.c:1028
 #, 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:490
+#: replication/walsender.c:491
 #, 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:531
+#: replication/walsender.c:532
 #, c-format
 msgid "IDENTIFY_SYSTEM has not been run before START_REPLICATION"
 msgstr "IDENTIFY_SYSTEM n'a pas été exécuté avant START_REPLICATION"
 
-#: replication/walsender.c:548
+#: replication/walsender.c:549
 #, 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:611
+#: replication/walsender.c:612
 #, 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:615
+#: replication/walsender.c:616
 #, 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:660
+#: replication/walsender.c:661
 #, 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:889
+#: replication/walsender.c:890
 #, c-format
 msgid "CREATE_REPLICATION_SLOT ... EXPORT_SNAPSHOT must not be called inside a transaction"
 msgstr "CREATE_REPLICATION_SLOT ... EXPORT_SNAPSHOT ne doit pas être appelé dans une sous-transaction"
 
-#: replication/walsender.c:898
+#: replication/walsender.c:899
 #, c-format
 msgid "CREATE_REPLICATION_SLOT ... USE_SNAPSHOT must be called inside a transaction"
 msgstr "CREATE_REPLICATION_SLOT ... USE_SNAPSHOT doit être appelé dans une transaction"
 
-#: replication/walsender.c:903
+#: replication/walsender.c:904
 #, c-format
 msgid "CREATE_REPLICATION_SLOT ... USE_SNAPSHOT must be called in REPEATABLE READ isolation mode transaction"
 msgstr "CREATE_REPLICATION_SLOT ... USE_SNAPSHOT doit être appelé dans le niveau d'isolation REPEATABLE READ"
 
-#: replication/walsender.c:908
+#: replication/walsender.c:909
 #, c-format
 msgid "CREATE_REPLICATION_SLOT ... USE_SNAPSHOT must be called before any query"
 msgstr "CREATE_REPLICATION_SLOT ... USE_SNAPSHOT  doit être appelé avant toute requête"
 
-#: replication/walsender.c:913
+#: replication/walsender.c:914
 #, c-format
 msgid "CREATE_REPLICATION_SLOT ... USE_SNAPSHOT must not be called in a subtransaction"
 msgstr "CREATE_REPLICATION_SLOT ... USE_SNAPSHOT ne doit pas être appelé dans une sous-transaction"
 
-#: replication/walsender.c:1059
+#: replication/walsender.c:1060
 #, c-format
 msgid "terminating walsender process after promotion"
 msgstr "arrêt du processus walreceiver suite promotion"
 
-#: replication/walsender.c:1437
+#: replication/walsender.c:1446
 #, c-format
 msgid "cannot execute new commands while WAL sender is in stopping mode"
 msgstr "ne peut pas exécuter de nouvelles commandes alors que le walsender est en mode d'arrêt"
 
-#: replication/walsender.c:1470
+#: replication/walsender.c:1479
 #, c-format
 msgid "received replication command: %s"
 msgstr "commande de réplication reçu : %s"
 
-#: replication/walsender.c:1486 tcop/fastpath.c:281 tcop/postgres.c:997 tcop/postgres.c:1307 tcop/postgres.c:1566 tcop/postgres.c:1971 tcop/postgres.c:2339 tcop/postgres.c:2414
+#: replication/walsender.c:1495 tcop/fastpath.c:281 tcop/postgres.c:997 tcop/postgres.c:1307 tcop/postgres.c:1566 tcop/postgres.c:1971 tcop/postgres.c:2339 tcop/postgres.c:2414
 #, c-format
 msgid "current transaction is aborted, commands ignored until end of transaction block"
 msgstr ""
 "la transaction est annulée, les commandes sont ignorées jusqu'à la fin du bloc\n"
 "de la transaction"
 
-#: replication/walsender.c:1548
+#: replication/walsender.c:1560
 #, c-format
-msgid "not connected to database"
-msgstr "non connecté à une base de données"
+msgid "cannot execute SQL commands in WAL sender for physical replication"
+msgstr "ne peut pas exécuter des commandes SQL dans le walsender pour la réplication physique"
 
-#: replication/walsender.c:1588 replication/walsender.c:1604
+#: replication/walsender.c:1606 replication/walsender.c:1622
 #, c-format
 msgid "unexpected EOF on standby connection"
 msgstr "fin de fichier (EOF) inattendue de la connexion du serveur en attente"
 
-#: replication/walsender.c:1618
+#: replication/walsender.c:1636
 #, 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:1656
+#: replication/walsender.c:1674
 #, c-format
 msgid "invalid standby message type \"%c\""
 msgstr "type de message « %c » invalide pour le serveur en standby"
 
-#: replication/walsender.c:1697
+#: replication/walsender.c:1715
 #, c-format
 msgid "unexpected message type \"%c\""
 msgstr "type de message « %c » inattendu"
 
-#: replication/walsender.c:2067
+#: replication/walsender.c:2085
 #, 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:2156
+#: replication/walsender.c:2171
 #, 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:2263
+#: replication/walsender.c:2278
 #, c-format
 msgid "number of requested standby connections exceeds max_wal_senders (currently %d)"
 msgstr ""
@@ -17792,13 +17862,13 @@ msgstr "la règle de la vue pour « %s » doit être nommée « %s »"
 
 #: rewrite/rewriteDefine.c:428
 #, c-format
-msgid "could not convert partitioned table \"%s\" to a view"
-msgstr "n'a pas pu convertir la table partitionnée « %s » en une vue"
+msgid "cannot convert partitioned table \"%s\" to a view"
+msgstr "ne peut pas convertir la table partitionnée « %s » en une vue"
 
 #: rewrite/rewriteDefine.c:434
 #, c-format
-msgid "could not convert partition \"%s\" to a view"
-msgstr "n'a pas pu convertir la partition « %s » en une vue"
+msgid "cannot convert partition \"%s\" to a view"
+msgstr "ne peut pas convertir la partition « %s » en une vue"
 
 #: rewrite/rewriteDefine.c:442
 #, c-format
@@ -17932,197 +18002,197 @@ msgstr "la règle « %s » de la relation « %s » n'existe pas"
 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:543
+#: rewrite/rewriteHandler.c:541
 #, 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:603
+#: rewrite/rewriteHandler.c:601
 #, 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:818
+#: rewrite/rewriteHandler.c:823
 #, c-format
 msgid "cannot insert into column \"%s\""
 msgstr "ne peut pas insérer dans la colonne « %s »"
 
-#: rewrite/rewriteHandler.c:819 rewrite/rewriteHandler.c:834
+#: rewrite/rewriteHandler.c:824 rewrite/rewriteHandler.c:839
 #, c-format
 msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS."
 msgstr "La colonne « %s » est une colonne d'identité définie comme GENERATED ALWAYS."
 
-#: rewrite/rewriteHandler.c:821
+#: rewrite/rewriteHandler.c:826
 #, c-format
 msgid "Use OVERRIDING SYSTEM VALUE to override."
 msgstr "Utilisez OVERRIDING SYSTEM VALUE pour surcharger."
 
-#: rewrite/rewriteHandler.c:833
+#: rewrite/rewriteHandler.c:838
 #, c-format
 msgid "column \"%s\" can only be updated to DEFAULT"
 msgstr "la colonne « %s » peut seulement être mise à jour en DEFAULT"
 
-#: rewrite/rewriteHandler.c:1005 rewrite/rewriteHandler.c:1023
+#: rewrite/rewriteHandler.c:1000 rewrite/rewriteHandler.c:1018
 #, c-format
 msgid "multiple assignments to same column \"%s\""
 msgstr "affectations multiples pour la même colonne « %s »"
 
-#: rewrite/rewriteHandler.c:1809 rewrite/rewriteHandler.c:3431
+#: rewrite/rewriteHandler.c:1818 rewrite/rewriteHandler.c:3419
 #, 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:1895
+#: rewrite/rewriteHandler.c:1904
 #, 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:2212
+#: rewrite/rewriteHandler.c:2221
 msgid "Junk view columns are not updatable."
 msgstr "Les colonnes « junk » des vues ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2217
+#: rewrite/rewriteHandler.c:2226
 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:2220
+#: rewrite/rewriteHandler.c:2229
 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:2223
+#: rewrite/rewriteHandler.c:2232
 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:2281
+#: rewrite/rewriteHandler.c:2290
 msgid "Views containing DISTINCT are not automatically updatable."
 msgstr "Les vues contenant DISTINCT ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2284
+#: rewrite/rewriteHandler.c:2293
 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:2287
+#: rewrite/rewriteHandler.c:2296
 msgid "Views containing HAVING are not automatically updatable."
 msgstr "Les vues contenant HAVING ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2290
+#: rewrite/rewriteHandler.c:2299
 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:2293
+#: rewrite/rewriteHandler.c:2302
 msgid "Views containing WITH are not automatically updatable."
 msgstr "Les vues contenant WITH ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2296
+#: rewrite/rewriteHandler.c:2305
 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:2308
+#: rewrite/rewriteHandler.c:2317
 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:2311
+#: rewrite/rewriteHandler.c:2320
 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:2314
+#: rewrite/rewriteHandler.c:2323
 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:2321 rewrite/rewriteHandler.c:2325 rewrite/rewriteHandler.c:2333
+#: rewrite/rewriteHandler.c:2330 rewrite/rewriteHandler.c:2334 rewrite/rewriteHandler.c:2342
 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:2336
+#: rewrite/rewriteHandler.c:2345
 msgid "Views containing TABLESAMPLE are not automatically updatable."
 msgstr "Les vues contenant TABLESAMPLE ne sont pas automatiquement disponibles en écriture."
 
-#: rewrite/rewriteHandler.c:2360
+#: rewrite/rewriteHandler.c:2369
 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:2814
+#: rewrite/rewriteHandler.c:2823
 #, 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:2822
+#: rewrite/rewriteHandler.c:2831
 #, 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:3225
+#: rewrite/rewriteHandler.c:3214
 #, 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:3239
+#: rewrite/rewriteHandler.c:3228
 #, 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:3243
+#: rewrite/rewriteHandler.c:3232
 #, 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:3248
+#: rewrite/rewriteHandler.c:3237
 #, 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:3468
+#: rewrite/rewriteHandler.c:3456
 #, 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:3470
+#: rewrite/rewriteHandler.c:3458
 #, 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:3475
+#: rewrite/rewriteHandler.c:3463
 #, 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:3477
+#: rewrite/rewriteHandler.c:3465
 #, 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:3482
+#: rewrite/rewriteHandler.c:3470
 #, 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:3484
+#: rewrite/rewriteHandler.c:3472
 #, 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:3502
+#: rewrite/rewriteHandler.c:3490
 #, 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:3559
+#: rewrite/rewriteHandler.c:3547
 #, 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"
@@ -18170,7 +18240,7 @@ msgstr ""
 msgid "invalid Unicode escape character"
 msgstr "chaîne d'échappement Unicode invalide"
 
-#: scan.l:605 scan.l:613 scan.l:621 scan.l:622 scan.l:623 scan.l:1337 scan.l:1364 scan.l:1368 scan.l:1406 scan.l:1410 scan.l:1432 scan.l:1442
+#: scan.l:605 scan.l:613 scan.l:621 scan.l:622 scan.l:623 scan.l:1338 scan.l:1365 scan.l:1369 scan.l:1407 scan.l:1411 scan.l:1433 scan.l:1443
 msgid "invalid Unicode surrogate pair"
 msgstr "paire surrogate Unicode invalide"
 
@@ -18213,56 +18283,56 @@ msgid "operator too long"
 msgstr "opérateur trop long"
 
 #. translator: %s is typically the translation of "syntax error"
-#: scan.l:1077
+#: 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:1085
+#: scan.l:1086
 #, c-format
 msgid "%s at or near \"%s\""
 msgstr "%s sur ou près de « %s »"
 
-#: scan.l:1251 scan.l:1283
+#: 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:1279 scan.l:1424
+#: scan.l:1280 scan.l:1425
 msgid "invalid Unicode escape value"
 msgstr "valeur d'échappement Unicode invalide"
 
-#: scan.l:1488
+#: scan.l:1489
 #, c-format
 msgid "nonstandard use of \\' in a string literal"
 msgstr "utilisation non standard de \\' dans une chaîne littérale"
 
-#: scan.l:1489
+#: scan.l:1490
 #, 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:1498
+#: scan.l:1499
 #, c-format
 msgid "nonstandard use of \\\\ in a string literal"
 msgstr "utilisation non standard de \\\\ dans une chaîne littérale"
 
-#: scan.l:1499
+#: scan.l:1500
 #, 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:1513
+#: scan.l:1514
 #, 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:1514
+#: scan.l:1515
 #, c-format
 msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'."
 msgstr ""
@@ -18304,7 +18374,7 @@ msgstr "tableau d'éléments de longueur zéro invalide dans MVDependencies"
 msgid "cannot accept a value of type %s"
 msgstr "ne peut pas accepter une valeur de type %s"
 
-#: statistics/extended_stats.c:102
+#: statistics/extended_stats.c:103
 #, c-format
 msgid "statistics object \"%s.%s\" could not be computed for relation \"%s.%s\""
 msgstr "l'objet de statistiques « %s.%s » n'a pas pu être calculé pour la relation « %s.%s »"
@@ -18312,7 +18382,7 @@ msgstr "l'objet de statistiques « %s.%s » n'a pas pu être calculé pour la re
 #: statistics/mvdistinct.c:259
 #, c-format
 msgid "invalid ndistinct magic %08x (expected %08x)"
-msgstr ""
+msgstr "nombre magique ndistinct invalide %08x (attendu %08x)"
 
 #: statistics/mvdistinct.c:264
 #, c-format
@@ -18327,7 +18397,7 @@ msgstr "tableau d'élément de longueur zéro invalide dans MVNDistinct"
 #: statistics/mvdistinct.c:278
 #, c-format
 msgid "invalid MVNDistinct size %zd (expected at least %zd)"
-msgstr ""
+msgstr "taille MVNDistinct %zd invalide (attendue au moins %zd)"
 
 #: storage/buffer/bufmgr.c:544 storage/buffer/bufmgr.c:657
 #, c-format
@@ -18368,7 +18438,7 @@ msgstr "Échecs multiples --- l'erreur d'écriture pourrait être permanent."
 msgid "writing block %u of relation %s"
 msgstr "écriture du bloc %u de la relation %s"
 
-#: storage/buffer/bufmgr.c:4356
+#: storage/buffer/bufmgr.c:4358
 #, c-format
 msgid "snapshot too old"
 msgstr "snapshot trop ancien"
@@ -18383,72 +18453,72 @@ msgstr "aucun tampon local vide disponible"
 msgid "cannot access temporary tables during a parallel operation"
 msgstr "ne peut pas accéder à des tables temporaires pendant une opération parallèle"
 
-#: storage/file/fd.c:443 storage/file/fd.c:515 storage/file/fd.c:551
+#: storage/file/fd.c:442 storage/file/fd.c:514 storage/file/fd.c:550
 #, c-format
 msgid "could not flush dirty data: %m"
 msgstr "n'a pas pu vider les données modifiées : %m"
 
-#: storage/file/fd.c:473
+#: storage/file/fd.c:472
 #, c-format
 msgid "could not determine dirty data size: %m"
 msgstr "n'a pas pu déterminer la taille des données modifiées : %m"
 
-#: storage/file/fd.c:525
+#: storage/file/fd.c:524
 #, c-format
 msgid "could not munmap() while flushing data: %m"
 msgstr "n'a pas exécuter munmap() durant la synchronisation des données : %m"
 
-#: storage/file/fd.c:726
+#: storage/file/fd.c:725
 #, 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:820
+#: storage/file/fd.c:819
 #, c-format
 msgid "getrlimit failed: %m"
 msgstr "échec de getrlimit : %m"
 
-#: storage/file/fd.c:910
+#: storage/file/fd.c:909
 #, 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:911
+#: storage/file/fd.c:910
 #, 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:952 storage/file/fd.c:2129 storage/file/fd.c:2222 storage/file/fd.c:2370
+#: storage/file/fd.c:951 storage/file/fd.c:2134 storage/file/fd.c:2227 storage/file/fd.c:2379
 #, 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:1557
+#: storage/file/fd.c:1562
 #, c-format
 msgid "temporary file: path \"%s\", size %lu"
 msgstr "fichier temporaire : chemin « %s », taille %lu"
 
-#: storage/file/fd.c:1760
+#: storage/file/fd.c:1765
 #, 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:2105 storage/file/fd.c:2155
+#: storage/file/fd.c:2110 storage/file/fd.c:2160
 #, 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:2195
+#: storage/file/fd.c:2200
 #, 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:2346
+#: storage/file/fd.c:2355
 #, 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:2432 utils/adt/genfile.c:511
+#: storage/file/fd.c:2446 utils/adt/genfile.c:511
 #, c-format
 msgid "could not read directory \"%s\": %m"
 msgstr "n'a pas pu lire le répertoire « %s » : %m"
@@ -18478,67 +18548,67 @@ msgstr "le segment contrôle de mémoire partagée dynamique n'est pas valide"
 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:819 storage/ipc/dsm_impl.c:963
+#: storage/ipc/dsm_impl.c:262 storage/ipc/dsm_impl.c:363 storage/ipc/dsm_impl.c:580 storage/ipc/dsm_impl.c:695 storage/ipc/dsm_impl.c:866 storage/ipc/dsm_impl.c:1010
 #, 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:829
+#: storage/ipc/dsm_impl.c:272 storage/ipc/dsm_impl.c:590 storage/ipc/dsm_impl.c:705 storage/ipc/dsm_impl.c:876
 #, 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:729 storage/ipc/dsm_impl.c:843
+#: storage/ipc/dsm_impl.c:293 storage/ipc/dsm_impl.c:776 storage/ipc/dsm_impl.c:890
 #, 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:774 storage/ipc/dsm_impl.c:867
+#: storage/ipc/dsm_impl.c:317 storage/ipc/dsm_impl.c:606 storage/ipc/dsm_impl.c:821 storage/ipc/dsm_impl.c:914
 #, 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:886 storage/ipc/dsm_impl.c:936
+#: storage/ipc/dsm_impl.c:337 storage/ipc/dsm_impl.c:933 storage/ipc/dsm_impl.c:983
 #, 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:750 storage/ipc/dsm_impl.c:987
+#: storage/ipc/dsm_impl.c:387 storage/ipc/dsm_impl.c:627 storage/ipc/dsm_impl.c:797 storage/ipc/dsm_impl.c:1034
 #, 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"
 
-#: storage/ipc/dsm_impl.c:515
+#: storage/ipc/dsm_impl.c:562
 #, c-format
 msgid "could not get shared memory segment: %m"
 msgstr "n'a pas pu obtenir le segment de mémoire partagée : %m"
 
-#: storage/ipc/dsm_impl.c:714
+#: storage/ipc/dsm_impl.c:761
 #, c-format
 msgid "could not create shared memory segment \"%s\": %m"
 msgstr "n'a pas pu créer le segment de mémoire partagée « %s » : %m"
 
-#: storage/ipc/dsm_impl.c:1029 storage/ipc/dsm_impl.c:1077
+#: storage/ipc/dsm_impl.c:1076 storage/ipc/dsm_impl.c:1124
 #, c-format
 msgid "could not duplicate handle for \"%s\": %m"
 msgstr "n'a pas pu dupliquer le lien pour « %s » : %m"
 
-#: storage/ipc/latch.c:828
+#: storage/ipc/latch.c:829
 #, c-format
 msgid "epoll_ctl() failed: %m"
 msgstr "échec de epoll_ctl() : %m"
 
-#: storage/ipc/latch.c:1057
+#: storage/ipc/latch.c:1060
 #, c-format
 msgid "epoll_wait() failed: %m"
 msgstr "échec de epoll_wait() : %m"
 
-#: storage/ipc/latch.c:1179
+#: storage/ipc/latch.c:1182
 #, c-format
 msgid "poll() failed: %m"
 msgstr "échec de poll() : %m"
 
-#: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:190 storage/lmgr/lock.c:883 storage/lmgr/lock.c:917 storage/lmgr/lock.c:2679 storage/lmgr/lock.c:4004 storage/lmgr/lock.c:4069 storage/lmgr/lock.c:4361 storage/lmgr/predicate.c:2399 storage/lmgr/predicate.c:2414 storage/lmgr/predicate.c:3806 storage/lmgr/predicate.c:4949 utils/hash/dynahash.c:1061
+#: storage/ipc/shm_toc.c:108 storage/ipc/shm_toc.c:190 storage/lmgr/lock.c:883 storage/lmgr/lock.c:917 storage/lmgr/lock.c:2679 storage/lmgr/lock.c:4004 storage/lmgr/lock.c:4069 storage/lmgr/lock.c:4361 storage/lmgr/predicate.c:2401 storage/lmgr/predicate.c:2416 storage/lmgr/predicate.c:3808 storage/lmgr/predicate.c:4951 utils/hash/dynahash.c:1061
 #, c-format
 msgid "out of shared memory"
 msgstr "mémoire partagée épuisée"
@@ -18568,7 +18638,7 @@ msgstr "pas assez de mémoire partagée pour la structure de données « %s » (
 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:531 tcop/postgres.c:2985
+#: storage/ipc/standby.c:531 tcop/postgres.c:2983
 #, c-format
 msgid "canceling statement due to conflict with recovery"
 msgstr "annulation de la requête à cause d'un conflit avec la restauration"
@@ -18618,97 +18688,97 @@ msgstr "Bloquage mortel détecté"
 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:719
+#: storage/lmgr/lmgr.c:745
 #, 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:722
+#: storage/lmgr/lmgr.c:748
 #, 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:725
+#: storage/lmgr/lmgr.c:751
 #, 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:728
+#: storage/lmgr/lmgr.c:754
 #, 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:731
+#: storage/lmgr/lmgr.c:757
 #, 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:734
+#: storage/lmgr/lmgr.c:760
 #, 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:737
+#: storage/lmgr/lmgr.c:763
 #, 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:740
+#: storage/lmgr/lmgr.c:766
 #, 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:960
+#: storage/lmgr/lmgr.c:986
 #, c-format
 msgid "relation %u of database %u"
 msgstr "relation %u de la base de données %u"
 
-#: storage/lmgr/lmgr.c:966
+#: storage/lmgr/lmgr.c:992
 #, 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:972
+#: storage/lmgr/lmgr.c:998
 #, 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:979
+#: storage/lmgr/lmgr.c:1005
 #, 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:987
+#: storage/lmgr/lmgr.c:1013
 #, c-format
 msgid "transaction %u"
 msgstr "transaction %u"
 
-#: storage/lmgr/lmgr.c:992
+#: storage/lmgr/lmgr.c:1018
 #, c-format
 msgid "virtual transaction %d/%u"
 msgstr "transaction virtuelle %d/%u"
 
-#: storage/lmgr/lmgr.c:998
+#: storage/lmgr/lmgr.c:1024
 #, c-format
 msgid "speculative token %u of transaction %u"
 msgstr "jeton spéculatif %u de la transaction %u"
 
-#: storage/lmgr/lmgr.c:1004
+#: storage/lmgr/lmgr.c:1030
 #, 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:1012
+#: storage/lmgr/lmgr.c:1038
 #, c-format
 msgid "user lock [%u,%u,%u]"
 msgstr "verrou utilisateur [%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:1019
+#: storage/lmgr/lmgr.c:1045
 #, c-format
 msgid "advisory lock [%u,%u,%u,%u]"
 msgstr "verrou informatif [%u,%u,%u,%u]"
 
-#: storage/lmgr/lmgr.c:1027
+#: storage/lmgr/lmgr.c:1053
 #, c-format
 msgid "unrecognized locktag type %d"
 msgstr "type locktag non reconnu %d"
@@ -18737,80 +18807,80 @@ msgstr "Vous pourriez avoir besoin d'augmenter max_locks_per_transaction."
 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"
 
-#: storage/lmgr/predicate.c:684
+#: storage/lmgr/predicate.c:686
 #, c-format
 msgid "not enough elements in RWConflictPool to record a read/write conflict"
 msgstr "pas assez d'éléments dans RWConflictPool pour enregistrer un conflit en lecture/écriture"
 
-#: storage/lmgr/predicate.c:685 storage/lmgr/predicate.c:713
+#: storage/lmgr/predicate.c:687 storage/lmgr/predicate.c:715
 #, c-format
 msgid "You might need to run fewer transactions at a time or increase max_connections."
 msgstr ""
 "Il est possible que vous ayez à exécuter moins de transactions à la fois\n"
 "ou d'augmenter max_connections."
 
-#: storage/lmgr/predicate.c:712
+#: storage/lmgr/predicate.c:714
 #, c-format
 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:919
+#: storage/lmgr/predicate.c:921
 #, 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:920
+#: storage/lmgr/predicate.c:922
 #, 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:1559
+#: storage/lmgr/predicate.c:1561
 #, 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:1648
+#: storage/lmgr/predicate.c:1650
 #, c-format
 msgid "\"default_transaction_isolation\" is set to \"serializable\"."
 msgstr "« default_transaction_isolation » est configuré à « serializable »."
 
-#: storage/lmgr/predicate.c:1649
+#: storage/lmgr/predicate.c:1651
 #, 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:1689
+#: storage/lmgr/predicate.c:1691
 #, 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:1769 utils/time/snapmgr.c:621 utils/time/snapmgr.c:627
+#: storage/lmgr/predicate.c:1771 utils/time/snapmgr.c:621 utils/time/snapmgr.c:627
 #, c-format
 msgid "could not import the requested snapshot"
 msgstr "n'a pas pu importer le snapshot demandé"
 
-#: storage/lmgr/predicate.c:1770 utils/time/snapmgr.c:628
+#: storage/lmgr/predicate.c:1772 utils/time/snapmgr.c:628
 #, c-format
-msgid "The source process with pid %d is not running anymore."
+msgid "The source process with PID %d is not running anymore."
 msgstr "Le processus source de PID %d n'est plus en cours d'exécution."
 
-#: storage/lmgr/predicate.c:2400 storage/lmgr/predicate.c:2415 storage/lmgr/predicate.c:3807
+#: storage/lmgr/predicate.c:2402 storage/lmgr/predicate.c:2417 storage/lmgr/predicate.c:3809
 #, 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:3961 storage/lmgr/predicate.c:4050 storage/lmgr/predicate.c:4058 storage/lmgr/predicate.c:4097 storage/lmgr/predicate.c:4336 storage/lmgr/predicate.c:4673 storage/lmgr/predicate.c:4685 storage/lmgr/predicate.c:4727 storage/lmgr/predicate.c:4765
+#: storage/lmgr/predicate.c:3963 storage/lmgr/predicate.c:4052 storage/lmgr/predicate.c:4060 storage/lmgr/predicate.c:4099 storage/lmgr/predicate.c:4338 storage/lmgr/predicate.c:4675 storage/lmgr/predicate.c:4687 storage/lmgr/predicate.c:4729 storage/lmgr/predicate.c:4767
 #, 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:3963 storage/lmgr/predicate.c:4052 storage/lmgr/predicate.c:4060 storage/lmgr/predicate.c:4099 storage/lmgr/predicate.c:4338 storage/lmgr/predicate.c:4675 storage/lmgr/predicate.c:4687 storage/lmgr/predicate.c:4729 storage/lmgr/predicate.c:4767
+#: storage/lmgr/predicate.c:3965 storage/lmgr/predicate.c:4054 storage/lmgr/predicate.c:4062 storage/lmgr/predicate.c:4101 storage/lmgr/predicate.c:4340 storage/lmgr/predicate.c:4677 storage/lmgr/predicate.c:4689 storage/lmgr/predicate.c:4731 storage/lmgr/predicate.c:4769
 #, c-format
 msgid "The transaction might succeed if retried."
 msgstr "La transaction pourrait réussir après une nouvelle tentative."
@@ -19021,7 +19091,7 @@ msgstr "format des données binaires incorrect dans l'argument de la fonction %d
 msgid "unexpected EOF on client connection"
 msgstr "fin de fichier (EOF) inattendue de la connexion du client"
 
-#: tcop/postgres.c:432 tcop/postgres.c:444 tcop/postgres.c:455 tcop/postgres.c:467 tcop/postgres.c:4316
+#: tcop/postgres.c:432 tcop/postgres.c:444 tcop/postgres.c:455 tcop/postgres.c:467 tcop/postgres.c:4314
 #, c-format
 msgid "invalid frontend message type %d"
 msgstr "type %d du message de l'interface invalide"
@@ -19192,10 +19262,9 @@ msgid "terminating autovacuum process due to administrator command"
 msgstr "arrêt du processus autovacuum suite à la demande de l'administrateur"
 
 #: tcop/postgres.c:2851
-#, fuzzy, c-format
-#| msgid "terminating connection due to administrator command"
+#, c-format
 msgid "terminating logical replication worker due to administrator command"
-msgstr "arrêt des connexions suite à la demande de l'administrateur"
+msgstr "arrêt des processus workers de réplication logique suite à la demande de l'administrateur"
 
 #: tcop/postgres.c:2855
 #, c-format
@@ -19217,37 +19286,37 @@ msgstr "arrêt des connexions suite à la demande de l'administrateur"
 msgid "connection to client lost"
 msgstr "connexion au client perdue"
 
-#: tcop/postgres.c:2962
+#: tcop/postgres.c:2960
 #, 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:2969
+#: tcop/postgres.c:2967
 #, 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:2976
+#: tcop/postgres.c:2974
 #, c-format
 msgid "canceling autovacuum task"
 msgstr "annulation de la tâche d'autovacuum"
 
-#: tcop/postgres.c:2999
+#: tcop/postgres.c:2997
 #, c-format
 msgid "canceling statement due to user request"
 msgstr "annulation de la requête à la demande de l'utilisateur"
 
-#: tcop/postgres.c:3009
+#: tcop/postgres.c:3007
 #, c-format
 msgid "terminating connection due to idle-in-transaction timeout"
 msgstr "arrêt des connexions suite à l'expiration du délai d'inactivité en transaction"
 
-#: tcop/postgres.c:3123
+#: tcop/postgres.c:3121
 #, c-format
 msgid "stack depth limit exceeded"
 msgstr "dépassement de limite (en profondeur) de la pile"
 
-#: tcop/postgres.c:3124
+#: tcop/postgres.c:3122
 #, c-format
 msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate."
 msgstr ""
@@ -19255,59 +19324,59 @@ msgstr ""
 "être assuré que la limite de profondeur de la pile de la plateforme est\n"
 "adéquate."
 
-#: tcop/postgres.c:3187
+#: tcop/postgres.c:3185
 #, c-format
 msgid "\"max_stack_depth\" must not exceed %ldkB."
 msgstr "« max_stack_depth » ne doit pas dépasser %ld Ko."
 
-#: tcop/postgres.c:3189
+#: tcop/postgres.c:3187
 #, 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:3549
+#: tcop/postgres.c:3547
 #, 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:3550 tcop/postgres.c:3556
+#: tcop/postgres.c:3548 tcop/postgres.c:3554
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Essayez « %s --help » pour plus d'informations."
 
-#: tcop/postgres.c:3554
+#: tcop/postgres.c:3552
 #, c-format
 msgid "%s: invalid command-line argument: %s"
 msgstr "%s : argument invalide en ligne de commande : %s"
 
-#: tcop/postgres.c:3616
+#: tcop/postgres.c:3614
 #, 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:4224
+#: tcop/postgres.c:4222
 #, c-format
 msgid "invalid CLOSE message subtype %d"
 msgstr "sous-type %d du message CLOSE invalide"
 
-#: tcop/postgres.c:4259
+#: tcop/postgres.c:4257
 #, c-format
 msgid "invalid DESCRIBE message subtype %d"
 msgstr "sous-type %d du message DESCRIBE invalide"
 
-#: tcop/postgres.c:4337
+#: tcop/postgres.c:4335
 #, 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:4341
+#: tcop/postgres.c:4339
 #, 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:4511
+#: tcop/postgres.c:4509
 #, c-format
 msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s"
 msgstr ""
@@ -19674,42 +19743,42 @@ msgstr "les tableaux d'ACL ne doivent pas contenir de valeurs NULL"
 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:1196
+#: utils/adt/acl.c:1198
 #, 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:1257
+#: utils/adt/acl.c:1259
 #, c-format
 msgid "dependent privileges exist"
 msgstr "des privilèges dépendants existent"
 
-#: utils/adt/acl.c:1258
+#: utils/adt/acl.c:1260
 #, c-format
 msgid "Use CASCADE to revoke them too."
 msgstr "Utilisez CASCADE pour les révoquer aussi."
 
-#: utils/adt/acl.c:1520
+#: utils/adt/acl.c:1522
 #, c-format
 msgid "aclinsert is no longer supported"
 msgstr "aclinsert n'est plus supporté"
 
-#: utils/adt/acl.c:1530
+#: utils/adt/acl.c:1532
 #, c-format
 msgid "aclremove is no longer supported"
 msgstr "aclremove n'est plus supporté"
 
-#: utils/adt/acl.c:1616 utils/adt/acl.c:1670
+#: utils/adt/acl.c:1618 utils/adt/acl.c:1672
 #, c-format
 msgid "unrecognized privilege type: \"%s\""
 msgstr "type de droit non reconnu : « %s »"
 
-#: utils/adt/acl.c:3410 utils/adt/regproc.c:102 utils/adt/regproc.c:277
+#: utils/adt/acl.c:3415 utils/adt/regproc.c:102 utils/adt/regproc.c:277
 #, c-format
 msgid "function \"%s\" does not exist"
 msgstr "la fonction « %s » n'existe pas"
 
-#: utils/adt/acl.c:4864
+#: utils/adt/acl.c:4869
 #, c-format
 msgid "must be member of role \"%s\""
 msgstr "doit être un membre du rôle « %s »"
@@ -19719,7 +19788,7 @@ msgstr "doit être un membre du rôle « %s »"
 msgid "array size exceeds the maximum allowed (%d)"
 msgstr "la taille du tableau dépasse le maximum permis (%d)"
 
-#: utils/adt/array_userfuncs.c:79 utils/adt/array_userfuncs.c:471 utils/adt/array_userfuncs.c:551 utils/adt/json.c:1764 utils/adt/json.c:1859 utils/adt/json.c:1897 utils/adt/jsonb.c:1127 utils/adt/jsonb.c:1156 utils/adt/jsonb.c:1592 utils/adt/jsonb.c:1756 utils/adt/jsonb.c:1766
+#: utils/adt/array_userfuncs.c:79 utils/adt/array_userfuncs.c:471 utils/adt/array_userfuncs.c:551 utils/adt/json.c:1765 utils/adt/json.c:1860 utils/adt/json.c:1898 utils/adt/jsonb.c:1128 utils/adt/jsonb.c:1157 utils/adt/jsonb.c:1549 utils/adt/jsonb.c:1713 utils/adt/jsonb.c:1723
 #, 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"
@@ -19730,7 +19799,7 @@ 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:132 utils/adt/array_userfuncs.c:186 utils/adt/arrayfuncs.c:1322 utils/adt/float.c:1228 utils/adt/float.c:1287 utils/adt/float.c:3556 utils/adt/float.c:3572 utils/adt/int.c:608 utils/adt/int.c:637 utils/adt/int.c:658 utils/adt/int.c:689 utils/adt/int.c:722 utils/adt/int.c:744 utils/adt/int.c:892 utils/adt/int.c:913 utils/adt/int.c:940 utils/adt/int.c:980 utils/adt/int.c:1001 utils/adt/int.c:1028
-#: utils/adt/int.c:1061 utils/adt/int.c:1144 utils/adt/int8.c:1298 utils/adt/numeric.c:2953 utils/adt/numeric.c:2962 utils/adt/varbit.c:1173 utils/adt/varbit.c:1575 utils/adt/varlena.c:1054 utils/adt/varlena.c:2953
+#: utils/adt/int.c:1061 utils/adt/int.c:1144 utils/adt/int8.c:1298 utils/adt/numeric.c:2953 utils/adt/numeric.c:2962 utils/adt/varbit.c:1173 utils/adt/varbit.c:1575 utils/adt/varlena.c:1054 utils/adt/varlena.c:2957
 #, c-format
 msgid "integer out of range"
 msgstr "entier en dehors des limites"
@@ -19893,7 +19962,7 @@ msgstr "aucune fonction de sortie binaire disponible pour le type %s"
 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: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:5738 utils/adt/arrayfuncs.c:5764 utils/adt/arrayfuncs.c:5775 utils/adt/json.c:2295 utils/adt/json.c:2370 utils/adt/jsonb.c:1370 utils/adt/jsonb.c:1456 utils/adt/jsonfuncs.c:4141 utils/adt/jsonfuncs.c:4292 utils/adt/jsonfuncs.c:4337 utils/adt/jsonfuncs.c:4384
+#: 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:5738 utils/adt/arrayfuncs.c:5764 utils/adt/arrayfuncs.c:5775 utils/adt/json.c:2259 utils/adt/json.c:2334 utils/adt/jsonb.c:1327 utils/adt/jsonb.c:1413 utils/adt/jsonfuncs.c:4158 utils/adt/jsonfuncs.c:4309 utils/adt/jsonfuncs.c:4354 utils/adt/jsonfuncs.c:4401
 #, c-format
 msgid "wrong number of array subscripts"
 msgstr "mauvais nombre d'indices du tableau"
@@ -20022,8 +20091,8 @@ msgstr "la conversion de l'encodage de %s vers l'ASCII n'est pas supportée"
 
 #. translator: first %s is inet or cidr
 #: utils/adt/bool.c:153 utils/adt/cash.c:278 utils/adt/datetime.c:3799 utils/adt/float.c:244 utils/adt/float.c:318 utils/adt/float.c:342 utils/adt/float.c:461 utils/adt/float.c:544 utils/adt/float.c:570 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:3430 utils/adt/geo_ops.c:4563 utils/adt/geo_ops.c:4579 utils/adt/geo_ops.c:4586 utils/adt/mac.c:94 utils/adt/mac8.c:93 utils/adt/mac8.c:166 utils/adt/mac8.c:184 utils/adt/mac8.c:202 utils/adt/mac8.c:221 utils/adt/nabstime.c:1539 utils/adt/network.c:58 utils/adt/numeric.c:593 utils/adt/numeric.c:620 utils/adt/numeric.c:5488 utils/adt/numeric.c:5512 utils/adt/numeric.c:5536 utils/adt/numeric.c:6338
-#: utils/adt/numeric.c:6364 utils/adt/oid.c:44 utils/adt/oid.c:58 utils/adt/oid.c:64 utils/adt/oid.c:86 utils/adt/pg_lsn.c:44 utils/adt/pg_lsn.c:50 utils/adt/tid.c:72 utils/adt/tid.c:80 utils/adt/tid.c:88 utils/adt/txid.c:405 utils/adt/uuid.c:136
+#: utils/adt/geo_ops.c:3430 utils/adt/geo_ops.c:4563 utils/adt/geo_ops.c:4579 utils/adt/geo_ops.c:4586 utils/adt/mac.c:94 utils/adt/mac8.c:93 utils/adt/mac8.c:166 utils/adt/mac8.c:184 utils/adt/mac8.c:202 utils/adt/mac8.c:221 utils/adt/nabstime.c:1539 utils/adt/network.c:58 utils/adt/numeric.c:593 utils/adt/numeric.c:620 utils/adt/numeric.c:5498 utils/adt/numeric.c:5522 utils/adt/numeric.c:5546 utils/adt/numeric.c:6348
+#: utils/adt/numeric.c:6374 utils/adt/oid.c:44 utils/adt/oid.c:58 utils/adt/oid.c:64 utils/adt/oid.c:86 utils/adt/pg_lsn.c:44 utils/adt/pg_lsn.c:50 utils/adt/tid.c:72 utils/adt/tid.c:80 utils/adt/tid.c:88 utils/adt/txid.c:405 utils/adt/uuid.c:136
 #, c-format
 msgid "invalid input syntax for type %s: \"%s\""
 msgstr "syntaxe en entrée invalide pour le type %s : « %s »"
@@ -20034,7 +20103,7 @@ msgid "value \"%s\" is out of range for type %s"
 msgstr "la valeur « %s » est en dehors des limites pour le type %s"
 
 #: utils/adt/cash.c:653 utils/adt/cash.c:703 utils/adt/cash.c:754 utils/adt/cash.c:803 utils/adt/cash.c:855 utils/adt/cash.c:905 utils/adt/float.c:855 utils/adt/float.c:919 utils/adt/float.c:3315 utils/adt/float.c:3378 utils/adt/geo_ops.c:4093 utils/adt/int.c:704 utils/adt/int.c:846 utils/adt/int.c:954 utils/adt/int.c:1043 utils/adt/int.c:1082 utils/adt/int.c:1110 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:6902 utils/adt/numeric.c:7191 utils/adt/numeric.c:8203 utils/adt/timestamp.c:3216
+#: utils/adt/int8.c:1005 utils/adt/int8.c:1094 utils/adt/int8.c:1202 utils/adt/numeric.c:6912 utils/adt/numeric.c:7201 utils/adt/numeric.c:8213 utils/adt/timestamp.c:3216
 #, c-format
 msgid "division by zero"
 msgstr "division par zéro"
@@ -20084,7 +20153,7 @@ msgstr "valeur du champ date en dehors des limites : %d-%02d-%02d"
 msgid "date out of range: %d-%02d-%02d"
 msgstr "date en dehors des limites : %d-%02d-%02d"
 
-#: utils/adt/date.c:327 utils/adt/date.c:350 utils/adt/date.c:376 utils/adt/date.c:1092 utils/adt/date.c:1138 utils/adt/date.c:1672 utils/adt/date.c:1703 utils/adt/date.c:1732 utils/adt/date.c:2469 utils/adt/datetime.c:1690 utils/adt/formatting.c:3460 utils/adt/formatting.c:3492 utils/adt/formatting.c:3560 utils/adt/json.c:1539 utils/adt/json.c:1561 utils/adt/jsonb.c:824 utils/adt/jsonb.c:848 utils/adt/nabstime.c:456 utils/adt/nabstime.c:499
+#: utils/adt/date.c:327 utils/adt/date.c:350 utils/adt/date.c:376 utils/adt/date.c:1092 utils/adt/date.c:1138 utils/adt/date.c:1672 utils/adt/date.c:1703 utils/adt/date.c:1732 utils/adt/date.c:2469 utils/adt/datetime.c:1690 utils/adt/formatting.c:3460 utils/adt/formatting.c:3492 utils/adt/formatting.c:3560 utils/adt/json.c:1540 utils/adt/json.c:1562 utils/adt/jsonb.c:825 utils/adt/jsonb.c:849 utils/adt/nabstime.c:456 utils/adt/nabstime.c:499
 #: utils/adt/nabstime.c:529 utils/adt/nabstime.c:572 utils/adt/timestamp.c:230 utils/adt/timestamp.c:262 utils/adt/timestamp.c:692 utils/adt/timestamp.c:701 utils/adt/timestamp.c:779 utils/adt/timestamp.c:812 utils/adt/timestamp.c:2795 utils/adt/timestamp.c:2816 utils/adt/timestamp.c:2829 utils/adt/timestamp.c:2838 utils/adt/timestamp.c:2846 utils/adt/timestamp.c:2901 utils/adt/timestamp.c:2924 utils/adt/timestamp.c:2937
 #: utils/adt/timestamp.c:2948 utils/adt/timestamp.c:2956 utils/adt/timestamp.c:3512 utils/adt/timestamp.c:3637 utils/adt/timestamp.c:3678 utils/adt/timestamp.c:3759 utils/adt/timestamp.c:3805 utils/adt/timestamp.c:3908 utils/adt/timestamp.c:4307 utils/adt/timestamp.c:4406 utils/adt/timestamp.c:4416 utils/adt/timestamp.c:4508 utils/adt/timestamp.c:4610 utils/adt/timestamp.c:4620 utils/adt/timestamp.c:4852 utils/adt/timestamp.c:4866
 #: utils/adt/timestamp.c:4871 utils/adt/timestamp.c:4885 utils/adt/timestamp.c:4930 utils/adt/timestamp.c:4962 utils/adt/timestamp.c:4969 utils/adt/timestamp.c:5002 utils/adt/timestamp.c:5006 utils/adt/timestamp.c:5075 utils/adt/timestamp.c:5079 utils/adt/timestamp.c:5093 utils/adt/timestamp.c:5127 utils/adt/xml.c:2111 utils/adt/xml.c:2118 utils/adt/xml.c:2138 utils/adt/xml.c:2145
@@ -20237,38 +20306,28 @@ msgstr "séquence base64 de fin invalide"
 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/json.c:785 utils/adt/json.c:825 utils/adt/json.c:841 utils/adt/json.c:853 utils/adt/json.c:863 utils/adt/json.c:914 utils/adt/json.c:946 utils/adt/json.c:965 utils/adt/json.c:977 utils/adt/json.c:989 utils/adt/json.c:1134 utils/adt/json.c:1148 utils/adt/json.c:1159 utils/adt/json.c:1167 utils/adt/json.c:1175 utils/adt/json.c:1183 utils/adt/json.c:1191 utils/adt/json.c:1199
-#: utils/adt/json.c:1207 utils/adt/json.c:1215 utils/adt/json.c:1245 utils/adt/varlena.c:296 utils/adt/varlena.c:337
+#: utils/adt/encode.c:442 utils/adt/encode.c:507 utils/adt/json.c:786 utils/adt/json.c:826 utils/adt/json.c:842 utils/adt/json.c:854 utils/adt/json.c:864 utils/adt/json.c:915 utils/adt/json.c:947 utils/adt/json.c:966 utils/adt/json.c:978 utils/adt/json.c:990 utils/adt/json.c:1135 utils/adt/json.c:1149 utils/adt/json.c:1160 utils/adt/json.c:1168 utils/adt/json.c:1176 utils/adt/json.c:1184 utils/adt/json.c:1192 utils/adt/json.c:1200
+#: utils/adt/json.c:1208 utils/adt/json.c:1216 utils/adt/json.c:1246 utils/adt/varlena.c:296 utils/adt/varlena.c:337
 #, c-format
 msgid "invalid input syntax for type %s"
 msgstr "syntaxe en entrée invalide pour le type %s"
 
-#: utils/adt/enum.c:115
-#, c-format
-msgid "unsafe use of new value \"%s\" of enum type %s"
-msgstr ""
-
-#: utils/adt/enum.c:118
-#, c-format
-msgid "New enum values must be committed before they can be used."
-msgstr "Les nouvelles valeurs enum doivent être validées (COMMIT) avant de pouvoir être utilisées."
-
-#: utils/adt/enum.c:136 utils/adt/enum.c:146 utils/adt/enum.c:204 utils/adt/enum.c:214
+#: 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 »"
 
-#: utils/adt/enum.c:176 utils/adt/enum.c:242 utils/adt/enum.c:301
+#: utils/adt/enum.c:85 utils/adt/enum.c:148 utils/adt/enum.c:207
 #, c-format
 msgid "invalid internal value for enum: %u"
 msgstr "valeur interne invalide pour le enum : %u"
 
-#: utils/adt/enum.c:461 utils/adt/enum.c:490 utils/adt/enum.c:530 utils/adt/enum.c:550
+#: utils/adt/enum.c:360 utils/adt/enum.c:389 utils/adt/enum.c:429 utils/adt/enum.c:449
 #, c-format
 msgid "could not determine actual enum type"
 msgstr "n'a pas pu déterminer le type enum actuel"
 
-#: utils/adt/enum.c:469 utils/adt/enum.c:498
+#: utils/adt/enum.c:368 utils/adt/enum.c:397
 #, c-format
 msgid "enum %s contains no values"
 msgstr "l'énumération « %s » ne contient aucune valeur"
@@ -20298,7 +20357,7 @@ msgstr "« %s » est en dehors des limites du type double precision"
 msgid "smallint out of range"
 msgstr "smallint en dehors des limites"
 
-#: utils/adt/float.c:1430 utils/adt/numeric.c:7624
+#: utils/adt/float.c:1430 utils/adt/numeric.c:7634
 #, c-format
 msgid "cannot take square root of a negative number"
 msgstr "ne peut pas calculer la racine carré d'un nombre négatif"
@@ -20313,12 +20372,12 @@ msgstr "zéro à une puissance négative est indéfini"
 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:1542 utils/adt/float.c:1572 utils/adt/numeric.c:7890
+#: utils/adt/float.c:1542 utils/adt/float.c:1572 utils/adt/numeric.c:7900
 #, c-format
 msgid "cannot take logarithm of zero"
 msgstr "ne peut pas calculer le logarithme de zéro"
 
-#: utils/adt/float.c:1546 utils/adt/float.c:1576 utils/adt/numeric.c:7894
+#: utils/adt/float.c:1546 utils/adt/float.c:1576 utils/adt/numeric.c:7904
 #, c-format
 msgid "cannot take logarithm of a negative number"
 msgstr "ne peut pas calculer le logarithme sur un nombre négatif"
@@ -20438,17 +20497,17 @@ msgstr "« %s » n'est pas un nombre"
 msgid "case conversion failed: %s"
 msgstr "échec de la conversion de casse : %s"
 
-#: utils/adt/formatting.c:1546
+#: utils/adt/formatting.c:1545
 #, 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:1670
+#: utils/adt/formatting.c:1669
 #, 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:1795
+#: utils/adt/formatting.c:1794
 #, 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()"
@@ -20704,8 +20763,8 @@ 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:105
 #, c-format
-msgid "invalid input syntax for %s: \"%s\""
-msgstr "syntaxe en entrée invalide pour le type %s : « %s »"
+msgid "invalid input syntax for integer: \"%s\""
+msgstr "syntaxe en entrée invalide pour l'entier : « %s »"
 
 #: 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:3005 utils/adt/varbit.c:1655
@@ -20718,174 +20777,174 @@ msgstr "bigint en dehors des limites"
 msgid "OID out of range"
 msgstr "OID en dehors des limites"
 
-#: utils/adt/json.c:786
+#: utils/adt/json.c:787
 #, c-format
 msgid "Character with value 0x%02x must be escaped."
 msgstr "Le caractère de valeur 0x%02x doit être échappé."
 
-#: utils/adt/json.c:827
+#: utils/adt/json.c:828
 #, c-format
 msgid "\"\\u\" must be followed by four hexadecimal digits."
 msgstr "« \\u » doit être suivi par quatre chiffres hexadécimaux."
 
-#: utils/adt/json.c:843
+#: utils/adt/json.c:844
 #, c-format
 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:854 utils/adt/json.c:864 utils/adt/json.c:916 utils/adt/json.c:978 utils/adt/json.c:990
+#: utils/adt/json.c:855 utils/adt/json.c:865 utils/adt/json.c:917 utils/adt/json.c:979 utils/adt/json.c:991
 #, c-format
 msgid "Unicode low surrogate must follow a high surrogate."
 msgstr "Une substitution unicode basse ne doit pas suivre une substitution haute."
 
-#: utils/adt/json.c:879 utils/adt/json.c:902
+#: utils/adt/json.c:880 utils/adt/json.c:903
 #, c-format
 msgid "unsupported Unicode escape sequence"
 msgstr "séquence d'échappement Unicode non supportée"
 
-#: utils/adt/json.c:880
+#: utils/adt/json.c:881
 #, c-format
 msgid "\\u0000 cannot be converted to text."
 msgstr "\\u0000 ne peut pas être converti en texte."
 
-#: utils/adt/json.c:903
+#: utils/adt/json.c:904
 #, c-format
 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 valeurs de point de code\n"
 "au-dessus de 007F quand l'encodage serveur n'est pas UTF8."
 
-#: utils/adt/json.c:948 utils/adt/json.c:966
+#: utils/adt/json.c:949 utils/adt/json.c:967
 #, c-format
 msgid "Escape sequence \"\\%s\" is invalid."
 msgstr "La séquence d'échappement « \\%s » est invalide."
 
-#: utils/adt/json.c:1135
+#: utils/adt/json.c:1136
 #, c-format
 msgid "The input string ended unexpectedly."
 msgstr "La chaîne en entrée se ferme de manière inattendue."
 
-#: utils/adt/json.c:1149
+#: utils/adt/json.c:1150
 #, c-format
 msgid "Expected end of input, but found \"%s\"."
-msgstr "Attendait une fin de l'entrée, mais ait trouvé « %s »."
+msgstr "Attendait une fin de l'entrée, mais a trouvé « %s »."
 
-#: utils/adt/json.c:1160
+#: utils/adt/json.c:1161
 #, c-format
 msgid "Expected JSON value, but found \"%s\"."
 msgstr "Valeur JSON attendue, mais « %s » trouvé."
 
-#: utils/adt/json.c:1168 utils/adt/json.c:1216
+#: utils/adt/json.c:1169 utils/adt/json.c:1217
 #, c-format
 msgid "Expected string, but found \"%s\"."
 msgstr "Chaîne attendue, mais « %s » trouvé."
 
-#: utils/adt/json.c:1176
+#: utils/adt/json.c:1177
 #, c-format
 msgid "Expected array element or \"]\", but found \"%s\"."
 msgstr "Élément de tableau ou « ] » attendu, mais « %s » trouvé"
 
-#: utils/adt/json.c:1184
+#: utils/adt/json.c:1185
 #, c-format
 msgid "Expected \",\" or \"]\", but found \"%s\"."
 msgstr "« , » ou « ] » attendu, mais « %s » trouvé"
 
-#: utils/adt/json.c:1192
+#: utils/adt/json.c:1193
 #, c-format
 msgid "Expected string or \"}\", but found \"%s\"."
 msgstr "Chaîne ou « } » attendu, mais « %s » trouvé"
 
-#: utils/adt/json.c:1200
+#: utils/adt/json.c:1201
 #, c-format
 msgid "Expected \":\", but found \"%s\"."
 msgstr "« : » attendu, mais « %s » trouvé"
 
-#: utils/adt/json.c:1208
+#: utils/adt/json.c:1209
 #, c-format
 msgid "Expected \",\" or \"}\", but found \"%s\"."
 msgstr "« , » ou « } » attendu, mais « %s » trouvé"
 
-#: utils/adt/json.c:1246
+#: utils/adt/json.c:1247
 #, c-format
 msgid "Token \"%s\" is invalid."
 msgstr "le jeton « %s » n'est pas valide"
 
-#: utils/adt/json.c:1318
+#: utils/adt/json.c:1319
 #, c-format
 msgid "JSON data, line %d: %s%s%s"
 msgstr "données JSON, ligne %d : %s%s%s"
 
-#: utils/adt/json.c:1474 utils/adt/jsonb.c:725
+#: utils/adt/json.c:1475 utils/adt/jsonb.c:726
 #, c-format
 msgid "key value must be scalar, not array, composite, or json"
 msgstr "la valeur clé doit être scalaire, et non pas un tableau ou une valeur composite ou un json"
 
-#: utils/adt/json.c:2011 utils/adt/json.c:2021 utils/adt/json.c:2147 utils/adt/json.c:2168 utils/adt/json.c:2227 utils/adt/jsonb.c:1215 utils/adt/jsonb.c:1238 utils/adt/jsonb.c:1298
+#: utils/adt/json.c:2012 utils/adt/json.c:2022 utils/fmgr/funcapi.c:1501
 #, c-format
 msgid "could not determine data type for argument %d"
 msgstr "n'a pas pu déterminer le type de données pour l'argument %d"
 
-#: utils/adt/json.c:2045 utils/adt/jsonb.c:1782
+#: utils/adt/json.c:2046 utils/adt/jsonb.c:1739
 #, c-format
 msgid "field name must not be null"
 msgstr "le nom du champ ne doit pas être NULL"
 
-#: utils/adt/json.c:2122
+#: utils/adt/json.c:2130 utils/adt/jsonb.c:1191
 #, c-format
 msgid "argument list must have even number of elements"
 msgstr "la liste d'arguments doit avoir un nombre pair d'éléments"
 
-#: utils/adt/json.c:2123
+#: utils/adt/json.c:2131
 #, c-format
 msgid "The arguments of json_build_object() must consist of alternating keys and values."
 msgstr "Les arguments de json_build_object() doivent consister en des clés et valeurs alternées"
 
-#: utils/adt/json.c:2153
+#: utils/adt/json.c:2146
 #, c-format
 msgid "argument %d cannot be null"
 msgstr "l'argument %d ne peut pas être NULL"
 
-#: utils/adt/json.c:2154
+#: utils/adt/json.c:2147
 #, c-format
 msgid "Object keys should be text."
 msgstr "Les clés de l'objet doivent être du texte."
 
-#: utils/adt/json.c:2289 utils/adt/jsonb.c:1364
+#: utils/adt/json.c:2253 utils/adt/jsonb.c:1321
 #, c-format
 msgid "array must have two columns"
 msgstr "le tableau doit avoir deux colonnes"
 
-#: utils/adt/json.c:2313 utils/adt/json.c:2397 utils/adt/jsonb.c:1388 utils/adt/jsonb.c:1483
+#: utils/adt/json.c:2277 utils/adt/json.c:2361 utils/adt/jsonb.c:1345 utils/adt/jsonb.c:1440
 #, c-format
 msgid "null value not allowed for object key"
 msgstr "valeur NULL non autorisée pour une clé d'objet"
 
-#: utils/adt/json.c:2386 utils/adt/jsonb.c:1472
+#: utils/adt/json.c:2350 utils/adt/jsonb.c:1429
 #, c-format
 msgid "mismatched array dimensions"
 msgstr "dimensions du tableau non correspondantes"
 
-#: utils/adt/jsonb.c:257
+#: utils/adt/jsonb.c:258
 #, c-format
 msgid "string too long to represent as jsonb string"
 msgstr "chaîne trop longue pour être représentée en tant que chaîne jsonb"
 
-#: utils/adt/jsonb.c:258
+#: utils/adt/jsonb.c:259
 #, c-format
 msgid "Due to an implementation restriction, jsonb strings cannot exceed %d bytes."
 msgstr "Dû à l'implémentation, les chaînes jsonb ne peuvent excéder %d octets."
 
-#: utils/adt/jsonb.c:1183
+#: utils/adt/jsonb.c:1192
 #, c-format
-msgid "invalid number of arguments: object must be matched key value pairs"
-msgstr "nombre d'arguments invalide : l'objet doit correspond aux paires clé/valeur"
+msgid "The arguments of jsonb_build_object() must consist of alternating keys and values."
+msgstr "Les arguments de jsonb_build_object() doivent consister en des clés et valeurs alternées"
 
-#: utils/adt/jsonb.c:1196
+#: utils/adt/jsonb.c:1204
 #, c-format
 msgid "argument %d: key must not be null"
 msgstr "argument %d : la clé ne doit pas être NULL"
 
-#: utils/adt/jsonb.c:1835
+#: utils/adt/jsonb.c:1792
 #, c-format
 msgid "object keys must be strings"
 msgstr "les clés de l'objet doivent être du texte"
@@ -20910,7 +20969,7 @@ msgstr "la taille totale des éléments du tableau jsonb dépasse le maximum de
 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:511 utils/adt/jsonfuncs.c:676 utils/adt/jsonfuncs.c:2263 utils/adt/jsonfuncs.c:2699 utils/adt/jsonfuncs.c:3393 utils/adt/jsonfuncs.c:3677
+#: utils/adt/jsonfuncs.c:511 utils/adt/jsonfuncs.c:676 utils/adt/jsonfuncs.c:2263 utils/adt/jsonfuncs.c:2699 utils/adt/jsonfuncs.c:3393 utils/adt/jsonfuncs.c:3694
 #, c-format
 msgid "cannot call %s on a scalar"
 msgstr "ne peut pas appeler %s sur un scalaire"
@@ -20935,7 +20994,7 @@ msgstr "ne peut pas obtenir la longueur du tableau d'un objet qui n'est pas un t
 msgid "cannot call %s on a non-object"
 msgstr "ne peut pas appeler %s sur un non objet"
 
-#: utils/adt/jsonfuncs.c:1697 utils/adt/jsonfuncs.c:3208 utils/adt/jsonfuncs.c:3502
+#: utils/adt/jsonfuncs.c:1697 utils/adt/jsonfuncs.c:3208 utils/adt/jsonfuncs.c:3510
 #, c-format
 msgid "function returning record called in context that cannot accept type record"
 msgstr ""
@@ -20962,7 +21021,7 @@ msgstr "ne peut pas extraire des éléments d'un scalaire"
 msgid "cannot extract elements from an object"
 msgstr "ne peut pas extraire des éléments d'un objet"
 
-#: utils/adt/jsonfuncs.c:2250 utils/adt/jsonfuncs.c:3566
+#: utils/adt/jsonfuncs.c:2250 utils/adt/jsonfuncs.c:3583
 #, c-format
 msgid "cannot call %s on a non-array"
 msgstr "ne peut pas appeler %s sur un type non tableau"
@@ -20974,18 +21033,18 @@ msgstr "attendait un tableau json"
 
 #: utils/adt/jsonfuncs.c:2317
 #, c-format
-msgid "see the value of key \"%s\""
-msgstr "voir la valeur de la clé « %s »"
+msgid "See the value of key \"%s\"."
+msgstr "Voir la valeur de la clé « %s »."
 
 #: utils/adt/jsonfuncs.c:2339
 #, c-format
-msgid "see the array element %s of key \"%s\""
-msgstr "voir l'élément de tableau %s de la clé « %s »"
+msgid "See the array element %s of key \"%s\"."
+msgstr "Voir l'élément de tableau %s de la clé « %s »."
 
 #: utils/adt/jsonfuncs.c:2345
 #, c-format
-msgid "see the array element %s"
-msgstr "voir l'élément de tableau %s"
+msgid "See the array element %s."
+msgstr "voir l'élément de tableau %s."
 
 #: utils/adt/jsonfuncs.c:2380
 #, c-format
@@ -21002,57 +21061,57 @@ msgstr "le premier argument de %s doit être un type row"
 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:3583 utils/adt/jsonfuncs.c:3659
+#: utils/adt/jsonfuncs.c:3600 utils/adt/jsonfuncs.c:3676
 #, 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:3611
+#: utils/adt/jsonfuncs.c:3628
 #, c-format
 msgid "cannot call %s on an object"
 msgstr "ne peut pas appeler %s sur un objet"
 
-#: utils/adt/jsonfuncs.c:4087 utils/adt/jsonfuncs.c:4146 utils/adt/jsonfuncs.c:4226
+#: utils/adt/jsonfuncs.c:4104 utils/adt/jsonfuncs.c:4163 utils/adt/jsonfuncs.c:4243
 #, c-format
 msgid "cannot delete from scalar"
 msgstr "ne peut pas supprimer à partir du scalaire"
 
-#: utils/adt/jsonfuncs.c:4231
+#: utils/adt/jsonfuncs.c:4248
 #, 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:4297 utils/adt/jsonfuncs.c:4389
+#: utils/adt/jsonfuncs.c:4314 utils/adt/jsonfuncs.c:4406
 #, c-format
 msgid "cannot set path in scalar"
 msgstr "ne peut pas initialiser le chemin dans le scalaire"
 
-#: utils/adt/jsonfuncs.c:4342
+#: utils/adt/jsonfuncs.c:4359
 #, c-format
 msgid "cannot delete path in scalar"
 msgstr "ne peut pas supprimer un chemin dans le scalaire"
 
-#: utils/adt/jsonfuncs.c:4512
+#: utils/adt/jsonfuncs.c:4529
 #, c-format
 msgid "invalid concatenation of jsonb objects"
 msgstr "concaténation invalide d'objets jsonb"
 
-#: utils/adt/jsonfuncs.c:4546
+#: utils/adt/jsonfuncs.c:4563
 #, c-format
 msgid "path element at position %d is null"
 msgstr "l'élément de chemin à la position %d est nul"
 
-#: utils/adt/jsonfuncs.c:4632
+#: utils/adt/jsonfuncs.c:4649
 #, c-format
 msgid "cannot replace existing key"
 msgstr "ne peut pas remplacer une clé existante"
 
-#: utils/adt/jsonfuncs.c:4633
+#: utils/adt/jsonfuncs.c:4650
 #, c-format
 msgid "Try using the function jsonb_set to replace key value."
 msgstr "Essayez d'utiliser la fonction jsonb_set pour remplacer la valeur de la clé."
 
-#: utils/adt/jsonfuncs.c:4715
+#: utils/adt/jsonfuncs.c:4732
 #, c-format
 msgid "path element at position %d is not an integer: \"%s\""
 msgstr "l'élément du chemin à la position %d n'est pas un entier : « %s »"
@@ -21062,7 +21121,7 @@ msgstr "l'élément du chemin à la position %d n'est pas un entier : « %s »"
 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:183 utils/adt/selfuncs.c:5562
+#: utils/adt/like.c:183 utils/adt/selfuncs.c:5589
 #, c-format
 msgid "could not determine which collation to use for ILIKE"
 msgstr "n'a pas pu déterminer le collationnement à utiliser pour ILIKE"
@@ -21095,12 +21154,12 @@ msgstr "valeur d'un octet invalide dans la valeur de « macaddr » : « %s »"
 #: utils/adt/mac8.c:554
 #, c-format
 msgid "macaddr8 data out of range to convert to macaddr"
-msgstr ""
+msgstr "donnée macaddr8 hors de l'échelle pour être convertie en macaddr"
 
 #: utils/adt/mac8.c:555
 #, c-format
-msgid "Only addresses that have FF and FE as values in the 4th and 5th bytes, from the left, for example: XX-XX-XX-FF-FE-XX-XX-XX, are eligible to be converted from macaddr8 to macaddr."
-msgstr ""
+msgid "Only addresses that have FF and FE as values in the 4th and 5th bytes from the left, for example xx:xx:xx:ff:fe:xx:xx:xx, are eligible to be converted from macaddr8 to macaddr."
+msgstr "Seules les adresses qui ont FF ou FE comme valeurs dans les 4è et 5è octets à partir de la gauche, par exemple xx:xx:xx:ff:fe:xx:xx:xx, , sont éligibles à être converties de macaddr8 à macaddr."
 
 #: utils/adt/misc.c:238
 #, c-format
@@ -21340,7 +21399,7 @@ msgstr "la valeur d'arrêt ne peut pas être NaN"
 msgid "step size cannot be NaN"
 msgstr "la taille du pas ne peut pas être NaN"
 
-#: utils/adt/numeric.c:2589 utils/adt/numeric.c:5551 utils/adt/numeric.c:5996 utils/adt/numeric.c:7700 utils/adt/numeric.c:8125 utils/adt/numeric.c:8239 utils/adt/numeric.c:8312
+#: utils/adt/numeric.c:2589 utils/adt/numeric.c:5561 utils/adt/numeric.c:6006 utils/adt/numeric.c:7710 utils/adt/numeric.c:8135 utils/adt/numeric.c:8249 utils/adt/numeric.c:8322
 #, c-format
 msgid "value overflows numeric format"
 msgstr "la valeur dépasse le format numeric"
@@ -21360,12 +21419,17 @@ msgstr "ne peut pas convertir NaN en un entier de type bigint"
 msgid "cannot convert NaN to smallint"
 msgstr "ne peut pas convertir NaN en un entier de type smallint"
 
-#: utils/adt/numeric.c:6066
+#: utils/adt/numeric.c:3079 utils/adt/numeric.c:3150
+#, c-format
+msgid "cannot convert infinity to numeric"
+msgstr "ne peut pas convertir infinity en un type numeric"
+
+#: utils/adt/numeric.c:6076
 #, c-format
 msgid "numeric field overflow"
 msgstr "champ numérique en dehors des limites"
 
-#: utils/adt/numeric.c:6067
+#: utils/adt/numeric.c:6077
 #, c-format
 msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d."
 msgstr ""
@@ -21422,83 +21486,79 @@ msgstr "n'a pas pu créer la locale « %s » : %m"
 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:1352
+#: utils/adt/pg_locale.c:1353
 #, 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:1361
+#: utils/adt/pg_locale.c:1362
 #, c-format
 msgid "collation provider LIBC is not supported on this platform"
 msgstr "le fournisseur du collationnement, LIBC, n'est pas supporté sur cette plateforme"
 
-#: utils/adt/pg_locale.c:1373
-#, fuzzy, c-format
-#| msgid "collations with different collate and ctype values are not supported on this platform"
+#: utils/adt/pg_locale.c:1374
+#, c-format
 msgid "collations with different collate and ctype values are not supported by ICU"
-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"
+msgstr "les collationnements avec des valeurs différentes pour le tri (collate) et le jeu de caractères (ctype) ne sont pas supportés par ICU"
 
-#: utils/adt/pg_locale.c:1379 utils/adt/pg_locale.c:1461
-#, fuzzy, c-format
-#| msgid "could not open control file \"%s\": %m"
+#: utils/adt/pg_locale.c:1380 utils/adt/pg_locale.c:1468
+#, c-format
 msgid "could not open collator for locale \"%s\": %s"
-msgstr "n'a pas pu ouvrir le fichier de contrôle « %s » : %m"
+msgstr "n'a pas pu ouvrir le collationneur pour la locale « %s » : %s"
 
-#: utils/adt/pg_locale.c:1388
+#: utils/adt/pg_locale.c:1391
 #, c-format
 msgid "ICU is not supported in this build"
 msgstr "ICU n'est pas supporté dans cette installation"
 
-#: utils/adt/pg_locale.c:1389
+#: utils/adt/pg_locale.c:1392
 #, c-format
 msgid "You need to rebuild PostgreSQL using --with-icu."
 msgstr "Vous devez recompiler PostgreSQL en utilisant --with-icu."
 
-#: utils/adt/pg_locale.c:1409
+#: utils/adt/pg_locale.c:1412
 #, c-format
 msgid "collation \"%s\" has no actual version, but a version was specified"
 msgstr "le collationnement « %s » n'a pas de version réelle mais une version était indiquée"
 
-#: utils/adt/pg_locale.c:1416
+#: utils/adt/pg_locale.c:1419
 #, c-format
 msgid "collation \"%s\" has version mismatch"
 msgstr "le collationnement « %s » a des versions différentes"
 
-#: utils/adt/pg_locale.c:1418
+#: utils/adt/pg_locale.c:1421
 #, c-format
 msgid "The collation in the database was created using version %s, but the operating system provides version %s."
 msgstr "Le collationnement dans la base de données a été créé en utilisant la version %s mais le système d'exploitation fournit la version %s."
 
-#: utils/adt/pg_locale.c:1421
+#: utils/adt/pg_locale.c:1424
 #, c-format
 msgid "Rebuild all objects affected by this collation and run ALTER COLLATION %s REFRESH VERSION, or build PostgreSQL with the right library version."
 msgstr "Reconstruisez tous les objets affectés par ce collationnement, et lancez ALTER COLLATION %s REFRESH VERSION, ou construisez PostgreSQL avec la bonne version de bibliothèque."
 
-#: utils/adt/pg_locale.c:1501
+#: utils/adt/pg_locale.c:1508
 #, c-format
 msgid "could not open ICU converter for encoding \"%s\": %s"
 msgstr "n'a pas pu ouvrir le convertisseur ICU pour l'encodage « %s » : %s"
 
-#: utils/adt/pg_locale.c:1532 utils/adt/pg_locale.c:1541
+#: utils/adt/pg_locale.c:1539 utils/adt/pg_locale.c:1548
 #, c-format
 msgid "ucnv_toUChars failed: %s"
 msgstr "échec de ucnv_toUChars : %s"
 
-#: utils/adt/pg_locale.c:1570 utils/adt/pg_locale.c:1579
+#: utils/adt/pg_locale.c:1577 utils/adt/pg_locale.c:1586
 #, c-format
 msgid "ucnv_fromUChars failed: %s"
 msgstr "échec de ucnv_fromUChars : %s"
 
-#: utils/adt/pg_locale.c:1752
+#: utils/adt/pg_locale.c:1759
 #, c-format
 msgid "invalid multibyte character for locale"
 msgstr "caractère multi-octets invalide pour la locale"
 
-#: utils/adt/pg_locale.c:1753
+#: utils/adt/pg_locale.c:1760
 #, c-format
 msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding."
 msgstr ""
@@ -21597,7 +21657,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:1344 utils/adt/varlena.c:3963
+#: utils/adt/regexp.c:285 utils/adt/regexp.c:1344 utils/adt/varlena.c:3967
 #, c-format
 msgid "regular expression failed: %s"
 msgstr "l'expression rationnelle a échoué : %s"
@@ -21637,7 +21697,7 @@ msgstr "il existe plus d'une fonction nommée « %s »"
 msgid "more than one operator named %s"
 msgstr "il existe plus d'un opérateur nommé%s"
 
-#: utils/adt/regproc.c:696 utils/adt/regproc.c:737 utils/adt/regproc.c:1865 utils/adt/ruleutils.c:8996 utils/adt/ruleutils.c:9164
+#: utils/adt/regproc.c:696 utils/adt/regproc.c:737 utils/adt/regproc.c:1865 utils/adt/ruleutils.c:8959 utils/adt/ruleutils.c:9127
 #, c-format
 msgid "too many arguments"
 msgstr "trop d'arguments"
@@ -21647,7 +21707,7 @@ 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:1449 utils/adt/regproc.c:1473 utils/adt/regproc.c:1574 utils/adt/regproc.c:1598 utils/adt/regproc.c:1700 utils/adt/regproc.c:1705 utils/adt/varlena.c:3216 utils/adt/varlena.c:3221
+#: utils/adt/regproc.c:1449 utils/adt/regproc.c:1473 utils/adt/regproc.c:1574 utils/adt/regproc.c:1598 utils/adt/regproc.c:1700 utils/adt/regproc.c:1705 utils/adt/varlena.c:3220 utils/adt/varlena.c:3225
 #, c-format
 msgid "invalid name syntax"
 msgstr "syntaxe du nom invalide"
@@ -21809,17 +21869,17 @@ msgstr ""
 "ne peut pas comparer les types d'enregistrement avec des numéros différents\n"
 "des colonnes"
 
-#: utils/adt/ruleutils.c:4667
+#: utils/adt/ruleutils.c:4668
 #, 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:5547
+#: utils/adt/selfuncs.c:5574
 #, 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:5649
+#: utils/adt/selfuncs.c:5676
 #, 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"
@@ -22135,26 +22195,14 @@ msgstr "mauvaise information de position dans tsvector : « %s »"
 
 #: utils/adt/txid.c:135
 #, c-format
-msgid "transaction ID "
-msgstr "ID de transaction "
+msgid "transaction ID %s is in the future"
+msgstr "l'identifiant de transaction %s est dans le futur"
 
 #: utils/adt/txid.c:624
 #, c-format
 msgid "invalid external txid_snapshot data"
 msgstr "valeur externe « txid_snapshot » invalide"
 
-#: utils/adt/txid.c:758 utils/adt/txid.c:779
-msgid "in progress"
-msgstr "en cours"
-
-#: utils/adt/txid.c:760
-msgid "committed"
-msgstr "validé"
-
-#: utils/adt/txid.c:762 utils/adt/txid.c:777
-msgid "aborted"
-msgstr "annulé"
-
 #: utils/adt/varbit.c:58 utils/adt/varchar.c:51
 #, c-format
 msgid "length for type %s must be at least 1"
@@ -22195,7 +22243,7 @@ msgstr "longueur invalide dans la chaîne bit externe"
 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:841 utils/adt/varlena.c:905 utils/adt/varlena.c:1049 utils/adt/varlena.c:2881 utils/adt/varlena.c:2948
+#: utils/adt/varbit.c:1066 utils/adt/varbit.c:1168 utils/adt/varlena.c:841 utils/adt/varlena.c:905 utils/adt/varlena.c:1049 utils/adt/varlena.c:2885 utils/adt/varlena.c:2952
 #, c-format
 msgid "negative substring length not allowed"
 msgstr "longueur de sous-chaîne négative non autorisée"
@@ -22220,7 +22268,7 @@ msgstr "ne peut pas utiliser l'opérateur XOR sur des chaînes bit de tailles di
 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:1812 utils/adt/varlena.c:3140
+#: utils/adt/varbit.c:1812 utils/adt/varlena.c:3144
 #, c-format
 msgid "new bit must be 0 or 1"
 msgstr "le nouveau bit doit valoir soit 0 soit 1"
@@ -22235,7 +22283,7 @@ msgstr "valeur trop longue pour le type character(%d)"
 msgid "value too long for type character varying(%d)"
 msgstr "valeur trop longue pour le type character varying(%d)"
 
-#: utils/adt/varlena.c:1416 utils/adt/varlena.c:1865
+#: utils/adt/varlena.c:1416 utils/adt/varlena.c:1853
 #, 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"
@@ -22250,62 +22298,62 @@ msgstr "n'a pas pu convertir la chaîne en UTF-16 : erreur %lu"
 msgid "could not compare Unicode strings: %m"
 msgstr "n'a pas pu comparer les chaînes unicode : %m"
 
-#: utils/adt/varlena.c:1556 utils/adt/varlena.c:2145
+#: utils/adt/varlena.c:1556 utils/adt/varlena.c:2149
 #, c-format
 msgid "collation failed: %s"
 msgstr "échec du collationnement : %s"
 
-#: utils/adt/varlena.c:2363
+#: utils/adt/varlena.c:2367
 #, c-format
 msgid "sort key generation failed: %s"
 msgstr "échec de génération de la clé de tri : %s"
 
-#: utils/adt/varlena.c:3026 utils/adt/varlena.c:3057 utils/adt/varlena.c:3092 utils/adt/varlena.c:3128
+#: utils/adt/varlena.c:3030 utils/adt/varlena.c:3061 utils/adt/varlena.c:3096 utils/adt/varlena.c:3132
 #, 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:4059
+#: utils/adt/varlena.c:4063
 #, 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:4949
+#: utils/adt/varlena.c:4953
 #, c-format
 msgid "unterminated format() type specifier"
 msgstr "spécificateur de type pour format() non terminé"
 
-#: utils/adt/varlena.c:4950 utils/adt/varlena.c:5084 utils/adt/varlena.c:5205
+#: utils/adt/varlena.c:4954 utils/adt/varlena.c:5088 utils/adt/varlena.c:5209
 #, c-format
 msgid "For a single \"%%\" use \"%%%%\"."
 msgstr "Pour un unique \"%%\" utilisez \"%%%%\"."
 
-#: utils/adt/varlena.c:5082 utils/adt/varlena.c:5203
+#: utils/adt/varlena.c:5086 utils/adt/varlena.c:5207
 #, c-format
 msgid "unrecognized format() type specifier \"%c\""
 msgstr "spécificateur de type « %c » pour format() non reconnu"
 
-#: utils/adt/varlena.c:5095 utils/adt/varlena.c:5152
+#: utils/adt/varlena.c:5099 utils/adt/varlena.c:5156
 #, c-format
 msgid "too few arguments for format()"
 msgstr "trop peu d'arguments pour format()"
 
-#: utils/adt/varlena.c:5247 utils/adt/varlena.c:5430
+#: utils/adt/varlena.c:5251 utils/adt/varlena.c:5434
 #, c-format
 msgid "number is out of range"
 msgstr "le nombre est en dehors des limites"
 
-#: utils/adt/varlena.c:5311 utils/adt/varlena.c:5339
+#: utils/adt/varlena.c:5315 utils/adt/varlena.c:5343
 #, 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:5332
+#: utils/adt/varlena.c:5336
 #, 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:5377
+#: utils/adt/varlena.c:5381
 #, 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"
@@ -22439,49 +22487,49 @@ msgstr "XML ne supporte pas les valeurs infinies de timestamp."
 msgid "invalid query"
 msgstr "requête invalide"
 
-#: utils/adt/xml.c:3870
+#: utils/adt/xml.c:3871
 #, c-format
 msgid "invalid array for XML namespace mapping"
 msgstr "tableau invalide pour la correspondance de l'espace de nom XML"
 
-#: utils/adt/xml.c:3871
+#: utils/adt/xml.c:3872
 #, c-format
 msgid "The array must be two-dimensional with length of the second axis equal to 2."
 msgstr ""
 "Le tableau doit avoir deux dimensions avec une longueur de 2 pour le\n"
 "deuxième axe."
 
-#: utils/adt/xml.c:3895
+#: utils/adt/xml.c:3896
 #, c-format
 msgid "empty XPath expression"
 msgstr "expression XPath vide"
 
-#: utils/adt/xml.c:3939
+#: utils/adt/xml.c:3951
 #, c-format
 msgid "neither namespace name nor URI may be null"
 msgstr "ni le nom de l'espace de noms ni l'URI ne peuvent être NULL"
 
-#: utils/adt/xml.c:3946
+#: utils/adt/xml.c:3958
 #, c-format
 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/adt/xml.c:4300
+#: utils/adt/xml.c:4312
 #, c-format
 msgid "DEFAULT namespace is not supported"
 msgstr "l'espace de nom DEFAULT n'est pas supporté"
 
-#: utils/adt/xml.c:4329
+#: utils/adt/xml.c:4341
 #, c-format
 msgid "row path filter must not be empty string"
 msgstr "le filtre du chemin de ligne ne doit pas être une chaîne vide"
 
-#: utils/adt/xml.c:4360
+#: utils/adt/xml.c:4372
 #, c-format
 msgid "column path filter must not be empty string"
 msgstr "le filtre du chemin de colonne ne doit pas être une chaîne vide"
 
-#: utils/adt/xml.c:4542
+#: utils/adt/xml.c:4554
 #, c-format
 msgid "more than one value returned by column XPath expression"
 msgstr "plus d'une valeur renvoyée par l'expression XPath de colonne"
@@ -22506,17 +22554,17 @@ msgstr "aucune fonction en sortie disponible pour le type %s"
 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:5795
+#: utils/cache/relcache.c:5800
 #, 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:5797
+#: utils/cache/relcache.c:5802
 #, 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:6067
+#: utils/cache/relcache.c:6072
 #, c-format
 msgid "could not remove cache file \"%s\": %m"
 msgstr "n'a pas pu supprimer le fichier cache « %s » : %m"
@@ -22565,12 +22613,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:1223
+#: utils/cache/typcache.c:1273
 #, c-format
 msgid "type %s is not composite"
 msgstr "le type %s n'est pas un type composite"
 
-#: utils/cache/typcache.c:1237
+#: utils/cache/typcache.c:1287
 #, c-format
 msgid "record type has not been registered"
 msgstr "le type d'enregistrement n'a pas été enregistré"
@@ -22602,85 +22650,85 @@ msgstr "n'a pas pu ré-ouvrir le fichier « %s » comme stderr : %m"
 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:2389 utils/error/elog.c:2406 utils/error/elog.c:2422
+#: utils/error/elog.c:2394 utils/error/elog.c:2411 utils/error/elog.c:2427
 msgid "[unknown]"
 msgstr "[inconnu]"
 
-#: utils/error/elog.c:2882 utils/error/elog.c:3185 utils/error/elog.c:3293
+#: utils/error/elog.c:2887 utils/error/elog.c:3190 utils/error/elog.c:3298
 msgid "missing error text"
 msgstr "texte d'erreur manquant"
 
-#: utils/error/elog.c:2885 utils/error/elog.c:2888 utils/error/elog.c:3296 utils/error/elog.c:3299
+#: utils/error/elog.c:2890 utils/error/elog.c:2893 utils/error/elog.c:3301 utils/error/elog.c:3304
 #, c-format
 msgid " at character %d"
 msgstr " au caractère %d"
 
-#: utils/error/elog.c:2898 utils/error/elog.c:2905
+#: utils/error/elog.c:2903 utils/error/elog.c:2910
 msgid "DETAIL:  "
 msgstr "DÉTAIL:  "
 
-#: utils/error/elog.c:2912
+#: utils/error/elog.c:2917
 msgid "HINT:  "
 msgstr "ASTUCE :  "
 
-#: utils/error/elog.c:2919
+#: utils/error/elog.c:2924
 msgid "QUERY:  "
 msgstr "REQUÊTE :  "
 
-#: utils/error/elog.c:2926
+#: utils/error/elog.c:2931
 msgid "CONTEXT:  "
 msgstr "CONTEXTE :  "
 
-#: utils/error/elog.c:2936
+#: utils/error/elog.c:2941
 #, c-format
 msgid "LOCATION:  %s, %s:%d\n"
 msgstr "EMPLACEMENT :  %s, %s:%d\n"
 
-#: utils/error/elog.c:2943
+#: utils/error/elog.c:2948
 #, c-format
 msgid "LOCATION:  %s:%d\n"
 msgstr "EMPLACEMENT :  %s:%d\n"
 
-#: utils/error/elog.c:2957
+#: utils/error/elog.c:2962
 msgid "STATEMENT:  "
 msgstr "INSTRUCTION :  "
 
 #. translator: This string will be truncated at 47
 #. characters expanded.
-#: utils/error/elog.c:3414
+#: utils/error/elog.c:3419
 #, c-format
 msgid "operating system error %d"
 msgstr "erreur %d du système d'exploitation"
 
-#: utils/error/elog.c:3612
+#: utils/error/elog.c:3617
 msgid "DEBUG"
 msgstr "DEBUG"
 
-#: utils/error/elog.c:3616
+#: utils/error/elog.c:3621
 msgid "LOG"
 msgstr "LOG"
 
-#: utils/error/elog.c:3619
+#: utils/error/elog.c:3624
 msgid "INFO"
 msgstr "INFO"
 
-#: utils/error/elog.c:3622
+#: utils/error/elog.c:3627
 msgid "NOTICE"
 msgstr "NOTICE"
 
-#: utils/error/elog.c:3625
+#: utils/error/elog.c:3630
 msgid "WARNING"
 msgstr "ATTENTION"
 
-#: utils/error/elog.c:3628
+#: utils/error/elog.c:3633
 msgid "ERROR"
 msgstr "ERREUR"
 
-#: utils/error/elog.c:3631
+#: utils/error/elog.c:3636
 msgid "FATAL"
 msgstr "FATAL"
 
-#: utils/error/elog.c:3634
+#: utils/error/elog.c:3639
 msgid "PANIC"
 msgstr "PANIC"
 
@@ -24161,23 +24209,19 @@ msgstr ""
 "d'être verrouillés à tout moment."
 
 #: utils/misc/guc.c:2202
-#, fuzzy
-#| msgid "Sets the maximum number of predicate locks per transaction."
 msgid "Sets the maximum number of predicate-locked pages and tuples per relation."
-msgstr "Initialise le nombre maximum de verrous prédicats par transaction."
+msgstr "Initialise le nombre maximum de pages et lignes verrouillées avec prédicats par transaction."
 
 #: utils/misc/guc.c:2203
-msgid "If more than this total of pages and tuples in the same relation are locked by a connection, those locks are replaced by a relation level lock."
-msgstr ""
+msgid "If more than this total of pages and tuples in the same relation are locked by a connection, those locks are replaced by a relation-level lock."
+msgstr "Si plus que ce nombre de pages et lignes dans la même relation sont verrouillées par une connexion, ces verrous sont remplacés par un verrou de niveau relation."
 
 #: utils/misc/guc.c:2213
-#, fuzzy
-#| msgid "Sets the maximum number of predicate locks per transaction."
 msgid "Sets the maximum number of predicate-locked tuples per page."
-msgstr "Initialise le nombre maximum de verrous prédicats par transaction."
+msgstr "Initialise le nombre maximum de lignes verrouillées avec prédicat par transaction."
 
 #: utils/misc/guc.c:2214
-msgid "If more than this number of tuples on the same page are locked by a connection, those locks are replaced by a page level lock."
+msgid "If more than this number of tuples on the same page are locked by a connection, those locks are replaced by a page-level lock."
 msgstr "Si plus que ce nombre de lignes sur la même page sont verrouillées par une connexion, ces verrous sont remplacés par un verrou de niveau de page."
 
 #: utils/misc/guc.c:2224
@@ -24817,7 +24861,7 @@ msgid "Sets the curve to use for ECDH."
 msgstr "Initialise la courbe à utiliser pour ECDH."
 
 #: utils/misc/guc.c:3611
-msgid "Location of the SSL DH params file."
+msgid "Location of the SSL DH parameters file."
 msgstr "Emplacement du fichier des paramètres DH SSL."
 
 #: utils/misc/guc.c:3622
@@ -25040,7 +25084,7 @@ msgstr "%g est en dehors des limites valides pour le paramètre « %s » (%g ..
 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:5968 utils/misc/guc.c:6719 utils/misc/guc.c:6772 utils/misc/guc.c:7135 utils/misc/guc.c:7894 utils/misc/guc.c:8062 utils/misc/guc.c:9738
+#: utils/misc/guc.c:5968 utils/misc/guc.c:6719 utils/misc/guc.c:6772 utils/misc/guc.c:7135 utils/misc/guc.c:7894 utils/misc/guc.c:8062 utils/misc/guc.c:9731
 #, c-format
 msgid "unrecognized configuration parameter \"%s\""
 msgstr "paramètre de configuration « %s » non reconnu"
@@ -25055,7 +25099,7 @@ msgstr "le paramètre « %s » ne peut pas être changé"
 msgid "parameter \"%s\" cannot be changed now"
 msgstr "le paramètre « %s » ne peut pas être modifié maintenant"
 
-#: utils/misc/guc.c:6034 utils/misc/guc.c:6080 utils/misc/guc.c:9754
+#: utils/misc/guc.c:6034 utils/misc/guc.c:6080 utils/misc/guc.c:9747
 #, c-format
 msgid "permission denied to set parameter \"%s\""
 msgstr "droit refusé pour initialiser le paramètre « %s »"
@@ -25112,47 +25156,47 @@ msgstr "SET requiert le nom du paramètre"
 msgid "attempt to redefine parameter \"%s\""
 msgstr "tentative de redéfinition du paramètre « %s »"
 
-#: utils/misc/guc.c:9371
+#: utils/misc/guc.c:9364
 #, c-format
 msgid "parameter \"%s\" could not be set"
 msgstr "le paramètre « %s » n'a pas pu être configuré"
 
-#: utils/misc/guc.c:9458
+#: utils/misc/guc.c:9451
 #, 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:9816 utils/misc/guc.c:9850
+#: utils/misc/guc.c:9809 utils/misc/guc.c:9843
 #, c-format
 msgid "invalid value for parameter \"%s\": %d"
 msgstr "valeur invalide pour le paramètre « %s » : %d"
 
-#: utils/misc/guc.c:9884
+#: utils/misc/guc.c:9877
 #, c-format
 msgid "invalid value for parameter \"%s\": %g"
 msgstr "valeur invalide pour le paramètre « %s » : %g"
 
-#: utils/misc/guc.c:10154
+#: utils/misc/guc.c:10147
 #, 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:10166
+#: utils/misc/guc.c:10159
 #, c-format
 msgid "Bonjour is not supported by this build"
 msgstr "Bonjour n'est pas supporté dans cette installation"
 
-#: utils/misc/guc.c:10179
+#: utils/misc/guc.c:10172
 #, c-format
 msgid "SSL is not supported by this build"
 msgstr "SSL n'est pas supporté dans cette installation"
 
-#: utils/misc/guc.c:10191
+#: utils/misc/guc.c:10184
 #, 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:10203
+#: utils/misc/guc.c:10196
 #, c-format
 msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true."
 msgstr ""
@@ -25405,6 +25449,45 @@ msgstr ""
 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 "cannot create range partition with empty range"
+#~ msgstr "ne peut pas créer une partition par intervalle avec un intervalle vide"
+
+#~ msgid "could not get keyword values for locale \"%s\": %s"
+#~ msgstr "n'a pas pu obtenir les valeurs des mots clés pour la locale « %s » : %s"
+
+#~ msgid "invalid publish list"
+#~ msgstr "liste de publication invalide"
+
+#~ msgid "column \"%s\" referenced in statistics does not exist"
+#~ msgstr "la colonne « %s » référencée dans les statistiques n'existe pas"
+
+#~ msgid "added subscription for table %s.%s"
+#~ msgstr "souscription ajoutée pour la table %s.%s"
+
+#~ msgid "removed subscription for table %s.%s"
+#~ msgstr "a supprimé une souscription pour la table %s.%s"
+
+#~ msgid "User \"%s\" has an empty password."
+#~ msgstr "L'utilisateur « %s » a un mot de passe vide."
+
+#~ msgid "not connected to database"
+#~ msgstr "non connecté à une base de données"
+
+#~ msgid "invalid input syntax for %s: \"%s\""
+#~ msgstr "syntaxe en entrée invalide pour le type %s : « %s »"
+
+#~ msgid "transaction ID "
+#~ msgstr "ID de transaction "
+
+#~ msgid "in progress"
+#~ msgstr "en cours"
+
+#~ msgid "committed"
+#~ msgstr "validé"
+
+#~ msgid "aborted"
+#~ msgstr "annulé"
+
 #~ msgid "wrong range of array subscripts"
 #~ msgstr "mauvais échelle des indices du tableau"
 
@@ -25678,9 +25761,6 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ 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 "too many column aliases specified for function %s"
-#~ msgstr "trop d'alias de colonnes spécifiées pour la fonction %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."
 
@@ -26963,9 +27043,6 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgid "invalid list syntax for \"unix_socket_directories\""
 #~ msgstr "syntaxe de liste invalide pour le paramètre « unix_socket_directories »"
 
-#~ msgid "invalid list syntax for \"listen_addresses\""
-#~ msgstr "syntaxe de liste invalide pour le paramètre « listen_addresses »"
-
 #~ msgid "window functions cannot use named arguments"
 #~ msgstr "les fonctions window ne peuvent pas renvoyer des arguments nommés"
 
@@ -27241,9 +27318,6 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgid "value \"%s\" is out of range for type bigint"
 #~ msgstr "la valeur « %s » est en dehors des limites du type bigint"
 
-#~ msgid "invalid input syntax for integer: \"%s\""
-#~ msgstr "syntaxe en entrée invalide pour l'entier : « %s »"
-
 #~ 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"
 
@@ -27391,9 +27465,6 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ msgid "access method name cannot be qualified"
 #~ msgstr "le nom de la méthode d'accès ne peut pas être qualifiée"
 
-#~ msgid "%s."
-#~ msgstr "%s."
-
 #~ msgid "default expression must not return a set"
 #~ msgstr "l'expression par défaut ne doit pas renvoyer un ensemble"
 
@@ -27599,3 +27670,9 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé
 #~ "attendue par le programme.\n"
 #~ "Les résultats ci-dessous ne sont pas dignes de confiance.\n"
 #~ "\n"
+
+#~ msgid "invalid number of arguments: object must be matched key value pairs"
+#~ msgstr "nombre d'arguments invalide : l'objet doit correspond aux paires clé/valeur"
+
+#~ msgid "New enum values must be committed before they can be used."
+#~ msgstr "Les nouvelles valeurs enum doivent être validées (COMMIT) avant de pouvoir être utilisées."