Translation update
authorPeter Eisentraut <peter_e@gmx.net>
Mon, 10 Oct 2005 19:36:36 +0000 (19:36 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Mon, 10 Oct 2005 19:36:36 +0000 (19:36 +0000)
29 files changed:
src/backend/po/fr.po
src/backend/po/tr.po
src/bin/initdb/po/de.po
src/bin/initdb/po/fr.po
src/bin/initdb/po/tr.po
src/bin/pg_config/po/fr.po
src/bin/pg_config/po/tr.po
src/bin/pg_controldata/po/de.po
src/bin/pg_controldata/po/fr.po
src/bin/pg_controldata/po/tr.po
src/bin/pg_ctl/po/de.po
src/bin/pg_ctl/po/fr.po
src/bin/pg_ctl/po/tr.po
src/bin/pg_dump/po/de.po
src/bin/pg_dump/po/fr.po
src/bin/pg_dump/po/tr.po
src/bin/pg_resetxlog/po/de.po
src/bin/pg_resetxlog/po/fr.po
src/bin/pg_resetxlog/po/tr.po
src/bin/psql/po/de.po
src/bin/psql/po/fr.po
src/bin/psql/po/sv.po
src/bin/psql/po/tr.po
src/bin/scripts/po/de.po
src/bin/scripts/po/fr.po
src/bin/scripts/po/tr.po
src/interfaces/libpq/po/de.po
src/interfaces/libpq/po/fr.po
src/interfaces/libpq/po/tr.po

index fa17a8915c016412da5d66efbb71f20681f8fe63..65ec49cc66c208869e88636e5065434733e722c3 100644 (file)
@@ -1,65 +1,77 @@
-# translation of postgres-fr.po to 
+# translation of postgres.po to
+# translation of postgres-fr.po to
 # translation of postgres-fr.po to
 # translation of postgres.po to FR_fr
 #
 # Use these quotes: «%s»
-# Guillaume Lelarge <gleu@wanadoo.fr>, 2003, 2004.
+# Guillaume Lelarge <gleu@wanadoo.fr>, 2003, 2004, 2005.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: postgres-fr\n"
-"POT-Creation-Date: 2004-12-21 19:00+0000\n"
-"PO-Revision-Date: 2004-12-13 22:25+0100\n"
-"Last-Translator: \n"
-"Language-Team:  <fr@li.org>\n"
+"POT-Creation-Date: 2005-09-29 01:02-0300\n"
+"PO-Revision-Date: 2005-09-29 07:54+0200\n"
+"Last-Translator: Guillaume Lelarge <gleu@wanadoo.fr>\n"
+"Language-Team:  <pgsql-fr-general@postgresql.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.9.1\n"
+"X-Generator: KBabel 1.10.2\n"
 
 #: access/common/indextuple.c:57
 #, c-format
 msgid "number of index columns (%d) exceeds limit (%d)"
 msgstr "le nombre de colonnes indexées (%d) dépasse la limite (%d)"
 
-#: access/common/indextuple.c:165
+#: access/common/indextuple.c:166
 #, c-format
 msgid "index row requires %lu bytes, maximum size is %lu"
 msgstr "la ligne index requiert %lu octets, la taille maximum est %lu"
 
-#: access/common/heaptuple.c:580
+#: access/common/heaptuple.c:707 access/common/heaptuple.c:815
 #, c-format
 msgid "number of columns (%d) exceeds limit (%d)"
 msgstr "le nombre de colonnes (%d) dépasse la limite (%d)"
 
-#: access/common/printtup.c:296 tcop/fastpath.c:186 tcop/fastpath.c:511
-#: tcop/postgres.c:1490
+#: access/common/printtup.c:272 tcop/fastpath.c:180 tcop/fastpath.c:509
+#: tcop/postgres.c:1590
 #, c-format
 msgid "unsupported format code: %d"
 msgstr "code de format non supporté : %d"
 
-#: access/common/tupdesc.c:511
+#: access/common/tupdesc.c:498
 #, c-format
 msgid "column \"%s\" cannot be declared SETOF"
 msgstr "la colonne \"%s\" ne peut pas être déclarée SETOF"
 
-#: access/common/tupdesc.c:630 access/common/tupdesc.c:661
-msgid "number of aliases does not match number of columns"
-msgstr "le nombre d'alias ne correspond pas au nombre de colonnes"
+#: access/gist/gistvacuum.c:376
+#, c-format
+msgid "index \"%s\" needs VACUUM FULL or REINDEX to finish crash recovery"
+msgstr "l'index  «%s» a besoin d'un VACUUM FULL ou d'un REINDEX pour terminer la récupération suite à l'arrêt brutal"
 
-#: access/common/tupdesc.c:655
-msgid "no column alias was provided"
-msgstr "aucun alias de colonne n'a été fourni"
+#: access/gist/gistutil.c:649
+#, c-format
+msgid "index \"%s\" needs VACUUM or REINDEX to finish crash recovery"
+msgstr "l'index  «%s» a besoin d'un VACUUM ou d'un REINDEX pour terminer la récupération suite à l'arrêt brutal"
 
-#: access/common/tupdesc.c:679
-msgid "could not determine row description for function returning record"
-msgstr "n'a pas pu déterminer la description de la ligne pour la fonction renvoyant l'enregistrement"
+#: access/gist/gistxlog.c:761
+#, c-format
+msgid "index %u/%u/%u needs VACUUM or REINDEX to finish crash recovery"
+msgstr "l'index  %u/%u/%u a besoin d'un VACUUM ou d'un REINDEX pour terminer la récupération suite à l'arrêt brutal"
 
-#: access/hash/hashinsert.c:90
+#: access/gist/gistxlog.c:763
+msgid "Incomplete insertion detected during crash replay."
+msgstr "Insertion incomplète détectée lors de la ré-exécution des requêtes suite à l'arrêt brutal."
+
+#: access/hash/hashinsert.c:89
 #, c-format
 msgid "index row size %lu exceeds hash maximum %lu"
 msgstr "la taille de la ligne index, %lu, dépasse le hachage maximum %lu"
 
+#: access/hash/hashinsert.c:92 access/rtree/rtree.c:737
+msgid "Values larger than a buffer page cannot be indexed."
+msgstr "Les valeurs plus larges qu'une page de tampon ne peuvent pas être indexées."
+
 #: access/hash/hashsearch.c:146
 msgid "hash indexes do not support whole-index scans"
 msgstr "les index hâchés ne supportent pas les parcours complets d'index"
@@ -87,1013 +99,1176 @@ msgstr "l'index 
 msgid "Please REINDEX it."
 msgstr "Merci de lancer REINDEX sur cet objet."
 
-#: access/heap/heapam.c:487
+#: access/heap/heapam.c:484
 #, c-format
 msgid "could not obtain lock on relation \"%s\""
 msgstr "n'a pas pu obtenir un verrouillage sur la relation «%s»"
 
-#: access/heap/heapam.c:610 access/heap/heapam.c:645 access/heap/heapam.c:680
-#: catalog/aclchk.c:286
+#: access/heap/heapam.c:567 access/heap/heapam.c:602 catalog/aclchk.c:275
 #, c-format
 msgid "\"%s\" is an index"
 msgstr "«%s» est un index"
 
-#: access/heap/heapam.c:615 access/heap/heapam.c:650 access/heap/heapam.c:685
+#: access/heap/heapam.c:572 access/heap/heapam.c:607
 #, c-format
 msgid "\"%s\" is a special relation"
 msgstr "«%s» est une relation spéciale"
 
-#: access/heap/heapam.c:620 access/heap/heapam.c:655 access/heap/heapam.c:690
-#: catalog/aclchk.c:293
+#: access/heap/heapam.c:577 access/heap/heapam.c:612 catalog/aclchk.c:282
 #, c-format
 msgid "\"%s\" is a composite type"
 msgstr "«%s» est un type composite"
 
-#: access/heap/hio.c:109
+#: access/heap/heapam.c:2101 access/heap/heapam.c:2132
+#: access/heap/heapam.c:2167
+#, 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:118
 #, c-format
 msgid "row is too big: size %lu, maximum size %lu"
 msgstr "la ligne est trop grande : taille %lu, taille maximum %lu"
 
-#: access/index/indexam.c:139 access/index/indexam.c:164
-#: access/index/indexam.c:189 commands/comment.c:327 commands/indexcmds.c:887
-#: commands/indexcmds.c:917 tcop/utility.c:93
+#: access/index/indexam.c:149 access/index/indexam.c:174
+#: commands/comment.c:333 commands/indexcmds.c:889 commands/indexcmds.c:919
+#: tcop/utility.c:93
 #, c-format
 msgid "\"%s\" is not an index"
 msgstr "«%s» n'est pas un index"
 
-#: access/nbtree/nbtinsert.c:254
+#: access/nbtree/nbtinsert.c:249
 #, c-format
 msgid "duplicate key violates unique constraint \"%s\""
 msgstr "une clé dupliquée rompt la contrainte unique «%s»"
 
-#: access/nbtree/nbtinsert.c:398 access/nbtree/nbtsort.c:499
+#: access/nbtree/nbtinsert.c:390 access/nbtree/nbtsort.c:499
 #, c-format
 msgid "index row size %lu exceeds btree maximum, %lu"
 msgstr "la taille de la ligne index %lu dépasse le maximum de btree, %lu"
 
-#: access/nbtree/nbtpage.c:169 access/nbtree/nbtpage.c:350
+#: access/nbtree/nbtinsert.c:393 access/nbtree/nbtsort.c:502
+msgid ""
+"Values larger than 1/3 of a buffer page cannot be indexed.\n"
+"Consider a function index of an MD5 hash of the value, or use full text "
+"indexing."
+msgstr ""
+"Les valeurs plus larges qu'un tiers d'une page de tampon ne peuvent pas être indexées.\n"
+"Considérez un index de fonction d'un hachage MD5 de la valeur ou utilisez l'indexation «full text »."
+
+#: access/nbtree/nbtpage.c:176 access/nbtree/nbtpage.c:357
 #, c-format
 msgid "index \"%s\" is not a btree"
 msgstr "l'index «%s» n'est pas un btree"
 
-#: access/nbtree/nbtpage.c:175 access/nbtree/nbtpage.c:356
+#: access/nbtree/nbtpage.c:182 access/nbtree/nbtpage.c:363
 #, c-format
 msgid "version mismatch in index \"%s\": file version %d, code version %d"
 msgstr "la version ne correspond pas dans l'index «%s» : version du fichier %d, version du code %d"
 
-#: access/rtree/rtree.c:646
+#: access/rtree/rtree.c:595
 msgid "variable-length rtree keys are not supported"
 msgstr "les clés rtree de longueur variable ne sont pas supportées"
 
-#: access/rtree/rtree.c:786
+#: access/rtree/rtree.c:734
 #, c-format
 msgid "index row size %lu exceeds rtree maximum, %lu"
 msgstr "la taille de la ligne index %lu dépasse le maximum du rtree, %lu"
 
-#: access/transam/xlog.c:907
+#: access/transam/slru.c:453
+#, c-format
+msgid "file \"%s\" doesn't exist, reading as zeroes"
+msgstr "le fichier «%s» n'existe pas, remplacé par des zéros"
+
+#: access/transam/slru.c:638 access/transam/slru.c:645
+#: access/transam/slru.c:652 access/transam/slru.c:659
+#: access/transam/slru.c:666 access/transam/slru.c:673
+#: access/transam/slru.c:680
+#, c-format
+msgid "could not access status of transaction %u"
+msgstr "n'a pas pu accéder au statut de la transaction %u"
+
+#: ../port/copydir.c:119 access/transam/slru.c:639 access/transam/xlog.c:1880
+#: access/transam/xlog.c:3090 access/transam/xlog.c:3180
+#: access/transam/xlog.c:3278 libpq/hba.c:946 postmaster/autovacuum.c:454
+#: utils/error/elog.c:1118 utils/init/miscinit.c:990
+#: utils/init/miscinit.c:1096 utils/init/postinit.c:91
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "n'a pas pu ouvrir le fichier «%s» : %m"
+
+#: ../port/copydir.c:126 access/transam/slru.c:646 access/transam/xlog.c:1772
+#: access/transam/xlog.c:1895 access/transam/xlog.c:3259
+#: access/transam/xlog.c:5692 access/transam/xlog.c:5808
+#: postmaster/postmaster.c:2951
+#, c-format
+msgid "could not create file \"%s\": %m"
+msgstr "n'a pas pu créer le fichier «%s» : %m"
+
+#: access/transam/slru.c:653
+#, c-format
+msgid "could not seek in file \"%s\" to offset %u: %m"
+msgstr "n'a pas pu chercher dans le fichier «%s» pour le décalage %u : %m"
+
+#: access/transam/slru.c:660
+#, c-format
+msgid "could not read from file \"%s\" at offset %u: %m"
+msgstr "n'a pas pu lire le fichier «%s» au décalage %u : %m"
+
+#: access/transam/slru.c:667
+#, c-format
+msgid "could not write to file \"%s\" at offset %u: %m"
+msgstr "n'a pas pu écrire le fichier «%s» au décalage %u : %m"
+
+#: ../port/copydir.c:158 access/transam/slru.c:674 access/transam/xlog.c:1808
+#: access/transam/xlog.c:1935 access/transam/xlog.c:3356
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "n'a pas pu synchroniser (fsync) le fichier «%s» : %m"
+
+#: ../port/copydir.c:163 access/transam/slru.c:681 access/transam/xlog.c:1813
+#: access/transam/xlog.c:1940 access/transam/xlog.c:3361
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "n'a pas pu fermer le fichier «%s» : %m"
+
+#: access/transam/slru.c:863
+#, c-format
+msgid "could not truncate directory \"%s\": apparent wraparound"
+msgstr "n'a pas pu tronquer «%s» : contournement apparent"
+
+#: access/transam/slru.c:942
+#, c-format
+msgid "removing file \"%s\""
+msgstr "suppression du fichier «%s»"
+
+#: access/transam/twophase.c:224
+#, c-format
+msgid "global transaction identifier \"%s\" is too long"
+msgstr "l'identifiant de la transaction globale «%s» est trop long"
+
+#: access/transam/twophase.c:259
+#, c-format
+msgid "global transaction identifier \"%s\" is already in use"
+msgstr "l'identifiant de la transaction globale «%s» est déjà utilisé"
+
+#: access/transam/twophase.c:268
+msgid "maximum number of prepared transactions reached"
+msgstr "nombre maximum de transactions préparées obtenues"
+
+#: access/transam/twophase.c:269
+#, c-format
+msgid "Increase max_prepared_transactions (currently %d)."
+msgstr "Augmentez max_prepared_transactions (actuellement %d)."
+
+#: access/transam/twophase.c:383
+#, c-format
+msgid "prepared transaction with gid \"%s\" is busy"
+msgstr "la transaction préparée de gid «%s» est occupée"
+
+#: access/transam/twophase.c:391
+msgid "permission denied to finish prepared transaction"
+msgstr "droit refusé pour terminer la transaction préparée"
+
+#: access/transam/twophase.c:392
+msgid "Must be superuser or the user that prepared the transaction."
+msgstr "Doit être superutilisateur ou l'utilisateur qui a préparé la transaction."
+
+#: access/transam/twophase.c:406
+#, c-format
+msgid "prepared transaction with gid \"%s\" does not exist"
+msgstr "la transaction préparée de gid «%s» n'existe pas"
+
+#: access/transam/twophase.c:869
+#, c-format
+msgid "could not create twophase state file \"%s\": %m"
+msgstr "n'a pas pu créer le fichier de statut de la validation en deux phases «%s» : %m"
+
+#: access/transam/twophase.c:883 access/transam/twophase.c:901
+#: access/transam/twophase.c:950 access/transam/twophase.c:1292
+#: access/transam/twophase.c:1299
+#, c-format
+msgid "could not write twophase state file: %m"
+msgstr "n'a pas pu écrire dans le fichier d'état de la validation en deux phases : %m"
+
+#: access/transam/twophase.c:910
+#, c-format
+msgid "could not seek twophase state file: %m"
+msgstr "n'a pas pu trouver le fichier de statut de la validation en deux phases : %m"
+
+#: access/transam/twophase.c:956 access/transam/twophase.c:1317
+#, c-format
+msgid "could not close twophase state file: %m"
+msgstr "n'a pas pu fermer le fichier d'état de la validation en deux phases : %m"
+
+#: access/transam/twophase.c:1025 access/transam/twophase.c:1394
+#, c-format
+msgid "could not open twophase state file \"%s\": %m"
+msgstr "n'a pas pu ouvrir le fichier d'état de la validation en deux phases «%s» : %m"
+
+#: access/transam/twophase.c:1040
+#, c-format
+msgid "could not stat twophase state file \"%s\": %m"
+msgstr "n'a pas pu tester le fichier d'état de la validation en deux phases «%s» : %m"
+
+#: access/transam/twophase.c:1071
+#, c-format
+msgid "could not read twophase state file \"%s\": %m"
+msgstr "n'a pas pu lire le fichier d'état de la validation en deux phases «%s»: %m"
+
+#: access/transam/twophase.c:1132
+#, c-format
+msgid "twophase state file for transaction %u is corrupt"
+msgstr "le fichier d'état de la validation en deux phases est corrompu pour la transaction %u"
+
+#: access/transam/twophase.c:1254
+#, c-format
+msgid "could not remove two-phase state file \"%s\": %m"
+msgstr "n'a pas pu supprimer le fichier d'état de la validation en deux phases «%s» : %m"
+
+#: access/transam/twophase.c:1283
+#, c-format
+msgid "could not recreate twophase state file \"%s\": %m"
+msgstr "n'a pas pu re-créer le fichier d'état de la validation en deux phases «%s» : %m"
+
+#: access/transam/twophase.c:1311
+#, c-format
+msgid "could not fsync twophase state file: %m"
+msgstr "n'a pas pu synchroniser (fsync) le fichier d'état de la validation en deux phases : %m"
+
+#: access/transam/twophase.c:1403
+#, c-format
+msgid "could not fsync twophase state file \"%s\": %m"
+msgstr "n'a pas pu synchroniser (fsync) le fichier d'état de la validation en deux phases«%s» : %m"
+
+#: access/transam/twophase.c:1410
+#, c-format
+msgid "could not close twophase state file \"%s\": %m"
+msgstr "n'a pas pu fermer le fichier d'état de la validation en deux phases «%s»: %m"
+
+#: access/transam/twophase.c:1466
+#, c-format
+msgid "removing future twophase state file \"%s\""
+msgstr "suppression le futu fichier d'état de la validation en deux phases «%s»"
+
+#: access/transam/twophase.c:1482 access/transam/twophase.c:1493
+#: access/transam/twophase.c:1581
+#, c-format
+msgid "removing corrupt twophase state file \"%s\""
+msgstr "suppression du fichier d'état corrompu de la validation en deux phases «%s»"
+
+#: access/transam/twophase.c:1570
+#, c-format
+msgid "removing stale twophase state file \"%s\""
+msgstr "suppression du vieux fichier d'état de la validation en deux phases «%s»"
+
+#: access/transam/twophase.c:1588
+#, c-format
+msgid "recovering prepared transaction %u"
+msgstr "récupération de la transaction préparée %u"
+
+#: access/transam/xlog.c:1049
 #, c-format
 msgid "could not create archive status file \"%s\": %m"
 msgstr "n'a pas pu créer le fichier de statut d'archives «%s» : %m"
 
-#: access/transam/xlog.c:915
+#: access/transam/xlog.c:1057
 #, c-format
 msgid "could not write archive status file \"%s\": %m"
 msgstr "n'a pas pu écrire le fichier de statut d'archive «%s» : %m"
 
-#: access/transam/xlog.c:1180 access/transam/xlog.c:1321
-#: access/transam/xlog.c:5209
+#: access/transam/xlog.c:1358 access/transam/xlog.c:1541
+#: access/transam/xlog.c:5537
 #, c-format
 msgid "could not close log file %u, segment %u: %m"
 msgstr "n'a pas pu fermer le journal de traces %u, segment %u : %m"
 
-#: access/transam/xlog.c:1255 access/transam/xlog.c:2433
+#: access/transam/xlog.c:1458 access/transam/xlog.c:2724
 #, c-format
 msgid "could not seek in log file %u, segment %u to offset %u: %m"
 msgstr ""
 "n'a pas pu chercher dans le journal de traces %u, du segment %u au segment %"
 "u : %m"
 
-#: access/transam/xlog.c:1269
+#: access/transam/xlog.c:1475
 #, c-format
-msgid "could not write to log file %u, segment %u at offset %u: %m"
-msgstr "n'a pas pu écrire dans le journal de traces %u, segment %u au décalage %u : %m"
+msgid "could not write to log file %u, segment %u at offset %u length %lu: %m"
+msgstr "n'a pas pu écrire dans le journal de traces %u, segment %u au décalage %u, longueur %lu : %m"
 
-#: access/transam/xlog.c:1521 access/transam/xlog.c:1612
-#: access/transam/xlog.c:1825 access/transam/xlog.c:1879
-#: access/transam/xlog.c:1888
+#: access/transam/xlog.c:1749 access/transam/xlog.c:1843
+#: access/transam/xlog.c:2060 access/transam/xlog.c:2114
+#: access/transam/xlog.c:2123
 #, c-format
 msgid "could not open file \"%s\" (log file %u, segment %u): %m"
 msgstr "n'a pas pu ouvrir le fichier «%s» (journal de traces %u, segment %u) : %m"
 
-#: access/transam/slru.c:645 access/transam/xlog.c:1544
-#: access/transam/xlog.c:1664 access/transam/xlog.c:2939
-#: access/transam/xlog.c:5357 access/transam/xlog.c:5475
-#: postmaster/postmaster.c:2907
-#, c-format
-msgid "could not create file \"%s\": %m"
-msgstr "n'a pas pu créer le fichier «%s» : %m"
-
-#: access/transam/xlog.c:1573 access/transam/xlog.c:1697
-#: access/transam/xlog.c:2992 access/transam/xlog.c:3030 commands/copy.c:1118
-#: commands/tablespace.c:664 commands/tablespace.c:670
-#: postmaster/postmaster.c:2917 postmaster/postmaster.c:2927
-#: utils/init/miscinit.c:832 utils/init/miscinit.c:841 utils/misc/guc.c:4799
-#: utils/misc/guc.c:4863
+#: ../port/copydir.c:148 access/transam/xlog.c:1801 access/transam/xlog.c:1928
+#: access/transam/xlog.c:3312 access/transam/xlog.c:3350 commands/copy.c:1067
+#: commands/tablespace.c:647 commands/tablespace.c:653
+#: postmaster/postmaster.c:2961 postmaster/postmaster.c:2971
+#: utils/init/miscinit.c:1039 utils/init/miscinit.c:1048 utils/misc/guc.c:5057
+#: utils/misc/guc.c:5120
 #, c-format
 msgid "could not write to file \"%s\": %m"
 msgstr "n'a pas pu écrire dans le fichier «%s» : %m"
 
-#: access/transam/slru.c:673 access/transam/xlog.c:1580
-#: access/transam/xlog.c:1704 access/transam/xlog.c:3036
-#, c-format
-msgid "could not fsync file \"%s\": %m"
-msgstr "n'a pas pu synchroniser (fsync) le fichier «%s» : %m"
-
-#: access/transam/slru.c:680 access/transam/xlog.c:1585
-#: access/transam/xlog.c:1709 access/transam/xlog.c:3041
-#, c-format
-msgid "could not close file \"%s\": %m"
-msgstr "n'a pas pu fermer le fichier «%s» : %m"
-
-#: access/transam/slru.c:638 access/transam/xlog.c:1649
-#: access/transam/xlog.c:2770 access/transam/xlog.c:2860
-#: access/transam/xlog.c:2958 libpq/hba.c:912 libpq/hba.c:936
-#: utils/error/elog.c:1118 utils/init/miscinit.c:783 utils/init/miscinit.c:889
-#: utils/misc/database.c:68
-#, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "n'a pas pu ouvrir le fichier «%s» : %m"
-
-#: access/transam/xlog.c:1677 access/transam/xlog.c:2970
-#: access/transam/xlog.c:5446 access/transam/xlog.c:5497
-#: access/transam/xlog.c:5569 access/transam/xlog.c:5594
-#: access/transam/xlog.c:5632
+#: ../port/copydir.c:137 access/transam/xlog.c:1908 access/transam/xlog.c:3290
+#: access/transam/xlog.c:5779 access/transam/xlog.c:5830
+#: access/transam/xlog.c:5902 access/transam/xlog.c:5927
+#: access/transam/xlog.c:5965 utils/adt/genfile.c:139
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "n'a pas pu lire le fichier «%s» : %m"
 
-#: access/transam/xlog.c:1680
+#: access/transam/xlog.c:1911
 #, c-format
 msgid "not enough data in file \"%s\""
 msgstr "données insuffisantes dans le fichier «%s»"
 
-#: access/transam/xlog.c:1792
+#: access/transam/xlog.c:2027
 #, c-format
 msgid ""
 "could not link file \"%s\" to \"%s\" (initialization of log file %u, segment "
 "%u): %m"
 msgstr "n'a pas pu lier le fichier «%s» à «%s» (initialisation du journal de traces %u, segment %u) : %m"
 
-#: access/transam/xlog.c:1799
+#: access/transam/xlog.c:2034
 #, c-format
 msgid ""
 "could not rename file \"%s\" to \"%s\" (initialization of log file %u, "
 "segment %u): %m"
 msgstr "n'a pas pu renommer le fichier \"%s\" en «%s» (initialisation du journal de traces %u, segment %u) : %m"
 
-#: access/transam/xlog.c:1954 access/transam/xlog.c:2056
-#: access/transam/xlog.c:5340
+#: access/transam/xlog.c:2189 access/transam/xlog.c:2291
+#: access/transam/xlog.c:5675 utils/adt/genfile.c:173
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "n'a pas pu tester le fichier «%s» : %m"
 
-#: access/transam/xlog.c:1962 access/transam/xlog.c:5502
-#: access/transam/xlog.c:5656 commands/tablespace.c:589
+#: access/transam/xlog.c:2197 access/transam/xlog.c:5835
+#: access/transam/xlog.c:5986 commands/tablespace.c:572
 #, c-format
 msgid "could not remove file \"%s\": %m"
 msgstr "n'a pas pu supprimer le fichier «%s» : %m"
 
-#: access/transam/xlog.c:2037
+#: access/transam/xlog.c:2272
 #, c-format
 msgid "archive file \"%s\" has wrong size: %lu instead of %lu"
 msgstr "le fichier d'archive «%s» a la mauvaise taille : %lu au lieu de %lu"
 
-#: access/transam/xlog.c:2044
+#: access/transam/xlog.c:2279
 #, c-format
 msgid "restored log file \"%s\" from archive"
 msgstr "restauration du journal de traces «%s» à partir de l'archive"
 
-#: access/transam/xlog.c:2069
+#: access/transam/xlog.c:2304
 #, c-format
 msgid "could not restore file \"%s\" from archive: return code %d"
 msgstr "n'a pas pu restaurer le fichier «%s» à partir de l'archive : code de retour %d"
 
-#: access/transam/xlog.c:2137
+#: access/transam/xlog.c:2378 access/transam/xlog.c:2462
 #, c-format
 msgid "could not open transaction log directory \"%s\": %m"
 msgstr "n'a pas pu ouvrir le répertoire des journaux de traces «%s» : %m"
 
-#: access/transam/xlog.c:2182
+#: access/transam/xlog.c:2420
 #, c-format
 msgid "recycled transaction log file \"%s\""
 msgstr "recyclage du journal de transaction «%s»"
 
-#: access/transam/xlog.c:2190
+#: access/transam/xlog.c:2434
 #, c-format
 msgid "removing transaction log file \"%s\""
 msgstr "suppression du journal de transaction «%s»"
 
-#: access/transam/xlog.c:2213
+#: access/transam/xlog.c:2476
 #, c-format
-msgid "could not read transaction log directory \"%s\": %m"
-msgstr "n'a pas pu lire le répertoire des journaux de transactions «%s» : %m"
+msgid "removing transaction log backup history file \"%s\""
+msgstr "suppression du fichier historique des sauvegardes des traces de transaction «%s»"
 
-#: access/transam/xlog.c:2297
+#: access/transam/xlog.c:2588
 #, c-format
-msgid "incorrect resource manager data checksum in record at %X/%X"
-msgstr "somme de contrôle des données du gestionnaire de ressources incorrectes dans l'enregistrement %X/%X"
+msgid "incorrect hole size in record at %X/%X"
+msgstr "taille du trou incorrect à l'enregistrement %X/%X"
+
+#: access/transam/xlog.c:2601
+#, c-format
+msgid "incorrect total length in record at %X/%X"
+msgstr "longueur totale incorrecte à l'enregistrement %X/%X"
 
-#: access/transam/xlog.c:2320
+#: access/transam/xlog.c:2614
 #, c-format
-msgid "incorrect checksum of backup block %d in record at %X/%X"
-msgstr "somme de contrôle incorrect du bloc de sauvegarde %d à l'enregistrement %X/%X"
+msgid "incorrect resource manager data checksum in record at %X/%X"
+msgstr "somme de contrôle des données du gestionnaire de ressources incorrectes dans l'enregistrement %X/%X"
 
-#: access/transam/xlog.c:2393 access/transam/xlog.c:2463
+#: access/transam/xlog.c:2684 access/transam/xlog.c:2754
 #, c-format
 msgid "invalid record offset at %X/%X"
 msgstr "décalage invalide de l'enregistrement %X/%X"
 
-#: access/transam/xlog.c:2441
+#: access/transam/xlog.c:2732
 #, c-format
 msgid "could not read from log file %u, segment %u at offset %u: %m"
 msgstr "n'a pas pu lire le journal de traces %u, segment %u au décalage %u : %m"
 
-#: access/transam/xlog.c:2471
+#: access/transam/xlog.c:2762
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "«contrecord» est requis par %X/%X"
 
-#: access/transam/xlog.c:2486
+#: access/transam/xlog.c:2777
 #, c-format
 msgid "record with zero length at %X/%X"
 msgstr "enregistrement de longueur nulle sur %X/%X"
 
-#: access/transam/xlog.c:2493
+#: access/transam/xlog.c:2786
+#, c-format
+msgid "invalid record length at %X/%X"
+msgstr "longueur invalide de l'enregistrement à %X/%X"
+
+#: access/transam/xlog.c:2793
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "identifiant du gestionnaire de ressources invalide %u sur %X/%X"
 
-#: access/transam/xlog.c:2531
+#: access/transam/xlog.c:2806 access/transam/xlog.c:2822
+#, c-format
+msgid "record with incorrect prev-link %X/%X at %X/%X"
+msgstr "enregistrement avec prev-link %X/%X incorrect à %X/%X"
+
+#: access/transam/xlog.c:2851
 #, c-format
 msgid "record length %u at %X/%X too long"
 msgstr "longueur %u de l'enregistrement sur %X/%X trop importante"
 
-#: access/transam/xlog.c:2567
+#: access/transam/xlog.c:2887
 #, c-format
 msgid "could not read from log file %u, segment %u, offset %u: %m"
 msgstr "n'a pas pu lire le journal de traces %u, segment %u décalage %u : %m"
 
-#: access/transam/xlog.c:2576
+#: access/transam/xlog.c:2896
 #, c-format
 msgid "there is no contrecord flag in log file %u, segment %u, offset %u"
 msgstr "il n'y a pas de drapeaux contrecord dans le journal de traces %u, segment %u, décalage %u"
 
-#: access/transam/xlog.c:2586
+#: access/transam/xlog.c:2906
 #, c-format
 msgid "invalid contrecord length %u in log file %u, segment %u, offset %u"
 msgstr "longueur du contrecord invalide, %u, dans le journal de traces %u, segment %u, décalage %u"
 
-#: access/transam/xlog.c:2653
+#: access/transam/xlog.c:2973
 #, c-format
 msgid "invalid magic number %04X in log file %u, segment %u, offset %u"
 msgstr "numéro magique invalide %04X dans le journal de traces %u, segment %u, décalage %u"
 
-#: access/transam/xlog.c:2660
+#: access/transam/xlog.c:2980
 #, c-format
 msgid "invalid info bits %04X in log file %u, segment %u, offset %u"
 msgstr "bits d'information %04X invalides dans le journal de traces %u, segment %u, décalage %u"
 
-#: access/transam/xlog.c:2682 access/transam/xlog.c:2690
+#: access/transam/xlog.c:3002 access/transam/xlog.c:3010
 msgid "WAL file is from different system"
 msgstr "le fichier WAL provient d'un système différent"
 
-#: access/transam/xlog.c:2683
+#: access/transam/xlog.c:3003
 #, c-format
 msgid "WAL file SYSID is %s, pg_control SYSID is %s"
 msgstr "Le SYSID du fichier WAL est %s, celui de pg_control est %s"
 
-#: access/transam/xlog.c:2691
+#: access/transam/xlog.c:3011
 msgid "Incorrect XLOG_SEG_SIZE in page header."
 msgstr "XLOG_SEG_SIZE incorrecte dans l'en-tête de page."
 
-#: access/transam/xlog.c:2700
+#: access/transam/xlog.c:3020
 #, c-format
 msgid "unexpected pageaddr %X/%X in log file %u, segment %u, offset %u"
 msgstr "page d'adressage %X/%X inattendue dans le journal de traces %u, segment %u, décalage %u"
 
-#: access/transam/xlog.c:2712
+#: access/transam/xlog.c:3032
 #, c-format
 msgid "unexpected timeline ID %u in log file %u, segment %u, offset %u"
 msgstr "identifiant timeline %u inattendu dans le journal de traces %u, segment %u, décalage %u"
 
-#: access/transam/xlog.c:2730
+#: access/transam/xlog.c:3050
 #, c-format
 msgid ""
 "out-of-sequence timeline ID %u (after %u) in log file %u, segment %u, offset "
 "%u"
 msgstr "identifiant timeline %u hors de la séquence (après %u) dans le journal de traces %u, segment %u, décalage %u"
 
-#: access/transam/xlog.c:2799
+#: access/transam/xlog.c:3119
 #, c-format
 msgid "syntax error in history file: %s"
 msgstr "erreur de syntaxe dans le fichier historique : %s"
 
-#: access/transam/xlog.c:2800
+#: access/transam/xlog.c:3120
 msgid "Expected a numeric timeline ID."
 msgstr "Identifiant timeline numérique attendue"
 
-#: access/transam/xlog.c:2805
+#: access/transam/xlog.c:3125
 #, c-format
 msgid "invalid data in history file: %s"
 msgstr "données invalides dans le fichier historique : «%s»"
 
-#: access/transam/xlog.c:2806
+#: access/transam/xlog.c:3126
 msgid "Timeline IDs must be in increasing sequence."
 msgstr "Les identifiants timeline doivent être en ordre croissant."
 
-#: access/transam/xlog.c:2819
+#: access/transam/xlog.c:3139
 #, c-format
 msgid "invalid data in history file \"%s\""
 msgstr "données invalides dans le fichier historique «%s»"
 
-#: access/transam/xlog.c:2820
+#: access/transam/xlog.c:3140
 msgid "Timeline IDs must be less than child timeline's ID."
 msgstr "Les identifiants timeline doivent être plus petits que les enfants des identifiants timeline."
 
-#: access/transam/xlog.c:3058
+#: access/transam/xlog.c:3378
 #, c-format
 msgid "could not link file \"%s\" to \"%s\": %m"
 msgstr "n'a pas pu lier le fichier «%s» vers «%s» : %m"
 
-#: access/transam/xlog.c:3065 access/transam/xlog.c:3847
-#: access/transam/xlog.c:3890 commands/user.c:282 commands/user.c:412
-#: postmaster/pgarch.c:596
+#: access/transam/xlog.c:3385 access/transam/xlog.c:4169
+#: access/transam/xlog.c:4210 postmaster/pgarch.c:561
+#: utils/init/flatfiles.c:271 utils/init/flatfiles.c:647
 #, 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:3126
+#: access/transam/xlog.c:3437
 msgid "invalid LC_COLLATE setting"
 msgstr "paramètre LC_COLLATE invalide"
 
-#: access/transam/xlog.c:3131
+#: access/transam/xlog.c:3442
 msgid "invalid LC_CTYPE setting"
 msgstr "paramètre LC_CTYPE invalide"
 
-#: access/transam/xlog.c:3150
+#: access/transam/xlog.c:3461
 msgid "sizeof(ControlFileData) is larger than BLCKSZ; fix either one"
-msgstr ""
-"sizeof(ControlFileData) est plus gros que BLCKSZ ; corrigez au moins un"
+msgstr "sizeof(ControlFileData) est plus gros que BLCKSZ ; corrigez au moins un"
 
-#: access/transam/xlog.c:3160
+#: access/transam/xlog.c:3472
 #, 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:3171 access/transam/xlog.c:3358
+#: access/transam/xlog.c:3483 access/transam/xlog.c:3674
 #, 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:3177 access/transam/xlog.c:3364
+#: access/transam/xlog.c:3489 access/transam/xlog.c:3680
 #, c-format
 msgid "could not fsync control file: %m"
 msgstr "n'a pas pu synchroniser (fsync) le fichier de contrôle : %m"
 
-#: access/transam/xlog.c:3182 access/transam/xlog.c:3369
+#: access/transam/xlog.c:3494 access/transam/xlog.c:3685
 #, 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:3198 access/transam/xlog.c:3347
+#: access/transam/xlog.c:3512 access/transam/xlog.c:3663
 #, 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:3204
+#: access/transam/xlog.c:3518
 #, 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:3216 access/transam/xlog.c:3246
-#: access/transam/xlog.c:3253 access/transam/xlog.c:3260
-#: access/transam/xlog.c:3267 access/transam/xlog.c:3274
-#: access/transam/xlog.c:3281 access/transam/xlog.c:3290
-#: access/transam/xlog.c:3297 access/transam/xlog.c:3305
-#: utils/init/miscinit.c:907
+#: access/transam/xlog.c:3530 access/transam/xlog.c:3560
+#: access/transam/xlog.c:3567 access/transam/xlog.c:3574
+#: access/transam/xlog.c:3581 access/transam/xlog.c:3588
+#: access/transam/xlog.c:3595 access/transam/xlog.c:3604
+#: access/transam/xlog.c:3611 access/transam/xlog.c:3619
+#: utils/init/miscinit.c:1114
 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:3217
+#: access/transam/xlog.c:3531
 #, 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 PG_CONTROL_VERSION %d mais le serveur a été compilé avec PG_CONTROL_VERSION %d."
 
-#: access/transam/xlog.c:3220 access/transam/xlog.c:3250
+#: access/transam/xlog.c:3534 access/transam/xlog.c:3564
 msgid "It looks like you need to initdb."
 msgstr "Il semble que vous ayez besoin d'initdb."
 
-#: access/transam/xlog.c:3230
+#: access/transam/xlog.c:3544
 msgid "incorrect checksum in control file"
 msgstr "somme de contrôle incorrecte dans le fichier de contrôle"
 
-#: access/transam/xlog.c:3247
+#: access/transam/xlog.c:3561
 #, 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 CATALOG_VERSION_NO %d, mais le serveur a été compilé avec CATALOG_VERSION_NO %d."
 
-#: access/transam/xlog.c:3254
+#: access/transam/xlog.c:3568
 #, 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 BLCKSZ %d, mais le serveur a été compilé avec BLCKSZ %d."
 
-#: access/transam/xlog.c:3257 access/transam/xlog.c:3264
-#: access/transam/xlog.c:3271 access/transam/xlog.c:3278
-#: access/transam/xlog.c:3285 access/transam/xlog.c:3293
-#: access/transam/xlog.c:3300 access/transam/xlog.c:3309
+#: access/transam/xlog.c:3571 access/transam/xlog.c:3578
+#: access/transam/xlog.c:3585 access/transam/xlog.c:3592
+#: access/transam/xlog.c:3599 access/transam/xlog.c:3607
+#: access/transam/xlog.c:3614 access/transam/xlog.c:3623
 msgid "It looks like you need to recompile or initdb."
 msgstr "Il semble que vous ayez besoin de recompiler ou de relancer initdb."
 
-#: access/transam/xlog.c:3261
+#: access/transam/xlog.c:3575
 #, 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 RELSEG_SIZE %d, mais le serveur a été compilé avec RELSEG_SIZE %d."
 
-#: access/transam/xlog.c:3268
+#: access/transam/xlog.c:3582
 #, 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 XLOG_SEG_SIZE %d, mais le serveur a été compilé avec XLOG_SEG_SIZE %d."
 
-#: access/transam/xlog.c:3275
+#: access/transam/xlog.c:3589
 #, 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 NAMEDATALEN %d, mais le serveur a été compilé avec NAMEDATALEN %d."
 
-#: access/transam/xlog.c:3282
+#: access/transam/xlog.c:3596
 #, c-format
 msgid ""
-"The database cluster was initialized with FUNC_MAX_ARGS %d, but the server "
-"was compiled with FUNC_MAX_ARGS %d."
-msgstr "Le cluster de bases de données a été compilé avec FUNC_MAX_ARGS %d, mais le serveur a été compilé avec FUNC_MAX_ARGS %d."
+"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 INDEX_MAX_KEYS %d alors que le serveura été compilé avec INDEX_MAX_KEYS %d."
 
-#: access/transam/xlog.c:3291
+#: access/transam/xlog.c:3605
 msgid ""
 "The database cluster was initialized without HAVE_INT64_TIMESTAMP but the "
 "server was compiled with HAVE_INT64_TIMESTAMP."
 msgstr "Le cluster de bases de données a été initialisé sans HAVE_INT64_TIMESTAMP mais le serveur a été compilé avec HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:3298
+#: access/transam/xlog.c:3612
 msgid ""
 "The database cluster was initialized with HAVE_INT64_TIMESTAMP but the "
 "server was compiled without HAVE_INT64_TIMESTAMP."
 msgstr "Le cluster de bases de données a été initialisé avec HAVE_INT64_TIMESTAMP mais le serveur a été compilé sans HAVE_INT64_TIMESTAMP."
 
-#: access/transam/xlog.c:3306
+#: access/transam/xlog.c:3620
 #, c-format
 msgid ""
 "The database cluster was initialized with LOCALE_NAME_BUFLEN %d, but the "
 "server was compiled with LOCALE_NAME_BUFLEN %d."
 msgstr "Le cluster de bases de données a été initialisé avec LOCALE_NAME_BUFLEN %d mais le serveur a été compilé avec LOCALE_NAME_BUFLEN %d."
 
-#: access/transam/xlog.c:3312 access/transam/xlog.c:3319
+#: access/transam/xlog.c:3626 access/transam/xlog.c:3633
 msgid "database files are incompatible with operating system"
 msgstr "les fichiers de la base de données sont incompatibles avec le système d'exploitation"
 
-#: access/transam/xlog.c:3313
+#: access/transam/xlog.c:3627
 #, c-format
 msgid ""
 "The database cluster was initialized with LC_COLLATE \"%s\", which is not "
 "recognized by setlocale()."
 msgstr "Le cluster de bases de données a été initialisé avec LC_COLLATE «%s», qui n'est pas reconnu par setlocale()."
 
-#: access/transam/xlog.c:3316 access/transam/xlog.c:3323
+#: access/transam/xlog.c:3630 access/transam/xlog.c:3637
 msgid "It looks like you need to initdb or install locale support."
 msgstr ""
 "Il semble que vous ayez besoin de lancer initdb ou d'installer le support "
 "des locales."
 
-#: access/transam/xlog.c:3320
+#: access/transam/xlog.c:3634
 #, c-format
 msgid ""
 "The database cluster was initialized with LC_CTYPE \"%s\", which is not "
 "recognized by setlocale()."
 msgstr "Le cluster de bases de données a été initialisé avec LC_CTYPE «%s», qui n'est pas reconnu par setlocale()."
 
-#: access/transam/xlog.c:3546
+#: access/transam/xlog.c:3869
 #, c-format
 msgid "could not write bootstrap transaction log file: %m"
 msgstr "impossible d'écrire le «bootstrap» du journal des transactions : %m"
 
-#: access/transam/xlog.c:3552
+#: access/transam/xlog.c:3875
 #, c-format
 msgid "could not fsync bootstrap transaction log file: %m"
 msgstr "n'a pas pu synchroniser (fsync) le «bootstrap» du journal des transactions : %m"
 
-#: access/transam/xlog.c:3557
+#: access/transam/xlog.c:3880
 #, c-format
 msgid "could not close bootstrap transaction log file: %m"
 msgstr "n'a pas pu écrire le «bootstrap» du journal des transactions : %m"
 
-#: access/transam/xlog.c:3619
+#: access/transam/xlog.c:3943
 #, c-format
 msgid "could not open recovery command file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier serveur de restauration «%s» : %m"
 
-#: access/transam/xlog.c:3624
+#: access/transam/xlog.c:3948
 msgid "starting archive recovery"
 msgstr "début de la récupération de l'archive"
 
-#: access/transam/xlog.c:3669
+#: access/transam/xlog.c:3993
 #, c-format
 msgid "restore_command = \"%s\""
 msgstr "restore_command = «%s»"
 
-#: access/transam/xlog.c:3683
+#: access/transam/xlog.c:4007
 #, 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:3688
+#: access/transam/xlog.c:4012
 #, c-format
 msgid "recovery_target_timeline = %u"
 msgstr "recovery_target_timeline = %u"
 
-#: access/transam/xlog.c:3691
+#: access/transam/xlog.c:4015
 msgid "recovery_target_timeline = latest"
 msgstr "recovery_target_timeline = latest"
 
-#: access/transam/xlog.c:3699
+#: access/transam/xlog.c:4023
 #, 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:3702
+#: access/transam/xlog.c:4026
 #, c-format
 msgid "recovery_target_xid = %u"
 msgstr "recovery_target_xid = %u"
 
-#: access/transam/xlog.c:3727
+#: access/transam/xlog.c:4051
 #, c-format
 msgid "recovery_target_time = %s"
 msgstr "recovery_target_time = %s"
 
-#: access/transam/xlog.c:3744
+#: access/transam/xlog.c:4068
 #, c-format
 msgid "recovery_target_inclusive = %s"
 msgstr "recovery_target_inclusive = %s"
 
-#: access/transam/xlog.c:3748
+#: access/transam/xlog.c:4072
 #, c-format
 msgid "unrecognized recovery parameter \"%s\""
 msgstr "paramètre de restauration «%s» non reconnu"
 
-#: access/transam/xlog.c:3756
+#: access/transam/xlog.c:4080
 #, c-format
 msgid "syntax error in recovery command file: %s"
 msgstr "erreur de syntaxe dans le fichier de commande de restauration : %s"
 
-#: access/transam/xlog.c:3758
+#: access/transam/xlog.c:4082
 msgid "Lines should have the format parameter = 'value'."
 msgstr "Les lignes devraient avoir le format paramètre = 'valeur'"
 
-#: access/transam/xlog.c:3763
+#: access/transam/xlog.c:4087
 #, c-format
 msgid "recovery command file \"%s\" did not specify restore_command"
 msgstr "le fichier de commande de restauration «%s» n'a pas spécifié command_restore"
 
-#: access/transam/xlog.c:3782
+#: access/transam/xlog.c:4106
 #, c-format
 msgid "recovery_target_timeline %u does not exist"
 msgstr "recovery_target_timeline %u n'existe pas"
 
-#: access/transam/xlog.c:3894
+#: access/transam/xlog.c:4214
 msgid "archive recovery complete"
 msgstr "restauration complète de l'archive"
 
-#: access/transam/xlog.c:3978
+#: access/transam/xlog.c:4298
 #, c-format
 msgid "recovery stopping after commit of transaction %u, time %s"
 msgstr "arrêt de la restauration après la validation de la transaction %u, heure %s"
 
-#: access/transam/xlog.c:3982
+#: access/transam/xlog.c:4302
 #, c-format
 msgid "recovery stopping before commit of transaction %u, time %s"
 msgstr "arrêt de la restauration avant la validation de la transaction %u, heure %s"
 
-#: access/transam/xlog.c:3989
+#: access/transam/xlog.c:4309
 #, c-format
 msgid "recovery stopping after abort of transaction %u, time %s"
 msgstr "arrêt de la restauration après l'annulation de la transaction %u, heure %s"
 
-#: access/transam/xlog.c:3993
+#: access/transam/xlog.c:4313
 #, c-format
 msgid "recovery stopping before abort of transaction %u, time %s"
 msgstr "arrêt de la restauration avant l'annulation de la transaction %u, heure %s"
 
-#: access/transam/xlog.c:4035
+#: access/transam/xlog.c:4356
 msgid "control file contains invalid data"
 msgstr "le fichier de contrôle contient des données invalides"
 
-#: access/transam/xlog.c:4039
+#: access/transam/xlog.c:4360
 #, 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:4043
+#: access/transam/xlog.c:4364
 #, c-format
 msgid "database system shutdown was interrupted at %s"
 msgstr "le système de bases de données a été interrompu à %s"
 
-#: access/transam/xlog.c:4047
+#: access/transam/xlog.c:4368
 #, 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 récupération à %s"
 
-#: access/transam/xlog.c:4049
+#: access/transam/xlog.c:4370
 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 devrez utiliser la dernière sauvegarde pour la restauration."
 
-#: access/transam/xlog.c:4053
+#: access/transam/xlog.c:4374
 #, c-format
 msgid "database system was interrupted at %s"
 msgstr "le système de bases de données a été interrompu à %s"
 
-#: access/transam/xlog.c:4085
+#: access/transam/xlog.c:4406
 #, c-format
 msgid "requested timeline %u is not a child of database system timeline %u"
 msgstr "Le timeline requis %u n'est pas un fils de la timeline %u du système de bases de données"
 
-#: access/transam/xlog.c:4100 access/transam/xlog.c:4122
+#: access/transam/xlog.c:4421 access/transam/xlog.c:4443
 #, c-format
 msgid "checkpoint record is at %X/%X"
 msgstr "l'enregistrement du point de vérification est à %X/%X"
 
-#: access/transam/xlog.c:4107
+#: access/transam/xlog.c:4428
 msgid "could not locate required checkpoint record"
 msgstr "n'a pas pu localiser un enregistrement d'un point de vérification requis"
 
-#: access/transam/xlog.c:4108
+#: access/transam/xlog.c:4429
 #, 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 fichier «%s/backup_label»."
 
-#: access/transam/xlog.c:4132
+#: access/transam/xlog.c:4453
 #, c-format
 msgid "using previous checkpoint record at %X/%X"
 msgstr "utilisation du précédent enregistrement du point de vérification à %X/%X"
 
-#: access/transam/xlog.c:4139
+#: access/transam/xlog.c:4460
 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:4148
+#: access/transam/xlog.c:4469
 #, c-format
 msgid "redo record is at %X/%X; undo record is at %X/%X; shutdown %s"
 msgstr "ré-exécution de l'enregistrement à %X/%X ; l'annulation de l'enregistrement est à %X/%X ; arrêt %s"
 
-#: access/transam/xlog.c:4153
+#: access/transam/xlog.c:4474
 #, c-format
 msgid "next transaction ID: %u; next OID: %u"
 msgstr "prochain identifiant de transaction : %u ; prochain OID : %u"
 
-#: access/transam/xlog.c:4157
+#: access/transam/xlog.c:4477
+#, c-format
+msgid "next MultiXactId: %u; next MultiXactOffset: %u"
+msgstr "prochain MultiXactId: %u; prochain MultiXactOffset: %u"
+
+#: access/transam/xlog.c:4481
 msgid "invalid next transaction ID"
 msgstr "prochain ID de transaction invalide"
 
-#: access/transam/xlog.c:4174
+#: access/transam/xlog.c:4499
 msgid "invalid redo in checkpoint record"
 msgstr "ré-exécution invalide dans l'enregistrement du point de vérification"
 
-#: access/transam/xlog.c:4188
+#: access/transam/xlog.c:4513
 msgid "invalid redo/undo record in shutdown checkpoint"
 msgstr "enregistrement de ré-exécution/annulation invalide dans le point de vérification d'arrêt"
 
-#: access/transam/xlog.c:4206
+#: access/transam/xlog.c:4531
 msgid "automatic recovery in progress"
 msgstr "récupération automatique en cours"
 
-#: access/transam/xlog.c:4209
-msgid ""
-"database system was not properly shut down; automatic recovery in progress"
+#: access/transam/xlog.c:4534
+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 automatique en cours"
 
-#: access/transam/xlog.c:4246
+#: access/transam/xlog.c:4571
 #, c-format
 msgid "redo starts at %X/%X"
 msgstr "la ré-exécution commence à %X/%X"
 
-#: access/transam/xlog.c:4304
+#: access/transam/xlog.c:4629
 #, c-format
 msgid "redo done at %X/%X"
 msgstr "ré-exécution faite à %X/%X"
 
-#: access/transam/xlog.c:4312
+#: access/transam/xlog.c:4637
 msgid "redo is not required"
 msgstr "la ré-exécution n'est pas requise"
 
-#: access/transam/xlog.c:4332
+#: access/transam/xlog.c:4657
 msgid "requested recovery stop point is before end time of backup dump"
 msgstr "le point d'arrêt de la récupération demandée se trouve avant l'heure de fin de la sauvegarde"
 
-#: access/transam/xlog.c:4336
+#: access/transam/xlog.c:4661
 msgid "WAL ends before end time of backup dump"
 msgstr "les WALS se termine avant l'heure de fin de la sauvegarde"
 
-#: access/transam/xlog.c:4351
+#: access/transam/xlog.c:4676
 #, c-format
 msgid "selected new timeline ID: %u"
 msgstr "identifiant d'un timeline nouvellement sélectionné : %u"
 
-#: access/transam/xlog.c:4433
-#, c-format
-msgid "undo starts at %X/%X"
-msgstr "l'annulation commence à %X/%X"
-
-#: access/transam/xlog.c:4444
-#, c-format
-msgid "undo done at %X/%X"
-msgstr "annulation faite sur %X/%X"
-
-#: access/transam/xlog.c:4449
-msgid "undo is not required"
-msgstr "l'annulation n'est pas requise"
-
-#: access/transam/xlog.c:4517
+#: access/transam/xlog.c:4826
 msgid "database system is ready"
 msgstr "le système de bases de données est prêt"
 
-#: access/transam/xlog.c:4556
+#: access/transam/xlog.c:4865
 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:4560
+#: access/transam/xlog.c:4869
 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:4564
+#: access/transam/xlog.c:4873
 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:4578
+#: access/transam/xlog.c:4887
 msgid "invalid primary checkpoint record"
 msgstr "enregistrement du point de vérification primaire invalide"
 
-#: access/transam/xlog.c:4582
+#: access/transam/xlog.c:4891
 msgid "invalid secondary checkpoint record"
 msgstr "enregistrement du point de vérification secondaire invalide"
 
-#: access/transam/xlog.c:4586
+#: access/transam/xlog.c:4895
 msgid "invalid checkpoint record"
 msgstr "enregistrement du point de vérification invalide"
 
-#: access/transam/xlog.c:4597
+#: access/transam/xlog.c:4906
 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:4601
+#: access/transam/xlog.c:4910
 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:4605
+#: access/transam/xlog.c:4914
 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:4617
+#: access/transam/xlog.c:4926
 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:4621
+#: access/transam/xlog.c:4930
 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:4625
+#: access/transam/xlog.c:4934
 msgid "invalid xl_info in checkpoint record"
 msgstr "xl_info invalide dans l'enregistrement du point de vérification"
 
-#: access/transam/xlog.c:4636
+#: access/transam/xlog.c:4946
 msgid "invalid length of primary checkpoint record"
 msgstr "longueur invalide de l'enregistrement primaire du point de vérification"
 
-#: access/transam/xlog.c:4640
+#: access/transam/xlog.c:4950
 msgid "invalid length of secondary checkpoint record"
 msgstr "longueur invalide de l'enregistrement secondaire du point de vérification"
 
-#: access/transam/xlog.c:4644
+#: access/transam/xlog.c:4954
 msgid "invalid length of checkpoint record"
 msgstr "longueur invalide de l'enregistrement du point de vérification"
 
-#: access/transam/xlog.c:4697
+#: access/transam/xlog.c:5037
 msgid "shutting down"
 msgstr "arrêt en cours"
 
-#: access/transam/xlog.c:4706
+#: access/transam/xlog.c:5047
 msgid "database system is shut down"
 msgstr "le système de base de données est d'arrêté"
 
-#: access/transam/xlog.c:4897
+#: access/transam/xlog.c:5220
 msgid "checkpoint starting"
 msgstr "début du point de vérification"
 
-#: access/transam/xlog.c:4926
-msgid ""
-"concurrent transaction log activity while database system is shutting down"
+#: access/transam/xlog.c:5252
+msgid "concurrent transaction log activity while database system is shutting down"
 msgstr "activité concurrente du journal de transactions alors que le système de bases de données est en cours d'arrêt"
 
-#: access/transam/xlog.c:4998
+#: access/transam/xlog.c:5310
 #, c-format
 msgid ""
 "checkpoint complete; %d transaction log file(s) added, %d removed, %d "
 "recycled"
 msgstr "point de vérification terminée ; %d journaux de transactions ajoutés, %d supprimés, %d recyclés"
 
-#: access/transam/xlog.c:5058
+#: access/transam/xlog.c:5380
 #, c-format
 msgid "unexpected timeline ID %u (after %u) in checkpoint record"
 msgstr "identifiant timeline inattendu %u (après %u) dans l'enregistrement du point de vérification"
 
-#: access/transam/xlog.c:5081
+#: access/transam/xlog.c:5405
 #, c-format
 msgid "unexpected timeline ID %u (should be %u) in checkpoint record"
 msgstr "identifiant timeline inattendu %u (devrait être %u) dans l'enregistrement du point de vérification"
 
-#: access/transam/xlog.c:5202 access/transam/xlog.c:5234
+#: access/transam/xlog.c:5530 access/transam/xlog.c:5562
 #, c-format
 msgid "could not fsync log file %u, segment %u: %m"
 msgstr ""
 "n'a pas pusynchroniser (fsync) le journal des transactions %u, segment %u : %"
 "m"
 
-#: access/transam/xlog.c:5242
+#: access/transam/xlog.c:5570
+#, c-format
+msgid "could not fsync write-through log file %u, segment %u: %m"
+msgstr ""
+"n'a pas pu synchroniser (fsync) le journal des transactions %u, segment %u : "
+"%m"
+
+#: access/transam/xlog.c:5579
 #, c-format
 msgid "could not fdatasync log file %u, segment %u: %m"
 msgstr ""
 "n'a pas pusynchroniser (fdatasync) le journal de transactions %u, segment %"
 "u : %m"
 
-#: access/transam/xlog.c:5285 access/transam/xlog.c:5412
+#: access/transam/xlog.c:5621 access/transam/xlog.c:5746
 msgid "must be superuser to run a backup"
 msgstr "doit être super-utilisateur pour lancer une sauvegarde"
 
-#: access/transam/xlog.c:5290
+#: access/transam/xlog.c:5626
 msgid "WAL archiving is not active"
 msgstr "l'archivage des WAL n'est pas actif"
 
-#: access/transam/xlog.c:5291
-msgid ""
-"archive_command must be defined before online backups can be made safely."
+#: access/transam/xlog.c:5627
+msgid "archive_command must be defined before online backups can be made safely."
 msgstr "archive_command doit être défini avant que les sauvegardes à chaud puissent être faites correctement."
 
-#: access/transam/xlog.c:5346
+#: access/transam/xlog.c:5681
 msgid "a backup is already in progress"
 msgstr "une sauvegarde est déjà en cours"
 
-#: access/transam/xlog.c:5347
+#: access/transam/xlog.c:5682
 #, 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 fichier «%s» et recommencez de nouveau."
 
-#: access/transam/xlog.c:5368 access/transam/xlog.c:5488
+#: access/transam/xlog.c:5703 access/transam/xlog.c:5821
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "impossible d'écrire le fichier «%s» : %m"
 
-#: access/transam/xlog.c:5450
+#: access/transam/xlog.c:5783
 msgid "a backup is not in progress"
 msgstr "une sauvegarde n'est pas en cours"
 
-#: access/transam/xlog.c:5463 access/transam/xlog.c:5584
-#: access/transam/xlog.c:5590 access/transam/xlog.c:5621
-#: access/transam/xlog.c:5627
+#: access/transam/xlog.c:5796 access/transam/xlog.c:5917
+#: access/transam/xlog.c:5923 access/transam/xlog.c:5954
+#: access/transam/xlog.c:5960
 #, c-format
 msgid "invalid data in file \"%s\""
 msgstr "données invalides dans le fichier «%s»"
 
-#: access/transam/slru.c:452
-#, c-format
-msgid "file \"%s\" doesn't exist, reading as zeroes"
-msgstr "le fichier «%s» n'existe pas, remplacé par des zéros"
-
-#: access/transam/slru.c:637 access/transam/slru.c:644
-#: access/transam/slru.c:651 access/transam/slru.c:658
-#: access/transam/slru.c:665 access/transam/slru.c:672
-#: access/transam/slru.c:679
+#: access/transam/varsup.c:69
 #, c-format
-msgid "could not access status of transaction %u"
-msgstr "n'a pas pu accéder au statut de la transaction %u"
-
-#: access/transam/slru.c:652
-#, c-format
-msgid "could not seek in file \"%s\" to offset %u: %m"
-msgstr "n'a pas pu chercher dans le fichier «%s» pour le décalage %u : %m"
-
-#: access/transam/slru.c:659
-#, c-format
-msgid "could not read from file \"%s\" at offset %u: %m"
-msgstr "n'a pas pu lire le fichier «%s» au décalage %u : %m"
-
-#: access/transam/slru.c:666
-#, c-format
-msgid "could not write to file \"%s\" at offset %u: %m"
-msgstr "n'a pas pu écrire le fichier «%s» au décalage %u : %m"
+msgid ""
+"database is not accepting queries to avoid wraparound data loss in database "
+"\"%s\""
+msgstr "la base de données n'accepte plus de requêtes pour éviter des pertes de données à cause du wraparound dans la base de données «%s»"
 
-#: access/transam/slru.c:862
+#: access/transam/varsup.c:71
 #, c-format
-msgid "could not truncate directory \"%s\": apparent wraparound"
-msgstr "n'a pas pu tronquer «%s» : contournement apparent"
+msgid "Stop the postmaster and use a standalone backend to VACUUM database \"%s\"."
+msgstr "Arrêtez le postmaster et utilisez un moteur autonome pour exécuter VACUUM sur la base de données «%s»."
 
-#: ../port/copydir.c:55 access/transam/slru.c:930 commands/tablespace.c:525
-#: commands/tablespace.c:692 utils/adt/misc.c:174
+#: access/transam/varsup.c:75 access/transam/varsup.c:242
+#: commands/vacuum.c:913
 #, c-format
-msgid "could not open directory \"%s\": %m"
-msgstr "n'a pas pu ouvrir le répertoire «%s» : %m"
+msgid "database \"%s\" must be vacuumed within %u transactions"
+msgstr "La base de données «%s» doit être VACUUMé dans maximum %u transactions"
 
-#: access/transam/slru.c:948
+#: access/transam/varsup.c:78 access/transam/varsup.c:245
+#: commands/vacuum.c:916
 #, c-format
-msgid "removing file \"%s\""
-msgstr "suppression du fichier «%s»"
+msgid "To avoid a database shutdown, execute a full-database VACUUM in \"%s\"."
+msgstr "Pour éviter un arrêt de la base de données, exécutez un VACUUM complet de la base de données dans «%s»."
 
-#: access/transam/slru.c:967 commands/tablespace.c:573
-#: commands/tablespace.c:719
+#: access/transam/varsup.c:237
 #, c-format
-msgid "could not read directory \"%s\": %m"
-msgstr "n'a pas pu lire le répertoire «%s» : %m"
+msgid "transaction ID wrap limit is %u, limited by database \"%s\""
+msgstr "La limite de réinitialisation de l'ID de transaction est %u, limité par la base de données «%s»"
 
-#: access/transam/xact.c:510
+#: access/transam/xact.c:506
 msgid "cannot have more than 2^32-1 commands in a transaction"
 msgstr "ne peux pas avoir plus de 2^32-1 commandes dans une transaction"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2178
+#: access/transam/xact.c:2468
 #, c-format
 msgid "%s cannot run inside a transaction block"
 msgstr "%s ne peut pas être lancé dans un bloc de transaction"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2188
+#: access/transam/xact.c:2478
 #, c-format
 msgid "%s cannot run inside a subtransaction"
 msgstr "%s ne peut pas être lancé dans un sous-bloc de transaction"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2200
+#: access/transam/xact.c:2490
 #, c-format
 msgid "%s cannot be executed from a function"
 msgstr "%s ne peut pas être exécuté à partir d'une fonction"
 
 #. translator: %s represents an SQL statement name
-#: access/transam/xact.c:2251
+#: access/transam/xact.c:2541
 #, c-format
 msgid "%s may only be used in transaction blocks"
 msgstr "%s pourrait seulement être utilisé dans des blocs de transaction"
 
-#: access/transam/xact.c:2434
+#: access/transam/xact.c:2724
 msgid "there is already a transaction in progress"
 msgstr "il existe une transaction en cours"
 
-#: access/transam/xact.c:2549 access/transam/xact.c:2640
+#: access/transam/xact.c:2891 access/transam/xact.c:2983
 msgid "there is no transaction in progress"
 msgstr "aucune transaction en cours"
 
-#: access/transam/xact.c:2732 access/transam/xact.c:2781
-#: access/transam/xact.c:2787 access/transam/xact.c:2831
-#: access/transam/xact.c:2878 access/transam/xact.c:2884
+#: access/transam/xact.c:3077 access/transam/xact.c:3127
+#: access/transam/xact.c:3133 access/transam/xact.c:3177
+#: access/transam/xact.c:3225 access/transam/xact.c:3231
 msgid "no such savepoint"
 msgstr "aucun point de sauvegarde"
 
-#: access/transam/xact.c:3522
+#: access/transam/xact.c:3873
 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"
+msgstr "ne peut pas avoir plus de 2^32-1 sous-transactions dans une transaction"
 
-#: bootstrap/bootstrap.c:299 postmaster/postmaster.c:549 tcop/postgres.c:2533
+#: bootstrap/bootstrap.c:305 postmaster/postmaster.c:556 tcop/postgres.c:2716
 #, c-format
 msgid "--%s requires a value"
 msgstr "--%s requiert une valeur"
 
-#: bootstrap/bootstrap.c:304 postmaster/postmaster.c:554 tcop/postgres.c:2538
+#: bootstrap/bootstrap.c:310 postmaster/postmaster.c:561 tcop/postgres.c:2721
 #, c-format
 msgid "-c %s requires a value"
 msgstr "-c %s requiert une valeur"
 
-#: bootstrap/bootstrap.c:481
+#: bootstrap/bootstrap.c:498
 msgid ""
 "Usage:\n"
 "  postgres -boot [OPTION]... DBNAME\n"
@@ -1113,834 +1288,755 @@ msgstr ""
 "  -o fichier       envoie la sortie de déboguage sur un fichier\n"
 "  -x num           utilisation interne\n"
 
-#: catalog/dependency.c:152
+#: catalog/dependency.c:170
 #, c-format
 msgid "cannot drop %s because other objects depend on it"
 msgstr "n'a pas pu supprimer %s car d'autres objets en dépendent"
 
-#: catalog/dependency.c:154
+#: catalog/dependency.c:172
 msgid "Use DROP ... CASCADE to drop the dependent objects too."
 msgstr "Utilisez DROP ... CASCADE pour supprimer aussi les objets dépendants."
 
-#: catalog/dependency.c:212
+#: catalog/dependency.c:230
 #, c-format
 msgid "failed to drop all objects depending on %s"
 msgstr "échec lors de la suppression de tous les objets dépendant de %s"
 
-#: catalog/dependency.c:312 catalog/dependency.c:717
+#: catalog/dependency.c:330 catalog/dependency.c:744 catalog/pg_shdepend.c:504
 #, c-format
 msgid "cannot drop %s because it is required by the database system"
 msgstr "n'a pas pu supprimer %s car il est requis par le système de bases de données"
 
-#: catalog/dependency.c:451
+#: catalog/dependency.c:469
 #, c-format
 msgid "cannot drop %s because %s requires it"
 msgstr "n'a pas pu supprimer %s car il est requis par %s"
 
-#: catalog/dependency.c:453
+#: catalog/dependency.c:471
 #, c-format
 msgid "You may drop %s instead."
 msgstr "Vous pouvez supprimer %s à la place."
 
-#: catalog/dependency.c:521 catalog/dependency.c:674 catalog/dependency.c:702
+#: catalog/dependency.c:540 catalog/dependency.c:701 catalog/dependency.c:729
 #, c-format
 msgid "drop auto-cascades to %s"
 msgstr "DROP cascade automatiquement sur %s"
 
-#: catalog/dependency.c:526 catalog/dependency.c:679
+#: catalog/dependency.c:545 catalog/dependency.c:706
 #, c-format
 msgid "%s depends on %s"
 msgstr "%s dépend de %s"
 
-#: catalog/dependency.c:533 catalog/dependency.c:686
+#: catalog/dependency.c:552 catalog/dependency.c:713
 #, c-format
 msgid "drop cascades to %s"
 msgstr "DROP cascade sur %s"
 
-#: catalog/dependency.c:1427
-#, c-format
-msgid " column %s"
-msgstr " colonne %s"
-
-#: catalog/dependency.c:1433
-#, c-format
-msgid "function %s"
-msgstr "fonction %s"
-
-#: catalog/dependency.c:1438
-#, c-format
-msgid "type %s"
-msgstr "type %s"
-
-#: catalog/dependency.c:1468
-#, c-format
-msgid "cast from %s to %s"
-msgstr "convertion du type %s vers le type %s"
-
-#: catalog/dependency.c:1505
-#, c-format
-msgid "constraint %s on "
-msgstr "contrainte «%s» sur"
-
-#: catalog/dependency.c:1511
-#, c-format
-msgid "constraint %s"
-msgstr "contrainte : %s"
-
-#: catalog/dependency.c:1530
-#, c-format
-msgid "conversion %s"
-msgstr "conversion %s"
-
-#: catalog/dependency.c:1567
-#, c-format
-msgid "default for %s"
-msgstr "par défaut, %s"
-
-#: catalog/dependency.c:1585
-#, c-format
-msgid "language %s"
-msgstr "langage %s"
-
-#: catalog/dependency.c:1592
-#, c-format
-msgid "operator %s"
-msgstr "opérateur %s"
-
-#: catalog/dependency.c:1626
-#, c-format
-msgid "operator class %s for access method %s"
-msgstr "la classe d'opérateur %s pour la méthode d'accès %s"
-
-#: catalog/dependency.c:1662
-#, c-format
-msgid "rule %s on "
-msgstr "règle %s activée"
-
-#: catalog/dependency.c:1697
-#, c-format
-msgid "trigger %s on "
-msgstr "déclencheur %s activé"
-
-#: catalog/dependency.c:1714
-#, c-format
-msgid "schema %s"
-msgstr "schéma %s"
-
-#: catalog/dependency.c:1758
-#, c-format
-msgid "table %s"
-msgstr "table %s"
-
-#: catalog/dependency.c:1762
-#, c-format
-msgid "index %s"
-msgstr "index %s"
-
-#: catalog/dependency.c:1766
-#, c-format
-msgid "special system relation %s"
-msgstr "relation spéciale %s"
-
-#: catalog/dependency.c:1770
-#, c-format
-msgid "sequence %s"
-msgstr "séquence %s"
-
-#: catalog/dependency.c:1774
-#, c-format
-msgid "uncataloged table %s"
-msgstr "table sans catalogue %s"
-
-#: catalog/dependency.c:1778
-#, c-format
-msgid "toast table %s"
-msgstr "table toast %s"
-
-#: catalog/dependency.c:1782
-#, c-format
-msgid "view %s"
-msgstr "vue %s"
-
-#: catalog/dependency.c:1786
-#, c-format
-msgid "composite type %s"
-msgstr "vue composite %s"
-
-#: catalog/dependency.c:1791
-#, c-format
-msgid "relation %s"
-msgstr "relation %s"
-
-#: catalog/aclchk.c:158
-msgid "grant options can only be granted to individual users"
-msgstr ""
-"les options grant ne sont disponibles que pour des utilisateurs individuels"
+#: catalog/aclchk.c:143
+msgid "grant options can only be granted to roles"
+msgstr "les options grant peuvent seulement être données aux rôles"
 
-#: catalog/aclchk.c:246
+#: catalog/aclchk.c:231
 #, c-format
 msgid "invalid privilege type %s for table"
 msgstr "type de privilège %s invalide pour la table"
 
-#: catalog/aclchk.c:334 catalog/aclchk.c:492 catalog/aclchk.c:646
-#: catalog/aclchk.c:809 catalog/aclchk.c:962 catalog/aclchk.c:1121
+#: catalog/aclchk.c:323 catalog/aclchk.c:503 catalog/aclchk.c:679
+#: catalog/aclchk.c:864 catalog/aclchk.c:1039 catalog/aclchk.c:1220
 msgid "no privileges were granted"
 msgstr "aucun privilège n'a été accordé"
 
-#: catalog/aclchk.c:338 catalog/aclchk.c:496 catalog/aclchk.c:650
-#: catalog/aclchk.c:813 catalog/aclchk.c:966 catalog/aclchk.c:1125
+#: catalog/aclchk.c:327 catalog/aclchk.c:507 catalog/aclchk.c:683
+#: catalog/aclchk.c:868 catalog/aclchk.c:1043 catalog/aclchk.c:1224
 msgid "not all privileges were granted"
 msgstr "tous les privilèges n'ont pas été accordés"
 
-#: catalog/aclchk.c:345 catalog/aclchk.c:503 catalog/aclchk.c:657
-#: catalog/aclchk.c:820 catalog/aclchk.c:973 catalog/aclchk.c:1132
+#: catalog/aclchk.c:334 catalog/aclchk.c:514 catalog/aclchk.c:690
+#: catalog/aclchk.c:875 catalog/aclchk.c:1050 catalog/aclchk.c:1231
 msgid "no privileges could be revoked"
 msgstr "aucun privilège n'a pu être révoqué"
 
-#: catalog/aclchk.c:349 catalog/aclchk.c:507 catalog/aclchk.c:661
-#: catalog/aclchk.c:824 catalog/aclchk.c:977 catalog/aclchk.c:1136
+#: catalog/aclchk.c:338 catalog/aclchk.c:518 catalog/aclchk.c:694
+#: catalog/aclchk.c:879 catalog/aclchk.c:1054 catalog/aclchk.c:1235
 msgid "not all privileges could be revoked"
 msgstr "tous les privilèges n'ont pu être révoqué"
 
-#: catalog/aclchk.c:414
+#: catalog/aclchk.c:421
 #, c-format
 msgid "invalid privilege type %s for database"
 msgstr "type de privilège %s invalide pour la base de données"
 
-#: catalog/aclchk.c:451 commands/comment.c:458 commands/dbcommands.c:550
-#: commands/dbcommands.c:679 commands/dbcommands.c:779
-#: commands/dbcommands.c:866 utils/adt/acl.c:1661 utils/init/postinit.c:271
-#: utils/init/postinit.c:283
+#: catalog/aclchk.c:462 commands/comment.c:463 commands/dbcommands.c:589
+#: commands/dbcommands.c:720 commands/dbcommands.c:839
+#: commands/dbcommands.c:910 commands/dbcommands.c:994 utils/adt/acl.c:1653
+#: utils/adt/dbsize.c:131 utils/init/postinit.c:353 utils/init/postinit.c:365
 #, c-format
 msgid "database \"%s\" does not exist"
 msgstr "la base de données «%s» n'existe pas"
 
-#: catalog/aclchk.c:572
+#: catalog/aclchk.c:601
 #, c-format
 msgid "invalid privilege type %s for function"
 msgstr "type de privilège %s invalide pour la fonction"
 
-#: catalog/aclchk.c:726
+#: catalog/aclchk.c:777
 #, c-format
 msgid "invalid privilege type %s for language"
 msgstr "type de privilège %s invalide pour le langage"
 
-#: catalog/aclchk.c:758 commands/comment.c:1001 commands/functioncmds.c:451
-#: commands/proclang.c:202 commands/proclang.c:257 utils/adt/acl.c:2079
+#: catalog/aclchk.c:813 commands/comment.c:985 commands/functioncmds.c:556
+#: commands/proclang.c:401 commands/proclang.c:460 utils/adt/acl.c:2071
 #, c-format
 msgid "language \"%s\" does not exist"
 msgstr "le langage «%s» n'existe pas"
 
-#: catalog/aclchk.c:764
+#: catalog/aclchk.c:819
 #, c-format
 msgid "language \"%s\" is not trusted"
 msgstr "le langage «%s» n'est pas de confiance"
 
-#: catalog/aclchk.c:765
+#: catalog/aclchk.c:820
 msgid "Only superusers may use untrusted languages."
 msgstr "Seuls les super-utilisateurs peuvent utilisés des langages sans confiance"
 
-#: catalog/aclchk.c:889
+#: catalog/aclchk.c:962
 #, c-format
 msgid "invalid privilege type %s for schema"
 msgstr "type de privilège %s invalide pour le schéma"
 
-#: catalog/aclchk.c:921 catalog/namespace.c:255 catalog/namespace.c:1229
-#: catalog/namespace.c:1267 catalog/namespace.c:1866 commands/comment.c:509
-#: commands/schemacmds.c:181 commands/schemacmds.c:243
-#: commands/schemacmds.c:298 utils/adt/acl.c:2283
+#: catalog/aclchk.c:998 catalog/namespace.c:254 catalog/namespace.c:1228
+#: catalog/namespace.c:1256 catalog/namespace.c:1297 catalog/namespace.c:1905
+#: commands/comment.c:513 commands/schemacmds.c:169 commands/schemacmds.c:231
+#: commands/schemacmds.c:286 utils/adt/acl.c:2275
 #, c-format
 msgid "schema \"%s\" does not exist"
 msgstr "le schéma «%s» n'existe pas"
 
-#: catalog/aclchk.c:1043
+#: catalog/aclchk.c:1138
 #, c-format
 msgid "invalid privilege type %s for tablespace"
 msgstr "type de privilège %s invalide pour l'espace logique"
 
-#: catalog/aclchk.c:1080 commands/dbcommands.c:277 commands/indexcmds.c:171
-#: commands/tablecmds.c:324 commands/tablecmds.c:5435
-#: commands/tablespace.c:425 commands/tablespace.c:750
-#: commands/tablespace.c:817 commands/tablespace.c:896 utils/adt/acl.c:2489
+#: catalog/aclchk.c:1179 commands/dbcommands.c:291 commands/indexcmds.c:174
+#: commands/tablecmds.c:327 commands/tablecmds.c:5602
+#: commands/tablespace.c:425 commands/tablespace.c:711
+#: commands/tablespace.c:778 commands/tablespace.c:873 utils/adt/acl.c:2481
+#: utils/adt/dbsize.c:208
 #, c-format
 msgid "tablespace \"%s\" does not exist"
 msgstr "l'espace logique \"%s\" n'existe pas"
 
-#: catalog/aclchk.c:1229 commands/user.c:1535 commands/user.c:1772
-#: commands/user.c:1807 libpq/pqcomm.c:499
+#: catalog/aclchk.c:1323
 #, c-format
-msgid "group \"%s\" does not exist"
-msgstr "le groupe «%s» n'existe pas"
+msgid "unrecognized privilege type \"%s\""
+msgstr "type de privilège «%s» non reconnu"
 
-#: catalog/aclchk.c:1264
+#: catalog/aclchk.c:1370
 #, c-format
 msgid "permission denied for relation %s"
 msgstr "droit refusé pour la relation %s"
 
-#: catalog/aclchk.c:1266
+#: catalog/aclchk.c:1372
 #, c-format
 msgid "permission denied for database %s"
 msgstr "droit refusé pour la base de données %s"
 
-#: catalog/aclchk.c:1268
+#: catalog/aclchk.c:1374
 #, c-format
 msgid "permission denied for function %s"
 msgstr "droit refusé pour la fonction %s"
 
-#: catalog/aclchk.c:1270
+#: catalog/aclchk.c:1376
 #, c-format
 msgid "permission denied for operator %s"
 msgstr "droit refusé pour l'opérateur %s"
 
-#: catalog/aclchk.c:1272
+#: catalog/aclchk.c:1378
 #, c-format
 msgid "permission denied for type %s"
 msgstr "droit refusé pour le type %s"
 
-#: catalog/aclchk.c:1274
+#: catalog/aclchk.c:1380
 #, c-format
 msgid "permission denied for language %s"
 msgstr "droit refusé pour le langage %s"
 
-#: catalog/aclchk.c:1276
+#: catalog/aclchk.c:1382
 #, c-format
 msgid "permission denied for schema %s"
 msgstr "droit refusé pour le schéma %s"
 
-#: catalog/aclchk.c:1278
+#: catalog/aclchk.c:1384
 #, c-format
 msgid "permission denied for operator class %s"
 msgstr "droit refusé pour la classe d'opérateur %s"
 
-#: catalog/aclchk.c:1280
+#: catalog/aclchk.c:1386
 #, c-format
 msgid "permission denied for conversion %s"
 msgstr "droit refusé pour la conversion %s"
 
-#: catalog/aclchk.c:1282
+#: catalog/aclchk.c:1388
 #, c-format
 msgid "permission denied for tablespace %s"
 msgstr "droit refusé pour l'espace logique %s"
 
-#: catalog/aclchk.c:1288
+#: catalog/aclchk.c:1394
 #, c-format
 msgid "must be owner of relation %s"
 msgstr "doit être le propriétaire de la relation %s"
 
-#: catalog/aclchk.c:1290
+#: catalog/aclchk.c:1396
 #, c-format
 msgid "must be owner of database %s"
 msgstr "doit être le propriétaire de la base de données %s"
 
-#: catalog/aclchk.c:1292
+#: catalog/aclchk.c:1398
 #, c-format
 msgid "must be owner of function %s"
 msgstr "doit être le propriétaire de la fonction %s"
 
-#: catalog/aclchk.c:1294
+#: catalog/aclchk.c:1400
 #, c-format
 msgid "must be owner of operator %s"
 msgstr "doit être le prorpriétaire de l'opérateur %s"
 
-#: catalog/aclchk.c:1296
+#: catalog/aclchk.c:1402
 #, c-format
 msgid "must be owner of type %s"
 msgstr "doit être le propriétaire du type %s"
 
-#: catalog/aclchk.c:1298
+#: catalog/aclchk.c:1404
 #, c-format
 msgid "must be owner of language %s"
 msgstr "doit être le propriétaire du langage %s"
 
-#: catalog/aclchk.c:1300
+#: catalog/aclchk.c:1406
 #, c-format
 msgid "must be owner of schema %s"
 msgstr "doit être le propriétaire du schéma %s"
 
-#: catalog/aclchk.c:1302
+#: catalog/aclchk.c:1408
 #, c-format
 msgid "must be owner of operator class %s"
 msgstr "doit être le propriétaire de la classe d'opérateur %s"
 
-#: catalog/aclchk.c:1304
+#: catalog/aclchk.c:1410
 #, c-format
 msgid "must be owner of conversion %s"
 msgstr "doit être le propriétaire de la conversion %s"
 
-#: catalog/aclchk.c:1306
+#: catalog/aclchk.c:1412
 #, c-format
 msgid "must be owner of tablespace %s"
 msgstr "doit être le propriétaire de l'espace logique %s"
 
-#: catalog/aclchk.c:1369
+#: catalog/aclchk.c:1455
 #, c-format
-msgid "user with ID %u does not exist"
-msgstr "l'utilisateur d'identifiant %u n'existe pas"
+msgid "role with OID %u does not exist"
+msgstr "le rôle d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:1386 catalog/aclchk.c:1889
+#: catalog/aclchk.c:1496 catalog/aclchk.c:1999
 #, c-format
 msgid "relation with OID %u does not exist"
 msgstr "la relation d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:1490 catalog/aclchk.c:2107
+#: catalog/aclchk.c:1600 catalog/aclchk.c:2217 utils/adt/dbsize.c:109
 #, c-format
 msgid "database with OID %u does not exist"
 msgstr "la base de données d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:1548 catalog/aclchk.c:1973 tcop/fastpath.c:230
+#: catalog/aclchk.c:1658 catalog/aclchk.c:2083 tcop/fastpath.c:224
 #, c-format
 msgid "function with OID %u does not exist"
 msgstr "la fonction d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:1604
+#: catalog/aclchk.c:1714
 #, c-format
 msgid "language with OID %u does not exist"
 msgstr "le langage d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:1689 catalog/aclchk.c:2001
+#: catalog/aclchk.c:1799 catalog/aclchk.c:2111
 #, c-format
 msgid "schema with OID %u does not exist"
 msgstr "le schéma d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:1761 catalog/aclchk.c:2039
+#: catalog/aclchk.c:1871 catalog/aclchk.c:2149
 #, c-format
 msgid "tablespace with OID %u does not exist"
 msgstr "l'espace logique d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:1917
+#: catalog/aclchk.c:2027
 #, c-format
 msgid "type with OID %u does not exist"
 msgstr "le type d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:1945
+#: catalog/aclchk.c:2055
 #, c-format
 msgid "operator with OID %u does not exist"
 msgstr "l'opérateur d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:2068
+#: catalog/aclchk.c:2178
 #, c-format
 msgid "operator class with OID %u does not exist"
 msgstr "la classe d'opérateur d'OID %u n'existe pas"
 
-#: catalog/aclchk.c:2136
+#: catalog/aclchk.c:2246
 #, c-format
 msgid "conversion with OID %u does not exist"
 msgstr "la conversion d'OID %u n'existe pas"
 
-#: catalog/pg_aggregate.c:80
+#: catalog/pg_aggregate.c:86
 msgid "cannot determine transition data type"
 msgstr "n'a pas pu déterminer le type de données de transition"
 
-#: catalog/pg_aggregate.c:81
+#: catalog/pg_aggregate.c:87
 msgid ""
 "An aggregate using \"anyarray\" or \"anyelement\" as transition type must "
 "have one of them as its base type."
 msgstr "Un aggrégat utilisant «anyarray» ou «anyelement» comme type de transition doit avoir un d'entre eux comme type de base."
 
-#: catalog/pg_aggregate.c:110
+#: catalog/pg_aggregate.c:115
 #, c-format
 msgid "return type of transition function %s is not %s"
 msgstr "le type de retour de la fonction de transition %s n'est pas %s"
 
-#: catalog/pg_aggregate.c:132
+#: catalog/pg_aggregate.c:137
 msgid ""
 "must not omit initial value when transition function is strict and "
 "transition type is not compatible with input type"
 msgstr "ne doit pas omettre la valeur initiale lorsque la fonction de transition est stricte et que le type de transition n'est pas compatible avec le type en entrée"
 
-#: catalog/pg_aggregate.c:165 catalog/pg_proc.c:124 executor/functions.c:1082
+#: catalog/pg_aggregate.c:169 catalog/pg_proc.c:183 executor/functions.c:1067
 msgid "cannot determine result data type"
 msgstr "n'a pas pu déterminer le type de données en résultat"
 
-#: catalog/pg_aggregate.c:166
+#: catalog/pg_aggregate.c:170
 msgid ""
 "An aggregate returning \"anyarray\" or \"anyelement\" must have one of them "
 "as its base type."
 msgstr "Un aggrégat renvoyant «anyarray» ou «anyelement» doit avoir l'un d'entre eux comme type de base."
 
-#: catalog/pg_aggregate.c:281 commands/typecmds.c:919 commands/typecmds.c:989
-#: commands/typecmds.c:1021 commands/typecmds.c:1053 commands/typecmds.c:1077
-#: parser/parse_func.c:203 parser/parse_func.c:1364
+#: catalog/pg_aggregate.c:302 commands/typecmds.c:913 commands/typecmds.c:965
+#: commands/typecmds.c:996 commands/typecmds.c:1019 commands/typecmds.c:1041
+#: parser/parse_func.c:213 parser/parse_func.c:1200
 #, c-format
 msgid "function %s does not exist"
 msgstr "la fonction %s n'existe pas"
 
-#: catalog/pg_aggregate.c:286
+#: catalog/pg_aggregate.c:307
 #, c-format
 msgid "function %s returns a set"
 msgstr "la fonction %s renvoie un ensemble"
 
-#: catalog/pg_aggregate.c:317 catalog/pg_aggregate.c:326
+#: catalog/pg_aggregate.c:338 catalog/pg_aggregate.c:347
 #, c-format
 msgid "function %s requires run-time type coercion"
 msgstr "la fonction %s requiert une coercion sur le type à l'exécution"
 
-#: catalog/heap.c:221
+#: catalog/heap.c:224
 #, c-format
 msgid "permission denied to create \"%s.%s\""
 msgstr "droit refusé pour créer «%s.%s»"
 
-#: catalog/heap.c:223
+#: catalog/heap.c:226
 msgid "System catalog modifications are currently disallowed."
 msgstr "Les modifications du catalogue système sont actuellement interdites."
 
-#: catalog/heap.c:382 commands/tablecmds.c:697 commands/tablecmds.c:1007
-#: commands/tablecmds.c:2927
+#: catalog/heap.c:342 commands/tablecmds.c:727 commands/tablecmds.c:1037
+#: commands/tablecmds.c:2965
 #, c-format
 msgid "tables can have at most %d columns"
 msgstr "Les tables peuvent avoir au plus %d colonnes"
 
-#: catalog/heap.c:399
+#: catalog/heap.c:359
 #, c-format
 msgid "column name \"%s\" conflicts with a system column name"
 msgstr "le nom de la colonne «%s» entre en conflit avec le nom d'une colonne système"
 
-#: catalog/heap.c:415
+#: catalog/heap.c:375
 #, c-format
 msgid "column name \"%s\" is duplicated"
 msgstr "Le nom de la colonne «%s» est dupliqué"
 
-#: catalog/heap.c:452
+#: catalog/heap.c:412
 #, c-format
 msgid "column \"%s\" has type \"unknown\""
 msgstr "La colonne «%s» est de type «unknown»"
 
-#: catalog/heap.c:453
+#: catalog/heap.c:413
 msgid "Proceeding with relation creation anyway."
 msgstr "Continue malgré tout la création de la relation."
 
-#: catalog/heap.c:460
+#: catalog/heap.c:420
 #, c-format
 msgid "column \"%s\" has pseudo-type %s"
 msgstr "la colonne «%s» a le pseudo type %s"
 
-#: catalog/heap.c:732 catalog/index.c:514 commands/tablecmds.c:1501
+#: catalog/heap.c:695 catalog/index.c:516 commands/tablecmds.c:1531
 #, c-format
 msgid "relation \"%s\" already exists"
 msgstr "la relation «%s» existe déjà"
 
-#: catalog/heap.c:1586
+#: catalog/heap.c:1549
 #, 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:1595 commands/typecmds.c:1872
+#: catalog/heap.c:1558 commands/typecmds.c:1838
 msgid "cannot use subquery in check constraint"
 msgstr "impossible d'utiliser une sous-requête dans la contrainte de vérification"
 
-#: catalog/heap.c:1599
+#: catalog/heap.c:1562
 msgid "cannot use aggregate function in check constraint"
 msgstr "impossible d'utiliser la fonction d'aggrégat dans une contrainte de vérification"
 
-#: catalog/heap.c:1616 commands/tablecmds.c:3722
+#: catalog/heap.c:1579 commands/tablecmds.c:3788
 #, c-format
 msgid "constraint \"%s\" for relation \"%s\" already exists"
 msgstr "la contrainte «%s» de la relation «%s» existe déjà"
 
-#: catalog/heap.c:1625
+#: catalog/heap.c:1588
 #, c-format
 msgid "check constraint \"%s\" already exists"
 msgstr "la contrainte de vérification «%s» existe déjà"
 
-#: catalog/heap.c:1774
+#: catalog/heap.c:1737
 msgid "cannot use column references in default expression"
 msgstr "n'a pas pu utiliser les références de colonnes dans l'expression par défaut"
 
-#: catalog/heap.c:1782
+#: catalog/heap.c:1745
 msgid "default expression must not return a set"
 msgstr "l'expression par défaut ne doit pas renvoyer un ensemble"
 
-#: catalog/heap.c:1790
+#: catalog/heap.c:1753
 msgid "cannot use subquery in default expression"
 msgstr "n'a pas pu utiliser une sous-requête dans l'expression par défaut"
 
-#: catalog/heap.c:1794
+#: catalog/heap.c:1757
 msgid "cannot use aggregate function in default expression"
 msgstr "n'a pas pu utiliser une fonction d'aggrégation dans l'expression par défaut"
 
-#: catalog/heap.c:1812 rewrite/rewriteHandler.c:647
+#: catalog/heap.c:1775 rewrite/rewriteHandler.c:838
 #, 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:1817 parser/analyze.c:2701 parser/parse_node.c:247
-#: parser/parse_target.c:362 parser/parse_target.c:572
-#: parser/parse_target.c:581 rewrite/rewriteHandler.c:652
+#: catalog/heap.c:1780 parser/analyze.c:2706 parser/parse_node.c:247
+#: parser/parse_target.c:361 parser/parse_target.c:564
+#: parser/parse_target.c:573 rewrite/rewriteHandler.c:843
 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:2078
+#: catalog/heap.c:2068
+msgid "unsupported ON COMMIT and foreign key combination"
+msgstr "combinaison ON COMMIT et clé étrangère non supportée"
+
+#: catalog/heap.c:2069
+#, c-format
+msgid ""
+"Table \"%s\" references \"%s\" via foreign key constraint \"%s\", but they "
+"do not have the same ON COMMIT setting."
+msgstr "La table «%s» référence «%s» via la contrainte de clé étrangère «%s» mais elles n'ont pas la même valeur pour le paramètre ON COMMIT."
+
+#: catalog/heap.c:2076
 msgid "cannot truncate a table referenced in a foreign key constraint"
 msgstr "n'a pas pu tronquer une table référencée dans une constrainte de clé étrangère"
 
-#: catalog/heap.c:2079
+#: catalog/heap.c:2077
 #, c-format
 msgid "Table \"%s\" references \"%s\" via foreign key constraint \"%s\"."
 msgstr "La table «%s» référence «%s» via la contrainte de clé étrangère «%s»."
 
-#: catalog/index.c:495
+#: catalog/heap.c:2081
+#, c-format
+msgid "Truncate table \"%s\" at the same time."
+msgstr "Tronquez la table «%s» au même moment."
+
+#: catalog/index.c:497
 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:509
+#: catalog/index.c:511
 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:1638
+#: catalog/index.c:1661
 #, c-format
 msgid "shared index \"%s\" can only be reindexed in stand-alone mode"
 msgstr "Un index partagé «%s» peut seulement être réindexé en mode autonome"
 
-#: catalog/namespace.c:173 catalog/namespace.c:228
+#: catalog/namespace.c:172 catalog/namespace.c:227
 #, 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»"
 
-#: catalog/namespace.c:195
+#: catalog/namespace.c:194
 #, c-format
 msgid "relation \"%s.%s\" does not exist"
 msgstr "la relation «%s.%s» n'existe pas"
 
-#: catalog/namespace.c:200 utils/adt/regproc.c:837
+#: catalog/namespace.c:199 utils/adt/regproc.c:836
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "la relation «%s» n'existe pas"
 
-#: catalog/namespace.c:239
+#: catalog/namespace.c:238
 msgid "temporary tables may not specify a schema name"
 msgstr "les tables temporaires pourraient ne pas spécifier un nom de schéma"
 
-#: catalog/namespace.c:267 catalog/namespace.c:1278
+#: catalog/namespace.c:266 catalog/namespace.c:1308
 msgid "no schema has been selected to create in"
 msgstr "aucun schéma n'a été sélectionné pour cette création"
 
-#: catalog/namespace.c:1195 parser/parse_expr.c:1158 parser/parse_target.c:727
+#: catalog/namespace.c:1194 parser/parse_expr.c:468 parser/parse_target.c:721
 #, c-format
 msgid "cross-database references are not implemented: %s"
 msgstr "les références entre bases de données ne sont pas implémentées : %s"
 
-#: catalog/namespace.c:1201 gram.y:2515 gram.y:7425 parser/parse_expr.c:1184
-#: parser/parse_target.c:736
+#: catalog/namespace.c:1200 gram.y:2695 gram.y:7871 parser/parse_expr.c:494
+#: parser/parse_target.c:730
 #, c-format
 msgid "improper qualified name (too many dotted names): %s"
 msgstr "mauvaise qualification du nom (trop de points entre les noms) : %s"
 
-#: catalog/namespace.c:1313
+#: catalog/namespace.c:1341
 #, c-format
 msgid "improper relation name (too many dotted names): %s"
 msgstr "nom de relation incorrecte (trop de points entre les noms) : %s"
 
-#: catalog/namespace.c:1659
+#: catalog/namespace.c:1698
 #, c-format
 msgid "permission denied to create temporary tables in database \"%s\""
 msgstr "droit refusé pour la création de tables temporaires dans la base de données «%s»"
 
-#: catalog/pg_largeobject.c:107 commands/comment.c:1151
-#: storage/large_object/inv_api.c:197 storage/large_object/inv_api.c:312
+#: catalog/pg_depend.c:206
+#, c-format
+msgid "cannot remove dependency on %s because it is a system object"
+msgstr "n'a pas pu supprimer la dépendance sur %s car il s'agit d'un objet système"
+
+#: catalog/pg_largeobject.c:106 commands/comment.c:1127
+#: storage/large_object/inv_api.c:239 storage/large_object/inv_api.c:338
 #, c-format
 msgid "large object %u does not exist"
 msgstr "le gros objet %u n'existe pas"
 
-#: catalog/pg_conversion.c:66
+#: catalog/pg_conversion.c:65
 #, c-format
 msgid "conversion \"%s\" already exists"
 msgstr "la conversion «%s» existe déjà"
 
-#: catalog/pg_conversion.c:79
+#: catalog/pg_conversion.c:78
 #, c-format
 msgid "default conversion for %s to %s already exists"
 msgstr "la conversion par défaut de %s vers %s existe déjà"
 
-#: catalog/pg_conversion.c:307 commands/comment.c:958
+#: catalog/pg_conversion.c:310 commands/comment.c:946
 #: commands/conversioncmds.c:109 commands/conversioncmds.c:133
 #: commands/conversioncmds.c:192
 #, c-format
 msgid "conversion \"%s\" does not exist"
 msgstr "la conversion «%s» n'existe pas"
 
-#: catalog/pg_namespace.c:51 commands/schemacmds.c:252
+#: catalog/pg_shdepend.c:915
 #, c-format
-msgid "schema \"%s\" already exists"
-msgstr "le schéma «%s» existe déjà"
+msgid "role %u was concurrently dropped"
+msgstr "le rôle %u a été supprimé simultanément"
 
-#: catalog/pg_operator.c:217 catalog/pg_operator.c:406
+#: catalog/pg_shdepend.c:933
 #, c-format
-msgid "\"%s\" is not a valid operator name"
-msgstr "«%s» n'est pas un nom d'opérateur valide"
+msgid "tablespace %u was concurrently dropped"
+msgstr "l'espace logique %u a été supprimé simultanément"
 
-#: catalog/pg_operator.c:412
-msgid "at least one of leftarg or rightarg must be specified"
-msgstr "au moins un des arguments gauche ou droit doit être spécifié"
+#: catalog/pg_proc.c:111 parser/parse_func.c:1223
+#, c-format
+msgid "functions cannot have more than %d arguments"
+msgstr "les fonctions ne peuvent avoir plus de %d arguments"
 
-#: catalog/pg_operator.c:420
-msgid "only binary operators can have commutators"
-msgstr "seuls les opérateurs binaires peuvent avoir des commutateurs"
+#: catalog/pg_proc.c:184 executor/functions.c:1068
+msgid ""
+"A function returning \"anyarray\" or \"anyelement\" must have at least one "
+"argument of either type."
+msgstr "Une fonction renvoyant \"anyarray\" ou \"anyelement\" doit avoir au moins un argument du même type."
 
-#: catalog/pg_operator.c:424
-msgid "only binary operators can have join selectivity"
-msgstr "seuls les opérateurs binaires peuvent avoir une sélection des jointures"
-
-#: catalog/pg_operator.c:428
-msgid "only binary operators can hash"
-msgstr "seuls les opérateurs binaires ont du hachage"
-
-#: catalog/pg_operator.c:432
-msgid "only binary operators can merge join"
-msgstr "seuls les opérateurs binaires peuvent exécuter des jointures MERGE"
-
-#: catalog/pg_operator.c:444
-#, c-format
-msgid "operator %s already exists"
-msgstr "l'opérateur %s existe déjà"
-
-#: catalog/pg_operator.c:726
-msgid "operator cannot be its own negator or sort operator"
-msgstr "l'opérateur ne peut pas être son propre opérateur de négation ou de tri"
-
-#: catalog/pg_proc.c:100 commands/functioncmds.c:154 parser/parse_func.c:1388
-#, c-format
-msgid "functions cannot have more than %d arguments"
-msgstr "les fonctions ne peuvent avoir plus de %d arguments"
+#: catalog/pg_proc.c:189
+msgid "unsafe use of INTERNAL pseudo-type"
+msgstr "utilisation non sûre des pseudo-types INTERNAL"
 
-#: catalog/pg_proc.c:125 executor/functions.c:1083
+#: catalog/pg_proc.c:190
 msgid ""
-"A function returning \"anyarray\" or \"anyelement\" must have at least one "
-"argument of either type."
-msgstr "Une fonction renvoyant \"anyarray\" ou \"anyelement\" doit avoir au moins un argument du même type."
+"A function returning \"internal\" must have at least one \"internal\" "
+"argument."
+msgstr "Une fonction renvoyant «internal» doit avoir au moins un argument du même type."
 
-#: catalog/pg_proc.c:145
+#: catalog/pg_proc.c:202
 #, c-format
 msgid "\"%s\" is already an attribute of type %s"
 msgstr "«%s» est déjà un attribut du type %s"
 
-#: catalog/pg_proc.c:200
+#: catalog/pg_proc.c:267
 #, c-format
 msgid "function \"%s\" already exists with same argument types"
 msgstr "la fonction «%s» existe déjà avec des types d'arguments identiques"
 
-#: catalog/pg_proc.c:214
+#: catalog/pg_proc.c:281 catalog/pg_proc.c:303
 msgid "cannot change return type of existing function"
 msgstr "n'a pas pu modifier le type de retour de fonction existante"
 
-#: catalog/pg_proc.c:215
+#: catalog/pg_proc.c:282 catalog/pg_proc.c:305
 msgid "Use DROP FUNCTION first."
 msgstr "Utilisez tout d'abord DROP FUNCTION."
 
-#: catalog/pg_proc.c:223
+#: catalog/pg_proc.c:304
+msgid "Row type defined by OUT parameters is different."
+msgstr "Le type de ligne défini par les paramètres OUT est différent."
+
+#: catalog/pg_proc.c:314
 #, c-format
 msgid "function \"%s\" is an aggregate"
 msgstr "la fonction «%s» est un aggrégat"
 
-#: catalog/pg_proc.c:228
+#: catalog/pg_proc.c:319
 #, c-format
 msgid "function \"%s\" is not an aggregate"
 msgstr "la fonction «%s» n'est pas un aggrégat"
 
-#: catalog/pg_proc.c:387
+#: catalog/pg_proc.c:444
 #, c-format
 msgid "there is no built-in function named \"%s\""
 msgstr "il n'existe pas de fonctions intégrées nommées «%s»"
 
-#: catalog/pg_proc.c:487
+#: catalog/pg_proc.c:541
 #, c-format
 msgid "SQL functions cannot return type %s"
 msgstr "les fonctions SQL ne peuvent pas renvoyer un type %s"
 
-#: catalog/pg_proc.c:503
+#: catalog/pg_proc.c:557
 #, c-format
 msgid "SQL functions cannot have arguments of type %s"
 msgstr "les fonctions SQL ne peuvent avoir d'arguments du type %s"
 
-#: catalog/pg_proc.c:574 executor/functions.c:803
+#: catalog/pg_proc.c:628 executor/functions.c:809
 #, c-format
 msgid "SQL function \"%s\""
 msgstr "Fonction SQL «%s»"
 
-#: catalog/pg_type.c:198
+#: catalog/pg_namespace.c:51 commands/schemacmds.c:240
+#, c-format
+msgid "schema \"%s\" already exists"
+msgstr "le schéma «%s» existe déjà"
+
+#: catalog/pg_operator.c:218 catalog/pg_operator.c:407
+#, c-format
+msgid "\"%s\" is not a valid operator name"
+msgstr "«%s» n'est pas un nom d'opérateur valide"
+
+#: catalog/pg_operator.c:413
+msgid "at least one of leftarg or rightarg must be specified"
+msgstr "au moins un des arguments gauche ou droit doit être spécifié"
+
+#: catalog/pg_operator.c:421
+msgid "only binary operators can have commutators"
+msgstr "seuls les opérateurs binaires peuvent avoir des commutateurs"
+
+#: catalog/pg_operator.c:425
+msgid "only binary operators can have join selectivity"
+msgstr "seuls les opérateurs binaires peuvent avoir une sélection des jointures"
+
+#: catalog/pg_operator.c:429
+msgid "only binary operators can hash"
+msgstr "seuls les opérateurs binaires ont du hachage"
+
+#: catalog/pg_operator.c:433
+msgid "only binary operators can merge join"
+msgstr "seuls les opérateurs binaires peuvent exécuter des jointures MERGE"
+
+#: catalog/pg_operator.c:445
+#, c-format
+msgid "operator %s already exists"
+msgstr "l'opérateur %s existe déjà"
+
+#: catalog/pg_operator.c:724
+msgid "operator cannot be its own negator or sort operator"
+msgstr "l'opérateur ne peut pas être son propre opérateur de négation ou de tri"
+
+#: catalog/pg_type.c:195
 #, c-format
 msgid "invalid type internal size %d"
 msgstr "taille de type interne invalide %d"
 
-#: catalog/pg_type.c:204
+#: catalog/pg_type.c:201
 #, c-format
 msgid "internal size %d is invalid for passed-by-value type"
 msgstr "la taille interne %d est invalide pour le type passé par valeur"
 
-#: catalog/pg_type.c:211
+#: catalog/pg_type.c:208
 msgid "fixed-size types must have storage PLAIN"
 msgstr "les types de taille fixe doivent avoir un stockage de base"
 
-#: catalog/pg_type.c:293 catalog/pg_type.c:525
+#: catalog/pg_type.c:289 catalog/pg_type.c:523
 #, c-format
 msgid "type \"%s\" already exists"
 msgstr "le type «%s» existe déjà"
 
-#: catalog/pg_type.c:517 commands/functioncmds.c:110 commands/tablecmds.c:4632
-#: commands/typecmds.c:423 commands/typecmds.c:809 commands/typecmds.c:1167
-#: commands/typecmds.c:1288 commands/typecmds.c:1400 commands/typecmds.c:1487
-#: commands/typecmds.c:2072 parser/parse_func.c:1401 parser/parse_type.c:201
-#: parser/parse_type.c:227 tcop/utility.c:97 utils/adt/regproc.c:1003
+#: catalog/pg_type.c:515 commands/functioncmds.c:112 commands/tablecmds.c:4740
+#: commands/typecmds.c:422 commands/typecmds.c:807 commands/typecmds.c:1131
+#: commands/typecmds.c:1254 commands/typecmds.c:1366 commands/typecmds.c:1453
+#: commands/typecmds.c:2042 commands/typecmds.c:2168 parser/parse_func.c:1236
+#: parser/parse_type.c:201 parser/parse_type.c:227 tcop/utility.c:97
+#: utils/adt/regproc.c:1002
 #, c-format
 msgid "type \"%s\" does not exist"
 msgstr "le type «%s» n'existe pas"
 
-#: commands/aggregatecmds.c:97
+#: commands/aggregatecmds.c:99
 #, c-format
 msgid "aggregate attribute \"%s\" not recognized"
 msgstr "l'attribut de l'aggrégat «%s» n'est pas reconnu"
 
-#: commands/aggregatecmds.c:107
+#: commands/aggregatecmds.c:109
 msgid "aggregate basetype must be specified"
 msgstr "le type de base d'aggrégat doit être spécifié"
 
-#: commands/aggregatecmds.c:111
+#: commands/aggregatecmds.c:113
 msgid "aggregate stype must be specified"
 msgstr "le type de l'aggrégat doit être spécifié"
 
-#: commands/aggregatecmds.c:115
+#: commands/aggregatecmds.c:117
 msgid "aggregate sfunc must be specified"
 msgstr "la fonction de l'aggrégat doit être spécifiée"
 
-#: commands/aggregatecmds.c:138
+#: commands/aggregatecmds.c:140
 #, c-format
 msgid "aggregate transition data type cannot be %s"
 msgstr "Le type de données de transition de l'aggrégat ne peut pas être %s"
 
-#: commands/aggregatecmds.c:258
+#: commands/aggregatecmds.c:261
 #, c-format
 msgid "function %s(*) already exists in schema \"%s\""
 msgstr "la fonction %s(*) existe déjà dans le schéma «%s»"
 
-#: commands/aggregatecmds.c:264 commands/functioncmds.c:699
+#: commands/aggregatecmds.c:267 commands/functioncmds.c:828
 #, c-format
 msgid "function %s already exists in schema \"%s\""
 msgstr "la fonction %s existe déjà dans le schéma «%s»"
 
-#: commands/aggregatecmds.c:335 commands/conversioncmds.c:213
-#: commands/dbcommands.c:890 commands/functioncmds.c:773
-#: commands/opclasscmds.c:954 commands/operatorcmds.c:303
-#: commands/schemacmds.c:319 commands/tablecmds.c:5228
-#: commands/tablespace.c:839 commands/typecmds.c:2103
-msgid "must be superuser to change owner"
-msgstr "doit être super-utilisateur pour modifier le propriétaire"
-
-#: commands/analyze.c:153
+#: commands/analyze.c:155
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can analyze it"
 msgstr "Ne s'occupe pas de «%s» --- seul le propriétaire de la table ou de la base de données peut l'analyser"
 
-#: commands/analyze.c:168
+#: commands/analyze.c:170
 #, c-format
-msgid ""
-"skipping \"%s\" --- cannot analyze indexes, views, or special system tables"
+msgid "skipping \"%s\" --- cannot analyze indexes, views, or special system tables"
 msgstr "Ne s'occupe pas de «%s» --- impossible d'analyser les index, vues ou tables système"
 
-#: commands/analyze.c:198
+#: commands/analyze.c:199
 #, c-format
 msgid "analyzing \"%s.%s\""
 msgstr "Analyse de \"%s.%s\""
 
-#: commands/analyze.c:912
+#: commands/analyze.c:926
 #, c-format
 msgid ""
 "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead "
@@ -1952,7 +2048,7 @@ msgstr "
 msgid "there is no previously clustered index for table \"%s\""
 msgstr "Il n'existe pas de groupes d'index pour la table «%s»"
 
-#: commands/cluster.c:147 commands/tablecmds.c:5377
+#: commands/cluster.c:147 commands/tablecmds.c:5544
 #, c-format
 msgid "index \"%s\" for table \"%s\" does not exist"
 msgstr "L'index «%s» pour la table «%s» n'existe pas"
@@ -1963,30 +2059,35 @@ msgid "\"%s\" is not an index for table \"%s\""
 msgstr "«%s» n'est pas un index de la table «%s»"
 
 #: commands/cluster.c:339
-msgid "cannot cluster on partial index"
-msgstr "n'a pas pu créer un cluster sur un index partiel"
+#, c-format
+msgid "cannot cluster on partial index \"%s\""
+msgstr "n'a pas pu créer un cluster sur l'index partiel «%s»"
 
-#: commands/cluster.c:357
-msgid "cannot cluster when index access method does not handle null values"
-msgstr "n'a pas pu créer un cluster lorsque la méthode d'accès de l'index ne gère pas les valeurs NULL"
+#: commands/cluster.c:359
+#, c-format
+msgid ""
+"cannot cluster on index \"%s\" because access method\n"
+"does not handle null values"
+msgstr "n'a pas pu créer un cluster sur l'index «%s» car la méthode d'accès de l'index ne gère pas les valeurs NULL"
 
-#: commands/cluster.c:358
+#: commands/cluster.c:362
 #, c-format
-msgid "You may be able to work around this by marking column \"%s\" NOT NULL."
-msgstr "Vous pouvez contourner ceci en marquant la colonne «%s» comme NOT NULL."
+msgid "You may be able to work around this by marking column \"%s\" NOT NULL%s"
+msgstr "Vous pouvez contourner ceci en marquant la colonne «%s» comme NOT NULL%s"
 
-#: commands/cluster.c:370
+#: commands/cluster.c:375
+#, c-format
 msgid ""
-"cannot cluster on expressional index when index access method does not "
-"handle null values"
-msgstr "n'a pas pu créer un cluster sur un index à expression lorsque la méthode d'accès de l'index ne gère pas les valeurs NULL"
+"cannot cluster on expressional index \"%s\" because its index access\n"
+"method does not handle null values"
+msgstr "n'a pas pu créer un cluster sur l'index à expression «%s» car sa méthode d'accès ne gère pas les valeurs NULL"
 
-#: commands/cluster.c:384
+#: commands/cluster.c:390
 #, c-format
 msgid "\"%s\" is a system catalog"
 msgstr "«%s» est un catalogue système"
 
-#: commands/cluster.c:394
+#: commands/cluster.c:400
 msgid "cannot cluster temporary tables of other sessions"
 msgstr "n'a pas pu créer un cluster sur les tables temporaires d'autres sessions"
 
@@ -2005,43 +2106,43 @@ msgstr "Le codage de destination 
 msgid "conversion \"%s\" already exists in schema \"%s\""
 msgstr "La conversion «%s» existe déjà dans le schéma «%s»"
 
-#: commands/comment.c:334 commands/sequence.c:767 tcop/utility.c:83
+#: commands/comment.c:340 commands/sequence.c:843 tcop/utility.c:83
 #, c-format
 msgid "\"%s\" is not a sequence"
 msgstr "«%s» n'est pas une séquence"
 
-#: commands/comment.c:341 commands/indexcmds.c:137 commands/indexcmds.c:951
-#: commands/lockcmds.c:68 commands/tablecmds.c:544 commands/tablecmds.c:2624
-#: commands/trigger.c:141 commands/trigger.c:546 tcop/utility.c:78
+#: commands/comment.c:347 commands/indexcmds.c:140 commands/indexcmds.c:953
+#: commands/lockcmds.c:68 commands/tablecmds.c:560 commands/tablecmds.c:2661
+#: commands/trigger.c:144 commands/trigger.c:550 tcop/utility.c:78
 #, c-format
 msgid "\"%s\" is not a table"
 msgstr "«%s» n'est pas une table"
 
-#: commands/comment.c:348 commands/view.c:113 tcop/utility.c:88
+#: commands/comment.c:354 commands/view.c:162 tcop/utility.c:88
 #, c-format
 msgid "\"%s\" is not a view"
 msgstr "«%s» n'est pas une vue"
 
-#: commands/comment.c:404 commands/tablecmds.c:3100 commands/tablecmds.c:3193
-#: commands/tablecmds.c:3245 commands/tablecmds.c:3341
-#: commands/tablecmds.c:3402 commands/tablecmds.c:3468
-#: commands/tablecmds.c:4608 commands/tablecmds.c:4745
-#: parser/parse_relation.c:1641 parser/parse_relation.c:1700
-#: parser/parse_relation.c:1913 parser/parse_type.c:94
-#: utils/adt/ruleutils.c:1257
+#: commands/comment.c:410 commands/tablecmds.c:3165 commands/tablecmds.c:3258
+#: commands/tablecmds.c:3310 commands/tablecmds.c:3406
+#: commands/tablecmds.c:3467 commands/tablecmds.c:3533
+#: commands/tablecmds.c:4716 commands/tablecmds.c:4853
+#: parser/parse_relation.c:1387 parser/parse_relation.c:1442
+#: parser/parse_relation.c:1642 parser/parse_type.c:94
+#: utils/adt/ruleutils.c:1268
 #, c-format
 msgid "column \"%s\" of relation \"%s\" does not exist"
 msgstr "La colonne «%s» de la relation «%s» n'existe pas"
 
-#: commands/comment.c:435
+#: commands/comment.c:440
 msgid "database name may not be qualified"
 msgstr "Le nom de la base de donnée ne peut être qualifié"
 
-#: commands/comment.c:468
+#: commands/comment.c:473
 msgid "database comments may only be applied to the current database"
 msgstr "Les commentaires de la base de données pourraient seulement être appliqués à la base de données actuelle"
 
-#: commands/comment.c:500 commands/schemacmds.c:172
+#: commands/comment.c:504 commands/schemacmds.c:160
 msgid "schema name may not be qualified"
 msgstr "Le nom du schéma ne pourrait pas être qualifié"
 
@@ -2059,299 +2160,288 @@ msgstr "Il existe de nombreuses r
 msgid "Specify a relation name as well as a rule name."
 msgstr "Spécifiez un nom de relation comme un nom de règle."
 
-#: commands/comment.c:619 rewrite/rewriteDefine.c:582
-#: rewrite/rewriteRemove.c:59
+#: commands/comment.c:619 rewrite/rewriteDefine.c:580
+#: rewrite/rewriteRemove.c:58
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" does not exist"
 msgstr "La règle \"%s\" de la relation \"%s\" n'existe pas"
 
-#: commands/comment.c:836 commands/trigger.c:483 commands/trigger.c:697
+#: commands/comment.c:826 commands/trigger.c:487 commands/trigger.c:701
+#: commands/trigger.c:810
 #, c-format
 msgid "trigger \"%s\" for table \"%s\" does not exist"
 msgstr "Le déclencheur «%s» pour la table «%s» n'existe pas"
 
-#: commands/comment.c:916
+#: commands/comment.c:905
 #, c-format
 msgid "table \"%s\" has multiple constraints named \"%s\""
 msgstr "La table «%s» a de nombreuses contraintes nommées «%s»"
 
-#: commands/comment.c:928
+#: commands/comment.c:917
 #, c-format
 msgid "constraint \"%s\" for table \"%s\" does not exist"
 msgstr "La contrainte «%s» de la table «%s» n'existe pas"
 
-#: commands/comment.c:992
+#: commands/comment.c:976
 msgid "language name may not be qualified"
 msgstr "le nom du langage pourrait ne pas être qualifié"
 
-#: commands/comment.c:1007
+#: commands/comment.c:991
 msgid "must be superuser to comment on procedural language"
 msgstr "doit être super-utilisateur pour ajouter un commentaire sur un langage procédural"
 
-#: commands/comment.c:1048 commands/indexcmds.c:230 commands/opclasscmds.c:108
-#: commands/opclasscmds.c:648 commands/opclasscmds.c:800
-#: commands/opclasscmds.c:900
+#: commands/comment.c:1028 commands/indexcmds.c:233 commands/opclasscmds.c:108
+#: commands/opclasscmds.c:651 commands/opclasscmds.c:803
+#: commands/opclasscmds.c:904
 #, c-format
 msgid "access method \"%s\" does not exist"
 msgstr "la méthode d'accès «%s» n'existe pas"
 
-#: commands/comment.c:1077 commands/comment.c:1087 commands/indexcmds.c:614
-#: commands/indexcmds.c:624 commands/opclasscmds.c:677
-#: commands/opclasscmds.c:687 commands/opclasscmds.c:822
-#: commands/opclasscmds.c:833 commands/opclasscmds.c:922
-#: commands/opclasscmds.c:932
+#: commands/comment.c:1057 commands/comment.c:1067 commands/indexcmds.c:617
+#: commands/indexcmds.c:627 commands/opclasscmds.c:680
+#: commands/opclasscmds.c:690 commands/opclasscmds.c:825
+#: commands/opclasscmds.c:836 commands/opclasscmds.c:926
+#: commands/opclasscmds.c:937
 #, 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/comment.c:1192 commands/functioncmds.c:908
-#: commands/functioncmds.c:1156
+#: commands/comment.c:1164 commands/functioncmds.c:1122
+#: commands/functioncmds.c:1370
 #, c-format
 msgid "source data type %s does not exist"
 msgstr "le type de données sources %s n'existe pas"
 
-#: commands/comment.c:1199 commands/functioncmds.c:915
-#: commands/functioncmds.c:1163
+#: commands/comment.c:1171 commands/functioncmds.c:1129
+#: commands/functioncmds.c:1377
 #, c-format
 msgid "target data type %s does not exist"
 msgstr "le type de données cible %s n'existe pas"
 
-#: commands/comment.c:1209 commands/functioncmds.c:1173
+#: commands/comment.c:1181 commands/functioncmds.c:1387
 #, c-format
 msgid "cast from type %s to type %s does not exist"
 msgstr "la conversion du type %s vers le type %s n'existe pas"
 
-#: commands/comment.c:1221 commands/functioncmds.c:948
-#: commands/functioncmds.c:1182
+#: commands/comment.c:1193 commands/functioncmds.c:1162
+#: commands/functioncmds.c:1396
 #, c-format
 msgid "must be owner of type %s or type %s"
 msgstr "doit être le propriétaire du type %s ou du type %s"
 
-#: commands/copy.c:721 commands/copy.c:729 commands/copy.c:737
-#: commands/copy.c:745 commands/copy.c:753 commands/copy.c:761
-#: commands/copy.c:769 commands/copy.c:777 commands/copy.c:785
-#: commands/dbcommands.c:108 commands/dbcommands.c:116
-#: commands/dbcommands.c:124 commands/dbcommands.c:132
-#: commands/functioncmds.c:228 commands/functioncmds.c:236
-#: commands/functioncmds.c:244 commands/functioncmds.c:252
-#: commands/functioncmds.c:260 commands/sequence.c:896 commands/sequence.c:909
-#: commands/sequence.c:917 commands/sequence.c:925 commands/sequence.c:933
-#: commands/sequence.c:941 commands/user.c:576 commands/user.c:588
-#: commands/user.c:596 commands/user.c:604 commands/user.c:612
-#: commands/user.c:620 commands/user.c:826 commands/user.c:838
-#: commands/user.c:846 commands/user.c:854 commands/user.c:1356
-#: commands/user.c:1364
+#: commands/copy.c:676 commands/copy.c:684 commands/copy.c:692
+#: commands/copy.c:700 commands/copy.c:708 commands/copy.c:716
+#: commands/copy.c:724 commands/copy.c:732 commands/copy.c:740
+#: commands/copy.c:748 commands/dbcommands.c:115 commands/dbcommands.c:123
+#: commands/dbcommands.c:131 commands/dbcommands.c:139
+#: commands/dbcommands.c:147 commands/dbcommands.c:813
+#: commands/functioncmds.c:309 commands/functioncmds.c:359
+#: commands/functioncmds.c:367 commands/sequence.c:944 commands/sequence.c:957
+#: commands/sequence.c:965 commands/sequence.c:973 commands/sequence.c:981
+#: commands/sequence.c:989 commands/user.c:131 commands/user.c:148
+#: commands/user.c:156 commands/user.c:164 commands/user.c:172
+#: commands/user.c:180 commands/user.c:188 commands/user.c:196
+#: commands/user.c:204 commands/user.c:212 commands/user.c:220
+#: commands/user.c:443 commands/user.c:455 commands/user.c:463
+#: commands/user.c:471 commands/user.c:479 commands/user.c:487
+#: commands/user.c:495 commands/user.c:504 commands/user.c:512
 msgid "conflicting or redundant options"
 msgstr "options en conflit ou redondantes"
 
-#: commands/dbcommands.c:139
+#: commands/dbcommands.c:154
 msgid "LOCATION is not supported anymore"
 msgstr "LOCATION n'est plus supporté"
 
-#: commands/dbcommands.c:140
+#: commands/dbcommands.c:155
 msgid "Consider using tablespaces instead."
 msgstr "Considérez l'utilisation d'espaces logiques."
 
-#: commands/dbcommands.c:163
+#: commands/dbcommands.c:178
 #, c-format
 msgid "%d is not a valid encoding code"
 msgstr "%d n'est pas un code de codage valide"
 
-#: commands/dbcommands.c:172
+#: commands/dbcommands.c:187
 #, c-format
 msgid "%s is not a valid encoding name"
 msgstr "%s n'est pas un nom de codage valide"
 
-#: commands/dbcommands.c:193
+#: commands/dbcommands.c:214
 msgid "permission denied to create database"
 msgstr "droit refusé pour créer une base de données"
 
-#: commands/dbcommands.c:202
-msgid "must be superuser to create database for another user"
-msgstr "doit être super-utilisateur pour créer une base de données pour un autre utilisateur"
-
-#: commands/dbcommands.c:216 commands/dbcommands.c:458
-#: commands/dbcommands.c:712
+#: commands/dbcommands.c:230 commands/dbcommands.c:447
+#: commands/dbcommands.c:753
 #, c-format
 msgid "database \"%s\" already exists"
 msgstr "la base de données «%s» existe déjà"
 
-#: commands/dbcommands.c:229
+#: commands/dbcommands.c:243
 #, c-format
 msgid "template database \"%s\" does not exist"
 msgstr "la base de données modèle «%s» n'existe pas"
 
-#: commands/dbcommands.c:240
+#: commands/dbcommands.c:254
 #, c-format
 msgid "permission denied to copy database \"%s\""
 msgstr "droit refusé pour copier la base de données «%s»"
 
-#: commands/dbcommands.c:253
+#: commands/dbcommands.c:267
 #, c-format
 msgid "source database \"%s\" is being accessed by other users"
 msgstr "la base de données source «%s» est accédée par d'autres utilisateurs"
 
-#: commands/dbcommands.c:264
+#: commands/dbcommands.c:278
 #, c-format
 msgid "invalid server encoding %d"
 msgstr "codage serveur %d invalide"
 
-#: commands/dbcommands.c:310
+#: commands/dbcommands.c:324
 #, c-format
 msgid "cannot assign new default tablespace \"%s\""
 msgstr "n'a pas pu affecter un nouvel espace logique par défaut «%s»"
 
-#: commands/dbcommands.c:312
+#: commands/dbcommands.c:326
 #, c-format
 msgid ""
 "There is a conflict because database \"%s\" already has some tables in this "
 "tablespace."
 msgstr "Il existe un conflit car la base de données «%s» a déjà quelques tables dans son espace logique."
 
-#: commands/dbcommands.c:382 commands/dbcommands.c:404
-#: commands/dbcommands.c:414 commands/dbcommands.c:1226
-#: commands/dbcommands.c:1234
-msgid "could not initialize database directory"
-msgstr "n'a pas pu initialiser le répertoire de la base de données"
-
-#: commands/dbcommands.c:383
-#, c-format
-msgid "Directory \"%s\" already exists."
-msgstr "Le répertoire «%s» existe déjà"
-
-#: commands/dbcommands.c:405 commands/dbcommands.c:1227
-#, c-format
-msgid "Failing system command was: %s"
-msgstr "La commande système ayant échouée était : %s"
-
-#: commands/dbcommands.c:406 commands/dbcommands.c:1228
-msgid "Look in the postmaster's stderr log for more information."
-msgstr ""
-"Regardez dans le journal des erreurs (stderr) de postmaster pour plus "
-"d'informations."
-
-#: commands/dbcommands.c:533
+#: commands/dbcommands.c:569
 msgid "cannot drop the currently open database"
 msgstr "n'a pas pu supprimer la base de données actuellement ouverte"
 
-#: commands/dbcommands.c:564
+#: commands/dbcommands.c:603
 msgid "cannot drop a template database"
 msgstr "n'a pas pu supprimer une base de données modèle"
 
-#: commands/dbcommands.c:572 commands/dbcommands.c:699
+#: commands/dbcommands.c:611 commands/dbcommands.c:740
 #, c-format
 msgid "database \"%s\" is being accessed by other users"
 msgstr "la base de données «%s» est actuellement accédée par d'autres utilisateurs"
 
-#: commands/dbcommands.c:690
+#: commands/dbcommands.c:731
 msgid "current database may not be renamed"
 msgstr "la base de données pourrait ne pas être renommée"
 
-#: commands/dbcommands.c:724
+#: commands/dbcommands.c:765
 msgid "permission denied to rename database"
 msgstr "droit refusé pour le renommage de la base de données"
 
-#: commands/dbcommands.c:1063 commands/dbcommands.c:1200
-#: commands/dbcommands.c:1250
+#: commands/dbcommands.c:1033
+msgid "permission denied to change owner of database"
+msgstr "droit refusé pour modifier le propriétaire de la base de données"
+
+#: commands/dbcommands.c:1210 commands/dbcommands.c:1344
+#: commands/dbcommands.c:1377
 #, c-format
 msgid "could not remove database directory \"%s\""
 msgstr "n'a pas pu supprimer le répertoire de bases de données «%s»"
 
-#: commands/copy.c:205 commands/copy.c:217 commands/copy.c:250
-#: commands/copy.c:260
+#: commands/copy.c:233 commands/copy.c:245 commands/copy.c:279
+#: commands/copy.c:289
 msgid "COPY BINARY is not supported to stdout or from stdin"
 msgstr "COPY BINARY n'est pas supporté vers stdout ou à partir de stdin"
 
-#: commands/copy.c:313
+#: commands/copy.c:342
 #, c-format
 msgid "could not write to COPY file: %m"
 msgstr "n'a pas pu écrire vers le fichier COPY : %m"
 
-#: commands/copy.c:321
+#: commands/copy.c:350
 msgid "connection lost during COPY to stdout"
 msgstr "connexion perdue lors de l'opération COPY vers stdout"
 
-#: commands/copy.c:404 commands/copy.c:422 commands/copy.c:426
-#: commands/copy.c:487 commands/copy.c:536 tcop/fastpath.c:291
-#: tcop/postgres.c:287 tcop/postgres.c:310
+#: commands/copy.c:432
+#, c-format
+msgid "could not read from COPY file: %m"
+msgstr "n'a pas pu lire depuis le fichier COPY : %m"
+
+#: commands/copy.c:447 commands/copy.c:466 commands/copy.c:470
+#: tcop/fastpath.c:290 tcop/postgres.c:294 tcop/postgres.c:317
 msgid "unexpected EOF on client connection"
 msgstr "fin de fichier (EOF) inattendue de la connexion du client"
 
-#: commands/copy.c:438
+#: commands/copy.c:482
 #, c-format
 msgid "COPY from stdin failed: %s"
 msgstr "échec de la commande COPY à partir de stdin : %s"
 
-#: commands/copy.c:454
+#: commands/copy.c:498
 #, c-format
 msgid "unexpected message type 0x%02X during COPY from stdin"
 msgstr "type 0x%02X du message, inattendu, lors d'une opération COPY à partir de stdin"
 
-#: commands/copy.c:796
+#: commands/copy.c:760
 msgid "cannot specify DELIMITER in BINARY mode"
 msgstr "n'a pas pu spécifier le délimiteur (DELIMITER) en mode binaire (BINARY)"
 
-#: commands/copy.c:801
+#: commands/copy.c:765
 msgid "cannot specify CSV in BINARY mode"
 msgstr "n'a pas pu spécifier CSV en mode binaire (BINARY)"
 
-#: commands/copy.c:806
+#: commands/copy.c:770
 msgid "cannot specify NULL in BINARY mode"
 msgstr "n'a pas pu spécifier NULL en mode binaire (BINARY)"
 
-#: commands/copy.c:829
+#: commands/copy.c:792
 msgid "COPY delimiter must be a single character"
 msgstr "le délimiteur COPY doit être sur un seul caractère"
 
-#: commands/copy.c:837
+#: commands/copy.c:798
+msgid "COPY HEADER available only in CSV mode"
+msgstr "COPY HEADER disponible uniquement en mode CSV"
+
+#: commands/copy.c:804
 msgid "COPY quote available only in CSV mode"
 msgstr "le guillemet COPY ne sont disponibles que dans le mode CSV"
 
-#: commands/copy.c:842
+#: commands/copy.c:809
 msgid "COPY quote must be a single character"
 msgstr "le guillemet COPY doit être sur un seul caractère"
 
-#: commands/copy.c:850
+#: commands/copy.c:815
 msgid "COPY escape available only in CSV mode"
 msgstr "Le caractère d'échappement COPY n'est disponible que dans le mode CSV"
 
-#: commands/copy.c:855
+#: commands/copy.c:820
 msgid "COPY escape must be a single character"
 msgstr "Le caractère d'échappement COPY doit être sur un seul caractère"
 
-#: commands/copy.c:863
+#: commands/copy.c:826
 msgid "COPY force quote available only in CSV mode"
 msgstr "le guillemet forcé COPY n'est disponible que dans le mode CSV"
 
-#: commands/copy.c:867
+#: commands/copy.c:830
 msgid "COPY force quote only available using COPY TO"
 msgstr "le guillemet forcé COPY n'est disponible qu'en utilisant COPY TO"
 
-#: commands/copy.c:875
+#: commands/copy.c:836
 msgid "COPY force not null available only in CSV mode"
 msgstr "«COPY force not null» n'est disponible que dans la version CSV"
 
-#: commands/copy.c:879
+#: commands/copy.c:840
 msgid "COPY force not null only available using COPY FROM"
 msgstr "«COPY force not null» uniquement disponible en utilisant COPY FROM"
 
-#: commands/copy.c:887
+#: commands/copy.c:846
 msgid "COPY delimiter must not appear in the NULL specification"
 msgstr "le délimiteur COPY ne doit pas apparaître dans la spécification de NULL"
 
-#: commands/copy.c:895
+#: commands/copy.c:853
 msgid "CSV quote character must not appear in the NULL specification"
 msgstr "Le caractère guillemet de CSV ne doit pas apparaître dans la spécification de NULL"
 
-#: commands/copy.c:906 executor/execMain.c:443 tcop/utility.c:323
+#: commands/copy.c:864 executor/execMain.c:442 tcop/utility.c:324
 msgid "transaction is read-only"
 msgstr "la transaction est en lecture seule"
 
-#: commands/copy.c:917
+#: commands/copy.c:875
 msgid "must be superuser to COPY to or from a file"
 msgstr "doit être super-utilisateur pour utiliser COPY à partir ou vers un fichier"
 
-#: commands/copy.c:918
+#: commands/copy.c:876
 msgid ""
 "Anyone can COPY to stdout or from stdin. psql's \\copy command also works "
 "for anyone."
@@ -2359,329 +2449,385 @@ msgstr ""
 "Tout le monde peut utiliser COPY vers stdout ou partir de stdin. La commande "
 "\\copy de psql fonctionne aussi pour tout le monde."
 
-#: commands/copy.c:927
+#: commands/copy.c:883
 #, c-format
 msgid "table \"%s\" does not have OIDs"
 msgstr "la table «%s» n'a pas d'OID"
 
-#: commands/copy.c:953
+#: commands/copy.c:905
 #, 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:976
+#: commands/copy.c:927
 #, 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:1003
+#: commands/copy.c:953
 #, c-format
 msgid "cannot copy to view \"%s\""
 msgstr "n'a pas pu copier vers la vue «%s»"
 
-#: commands/copy.c:1008
+#: commands/copy.c:958
 #, c-format
 msgid "cannot copy to sequence \"%s\""
 msgstr "n'a pas pu copier vers la séquence «%s»"
 
-#: commands/copy.c:1013
+#: commands/copy.c:963
 #, c-format
 msgid "cannot copy to non-table relation \"%s\""
 msgstr "n'a pas pu copier vers une relation «%s» qui n'est pas une table"
 
-#: commands/copy.c:1032
+#: commands/copy.c:982 utils/adt/genfile.c:112
 #, c-format
 msgid "could not open file \"%s\" for reading: %m"
 msgstr "n'a pas pu ouvrir le fichier «%s» pour une lecture : %m"
 
-#: commands/copy.c:1041 commands/copy.c:1104
+#: commands/copy.c:991 commands/copy.c:1054
 #, c-format
 msgid "\"%s\" is a directory"
 msgstr "«%s» est un répertoire"
 
-#: commands/copy.c:1054
+#: commands/copy.c:1004
 #, c-format
 msgid "cannot copy from view \"%s\""
 msgstr "n'a pas pu copier à partir de la vue «%s»"
 
-#: commands/copy.c:1059
+#: commands/copy.c:1009
 #, c-format
 msgid "cannot copy from sequence \"%s\""
 msgstr "n'a pas pu copier à partir de la séquence «%s»"
 
-#: commands/copy.c:1064
+#: commands/copy.c:1014
 #, c-format
 msgid "cannot copy from non-table relation \"%s\""
 msgstr "n'a pas pu copier à partir de la relation «%s», qui n'est pas une table"
 
-#: commands/copy.c:1086
+#: commands/copy.c:1036
 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:1095
+#: commands/copy.c:1045
 #, 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:1388
+#: commands/copy.c:1347
 #, c-format
 msgid "COPY %s, line %d, column %s"
 msgstr "COPY %s, ligne %d, colonne %s"
 
-#: commands/copy.c:1391 commands/copy.c:1424
+#: commands/copy.c:1351 commands/copy.c:1389
 #, c-format
 msgid "COPY %s, line %d"
 msgstr "COPY %s, ligne %d"
 
-#: commands/copy.c:1399
+#: commands/copy.c:1362
 #, c-format
 msgid "COPY %s, line %d, column %s: \"%s\""
 msgstr "COPY %s, ligne %d, colonne %s : «%s»"
 
-#: commands/copy.c:1410
+#: commands/copy.c:1375
 #, c-format
 msgid "COPY %s, line %d: \"%s\""
 msgstr "COPY %s, ligne %d : «%s»"
 
-#: commands/copy.c:1636
+#: commands/copy.c:1604
 msgid "COPY file signature not recognized"
 msgstr "la signature du fichier COPY n'est pas reconnue"
 
-#: commands/copy.c:1642
+#: commands/copy.c:1609
 msgid "invalid COPY file header (missing flags)"
 msgstr "en-tête du fichier COPY invalide (options manquantes)"
 
-#: commands/copy.c:1648
+#: commands/copy.c:1615
 msgid "unrecognized critical flags in COPY file header"
 msgstr "options critiques non reconnues dans l'en-tête du fichier COPY"
 
-#: commands/copy.c:1654
+#: commands/copy.c:1621
 msgid "invalid COPY file header (missing length)"
 msgstr "en-tête du fichier COPY invalide (longueur manquante)"
 
-#: commands/copy.c:1662
+#: commands/copy.c:1628
 msgid "invalid COPY file header (wrong length)"
 msgstr "en-tête du fichier COPY invalide (mauvaise longueur)"
 
-#: commands/copy.c:1741
+#: commands/copy.c:1723
+msgid "missing data for OID column"
+msgstr "données manquantes pour la colonne OID"
+
+#: commands/copy.c:1729
 msgid "null OID in COPY data"
 msgstr "OID NULL dans les données du COPY"
 
-#: commands/copy.c:1750 commands/copy.c:1847
+#: commands/copy.c:1739 commands/copy.c:1813
 msgid "invalid OID in COPY data"
 msgstr "OID invalide dans les données du COPY"
 
-#: commands/copy.c:1770
+#: commands/copy.c:1754
 #, c-format
 msgid "missing data for column \"%s\""
 msgstr "Données manquantes pour la colonne «%s»"
 
-#: commands/copy.c:1780
-msgid "unterminated CSV quoted field"
-msgstr "champ CSV entre guillemets non terminé"
-
-#: commands/copy.c:1815
-msgid "extra data after last expected column"
-msgstr "données supplémentaires après la dernière colonne attendue"
-
-#: commands/copy.c:1833
+#: commands/copy.c:1797
 #, 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:2055 commands/copy.c:2073
+#: commands/copy.c:2173 commands/copy.c:2185
 msgid "literal carriage return found in data"
 msgstr "un retour chariot littéral trouvé dans la donnée"
 
-#: commands/copy.c:2056 commands/copy.c:2074
+#: commands/copy.c:2174 commands/copy.c:2186
 msgid "Use \"\\r\" to represent carriage return."
 msgstr "Utilisez «\\r» pour représenter un retour chariot."
 
-#: commands/copy.c:2091
+#: commands/copy.c:2196
 msgid "literal newline found in data"
 msgstr "retour à la ligne littéral trouvé dans les données"
 
-#: commands/copy.c:2092
+#: commands/copy.c:2197
 msgid "Use \"\\n\" to represent newline."
 msgstr "Utilisez «\\n» pour représenter une nouvelle ligne."
 
-#: commands/copy.c:2112 commands/copy.c:2128
+#: commands/copy.c:2242 commands/copy.c:2265 commands/copy.c:2578
+#: commands/copy.c:2601
 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:2116 commands/copy.c:2122
+#: commands/copy.c:2246 commands/copy.c:2259 commands/copy.c:2582
+#: commands/copy.c:2595
 msgid "end-of-copy marker corrupt"
 msgstr "marqueur fin-de-copie corrompu"
 
-#: commands/copy.c:2487 commands/copy.c:2509
+#: commands/copy.c:2497
+msgid "unquoted carriage return found in data"
+msgstr "retour chariot littéral trouvé dans la donnée"
+
+#: commands/copy.c:2498 commands/copy.c:2510
+msgid "Use quoted CSV field to represent carriage return."
+msgstr "Utilisez le champ CSV entre guillemets pour représenter un retour chariot."
+
+#: commands/copy.c:2509
+msgid "unquoted carriage return found in CSV data"
+msgstr "retour chariot littéral trouvé dans la donnée CSV"
+
+#: commands/copy.c:2520
+msgid "unquoted newline found in data"
+msgstr "retour à la ligne littéral trouvé dans les données"
+
+#: commands/copy.c:2521
+msgid "Use quoted CSV field to represent newline."
+msgstr "Utilisez un champ CSV entre guillemets pour représenter une nouvelle ligne."
+
+#: commands/copy.c:2708 commands/copy.c:2744 commands/copy.c:2908
+#: commands/copy.c:2946
+msgid "extra data after last expected column"
+msgstr "données supplémentaires après la dernière colonne attendue"
+
+#: commands/copy.c:3015
+msgid "unterminated CSV quoted field"
+msgstr "champ CSV entre guillemets non terminé"
+
+#: commands/copy.c:3053 commands/copy.c:3075
 msgid "unexpected EOF in COPY data"
 msgstr "fin de fichier (EOF) inattendu dans les données du COPY"
 
-#: commands/copy.c:2496
+#: commands/copy.c:3062
 msgid "invalid field size"
 msgstr "taille du champ invalide"
 
-#: commands/copy.c:2523
+#: commands/copy.c:3090
 msgid "incorrect binary data format"
 msgstr "format de données binaires incorrect"
 
-#: commands/copy.c:2728 parser/parse_target.c:650 parser/parse_target.c:660
+#: commands/copy.c:3263 parser/parse_target.c:644 parser/parse_target.c:654
 #, c-format
 msgid "column \"%s\" specified more than once"
 msgstr "la colonne «%s» est spécifiée plus d'une fois"
 
-#: commands/functioncmds.c:84
+#: commands/functioncmds.c:86
 #, c-format
 msgid "SQL function cannot return shell type %s"
 msgstr "la fonction SQL ne peut pas retourner le type shell %s"
 
-#: commands/functioncmds.c:89
+#: commands/functioncmds.c:91
 #, c-format
 msgid "return type %s is only a shell"
 msgstr "le type de retour %s est seulement un shell"
 
-#: commands/functioncmds.c:115
+#: commands/functioncmds.c:117
 #, c-format
 msgid "type \"%s\" is not yet defined"
 msgstr "le type «%s» n'est pas encore défini"
 
-#: commands/functioncmds.c:116
+#: commands/functioncmds.c:118
 msgid "Creating a shell type definition."
 msgstr "Création de la définition d'un shell type."
 
-#: commands/functioncmds.c:166
+#: commands/functioncmds.c:185
 #, c-format
 msgid "SQL function cannot accept shell type %s"
 msgstr "la fonction SQL ne peut pas accepter le type shell %s"
 
-#: commands/functioncmds.c:171
+#: commands/functioncmds.c:190
 #, c-format
 msgid "argument type %s is only a shell"
 msgstr "le type d'argument %s est seulement un shell"
 
-#: commands/functioncmds.c:179 parser/parse_oper.c:113 parser/parse_oper.c:124
+#: commands/functioncmds.c:198 parser/parse_oper.c:113 parser/parse_oper.c:124
 #, c-format
 msgid "type %s does not exist"
 msgstr "le type %s n'existe pas"
 
-#: commands/functioncmds.c:186
+#: commands/functioncmds.c:205
 msgid "functions cannot accept set arguments"
 msgstr "les fonctions ne peuvent pas accepter des arguments d'ensemble"
 
-#: commands/functioncmds.c:273
+#: commands/functioncmds.c:390
 msgid "no function body specified"
 msgstr "aucun corps de fonction spécifié"
 
-#: commands/functioncmds.c:280
+#: commands/functioncmds.c:400
 msgid "no language specified"
 msgstr "aucun langage spécifié"
 
-#: commands/functioncmds.c:342
+#: commands/functioncmds.c:448
 #, c-format
 msgid "unrecognized function attribute \"%s\" ignored"
 msgstr "l'attribut «%s» non reconnu de la fonction a été ignoré"
 
-#: commands/functioncmds.c:386
+#: commands/functioncmds.c:490
 #, c-format
 msgid "only one AS item needed for language \"%s\""
 msgstr "seul un élément AS est nécessaire pour le langage «%s»"
 
-#: commands/functioncmds.c:458
-msgid "You need to use \"createlang\" to load the language into the database."
-msgstr "Vous devez utiliser «createlang» pour charger le langage dans la base de données."
+#: commands/functioncmds.c:558
+msgid "Use CREATE LANGUAGE to load the language into the database."
+msgstr "Utilisez «createlang» pour charger le langage dans la base de données."
 
-#: commands/functioncmds.c:578 commands/functioncmds.c:684
-#: commands/functioncmds.c:751
+#: commands/functioncmds.c:604
+#, c-format
+msgid "function result type must be %s because of OUT parameters"
+msgstr "le type de résultat de la fonction doit être %s à cause des paramètres OUT"
+
+#: commands/functioncmds.c:617
+msgid "function result type must be specified"
+msgstr "le type de résultat de la fonction doit être spécifié"
+
+#: commands/functioncmds.c:707 commands/functioncmds.c:813
+#: commands/functioncmds.c:881 commands/functioncmds.c:994
 #, c-format
 msgid "\"%s\" is an aggregate function"
 msgstr "«%s» est une fonction d'aggrégation"
 
-#: commands/functioncmds.c:580
+#: commands/functioncmds.c:709
 msgid "Use DROP AGGREGATE to drop aggregate functions."
 msgstr "Utilisez DROP AGGREGATE pour supprimer les fonctions d'aggrégation."
 
-#: commands/functioncmds.c:587
+#: commands/functioncmds.c:716
 #, c-format
 msgid "removing built-in function \"%s\""
 msgstr "suppression de la fonction intégrée «%s»"
 
-#: commands/functioncmds.c:686
+#: commands/functioncmds.c:815
 msgid "Use ALTER AGGREGATE to rename aggregate functions."
 msgstr "Utilisez ALTER AGGREGATE pour renommer les fonctions d'aggrégation."
 
-#: commands/functioncmds.c:753
+#: commands/functioncmds.c:883
 msgid "Use ALTER AGGREGATE to change owner of aggregate functions."
 msgstr "Utilisez ALTER AGGREGATE pour changer le propriétaire des fonctions d'aggrégation."
 
-#: commands/functioncmds.c:922
+#: commands/functioncmds.c:1136
 #, c-format
 msgid "source data type %s is only a shell"
 msgstr "le type de données source %s est seulement un shell"
 
-#: commands/functioncmds.c:928
+#: commands/functioncmds.c:1142
 #, c-format
 msgid "target data type %s is only a shell"
 msgstr "le type de données cible %s est seulement un shell"
 
-#: commands/functioncmds.c:934
+#: commands/functioncmds.c:1148
 #, c-format
 msgid "source data type %s is a pseudo-type"
 msgstr "le type de données source %s est un pseudo-type"
 
-#: commands/functioncmds.c:940
+#: commands/functioncmds.c:1154
 #, c-format
 msgid "target data type %s is a pseudo-type"
 msgstr "le type de données cible %s est un pseudo-type"
 
-#: commands/functioncmds.c:971
+#: commands/functioncmds.c:1185
 msgid "cast function must take one to three arguments"
 msgstr "la fonction de conversion doit prendre un argument sur les trois"
 
-#: commands/functioncmds.c:975
+#: commands/functioncmds.c:1189
 msgid "argument of cast function must match source data type"
 msgstr "l'argument de la fonction de conversion doit correspondre au type de données source"
 
-#: commands/functioncmds.c:979
+#: commands/functioncmds.c:1193
 msgid "second argument of cast function must be type integer"
 msgstr "le second argument de la fonction de conversion doit être de type entier"
 
-#: commands/functioncmds.c:983
+#: commands/functioncmds.c:1197
 msgid "third argument of cast function must be type boolean"
 msgstr "le troisième argument de la fonction de conversion doit être de type booléen"
 
-#: commands/functioncmds.c:987
+#: commands/functioncmds.c:1201
 msgid "return data type of cast function must match target data type"
 msgstr "le type de donnée en retour de la fonction de conversion doit correspondre au type de données cible"
 
-#: commands/functioncmds.c:998
+#: commands/functioncmds.c:1212
 msgid "cast function must not be volatile"
 msgstr "la fonction de conversion ne doit pas être volatile"
 
-#: commands/functioncmds.c:1003
+#: commands/functioncmds.c:1217
 msgid "cast function must not be an aggregate function"
 msgstr "la fonction de conversion ne doit pas être une fonction d'aggrégation"
 
-#: commands/functioncmds.c:1007
+#: commands/functioncmds.c:1221
 msgid "cast function must not return a set"
 msgstr "la fonction de conversion ne doit pas renvoyer un ensemble"
 
-#: commands/functioncmds.c:1031
+#: commands/functioncmds.c:1245
 msgid "must be superuser to create a cast WITHOUT FUNCTION"
 msgstr "doit être super-utilisateur pour créer une fonction de conversion SANS FONCTION"
 
-#: commands/functioncmds.c:1046
+#: commands/functioncmds.c:1260
 msgid "source and target data types are not physically compatible"
 msgstr "les types de données source et cible ne sont pas physiquement compatibles"
 
-#: commands/functioncmds.c:1056
+#: commands/functioncmds.c:1270
 msgid "source data type and target data type are the same"
 msgstr "les types de données source et cible sont identiques"
 
-#: commands/functioncmds.c:1090
+#: commands/functioncmds.c:1304
 #, c-format
 msgid "cast from type %s to type %s already exists"
 msgstr "la conversion du type %s vers le type %s existe déjà"
 
+#: commands/functioncmds.c:1477
+#, c-format
+msgid "function \"%s\" is already in schema \"%s\""
+msgstr "la fonction «%s» existe déjà dans le schéma «%s»"
+
+#: commands/functioncmds.c:1485 commands/tablecmds.c:6139
+#: commands/typecmds.c:2224
+msgid "cannot move objects into or out of temporary schemas"
+msgstr "n'a pas pu déplacer les objets dans ou à partir des schémas temporaires"
+
+#: commands/functioncmds.c:1491 commands/tablecmds.c:6145
+#: commands/typecmds.c:2230
+msgid "cannot move objects into or out of TOAST schema"
+msgstr "n'a pas pu déplacer les objets dans ou à partir des schémas TOAST"
+
+#: commands/functioncmds.c:1501
+#, c-format
+msgid "function \"%s\" already exists in schema \"%s\""
+msgstr "la fonction «%s» existe déjà dans le schéma «%s»"
+
 #: commands/define.c:66 commands/define.c:183 commands/define.c:215
 #: commands/define.c:249
 #, c-format
@@ -2739,8 +2885,7 @@ msgstr "type de stockage sp
 
 #: commands/opclasscmds.c:253
 #, c-format
-msgid ""
-"storage type may not be different from data type for access method \"%s\""
+msgid "storage type may not be different from data type for access method \"%s\""
 msgstr "le type de stockage pourrait ne pas être différent du type de données pour la méthode d'accès «%s»"
 
 #: commands/opclasscmds.c:271
@@ -2758,735 +2903,873 @@ msgstr "n'a pas pu rendre la classe d'op
 msgid "Operator class \"%s\" already is the default."
 msgstr "La classe d'opérateur «%s» est déjà la classe par défaut."
 
-#: commands/opclasscmds.c:430
+#: commands/opclasscmds.c:433
 msgid "btree operators must be binary"
 msgstr "les opérateurs btree doivent être binaires"
 
-#: commands/opclasscmds.c:434
+#: commands/opclasscmds.c:437
 msgid "btree operators must return boolean"
 msgstr "les opérateurs btree doivent renvoyer un booléen"
 
-#: commands/opclasscmds.c:438
+#: commands/opclasscmds.c:441
 msgid "btree operators must have index type as left input"
 msgstr "les opérateurs btree doivent avoir un type index comme opérande gauche"
 
-#: commands/opclasscmds.c:484
+#: commands/opclasscmds.c:487
 msgid "btree procedures must have two arguments"
 msgstr "les opérateurs btree doivent avoir deux arguments"
 
-#: commands/opclasscmds.c:488
+#: commands/opclasscmds.c:491
 msgid "btree procedures must return integer"
 msgstr "les procédures btree doivent renvoyer un entier"
 
-#: commands/opclasscmds.c:492
+#: commands/opclasscmds.c:495
 msgid "btree procedures must have index type as first input"
 msgstr "les procédures btree doivent avoir un type index comme première entrée"
 
-#: commands/opclasscmds.c:525
+#: commands/opclasscmds.c:528
 #, c-format
 msgid "procedure number %d appears more than once"
 msgstr "le numéro de procédure %d apparaît plus d'une fois"
 
-#: commands/opclasscmds.c:530
+#: commands/opclasscmds.c:533
 #, c-format
 msgid "operator number %d appears more than once"
 msgstr "le numéro d'opérateur %d apparaît plus d'une fois"
 
-#: commands/opclasscmds.c:854
+#: commands/opclasscmds.c:857
 #, c-format
 msgid ""
 "operator class \"%s\" for access method \"%s\" already exists in schema \"%s"
 "\""
 msgstr "la classe d'opérateur «%s» de la méthode d'accès «%s» existe déjà dans le schéma «%s»"
 
-#: commands/indexcmds.c:120
+#: commands/indexcmds.c:123
 msgid "must specify at least one column"
 msgstr "doit spécifier au moins une colonne"
 
-#: commands/indexcmds.c:124
+#: commands/indexcmds.c:127
 #, c-format
 msgid "cannot use more than %d columns in an index"
 msgstr "ne doit pas utiliser plus de %d colonnes dans un index"
 
-#: commands/indexcmds.c:238
+#: commands/indexcmds.c:241
 #, c-format
 msgid "access method \"%s\" does not support unique indexes"
 msgstr "la méthode d'accès «%s» ne supporte pas les index uniques"
 
-#: commands/indexcmds.c:243
+#: commands/indexcmds.c:246
 #, c-format
 msgid "access method \"%s\" does not support multicolumn indexes"
 msgstr "la méthode d'accès «%s» ne supporte pas les index multi-colonnes"
 
-#: commands/indexcmds.c:257
-msgid ""
-"index expressions and predicates may refer only to the table being indexed"
+#: commands/indexcmds.c:260
+msgid "index expressions and predicates may refer only to the table being indexed"
 msgstr "les expressions et prédicats d'index pourraient seulement référer à la table en cours d'indexage"
 
-#: commands/indexcmds.c:285 parser/analyze.c:1197
+#: commands/indexcmds.c:288 parser/analyze.c:1207
 #, 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»"
 
-#: commands/indexcmds.c:302
+#: commands/indexcmds.c:305
 msgid "primary keys cannot be expressions"
 msgstr "les clés primaires ne peuvent pas être des expressions"
 
-#: commands/indexcmds.c:332 commands/indexcmds.c:470 parser/analyze.c:1311
+#: commands/indexcmds.c:335 commands/indexcmds.c:473 parser/analyze.c:1321
 #, 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:377
+#: commands/indexcmds.c:380
 #, c-format
 msgid "%s %s will create implicit index \"%s\" for table \"%s\""
 msgstr "%s %s créera un index implicite «%s» pour la table «%s»"
 
-#: commands/indexcmds.c:420
+#: commands/indexcmds.c:423
 msgid "cannot use subquery in index predicate"
 msgstr "n'a pas pu utiliser une sous-requête dans un prédicat d'index"
 
-#: commands/indexcmds.c:424
+#: commands/indexcmds.c:427
 msgid "cannot use aggregate in index predicate"
 msgstr "n'a pas pu utiliser un aggrégat dans un prédicat d'index"
 
-#: commands/indexcmds.c:433
+#: commands/indexcmds.c:436
 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:475 commands/tablecmds.c:1329 parser/parse_expr.c:1085
+#: commands/indexcmds.c:478 commands/tablecmds.c:1359 parser/parse_expr.c:395
 #, c-format
 msgid "column \"%s\" does not exist"
 msgstr "la colonne «%s» n'existe pas"
 
-#: commands/indexcmds.c:508
+#: commands/indexcmds.c:511
 msgid "cannot use subquery in index expression"
 msgstr "n'a pas pu utiliser la sous-requête dans l'expression de l'index"
 
-#: commands/indexcmds.c:512
+#: commands/indexcmds.c:515
 msgid "cannot use aggregate function in index expression"
 msgstr "n'a pas pu utiliser la fonction d'aggrégation dans l'expression de l'index"
 
-#: commands/indexcmds.c:523
+#: commands/indexcmds.c:526
 msgid "functions in index expression must be marked IMMUTABLE"
 msgstr "les fonctions dans l'expression de l'index doivent être marquées comme IMMUTABLE"
 
-#: commands/indexcmds.c:582
+#: commands/indexcmds.c:585
 #, 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 méthode d'accès «%s»"
 
-#: commands/indexcmds.c:584
+#: commands/indexcmds.c:587
 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 classe d'opérateur par défaut pour le type de données."
 
-#: commands/indexcmds.c:637
+#: commands/indexcmds.c:640
 #, 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:694 utils/cache/typcache.c:369
+#: commands/indexcmds.c:697 utils/cache/typcache.c:364
 #, 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 données %s"
 
-#: commands/indexcmds.c:963
+#: commands/indexcmds.c:965
 #, c-format
 msgid "shared table \"%s\" can only be reindexed in stand-alone mode"
 msgstr "la table partagée «%s» peut seulement être réindexé en mode autonome"
 
-#: commands/indexcmds.c:970
+#: commands/indexcmds.c:972
 #, c-format
 msgid "table \"%s\" has no indexes"
 msgstr "la table «%s» n'a pas d'index"
 
-#: commands/indexcmds.c:998
+#: commands/indexcmds.c:999
 msgid "can only reindex the currently open database"
 msgstr "peut seulement réindexer la base de données en cours"
 
-#: commands/indexcmds.c:1081
+#: commands/indexcmds.c:1091
 #, c-format
 msgid "table \"%s\" was reindexed"
 msgstr "la table «%s» a été réindexée"
 
-#: commands/prepare.c:62
-msgid "invalid statement name: must not be empty"
-msgstr "nom de l'instruction invalide : il ne doit pas être vide"
-
-#: commands/prepare.c:81
-msgid "utility statements cannot be prepared"
-msgstr "les instructions utilitaires ne peuvent pas être préparées"
-
-#: commands/prepare.c:179 commands/prepare.c:184 commands/prepare.c:544
-msgid "prepared statement is not a SELECT"
-msgstr "l'instruction préparée n'est pas un SELECT"
-
-#: commands/prepare.c:317
-#, c-format
-msgid "prepared statement \"%s\" already exists"
-msgstr "l'instruction préparée «%s» existe déjà"
-
-#: commands/prepare.c:396
-#, c-format
-msgid "prepared statement \"%s\" does not exist"
-msgstr "l'instruction préparée «%s» n'existe pas"
-
-#: commands/operatorcmds.c:107 commands/operatorcmds.c:115
+#: commands/operatorcmds.c:106 commands/operatorcmds.c:114
 msgid "setof type not allowed for operator argument"
 msgstr "setof type non autorisé pour l'argument de l'opérateur"
 
-#: commands/operatorcmds.c:142
+#: commands/operatorcmds.c:141
 #, c-format
 msgid "operator attribute \"%s\" not recognized"
 msgstr "l'attribut «%s» de l'opérateur n'est pas reconnu"
 
-#: commands/operatorcmds.c:152
+#: commands/operatorcmds.c:151
 msgid "operator procedure must be specified"
 msgstr "la procédure de l'opérateur doit être spécifiée"
 
-#: commands/portalcmds.c:54 commands/portalcmds.c:183
-#: commands/portalcmds.c:228
+#: commands/schemacmds.c:77 commands/schemacmds.c:256
+#, c-format
+msgid "unacceptable schema name \"%s\""
+msgstr "nom de schéma inacceptable «%s»"
+
+#: commands/schemacmds.c:78 commands/schemacmds.c:257
+msgid "The prefix \"pg_\" is reserved for system schemas."
+msgstr "Le préfixe \"pg_\" est réservé pour les schémas système."
+
+#: commands/portalcmds.c:54 commands/portalcmds.c:184
+#: commands/portalcmds.c:229
 msgid "invalid cursor name: must not be empty"
 msgstr "nom de curseur invalide : il ne doit pas être vide"
 
-#: commands/portalcmds.c:89
+#: commands/portalcmds.c:90
 msgid "DECLARE CURSOR may not specify INTO"
 msgstr "DECLARE CURSOR pourrait ne pas spécifier INTO"
 
-#: commands/portalcmds.c:93
-msgid "DECLARE CURSOR ... FOR UPDATE is not supported"
-msgstr "DECLARE CURSOR ... FOR UPDATE n'est pas supporté"
-
 #: commands/portalcmds.c:94
+msgid "DECLARE CURSOR ... FOR UPDATE/SHARE is not supported"
+msgstr "DECLARE CURSOR ... FOR UPDATE/SHARE n'est pas supporté"
+
+#: commands/portalcmds.c:95
 msgid "Cursors must be READ ONLY."
 msgstr "Les curseurs doivent être en lecture seule (READ ONLY)."
 
-#: commands/portalcmds.c:191 commands/portalcmds.c:238
+#: commands/portalcmds.c:192 commands/portalcmds.c:239
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "le curseur «%s» n'existe pas"
 
-#: commands/portalcmds.c:346 tcop/pquery.c:523 tcop/pquery.c:1096
+#: commands/portalcmds.c:348 tcop/pquery.c:574 tcop/pquery.c:1153
 #, c-format
 msgid "portal \"%s\" cannot be run"
 msgstr "le portail «%s» ne peut pas être lancé de nouveau"
 
-#: commands/portalcmds.c:404
+#: commands/portalcmds.c:408
 msgid "could not reposition held cursor"
 msgstr "n'a pas pu repositionner le curseur détenu"
 
-#: commands/tablecmds.c:294
+#: commands/prepare.c:62
+msgid "invalid statement name: must not be empty"
+msgstr "nom de l'instruction invalide : il ne doit pas être vide"
+
+#: commands/prepare.c:81
+msgid "utility statements cannot be prepared"
+msgstr "les instructions utilitaires ne peuvent pas être préparées"
+
+#: commands/prepare.c:183 commands/prepare.c:188 commands/prepare.c:600
+msgid "prepared statement is not a SELECT"
+msgstr "l'instruction préparée n'est pas un SELECT"
+
+#: commands/prepare.c:321
+#, c-format
+msgid "prepared statement \"%s\" already exists"
+msgstr "l'instruction préparée «%s» existe déjà"
+
+#: commands/prepare.c:400
+#, c-format
+msgid "prepared statement \"%s\" does not exist"
+msgstr "l'instruction préparée «%s» n'existe pas"
+
+#: commands/proclang.c:71
+msgid "must be superuser to create procedural language"
+msgstr "doit être super-utilisateur pour créer un langage procédural"
+
+#: commands/proclang.c:84 commands/proclang.c:468
+#, c-format
+msgid "language \"%s\" already exists"
+msgstr "le langage «%s» existe déjà"
+
+#: commands/proclang.c:99
+msgid "using pg_pltemplate information instead of CREATE LANGUAGE parameters"
+msgstr "utilisation des informations de pg_pltemplate au lieu des paramètres de CREATE LANGUAGE"
+
+#: commands/proclang.c:114 commands/proclang.c:213
+#, c-format
+msgid "function %s must return type \"language_handler\""
+msgstr "la fonction %s doit renvoyer le type «language_handler»"
+
+#: commands/proclang.c:185
+#, c-format
+msgid "unsupported language \"%s\""
+msgstr "langage non supporté «%s»"
+
+#: commands/proclang.c:187
+msgid "The supported languages are listed in the pg_pltemplate system catalog."
+msgstr "Les langages supportés sont listés dans le catalogue système pg_pltemplate."
+
+#: commands/proclang.c:206
+#, c-format
+msgid "changing return type of function %s from \"opaque\" to \"language_handler\""
+msgstr "changement du type du code retour de la fonction %s d'«opaque» à «language_handler»"
+
+#: commands/proclang.c:388
+msgid "must be superuser to drop procedural language"
+msgstr "doit être super-utilisateur pour supprimer le langage procédural"
+
+#: commands/proclang.c:474
+msgid "must be superuser to rename procedural language"
+msgstr "doit être super-utilisateur pour renommer le langage procédural"
+
+#: commands/tablecmds.c:297
 msgid "ON COMMIT can only be used on temporary tables"
 msgstr "ON COMMIT peut seulement être utilisé sur des tables temporaires"
 
-#: commands/tablecmds.c:399
+#: commands/tablecmds.c:402
 #, c-format
 msgid "duplicate check constraint name \"%s\""
 msgstr "nom de contrainte de vérification «%s» dupliqué"
 
-#: commands/tablecmds.c:555 commands/tablecmds.c:1274
-#: commands/tablecmds.c:1480 commands/tablecmds.c:2636
-#: commands/tablecmds.c:3798 commands/tablecmds.c:5427 commands/trigger.c:147
-#: commands/trigger.c:552 tcop/utility.c:182 tcop/utility.c:217
+#: commands/tablecmds.c:571 commands/tablecmds.c:1304
+#: commands/tablecmds.c:1510 commands/tablecmds.c:2673
+#: commands/tablecmds.c:3864 commands/tablecmds.c:5594 commands/trigger.c:150
+#: commands/trigger.c:556 tcop/utility.c:182 tcop/utility.c:217
 #, c-format
 msgid "permission denied: \"%s\" is a system catalog"
 msgstr "droit refusé : «%s» est un catalogue système"
 
-#: commands/tablecmds.c:566
+#: commands/tablecmds.c:582
 #, c-format
 msgid "cannot truncate system relation \"%s\""
 msgstr "n'a pas pu renommer la colonne système «%s»"
 
-#: commands/tablecmds.c:576
+#: commands/tablecmds.c:592
 msgid "cannot truncate temporary tables of other sessions"
 msgstr "n'a pas pu tronquer les tables temporaires des autres sessions"
 
-#: commands/tablecmds.c:719
+#: commands/tablecmds.c:749
 #, c-format
 msgid "column \"%s\" duplicated"
 msgstr "colonne «%s» dupliquée"
 
-#: commands/tablecmds.c:744 parser/analyze.c:1067 parser/analyze.c:1273
+#: commands/tablecmds.c:774 parser/analyze.c:1077 parser/analyze.c:1283
 #, c-format
 msgid "inherited relation \"%s\" is not a table"
 msgstr "la relation héritée «%s» n'est pas une table"
 
-#: commands/tablecmds.c:750
+#: commands/tablecmds.c:780
 #, c-format
 msgid "cannot inherit from temporary relation \"%s\""
 msgstr "impossible d'hériter à partir d'une relation temporaire «%s»"
 
-#: commands/tablecmds.c:767
+#: commands/tablecmds.c:797
 #, c-format
 msgid "inherited relation \"%s\" duplicated"
 msgstr "relation héritée «%s» dupliquée"
 
-#: commands/tablecmds.c:821
+#: commands/tablecmds.c:851
 #, c-format
 msgid "merging multiple inherited definitions of column \"%s\""
 msgstr "assemblage de plusieurs définitions d'héritage pour la colonne «%s»"
 
-#: commands/tablecmds.c:828
+#: commands/tablecmds.c:858
 #, c-format
 msgid "inherited column \"%s\" has a type conflict"
 msgstr "la colonne héritée «%s» a un conflit de type"
 
-#: commands/tablecmds.c:830 commands/tablecmds.c:975 parser/parse_coerce.c:239
-#: parser/parse_coerce.c:1130 parser/parse_coerce.c:1147
-#: parser/parse_coerce.c:1193
+#: commands/tablecmds.c:860 commands/tablecmds.c:1005
+#: parser/parse_coerce.c:241 parser/parse_coerce.c:1141
+#: parser/parse_coerce.c:1158 parser/parse_coerce.c:1204
 #, c-format
 msgid "%s versus %s"
 msgstr "%s versus %s"
 
-#: commands/tablecmds.c:966
+#: commands/tablecmds.c:996
 #, c-format
 msgid "merging column \"%s\" with inherited definition"
 msgstr "assemblage de la colonne «%s» avec une définition héritée"
 
-#: commands/tablecmds.c:973
+#: commands/tablecmds.c:1003
 #, c-format
 msgid "column \"%s\" has a type conflict"
 msgstr "la colonne «%s» a un conflit de type"
 
-#: commands/tablecmds.c:1024
+#: commands/tablecmds.c:1054
 #, c-format
 msgid "column \"%s\" inherits conflicting default values"
 msgstr "la colonne «%s» hérite de valeurs par défaut conflictuelles"
 
-#: commands/tablecmds.c:1026
+#: commands/tablecmds.c:1056
 msgid "To resolve the conflict, specify a default explicitly."
 msgstr "Pour résoudre le conflit, spécifiez explicitement une valeur par défaut."
 
-#: commands/tablecmds.c:1319
+#: commands/tablecmds.c:1349
 #, c-format
 msgid "inherited column \"%s\" must be renamed in child tables too"
 msgstr "la colonne héritée «%s» doit aussi être renommée pour les tables filles"
 
-#: commands/tablecmds.c:1337
+#: commands/tablecmds.c:1367
 #, c-format
 msgid "cannot rename system column \"%s\""
 msgstr "n'a pas pu renommer la colonne système «%s»"
 
-#: commands/tablecmds.c:1347
+#: commands/tablecmds.c:1377
 #, c-format
 msgid "cannot rename inherited column \"%s\""
 msgstr "n'a pas pu renommer la colonne héritée «%s»"
 
-#: commands/tablecmds.c:1358 commands/tablecmds.c:2919
+#: commands/tablecmds.c:1388 commands/tablecmds.c:2957
 #, c-format
 msgid "column \"%s\" of relation \"%s\" already exists"
 msgstr "la colonne «%s» de la relation «%s» existe déjà"
 
-#: commands/tablecmds.c:2219
+#: commands/tablecmds.c:2247
 #, c-format
 msgid "cannot rewrite system relation \"%s\""
 msgstr "n'a pas pu renommer la colonne système «%s»"
 
-#: commands/tablecmds.c:2229
+#: commands/tablecmds.c:2257
 msgid "cannot rewrite temporary tables of other sessions"
 msgstr "n'a pas pu tronquer les tables temporaires des autres sessions"
 
-#: commands/tablecmds.c:2520
+#: commands/tablecmds.c:2560
 #, c-format
 msgid "check constraint \"%s\" is violated by some row"
 msgstr "la contrainte de vérification «%s» est rompue par une ligne"
 
-#: commands/tablecmds.c:2533
+#: commands/tablecmds.c:2573
 #, c-format
 msgid "column \"%s\" contains null values"
 msgstr "la colonne «%s» contient des valeurs NULL"
 
-#: commands/tablecmds.c:2618
+#: commands/tablecmds.c:2655
 #, c-format
 msgid "\"%s\" is not a table or view"
 msgstr "«%s» n'est pas une table ou une vue"
 
-#: commands/tablecmds.c:2771
+#: commands/tablecmds.c:2808
 #, c-format
 msgid "cannot alter table \"%s\" because column \"%s\".\"%s\" uses its rowtype"
 msgstr "ne peux pas altérer la table «%s» car la colonne «%s».«%s» utilise son type de ligne"
 
-#: commands/tablecmds.c:2837
+#: commands/tablecmds.c:2874
 msgid "column must be added to child tables too"
 msgstr "la colonne doit aussi être ajoutée aux tables filles"
 
-#: commands/tablecmds.c:2880
+#: commands/tablecmds.c:2918
 #, 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:2892
+#: commands/tablecmds.c:2930
 #, 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:3109 commands/tablecmds.c:3202
-#: commands/tablecmds.c:3252 commands/tablecmds.c:3348
-#: commands/tablecmds.c:3409 commands/tablecmds.c:4617
+#: commands/tablecmds.c:3174 commands/tablecmds.c:3267
+#: commands/tablecmds.c:3317 commands/tablecmds.c:3413
+#: commands/tablecmds.c:3474 commands/tablecmds.c:4725
 #, c-format
 msgid "cannot alter system column \"%s\""
 msgstr "n'a pas pu modifier la colonne système «%s»"
 
-#: commands/tablecmds.c:3145
+#: commands/tablecmds.c:3210
 #, c-format
 msgid "column \"%s\" is in a primary key"
 msgstr "la colonne «%s» est dans une clé primaire"
 
-#: commands/tablecmds.c:3295 commands/tablecmds.c:5416
+#: commands/tablecmds.c:3360 commands/tablecmds.c:5583
 #, c-format
 msgid "\"%s\" is not a table or index"
 msgstr "«%s» n'est pas une table ou une vue"
 
-#: commands/tablecmds.c:3322
+#: commands/tablecmds.c:3387
 #, c-format
 msgid "statistics target %d is too low"
 msgstr "la cible statistique %d est trop basse"
 
-#: commands/tablecmds.c:3330
+#: commands/tablecmds.c:3395
 #, c-format
 msgid "lowering statistics target to %d"
 msgstr "abaissement de la cible statistique à %d"
 
-#: commands/tablecmds.c:3390
+#: commands/tablecmds.c:3455
 #, c-format
 msgid "invalid storage type \"%s\""
 msgstr "type «%s» de stockage invalide"
 
-#: commands/tablecmds.c:3421
+#: commands/tablecmds.c:3486
 #, 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 texte (PLAIN)"
 
-#: commands/tablecmds.c:3478
+#: commands/tablecmds.c:3543
 #, c-format
 msgid "cannot drop system column \"%s\""
 msgstr "ne peux pas supprimer la colonne système «%s»"
 
-#: commands/tablecmds.c:3485
+#: commands/tablecmds.c:3550
 #, c-format
 msgid "cannot drop inherited column \"%s\""
 msgstr "ne peux pas supprimer la colonne héritée «%s»"
 
-#: commands/tablecmds.c:3786
+#: commands/tablecmds.c:3852
 #, 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:3820
+#: commands/tablecmds.c:3886
 msgid "cannot reference temporary table from permanent table constraint"
 msgstr "n'a pas pu référencer une table temporaire à partir d'une contrainte de table permanente"
 
-#: commands/tablecmds.c:3827
+#: commands/tablecmds.c:3893
 msgid "cannot reference permanent table from temporary table constraint"
 msgstr "n'a pas pu référencer une table permanente à partir de la contrainte de table temporaire"
 
-#: commands/tablecmds.c:3872 commands/tablecmds.c:4362
+#: commands/tablecmds.c:3938 commands/tablecmds.c:4429
 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:3893
+#: commands/tablecmds.c:3959
 #, 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:3896
+#: commands/tablecmds.c:3962
 #, 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:3910
+#: commands/tablecmds.c:3976
 #, c-format
 msgid "foreign key constraint \"%s\" will require costly sequential scans"
 msgstr "la contrainte de clé étrangère «%s» demandera des parcours séquentieux coûteux"
 
-#: commands/tablecmds.c:3913
+#: commands/tablecmds.c:3979
 #, c-format
 msgid "Key columns \"%s\" and \"%s\" are of different types: %s and %s."
 msgstr "les colonnes clés «%s» et «%s» sont de types différents : %s et %s."
 
-#: commands/tablecmds.c:3998
+#: commands/tablecmds.c:4064
 #, 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:4003
+#: commands/tablecmds.c:4069
 #, c-format
 msgid "cannot have more than %d keys in a foreign key"
 msgstr "n'a pas pu avoir plus de %d clés dans une clé étrangère"
 
-#: commands/tablecmds.c:4072
+#: commands/tablecmds.c:4142
 #, c-format
 msgid "there is no primary key for referenced table \"%s\""
 msgstr "il n'existe pas de clé étrangère pour la table référencée «%s»"
 
-#: commands/tablecmds.c:4190
+#: commands/tablecmds.c:4276
 #, c-format
-msgid ""
-"there is no unique constraint matching given keys for referenced table \"%s\""
+msgid "there is no unique constraint matching given keys for referenced table \"%s\""
 msgstr "il n'existe aucune contrainte correspondant aux clés données pour la table référencée «%s»"
 
-#: commands/tablecmds.c:4574 commands/trigger.c:2785
+#: commands/tablecmds.c:4682 commands/trigger.c:2996
 #, c-format
 msgid "constraint \"%s\" does not exist"
 msgstr "la contrainte «%s» n'existe pas"
 
-#: commands/tablecmds.c:4579
+#: commands/tablecmds.c:4687
 #, c-format
 msgid "multiple constraints named \"%s\" were dropped"
 msgstr "les contraintes multiples nommées «%s» ont été supprimées"
 
-#: commands/tablecmds.c:4624
+#: commands/tablecmds.c:4732
 #, c-format
 msgid "cannot alter inherited column \"%s\""
 msgstr "ne peux pas modifier la colonne héritée «%s»"
 
-#: commands/tablecmds.c:4664
+#: commands/tablecmds.c:4772
 msgid "transform expression must not return a set"
 msgstr "l'expression de transformation ne doit pas renvoyer un ensemble"
 
-#: commands/tablecmds.c:4670
+#: commands/tablecmds.c:4778
 msgid "cannot use subquery in transform expression"
 msgstr "ne peux pas utiliser une sous-requête dans l'expression de transformation"
 
-#: commands/tablecmds.c:4674
+#: commands/tablecmds.c:4782
 msgid "cannot use aggregate function in transform expression"
 msgstr "ne peut pas utiliser la fonction d'aggrégation dans l'expression de la transformation"
 
-#: commands/tablecmds.c:4691
+#: commands/tablecmds.c:4799
 #, c-format
 msgid "column \"%s\" cannot be cast to type \"%s\""
 msgstr "la colonne «%s» ne peut être convertie vers le type %s"
 
-#: commands/tablecmds.c:4717
+#: commands/tablecmds.c:4825
 #, 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:4755
+#: commands/tablecmds.c:4863
 #, c-format
 msgid "cannot alter type of column \"%s\" twice"
 msgstr "ne peux pas modifier la colonne «%s» deux fois"
 
-#: commands/tablecmds.c:4789
+#: commands/tablecmds.c:4897
 #, c-format
 msgid "default for column \"%s\" cannot be cast to type \"%s\""
 msgstr "la valeur par défaut de la colonne «%s» ne peut pas être convertie vers le type «%s»"
 
-#: commands/tablecmds.c:4889
+#: commands/tablecmds.c:4997
 msgid "cannot alter type of a column used by a view or rule"
 msgstr "ne peux pas modifier le type d'une colonne utilisée dans une vue ou une règle"
 
-#: commands/tablecmds.c:4890
+#: commands/tablecmds.c:4998
 #, c-format
 msgid "%s depends on column \"%s\""
 msgstr "%s dépend de la colonne «%s»"
 
-#: commands/tablecmds.c:5206
+#: commands/tablecmds.c:5327
+#, c-format
+msgid "cannot change owner of index \"%s\""
+msgstr "n'a pas pu modifier le propriétaire de l'index «%s»"
+
+#: commands/tablecmds.c:5329
+msgid "Change the ownership of the index's table, instead."
+msgstr "Modifiez à la place le propriétaire de la table concernée par l'index."
+
+#: commands/tablecmds.c:5341
 #, c-format
-msgid "\"%s\" is not a table, TOAST table, index, view, or sequence"
-msgstr "«%s» n'est pas une table, une table TOAST, un index, une vue ou une séquence"
+msgid "\"%s\" is not a table, view, or sequence"
+msgstr "«%s» n'est pas une table, une vue ou une séquence"
 
-#: commands/tablecmds.c:5446
+#: commands/tablecmds.c:5613
 msgid "cannot have multiple SET TABLESPACE subcommands"
 msgstr "ne peut pas avoir de nombreuses sous-commandes SET TABLESPACE"
 
-#: commands/tablecmds.c:5476
+#: commands/tablecmds.c:5643
 #, c-format
 msgid "cannot move system relation \"%s\""
 msgstr "ne peux pas renommer la colonne système «%s»"
 
-#: commands/tablecmds.c:5486
+#: commands/tablecmds.c:5653
 msgid "cannot move temporary tables of other sessions"
 msgstr "ne peut pas déplacer les tables temporaires d'autres sessions"
 
-#: commands/tablecmds.c:5696
+#: commands/tablecmds.c:5872
 msgid "shared tables cannot be toasted after initdb"
 msgstr "les tables partagées ne peuvent pas être \"toasted\" après la commande initdb"
 
-#: commands/tablecmds.c:5711
+#: commands/tablecmds.c:5887
 #, c-format
 msgid "table \"%s\" already has a TOAST table"
 msgstr "la table «%s» a déjà une table TOAST"
 
-#: commands/tablecmds.c:5728
+#: commands/tablecmds.c:5904
 #, c-format
 msgid "table \"%s\" does not need a TOAST table"
 msgstr "la table «%s» n'a pas besoin d'une table TOAST"
 
-#: commands/proclang.c:64
-msgid "must be superuser to create procedural language"
-msgstr "doit être super-utilisateur pour créer un langage procédural"
-
-#: commands/proclang.c:77 commands/proclang.c:265
-#, c-format
-msgid "language \"%s\" already exists"
-msgstr "le langage «%s» existe déjà"
-
-#: commands/proclang.c:97
-#, c-format
-msgid ""
-"changing return type of function %s from \"opaque\" to \"language_handler\""
-msgstr "changement du type du code retour de la fonction %s d'«opaque» à «language_handler»"
-
-#: commands/proclang.c:104
+#: commands/tablecmds.c:6119
 #, c-format
-msgid "function %s must return type \"language_handler\""
-msgstr "la fonction %s doit renvoyer le type «language_handler»"
-
-#: commands/proclang.c:188
-msgid "must be superuser to drop procedural language"
-msgstr "doit être super-utilisateur pour supprimer le langage procédural"
+msgid "\"%s\" is a TOAST relation"
+msgstr "«%s» est une relation TOAST"
 
-#: commands/proclang.c:271
-msgid "must be superuser to rename procedural language"
-msgstr "doit être super-utilisateur pour renommer le langage procédural"
-
-#: commands/schemacmds.c:84 commands/user.c:883 commands/user.c:1018
-msgid "permission denied"
-msgstr "droit refusé"
-
-#: commands/schemacmds.c:85
+#: commands/tablecmds.c:6131
 #, c-format
-msgid "\"%s\" is not a superuser, so cannot create a schema for \"%s\""
-msgstr "«%s» n'est pas un super-utilisateur et il ne peut donc pas créer un schéma pour «%s»"
+msgid "relation \"%s\" is already in schema \"%s\""
+msgstr "La relation «%s» existe déjà dans le schéma «%s»"
 
-#: commands/schemacmds.c:100 commands/schemacmds.c:268
+#: commands/tablecmds.c:6196
 #, c-format
-msgid "unacceptable schema name \"%s\""
-msgstr "nom de schéma inacceptable «%s»"
+msgid "relation \"%s\" already exists in schema \"%s\""
+msgstr "La relation «%s» existe déjà dans le schéma «%s»"
 
-#: commands/schemacmds.c:101 commands/schemacmds.c:269
-msgid "The prefix \"pg_\" is reserved for system schemas."
-msgstr "Le préfixe \"pg_\" est réservé pour les schémas système."
-
-#: commands/sequence.c:399 commands/sequence.c:591 commands/sequence.c:634
+#: commands/sequence.c:405 commands/sequence.c:599 commands/sequence.c:643
+#: commands/sequence.c:678
 #, c-format
 msgid "permission denied for sequence %s"
 msgstr "droit refusé pour la séquence %s"
 
-#: commands/sequence.c:476
+#: commands/sequence.c:483
 #, c-format
 msgid "nextval: reached maximum value of sequence \"%s\" (%s)"
 msgstr "nextval : valeur maximale de la séquence «%s» (%s) atteinte"
 
-#: commands/sequence.c:499
+#: commands/sequence.c:506
 #, c-format
 msgid "nextval: reached minimum value of sequence \"%s\" (%s)"
 msgstr "nextval : valeur minimale de la séquence «%s» (%s) atteinte"
 
-#: commands/sequence.c:597
+#: commands/sequence.c:605
 #, c-format
 msgid "currval of sequence \"%s\" is not yet defined in this session"
 msgstr "la valeur courante (currval) de la séquence «%s» n'est pas encore définie dans cette session"
 
-#: commands/sequence.c:651
+#: commands/sequence.c:624 commands/sequence.c:632
+msgid "lastval is not yet defined in this session"
+msgstr "la dernière valeur (lastval) n'est pas encore définie dans cette session"
+
+#: commands/sequence.c:695
 #, c-format
 msgid "setval: value %s is out of bounds for sequence \"%s\" (%s..%s)"
 msgstr "setval : la valeur %s est en dehors des limites de la séquence «%s» (%s..%s)"
 
-#: commands/sequence.c:794 executor/execGrouping.c:384 lib/dllist.c:43
-#: lib/dllist.c:88 libpq/auth.c:636 postmaster/pgstat.c:2430
-#: postmaster/pgstat.c:2497 postmaster/postmaster.c:809
-#: postmaster/postmaster.c:1679 postmaster/postmaster.c:2398
-#: storage/buffer/localbuf.c:139 storage/file/fd.c:587 storage/file/fd.c:620
-#: storage/file/fd.c:766 storage/ipc/sinval.c:789 storage/lmgr/lock.c:494
-#: storage/smgr/md.c:844 storage/smgr/smgr.c:213 utils/adt/cash.c:297
-#: utils/adt/cash.c:312 utils/adt/oracle_compat.c:73
-#: utils/adt/oracle_compat.c:125 utils/adt/regexp.c:200
-#: utils/adt/ri_triggers.c:3472 utils/cache/relcache.c:169
-#: utils/cache/relcache.c:183 utils/cache/relcache.c:1135
-#: utils/cache/typcache.c:165 utils/cache/typcache.c:487
-#: utils/fmgr/dfmgr.c:127 utils/fmgr/fmgr.c:528 utils/hash/dynahash.c:178
-#: utils/hash/dynahash.c:248 utils/init/miscinit.c:213
-#: utils/init/miscinit.c:234 utils/init/miscinit.c:244 utils/misc/guc.c:1910
-#: utils/misc/guc.c:1923 utils/misc/guc.c:1936 utils/mmgr/aset.c:337
-#: utils/mmgr/aset.c:503 utils/mmgr/aset.c:700 utils/mmgr/aset.c:893
-#: utils/mmgr/portalmem.c:78
+#: commands/sequence.c:870 lib/dllist.c:43 lib/dllist.c:88 libpq/auth.c:560
+#: postmaster/postmaster.c:825 postmaster/postmaster.c:1721
+#: postmaster/postmaster.c:2491 storage/buffer/buf_init.c:162
+#: storage/buffer/localbuf.c:264 storage/file/fd.c:315 storage/file/fd.c:674
+#: storage/file/fd.c:811 storage/ipc/procarray.c:518 utils/adt/cash.c:297
+#: utils/adt/cash.c:312 utils/adt/oracle_compat.c:74
+#: utils/adt/oracle_compat.c:126 utils/adt/oracle_compat.c:174
+#: utils/adt/regexp.c:168 utils/adt/varlena.c:2619 utils/adt/varlena.c:2642
+#: utils/fmgr/dfmgr.c:127 utils/hash/dynahash.c:216 utils/hash/dynahash.c:274
+#: utils/hash/dynahash.c:661 utils/init/miscinit.c:233
+#: utils/init/miscinit.c:254 utils/init/miscinit.c:264 utils/misc/guc.c:2151
+#: utils/misc/guc.c:2164 utils/misc/guc.c:2177 utils/mmgr/aset.c:344
+#: utils/mmgr/aset.c:521 utils/mmgr/aset.c:723 utils/mmgr/aset.c:921
 msgid "out of memory"
 msgstr "mémoire insuffisante"
 
-#: commands/sequence.c:956
+#: commands/sequence.c:1004
 msgid "INCREMENT must not be zero"
 msgstr "la valeur INCREMENT ne peut pas être zéro"
 
-#: commands/sequence.c:1002
+#: commands/sequence.c:1050
 #, c-format
 msgid "MINVALUE (%s) must be less than MAXVALUE (%s)"
 msgstr "la valeur MINVALUE (%s) doit être moindre que la valeur MAXVALUE (%s)"
 
-#: commands/sequence.c:1033
+#: commands/sequence.c:1081
 #, c-format
 msgid "START value (%s) can't be less than MINVALUE (%s)"
 msgstr "la valeur START (%s) ne peut pas être plus petite que MINVALUE (%s)"
 
-#: commands/sequence.c:1045
+#: commands/sequence.c:1093
 #, c-format
 msgid "START value (%s) can't be greater than MAXVALUE (%s)"
 msgstr "la valeur START (%s) ne peut pas être plus grande que MAXVALUE (%s)"
 
-#: commands/sequence.c:1060
+#: commands/sequence.c:1108
 #, c-format
 msgid "CACHE (%s) must be greater than zero"
 msgstr "la valeur CACHE (%s) doit être plus grande que zéro"
 
-#: commands/trigger.c:134
+#: commands/typecmds.c:139
 #, c-format
-msgid "could not determine referenced table for constraint \"%s\""
-msgstr "n'a pas pu déterminer la table référencée pour la contrainte «%s»"
-
-#: commands/trigger.c:219
-msgid "multiple INSERT events specified"
-msgstr "Multiples événements INSERT spécifiés"
-
-#: commands/trigger.c:226
-msgid "multiple DELETE events specified"
-msgstr "Multiples événements DELETE spécifiés"
-
-#: commands/trigger.c:233
-msgid "multiple UPDATE events specified"
-msgstr "Multiples événements UPDATE spécifiés"
+msgid "type names must be %d characters or less"
+msgstr "les noms de type doivent avoir au plus %d caractères"
 
-#: commands/trigger.c:266 commands/trigger.c:654
+#: commands/typecmds.c:174
 #, c-format
-msgid "trigger \"%s\" for relation \"%s\" already exists"
-msgstr "le déclencheur «%s» de la relation «%s» existe déjà"
+msgid "array element type cannot be %s"
+msgstr "le type d'élément tableau ne peut pas être %s"
 
-#: commands/trigger.c:287
+#: commands/typecmds.c:207
 #, c-format
-msgid "changing return type of function %s from \"opaque\" to \"trigger\""
-msgstr "changement du type de retour de la fonction %s de «opaque» vers «trigger»"
+msgid "alignment \"%s\" not recognized"
+msgstr "alignement «%s» non reconnu"
 
-#: commands/trigger.c:294
+#: commands/typecmds.c:224
 #, c-format
-msgid "function %s must return type \"trigger\""
-msgstr "la fonction %s doit renvoyer le type «trigger»"
+msgid "storage \"%s\" not recognized"
+msgstr "stockage «%s» non reconnu"
 
-#: commands/trigger.c:1160
+#: commands/typecmds.c:229
 #, c-format
-msgid "trigger function %u returned null value"
-msgstr "la fonction déclencheur %u a renvoyé la valeur NULL"
-
-#: commands/trigger.c:1214 commands/trigger.c:1331 commands/trigger.c:1464
-msgid "BEFORE STATEMENT trigger cannot return a value"
-msgstr "le déclencheur BEFORE STATEMENT ne peut pas renvoyer une valeur"
+msgid "type attribute \"%s\" not recognized"
+msgstr "attribut du type «%s» non reconnu"
 
-#: commands/trigger.c:1593 executor/execMain.c:1151 executor/execMain.c:1457
-#: executor/execMain.c:1598
-msgid "could not serialize access due to concurrent update"
-msgstr "n'a pas pu sérialiser un accès à cause d'une mise à jour concurrente"
+#: commands/typecmds.c:239
+msgid "type input function must be specified"
+msgstr "le type d'entrée de la fonction doit être spécifiée"
 
-#: commands/trigger.c:2731
-msgid "unnamed constraints cannot be set explicitly"
-msgstr "les contraintes sans nom ne peuvent pas être initialisées explicitement"
+#: commands/typecmds.c:243
+msgid "type output function must be specified"
+msgstr "le type de sortie de la fonction doit être spécifié"
 
-#: commands/trigger.c:2770
+#: commands/typecmds.c:282
 #, c-format
-msgid "constraint \"%s\" is not deferrable"
-msgstr "la contrainte «%s» n'est pas DEFERRABLE"
+msgid "changing return type of function %s from \"opaque\" to %s"
+msgstr "changement du type de retour de la fonction %s à partir de «opaque» vers %s"
 
-#: ../port/copydir.c:47 commands/tablespace.c:150 commands/tablespace.c:158
+#: commands/typecmds.c:289
+#, c-format
+msgid "type input function %s must return type %s"
+msgstr "le type d'entrée de la fonction %s doit être %s"
+
+#: commands/typecmds.c:299
+#, c-format
+msgid "changing return type of function %s from \"opaque\" to \"cstring\""
+msgstr "changement du type de retour de la fonction %s de «opaque» vers «cstring»"
+
+#: commands/typecmds.c:306
+#, c-format
+msgid "type output function %s must return type \"cstring\""
+msgstr "la sortie de la fonction %s doit être «cstring»"
+
+#: commands/typecmds.c:315
+#, c-format
+msgid "type receive function %s must return type %s"
+msgstr "la fonction de réception du type %s doit renvoyer le type %s"
+
+#: commands/typecmds.c:324
+#, c-format
+msgid "type send function %s must return type \"bytea\""
+msgstr "la fonction d'envoi du type %s doit renvoyer le type «bytea»"
+
+#: commands/typecmds.c:535
+#, c-format
+msgid "domain names must be %d characters or less"
+msgstr "les noms de domaine doivent avoir au plus %d caractères"
+
+#: commands/typecmds.c:556
+#, c-format
+msgid "\"%s\" is not a valid base type for a domain"
+msgstr "«%s» n'est pas un type de base valide pour un domaine"
+
+#: commands/typecmds.c:616 commands/typecmds.c:1470
+msgid "foreign key constraints not possible for domains"
+msgstr "contraintes de clé étrangère impossible pour les domaines"
+
+#: commands/typecmds.c:636
+msgid "multiple default expressions"
+msgstr "expressions multiples par défaut"
+
+#: commands/typecmds.c:666 commands/typecmds.c:675
+msgid "conflicting NULL/NOT NULL constraints"
+msgstr "contraintes NULL/NOT NULL en conflit"
+
+#: commands/typecmds.c:694 commands/typecmds.c:1488
+msgid "unique constraints not possible for domains"
+msgstr "contraintes uniques impossible pour les domaines"
+
+#: commands/typecmds.c:700 commands/typecmds.c:1494
+msgid "primary key constraints not possible for domains"
+msgstr "contraintes de clé primaire impossible pour les domaines"
+
+#: commands/typecmds.c:709 commands/typecmds.c:1503
+msgid "specifying constraint deferrability not supported for domains"
+msgstr "spécifier des contraintes deferrantes n'est pas supporté par les domaines"
+
+#: commands/typecmds.c:829 commands/typecmds.c:1746
+#, c-format
+msgid "\"%s\" is not a domain"
+msgstr "«%s» n'est pas un domaine"
+
+#: commands/typecmds.c:895
+#, 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:947
+#, 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:1047
+#, c-format
+msgid "type analyze function %s must return type \"boolean\""
+msgstr "la fonction d'envoi du type %s doit renvoyer le type «bytea»"
+
+#: commands/typecmds.c:1076
+msgid "composite type must have at least one attribute"
+msgstr "le type composite doit avoir au moins un attribut"
+
+#: commands/typecmds.c:1307
+#, 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:1574
+#, 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 nouvelle contrainte"
+
+#: commands/typecmds.c:1780
+#, c-format
+msgid "constraint \"%s\" for domain \"%s\" already exists"
+msgstr "la contrainte «%s» du domaine «%s» existe déjà"
+
+#: commands/typecmds.c:1821 commands/typecmds.c:1830
+msgid "cannot use table references in domain check constraint"
+msgstr "n'a pas pu utiliser les références de table dans la contrainte de vérification de domaine"
+
+#: commands/typecmds.c:1842
+msgid "cannot use aggregate in check constraint"
+msgstr "n'a pas pu utiliser un aggrégat dans la contrainte de vérification"
+
+#: commands/typecmds.c:2061
+#, c-format
+msgid "\"%s\" is a table's row type"
+msgstr "«%s» est du type ligne de table"
+
+#: commands/typecmds.c:2216
+#, c-format
+msgid "type %s is already in schema \"%s\""
+msgstr "le type «%s» existe déjà dans le schéma «%s»"
+
+#: commands/typecmds.c:2239
+#, c-format
+msgid "type \"%s\" already exists in schema \"%s\""
+msgstr "Le type «%s» existe déjà dans le schéma «%s»"
+
+#: commands/typecmds.c:2252
+#, c-format
+msgid "%s is a table's row type"
+msgstr "«%s» est du type ligne de table"
+
+#: commands/typecmds.c:2254
+msgid "Use ALTER TABLE SET SCHEMA instead."
+msgstr "Utilisez ALTER TABLE SET SCHEMA à la place."
+
+#: ../port/copydir.c:59 commands/tablespace.c:150 commands/tablespace.c:158
 #: commands/tablespace.c:164
 #, c-format
 msgid "could not create directory \"%s\": %m"
@@ -3511,35 +3794,34 @@ msgstr "droit refus
 msgid "Must be superuser to create a tablespace."
 msgstr "Doit être super-utilisateur pour créer un espace logique."
 
-#: commands/tablespace.c:244
+#: commands/tablespace.c:241
 msgid "tablespace location may not contain single quotes"
-msgstr ""
-"le chemin de l'espace logique ne doit pas contenir de guillemets simples"
+msgstr "le chemin de l'espace logique ne doit pas contenir de guillemets simples"
 
-#: commands/tablespace.c:254
+#: commands/tablespace.c:251
 msgid "tablespace location must be an absolute path"
 msgstr "l'emplacement de l'espace logique doit être un chemin absolu"
 
-#: commands/tablespace.c:264
+#: commands/tablespace.c:261
 #, c-format
 msgid "tablespace location \"%s\" is too long"
 msgstr "le chemin de l'espace logique «%s» est trop long"
 
-#: commands/tablespace.c:274 commands/tablespace.c:766
+#: commands/tablespace.c:271 commands/tablespace.c:727
 #, c-format
 msgid "unacceptable tablespace name \"%s\""
 msgstr "nom inacceptable pour l'espace logique «%s»"
 
-#: commands/tablespace.c:276 commands/tablespace.c:767
+#: commands/tablespace.c:273 commands/tablespace.c:728
 msgid "The prefix \"pg_\" is reserved for system tablespaces."
 msgstr "Le préfixe «pg_» est réservé pour les espaces logiques système."
 
-#: commands/tablespace.c:286 commands/tablespace.c:779
+#: commands/tablespace.c:283 commands/tablespace.c:740
 #, c-format
 msgid "tablespace \"%s\" already exists"
 msgstr "L'espace logique «%s» existe déjà"
 
-#: commands/tablespace.c:321 commands/tablespace.c:1033
+#: commands/tablespace.c:321 commands/tablespace.c:1010
 #, c-format
 msgid "could not set permissions on directory \"%s\": %m"
 msgstr "n'a pas pu configurer les droits du répertoire «%s» : %m"
@@ -3549,126 +3831,172 @@ msgstr "n'a pas pu configurer les droits du r
 msgid "directory \"%s\" is not empty"
 msgstr "le répertoire «%s» n'est pas vide"
 
-#: commands/tablespace.c:351 commands/tablespace.c:1048
+#: commands/tablespace.c:351 commands/tablespace.c:1025
 #, c-format
 msgid "could not create symbolic link \"%s\": %m"
 msgstr "n'a pas pu créer le lien symbolique «%s» : %m"
 
-#: commands/tablespace.c:382 commands/tablespace.c:479
+#: commands/tablespace.c:382 commands/tablespace.c:483
 msgid "tablespaces are not supported on this platform"
 msgstr "les espaces logiques ne sont pas supportés sur cette plateforme"
 
-#: commands/tablespace.c:456
+#: commands/tablespace.c:460
 #, c-format
 msgid "tablespace \"%s\" is not empty"
 msgstr "l'espace logique «%s» n'est pas vide"
 
-#: commands/tablespace.c:555
+#: commands/tablespace.c:552
 #, c-format
 msgid "could not delete directory \"%s\": %m"
 msgstr "n'a pas pu supprimer le répertoire «%s» : %m"
 
-#: commands/tablespace.c:606
+#: commands/tablespace.c:589
 #, c-format
 msgid "could not remove directory \"%s\": %m"
 msgstr "n'a pas pu supprimer le répertoire «%s» : %m"
 
-#: commands/tablespace.c:614
+#: commands/tablespace.c:597
 #, c-format
 msgid "could not remove symbolic link \"%s\": %m"
 msgstr "n'a pas pu supprimer le lien symbolique «%s» : %m"
 
-#: commands/tablespace.c:1061
+#: commands/tablespace.c:1038
 #, c-format
 msgid "tablespace %u is not empty"
 msgstr "l'espace logique %u n'est pas vide"
 
-#: commands/vacuum.c:286
+#: commands/trigger.c:137
+#, c-format
+msgid "could not determine referenced table for constraint \"%s\""
+msgstr "n'a pas pu déterminer la table référencée pour la contrainte «%s»"
+
+#: commands/trigger.c:224
+msgid "multiple INSERT events specified"
+msgstr "Multiples événements INSERT spécifiés"
+
+#: commands/trigger.c:231
+msgid "multiple DELETE events specified"
+msgstr "Multiples événements DELETE spécifiés"
+
+#: commands/trigger.c:238
+msgid "multiple UPDATE events specified"
+msgstr "Multiples événements UPDATE spécifiés"
+
+#: commands/trigger.c:270 commands/trigger.c:658
+#, c-format
+msgid "trigger \"%s\" for relation \"%s\" already exists"
+msgstr "le déclencheur «%s» de la relation «%s» existe déjà"
+
+#: commands/trigger.c:290
+#, c-format
+msgid "changing return type of function %s from \"opaque\" to \"trigger\""
+msgstr "changement du type de retour de la fonction %s de «opaque» vers «trigger»"
+
+#: commands/trigger.c:297
+#, c-format
+msgid "function %s must return type \"trigger\""
+msgstr "la fonction %s doit renvoyer le type «trigger»"
+
+#: commands/trigger.c:778
+#, c-format
+msgid "permission denied: \"%s\" is a system trigger"
+msgstr "droit refusé : «%s» est un déclencheur système"
+
+#: commands/trigger.c:1304
+#, c-format
+msgid "trigger function %u returned null value"
+msgstr "la fonction déclencheur %u a renvoyé la valeur NULL"
+
+#: commands/trigger.c:1362 commands/trigger.c:1473 commands/trigger.c:1604
+msgid "BEFORE STATEMENT trigger cannot return a value"
+msgstr "le déclencheur BEFORE STATEMENT ne peut pas renvoyer une valeur"
+
+#: commands/trigger.c:1735 executor/execMain.c:1214 executor/execMain.c:1516
+#: executor/execMain.c:1661
+msgid "could not serialize access due to concurrent update"
+msgstr "n'a pas pu sérialiser un accès à cause d'une mise à jour concurrente"
+
+#: commands/trigger.c:2942
+msgid "unnamed constraints cannot be set explicitly"
+msgstr "les contraintes sans nom ne peuvent pas être initialisées explicitement"
+
+#: commands/trigger.c:2981
+#, c-format
+msgid "constraint \"%s\" is not deferrable"
+msgstr "la contrainte «%s» n'est pas DEFERRABLE"
+
+#: commands/vacuum.c:323
 msgid "VACUUM FULL FREEZE is not supported"
 msgstr "VACUUM FULL FREEZE n'est pas supporté"
 
-#: commands/vacuum.c:287
+#: commands/vacuum.c:324
 msgid "Use VACUUM FULL, then VACUUM FREEZE."
 msgstr "Utilisez VACUUM FULL, puis VACUUM FREEZE."
 
-#: commands/vacuum.c:607
+#: commands/vacuum.c:651
 msgid "oldest xmin is far in the past"
 msgstr "le plus ancien xmin est loin dans le passé"
 
-#: commands/vacuum.c:608
+#: commands/vacuum.c:652
 msgid "Close open transactions soon to avoid wraparound problems."
 msgstr "Fermez les transactions ouvertes rapidement pour éviter des problèmes de réinitialisation."
 
-#: commands/vacuum.c:825
+#: commands/vacuum.c:886
 msgid "some databases have not been vacuumed in over 2 billion transactions"
 msgstr "Quelques bases de données n'ont pas eu l'opération de maintenance VACUUM depuis plus de 2 milliards de transactions"
 
-#: commands/vacuum.c:826
+#: commands/vacuum.c:887
 msgid "You may have already suffered transaction-wraparound data loss."
 msgstr "Vous pouvez avoir déjà souffert de pertes de données suite à une réinitialisation du numéro des transactions."
 
-#: commands/vacuum.c:837
+#: commands/vacuum.c:901
 msgid "some databases have not been vacuumed in over 1 billion transactions"
 msgstr "Quelques bases de données n'ont pas eu l'opération de maintenance VACUUM depuis plus de 1 milliards de transactions"
 
-#: commands/vacuum.c:838
+#: commands/vacuum.c:902
 msgid "Better vacuum them soon, or you may have a wraparound failure."
 msgstr "Il vaudrait mieux lancer VACUUM rapidement, sinon vous risquez une réinitilisation du numéro de transaction."
 
-#: commands/vacuum.c:845
-#, c-format
-msgid "some databases have not been vacuumed in %d transactions"
-msgstr "Quelques bases de données n'ont pas eu l'opération de maintenance VACUUM depuis plus de %d milliards de transactions"
-
-#: commands/vacuum.c:847
-#, c-format
-msgid ""
-"Better vacuum them within %d transactions, or you may have a wraparound "
-"failure."
-msgstr "Il vaudrait mieux lancer VACUUM avant %d transactions, sinon vous risquez une réinitilisation du numéro de transaction."
-
-#: commands/vacuum.c:943
+#: commands/vacuum.c:1010
 #, c-format
 msgid "skipping \"%s\" --- only table or database owner can vacuum it"
 msgstr "Ne s'occupe pas de «%s» --- seul le propriétaire de la table ou de la base de données peut lancer un VACUUM"
 
-#: commands/vacuum.c:958
+#: commands/vacuum.c:1025
 #, c-format
-msgid ""
-"skipping \"%s\" --- cannot vacuum indexes, views, or special system tables"
+msgid "skipping \"%s\" --- cannot vacuum indexes, views, or special system tables"
 msgstr "Ne s'occupe pas de «%s» --- n'a pas pulancer un VACUUM sur les index, vues ou tables système"
 
-#: commands/vacuum.c:1181 commands/vacuumlazy.c:221
+#: commands/vacuum.c:1242 commands/vacuumlazy.c:218
 #, c-format
 msgid "vacuuming \"%s.%s\""
 msgstr "Lancement du VACUUM sur \"%s.%s\""
 
-#: commands/vacuum.c:1229 commands/vacuumlazy.c:293
+#: commands/vacuum.c:1294 commands/vacuumlazy.c:312
 #, c-format
 msgid "relation \"%s\" page %u is uninitialized --- fixing"
 msgstr "Pour la relation «%s», la page \"%u\"  n'est pas initialisé --- correction en cours"
 
-#: commands/vacuum.c:1352
+#: commands/vacuum.c:1419
 #, c-format
 msgid ""
 "relation \"%s\" TID %u/%u: InsertTransactionInProgress %u --- can't shrink "
 "relation"
 msgstr "Pour la relation «%s», TID %u/%u : InsertTransactionInProgress %u --- n'a pas pu diminuer la relation"
 
-#: commands/vacuum.c:1365
+#: commands/vacuum.c:1432
 #, c-format
 msgid ""
 "relation \"%s\" TID %u/%u: DeleteTransactionInProgress %u --- can't shrink "
 "relation"
 msgstr "Pour la relation «%s», TID %u/%u : DeleteTransactionInProgress %u --- n'a pas pu diminuer la relation"
 
-#: commands/vacuum.c:1518 commands/vacuumlazy.c:456
+#: commands/vacuum.c:1586 commands/vacuumlazy.c:475
 #, c-format
-msgid ""
-"\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
+msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages"
 msgstr "«%s»: %.0f versions de ligne supprimables, %.0f non supprimables parmi %u pages"
 
-#: commands/vacuum.c:1521
+#: commands/vacuum.c:1589
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -3688,29 +4016,30 @@ msgstr ""
 "%u pages contenant %.0f octets libres sont des destinations de déplacement disponibles.\n"
 "%s"
 
-#: commands/vacuum.c:2270
+#: commands/vacuum.c:2362
 #, c-format
 msgid "\"%s\": moved %u row versions, truncated %u to %u pages"
 msgstr "«%s»: moved %u row versions, truncated %u to %u pages"
 
-#: commands/vacuum.c:2273 commands/vacuumlazy.c:517 commands/vacuumlazy.c:820
-#: nodes/print.c:86 storage/lmgr/deadlock.c:888 tcop/postgres.c:3341
+#: commands/user.c:877 commands/vacuum.c:2365 commands/vacuumlazy.c:536
+#: commands/vacuumlazy.c:831 nodes/print.c:86 storage/lmgr/deadlock.c:945
+#: tcop/postgres.c:3518
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: commands/vacuum.c:2810 commands/vacuumlazy.c:817
+#: commands/vacuum.c:2891 commands/vacuumlazy.c:828
 #, c-format
 msgid "\"%s\": truncated %u to %u pages"
 msgstr "«%s»: %u pages tronqués à %u"
 
-#: commands/vacuum.c:2900 commands/vacuum.c:2967 commands/vacuumlazy.c:630
-#: commands/vacuumlazy.c:705
+#: commands/vacuum.c:2980 commands/vacuum.c:3047 commands/vacuumlazy.c:650
+#: commands/vacuumlazy.c:726
 #, 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/vacuum.c:2904 commands/vacuumlazy.c:634
+#: commands/vacuum.c:2984 commands/vacuumlazy.c:654
 #, c-format
 msgid ""
 "%u index pages have been deleted, %u are currently reusable.\n"
@@ -3719,17 +4048,16 @@ msgstr ""
 "Les pages d'index %u ont été supprimées, %u sont actuellement réutilisables.\n"
 "%s"
 
-#: commands/vacuum.c:2918 commands/vacuum.c:2987
+#: commands/vacuum.c:2998 commands/vacuum.c:3067
 #, c-format
-msgid ""
-"index \"%s\" contains %.0f row versions, but table contains %.0f row versions"
+msgid "index \"%s\" contains %.0f row versions, but table contains %.0f row versions"
 msgstr "L'index «%s» contient %.0f versions de ligne, mais la table contient %.0f versions de ligne"
 
-#: commands/vacuum.c:2921 commands/vacuum.c:2990
+#: commands/vacuum.c:3001 commands/vacuum.c:3070
 msgid "Rebuild the index with REINDEX."
 msgstr "Reconstruction de l'index avec REINDEX."
 
-#: commands/vacuum.c:2971 commands/vacuumlazy.c:709
+#: commands/vacuum.c:3051 commands/vacuumlazy.c:730
 #, c-format
 msgid ""
 "%.0f index row versions were removed.\n"
@@ -3740,302 +4068,110 @@ msgstr ""
 "%u pages d'index ont été supprimées, %u sont actuellement réutilisables.\n"
 "%s"
 
-#: commands/typecmds.c:138
-#, c-format
-msgid "type names must be %d characters or less"
-msgstr "les noms de type doivent avoir au plus %d caractères"
-
-#: commands/typecmds.c:173
-#, c-format
-msgid "array element type cannot be %s"
-msgstr "le type d'élément tableau ne peut pas être %s"
-
-#: commands/typecmds.c:206
-#, c-format
-msgid "alignment \"%s\" not recognized"
-msgstr "alignement «%s» non reconnu"
-
-#: commands/typecmds.c:223
-#, c-format
-msgid "storage \"%s\" not recognized"
-msgstr "stockage «%s» non reconnu"
-
-#: commands/typecmds.c:228
-#, c-format
-msgid "type attribute \"%s\" not recognized"
-msgstr "attribut du type «%s» non reconnu"
-
-#: commands/typecmds.c:238
-msgid "type input function must be specified"
-msgstr "le type d'entrée de la fonction doit être spécifiée"
-
-#: commands/typecmds.c:242
-msgid "type output function must be specified"
-msgstr "le type de sortie de la fonction doit être spécifié"
-
-#: commands/typecmds.c:281
-#, c-format
-msgid "changing return type of function %s from \"opaque\" to %s"
-msgstr "changement du type de retour de la fonction %s à partir de «opaque» vers %s"
-
-#: commands/typecmds.c:288
-#, c-format
-msgid "type input function %s must return type %s"
-msgstr "le type d'entrée de la fonction %s doit être %s"
-
-#: commands/typecmds.c:298
-#, c-format
-msgid "changing return type of function %s from \"opaque\" to \"cstring\""
-msgstr "changement du type de retour de la fonction %s de «opaque» vers «cstring»"
-
-#: commands/typecmds.c:305
-#, c-format
-msgid "type output function %s must return type \"cstring\""
-msgstr "la sortie de la fonction %s doit être «cstring»"
-
-#: commands/typecmds.c:314
-#, c-format
-msgid "type receive function %s must return type %s"
-msgstr "la fonction de réception du type %s doit renvoyer le type %s"
-
-#: commands/typecmds.c:323
-#, c-format
-msgid "type send function %s must return type \"bytea\""
-msgstr "la fonction d'envoi du type %s doit renvoyer le type «bytea»"
-
-#: commands/typecmds.c:536
-#, c-format
-msgid "domain names must be %d characters or less"
-msgstr "les noms de domaine doivent avoir au plus %d caractères"
-
-#: commands/typecmds.c:557
-#, c-format
-msgid "\"%s\" is not a valid base type for a domain"
-msgstr "«%s» n'est pas un type de base valide pour un domaine"
-
-#: commands/typecmds.c:617 commands/typecmds.c:1504
-msgid "foreign key constraints not possible for domains"
-msgstr "contraintes de clé étrangère impossible pour les domaines"
-
-#: commands/typecmds.c:637
-msgid "multiple default expressions"
-msgstr "expressions multiples par défaut"
-
-#: commands/typecmds.c:667 commands/typecmds.c:676
-msgid "conflicting NULL/NOT NULL constraints"
-msgstr "contraintes NULL/NOT NULL en conflit"
-
-#: commands/typecmds.c:695 commands/typecmds.c:1522
-msgid "unique constraints not possible for domains"
-msgstr "contraintes uniques impossible pour les domaines"
+#: commands/user.c:141
+msgid "SYSID can no longer be specified"
+msgstr "SYSID ne peut plus être spécifié"
 
-#: commands/typecmds.c:701 commands/typecmds.c:1528
-msgid "primary key constraints not possible for domains"
-msgstr "contraintes de clé primaire impossible pour les domaines"
+#: commands/user.c:257
+msgid "must be superuser to create superusers"
+msgstr "doit être superutilisateur pour créer des superutilisateurs"
 
-#: commands/typecmds.c:710 commands/typecmds.c:1537
-msgid "specifying constraint deferrability not supported for domains"
-msgstr "spécifier des contraintes deferrantes n'est pas supporté par les domaines"
+#: commands/user.c:264
+msgid "permission denied to create role"
+msgstr "droit refusé pour créer un rôle"
 
-#: commands/typecmds.c:831 commands/typecmds.c:1780
+#: commands/user.c:271 commands/user.c:1008
 #, c-format
-msgid "\"%s\" is not a domain"
-msgstr "«%s» n'est pas un domaine"
+msgid "role name \"%s\" is reserved"
+msgstr "le nom du rôle «%s» est réservé"
 
-#: commands/typecmds.c:901
+#: commands/user.c:288 commands/user.c:1002
 #, 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»"
+msgid "role \"%s\" already exists"
+msgstr "le rôle «%s» existe déjà"
 
-#: commands/typecmds.c:971
+#: commands/user.c:552 commands/user.c:732 commands/user.c:837
+#: commands/user.c:975 commands/variable.c:643 commands/variable.c:756
+#: utils/cache/lsyscache.c:2041 utils/init/miscinit.c:404
 #, 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"
+msgid "role \"%s\" does not exist"
+msgstr "Le rôle «%s» n'existe pas"
 
-#: commands/typecmds.c:1083
-#, c-format
-msgid "type analyze function %s must return type \"boolean\""
-msgstr "la fonction d'envoi du type %s doit renvoyer le type «bytea»"
-
-#: commands/typecmds.c:1112
-msgid "composite type must have at least one attribute"
-msgstr "le type composite doit avoir au moins un attribut"
+#: commands/user.c:565 commands/user.c:743 commands/user.c:1182
+#: commands/user.c:1323
+msgid "must be superuser to alter superusers"
+msgstr "doit être superutilisateur pour modifier des superutilisateurs"
 
-#: commands/typecmds.c:1341
-#, 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:1608
-#, 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 nouvelle contrainte"
-
-#: commands/typecmds.c:1814
-#, c-format
-msgid "constraint \"%s\" for domain \"%s\" already exists"
-msgstr "la contrainte «%s» du domaine «%s» existe déjà"
-
-#: commands/typecmds.c:1855 commands/typecmds.c:1864
-msgid "cannot use table references in domain check constraint"
-msgstr "n'a pas pu utiliser les références de table dans la contrainte de vérification de domaine"
-
-#: commands/typecmds.c:1876
-msgid "cannot use aggregate in check constraint"
-msgstr "n'a pas pu utiliser un aggrégat dans la contrainte de vérification"
-
-#: commands/typecmds.c:2090
-#, c-format
-msgid "\"%s\" is a table's row type"
-msgstr "«%s» est du type ligne de table"
-
-#: commands/user.c:174 commands/user.c:272 commands/user.c:321
-#: commands/user.c:402
-#, c-format
-msgid "could not write to temporary file \"%s\": %m"
-msgstr "n'a pas pu écrire le fichier temporaire «%s» : %m"
-
-#: commands/user.c:209
-#, c-format
-msgid "invalid group name \"%s\""
-msgstr "nom de groupe invalide «%s»"
-
-#: commands/user.c:240 commands/user.c:371
-#, c-format
-msgid "invalid user name \"%s\""
-msgstr "nom d'utilisateur invalide «%s»"
-
-#: commands/user.c:378
-#, c-format
-msgid "invalid user password \"%s\""
-msgstr "mot de passe de l'utilisateur invalide «%s»"
-
-#: commands/user.c:638
-msgid "user ID must be positive"
-msgstr "l'identifiant de l'utilisateur doit être positif"
-
-#: commands/user.c:655
-msgid "must be superuser to create users"
-msgstr "doit être super-utilisateur pour créer des utilisateurs"
-
-#: commands/user.c:660
-#, c-format
-msgid "user name \"%s\" is reserved"
-msgstr "le nom d'utilisateur «%s» est réservé"
-
-#: commands/user.c:697 commands/user.c:1252
-#, c-format
-msgid "user \"%s\" already exists"
-msgstr "l'utilisateur «%s» existe déjà"
-
-#: commands/user.c:702
-#, c-format
-msgid "user ID %d is already assigned"
-msgstr "l'identifiant de l'utilisateur %d est déjà affecté"
-
-#: commands/user.c:899 commands/user.c:1012 commands/user.c:1104
-#: commands/user.c:1233 commands/variable.c:664 utils/cache/lsyscache.c:2044
-#: utils/init/miscinit.c:335
-#, c-format
-msgid "user \"%s\" does not exist"
-msgstr "l'utilisateur «%s» n'existe pas"
+#: commands/user.c:580 commands/user.c:751
+msgid "permission denied"
+msgstr "droit refusé"
 
-#: commands/user.c:1077
-msgid "must be superuser to drop users"
-msgstr "doit être super-utilisateur pour supprimer des utilisateurs"
+#: commands/user.c:810
+msgid "permission denied to drop role"
+msgstr "droit refusé pour supprimer le rôle"
 
-#: commands/user.c:1111
+#: commands/user.c:844 commands/user.c:848
 msgid "current user cannot be dropped"
 msgstr "l'utilisateur actuel ne peut pas être supprimé"
 
-#: commands/user.c:1115
+#: commands/user.c:852
 msgid "session user cannot be dropped"
 msgstr "l'utilisateur de la session ne peut pas être supprimé"
 
-#: commands/user.c:1142
-#, c-format
-msgid "user \"%s\" cannot be dropped"
-msgstr "l'utilisateur «%s» ne peut pas être supprimé"
+#: commands/user.c:863
+msgid "must be superuser to drop superusers"
+msgstr "doit être superutilisateur pour supprimer des superutilisateurs"
 
-#: commands/user.c:1143
+#: commands/user.c:875
 #, c-format
-msgid "The user owns database \"%s\"."
-msgstr "l'utilisateur est propriétaire de la base de données «%s»."
+msgid "role \"%s\" cannot be dropped because some objects depend on it"
+msgstr "le rôle «%s» n'a pas pu être supprimé car d'autres objets en dépendent"
 
-#: commands/user.c:1244
+#: commands/user.c:990
 msgid "session user may not be renamed"
 msgstr "L'utilisateur de la session ne pourrait pas être renommé"
 
-#: commands/user.c:1258
-msgid "must be superuser to rename users"
-msgstr "doit être super-utilisateur pour renommer les utilisateurs"
-
-#: commands/user.c:1277
-msgid "MD5 password cleared because of user rename"
-msgstr "mot de passe MD5 effacé à cause du renommage de l'utilisateur"
+#: commands/user.c:994
+msgid "current user may not be renamed"
+msgstr "l'utilisateur courant ne peut pas être renommé"
 
-#: commands/user.c:1311
-#, c-format
-msgid "before using passwords you must revoke privileges on %s"
-msgstr "avant d'utiliser les mots de passe, vous devez révoquer les droits sur %s"
-
-#: commands/user.c:1313
-msgid ""
-"This restriction is to prevent unprivileged users from reading the passwords."
-msgstr "cette restriction permet d'empêcher les utilisateurs non privilégiés de lire les mots de passe."
+#: commands/user.c:1019
+msgid "must be superuser to rename superusers"
+msgstr "doit être superutilisateur pour renommer les superutilisateurs"
 
-#: commands/user.c:1314
-#, c-format
-msgid "Try REVOKE ALL ON \"%s\" FROM PUBLIC."
-msgstr "Essayez REVOKE ALL ON «%s» FROM PUBLIC."
+#: commands/user.c:1026
+msgid "permission denied to rename role"
+msgstr "droit refusé pour renommer le rôle"
 
-#: commands/user.c:1378
-msgid "group ID must be positive"
-msgstr "l'identifiant du groupe doit être positif"
+#: commands/user.c:1047
+msgid "MD5 password cleared because of role rename"
+msgstr "mot de passe MD5 effacé à cause du renommage du rôle"
 
-#: commands/user.c:1391
-msgid "must be superuser to create groups"
-msgstr "doit être super-utilisateur pour créer des groupes"
-
-#: commands/user.c:1396
+#: commands/user.c:1190 commands/user.c:1331
 #, c-format
-msgid "group name \"%s\" is reserved"
-msgstr "le nom du groupe «%s» est réservé"
+msgid "must have admin option on role \"%s\""
+msgstr "doit avoir l'option admin sur le rôle «%s»"
 
-#: commands/user.c:1433 commands/user.c:1815
-#, c-format
-msgid "group \"%s\" already exists"
-msgstr "le groupe «%s» existe déjà"
+#: commands/user.c:1198
+msgid "must be superuser to set grantor ID"
+msgstr "doit être superutilisateur pour configurer l'ID «grantor»"
 
-#: commands/user.c:1438
+#: commands/user.c:1223
 #, c-format
-msgid "group ID %d is already assigned"
-msgstr "l'identifiant %d du groupe est déjà affecté"
-
-#: commands/user.c:1518
-msgid "must be superuser to alter groups"
-msgstr "doit être super-utilisateur pour modifier les groupes"
+msgid "role \"%s\" is a member of role \"%s\""
+msgstr "le rôle «%s» est un membre du rôle «%s»"
 
-#: commands/user.c:1597
+#: commands/user.c:1239
 #, c-format
-msgid "group \"%s\" does not have any members"
-msgstr "le groupe «%s» n'a aucun membres"
+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:1625
+#: commands/user.c:1355
 #, c-format
-msgid "user \"%s\" is not in group \"%s\""
-msgstr "l'utilisateur «%s» n'est pas dans le groupe «%s»"
+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/user.c:1757
-msgid "must be superuser to drop groups"
-msgstr "doit être super-utilisateur pour supprimer les groupes"
-
-#: commands/user.c:1821
-msgid "must be superuser to rename groups"
-msgstr "doit être super-utilisateur pour renommer les groupes"
-
-#: commands/vacuumlazy.c:459
+#: commands/vacuumlazy.c:478
 #, c-format
 msgid ""
 "%.0f dead row versions cannot be removed yet.\n"
@@ -4048,753 +4184,763 @@ msgstr ""
 "%u pages sont entièrement vide.\n"
 "%s"
 
-#: commands/vacuumlazy.c:514
+#: commands/vacuumlazy.c:533
 #, c-format
 msgid "\"%s\": removed %d row versions in %d pages"
 msgstr "«%s»: %d versions versions de ligne supprimée parmi %d pages"
 
-#: commands/variable.c:65
+#: commands/variable.c:66
 msgid "invalid list syntax for parameter \"datestyle\""
 msgstr "Syntaxe de liste invalide pour le paramètre «datestyle»"
 
-#: commands/variable.c:151
+#: commands/variable.c:166
 #, c-format
 msgid "unrecognized \"datestyle\" key word: \"%s\""
 msgstr "Mot clé «datestyle» non reconnu : «%s»"
 
-#: commands/variable.c:169
+#: commands/variable.c:181
 msgid "conflicting \"datestyle\" specifications"
 msgstr "Spécifications «datestyle» conflictuelles"
 
-#: commands/variable.c:280
+#: commands/variable.c:292
 msgid "invalid interval value for time zone: month not allowed"
 msgstr "Valeur d'intervalle invalide pour la zone horaire : les mois ne sont pas autorisés"
 
-#: commands/variable.c:403
+#: commands/variable.c:301
+msgid "invalid interval value for time zone: day not allowed"
+msgstr "Valeur d'interval invalide pour le fuseau horaire : jour non autorisé"
+
+#: commands/variable.c:370
 #, c-format
 msgid "unrecognized time zone name: \"%s\""
 msgstr "Nom de zone horaire non reconnu : «%s»"
 
-#: commands/variable.c:411
+#: commands/variable.c:379
 #, c-format
 msgid "time zone \"%s\" appears to use leap seconds"
 msgstr "La zone horaire «%s» semble utiliser les secondes «leap»"
 
-#: commands/variable.c:413
+#: commands/variable.c:381
 msgid "PostgreSQL does not support leap seconds."
 msgstr "PostgreSQL ne supporte pas les secondes «leap»."
 
-#: commands/variable.c:483
+#: commands/variable.c:462
 msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query"
 msgstr "SET TRANSACTION ISOLATION LEVEL doit être appelé avant toute requête"
 
-#: commands/variable.c:493
+#: commands/variable.c:472
 msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction"
 msgstr "SET TRANSACTION ISOLATION LEVEL ne doit pas être appelé dans une sous-transaction"
 
-#: commands/variable.c:593 utils/mb/mbutils.c:188
+#: commands/variable.c:572 utils/mb/mbutils.c:188
 #, c-format
 msgid "conversion between %s and %s is not supported"
 msgstr "La conversion entre %s et %s n'est pas supportée"
 
-#: commands/view.c:89
+#: commands/variable.c:773
+#, c-format
+msgid "permission denied to set role \"%s\""
+msgstr "Droit refusé pour configurer le rôle «%s»"
+
+#: commands/view.c:138
 msgid "view must have at least one column"
 msgstr "La vue doit avoir au moins une colonne"
 
-#: commands/view.c:170 commands/view.c:182
+#: commands/view.c:226 commands/view.c:238
 msgid "cannot change number of columns in view"
 msgstr "n'a pas pu modifier le nombre de colonnes dans la vue"
 
-#: commands/view.c:187
+#: commands/view.c:243
 #, c-format
 msgid "cannot change name of view column \"%s\""
 msgstr "n'a pas pu modifier le nom des colonnes de la vue «%s»"
 
-#: commands/view.c:194
+#: commands/view.c:250
 #, c-format
 msgid "cannot change data type of view column \"%s\""
 msgstr "n'a pas pu modifier le type de données de la colonne de la vue «%s»"
 
-#: executor/execMain.c:814
+#: commands/view.c:404
+#, c-format
+msgid "view \"%s\" will be a temporary view"
+msgstr "la vue «%s» sera une vue temporaire"
+
+#: executor/execMain.c:834
 #, c-format
 msgid "cannot change sequence \"%s\""
 msgstr "n'a pas pu modifier la séquence «%s»"
 
-#: executor/execMain.c:820
+#: executor/execMain.c:840
 #, c-format
 msgid "cannot change TOAST relation \"%s\""
 msgstr "n'a pas pu modifier la relation TOAST «%s»"
 
-#: executor/execMain.c:826
+#: executor/execMain.c:846
 #, c-format
 msgid "cannot change view \"%s\""
 msgstr "n'a pas pu modifier la vue «%s»"
 
-#: executor/execMain.c:1731
+#: executor/execMain.c:1789
 #, c-format
 msgid "null value in column \"%s\" violates not-null constraint"
 msgstr "Une valeur NULL dans la colonne «%s» viole la contrainte NOT NULL"
 
-#: executor/execMain.c:1743
+#: executor/execMain.c:1801
 #, c-format
 msgid "new row for relation \"%s\" violates check constraint \"%s\""
 msgstr "La nouvelle ligne pour la relation «%s» viole la contrainte de vérification «%s»"
 
-#: executor/execQual.c:260 executor/execQual.c:288 executor/execQual.c:2138
+#: executor/execQual.c:264 executor/execQual.c:292 executor/execQual.c:2113
 #: utils/adt/array_userfuncs.c:362 utils/adt/arrayfuncs.c:216
-#: utils/adt/arrayfuncs.c:472 utils/adt/arrayfuncs.c:1153
-#: utils/adt/arrayfuncs.c:2427
+#: utils/adt/arrayfuncs.c:472 utils/adt/arrayfuncs.c:1151
+#: utils/adt/arrayfuncs.c:2413
 #, c-format
 msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
 msgstr "Le nombre de dimensions du tableau (%d) dépasse le maximum autorisé (%d)"
 
-#: executor/execQual.c:815
+#: executor/execQual.c:740 parser/parse_func.c:85 parser/parse_func.c:393
+#, c-format
+msgid "cannot pass more than %d arguments to a function"
+msgstr "n'a pas pupasser plus de %d arguments à une fonction"
+
+#: executor/execQual.c:804
 msgid "functions and operators can take at most one set argument"
 msgstr "Les fonctions et opérateurs peuvent prendre au plus un argument d'ensemble"
 
-#: executor/execQual.c:870 executor/execQual.c:914 executor/execQual.c:1090
-#: executor/execQual.c:1215 executor/execQual.c:3580 executor/functions.c:666
-#: executor/functions.c:705 utils/fmgr/funcapi.c:39
+#: executor/execQual.c:858 executor/execQual.c:902 executor/execQual.c:1195
+#: executor/execQual.c:3618 executor/functions.c:672 executor/functions.c:711
+#: utils/fmgr/funcapi.c:59
 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 un ensemble"
 
-#: executor/execQual.c:1297
+#: executor/execQual.c:1277
 msgid "function returning set of rows cannot return null value"
 msgstr "le fonction renvoyant une ligne ne peut pas renvoyer une valeur NULL"
 
-#: executor/execQual.c:1381
+#: executor/execQual.c:1358
 msgid "table-function protocol for materialize mode was not followed"
 msgstr "Le protocole de la table-fonction pour le mode matérialisé n'a pas été suivi"
 
-#: executor/execQual.c:1388
+#: executor/execQual.c:1365
 #, c-format
 msgid "unrecognized table-function returnMode: %d"
 msgstr "table-function returnMode non reconnu : %d"
 
-#: executor/execQual.c:1534
+#: executor/execQual.c:1510
 msgid "IS DISTINCT FROM does not support set arguments"
 msgstr "IS DISTINCT FROM ne supporte pas les arguments d'ensemble"
 
-#: executor/execQual.c:1608
+#: executor/execQual.c:1583
 msgid "op ANY/ALL (array) does not support set arguments"
 msgstr "op ANY/ALL (array) ne supporte pas les arguments d'ensemble"
 
-#: executor/execQual.c:2124
+#: executor/execQual.c:2099
 msgid "cannot merge incompatible arrays"
 msgstr "n'a pas pu fusionner les tableaux incompatibles"
 
-#: executor/execQual.c:2125
+#: executor/execQual.c:2100
 #, c-format
 msgid ""
 "Array with element type %s cannot be included in ARRAY construct with "
 "element type %s."
 msgstr "Le tableau avec le type d'élément %s ne peut pas être inclus dans la consstruction ARRAY avec le type d'élément %s."
 
-#: executor/execQual.c:2158 utils/adt/arrayfuncs.c:507
-msgid ""
-"multidimensional arrays must have array expressions with matching dimensions"
+#: executor/execQual.c:2133 utils/adt/arrayfuncs.c:507
+msgid "multidimensional arrays must have array expressions with matching dimensions"
 msgstr ""
 "Les tableaux multidimensionels doivent avoir des expressions de tableaux "
 "avec les dimensions correspondantes"
 
-#: executor/execQual.c:2324
+#: executor/execQual.c:2353
 msgid "NULLIF does not support set arguments"
 msgstr "NULLIF ne supporte pas les arguments d'ensemble"
 
-#: executor/execQual.c:2505
+#: executor/execQual.c:2534
 #, c-format
 msgid "domain %s does not allow null values"
 msgstr "Le domaine %s n'autorise pas les valeurs NULL"
 
-#: executor/execQual.c:2535
+#: executor/execQual.c:2564
 #, c-format
 msgid "value for domain %s violates check constraint \"%s\""
 msgstr "La valeur pour le domaine %s viole la contrainte de vérification «%s»"
 
-#: executor/execQual.c:2877 optimizer/util/clauses.c:428 parser/parse_agg.c:74
+#: executor/execQual.c:2904 optimizer/util/clauses.c:473 parser/parse_agg.c:74
 msgid "aggregate function calls may not be nested"
 msgstr "les appels à la fonction d'aggrégat ne doivent pas être imbriqués"
 
-#: executor/execQual.c:3201
+#: executor/execQual.c:3228
 #, c-format
 msgid "ROW() column has type %s instead of type %s"
 msgstr "une colonne ROW() a le type %s au lieu du type %s"
 
+#: executor/execQual.c:3293 utils/adt/arrayfuncs.c:2717
+#, c-format
+msgid "could not identify a comparison function for type %s"
+msgstr "n'a pas pu identifier une fonction de comparaison pour le type %s"
+
 #. translator: %s is a SQL statement name
-#: executor/functions.c:117
+#: executor/functions.c:119
 #, c-format
 msgid "%s is not allowed in a SQL function"
 msgstr "%s n'est pas autorisé dans une fonction SQL"
 
 #. translator: %s is a SQL statement name
-#: executor/functions.c:124 executor/spi.c:1404
+#: executor/functions.c:126 executor/spi.c:1416
 #, c-format
 msgid "%s is not allowed in a non-volatile function"
 msgstr "%s n'est pas autorisé dans une fonction non volatile"
 
-#: executor/functions.c:190
+#: executor/functions.c:192
 #, c-format
 msgid ""
 "could not determine actual result type for function declared to return type %"
 "s"
 msgstr "n'a pas pu déterminer le type du résultat actuel pour la fonction déclarant retourner le type %s"
 
-#: executor/functions.c:244
+#: executor/functions.c:246
 #, c-format
 msgid "could not determine actual type of argument declared %s"
 msgstr "n'a pas pu déterminer le type actuel de l'argument déclaré %s"
 
-#: executor/functions.c:790
+#: executor/functions.c:796
 #, c-format
 msgid "SQL function \"%s\" statement %d"
 msgstr "Fonction SQL «%s» instruction %d"
 
-#: executor/functions.c:809
+#: executor/functions.c:815
 #, c-format
 msgid "SQL function \"%s\" during startup"
 msgstr "Fonction SQL «%s» lors du lancement"
 
-#: executor/functions.c:889 executor/functions.c:910 executor/functions.c:920
-#: executor/functions.c:944 executor/functions.c:952 executor/functions.c:1004
-#: executor/functions.c:1016 executor/functions.c:1036
+#: executor/functions.c:891 executor/functions.c:912 executor/functions.c:922
+#: executor/functions.c:943 executor/functions.c:951 executor/functions.c:1017
+#: executor/functions.c:1029 executor/functions.c:1049
 #, c-format
 msgid "return type mismatch in function declared to return %s"
 msgstr "Le type de retour ne correspond pas à la fonction déclarant renvoyer %s"
 
-#: executor/functions.c:891 executor/functions.c:922
+#: executor/functions.c:893 executor/functions.c:924
 msgid "Function's final statement must be a SELECT."
 msgstr "L'instruction finale de la fonction doit être un SELECT."
 
-#: executor/functions.c:912
+#: executor/functions.c:914
 msgid "Function's final statement must not be a SELECT."
 msgstr "L'instruction finale de la fonction ne doit pas être un SELECT."
 
-#: executor/functions.c:946
+#: executor/functions.c:945
 msgid "Final SELECT must return exactly one column."
 msgstr "Le SELECT final doit renvoyer exactement une colonne."
 
-#: executor/functions.c:954
+#: executor/functions.c:953
 #, c-format
 msgid "Actual return type is %s."
 msgstr "Le code de retour réel est %s."
 
-#: executor/functions.c:1006
+#: executor/functions.c:1019
 msgid "Final SELECT returns too many columns."
 msgstr "Le SELECT final retourne beaucoup trop de colonnes."
 
-#: executor/functions.c:1018
+#: executor/functions.c:1031
 #, c-format
 msgid "Final SELECT returns %s instead of %s at column %d."
 msgstr "Le SELECT final renvoit %s au lieu de %s pour la colonne %d."
 
-#: executor/functions.c:1038
+#: executor/functions.c:1051
 msgid "Final SELECT returns too few columns."
 msgstr "Le SELECT final renvoit trop peu de colonnes."
 
-#: executor/functions.c:1088
+#: executor/functions.c:1073
 #, c-format
 msgid "return type %s is not supported for SQL functions"
 msgstr "Le type de retour %s n'est pas supporté pour les fonctions SQL"
 
-#: executor/nodeAgg.c:1330
+#: executor/nodeAgg.c:1367
 #, c-format
 msgid "aggregate %u needs to have compatible input type and transition type"
 msgstr "L'aggrégat %u a besoin d'avoir un type d'entrée compatible avec le type de transition"
 
-#: executor/nodeFunctionscan.c:93
-msgid "query-specified return row and actual function return row do not match"
-msgstr "La colonne de retour spécifiée par la requête et la colonne de retour de la fonction ne correspondent pas"
+#: executor/nodeFunctionscan.c:364 executor/nodeFunctionscan.c:378
+#: executor/nodeFunctionscan.c:388
+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/nodeHashjoin.c:571 executor/nodeHashjoin.c:581
+#: executor/nodeFunctionscan.c:365
 #, c-format
-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"
+msgid "Returned row contains %d attributes, but query expects %d."
+msgstr "La ligne renvoyée contient %d attributs mais la requête en attend %d."
 
-#: executor/nodeHashjoin.c:641 executor/nodeHashjoin.c:648
+#: executor/nodeFunctionscan.c:379
+#, 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/nodeFunctionscan.c:389
+#, c-format
+msgid "Physical storage mismatch on dropped attribute at ordinal position %d."
+msgstr "Le stockage physique ne correspond pas à l'attribut supprimé à la position ordinale %d."
+
+#: executor/nodeHashjoin.c:679 executor/nodeHashjoin.c:715
 #, c-format
 msgid "could not rewind hash-join temporary file: %m"
 msgstr "n'a pas pu revenir au début du fichier temporaire de la jointure hâchée : %m"
 
-#: executor/nodeHashjoin.c:699 executor/nodeHashjoin.c:704
+#: executor/nodeHashjoin.c:750 executor/nodeHashjoin.c:756
+#: executor/nodeHashjoin.c:762
 #, c-format
 msgid "could not write to hash-join temporary file: %m"
 msgstr "n'a pas pu écrire le fichier temporaire de la jointure hâchée : %m"
 
-#: executor/nodeMergejoin.c:1474
+#: executor/nodeHashjoin.c:788 executor/nodeHashjoin.c:793
+#: executor/nodeHashjoin.c:803
+#, c-format
+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/nodeMergejoin.c:1565
 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:1491 optimizer/path/joinpath.c:839
+#: executor/nodeMergejoin.c:1584 optimizer/path/joinpath.c:836
 msgid "FULL JOIN is only supported with merge-joinable join conditions"
 msgstr "FULL JOIN est supporté seulement avec les conditions de jointures MERGE"
 
-#: executor/nodeSubplan.c:294 executor/nodeSubplan.c:336
-#: executor/nodeSubplan.c:972
+#: executor/nodeSubplan.c:293 executor/nodeSubplan.c:334
+#: executor/nodeSubplan.c:981
 msgid "more than one row returned by a subquery used as an expression"
 msgstr "Plus d'une ligne renvoyée par une sous-requête utilisée comme une expression"
 
-#: executor/spi.c:190
+#: executor/spi.c:191
 msgid "transaction left non-empty SPI stack"
 msgstr "transaction gauche non vide dans la pile SPI"
 
-#: executor/spi.c:191 executor/spi.c:255
+#: executor/spi.c:192 executor/spi.c:256
 msgid "Check for missing \"SPI_finish\" calls."
 msgstr "Vérifiez les appels manquants à «SPI_finish»."
 
-#: executor/spi.c:254
+#: executor/spi.c:255
 msgid "subtransaction left non-empty SPI stack"
 msgstr "sous-transaction gauche non vide dans la pile SPI"
 
-#: executor/spi.c:839
+#: executor/spi.c:836
 msgid "cannot open multi-query plan as cursor"
 msgstr "n'a pas pu ouvrir le plan à plusieurs requêtes comme curseur"
 
-#: executor/spi.c:846
-msgid "cannot open non-SELECT query as cursor"
-msgstr "n'a pas pu ouvrir une requête sans SELECT comme curseur"
-
-#: executor/spi.c:850
+#: executor/spi.c:847
 msgid "cannot open SELECT INTO query as cursor"
 msgstr "n'a pas pu ouvrir la requête SELECT INTO comme curseur"
 
-#: executor/spi.c:1582
+#: executor/spi.c:853 executor/spi.c:858
+msgid "cannot open non-SELECT query as cursor"
+msgstr "n'a pas pu ouvrir une requête sans SELECT comme curseur"
+
+#: executor/spi.c:1596
 #, c-format
 msgid "SQL statement \"%s\""
 msgstr "instruction SQL «%s»"
 
 #: libpq/be-fsstubs.c:132 libpq/be-fsstubs.c:170 libpq/be-fsstubs.c:194
-#: libpq/be-fsstubs.c:222 libpq/be-fsstubs.c:274
+#: libpq/be-fsstubs.c:228 libpq/be-fsstubs.c:287
 #, c-format
 msgid "invalid large-object descriptor: %d"
 msgstr "descripteur de gros objet invalide : %d"
 
-#: libpq/be-fsstubs.c:378
+#: libpq/be-fsstubs.c:201
+#, c-format
+msgid "large object descriptor %d was not opened for writing"
+msgstr "le descripteur %d de l'objet large n'a pas été ouvert pour l'écriture"
+
+#: libpq/be-fsstubs.c:391
 msgid "must be superuser to use server-side lo_import()"
 msgstr "doit être super-utilisateur pour utiliser lo_import() du côté serveur"
 
-#: libpq/be-fsstubs.c:379
+#: libpq/be-fsstubs.c:392
 msgid "Anyone can use the client-side lo_import() provided by libpq."
 msgstr "Toute personne peut utiliser lo_import(), fourni par libpq, du côté client."
 
-#: libpq/be-fsstubs.c:400
+#: libpq/be-fsstubs.c:413
 #, c-format
 msgid "could not open server file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier serveur «%s»: %m"
 
-#: libpq/be-fsstubs.c:421
+#: libpq/be-fsstubs.c:435
 #, c-format
 msgid "could not read server file \"%s\": %m"
 msgstr "n'a pas pu lire le fichier serveur «%s»: %m"
 
-#: libpq/be-fsstubs.c:451
+#: libpq/be-fsstubs.c:465
 msgid "must be superuser to use server-side lo_export()"
 msgstr "doit être super-utilisateur pour utiliser lo_export() du côté serveur"
 
-#: libpq/be-fsstubs.c:452
+#: libpq/be-fsstubs.c:466
 msgid "Anyone can use the client-side lo_export() provided by libpq."
 msgstr "Toute personne peut utiliser lo_export(), fournie par libpq, du côté client."
 
-#: libpq/be-fsstubs.c:484
+#: libpq/be-fsstubs.c:498
 #, 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:496
+#: libpq/be-fsstubs.c:510
 #, c-format
 msgid "could not write server file \"%s\": %m"
 msgstr "n'a pas pu écrire le fichier serveur «%s»: %m"
 
-#: libpq/auth.c:113
-#, c-format
-msgid "Kerberos error: %s"
-msgstr "Erreur Kerberos : %s"
-
-#: libpq/auth.c:119
-#, c-format
-msgid ""
-"unexpected Kerberos protocol version received from client (received \"%s\", "
-"expected \"%s\")"
-msgstr "Version inattendue du protocole Kerberos reçue à partir du client (reçu «%s», attendu «%s»)"
-
-#: libpq/auth.c:126 libpq/auth.c:305
-#, c-format
-msgid ""
-"unexpected Kerberos user name received from client (received \"%s\", "
-"expected \"%s\")"
-msgstr "Nom d'utilisateur Kerberos inattendu reçu à partir du client (reçu «%s», attendu «%s»)"
-
-#: libpq/auth.c:140
-msgid "Kerberos 4 not implemented on this server"
-msgstr "Kerberos 4 non implémenté sur ce serveur"
-
-#: libpq/auth.c:200
+#: libpq/auth.c:130
 #, c-format
 msgid "Kerberos initialization returned error %d"
 msgstr "L'initialisation de Kerberos a retourné une erreur %d"
 
-#: libpq/auth.c:210
+#: libpq/auth.c:140
 #, c-format
 msgid "Kerberos keytab resolving returned error %d"
 msgstr "La résolution keytab de Kerberos a renvoyé l'erreur %d"
 
-#: libpq/auth.c:223
+#: libpq/auth.c:156
 #, c-format
 msgid "Kerberos sname_to_principal(\"%s\") returned error %d"
 msgstr "sname_to_principal(«%s») de Kerberos a renvoyé une erreur %d"
 
-#: libpq/auth.c:268
+#: libpq/auth.c:202
 #, c-format
 msgid "Kerberos recvauth returned error %d"
 msgstr "recvauth de Kerberos a renvoyé une erreur %d"
 
-#: libpq/auth.c:293
+#: libpq/auth.c:227
 #, c-format
 msgid "Kerberos unparse_name returned error %d"
 msgstr "unparse_name de Kerberos a renvoyé une erreur %d"
 
-#: libpq/auth.c:326
+#: libpq/auth.c:243
+#, c-format
+msgid ""
+"unexpected Kerberos user name received from client (received \"%s\", "
+"expected \"%s\")"
+msgstr "Nom d'utilisateur Kerberos inattendu reçu à partir du client (reçu «%s», attendu «%s»)"
+
+#: libpq/auth.c:264
 msgid "Kerberos 5 not implemented on this server"
 msgstr "Kerberos 5 non implémenté sur ce serveur"
 
-#: libpq/auth.c:365
+#: libpq/auth.c:303
 #, c-format
 msgid "authentication failed for user \"%s\": host rejected"
 msgstr "authentification échouée pour l'utilisateur «%s» : hôte rejeté"
 
-#: libpq/auth.c:368
-#, c-format
-msgid "Kerberos 4 authentication failed for user \"%s\""
-msgstr "authentification Kerberos 4 échouée pour l'utilisateur «%s»"
-
-#: libpq/auth.c:371
+#: libpq/auth.c:306
 #, c-format
 msgid "Kerberos 5 authentication failed for user \"%s\""
 msgstr "authentification Kerberos 5 échouée pour l'utilisateur «%s»"
 
-#: libpq/auth.c:374
+#: libpq/auth.c:309
 #, c-format
 msgid "\"trust\" authentication failed for user \"%s\""
 msgstr "authentification «trust» échouée pour l'utilisateur «%s»"
 
-#: libpq/auth.c:377
+#: libpq/auth.c:312
 #, c-format
 msgid "Ident authentication failed for user \"%s\""
 msgstr "authentification Ident échouée pour l'utilisateur «%s»"
 
-#: libpq/auth.c:382
+#: libpq/auth.c:317
 #, c-format
 msgid "password authentication failed for user \"%s\""
 msgstr "authentification par mot de passe échouée pour l'utilisateur  «%s»"
 
-#: libpq/auth.c:386
+#: libpq/auth.c:321
 #, c-format
 msgid "PAM authentication failed for user \"%s\""
 msgstr "authentification PAM échouée pour l'utilisateur «%s»"
 
-#: libpq/auth.c:390
+#: libpq/auth.c:325
 #, c-format
 msgid "authentication failed for user \"%s\": invalid authentication method"
 msgstr "authentification échouée pour l'utilisateur «%s» : méthode d'authentification invalide"
 
-#: libpq/auth.c:419
+#: libpq/auth.c:354
 msgid "missing or erroneous pg_hba.conf file"
 msgstr "Fichier pg_hba.conf manquant ou erroné"
 
-#: libpq/auth.c:420
+#: libpq/auth.c:355
 msgid "See server log for details."
 msgstr "Voir les traces du serveur pour plus de détails."
 
-#: libpq/auth.c:446
+#: libpq/auth.c:381
 #, c-format
 msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s"
 msgstr "Aucune entrée dans pg_hba.conf pour l'hôte «%s», utilisateur «%s», base de données «%s», %s"
 
-#: libpq/auth.c:448
-msgid "SSL on"
-msgstr "SSL lancé"
-
-#: libpq/auth.c:448
-msgid "SSL off"
-msgstr "SSL arrêté"
-
-#: libpq/auth.c:452
+#: libpq/auth.c:387
 #, c-format
 msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\""
 msgstr "Aucune entrée dans pg_hba.conf pour l'hôte «%s», utilisateur «%s», base de données «%s»"
 
-#: libpq/auth.c:464
-msgid "Kerberos 4 only supports IPv4 connections"
-msgstr "Kerberos 4 supporte uniquement les connexions IPv4"
-
-#: libpq/auth.c:497
+#: libpq/auth.c:421
 #, c-format
 msgid "could not enable credential reception: %m"
 msgstr "n'a pas pu activer la réception de lettres de créance : %m"
 
-#: libpq/auth.c:584
+#: libpq/auth.c:508
 #, c-format
 msgid "error from underlying PAM layer: %s"
 msgstr "Erreur de la couche PAM : %s"
 
-#: libpq/auth.c:589
+#: libpq/auth.c:513
 #, c-format
 msgid "unsupported PAM conversation %d/%s"
 msgstr "Conversation PAM non supportée %d/%s"
 
-#: libpq/auth.c:621
+#: libpq/auth.c:545
 msgid "empty password returned by client"
 msgstr "Mot de passe vide renvoyé par le client"
 
-#: libpq/auth.c:681
+#: libpq/auth.c:605
 #, c-format
 msgid "could not create PAM authenticator: %s"
 msgstr "n'a pas pu créer l'authenticateur PAM : %s"
 
-#: libpq/auth.c:692
+#: libpq/auth.c:616
 #, c-format
 msgid "pam_set_item(PAM_USER) failed: %s"
 msgstr "pam_set_item(PAM_USER) a échoué : %s"
 
-#: libpq/auth.c:703
+#: libpq/auth.c:627
 #, c-format
 msgid "pam_set_item(PAM_CONV) failed: %s"
 msgstr "pam_set_item(PAM_CONV) a échoué : %s"
 
-#: libpq/auth.c:714
+#: libpq/auth.c:638
 #, c-format
 msgid "pam_authenticate failed: %s"
 msgstr "pam_authenticate a échoué : %s"
 
-#: libpq/auth.c:725
+#: libpq/auth.c:649
 #, c-format
 msgid "pam_acct_mgmt failed: %s"
 msgstr "pam_acct_mgmt a échoué : %s"
 
-#: libpq/auth.c:736
+#: libpq/auth.c:660
 #, c-format
 msgid "could not release PAM authenticator: %s"
 msgstr "n'a pas pu fermer l'authenticateur PAM : %s"
 
-#: libpq/auth.c:774
+#: libpq/auth.c:698
 #, c-format
 msgid "expected password response, got message type %d"
 msgstr "Était en attente du mot de passe, a reçu un type de message %d"
 
-#: libpq/auth.c:802
+#: libpq/auth.c:726
 msgid "invalid password packet size"
 msgstr "Taille du paquet du mot de passe invalide"
 
-#: libpq/auth.c:806
+#: libpq/auth.c:730
 msgid "received password packet"
 msgstr "Paquet du mot de passe reçu"
 
-#: libpq/be-secure.c:281 libpq/be-secure.c:374
+#: libpq/be-secure.c:287 libpq/be-secure.c:386
 #, c-format
 msgid "SSL SYSCALL error: %m"
 msgstr "Erreur SSL SYSCALL : %m"
 
-#: libpq/be-secure.c:286 libpq/be-secure.c:379
+#: libpq/be-secure.c:292 libpq/be-secure.c:391
 msgid "SSL SYSCALL error: EOF detected"
 msgstr "Erreur du SSL SYSCALL : EOF détectée"
 
-#: libpq/be-secure.c:294 libpq/be-secure.c:387
+#: libpq/be-secure.c:300 libpq/be-secure.c:399
 #, c-format
 msgid "SSL error: %s"
 msgstr "Erreur SSL : %s"
 
-#: libpq/be-secure.c:303 libpq/be-secure.c:396 libpq/be-secure.c:813
+#: libpq/be-secure.c:309 libpq/be-secure.c:408 libpq/be-secure.c:892
 #, c-format
 msgid "unrecognized SSL error code: %d"
 msgstr "code d'erreur SSL non reconnu : %d"
 
-#: libpq/be-secure.c:336 libpq/be-secure.c:340 libpq/be-secure.c:350
+#: libpq/be-secure.c:348 libpq/be-secure.c:352 libpq/be-secure.c:362
 msgid "SSL renegotiation failure"
 msgstr "Échec lors de la renégotiation SSL"
 
-#: libpq/be-secure.c:344
+#: libpq/be-secure.c:356
 msgid "SSL failed to send renegotiation request"
 msgstr "SSL a échoué lors de l'envoi de la requête de renégotiation"
 
-#: libpq/be-secure.c:649
+#: libpq/be-secure.c:727
 #, c-format
 msgid "could not create SSL context: %s"
 msgstr "n'a pas pu créer le contexte SSL : %s"
 
-#: libpq/be-secure.c:659
+#: libpq/be-secure.c:738
 #, c-format
 msgid "could not load server certificate file \"%s\": %s"
 msgstr "n'a pas pu charger le fichier du certificat serveur «%s»: %s"
 
-#: libpq/be-secure.c:666
+#: libpq/be-secure.c:744
 #, c-format
 msgid "could not access private key file \"%s\": %m"
 msgstr "n'a pas pu accéder au fichier de la clé privée «%s»: %m"
 
-#: libpq/be-secure.c:682
+#: libpq/be-secure.c:760
 #, c-format
 msgid "unsafe permissions on private key file \"%s\""
 msgstr "Droits non sains sur le fichier de la clé privée «%s»"
 
-#: libpq/be-secure.c:684
+#: libpq/be-secure.c:762
 msgid ""
 "File must be owned by the database user and must have no permissions for "
 "\"group\" or \"other\"."
 msgstr "Le fichier doit appartenir au propriétaire de la base de données et ne doit pas avoir de droits pour un groupe ou pour les autres."
 
-#: libpq/be-secure.c:689
+#: libpq/be-secure.c:769
 #, c-format
 msgid "could not load private key file \"%s\": %s"
 msgstr "n'a pas pu charger le fichier de clé privée «%s»: %s"
 
-#: libpq/be-secure.c:694
+#: libpq/be-secure.c:774
 #, c-format
 msgid "check of private key failed: %s"
 msgstr "Échec de la vérification de la clé privée : %s"
 
-#: libpq/be-secure.c:714
+#: libpq/be-secure.c:793
 #, 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.c:716
+#: libpq/be-secure.c:795
 msgid "Will not verify client certificates."
 msgstr "Ne vérifiera pas les certificats du client."
 
-#: libpq/be-secure.c:759
+#: libpq/be-secure.c:838
 #, c-format
 msgid "could not initialize SSL connection: %s"
 msgstr "n'a pas pu initialiser la connexion SSL : %s"
 
-#: libpq/be-secure.c:768
+#: libpq/be-secure.c:847
 #, c-format
 msgid "could not set SSL socket: %s"
 msgstr "n'a pas pu créer le socket SSL : %s"
 
-#: libpq/be-secure.c:793
+#: libpq/be-secure.c:872
 #, c-format
 msgid "could not accept SSL connection: %m"
 msgstr "n'a pas pu accepter la connexion SSL : %m"
 
-#: libpq/be-secure.c:797 libpq/be-secure.c:808
+#: libpq/be-secure.c:876 libpq/be-secure.c:887
 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.c:802
+#: libpq/be-secure.c:881
 #, c-format
 msgid "could not accept SSL connection: %s"
 msgstr "n'a pas pu accepter la connexion SSL : %s"
 
-#: libpq/be-secure.c:840
+#: libpq/be-secure.c:919
 #, c-format
 msgid "SSL connection from \"%s\""
 msgstr "Connexion SSL de «%s»"
 
-#: libpq/crypt.c:62
-msgid ""
-"cannot use authentication method \"crypt\" because password is MD5-encrypted"
+#: libpq/crypt.c:64
+msgid "cannot use authentication method \"crypt\" because password is MD5-encrypted"
 msgstr "n'a pas pu utiliser la méthode d'authentification «crypt» car le mot de passe est crypté avec MD5"
 
-#: libpq/hba.c:156
+#: libpq/hba.c:161
 #, c-format
 msgid "authentication file token too long, skipping: \"%s\""
 msgstr "Jeton du fichier d'authentication trop long, laisse de côté : «%s»"
 
-#: libpq/hba.c:324
+#: libpq/hba.c:350
 #, c-format
 msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier d'authentication secondaire «@%s» comme «%s»: %m"
 
-#: libpq/hba.c:741
+#: libpq/hba.c:764
 #, c-format
 msgid "invalid IP address \"%s\" in file \"%s\" line %d: %s"
 msgstr "adresse IP invalide «%s» dans le fichier «%s», ligne %d : %s"
 
-#: libpq/hba.c:776
+#: libpq/hba.c:799
 #, c-format
 msgid "invalid IP mask \"%s\" in file \"%s\" line %d: %s"
 msgstr "masque IP invalide «%s» dans le fichier «%s», ligne %d : %s"
 
-#: libpq/hba.c:791
+#: libpq/hba.c:814
 #, c-format
 msgid "IP address and mask do not match in file \"%s\" line %d"
 msgstr "L'adresse IP et le masque ne correspondent pas dans le fichier «%s», ligne %d"
 
-#: libpq/hba.c:849 libpq/hba.c:1105
+#: libpq/hba.c:872
 #, c-format
 msgid "invalid entry in file \"%s\" at line %d, token \"%s\""
 msgstr "entrée invalide dans le fichier «%s» à la ligne %d, jeton «%s»"
 
-#: libpq/hba.c:855
+#: libpq/hba.c:878
 #, c-format
 msgid "missing field in file \"%s\" at end of line %d"
 msgstr "champ manquant dans le fichier «%s» à la fin de la ligne %d"
 
-#: guc-file.l:151 libpq/hba.c:1045
+#: guc-file.l:152 libpq/hba.c:987
 #, c-format
 msgid "could not open configuration file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le fichier de configuration «%s» : %m"
 
-#: libpq/hba.c:1111
+#: libpq/hba.c:1097
 #, c-format
 msgid "missing entry in file \"%s\" at end of line %d"
 msgstr "entrée manquante dans le fichier «%s» à la fin de la ligne %d"
 
-#: libpq/hba.c:1142
+#: libpq/hba.c:1127
 msgid "cannot use Ident authentication without usermap field"
 msgstr "n'a pas pu utiliser l'authentication Ident sans le champ field"
 
-#: libpq/hba.c:1187
+#: libpq/hba.c:1173
 #, c-format
 msgid "could not open Ident usermap file \"%s\": %m"
 msgstr "n'a pas pu ouvrir Ident pour le fichier usermap «%s» : %m"
 
-#: libpq/hba.c:1365
+#: libpq/hba.c:1351
 #, 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/hba.c:1381
+#: libpq/hba.c:1367
 #, c-format
 msgid "could not bind to local address \"%s\": %m"
 msgstr "n'a pas pu se lier à l'adresse locale «%s» : %m"
 
-#: libpq/hba.c:1393
+#: libpq/hba.c:1379
 #, 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/hba.c:1413
+#: libpq/hba.c:1399
 #, 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/hba.c:1428
+#: libpq/hba.c:1414
 #, c-format
-msgid ""
-"could not receive response from Ident server at address \"%s\", port %s: %m"
+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 : %m"
 
-#: libpq/hba.c:1438
+#: libpq/hba.c:1424
 #, c-format
 msgid "invalidly formatted response from Ident server: \"%s\""
 msgstr "réponse invalide du serveur Ident : «%s»"
 
-#: libpq/hba.c:1473 libpq/hba.c:1504 libpq/hba.c:1572
+#: libpq/hba.c:1459 libpq/hba.c:1490 libpq/hba.c:1558
 #, c-format
 msgid "could not get peer credentials: %m"
 msgstr "n'a pas pu obtenir l'authentification de l'autre : %m"
 
-#: libpq/hba.c:1482 libpq/hba.c:1513 libpq/hba.c:1583
+#: libpq/hba.c:1468 libpq/hba.c:1499 libpq/hba.c:1569
 #, c-format
 msgid "local user with ID %d does not exist"
 msgstr "L'utilisateur local dont l'identifiant est %d n'existe pas"
 
-#: libpq/hba.c:1595
-msgid ""
-"Ident authentication is not supported on local connections on this platform"
+#: libpq/hba.c:1581
+msgid "Ident authentication is not supported on local connections on this platform"
 msgstr "L'authentication Ident n'est pas supportée sur les connexions locales sur cette plateforme"
 
-#: libpq/hba.c:1638
+#: libpq/hba.c:1624
 #, c-format
 msgid "Ident protocol identifies remote user as \"%s\""
 msgstr "Le protocole Ident identifie l'utilisateur distant comme «%s»"
@@ -4809,53 +4955,41 @@ msgstr "n'a pas pu r
 msgid "could not translate service \"%s\" to address: %s"
 msgstr "n'a pas pu résoudre le service «%s» par l'adresse : %s"
 
-#: libpq/pqcomm.c:309
-msgid "IPv4"
-msgstr "IPv4"
-
-#: libpq/pqcomm.c:313
-msgid "IPv6"
-msgstr "IPv6"
-
-#: libpq/pqcomm.c:318
-msgid "Unix"
-msgstr "Unix"
-
-#: libpq/pqcomm.c:323
+#: libpq/pqcomm.c:302
 #, c-format
-msgid "unrecognized address family %d"
-msgstr "Famille d'adresses non reconnue %d"
+msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded"
+msgstr "n'a pas pu se lier à toutes les adresses requises : MAXLISTEN (%d) dépassé"
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:334
+#: libpq/pqcomm.c:336
 #, c-format
 msgid "could not create %s socket: %m"
 msgstr "n'a pas pu créer le socket %s : %m"
 
-#: libpq/pqcomm.c:346
+#: libpq/pqcomm.c:348
 #, c-format
 msgid "setsockopt(SO_REUSEADDR) failed: %m"
 msgstr "Echec de setsockopt(SO_REUSEADDR) : %m"
 
-#: libpq/pqcomm.c:360
+#: libpq/pqcomm.c:362
 #, c-format
 msgid "setsockopt(IPV6_V6ONLY) failed: %m"
 msgstr "Echec de setsockopt(IPV6_V6ONLY) : %m"
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:379
+#: libpq/pqcomm.c:381
 #, c-format
 msgid "could not bind %s socket: %m"
 msgstr "n'a pas pu se lier à la socket %s : %m"
 
-#: libpq/pqcomm.c:382
+#: libpq/pqcomm.c:384
 #, c-format
 msgid ""
 "Is another postmaster already running on port %d? If not, remove socket file "
 "\"%s\" and retry."
 msgstr "Un autre postmaster fonctionne-t'il déjà sur le port %d ? Sinon, supprimez le fichier socket «%s» et réessayez."
 
-#: libpq/pqcomm.c:385
+#: libpq/pqcomm.c:387
 #, c-format
 msgid ""
 "Is another postmaster already running on port %d? If not, wait a few seconds "
@@ -4863,44 +4997,49 @@ msgid ""
 msgstr "Un autre postmaster fonctionne-t'il déjà sur le port %d ? Sinon, attendez quelques secondes et réessayez."
 
 #. translator: %s is IPv4, IPv6, or Unix
-#: libpq/pqcomm.c:419
+#: libpq/pqcomm.c:421
 #, c-format
 msgid "could not listen on %s socket: %m"
 msgstr "n'a pas pu écouter sur le socket %s : %m"
 
-#: libpq/pqcomm.c:509
+#: libpq/pqcomm.c:501
+#, c-format
+msgid "group \"%s\" does not exist"
+msgstr "le groupe «%s» n'existe pas"
+
+#: libpq/pqcomm.c:511
 #, c-format
 msgid "could not set group of file \"%s\": %m"
 msgstr "n'a pas pu initialiser le groupe du fichier «%s» : %m"
 
-#: libpq/pqcomm.c:520
+#: libpq/pqcomm.c:522
 #, c-format
 msgid "could not set permissions of file \"%s\": %m"
 msgstr "n'a pas pu initialiser les droits du fichier «%s» : %m"
 
-#: libpq/pqcomm.c:550
+#: libpq/pqcomm.c:552
 #, c-format
 msgid "could not accept new connection: %m"
 msgstr "n'a pas pu accepter la nouvelle connexion : %m"
 
-#: libpq/pqcomm.c:702
+#: libpq/pqcomm.c:715
 #, c-format
 msgid "could not receive data from client: %m"
 msgstr "n'a pas pu recevoir les données du client : %m"
 
-#: libpq/pqcomm.c:895
+#: libpq/pqcomm.c:908
 msgid "unexpected EOF within message length word"
 msgstr "Fin de fichier (EOF) inattendue à l'intérieur de la longueur du message"
 
-#: libpq/pqcomm.c:906
+#: libpq/pqcomm.c:919
 msgid "invalid message length"
 msgstr "Longueur du message invalide"
 
-#: libpq/pqcomm.c:928 libpq/pqcomm.c:938
+#: libpq/pqcomm.c:941 libpq/pqcomm.c:951
 msgid "incomplete message from client"
 msgstr "Message incomplet du client"
 
-#: libpq/pqcomm.c:1048
+#: libpq/pqcomm.c:1061
 #, c-format
 msgid "could not send data to client: %m"
 msgstr "n'a pas pu envoyer les données du client : %m"
@@ -4909,16 +5048,20 @@ msgstr "n'a pas pu envoyer les donn
 msgid "no data left in message"
 msgstr "Pas de données dans le message"
 
-#: libpq/pqformat.c:591 libpq/pqformat.c:609 libpq/pqformat.c:630
-#: utils/adt/arrayfuncs.c:1277 utils/adt/rowtypes.c:523
+#: libpq/pqformat.c:509
+msgid "binary value is out of range for type bigint"
+msgstr "la valeur binaire est en dehors des limites du type bigint"
+
+#: libpq/pqformat.c:595 libpq/pqformat.c:613 libpq/pqformat.c:634
+#: utils/adt/arrayfuncs.c:1278 utils/adt/rowtypes.c:528
 msgid "insufficient data left in message"
 msgstr "Données insuffisantes laissées dans le message"
 
-#: libpq/pqformat.c:671
+#: libpq/pqformat.c:675
 msgid "invalid string in message"
 msgstr "Chaîne invalide dans le message"
 
-#: libpq/pqformat.c:687
+#: libpq/pqformat.c:691
 msgid "invalid message format"
 msgstr "Format du message invalide"
 
@@ -4982,647 +5125,630 @@ msgstr "Aucune valeur trouv
 msgid "no value found for parameter %d"
 msgstr "Aucune valeur trouvée pour le paramètre %d"
 
-#: optimizer/path/allpaths.c:223
-msgid "SELECT FOR UPDATE is not supported for inheritance queries"
-msgstr "SELECT FOR UPDATE n'est pas supporté pour les requêtes d'héritage"
+#: optimizer/path/allpaths.c:264
+msgid "SELECT FOR UPDATE/SHARE is not supported for inheritance queries"
+msgstr "SELECT FOR UPDATE/SHARE n'est pas supporté pour les requêtes d'héritage"
 
-#: optimizer/plan/initsplan.c:282 optimizer/prep/prepjointree.c:366
+#: optimizer/plan/initsplan.c:310 optimizer/prep/prepjointree.c:400
 msgid "UNION JOIN is not implemented"
 msgstr "UNION JOIN n'est pas implémenté"
 
-#: optimizer/plan/initsplan.c:339
+#: optimizer/plan/initsplan.c:371
 msgid ""
-"SELECT FOR UPDATE cannot be applied to the nullable side of an outer join"
-msgstr "SELECT FOR UPDATE ne peut être appliqué sur le côté possiblement NULL d'une jointure externe"
+"SELECT FOR UPDATE/SHARE cannot be applied to the nullable side of an outer "
+"join"
+msgstr "SELECT FOR UPDATE/SHARE ne peut être appliqué sur le côté possiblement NULL d'une jointure externe"
 
-#: optimizer/plan/initsplan.c:743
+#: optimizer/plan/initsplan.c:827
 #, c-format
 msgid "could not identify an equality operator for types %s and %s"
 msgstr "n'a pas pu identifier l'opérateur d'égalité pour les types %s et %s"
 
-#: optimizer/plan/initsplan.c:756
+#: optimizer/plan/initsplan.c:840
 #, c-format
-msgid ""
-"equality operator for types %s and %s should be merge-joinable, but isn't"
+msgid "equality operator for types %s and %s should be merge-joinable, but isn't"
 msgstr "L'opérateur d'égalité pour les types %s et %s devraient être compris dans un MERGE JOIN mais ce n'est pas le cas"
 
-#: optimizer/plan/planner.c:641 parser/analyze.c:1945 parser/analyze.c:2111
-#: parser/analyze.c:2718
-msgid "SELECT FOR UPDATE is not allowed with UNION/INTERSECT/EXCEPT"
-msgstr "SELECT FOR UPDATE n'est pas autorisé avec UNION/INTERSECT/EXCEPT"
+#: optimizer/plan/planner.c:713 parser/analyze.c:1953 parser/analyze.c:2118
+msgid "SELECT FOR UPDATE/SHARE is not allowed with UNION/INTERSECT/EXCEPT"
+msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec UNION/INTERSECT/EXCEPT"
+
+#: optimizer/prep/prepjointree.c:306 parser/analyze.c:2775
+#: rewrite/rewriteHandler.c:992
+msgid "cannot use both FOR UPDATE and FOR SHARE in one query"
+msgstr "ne peut pas utiliser à la fois FOR UPDATE et FOR SHARE dans une requête"
+
+#: optimizer/prep/prepjointree.c:310 parser/analyze.c:2779
+#: rewrite/rewriteHandler.c:996
+msgid "cannot use both wait and NOWAIT in one query"
+msgstr "ne peut pas utiliser à la fois wait et NOWAIT dans une requête"
 
-#: optimizer/plan/planner.c:698
-msgid "SELECT FOR UPDATE is not allowed in subqueries"
-msgstr "SELECT FOR UPDATE n'est pas autorisé dans les sous-requêtes"
+#: optimizer/prep/preptlist.c:130
+msgid "SELECT FOR UPDATE/SHARE is not allowed in subqueries"
+msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé dans les sous-requêtes"
 
-#: optimizer/util/clauses.c:2357
+#: optimizer/util/clauses.c:2612
 #, c-format
 msgid "SQL function \"%s\" during inlining"
 msgstr "Fonction SQL «%s» durant «inlining»"
 
-#: parser/parse_clause.c:363
+#: parser/parse_clause.c:386
 #, c-format
 msgid "JOIN/ON clause refers to \"%s\", which is not part of JOIN"
 msgstr "La clause JOIN/ON se réfère à «%s», qui ne fait pas partie du JOIN"
 
-#: gram.y:5161 parser/parse_clause.c:423
+#: gram.y:5615 parser/parse_clause.c:434
 msgid "subquery in FROM must have an alias"
 msgstr "La sous-requête du FROM doit avoir un alias"
 
-#: parser/parse_clause.c:446
+#: parser/parse_clause.c:457
 msgid "subquery in FROM may not have SELECT INTO"
 msgstr "La sous-requête du FROM pourrait ne pas avoir de SELECT INTO"
 
-#: parser/parse_clause.c:468
+#: parser/parse_clause.c:479
 msgid "subquery in FROM may not refer to other relations of same query level"
 msgstr "La sous-requête du FROM pourrait ne pas référer à une autre relation dans le même niveau de la requête"
 
-#: parser/parse_clause.c:527
+#: parser/parse_clause.c:528
 msgid ""
 "function expression in FROM may not refer to other relations of same query "
 "level"
 msgstr "L'expression de la fonction du FROM pourrait ne pas référer à d'autres relations sur le mêmeniveau de la requête"
 
-#: parser/parse_clause.c:539
+#: parser/parse_clause.c:540
 msgid "cannot use aggregate function in function expression in FROM"
 msgstr "impossible d'utiliser la fonction d'aggrégat dans l'expression de la fonction du FROM"
 
-#: parser/parse_clause.c:759
+#: parser/parse_clause.c:795
 #, 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:774
+#: parser/parse_clause.c:810
 #, 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 gauche"
 
-#: parser/parse_clause.c:783
+#: parser/parse_clause.c:819
 #, 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 de gauche"
 
-#: parser/parse_clause.c:797
+#: parser/parse_clause.c:833
 #, 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 droite"
 
-#: parser/parse_clause.c:806
+#: parser/parse_clause.c:842
 #, 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 de droite"
 
-#: parser/parse_clause.c:858
+#: parser/parse_clause.c:897
 #, 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:1051
+#: parser/parse_clause.c:1107
 #, c-format
 msgid "argument of %s must not contain variables"
 msgstr "L'argument de «%s» ne contient pas de variables"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1059
+#: parser/parse_clause.c:1115
 #, c-format
 msgid "argument of %s must not contain aggregates"
 msgstr "L'argument de %s ne doit pas contenir d'aggrégats"
 
 #. translator: %s is name of a SQL construct, eg LIMIT
-#: parser/parse_clause.c:1067
+#: parser/parse_clause.c:1123
 #, c-format
 msgid "argument of %s must not contain subqueries"
 msgstr "L'argument de %s ne doit pas contenir de sous-requêtes"
 
-#: parser/parse_clause.c:1179
+#: parser/parse_clause.c:1234
 #, 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:1201
+#: parser/parse_clause.c:1256
 #, 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:1218
+#: parser/parse_clause.c:1272
 #, 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:1411
+#: parser/parse_clause.c:1464
 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 liste select"
 
-#: parser/parse_clause.c:1451
+#: parser/parse_clause.c:1504
 msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions"
 msgstr ""
 "Les expressions SELECT DISTINCT ON doivent correspondre aux expressions "
 "ORDER BY initiales"
 
-#: parser/analyze.c:408
+#: parser/analyze.c:407
 #, c-format
 msgid "target lists can have at most %d entries"
 msgstr "Les tables peuvent avoir au plus %d colonnes"
 
-#: parser/analyze.c:458
+#: parser/analyze.c:454
 msgid "CREATE VIEW specifies more column names than columns"
 msgstr "CREATE VIEW spécifie plus de noms de colonnes que de colonnes"
 
-#: parser/analyze.c:595
+#: parser/analyze.c:604
 msgid "INSERT ... SELECT may not specify INTO"
 msgstr "INSERT ... SELECT pourrait ne pas avoir INTO"
 
-#: parser/analyze.c:683
+#: parser/analyze.c:693
 msgid "INSERT has more expressions than target columns"
 msgstr "INSERT a plus d'expressions que les colonnes cibles"
 
-#: parser/analyze.c:704
+#: parser/analyze.c:714
 msgid "INSERT has more target columns than expressions"
 msgstr "INSERT a plus de colonnes cibles que d'expressions"
 
-#: parser/analyze.c:877
+#: parser/analyze.c:887
 #, 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/analyze.c:960 parser/analyze.c:970
+#: parser/analyze.c:970 parser/analyze.c:980
 #, c-format
-msgid ""
-"conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\""
+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/analyze.c:980
+#: parser/analyze.c:990
 #, 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 «%s»"
 
-#: parser/analyze.c:1323
+#: parser/analyze.c:1333
 #, 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/analyze.c:1328
+#: parser/analyze.c:1338
 #, c-format
 msgid "column \"%s\" appears twice in unique constraint"
 msgstr "La colonne «%s» apparaît deux fois sur une contrainte unique"
 
-#: parser/analyze.c:1511
+#: parser/analyze.c:1521
 msgid "index expression may not return a set"
 msgstr "L'expression de l'index pourrait ne pas renvoyer un ensemble"
 
-#: parser/analyze.c:1603
+#: parser/analyze.c:1610
 msgid "rule WHERE condition may not contain references to other relations"
 msgstr "La condition WHERE ne devrait pas contenir de références à d'autres relations"
 
-#: parser/analyze.c:1609
+#: parser/analyze.c:1616
 msgid "rule WHERE condition may not contain aggregate functions"
 msgstr "La condition WHERE ne devrait pas contenir de fonctions d'aggrégats"
 
-#: parser/analyze.c:1680
+#: parser/analyze.c:1686
 msgid ""
 "rules with WHERE conditions may only have SELECT, INSERT, UPDATE, or DELETE "
 "actions"
 msgstr "Les règles avec des conditions WHERE ne peuvent contenir que des actionsSELECT, INSERT, UPDATE ou DELETE "
 
-#: parser/analyze.c:1699 parser/analyze.c:1771 rewrite/rewriteHandler.c:177
-#: rewrite/rewriteManip.c:749 rewrite/rewriteManip.c:805
+#: parser/analyze.c:1705 parser/analyze.c:1777 rewrite/rewriteHandler.c:373
+#: rewrite/rewriteManip.c:747
 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented"
 msgstr "Les instruction conditionnelles UNION/INTERSECT/EXCEPT ne sont pas implémentées"
 
-#: parser/analyze.c:1717
+#: parser/analyze.c:1723
 msgid "ON SELECT rule may not use OLD"
 msgstr "La règle ON SELECT ne devrait pas utiliser OLD"
 
-#: parser/analyze.c:1721
+#: parser/analyze.c:1727
 msgid "ON SELECT rule may not use NEW"
 msgstr "La règle ON SELECT ne devrait pas utiliser NEW"
 
-#: parser/analyze.c:1730
+#: parser/analyze.c:1736
 msgid "ON INSERT rule may not use OLD"
 msgstr "La règle ON INSERT ne devrait pas utiliser OLD"
 
-#: parser/analyze.c:1736
+#: parser/analyze.c:1742
 msgid "ON DELETE rule may not use NEW"
 msgstr "La règle ON INSERT ne devrait pas utiliser NEW"
 
-#: parser/analyze.c:2068
+#: parser/analyze.c:2075
 msgid ""
 "ORDER BY on a UNION/INTERSECT/EXCEPT result must be on one of the result "
 "columns"
 msgstr "Les colonnes du ORDER BY pour le résultat d'un UNION/INTERSECT/EXCEPT doiventêtre comprises dans les colonnes du résultat"
 
-#: parser/analyze.c:2106
+#: parser/analyze.c:2113
 msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
 msgstr "INTO est autorisé uniquement sur le premier SELECT d'un UNION/INTERSECT/EXCEPT"
 
-#: parser/analyze.c:2167
+#: parser/analyze.c:2174
 msgid ""
 "UNION/INTERSECT/EXCEPT member statement may not refer to other relations of "
 "same query level"
 msgstr "L'instruction membre UNION/INTERSECT/EXCEPT pourrait ne pas référer à d'autres relations que celles de la requête de même niveau"
 
-#: parser/analyze.c:2222
+#: parser/analyze.c:2229
 #, c-format
 msgid "each %s query must have the same number of columns"
 msgstr "chaque requête %s doit avoir le même nombre de colonnes"
 
-#: parser/analyze.c:2294
+#: parser/analyze.c:2300
 msgid "CREATE TABLE AS specifies too many column names"
 msgstr "CREATE TABLE AS spécifie trop de noms de colonnes"
 
-#: parser/analyze.c:2577
+#: parser/analyze.c:2582
 msgid "cannot specify both SCROLL and NO SCROLL"
 msgstr "n'a pas puspécifier à la fois SCROLL et NO SCROLL"
 
-#: parser/analyze.c:2664
+#: parser/analyze.c:2669
 #, c-format
 msgid "wrong number of parameters for prepared statement \"%s\""
 msgstr "mauvais nombre de paramètres pour l'instruction préparée «%s»"
 
-#: parser/analyze.c:2666
+#: parser/analyze.c:2671
 #, c-format
 msgid "Expected %d parameters but got %d."
 msgstr "%d paramètres attendus mais %d reçus."
 
-#: parser/analyze.c:2681
+#: parser/analyze.c:2686
 msgid "cannot use subquery in EXECUTE parameter"
 msgstr "impossible d'utiliser les sous-requêtes dans le paramètre EXECUTE"
 
-#: parser/analyze.c:2685
+#: parser/analyze.c:2690
 msgid "cannot use aggregate function in EXECUTE parameter"
 msgstr "impossible d'utiliser la fonction d'aggrégat dans le paramètre EXECUTE"
 
-#: parser/analyze.c:2697
+#: parser/analyze.c:2702
 #, c-format
 msgid "parameter $%d of type %s cannot be coerced to the expected type %s"
 msgstr "Le paramètre $%d de type %s ne peut être utilisé à cause du type %s attendu"
 
-#: parser/analyze.c:2722
-msgid "SELECT FOR UPDATE is not allowed with DISTINCT clause"
-msgstr "SELECT FOR UPDATE n'est pas autorisé avec la clause DISTINCT"
+#. translator: %s is a SQL command, like SELECT FOR UPDATE
+#: parser/analyze.c:2731
+#, c-format
+msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
+msgstr "%s n'est pas autorisé avec UNION/INTERSECT/EXCEPT"
 
-#: parser/analyze.c:2726
-msgid "SELECT FOR UPDATE is not allowed with GROUP BY clause"
-msgstr "SELECT FOR UPDATE n'est pas autorisé avec la clause GROUP BY"
+#. translator: %s is a SQL command, like SELECT FOR UPDATE
+#: parser/analyze.c:2736
+#, c-format
+msgid "%s is not allowed with DISTINCT clause"
+msgstr "%s n'est pas autorisé avec la clause DISTINCT"
 
-#: parser/analyze.c:2730
-msgid "SELECT FOR UPDATE is not allowed with aggregate functions"
-msgstr "SELECT FOR UPDATE n'est pas autorisé avec les fonctions d'aggrégats"
+#. translator: %s is a SQL command, like SELECT FOR UPDATE
+#: parser/analyze.c:2741
+#, c-format
+msgid "%s is not allowed with GROUP BY clause"
+msgstr "%s n'est pas autorisé avec la clause GROUP BY"
 
-#: parser/analyze.c:2812
-msgid "SELECT FOR UPDATE cannot be applied to a join"
-msgstr "SELECT FOR UPDATE ne peut pas être appliqué avec une jointure"
+#. translator: %s is a SQL command, like SELECT FOR UPDATE
+#: parser/analyze.c:2746
+#, c-format
+msgid "%s is not allowed with HAVING clause"
+msgstr "%s n'est pas autorisé avec la clause HAVING"
+
+#. translator: %s is a SQL command, like SELECT FOR UPDATE
+#: parser/analyze.c:2751
+#, c-format
+msgid "%s is not allowed with aggregate functions"
+msgstr "%s n'est pas autorisé avec les fonctions d'aggrégats"
 
-#: parser/analyze.c:2817
-msgid "SELECT FOR UPDATE cannot be applied to NEW or OLD"
-msgstr "SELECT FOR UPDATE ne peut pas être appliqué à NEW et OLD"
+#: parser/analyze.c:2857
+msgid "SELECT FOR UPDATE/SHARE cannot be applied to a join"
+msgstr "SELECT FOR UPDATE/SHARE ne peut pas être appliqué à une jointure"
 
-#: parser/analyze.c:2822
-msgid "SELECT FOR UPDATE cannot be applied to a function"
-msgstr "SELECT FOR UPDATE ne peut pas être appliqué à une fonction"
+#: parser/analyze.c:2862
+msgid "SELECT FOR UPDATE/SHARE cannot be applied to NEW or OLD"
+msgstr "SELECT FOR UPDATE/SHARE ne peut pas être appliqué à NEW et OLD"
 
-#: parser/analyze.c:2835
+#: parser/analyze.c:2867
+msgid "SELECT FOR UPDATE/SHARE cannot be applied to a function"
+msgstr "SELECT FOR UPDATE/SHARE ne peut pas être appliqué à une fonction"
+
+#: parser/analyze.c:2880
 #, c-format
-msgid "relation \"%s\" in FOR UPDATE clause not found in FROM clause"
-msgstr "La relation «%s» d'une clause FOR UPDATE introuvable dans la clause FROM"
+msgid "relation \"%s\" in FOR UPDATE/SHARE clause not found in FROM clause"
+msgstr "la relation «%s» d'une clause FOR UPDATE/SHARE introuvable dans la clause FROM"
 
-#: parser/analyze.c:2882
+#: parser/analyze.c:2927
 msgid "misplaced DEFERRABLE clause"
 msgstr "Clause DEFERRABLE mal placée"
 
-#: parser/analyze.c:2886 parser/analyze.c:2899
+#: parser/analyze.c:2931 parser/analyze.c:2944
 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed"
 msgstr "Clauses DEFERRABLE/NOT DEFERRABLE multiples non autorisées"
 
-#: parser/analyze.c:2895
+#: parser/analyze.c:2940
 msgid "misplaced NOT DEFERRABLE clause"
 msgstr "Clause NOT DEFERRABLE mal placée"
 
-#: gram.y:2368 gram.y:2383 parser/analyze.c:2906 parser/analyze.c:2930
-msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
-msgstr "La contrainte déclarée INITIALLY DEFERRED doit être DEFERRABLE"
-
-#: parser/analyze.c:2913
-msgid "misplaced INITIALLY DEFERRED clause"
-msgstr "Clause INITIALLY DEFERRED mal placée"
-
-#: parser/analyze.c:2917 parser/analyze.c:2941
-msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
-msgstr "Clauses INITIALLY IMMEDIATE/DEFERRED multiples non autorisées"
-
-#: parser/analyze.c:2937
-msgid "misplaced INITIALLY IMMEDIATE clause"
-msgstr "Clause INITIALLY IMMEDIATE mal placée"
-
-#: parser/analyze.c:2990
-#, 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 à partir de celui tout juste créé (%s)"
-
-#: parser/analyze.c:3144 parser/parse_coerce.c:221 parser/parse_expr.c:116
-#: parser/parse_expr.c:122
-#, c-format
-msgid "there is no parameter $%d"
-msgstr "Il n'existe pas de paramètres $%d"
-
-#: parser/analyze.c:3149 tcop/postgres.c:1204
-#, c-format
-msgid "could not determine data type of parameter $%d"
-msgstr "n'a pas pudéterminer le type de données du paramètres $%d"
-
-#: scan.l:312
-msgid "unterminated /* comment"
-msgstr "Commentaire /* non terminé"
-
-#: scan.l:339
-msgid "unterminated bit string literal"
-msgstr "Chaîne littérale bit non terminée"
-
-#: scan.l:358
-msgid "unterminated hexadecimal string literal"
-msgstr "Chaîne littérale héxadécimale non terminée"
-
-#: scan.l:407
-msgid "unterminated quoted string"
-msgstr "Chaîne quotée non terminée"
+#: gram.y:2548 gram.y:2563 parser/analyze.c:2951 parser/analyze.c:2975
+msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE"
+msgstr "La contrainte déclarée INITIALLY DEFERRED doit être DEFERRABLE"
 
-#: scan.l:441
-msgid "unterminated dollar-quoted string"
-msgstr "chaîne quotée non terminée"
+#: parser/analyze.c:2958
+msgid "misplaced INITIALLY DEFERRED clause"
+msgstr "Clause INITIALLY DEFERRED mal placée"
 
-#: scan.l:453
-msgid "zero-length delimited identifier"
-msgstr "Identifiant délimité de longueur nulle"
+#: parser/analyze.c:2962 parser/analyze.c:2986
+msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed"
+msgstr "Clauses INITIALLY IMMEDIATE/DEFERRED multiples non autorisées"
 
-#: scan.l:466
-msgid "unterminated quoted identifier"
-msgstr "Identifiant quoté non terminé"
+#: parser/analyze.c:2982
+msgid "misplaced INITIALLY IMMEDIATE clause"
+msgstr "Clause INITIALLY IMMEDIATE mal placée"
 
-#. translator: %s is typically "syntax error"
-#: scan.l:621
+#: parser/analyze.c:3035
 #, c-format
-msgid "%s at end of input"
-msgstr "%s à la fin de l'entrée"
+msgid "CREATE specifies a schema (%s) different from the one being created (%s)"
+msgstr "CREATE spécifie un schéma (%s) différent à partir de celui tout juste créé (%s)"
 
-#. translator: first %s is typically "syntax error"
-#: scan.l:629
+#: parser/analyze.c:3189 parser/parse_coerce.c:223 parser/parse_expr.c:521
+#: parser/parse_expr.c:527
 #, c-format
-msgid "%s at or near \"%s\""
-msgstr "%s sur ou près de «%s»"
+msgid "there is no parameter $%d"
+msgstr "Il n'existe pas de paramètres $%d"
+
+#: parser/analyze.c:3194 tcop/postgres.c:1300
+#, c-format
+msgid "could not determine data type of parameter $%d"
+msgstr "n'a pas pudéterminer le type de données du paramètres $%d"
 
-#: parser/parse_agg.c:120
+#: parser/parse_agg.c:121
 msgid "aggregates not allowed in WHERE clause"
 msgstr "Les aggrégats ne sont pas autorisés dans une clause WHERE"
 
-#: parser/parse_agg.c:124
+#: parser/parse_agg.c:125
 msgid "aggregates not allowed in JOIN conditions"
 msgstr "Les aggrégats ne sont pas autorisés dans une condition JOIN"
 
-#: parser/parse_agg.c:143
+#: parser/parse_agg.c:144
 msgid "aggregates not allowed in GROUP BY clause"
 msgstr "Les aggrégats ne sont pas autorisés sont dans une clause GROUP BY"
 
-#: parser/parse_agg.c:316
+#: parser/parse_agg.c:330
 #, c-format
 msgid ""
 "column \"%s.%s\" must appear in the GROUP BY clause or be used in an "
 "aggregate function"
 msgstr "La colonne \"%s.%s\" doit apparaître dans la clause GROUP BY ou doit être utilisé dans une fonction d'aggrégat"
 
-#: parser/parse_agg.c:321
+#: parser/parse_agg.c:335
 #, c-format
 msgid "subquery uses ungrouped column \"%s.%s\" from outer query"
 msgstr "La sous-requête utilise une colonne \"%s.%s\" non groupée dans la requête externe"
 
-#: parser/parse_relation.c:174 parser/parse_relation.c:189
+#: parser/parse_relation.c:137
 #, c-format
 msgid "table reference \"%s\" is ambiguous"
 msgstr "La référence de la table «%s» est ambigu"
 
-#: parser/parse_relation.c:249 parser/parse_relation.c:264
+#: parser/parse_relation.c:172
 #, c-format
 msgid "table reference %u is ambiguous"
 msgstr "La référence de la table %u est ambigu"
 
-#: parser/parse_relation.c:356 parser/parse_relation.c:368
+#: parser/parse_relation.c:215
 #, c-format
 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:510 parser/parse_relation.c:609
+#: parser/parse_relation.c:318 parser/parse_relation.c:388
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "La référence de la colonne «%s» est ambigu"
 
-#: parser/parse_relation.c:726 parser/parse_relation.c:925
+#: parser/parse_relation.c:504 parser/parse_relation.c:683
 #, 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:997
-msgid ""
-"a column definition list is only allowed for functions returning \"record\""
+#: parser/parse_relation.c:759
+msgid "a column definition list is only allowed for functions returning \"record\""
 msgstr "Une colonne liste est uniquement autorisée pour les fonctions renvoyant \"record\""
 
-#: parser/parse_relation.c:1008
+#: parser/parse_relation.c:766
 msgid "a column definition list is required for functions returning \"record\""
 msgstr "Une colonne liste est requise pour les fonctions renvoyant \"record\""
 
-#: parser/parse_relation.c:1047
+#: parser/parse_relation.c:785
 #, c-format
 msgid "too many column aliases specified for function %s"
 msgstr "Trop d'alias de colonnes spécifiées pour la fonction %s"
 
-#: parser/parse_relation.c:1071
+#: parser/parse_relation.c:809
 #, c-format
 msgid "function \"%s\" in FROM has unsupported return type %s"
 msgstr "la fonction «%s» dans l'élément FROM a un type de retour %s non supporté"
 
-#: parser/parse_relation.c:2003
+#: parser/parse_relation.c:1429
+#, 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:1727
 #, c-format
 msgid "missing FROM-clause entry in subquery for table \"%s\""
 msgstr "Entrée manquante de la clause FROM dans la sous-requête de la table «%s»"
 
-#: parser/parse_relation.c:2008
+#: parser/parse_relation.c:1732
 #, 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:2027
+#: parser/parse_relation.c:1741
 #, c-format
 msgid "adding missing FROM-clause entry in subquery for table \"%s\""
 msgstr "Entrée manquante de la clause FROM dans la sous-requpteour la table «%s»"
 
-#: parser/parse_relation.c:2032
+#: parser/parse_relation.c:1746
 #, c-format
 msgid "adding missing FROM-clause entry for table \"%s\""
 msgstr "Ajout d'une entrée manquante dans FROM (table «%s»)"
 
-#: parser/parse_coerce.c:237
+#: parser/parse_coerce.c:239
 #, c-format
 msgid "inconsistent types deduced for parameter $%d"
 msgstr "Types inconsistents déduit du paramètre $%d"
 
-#: parser/parse_coerce.c:696 parser/parse_coerce.c:723
-#: parser/parse_coerce.c:739 parser/parse_coerce.c:753
-#: parser/parse_expr.c:1658
+#: parser/parse_coerce.c:707 parser/parse_coerce.c:734
+#: parser/parse_coerce.c:750 parser/parse_coerce.c:764
+#: parser/parse_expr.c:1810
 #, c-format
 msgid "cannot cast type %s to %s"
 msgstr "n'a pas puconvertir le type %s en %s"
 
-#: parser/parse_coerce.c:726
+#: parser/parse_coerce.c:737
 msgid "Input has too few columns."
 msgstr "l'entrée n'a pas assez de colonnes"
 
-#: parser/parse_coerce.c:742
+#: parser/parse_coerce.c:753
 #, c-format
 msgid "Cannot cast type %s to %s in column %d."
 msgstr "ne peut pas convertir le type %s en %s dans la colonne %d"
 
-#: parser/parse_coerce.c:756
+#: parser/parse_coerce.c:767
 msgid "Input has too many columns."
 msgstr "l'entrée a trop de colonnes"
 
 #. translator: first %s is name of a SQL construct, eg WHERE
-#: parser/parse_coerce.c:790
+#: parser/parse_coerce.c:801
 #, c-format
 msgid "argument of %s must be type boolean, not type %s"
 msgstr "L'argument de %s doit être de type booléen, et non du type %s"
 
 #. translator: %s is name of a SQL construct, eg WHERE
-#: parser/parse_coerce.c:798 parser/parse_coerce.c:837
+#: parser/parse_coerce.c:809 parser/parse_coerce.c:848
 #, c-format
 msgid "argument of %s must not return a set"
 msgstr "L'argument de %s ne doit pas renvoyer un ensemble"
 
 #. translator: first %s is name of a SQL construct, eg LIMIT
-#: parser/parse_coerce.c:829
+#: parser/parse_coerce.c:840
 #, c-format
 msgid "argument of %s must be type integer, not type %s"
 msgstr "L'argument de %s doit être de type integer, et non du type %s"
 
-#: parser/parse_coerce.c:891
+#: parser/parse_coerce.c:902
 #, c-format
 msgid "%s types %s and %s cannot be matched"
 msgstr "Les %s types %s et %s ne peuvent pas correspondre"
 
 #. translator: first %s is name of a SQL construct, eg CASE
-#: parser/parse_coerce.c:953
+#: parser/parse_coerce.c:964
 #, c-format
 msgid "%s could not convert type %s to %s"
 msgstr "%s ne peut convertir le type %s en %s"
 
-#: parser/parse_coerce.c:1129
+#: parser/parse_coerce.c:1140
 msgid "arguments declared \"anyelement\" are not all alike"
 msgstr "Les arguments déclarés \"anyelement\" ne sont pas tous identiques"
 
-#: parser/parse_coerce.c:1146
+#: parser/parse_coerce.c:1157
 msgid "arguments declared \"anyarray\" are not all alike"
 msgstr "Les arguments déclarés \"anyarray\" ne sont pas tous identiques"
 
-#: parser/parse_coerce.c:1175 parser/parse_coerce.c:1287
-#: parser/parse_coerce.c:1314
+#: parser/parse_coerce.c:1186 parser/parse_coerce.c:1298
+#: parser/parse_coerce.c:1325
 #, c-format
 msgid "argument declared \"anyarray\" is not an array but type %s"
 msgstr "L'argument déclaré \"anyarray\" n'est pas un tableau mais est du type %s"
 
-#: parser/parse_coerce.c:1192
+#: parser/parse_coerce.c:1203
 msgid ""
 "argument declared \"anyarray\" is not consistent with argument declared "
 "\"anyelement\""
 msgstr "L'argument déclaré \"anyarray\" n'est pas consistent avec l'argument déclaré \"anyelement\""
 
-#: parser/parse_coerce.c:1203
+#: parser/parse_coerce.c:1214
 msgid ""
 "could not determine anyarray/anyelement type because input has type \"unknown"
 "\""
 msgstr "n'a pas pudéterminer le type anyarray/anyelement car l'entrée dispose du type \"unknown\""
 
-#: parser/parse_coerce.c:1228 parser/parse_coerce.c:1245
-#: parser/parse_coerce.c:1299 parser/parse_expr.c:794 parser/parse_expr.c:1351
-#: parser/parse_expr.c:1390 parser/parse_oper.c:920
+#: parser/parse_coerce.c:1239 parser/parse_coerce.c:1256
+#: parser/parse_coerce.c:1310 parser/parse_expr.c:1164
+#: parser/parse_expr.c:1471 parser/parse_expr.c:1508 parser/parse_oper.c:920
 #, c-format
 msgid "could not find array type for data type %s"
 msgstr "n'a pas putrouver le type array pour le type de données %s"
 
-#: parser/parse_expr.c:361
+#: parser/parse_expr.c:727
 msgid "NULLIF requires = operator to yield boolean"
 msgstr "NULLIF requiert l'opérateur = pour comparer des booleéns"
 
-#: parser/parse_expr.c:486
+#: parser/parse_expr.c:971
 msgid "subquery must return a column"
 msgstr "La sous-requête doit renvoyer une colonne"
 
-#: parser/parse_expr.c:492
+#: parser/parse_expr.c:977
 msgid "subquery must return only one column"
 msgstr "La sous-requête doit renvoyer une seule colonne"
 
-#: parser/parse_expr.c:549
+#: parser/parse_expr.c:1033
 #, c-format
 msgid "row comparison cannot use operator %s"
 msgstr "La comparaison de ligne ne peut pas utiliser l'opérateur %s"
 
-#: parser/parse_expr.c:576
+#: parser/parse_expr.c:1059
 msgid "subquery has too many columns"
 msgstr "La sous-requête a trop de colonnes"
 
-#: parser/parse_expr.c:594
+#: parser/parse_expr.c:1077
 #, c-format
 msgid "operator %s must return type boolean, not type %s"
 msgstr "L'opérateur %s doit renvoyer le type booléen, et non pas le type %s"
 
-#: parser/parse_expr.c:597 parser/parse_expr.c:604
-msgid ""
-"The operator of a quantified predicate subquery must return type boolean."
+#: parser/parse_expr.c:1080 parser/parse_expr.c:1087
+msgid "The operator of a quantified predicate subquery must return type boolean."
 msgstr "L'opérateur d'une sous-requête prédicat quantifiée doit renvoyer le type booléen."
 
-#: parser/parse_expr.c:602
+#: parser/parse_expr.c:1085
 #, c-format
 msgid "operator %s must not return a set"
 msgstr "L'opérateur %s ne doit pas renvoyer un ensemble"
 
-#: parser/parse_expr.c:614
+#: parser/parse_expr.c:1097
 msgid "subquery has too few columns"
 msgstr "La sous-requête n'a pas assez de colonnes"
 
-#: parser/parse_expr.c:1692 parser/parse_expr.c:1771
+#: parser/parse_expr.c:1844 parser/parse_expr.c:1923
 msgid "unequal number of entries in row expression"
 msgstr "Nombre différent d'entrée dans l'expression de la ligne"
 
-#: parser/parse_expr.c:1713
+#: parser/parse_expr.c:1865
 #, c-format
 msgid "operator %s is not supported for row expressions"
 msgstr "L'opérateur %s n'est pas supporté pour les expressions de lignes"
 
-#: parser/parse_expr.c:1808
+#: parser/parse_expr.c:1960
 msgid "IS DISTINCT FROM requires = operator to yield boolean"
 msgstr "IS DISTINCT FROM requiert l'opérateur = pour comparer des booléens"
 
-#: parser/parse_func.c:88
-#, c-format
-msgid "cannot pass more than %d arguments to a function"
-msgstr "n'a pas pupasser plus de %d arguments à une fonction"
-
-#: parser/parse_func.c:165
+#: parser/parse_func.c:175
 #, c-format
 msgid "%s(*) specified, but %s is not an aggregate function"
 msgstr "%s(*) spécifié, mais %s n'est pas une fonction d'aggrégation"
 
-#: parser/parse_func.c:171
+#: parser/parse_func.c:181
 #, c-format
 msgid "DISTINCT specified, but %s is not an aggregate function"
 msgstr "DISTINCT spécifié mais %s n'est pas une fonction d'aggrégation"
 
-#: parser/parse_func.c:195
+#: parser/parse_func.c:205
 #, c-format
 msgid "function %s is not unique"
 msgstr "La fonction %s n'est pas unique"
 
-#: parser/parse_func.c:198
+#: parser/parse_func.c:208
 msgid ""
 "Could not choose a best candidate function. You may need to add explicit "
 "type casts."
@@ -5630,47 +5756,47 @@ msgstr ""
 "n'a pas pu choisir un meilleur candidat dans les fonctions. Vous devez "
 "ajouter une conversion explicite de type."
 
-#: parser/parse_func.c:206
+#: parser/parse_func.c:216
 msgid ""
 "No function matches the given name and argument types. You may need to add "
 "explicit type casts."
 msgstr "Aucune fonction ne correspond au nom donné et aux types d'arguments. Vous devez ajouter des conversions explicites de type.explicit type casts."
 
-#: parser/parse_func.c:255
+#: parser/parse_func.c:265
 msgid "aggregates may not return sets"
 msgstr "Les aggrégats pourraient ne pas renvoyer des ensembles"
 
-#: parser/parse_func.c:1208
+#: parser/parse_func.c:1044
 #, c-format
 msgid "column %s.%s does not exist"
 msgstr "La colonne %s.%s n'existe pas"
 
-#: parser/parse_func.c:1219
+#: parser/parse_func.c:1055
 #, c-format
 msgid "column \"%s\" not found in data type %s"
 msgstr "colonne «%s» introuvable pour le type de données %s"
 
-#: parser/parse_func.c:1224
+#: parser/parse_func.c:1060
 #, c-format
 msgid "could not identify column \"%s\" in record data type"
 msgstr "n'a pas pu identifier la colonne «%s» dans le type de données de l'enregistrement"
 
-#: parser/parse_func.c:1229
+#: parser/parse_func.c:1065
 #, c-format
 msgid "column notation .%s applied to type %s, which is not a composite type"
 msgstr "notation d'attribut .%s appliqué au type %s, qui n'est pas un type complexe"
 
-#: parser/parse_func.c:1301
+#: parser/parse_func.c:1137
 #, c-format
 msgid "aggregate %s(*) does not exist"
 msgstr "L'aggrégat %s(*) n'existe pas"
 
-#: parser/parse_func.c:1306
+#: parser/parse_func.c:1142
 #, c-format
 msgid "aggregate %s(%s) does not exist"
 msgstr "L'aggrégat %s(%s) n'existe pas"
 
-#: parser/parse_func.c:1327
+#: parser/parse_func.c:1163
 #, c-format
 msgid "function %s(%s) is not an aggregate"
 msgstr "La fonction %s(%s) n'est pas un aggrégat"
@@ -5691,14 +5817,14 @@ msgstr ""
 "L'affectation de tableaux requiert le type %s mais l'expression est de type %"
 "s"
 
-#: parser/parse_oper.c:84 parser/parse_oper.c:785 utils/adt/regproc.c:467
-#: utils/adt/regproc.c:487 utils/adt/regproc.c:665
+#: parser/parse_oper.c:84 parser/parse_oper.c:785 utils/adt/regproc.c:466
+#: utils/adt/regproc.c:486 utils/adt/regproc.c:664
 #, c-format
 msgid "operator does not exist: %s"
 msgstr "L'opérateur n'existe pas : %s"
 
-#: parser/parse_oper.c:185 utils/adt/arrayfuncs.c:2582
-#: utils/adt/ri_triggers.c:3642
+#: parser/parse_oper.c:185 utils/adt/arrayfuncs.c:2568
+#: utils/adt/ri_triggers.c:3675
 #, c-format
 msgid "could not identify an equality operator for type %s"
 msgstr "n'a pas pu identifier un opérateur d'égaliter pour le type %s"
@@ -5746,50 +5872,49 @@ msgstr "op ANY/ALL (tableau) requiert un op
 msgid "op ANY/ALL (array) requires operator not to return a set"
 msgstr "op ANY/ALL (tableau) requiert que l'opérateur ne renvoie pas un ensemble"
 
-#: parser/parse_target.c:268 parser/parse_target.c:503
+#: parser/parse_target.c:267 parser/parse_target.c:495
 #, c-format
 msgid "cannot assign to system column \"%s\""
 msgstr "n'a pas pu affecter à une colonne système «%s»"
 
-#: parser/parse_target.c:292
+#: parser/parse_target.c:291
 msgid "cannot set an array element to DEFAULT"
 msgstr "n'a pas pu initialiser un élément d'un tableau pour DEFAULT"
 
-#: parser/parse_target.c:296
+#: parser/parse_target.c:295
 msgid "cannot set a subfield to DEFAULT"
 msgstr "n'a pas pu initialiser un sous-champ par DEFAULT"
 
-#: parser/parse_target.c:357
+#: parser/parse_target.c:356
 #, c-format
 msgid "column \"%s\" is of type %s but expression is of type %s"
 msgstr "La colonne «%s» est de type %s mais l'expression est de type %s"
 
-#: parser/parse_target.c:489
+#: parser/parse_target.c:481
 #, c-format
 msgid ""
 "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a "
 "composite type"
 msgstr "ne peut pas l'affecter au champ «%s» de la colonne «%s» parce que son type %s n'est pas un type composé"
 
-#: parser/parse_target.c:497
+#: parser/parse_target.c:489
 #, c-format
 msgid ""
 "cannot assign to field \"%s\" of column \"%s\" because there is no such "
 "column in data type %s"
 msgstr "ne peut pas l'affecter au champ «%s» de la colonne «%s» parce qu'il n'existe pas une telle colonne dans le type de données %s"
 
-#: parser/parse_target.c:567
+#: parser/parse_target.c:559
 #, c-format
-msgid ""
-"array assignment to \"%s\" requires type %s but expression is of type %s"
+msgid "array assignment to \"%s\" requires type %s but expression is of type %s"
 msgstr "l'affectation d'un tableau avec «%s» requiert le type %s mais l'expression est de type %s"
 
-#: parser/parse_target.c:576
+#: parser/parse_target.c:568
 #, c-format
 msgid "subfield \"%s\" is of type %s but expression is of type %s"
 msgstr "le sous-champ «%s» est de type %s mais l'expression est de type %s"
 
-#: parser/parse_target.c:805
+#: parser/parse_target.c:768
 msgid "SELECT * with no tables specified is not valid"
 msgstr "Un SELECT * sans table spécifiée n'est pas valide"
 
@@ -5808,239 +5933,331 @@ msgstr "R
 msgid "type reference %s converted to %s"
 msgstr "Référence de type %s convertie en %s"
 
-#: parser/parse_type.c:206 parser/parse_type.c:237 utils/cache/typcache.c:155
+#: parser/parse_type.c:206 parser/parse_type.c:237 utils/cache/typcache.c:154
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "Le stype «%s» n'est pas seulement un shell"
 
-#: parser/parse_type.c:372 parser/parse_type.c:469
+#: parser/parse_type.c:363 parser/parse_type.c:460
 #, c-format
 msgid "invalid type name \"%s\""
 msgstr "Nom de type invalide «%s»"
 
-#: y.tab.c:9499
+#: parser/scansup.c:182
+#, c-format
+msgid "identifier \"%s\" will be truncated to \"%.*s\""
+msgstr "L'identifiant «%s» sera tronqué en «%.*s»"
+
+#: scan.l:361
+msgid "unterminated /* comment"
+msgstr "Commentaire /* non terminé"
+
+#: scan.l:390
+msgid "unterminated bit string literal"
+msgstr "Chaîne littérale bit non terminée"
+
+#: scan.l:411
+msgid "unterminated hexadecimal string literal"
+msgstr "Chaîne littérale héxadécimale non terminée"
+
+#: scan.l:459
+msgid "nonstandard use of \\' in a string literal"
+msgstr "Utilisation non standard de \\' dans une chaîne litérale"
+
+#: scan.l:460
+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 chaîne d'échappement (E'...')."
+
+#: scan.l:469
+msgid "nonstandard use of \\\\ in a string literal"
+msgstr "utilisation non standard de \\\\ dans une chaîne littérale"
+
+#: scan.l:470
+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:497
+msgid "unterminated quoted string"
+msgstr "Chaîne quotée non terminée"
+
+#: scan.l:540
+msgid "unterminated dollar-quoted string"
+msgstr "chaîne quotée non terminée"
+
+#: scan.l:552
+msgid "zero-length delimited identifier"
+msgstr "Identifiant délimité de longueur nulle"
+
+#: scan.l:565
+msgid "unterminated quoted identifier"
+msgstr "Identifiant quoté non terminé"
+
+#: scan.l:643
+msgid "operator too long"
+msgstr "opérateur trop long"
+
+#. translator: %s is typically "syntax error"
+#: scan.l:752
+#, c-format
+msgid "%s at end of input"
+msgstr "%s à la fin de l'entrée"
+
+#. translator: first %s is typically "syntax error"
+#: scan.l:760
+#, c-format
+msgid "%s at or near \"%s\""
+msgstr "%s sur ou près de «%s»"
+
+#: scan.l:884
+msgid "nonstandard use of escape in a string literal"
+msgstr "utilisation non standard d'un échappement dans une chaîne littérale"
+
+#: scan.l:885
+msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'."
+msgstr "Utilisez la syntaxe de la chaîne d'échappement pour les échappements, c'est-à-dire E'\\r\\n'."
+
+#: y.tab.c:10429
 msgid "syntax error: cannot back up"
 msgstr "erreur de syntaxe : n'a pas purevenir"
 
-#: gram.y:989 gram.y:1015
+#: gram.y:1119 gram.y:1145
 msgid "time zone interval must be HOUR or HOUR TO MINUTE"
 msgstr "L'intervalle de zone horaire doit être HOUR ou HOUR TO MINUTE"
 
-#: gram.y:1000 gram.y:5469 gram.y:7540
+#: gram.y:1130 gram.y:5923 gram.y:7986
 #, c-format
 msgid "INTERVAL(%d) precision must not be negative"
 msgstr "La précision de l'intervalle (INTERVAL(%d)) ne doit pas être négative"
 
-#: gram.y:1006 gram.y:5475 gram.y:7546
+#: gram.y:1136 gram.y:5929 gram.y:7992
 #, c-format
 msgid "INTERVAL(%d) precision reduced to maximum allowed, %d"
 msgstr "La précision de l'intervalle (INTERVAL(%d)) doit être réduit au maximum permis, %d"
 
-#: gram.y:1886 utils/adt/ri_triggers.c:302 utils/adt/ri_triggers.c:364
-#: utils/adt/ri_triggers.c:543 utils/adt/ri_triggers.c:782
-#: utils/adt/ri_triggers.c:973 utils/adt/ri_triggers.c:1134
-#: utils/adt/ri_triggers.c:1318 utils/adt/ri_triggers.c:1487
-#: utils/adt/ri_triggers.c:1668 utils/adt/ri_triggers.c:1838
-#: utils/adt/ri_triggers.c:2056 utils/adt/ri_triggers.c:2236
-#: utils/adt/ri_triggers.c:2441 utils/adt/ri_triggers.c:2537
-#: utils/adt/ri_triggers.c:2660
+#: gram.y:2064 utils/adt/ri_triggers.c:303 utils/adt/ri_triggers.c:365
+#: utils/adt/ri_triggers.c:528 utils/adt/ri_triggers.c:767
+#: utils/adt/ri_triggers.c:958 utils/adt/ri_triggers.c:1119
+#: utils/adt/ri_triggers.c:1303 utils/adt/ri_triggers.c:1472
+#: utils/adt/ri_triggers.c:1653 utils/adt/ri_triggers.c:1823
+#: utils/adt/ri_triggers.c:2041 utils/adt/ri_triggers.c:2221
+#: utils/adt/ri_triggers.c:2426 utils/adt/ri_triggers.c:2503
+#: utils/adt/ri_triggers.c:2577 utils/adt/ri_triggers.c:2697
 msgid "MATCH PARTIAL not yet implemented"
 msgstr "MATCH PARTIAL non implémenté"
 
-#: gram.y:1976
+#: gram.y:2154
 msgid "CREATE TABLE AS may not specify INTO"
 msgstr "CREATE TABLE AS peut ne pas spécifier INTO"
 
-#: gram.y:2435
+#: gram.y:2615
 msgid "CREATE ASSERTION is not yet implemented"
 msgstr "CREATE ASSERTION n'est pas encore implémenté"
 
-#: gram.y:2451
+#: gram.y:2631
 msgid "DROP ASSERTION is not yet implemented"
 msgstr "DROP ASSERTION n'est pas encore implémenté"
 
-#: gram.y:3323
-msgid "CREATE FUNCTION / OUT parameters are not implemented"
-msgstr "Les paramètres CREATE FUNCTION / OUT ne sont pas encore implémentés"
-
-#: gram.y:3330
-msgid "CREATE FUNCTION / INOUT parameters are not implemented"
-msgstr "Les paramètres CREATE FUNCTION / INOUT ne sont pas encore implémentés"
-
-#: gram.y:3491 utils/adt/regproc.c:639
+#: gram.y:3797 utils/adt/regproc.c:638
 msgid "missing argument"
 msgstr "Argument manquant"
 
-#: gram.y:3492 utils/adt/regproc.c:640
+#: gram.y:3798 utils/adt/regproc.c:639
 msgid "Use NONE to denote the missing argument of a unary operator."
 msgstr "Utilisez NONE pour dénoter l'argument manquant d'un opérateur unitaire."
 
-#: gram.y:4540
+#: gram.y:4981
 msgid "column name list not allowed in CREATE TABLE / AS EXECUTE"
 msgstr "La liste de noms de colonnes n'est pas autorisée dans CREATE TABLE / AS EXECUTE"
 
-#: gram.y:5011
+#: gram.y:5458
 msgid "LIMIT #,# syntax is not supported"
 msgstr "La syntaxe LIMIT #,# n'est pas supportée"
 
-#: gram.y:5012
+#: gram.y:5459
 msgid "Use separate LIMIT and OFFSET clauses."
 msgstr "Utilisez les clauses séparées LIMIT et OFFSET."
 
-#: gram.y:5162
+#: gram.y:5616
 msgid "For example, FROM (SELECT ...) [AS] foo."
 msgstr "Par exemple, FROM (SELECT...) [AS] quelquechose."
 
-#: gram.y:5572
+#: gram.y:6026
 msgid "precision for type float must be at least 1 bit"
 msgstr "La précision du type float doit être d'au moins un bit"
 
-#: gram.y:5580
+#: gram.y:6034
 msgid "precision for type float must be less than 54 bits"
 msgstr "La précision pour le type float droit être moins que 54 bits"
 
-#: gram.y:5594 gram.y:5609
+#: gram.y:6048 gram.y:6063
 #, c-format
 msgid "NUMERIC precision %d must be between 1 and %d"
 msgstr "La précision NUMERIC %d doit être compris entre 1 et %d"
 
-#: gram.y:5599
+#: gram.y:6053
 #, c-format
 msgid "NUMERIC scale %d must be between 0 and precision %d"
 msgstr "L'échelle NUMERIC %d doit être compris entre 0 et %d"
 
-#: gram.y:5627 gram.y:5642
+#: gram.y:6081 gram.y:6096
 #, c-format
 msgid "DECIMAL precision %d must be between 1 and %d"
 msgstr "La précision DECIMAL %d doit être compris entre 1 et %d"
 
-#: gram.y:5632
+#: gram.y:6086
 #, c-format
 msgid "DECIMAL scale %d must be between 0 and precision %d"
 msgstr "L'échelle DECIMAL %d doit être compris entre 0 et %d"
 
-#: gram.y:5692 gram.y:5770
+#: gram.y:6146 gram.y:6224
 #, c-format
 msgid "length for type %s must be at least 1"
 msgstr "La longueur du type %s doit être d'au moins 1"
 
-#: gram.y:5697 gram.y:5775
+#: gram.y:6151 gram.y:6229
 #, c-format
 msgid "length for type %s cannot exceed %d"
 msgstr "La longueur du type %s ne peut pas excéder %d"
 
-#: gram.y:5848
+#: gram.y:6302
 #, c-format
 msgid "TIMESTAMP(%d)%s precision must not be negative"
 msgstr "La précision de TIMESTAMP(%d)%s ne doit pas être négative"
 
-#: gram.y:5854
+#: gram.y:6308
 #, c-format
 msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d"
 msgstr "La précision de TIMESTAMP(%d)%s est réduit au maximum autorisé, %d"
 
-#: gram.y:5889
+#: gram.y:6335
 #, c-format
 msgid "TIME(%d)%s precision must not be negative"
 msgstr "La précision de TIME(%d)%s ne doit pas être négative"
 
-#: gram.y:5895
+#: gram.y:6341
 #, c-format
 msgid "TIME(%d)%s precision reduced to maximum allowed, %d"
 msgstr "La précision de TIME(%d)%s a été réduit au maximum autorisée, %d"
 
-#: gram.y:6349
+#: gram.y:6802
 msgid "UNIQUE predicate is not yet implemented"
 msgstr "Prédicat UNIQUE pas encore implémenté"
 
-#: gram.y:6632
+#: gram.y:7073
 #, c-format
 msgid "CURRENT_TIME(%d) precision must not be negative"
 msgstr "La précision de CURRENT_TIME(%d) ne doit pas être négative"
 
-#: gram.y:6638
+#: gram.y:7079
 #, c-format
 msgid "CURRENT_TIME(%d) precision reduced to maximum allowed, %d"
 msgstr "La précision de CURRENT_TIME(%d) a été réduit au maximum autorisé, %d"
 
-#: gram.y:6686
+#: gram.y:7117
 #, c-format
 msgid "CURRENT_TIMESTAMP(%d) precision must not be negative"
 msgstr "La précision de CURRENT_TIMESTAMP(%d) ne doit pas être négative"
 
-#: gram.y:6692
+#: gram.y:7123
 #, c-format
 msgid "CURRENT_TIMESTAMP(%d) precision reduced to maximum allowed, %d"
 msgstr "La précision de CURRENT_TIMESTAMP(%d) a été réduit au maximum autorisé, %d"
 
-#: gram.y:6739
+#: gram.y:7164
 #, c-format
 msgid "LOCALTIME(%d) precision must not be negative"
 msgstr "La précision de LOCALTIME(%d) ne doit pas être négative"
 
-#: gram.y:6745
+#: gram.y:7170
 #, c-format
 msgid "LOCALTIME(%d) precision reduced to maximum allowed, %d"
 msgstr "La précision de LOCALTIME(%d) a été réduit au maximum autorisé, %d"
 
-#: gram.y:6793
+#: gram.y:7212
 #, c-format
 msgid "LOCALTIMESTAMP(%d) precision must not be negative"
 msgstr "La préciszion de LOCALTIMESTAMP(%d) ne doit pas être négative"
 
-#: gram.y:6799
+#: gram.y:7218
 #, c-format
 msgid "LOCALTIMESTAMP(%d) precision reduced to maximum allowed, %d"
 msgstr "La précision de LOCALTIMESTAMP(%d) a été réduit au maximum autorisé, %d"
 
-#: gram.y:7987
+#: gram.y:8458
 msgid "OLD used in query that is not in a rule"
 msgstr "OLD utilisé dans une requête qui n'est pas une règle"
 
-#: gram.y:7996
+#: gram.y:8467
 msgid "NEW used in query that is not in a rule"
 msgstr "NEW utilisé dans une requête dans une règle"
 
-#: y.tab.c:19078
+#: y.tab.c:20467
 msgid "syntax error; also virtual memory exhausted"
 msgstr "erreur de syntaxe ; de plus, mémoire virtuelle saturée"
 
-#: gram.y:8221 gram.y:8223 gram.y:8240 gram.y:8242 y.tab.c:19082
+#: gram.y:8692 gram.y:8694 gram.y:8711 gram.y:8713 y.tab.c:20471
 msgid "syntax error"
 msgstr "erreur de syntaxe"
 
-#: y.tab.c:19196
+#: y.tab.c:20585
 msgid "parser stack overflow"
 msgstr "Saturation de la pile de l'analyseur"
 
-#: gram.y:8195
+#: gram.y:8666
 msgid "wrong number of parameters on left side of OVERLAPS expression"
 msgstr "mauvais nombre de paramètres sur le côté gauche de l'expression OVERLAPS"
 
-#: gram.y:8201
+#: gram.y:8672
 msgid "wrong number of parameters on right side of OVERLAPS expression"
 msgstr "mauvais nombre de paramètres sur le côté droit de l'expression OVERLAPS"
 
-#: gram.y:8299
+#: gram.y:8771
 msgid "multiple ORDER BY clauses not allowed"
 msgstr "Clauses ORDER BY multiples non autorisées"
 
-#: gram.y:8307
-msgid "multiple FOR UPDATE clauses not allowed"
-msgstr "Clauses FOR UPDATE multiples non autorisées"
+#: gram.y:8779
+msgid "multiple FOR UPDATE/FOR SHARE clauses not allowed"
+msgstr "Clauses multiples FOR UPDATE/SHARE non autorisées"
 
-#: gram.y:8315
+#: gram.y:8787
 msgid "multiple OFFSET clauses not allowed"
 msgstr "Clauses OFFSET multiples non autorisées"
 
-#: gram.y:8323
+#: gram.y:8795
 msgid "multiple LIMIT clauses not allowed"
 msgstr "Clauses LIMIT multiples non autorisées"
 
-#: parser/scansup.c:182
+#: port/win32/security.c:43
 #, c-format
-msgid "identifier \"%s\" will be truncated to \"%.*s\""
-msgstr "L'identifiant «%s» sera tronqué en «%.*s»"
+msgid "could not open process token: error code %d\n"
+msgstr "n'a pas pu ouvrir le jeton du processus : code d'erreur %d\n"
+
+#: port/win32/security.c:63
+#, c-format
+msgid "could not get SID for Administrators group: error code %d\n"
+msgstr "n'a pas pu obtenir le SID du groupe d'administrateurs : code d'erreur %d\n"
+
+#: port/win32/security.c:72
+#, c-format
+msgid "could not get SID for PowerUsers group: error code %d\n"
+msgstr ""
+"n'a pas pu obtenir le SID du groupe des utilisateurs avec pouvoir : code "
+"d'erreur %d\n"
+
+#: port/win32/signal.c:173
+#, c-format
+msgid "could not create signal listener pipe for pid %d: error code %d"
+msgstr "n'a pas pu créer le tube d'écoute de signal pour le id processus %d: code d'erreur %d"
+
+#: port/win32/signal.c:253
+#, c-format
+msgid "could not create signal listener pipe: error code %d; retrying\n"
+msgstr "n'a pas pu créer le tube d'écoute de signal : code d'erreur %d ; nouvelle tentative\n"
+
+#: port/win32/signal.c:266
+#, c-format
+msgid "could not create signal dispatch thread: error code %d\n"
+msgstr "n'a pas pu créer le thread de répartition des signaux : code d'erreur %d\n"
 
 #: port/pg_shmem.c:101 port/sysv_shmem.c:101
 #, c-format
@@ -6049,8 +6266,8 @@ msgstr "n'a pas pu cr
 
 #: port/pg_shmem.c:102 port/sysv_shmem.c:102
 #, c-format
-msgid "Failed system call was shmget(key=%lu, size=%u, 0%o)."
-msgstr "L'appel système ayant échoué était shmget(clé=%lu, taille=%u, 0%o)."
+msgid "Failed system call was shmget(key=%lu, size=%lu, 0%o)."
+msgstr "L'appel système ayant échoué était shmget(clé=%lu, taille=%lu, 0%o)."
 
 #: port/pg_shmem.c:106 port/sysv_shmem.c:106
 #, c-format
@@ -6058,7 +6275,7 @@ msgid ""
 "This error usually means that PostgreSQL's request for a shared memory "
 "segment exceeded your kernel's SHMMAX parameter.  You can either reduce the "
 "request size or reconfigure the kernel with larger SHMMAX.  To reduce the "
-"request size (currently %u bytes), reduce PostgreSQL's shared_buffers "
+"request size (currently %lu bytes), reduce PostgreSQL's shared_buffers "
 "parameter (currently %d) and/or its max_connections parameter (currently %"
 "d).\n"
 "If the request size is already small, it's possible that it is less than "
@@ -6067,8 +6284,8 @@ msgid ""
 "The PostgreSQL documentation contains more information about shared memory "
 "configuration."
 msgstr ""
-"Cette erreur signifie habituellement que la demande de PostgreSQL pour un segment de mémoire partagée a dépassé le paramètre PostgreSQL de votre noyau. Vous pouvez soit réduire la taille de la requête soit reconfigurer le noyau avec un SHMMAX plus important. Pour réduire la taille de la requête (actuellement %u octets), réduisez le paramètre de shared_buffers de PostgreSQL (actuellement %d) et/ou le paramètre max_connections (actuellement %d).\n"
-"Si la taille de la requête est déjà petite, il est possible qu'il est moindre que le paramètre SHMMIN de votre noyau, dans ce cas, augmentez la taille de la requête ou reconfigurez SHMMIN.\n"
+"Cette erreur signifie habituellement que la demande de PostgreSQL pour un segment de mémoire partagée a dépassé le paramètre SHMMAX de votre noyau. Vous pouvez soit réduire la taille de la requête soit reconfigurer le noyau avec un SHMMAX plus important. Pour réduire la taille de la requête (actuellement %lu octets), réduisez le paramètre de shared_buffers de PostgreSQL (actuellement %d) et/ou le paramètre max_connections (actuellement %d).\n"
+"Si la taille de la requête est déjà petite, il est possible qu'elle soit moindre que le paramètre SHMMIN de votre noyau, auquel cas, augmentez la taille de la requête ou reconfigurez SHMMIN.\n"
 "La documentation de PostgreSQL contient plus d'informations sur la configuration de la mémoire partagée."
 
 #: port/pg_shmem.c:119 port/sysv_shmem.c:119
@@ -6076,12 +6293,12 @@ msgstr ""
 msgid ""
 "This error usually means that PostgreSQL's request for a shared memory "
 "segment exceeded available memory or swap space. To reduce the request size "
-"(currently %u bytes), reduce PostgreSQL's shared_buffers parameter "
+"(currently %lu bytes), reduce PostgreSQL's shared_buffers parameter "
 "(currently %d) and/or its max_connections parameter (currently %d).\n"
 "The PostgreSQL documentation contains more information about shared memory "
 "configuration."
 msgstr ""
-"Cette erreur signifie habituellement que la demande PostgreSQL pour un segment de mémoire partagée dépasse la mémoire disponible ou l'espace swap. Pour réduire la taille de la requête (actuellement %u octets), réduisez le paramètre shared_buffers de PostgreSQL (actuellement %d) et/ou le paramètre max_connections (actuellement %d).\n"
+"Cette erreur signifie habituellement que la demande de PostgreSQL pour un segment de mémoire partagée dépasse la mémoire disponible ou l'espace swap. Pour réduire la taille de la requête (actuellement %lu octets), réduisez le paramètre shared_buffers de PostgreSQL (actuellement %d) et/ou le paramètre max_connections (actuellement %d).\n"
 "La documentation de PostgreSQL contient plus d'informations sur la configuration de la mémoire partagée."
 
 #: port/pg_shmem.c:128 port/sysv_shmem.c:128
@@ -6092,53 +6309,20 @@ msgid ""
 "need to raise the SHMMNI parameter in your kernel, or because the system's "
 "overall limit for shared memory has been reached.  If you cannot increase "
 "the shared memory limit, reduce PostgreSQL's shared memory request "
-"(currently %u bytes), by reducing its shared_buffers parameter (currently %"
+"(currently %lu bytes), by reducing its shared_buffers parameter (currently %"
 "d) and/or its max_connections parameter (currently %d).\n"
 "The PostgreSQL documentation contains more information about shared memory "
 "configuration."
 msgstr ""
-"Cette erreur signifie habituellement que la demande de PostgreSQL pour un segment de mémoire partagée a dépassé le paramètre PostgreSQL de votre noyau. Vous pouvez soit réduire la taille de la requête soit reconfigurer le noyau avec un SHMMIN plus important. Pour réduire la taille de la requête (actuellement %u octets), réduisez le paramètre de shared_buffers de PostgreSQL (actuellement %d) et/ou le paramètre max_connections (actuellement %d).\n"
-"Si la taille de la requête est déjà petite, il est possible qu'il est moindre que le paramètre SHMMIN de votre noyau, dans ce cas, augmentez la taille de la requête ou reconfigurez SHMMIN.\n"
+"Cette erreur ne signifie *pas* que vous manquez de place disque. Elle survient si tous les identifiants de mémoire partagé disponibles ont été pris, auquel cas vous devez augmenter le paramètre SHMMIN de votre noyau, ou parce que la limite "
+"maximum de la mémoire partagée de votre système a été atteinte. Si vous ne pouvez pas augmenter la limite de la mémoire partagée, réduisez la demande de mémoire partagée de PostgreSQL (actuellement %lu octets) en réduisant le paramètre shared_buffers (actuellement %d) et.ou le paramètre max_connections (actuellement %d).\n"
 "La documentation de PostgreSQL contient plus d'informations sur la configuration de la mémoire partagée."
 
-#: port/pg_shmem.c:408 port/sysv_shmem.c:408
+#: port/pg_shmem.c:380 port/sysv_shmem.c:380
 #, c-format
 msgid "could not stat data directory \"%s\": %m"
 msgstr "n'a pas lire les informations sur le répertoire «%s» : %m"
 
-#: port/win32/security.c:43
-#, c-format
-msgid "could not open process token: error code %d\n"
-msgstr "n'a pas pu ouvrir le jeton du processus : code d'erreur %d\n"
-
-#: port/win32/security.c:63
-#, c-format
-msgid "could not get SID for Administrators group: error code %d\n"
-msgstr ""
-"n'a pas pu obtenir le SID du groupe d'administrateurs : code d'erreur %d\n"
-
-#: port/win32/security.c:72
-#, c-format
-msgid "could not get SID for PowerUsers group: error code %d\n"
-msgstr ""
-"n'a pas pu obtenir le SID du groupe des utilisateurs avec pouvoir : code "
-"d'erreur %d\n"
-
-#: port/win32/signal.c:173
-#, c-format
-msgid "could not create signal listener pipe for pid %d: error code %d"
-msgstr "n'a pas pu créer le tube d'écoute de signal pour le id processus %d: code d'erreur %d"
-
-#: port/win32/signal.c:253
-#, c-format
-msgid "could not create signal listener pipe: error code %d; retrying\n"
-msgstr "n'a pas pu créer le tube d'écoute de signal : code d'erreur %d ; nouvelle tentative\n"
-
-#: port/win32/signal.c:266
-#, c-format
-msgid "could not create signal dispatch thread: error code %d\n"
-msgstr "n'a pas pu créer le thread de répartition des signaux : code d'erreur %d\n"
-
 #: port/pg_sema.c:117 port/sysv_sema.c:117
 #, c-format
 msgid "could not create semaphores: %m"
@@ -6172,85 +6356,121 @@ msgid ""
 "Look into the PostgreSQL documentation for details."
 msgstr "Vous pouvez avoir besoin d'augmenter la valeur SEMVMX par noyau pour valoir au moins de %d. Regardez dans la documentation de PostgreSQL pour les détails."
 
-#: postmaster/postmaster.c:450
+#: postmaster/bgwriter.c:356
+#, c-format
+msgid "checkpoints are occurring too frequently (%d seconds apart)"
+msgstr ""
+"Les points de vérification (checkpoints) arrivent trop fréquemment\n"
+"(toutes les %d secondes)"
+
+#: postmaster/bgwriter.c:358
+msgid "Consider increasing the configuration parameter \"checkpoint_segments\"."
+msgstr "Considèrez l'augmentation du paramètre de configuration «checkpoint_segments»."
+
+#: postmaster/bgwriter.c:513
+msgid "not enough shared memory for background writer"
+msgstr "pas assez de mémoire partagée pour le processus d'écriture en tâche de fond"
+
+#: postmaster/bgwriter.c:603
+msgid "checkpoint request failed"
+msgstr "échec de la requête de point de vérification"
+
+#: postmaster/bgwriter.c:604
+msgid "Consult the server log for details."
+msgstr "Consultez les traces du serveur pour plus de détails."
+
+#: postmaster/postmaster.c:457
 #, c-format
 msgid "%s: assert checking is not compiled in\n"
 msgstr "%s: la vérification de l'assertion n'a pas été intégrée\n"
 
-#: postmaster/postmaster.c:566 postmaster/postmaster.c:579
+#: postmaster/postmaster.c:573 postmaster/postmaster.c:586
 #, c-format
 msgid "Try \"%s --help\" for more information.\n"
 msgstr "Essayez «%s --help» pour plus d'informations.\n"
 
-#: postmaster/postmaster.c:577
+#: postmaster/postmaster.c:584
 #, c-format
 msgid "%s: invalid argument: \"%s\"\n"
 msgstr "%s: argument invalide : «%s»\n"
 
-#: postmaster/postmaster.c:604
+#: postmaster/postmaster.c:596
+#, 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:623
 #, c-format
 msgid ""
 "%s: the number of buffers (-B) must be at least twice the number of allowed "
 "connections (-N) and at least 16\n"
 msgstr "%s : le nombre de tampons (-B) doit être au moins deux fois le nombre de connexions disponibles (-N) et au moins 16\n"
 
-#: postmaster/postmaster.c:610
+#: postmaster/postmaster.c:629
 #, 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:619
+#: postmaster/postmaster.c:638
 #, c-format
 msgid "%s: invalid datetoken tables, please fix\n"
 msgstr "%s: tables datetoken invalide, merci de corriger\n"
 
-#: postmaster/postmaster.c:653
-#, 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:720
+#: postmaster/postmaster.c:732
 msgid "invalid list syntax for \"listen_addresses\""
 msgstr "syntaxe de liste invalide pour le paramètre «listen_addresses»"
 
-#: postmaster/postmaster.c:739
+#: postmaster/postmaster.c:753
 #, 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:768
+#: postmaster/postmaster.c:759
+msgid "could not create any TCP/IP sockets"
+msgstr "n'a pas pu créer de socket TCP/IP"
+
+#: postmaster/postmaster.c:786
 msgid "could not create Unix-domain socket"
 msgstr "n'a pas pu créer le socket domaine Unix"
 
-#: postmaster/postmaster.c:776
+#: postmaster/postmaster.c:794
 msgid "no socket created for listening"
 msgstr "pas de socket créé pour l'écoute"
 
-#: postmaster/postmaster.c:853
+#: postmaster/postmaster.c:869
 #, 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:946
+#: postmaster/postmaster.c:970
 #, c-format
 msgid "data directory \"%s\" does not exist"
 msgstr "Le répertoire des données «%s» n'existe pas"
 
-#: postmaster/postmaster.c:951
+#: postmaster/postmaster.c:975
 #, 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:966
+#: postmaster/postmaster.c:992
+#, 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:994
+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 répertoire des données."
+
+#: postmaster/postmaster.c:1013
 #, 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 par les autres"
 
-#: postmaster/postmaster.c:968
+#: postmaster/postmaster.c:1015
 msgid "Permissions should be u=rwx (0700)."
 msgstr "Les droits devraient être u=rwx (0700)."
 
-#: postmaster/postmaster.c:979
+#: postmaster/postmaster.c:1026
 #, c-format
 msgid ""
 "%s: could not find the database system\n"
@@ -6261,663 +6481,498 @@ 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:1024
+#: postmaster/postmaster.c:1062
 #, c-format
 msgid "%s: could not fork background process: %s\n"
 msgstr "%s : n'a pas pu créer un processus fils : %s\n"
 
-#: postmaster/postmaster.c:1046
+#: postmaster/postmaster.c:1080
 #, c-format
 msgid "%s: could not dissociate from controlling TTY: %s\n"
 msgstr "%s : n'a pas pu se dissocier du TTY contrôlant : %s\n"
 
-#: postmaster/postmaster.c:1069
-#, c-format
-msgid ""
-"%s is the PostgreSQL server.\n"
-"\n"
-msgstr ""
-"%s est le serveur PostgreSQL.\n"
-"\n"
-
-#: postmaster/postmaster.c:1070
-#, c-format
-msgid ""
-"Usage:\n"
-"  %s [OPTION]...\n"
-"\n"
-msgstr ""
-"Usage:\n"
-"  %s [OPTION]...\n"
-"\n"
-
-#: postmaster/postmaster.c:1071 tcop/postgres.c:2125
-msgid "Options:\n"
-msgstr "Options :\n"
-
-#: postmaster/postmaster.c:1073 tcop/postgres.c:2127
-msgid "  -A 1|0          enable/disable run-time assert checking\n"
-msgstr "  -A 1|0          active/désactive la vérification de l'assertion à l'exécution\n"
-
-#: postmaster/postmaster.c:1075 tcop/postgres.c:2129
-msgid "  -B NBUFFERS     number of shared buffers\n"
-msgstr "  -B NBUFFERS     nombre de tampons partagés\n"
-
-#: postmaster/postmaster.c:1076 tcop/postgres.c:2130
-msgid "  -c NAME=VALUE   set run-time parameter\n"
-msgstr "  -c NAME=VALUE   paramètre d'initialisation à l'exécution\n"
-
-#: postmaster/postmaster.c:1077
-msgid "  -d 1-5          debugging level\n"
-msgstr "  -d 1-5          niveau de déboguage\n"
-
-#: postmaster/postmaster.c:1078 tcop/postgres.c:2132
-msgid "  -D DATADIR      database directory\n"
-msgstr "  -D DATADIR      répertoire des bases de données\n"
-
-#: postmaster/postmaster.c:1079 tcop/postgres.c:2135
-msgid "  -F              turn fsync off\n"
-msgstr "  -F              désactiver fsync\n"
-
-#: postmaster/postmaster.c:1080
-msgid "  -h HOSTNAME     host name or IP address to listen on\n"
-msgstr "  -h HOSTNAME     nom d'hôte ou adresse IP à partir de laquelle écouter\n"
-
-#: postmaster/postmaster.c:1081
-msgid "  -i              enable TCP/IP connections\n"
-msgstr "  -i              active les connexions TCP/IP\n"
-
-#: postmaster/postmaster.c:1082
-msgid "  -k DIRECTORY    Unix-domain socket location\n"
-msgstr "  -k DIRECTORY    emplacement du socket domaine Unix\n"
-
-#: postmaster/postmaster.c:1084
-msgid "  -l              enable SSL connections\n"
-msgstr "  -l              active les connexions SSL\n"
-
-#: postmaster/postmaster.c:1086
-msgid "  -N MAX-CONNECT  maximum number of allowed connections\n"
-msgstr "  -N MAX-CONNECT  nombre maximum de connexions permises\n"
-
-#: postmaster/postmaster.c:1087
-msgid "  -o OPTIONS      pass \"OPTIONS\" to each server process\n"
-msgstr "  -o OPTIONS      passe «OPTIONS» à chaque processus serveur\n"
-
-#: postmaster/postmaster.c:1088
-msgid "  -p PORT         port number to listen on\n"
-msgstr "  -p PORT         numéro du port où écouter\n"
-
-#: postmaster/postmaster.c:1089
-msgid ""
-"  -S              silent mode (start in background without logging output)\n"
-msgstr "  -S              mode silencieux (lancement en arrière-plan sans affichage des traces)\n"
-
-#: postmaster/postmaster.c:1090 tcop/postgres.c:2142
-msgid "  --help          show this help, then exit\n"
-msgstr "  --help          affiche cette aide puis quitte\n"
-
-#: postmaster/postmaster.c:1091 tcop/postgres.c:2143
-msgid "  --version       output version information, then exit\n"
-msgstr "  --version       affiche le numéro de version puis quitte\n"
-
-#: postmaster/postmaster.c:1093 tcop/postgres.c:2144
-msgid ""
-"\n"
-"Developer options:\n"
-msgstr ""
-"\n"
-"Options développeur:\n"
-
-#: postmaster/postmaster.c:1094
-msgid ""
-"  -n              do not reinitialize shared memory after abnormal exit\n"
-msgstr "  -n              ne réinitialise pas la mémoire partagée après une sortie anormale\n"
-
-#: postmaster/postmaster.c:1095
-msgid "  -s              send SIGSTOP to all backend servers if one dies\n"
-msgstr "  -s              envoit SIGSTOP à tous les processus serveur si l'un d'entre eux meurt\n"
-
-#: postmaster/postmaster.c:1097
-msgid ""
-"\n"
-"Please read the documentation for the complete list of run-time\n"
-"configuration settings and how to set them on the command line or in\n"
-"the configuration file.\n"
-"\n"
-"Report bugs to <pgsql-bugs@postgresql.org>.\n"
-msgstr ""
-"\n"
-"Merci de lire la documentation pour la liste complète des paramètres\n"
-"de configuration à l'exécution et sur la façon des les initialiser sur la ligne\n"
-"de commande ou dans le fichier de configuration.\n"
-"\n"
-"Rapportez les bogues à <pgsql-bugs@postgresql.org>.\n"
-
-#: postmaster/postmaster.c:1159
+#: postmaster/postmaster.c:1193
 #, c-format
 msgid "select() failed in postmaster: %m"
 msgstr "Echec de select() dans postmaster : %m"
 
-#: postmaster/postmaster.c:1310 postmaster/postmaster.c:1341
+#: postmaster/postmaster.c:1354 postmaster/postmaster.c:1385
 msgid "incomplete startup packet"
 msgstr "Paquet de démarrage incomplet"
 
-#: postmaster/postmaster.c:1322
+#: postmaster/postmaster.c:1366
 msgid "invalid length of startup packet"
 msgstr "Longueur invalide du paquet de démarrage"
 
-#: postmaster/postmaster.c:1374
+#: postmaster/postmaster.c:1418
 #, c-format
 msgid "failed to send SSL negotiation response: %m"
 msgstr "Echec lors de l'envoi de la réponse de négotiation SSL : %m"
 
-#: postmaster/postmaster.c:1403
+#: postmaster/postmaster.c:1447
 #, 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 à %u.%u"
 
-#: postmaster/postmaster.c:1467
+#: postmaster/postmaster.c:1511
 msgid "invalid startup packet layout: expected terminator as last byte"
 msgstr "Configuration invalide du paquet de démarrage : terminaison attendue comme dernier octet"
 
-#: postmaster/postmaster.c:1496
+#: postmaster/postmaster.c:1540
 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:1549
+#: postmaster/postmaster.c:1593
 msgid "the database system is starting up"
 msgstr "Le système de bases de données se lance"
 
-#: postmaster/postmaster.c:1554
+#: postmaster/postmaster.c:1598
 msgid "the database system is shutting down"
 msgstr "Le système de base de données s'arrête"
 
-#: postmaster/postmaster.c:1559
+#: postmaster/postmaster.c:1603
 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:1564 storage/ipc/sinval.c:105
-#: storage/lmgr/proc.c:246
+#: postmaster/postmaster.c:1608 storage/ipc/procarray.c:138
+#: storage/ipc/sinval.c:81 storage/lmgr/proc.c:249
 msgid "sorry, too many clients already"
 msgstr "Désolé, trop de clients sont déjà connectés"
 
-#: postmaster/postmaster.c:1791
+#: postmaster/postmaster.c:1833
 msgid "received SIGHUP, reloading configuration files"
 msgstr "SIGHUP reçu, rechargement des fichiers de configurationfiles"
 
-#: postmaster/postmaster.c:1843
+#: postmaster/postmaster.c:1889
 msgid "received smart shutdown request"
 msgstr "Réception d'une demande d'arrêt intelligent"
 
-#: postmaster/postmaster.c:1879
+#: postmaster/postmaster.c:1935
 msgid "received fast shutdown request"
 msgstr "Réception d'une demande d'arrêt rapide"
 
-#: postmaster/postmaster.c:1886
+#: postmaster/postmaster.c:1942
 msgid "aborting any active transactions"
 msgstr "Annulation des transactions actives"
 
-#: postmaster/postmaster.c:1924
+#: postmaster/postmaster.c:1982
 msgid "received immediate shutdown request"
 msgstr "Réception d'une demande d'arrêt immédiat"
 
-#: postmaster/postmaster.c:1997
-msgid "startup process"
-msgstr "Démarrage en cours"
-
-#: postmaster/postmaster.c:2000
+#: postmaster/postmaster.c:2060
 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:2063
-msgid "background writer process"
-msgstr "processus d'écriture en tâche de fond"
-
-#: postmaster/postmaster.c:2076
-msgid "archiver process"
-msgstr "processus d'archivages"
-
-#: postmaster/postmaster.c:2093
-msgid "statistics collector process"
-msgstr "Récupération des statistiques en cours"
-
-#: postmaster/postmaster.c:2107
-msgid "system logger process"
-msgstr "processus des traces système"
-
-#: postmaster/postmaster.c:2128
+#: postmaster/postmaster.c:2213
 msgid "all server processes terminated; reinitializing"
 msgstr "Tous les processus serveur se sont arrêtés, réinitialisation"
 
-#: postmaster/postmaster.c:2174 postmaster/postmaster.c:2184
-msgid "server process"
-msgstr "processus serveur"
-
-#: postmaster/postmaster.c:2229
+#: postmaster/postmaster.c:2314
 msgid "terminating any other active server processes"
 msgstr "Arrêt des autres processus serveur actifs"
 
-#: postmaster/postmaster.c:2326
+#: postmaster/postmaster.c:2423
 #, c-format
 msgid "%s (PID %d) exited with exit code %d"
 msgstr "%s (PID %d) a quitte avec le code de sortie %d"
 
-#: postmaster/postmaster.c:2335
+#: postmaster/postmaster.c:2432
 #, c-format
 msgid "%s (PID %d) was terminated by signal %d"
 msgstr "%s (PID %d) a été arrêté par le signal %d"
 
-#: postmaster/postmaster.c:2344
+#: postmaster/postmaster.c:2441
 #, c-format
 msgid "%s (PID %d) exited with unexpected status %d"
 msgstr "%s (PID %d) a quitté avec le statut inattendu %d"
 
-#: postmaster/postmaster.c:2469
+#: postmaster/postmaster.c:2517
 #, 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:2508
-msgid "could not fork new process for connection: "
-msgstr "n'a pas pu lancer le nouveau processu fils pour la connexion : "
-
-#: postmaster/postmaster.c:2647
+#: postmaster/postmaster.c:2695
 #, c-format
 msgid "getnameinfo_all() failed: %s"
 msgstr "échec de getnameinfo_all() : %s"
 
-#: postmaster/postmaster.c:2656
+#: postmaster/postmaster.c:2704
 #, c-format
-msgid "connection received: host=%s port=%s"
-msgstr "Connexion reçue : hôte=%s port=%s"
+msgid "connection received: host=%s%s%s"
+msgstr "connexion reçue : hôte=%s%s%s"
 
-#: postmaster/postmaster.c:2728
+#: postmaster/postmaster.c:2776
 #, c-format
 msgid "connection authorized: user=%s database=%s"
 msgstr "Connexion autorisée : utilisateur=%s base de données=%s"
 
-#: postmaster/postmaster.c:2946
+#: postmaster/postmaster.c:2990
 #, 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:3540
+#: postmaster/postmaster.c:3579
 #, 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:3544
+#: postmaster/postmaster.c:3583
 #, 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 fond : %m"
 
-#: postmaster/postmaster.c:3548
+#: postmaster/postmaster.c:3587
 #, c-format
 msgid "could not fork process: %m"
 msgstr "n'a pas pu lancer le processus fils : %m"
 
-#: postmaster/postmaster.c:3722
+#: postmaster/postmaster.c:3763
 #, 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:3751
+#: postmaster/postmaster.c:3792
 #, 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:3779 postmaster/postmaster.c:3786
+#: postmaster/postmaster.c:3821 postmaster/postmaster.c:3828
 #, c-format
 msgid "could not read from backend variables file \"%s\": %s\n"
 msgstr "n'a pas pu lire depuis le fichier de configuration serveur «%s» : %s\n"
 
-#: postmaster/postmaster.c:3795
+#: postmaster/postmaster.c:3837
 #, c-format
 msgid "could not remove file \"%s\": %s\n"
 msgstr "n'a pas pu supprimer le fichier «%s» : %s\n"
 
-#: postmaster/postmaster.c:3810
+#: postmaster/postmaster.c:3850
 #, c-format
 msgid "could not map view of backend variables: error code %d\n"
 msgstr "n'a pas pu attendre le lien vers processus fils : code d'erreur %d\n"
 
-#: postmaster/postmaster.c:3819
+#: postmaster/postmaster.c:3859
 #, c-format
 msgid "could not unmap view of backend variables: error code %d\n"
 msgstr "n'a pas pu attendre le lien vers processus fils : code d'erreur %d\n"
 
-#: postmaster/postmaster.c:3826
+#: postmaster/postmaster.c:3866
 #, c-format
 msgid "could not close handle to backend parameter variables: error code %d\n"
 msgstr "n'a pas pu fermer les variables des paramètres du serveur : code d'erreur %d\n"
 
-#: postmaster/postmaster.c:4065
+#: postmaster/postmaster.c:4111
 #, c-format
 msgid "could not wait on child process handle: error code %d\n"
 msgstr "n'a pas pu attendre le lien vers processus fils : code d'erreur %d\n"
 
-#: postmaster/bgwriter.c:336
-#, c-format
-msgid "checkpoints are occurring too frequently (%d seconds apart)"
-msgstr ""
-"Les points de vérification (checkpoints) arrivent trop fréquemment\n"
-"(toutes les %d secondes)"
-
-#: postmaster/bgwriter.c:338
-msgid ""
-"Consider increasing the configuration parameter \"checkpoint_segments\"."
-msgstr "Considèrez l'augmentation du paramètre de configuration «checkpoint_segments»."
-
-#: postmaster/bgwriter.c:490
-msgid "not enough shared memory for background writer"
-msgstr "pas assez de mémoire partagée pour le processus d'écriture en tâche de fond"
-
-#: postmaster/bgwriter.c:555
-msgid "checkpoint request failed"
-msgstr "échec de la requête de point de vérification"
-
-#: postmaster/bgwriter.c:556
-msgid "Consult the server log for details."
-msgstr "Consultez les traces du serveur pour plus de détails."
-
-#: postmaster/pgarch.c:164
+#: postmaster/pgarch.c:153
 #, c-format
 msgid "could not fork archiver: %m"
 msgstr "n'a pas pu lancer le processus fils du processus d'archivage : %m"
 
-#: postmaster/pgarch.c:391
+#: postmaster/pgarch.c:373
 #, c-format
 msgid "transaction log file \"%s\" could not be archived: too many failures"
 msgstr "le journal des transactions «%s» n'a pas pu être archivé : trop d'échecs"
 
-#: postmaster/pgarch.c:474
+#: postmaster/pgarch.c:456
 #, c-format
 msgid "archive command \"%s\" failed: return code %d"
 msgstr "échec de la commande d'archivage «%s» : code de retour %d"
 
-#: postmaster/pgarch.c:479
+#: postmaster/pgarch.c:461
 #, c-format
 msgid "archived transaction log file \"%s\""
 msgstr "journal des transactions archivé «%s»"
 
-#: postmaster/pgarch.c:525
+#: postmaster/pgarch.c:507
 #, c-format
 msgid "could not open archive status directory \"%s\": %m"
 msgstr "n'a pas pu accéder au répertoire du statut des archives «%s» : %m"
 
-#: postmaster/pgarch.c:564
-#, c-format
-msgid "could not read archive status directory \"%s\": %m"
-msgstr "n'a pas pu lire le répertoire du statut des archives «%s» : %m"
-
-#: postmaster/pgstat.c:259
+#: postmaster/pgstat.c:263
 #, c-format
 msgid "could not resolve \"localhost\": %s"
 msgstr "n'a pas pu résoudre «localhost»: %s"
 
-#: postmaster/pgstat.c:287
+#: postmaster/pgstat.c:291
 #, c-format
 msgid "could not create socket for statistics collector: %m"
 msgstr "n'a pas pu créer la socket pour le récupérateur de statistiques : %m"
 
-#: postmaster/pgstat.c:299
+#: postmaster/pgstat.c:303
 #, c-format
 msgid "could not bind socket for statistics collector: %m"
 msgstr "n'a pas pu lier la socket au récupérateur de statistiques : %m"
 
-#: postmaster/pgstat.c:310
+#: postmaster/pgstat.c:314
 #, c-format
 msgid "could not get address of socket for statistics collector: %m"
 msgstr "n'a pas pu obtenir l'adresse de la socket du récupérateur de statistiques : %m"
 
-#: postmaster/pgstat.c:326
+#: postmaster/pgstat.c:330
 #, c-format
 msgid "could not connect socket for statistics collector: %m"
 msgstr "n'a pas pu connecter la socket aux récupérateur de statistiques : %m"
 
-#: postmaster/pgstat.c:343
+#: postmaster/pgstat.c:347
 #, c-format
 msgid "could not send test message on socket for statistics collector: %m"
 msgstr ""
 "n'a pas pu envoyer le message de tests sur la socket du collecteur de "
 "statistiques : %m"
 
-#: postmaster/pgstat.c:368 postmaster/pgstat.c:1565
+#: postmaster/pgstat.c:372 postmaster/pgstat.c:1693
 #, c-format
 msgid "select() failed in statistics collector: %m"
 msgstr "Échec du select() dans le récupérateur de statistiques : %m"
 
-#: postmaster/pgstat.c:383
+#: postmaster/pgstat.c:387
 msgid "test message did not get through on socket for statistics collector"
 msgstr "le message de test n'a pas pu arriver sur la socket du récupérateur de statistiques : %m"
 
-#: postmaster/pgstat.c:395
+#: postmaster/pgstat.c:399
 #, c-format
 msgid "could not receive test message on socket for statistics collector: %m"
 msgstr "n'a pas pu recevoir le message de tests sur la socket du récupérateur de statistiques : %m"
 
-#: postmaster/pgstat.c:405
+#: postmaster/pgstat.c:409
 msgid "incorrect test message transmission on socket for statistics collector"
 msgstr "transmission du message de tests incorrecte sur la socket du récupérateur de statistiques"
 
-#: postmaster/pgstat.c:429
+#: postmaster/pgstat.c:433
 #, c-format
 msgid "could not set statistics collector socket to nonblocking mode: %m"
 msgstr "n'a pas pu initialiser la socket du récupérateur de statistiques dans le mode non bloquant : %m"
 
-#: postmaster/pgstat.c:439
+#: postmaster/pgstat.c:443
 msgid "disabling statistics collector for lack of working socket"
 msgstr "Désactivation du récupérateur de statistiques à cause du manque de socket fonctionnel"
 
-#: postmaster/pgstat.c:565
+#: postmaster/pgstat.c:581
 msgid "statistics collector startup skipped"
 msgstr "Laisse de côté le lancement du récupérateur de statistiques"
 
-#: postmaster/pgstat.c:599
+#: postmaster/pgstat.c:602
 #, c-format
 msgid "could not fork statistics buffer: %m"
 msgstr "n'a pas pu lancer le processus fils du tampon de statistiques : %m"
 
-#: postmaster/pgstat.c:957
+#: postmaster/pgstat.c:1075
 msgid "must be superuser to reset statistics counters"
 msgstr "doit être super-utilisateur pour réinitialiser les compteurs statistiques"
 
-#: postmaster/pgstat.c:1379
+#: postmaster/pgstat.c:1515
 #, c-format
 msgid "could not create pipe for statistics buffer: %m"
 msgstr "n'a pas pu créer un tube pour le tampon des statistiques : %m"
 
-#: postmaster/pgstat.c:1391
+#: postmaster/pgstat.c:1527
 #, c-format
 msgid "could not fork statistics collector: %m"
 msgstr "n'a pas pu lancer le processus fils du collecteur de statistiques : %m"
 
-#: postmaster/pgstat.c:1606
+#: postmaster/pgstat.c:1734
 #, c-format
 msgid "could not read from statistics collector pipe: %m"
 msgstr "n'a pas pu lire à partir du tube du collecteur de statistiques : %m"
 
-#: postmaster/pgstat.c:1627
+#: postmaster/pgstat.c:1755
 msgid "invalid statistics message length"
 msgstr "Longueur invalide du message des statistiques"
 
-#: postmaster/pgstat.c:1772
+#: postmaster/pgstat.c:1912
 #, c-format
 msgid "could not set statistics collector pipe to nonblocking mode: %m"
 msgstr ""
 "n'a pas pu initialiser le tube du collecteur de statistiques dans le mode "
 "non bloquant : %m"
 
-#: postmaster/pgstat.c:1803
+#: postmaster/pgstat.c:1943
 msgid "statistics buffer is full"
 msgstr "Le tampon statistiques est rempli"
 
-#: postmaster/pgstat.c:1834
+#: postmaster/pgstat.c:1974
 #, c-format
 msgid "select() failed in statistics buffer: %m"
 msgstr "Echec du select() dans le tampon statistiques : %m"
 
-#: postmaster/pgstat.c:1848
+#: postmaster/pgstat.c:1988
 #, c-format
 msgid "could not read statistics message: %m"
 msgstr "n'a pas pu lire le message des statistiques : %m"
 
-#: postmaster/pgstat.c:1911
+#: postmaster/pgstat.c:2051
 #, c-format
 msgid "could not write to statistics collector pipe: %m"
 msgstr "n'a pas pu écrire dans le tube du collecteur de statistiques : %m"
 
-#: postmaster/pgstat.c:1986
+#: postmaster/pgstat.c:2124
 #, c-format
 msgid "invalid server process ID %d"
 msgstr "Identifiant du processus serveur invalide %d"
 
-#: postmaster/pgstat.c:2045 postmaster/pgstat.c:2120 postmaster/pgstat.c:2718
-msgid "out of memory in statistics collector --- abort"
-msgstr "Mémoire insuffisante pour le collecteur de statistiques --- annulation"
-
-#: postmaster/pgstat.c:2168
+#: postmaster/pgstat.c:2316
 #, 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:2194
+#: postmaster/pgstat.c:2348
 msgid "database hash table corrupted during cleanup --- abort"
 msgstr "Corruption de la table hachée de la base de données lors du lancement --- annulation"
 
-#: postmaster/pgstat.c:2229
+#: postmaster/pgstat.c:2383
 #, c-format
 msgid "tables hash table for database %u corrupted during cleanup --- abort"
 msgstr "Corruption de la table hachée de la base de données %u lors du lancement --- annulation"
 
-#: postmaster/pgstat.c:2277
+#: postmaster/pgstat.c:2431
 #, c-format
 msgid "could not close temporary statistics file \"%s\": %m"
 msgstr "n'a pas pu fermer le fichier temporaire de statistiques «%s»: %m"
 
-#: postmaster/pgstat.c:2286
+#: postmaster/pgstat.c:2440
 #, 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» to «%s»: %m"
 
-#: postmaster/pgstat.c:2308
+#: postmaster/pgstat.c:2462
 msgid "dead-server-process hash table corrupted during cleanup --- abort"
 msgstr "Corruption de la table hachée des processus serveur morts lors du nettoyage --- annulation"
 
-#: postmaster/pgstat.c:2415 postmaster/pgstat.c:2435 postmaster/pgstat.c:2481
-#: postmaster/pgstat.c:2502 postmaster/pgstat.c:2519 postmaster/pgstat.c:2553
-#: postmaster/pgstat.c:2582
+#: postmaster/pgstat.c:2557 postmaster/pgstat.c:2578 postmaster/pgstat.c:2592
+#: postmaster/pgstat.c:2643 postmaster/pgstat.c:2660 postmaster/pgstat.c:2677
+#: postmaster/pgstat.c:2715 postmaster/pgstat.c:2760
 msgid "corrupted pgstat.stat file"
 msgstr "Fichier pgstat.stat corrompu"
 
-#: postmaster/syslogger.c:317
+#: postmaster/autovacuum.c:161
+#, c-format
+msgid "could not fork autovacuum process: %m"
+msgstr "n'a pas pu lancer le processus autovacuum : %m"
+
+#: postmaster/autovacuum.c:409
+#, c-format
+msgid "autovacuum: processing database \"%s\""
+msgstr "autovacuum : traitement de la base de données «%s»"
+
+#: postmaster/autovacuum.c:934
+msgid "autovacuum not started because of misconfiguration"
+msgstr "autovacuum non exécuté à cause d'une mauvaise configuration"
+
+#: postmaster/autovacuum.c:935
+msgid "Enable options \"stats_start_collector\" and \"stats_row_level\"."
+msgstr "Activez les options «stats_start_collector» et «stats_row_level»."
+
+#: postmaster/syslogger.c:319
 #, c-format
 msgid "select() failed in logger process: %m"
 msgstr "échec de select() dans le processus de traces : %m"
 
-#: postmaster/syslogger.c:329 postmaster/syslogger.c:734
+#: postmaster/syslogger.c:331 postmaster/syslogger.c:708
 #, c-format
 msgid "could not read from logger pipe: %m"
 msgstr "n'a pas pu lire à partir du tube des traces : %m"
 
-#: postmaster/syslogger.c:361
+#: postmaster/syslogger.c:363
 msgid "logger shutting down"
 msgstr "arrêt en cours des traces"
 
-#: postmaster/syslogger.c:405 postmaster/syslogger.c:419
+#: postmaster/syslogger.c:407 postmaster/syslogger.c:421
 #, c-format
 msgid "could not create pipe for syslog: %m"
 msgstr "n'a pas pu créer un tube pour syslog : %m"
 
-#: postmaster/syslogger.c:447
+#: postmaster/syslogger.c:441
 #, c-format
 msgid "could not create log file \"%s\": %m"
 msgstr "n'a pas pu créer le journal de traces «%s» : %m"
 
-#: postmaster/syslogger.c:477
+#: postmaster/syslogger.c:456
 #, c-format
 msgid "could not fork system logger: %m"
 msgstr "n'a pas pu lancer les traces système : %m"
 
-#: postmaster/syslogger.c:509
+#: postmaster/syslogger.c:484
 #, c-format
 msgid "could not redirect stdout: %m"
 msgstr "n'a pas pu rediriger la sortie (stdout) : %m"
 
-#: postmaster/syslogger.c:514 postmaster/syslogger.c:527
+#: postmaster/syslogger.c:489 postmaster/syslogger.c:502
 #, c-format
 msgid "could not redirect stderr: %m"
 msgstr "n'a pas pu rediriger la sortie des erreurs (stderr) : %m"
 
-#: postmaster/syslogger.c:703
+#: postmaster/syslogger.c:677
 #, c-format
-msgid "could not write to log file: %m"
-msgstr "n'a pas pu écrire dans le journal des traces : %m"
+msgid "could not write to log file: %s\n"
+msgstr "n'a pas pu écrire dans le journal des traces : %s\n"
 
-#: postmaster/syslogger.c:790
+#: postmaster/syslogger.c:766
 #, c-format
 msgid "could not open new log file \"%s\": %m"
 msgstr "n'a pas pu ouvrir le nouveau journal de traces «%s» : %m"
 
-#: postmaster/syslogger.c:802
+#: postmaster/syslogger.c:778
 msgid "disabling automatic rotation (use SIGHUP to reenable)"
 msgstr "désactivation de la rotation automatique (utilisez SIGHUP pour la réactiver)"
 
-#: rewrite/rewriteDefine.c:104 rewrite/rewriteDefine.c:589
+#: rewrite/rewriteDefine.c:104 rewrite/rewriteDefine.c:587
 #, c-format
 msgid "rule \"%s\" for relation \"%s\" already exists"
 msgstr "La règle «%s» pour la relation «%s» existe déjà"
 
-#: rewrite/rewriteDefine.c:234
+#: rewrite/rewriteDefine.c:233
 msgid "rule actions on OLD are not implemented"
 msgstr "Les actions de la règle sur OLD ne sont pas implémentées"
 
-#: rewrite/rewriteDefine.c:235
+#: rewrite/rewriteDefine.c:234
 msgid "Use views or triggers instead."
 msgstr "Utilisez à la place des vues ou des déclencheurs."
 
-#: rewrite/rewriteDefine.c:239
+#: rewrite/rewriteDefine.c:238
 msgid "rule actions on NEW are not implemented"
 msgstr "Les actions de la règle sur NEW ne sont pas implémentées"
 
-#: rewrite/rewriteDefine.c:240
+#: rewrite/rewriteDefine.c:239
 msgid "Use triggers instead."
 msgstr "Utilisez des déclencheurs à la place."
 
-#: rewrite/rewriteDefine.c:257
+#: rewrite/rewriteDefine.c:256
 msgid "INSTEAD NOTHING rules on SELECT are not implemented"
 msgstr "Les règles INSTEAD NOTHING sur SELECT ne sont pas implémentées"
 
-#: rewrite/rewriteDefine.c:258
+#: rewrite/rewriteDefine.c:257
 msgid "Use views instead."
 msgstr "Utilisez les vues à la place."
 
-#: rewrite/rewriteDefine.c:266
+#: rewrite/rewriteDefine.c:265
 msgid "multiple actions for rules on SELECT are not implemented"
 msgstr "Les actions multiples pour les règles sur SELECT ne sont pas implémentées"
 
-#: rewrite/rewriteDefine.c:275
+#: rewrite/rewriteDefine.c:274
 msgid "rules on SELECT must have action INSTEAD SELECT"
 msgstr "Les règles sur SELECT doivent avoir une action INSTEAD SELECT"
 
-#: rewrite/rewriteDefine.c:283
+#: rewrite/rewriteDefine.c:282
 msgid "event qualifications are not implemented for rules on SELECT"
 msgstr "Les qualifications d'événements ne sont pas implémentées pour les règles sur SELECT"
 
-#: rewrite/rewriteDefine.c:303
+#: rewrite/rewriteDefine.c:302
 msgid "SELECT rule's target list has too many entries"
 msgstr "La liste cible de la règle SELECT a de trop nombreuses entrées"
 
-#: rewrite/rewriteDefine.c:319
+#: rewrite/rewriteDefine.c:318
 msgid "cannot convert relation containing dropped columns to view"
 msgstr "n'a pas pu convertir la relation contenant les colonnes supprimées de la vue"
 
-#: rewrite/rewriteDefine.c:324
+#: rewrite/rewriteDefine.c:323
 #, c-format
 msgid "SELECT rule's target entry %d has different column name from \"%s\""
 msgstr "L'entrée cible de la règle SELECT %d a des noms de colonnes différentes à partir de «%s»"
 
-#: rewrite/rewriteDefine.c:329
+#: rewrite/rewriteDefine.c:328
 #, c-format
 msgid "SELECT rule's target entry %d has different type from column \"%s\""
 msgstr "L'entrée cible de la règle SELECT %d a plusieurs types pour la colonne «%s»"
@@ -6967,144 +7022,191 @@ msgstr "n'a pas pu convertir la table 
 msgid "could not convert table \"%s\" to a view because it has child tables"
 msgstr "n'a pas pu convertir la table «%s» en une vue parce qu'elle a des tables filles"
 
-#: rewrite/rewriteHandler.c:492 rewrite/rewriteHandler.c:511
+#: rewrite/rewriteHandler.c:681 rewrite/rewriteHandler.c:700
 #, c-format
 msgid "multiple assignments to same column \"%s\""
 msgstr "Affectations multiples pour la même colonne «%s»"
 
-#: rewrite/rewriteHandler.c:968 rewrite/rewriteHandler.c:1253
+#: rewrite/rewriteHandler.c:1161 rewrite/rewriteHandler.c:1431
 #, 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:1365
+#: rewrite/rewriteHandler.c:1543
 msgid "cannot insert into a view"
 msgstr "n'a pas pu insérer dans une vue"
 
-#: rewrite/rewriteHandler.c:1366
+#: rewrite/rewriteHandler.c:1544
 msgid "You need an unconditional ON INSERT DO INSTEAD rule."
 msgstr "Vous avez besoin d'une règle ON INSERT DO INSTEAD."
 
-#: rewrite/rewriteHandler.c:1371
+#: rewrite/rewriteHandler.c:1549
 msgid "cannot update a view"
 msgstr "n'a pas pu mettre à jour une vue"
 
-#: rewrite/rewriteHandler.c:1372
+#: rewrite/rewriteHandler.c:1550
 msgid "You need an unconditional ON UPDATE DO INSTEAD rule."
 msgstr "Vous avez besoin d'une règle non conditionnelle ON UPDATE DO INSTEAD."
 
-#: rewrite/rewriteHandler.c:1377
+#: rewrite/rewriteHandler.c:1555
 msgid "cannot delete from a view"
 msgstr "n'a pas pu supprimer à partir d'une vue"
 
-#: rewrite/rewriteHandler.c:1378
+#: rewrite/rewriteHandler.c:1556
 msgid "You need an unconditional ON DELETE DO INSTEAD rule."
 msgstr "Vous avez besoin d'une règle inconditionnelle ON DELETE DO INSTEAD."
 
-#: rewrite/rewriteManip.c:737 rewrite/rewriteManip.c:793
+#: rewrite/rewriteManip.c:735
 msgid "conditional utility statements are not implemented"
 msgstr "Les instructions conditionnelles ne sont pas implémentées"
 
-#: storage/buffer/bufmgr.c:217
+#: storage/buffer/bufmgr.c:214
 #, c-format
 msgid "invalid page header in block %u of relation \"%s\"; zeroing out page"
 msgstr "En-tête de page invalide dans le bloc %u de la relation «%s»; page remplie de zéros"
 
-#: storage/buffer/bufmgr.c:224
+#: storage/buffer/bufmgr.c:221
 #, c-format
 msgid "invalid page header in block %u of relation \"%s\""
 msgstr "En-tête de page invalide dans le bloc %u de la relation «%s»"
 
-#: storage/buffer/bufmgr.c:1991
+#: storage/buffer/bufmgr.c:2060
 #, c-format
 msgid "could not write block %u of %u/%u/%u"
 msgstr "n'a pas pu écrire le bloc %u de %u/%u/%u"
 
-#: storage/buffer/bufmgr.c:1996
+#: storage/buffer/bufmgr.c:2065
 msgid "Multiple failures --- write error may be permanent."
 msgstr "Echecs multipls --- l'erreur d'écriture pourrait être permanent."
 
-#: storage/buffer/bufmgr.c:2014
+#: storage/buffer/bufmgr.c:2082
 #, c-format
 msgid "writing block %u of relation %u/%u/%u"
 msgstr "écriture du bloc %u de la relation %u/%u/%u"
 
-#: storage/buffer/buf_table.c:93 storage/freespace/freespace.c:1014
-#: storage/ipc/shmem.c:185 storage/ipc/shmem.c:246 storage/ipc/shmem.c:386
-#: storage/lmgr/lock.c:558 storage/lmgr/lock.c:621 storage/lmgr/proc.c:179
-msgid "out of shared memory"
-msgstr "Mémoire partagée insuffisante"
-
-#: storage/buffer/localbuf.c:103
+#: storage/buffer/localbuf.c:139
 msgid "no empty local buffer available"
 msgstr "Aucun tampon local vide disponible"
 
-#: storage/file/fd.c: